{"version":3,"sources":["webpack:///./src/models/entry/SubQuestion.ts","webpack:///./src/models/entry/Question.ts","webpack:///./src/views/exam/Exam.vue?4834","webpack:///./src/views/exam/Exam.vue","webpack:///./src/views/exam/Exam.vue?e37b","webpack:///./src/views/exam/Exam.vue?ac13","webpack:///./src/models/entry/AnswersDetails.ts","webpack:///./src/components/ExamCheckBox.vue?fa10","webpack:///./src/components/ExamCheckBox.vue","webpack:///./src/components/ExamCheckBox.vue?35f2","webpack:///./src/components/ExamCheckBox.vue?b2f9","webpack:///./src/models/entry/Choice.ts","webpack:///./src/models/entry/QuestionResources.ts","webpack:///./src/components/ExamTimer.vue?9516","webpack:///./src/components/ExamTimer.vue","webpack:///./src/components/ExamTimer.vue?2dbc","webpack:///./src/components/ExamTimer.vue?b902","webpack:///./src/models/entry/Answer.ts","webpack:///./src/components/ExamRadio.vue?8031","webpack:///./src/components/ExamRadio.vue","webpack:///./src/components/ExamRadio.vue?2f75","webpack:///./src/components/ExamRadio.vue?d114","webpack:///./src/models/entry/PutSingleAnswer.ts","webpack:///./src/components/ExamSelect.vue?3660","webpack:///./src/components/ExamSelect.vue","webpack:///./src/components/ExamSelect.vue?a103","webpack:///./src/components/ExamSelect.vue?76eb"],"names":["this","questionCode","version","subQuestionTitle","subQuestionType","order","choices","answer","Answer","isAnswer","choiceCodes","length","Choice","SubQuestion","questionTitle","questionStatement","answerType","isFixed","subQuestions","questionResources","questionNumber","isBookMark","i","QuestionResources","Question","render","_vm","_h","$createElement","_c","_self","attrs","directives","name","rawName","value","expression","staticClass","timerSec","notificationSec","isTimerStart","on","examEnd","$event","moveCurrent","_v","_s","current","questions","_l","q","index","key","class","check","staticStyle","setCurrent","_m","domProps","getVideoInfo","localSrcUri","contentType","_e","getAudioInfo","subQ","subQIdx","$set","target","composing","bookMark","disable","answeredAllQuestions","isEndConfirm","copyright","isExamStart","examStart","isReady","progressPercent","style","isIndicatorDisplay","staticRenderFns","entryCode","rankCode","resultCode","totalDownloadDataCount","nowLoadingCount","EntryRepo","RepositoryFactory","get","entry","retryMsg","isBookmarkSave","contentsReload","$nextTick","videoTag","document","getElementById","load","audioTag","mounted","oncontextmenu","getCopyright","opener","window","location","pathname","paths","EXAM_READY","EXAM_RESULT","$router","replace","TOP","$route","query","rank","CommonCss","createElement","rel","href","$el","appendChild","ExamIndexCss","getExamConfigCss","then","cssElement","CommonJs","src","ExamIndexJs","getQuestions","getAnswers","resourceDownLoad","firstData","beforeDestroy","rejected","getQuestion","response","convert","deserializeArray","data","examination_result_code","forEach","question","MarkdownToHTML","subQuestion","choice","c","choiceTitle","catch","confirm","getAnswer","answerDetail","details","detail","find","bookmark","sq","answers","ans","ExamRepository","exam","getExamDesignResource","DesignCode","status","undefined","display_text","downloadInfo","questionValue","resourceData","resource","uri","resourceUri","push","execDownload","rejectInfo","results","info","createDownLoadPromice","Promise","all","a","responseType","headers","split","blob","Blob","type","srcUrl","URL","createObjectURL","contents","indexOf","resourceFileName","alternativeText","targetSubq","targetChoice","Math","round","postExamStart","time_sec","notification_limit_sec","saveAnswer","putAnswer","PutSingleAnswer","StringUtil","err","console","log","allAnswers","allAnswer","PutAllQuestionAnswer","PutAllQuestionAnswerDetail","putExamEnd","e","vector","nextIndex","next","getResourceInfo","contentsType","width","every","Exam","components","ExamRadio","ExamCheckBox","ExamSelect","ExamTimer","IndicatorModal","BaseView","component","AnswersDetails","isSelectedCheck","choiceCode","select","code","findIndex","selectedCode","splice","Array","ExamCheckbox","isNotification","min","secFormat","sec","strSec","substring","switch","timerStart","start","stop","clearInterval","timer","time","trunc","setInterval","countDown","$emit","notificationMin","default","String","choiceIdx","isSeletBodyVisible","currentChoice","init","selectChoice","display","top","deep"],"mappings":"6KAMA,aACE,aACEA,KAAKC,aAAe,GACpBD,KAAKE,QAAU,EACfF,KAAKG,iBAAmB,GACxBH,KAAKI,gBAAkB,GACvBJ,KAAKK,MAAQ,EACbL,KAAKM,QAAU,GACfN,KAAKO,OAAS,IAAIC,EAAA,KA0BtB,OAHE,YAAAC,SAAA,WACE,OAAOT,KAAKO,OAAOG,YAAYC,OAAS,IAAM,qBAAQX,KAAKO,OAAOA,SApBpE,gBADC,0BAAa,kB,mCAId,gBADC,0BAAa,qB,8BAId,gBADC,0BAAa,uB,uCAId,gBADC,0BAAa,sB,sCAId,gBADC,0BAAa,U,4BAId,gBADC,0BAAa,UAAW,CAACK,EAAA,OAAS,I,8BA1BhBC,EAAW,gBAD/B,wBAAW,gBACSA,GAkCrB,EAlCA,GAAqB,I,YCDrB,aACE,aACEb,KAAKC,aAAe,GACpBD,KAAKc,cAAgB,GACrBd,KAAKe,kBAAoB,GACzBf,KAAKgB,WAAa,GAClBhB,KAAKiB,SAAU,EACfjB,KAAKkB,aAAe,GACpBlB,KAAKmB,kBAAoB,GACzBnB,KAAKoB,eAAiB,EACtBpB,KAAKqB,YAAa,EA2CtB,OATE,YAAAZ,SAAA,WAEE,IAAK,IAAIa,EAAI,EAAGA,EAAItB,KAAKkB,aAAaP,OAAQW,GAAK,EACjD,IAAKtB,KAAKkB,aAAaI,GAAGb,WACxB,OAAO,EAGX,OAAO,GArCT,gBADC,0BAAa,kB,mCAId,gBADC,0BAAa,mB,oCAId,gBADC,0BAAa,uB,wCAId,gBADC,0BAAa,gB,iCAId,gBADC,0BAAa,a,8BAId,gBADC,0BAAa,gBAAiB,CAAC,IAAc,I,mCAI9C,gBADC,0BAAa,qBAAsB,CAACc,EAAA,OAAoB,I,wCA/BtCC,EAAQ,gBAD5B,wBAAW,aACSA,GAqDrB,EArDA,GAAqB,U,2CCLrB,IAAIC,EAAS,WAAa,IAAIC,EAAI1B,KAAS2B,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,GAAK,YAAY,CAACF,EAAG,OAAO,CAACG,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAAOT,EAAW,QAAEU,WAAW,aAAa,CAACP,EAAG,UAAU,CAACA,EAAG,MAAM,CAACQ,YAAY,iCAAiC,CAACR,EAAG,UAAU,CAACE,MAAM,CAAC,KAAOL,EAAIY,SAAS,gBAAkBZ,EAAIa,gBAAgB,WAAab,EAAIc,cAAcC,GAAG,CAAC,IAAMf,EAAIgB,QAAQ,SAAWhB,EAAIgB,WAAWb,EAAG,MAAM,CAACQ,YAAY,oBAAoB,CAACR,EAAG,IAAI,CAACQ,YAAY,WAAWN,MAAM,CAAC,KAAO,uBAAuBU,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAOjB,EAAIkB,aAAa,MAAM,CAACf,EAAG,OAAO,CAACH,EAAImB,GAAG,yBAAyBhB,EAAG,MAAM,CAACQ,YAAY,wBAAwB,CAACR,EAAG,OAAO,CAACH,EAAImB,GAAGnB,EAAIoB,GAAGpB,EAAIqB,QAAQ3B,gBAAgB,IAAIM,EAAIoB,GAAGpB,EAAIsB,UAAUrC,WAAWe,EAAImB,GAAG,WAAWhB,EAAG,IAAI,CAACQ,YAAY,MAAMN,MAAM,CAAC,KAAO,uBAAuBU,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAOjB,EAAIkB,YAAY,MAAM,CAACf,EAAG,OAAO,CAACH,EAAImB,GAAG,wBAAwB,GAAGhB,EAAG,UAAU,CAACQ,YAAY,gBAAgB,CAACR,EAAG,MAAM,CAACQ,YAAY,sBAAsB,CAACR,EAAG,MAAM,CAACQ,YAAY,gBAAgB,CAACR,EAAG,MAAM,CAACQ,YAAY,aAAa,CAACR,EAAG,KAAK,CAACQ,YAAY,aAAa,CAACR,EAAG,KAAK,CAACH,EAAImB,GAAG,mBAAmBhB,EAAG,KAAK,CAACA,EAAG,KAAKH,EAAIuB,GAAIvB,EAAa,WAAE,SAASwB,EAAEC,GAAO,OAAOtB,EAAG,KAAK,CAACuB,IAAID,EAAME,MAAM,CAAEN,QAASG,EAAE9B,iBAAmBM,EAAIqB,QAAQ3B,eAAgBkC,MAAOJ,EAAE7B,WAAYoB,GAAIS,EAAEzC,aAAc,CAACoB,EAAG,IAAI,CAAC0B,YAAY,CAAC,OAAS,WAAWxB,MAAM,CAAC,KAAO,uBAAuBU,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAOjB,EAAI8B,WAAWN,MAAM,CAACxB,EAAImB,GAAGnB,EAAIoB,GAAGI,EAAE9B,wBAAuB,KAAKM,EAAI+B,GAAG,OAAO5B,EAAG,MAAM,CAACG,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAAOT,EAAW,QAAEU,WAAW,YAAYC,YAAY,aAAa,CAACR,EAAG,IAAI,CAACQ,YAAY,wBAAwB,CAACX,EAAImB,GAAGnB,EAAIoB,GAAGpB,EAAIqB,QAAQ3B,gBAAgB,IAAIM,EAAIoB,GAAGpB,EAAIqB,QAAQjC,kBAAkBe,EAAG,IAAI,CAACQ,YAAY,YAAYqB,SAAS,CAAC,UAAYhC,EAAIoB,GAAGpB,EAAIqB,QAAQhC,sBAAsBc,EAAG,MAAM,CAACQ,YAAY,YAAY,CAAEX,EAAIiC,eAAgB9B,EAAG,QAAQ,CAAC0B,YAAY,CAAC,MAAQ,QAAQxB,MAAM,CAAC,GAAK,QAAQ,IAAML,EAAIiC,eAAeC,YAAY,KAAOlC,EAAIiC,eAAeE,YAAY,SAAW,GAAG,aAAe,aAAa,QAAU,GAAG,wBAA0B,GAAG,YAAc,KAAK,CAAChC,EAAG,IAAI,CAACH,EAAImB,GAAG,0CAA0CnB,EAAIoC,KAAMpC,EAAIqC,eAAgBlC,EAAG,QAAQ,CAAC0B,YAAY,CAAC,MAAQ,QAAQxB,MAAM,CAAC,GAAK,QAAQ,IAAML,EAAIqC,eAAeH,YAAY,KAAOlC,EAAIqC,eAAeF,YAAY,SAAW,GAAG,aAAe,aAAa,QAAU,KAAK,CAAChC,EAAG,IAAI,CAACH,EAAImB,GAAG,0CAA0CnB,EAAIoC,OAAOpC,EAAIuB,GAAIvB,EAAIqB,QAAoB,cAAE,SAASiB,EAAKC,GAAS,OAAOpC,EAAG,MAAM,CAACuB,IAAIa,GAAS,CAACpC,EAAG,IAAI,CAACQ,YAAY,YAAYqB,SAAS,CAAC,UAAYhC,EAAIoB,GAAGkB,EAAK7D,qBAA+C,WAAzB6D,EAAK5D,gBAA8ByB,EAAG,UAAU,CAACE,MAAM,CAAC,QAAUiC,EAAK1D,QAAQ,YAAc0D,EAAKzD,OAAOG,aAAa+B,GAAG,CAAC,qBAAqB,SAASE,GAAQ,OAAOjB,EAAIwC,KAAKF,EAAKzD,OAAQ,cAAeoC,IAAS,sBAAsB,SAASA,GAAQ,OAAOjB,EAAIwC,KAAKF,EAAKzD,OAAQ,cAAeoC,OAAYjB,EAAIoC,KAA+B,aAAzBE,EAAK5D,gBAAgCyB,EAAG,aAAa,CAACE,MAAM,CAAC,QAAUiC,EAAK1D,QAAQ,YAAc0D,EAAKzD,OAAOG,aAAa+B,GAAG,CAAC,qBAAqB,SAASE,GAAQ,OAAOjB,EAAIwC,KAAKF,EAAKzD,OAAQ,cAAeoC,IAAS,sBAAsB,SAASA,GAAQ,OAAOjB,EAAIwC,KAAKF,EAAKzD,OAAQ,cAAeoC,OAAYjB,EAAIoC,KAA+B,aAAzBE,EAAK5D,gBAAgCyB,EAAG,WAAW,CAACE,MAAM,CAAC,QAAUiC,EAAK1D,QAAQ,YAAc0D,EAAKzD,OAAOG,aAAa+B,GAAG,CAAC,qBAAqB,SAASE,GAAQ,OAAOjB,EAAIwC,KAAKF,EAAKzD,OAAQ,cAAeoC,IAAS,sBAAsB,SAASA,GAAQ,OAAOjB,EAAIwC,KAAKF,EAAKzD,OAAQ,cAAeoC,OAAYjB,EAAIoC,KAAKjC,EAAG,MAAM,CAACG,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAAgC,aAAzB6B,EAAK5D,gBAAgCgC,WAAW,wCAAwCC,YAAY,cAAc,CAACR,EAAG,QAAQ,CAACG,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAO6B,EAAKzD,OAAa,OAAE6B,WAAW,uBAAuBL,MAAM,CAAC,KAAO,OAAO,YAAc,QAAQ,UAAY,QAAQ2B,SAAS,CAAC,MAASM,EAAKzD,OAAa,QAAGkC,GAAG,CAAC,MAAQ,SAASE,GAAWA,EAAOwB,OAAOC,WAAqB1C,EAAIwC,KAAKF,EAAKzD,OAAQ,SAAUoC,EAAOwB,OAAOhC,aAAaN,EAAG,MAAM,CAACG,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAAgC,SAAzB6B,EAAK5D,gBAA4BgC,WAAW,oCAAoCC,YAAY,iBAAiB,CAACR,EAAG,WAAW,CAACG,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAO6B,EAAKzD,OAAa,OAAE6B,WAAW,uBAAuBL,MAAM,CAAC,KAAO,GAAG,GAAK,GAAG,KAAO,KAAK,KAAO,KAAK,YAAc,QAAQ,UAAY,QAAQ2B,SAAS,CAAC,MAASM,EAAKzD,OAAa,QAAGkC,GAAG,CAAC,MAAQ,SAASE,GAAWA,EAAOwB,OAAOC,WAAqB1C,EAAIwC,KAAKF,EAAKzD,OAAQ,SAAUoC,EAAOwB,OAAOhC,cAAc,MAAKN,EAAG,MAAM,CAACQ,YAAY,cAAc,CAACR,EAAG,IAAI,CAACQ,YAAY,MAAMN,MAAM,CAAC,KAAO,uBAAuBU,GAAG,CAAC,MAAQf,EAAI2C,WAAW,CAACxC,EAAG,OAAO,CAACH,EAAImB,GAAG,yBAAyBhB,EAAG,MAAM,CAACQ,YAAY,cAAc,CAACR,EAAG,IAAI,CAACQ,YAAY,WAAWN,MAAM,CAAC,KAAO,uBAAuBU,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAOjB,EAAIkB,aAAa,MAAM,CAACf,EAAG,OAAO,CAACH,EAAImB,GAAG,yBAAyBhB,EAAG,MAAM,CAACQ,YAAY,uBAAuB,CAACR,EAAG,OAAO,CAACH,EAAImB,GAAGnB,EAAIoB,GAAGpB,EAAIqB,QAAQ3B,gBAAgB,IAAIM,EAAIoB,GAAGpB,EAAIsB,UAAUrC,WAAWe,EAAImB,GAAG,WAAWhB,EAAG,IAAI,CAACQ,YAAY,MAAMN,MAAM,CAAC,KAAO,uBAAuBU,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAOjB,EAAIkB,YAAY,MAAM,CAACf,EAAG,OAAO,CAACH,EAAImB,GAAG,wBAAwB,SAAShB,EAAG,MAAM,CAACQ,YAAY,eAAe,CAACX,EAAI+B,GAAG,GAAG5B,EAAG,IAAI,CAACQ,YAAY,wBAAwBgB,MAAM,CAACiB,SAAU5C,EAAI6C,sBAAsBxC,MAAM,CAAC,KAAO,uBAAuBU,GAAG,CAAC,MAAQ,SAASE,GAAQjB,EAAI8C,cAAe,KAAQ,CAAC3C,EAAG,OAAO,CAACH,EAAImB,GAAG,mBAAmBhB,EAAG,IAAI,CAACH,EAAImB,GAAGnB,EAAIoB,GAAGpB,EAAI+C,oBAAoB5C,EAAG,MAAM,CAACG,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,OAAQT,EAAIgD,YAAatC,WAAW,iBAAiBC,YAAY,QAAQN,MAAM,CAAC,GAAK,eAAe,CAACF,EAAG,MAAM,CAACQ,YAAY,aAAaR,EAAG,MAAM,CAACQ,YAAY,kBAAkB,CAACR,EAAG,MAAM,CAACG,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAAOT,EAAW,QAAEU,WAAW,YAAYC,YAAY,uBAAuB,CAACR,EAAG,IAAI,CAACQ,YAAY,eAAe,CAACX,EAAImB,GAAG,iBAAiBhB,EAAG,IAAI,CAACQ,YAAY,cAAc,CAACX,EAAImB,GAAG,sDAAsDhB,EAAG,IAAI,CAACQ,YAAY,yBAAyBN,MAAM,CAAC,KAAO,uBAAuBU,GAAG,CAAC,MAAQf,EAAIiD,YAAY,CAAC9C,EAAG,OAAO,CAACH,EAAImB,GAAG,oBAAoBhB,EAAG,MAAM,CAACG,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,OAAQT,EAAIkD,QAASxC,WAAW,aAAaC,YAAY,uBAAuB,CAACR,EAAG,IAAI,CAACQ,YAAY,eAAe,CAACX,EAAImB,GAAG,iBAAiBhB,EAAG,IAAI,CAACQ,YAAY,cAAc,CAACX,EAAImB,GAAG,iBAAiBhB,EAAG,MAAM,CAACQ,YAAY,sBAAsB,CAACR,EAAG,IAAI,CAACQ,YAAY,YAAY,CAACR,EAAG,OAAO,CAACH,EAAImB,GAAGnB,EAAIoB,GAAGpB,EAAImD,oBAAoBnD,EAAImB,GAAG,QAAQhB,EAAG,MAAM,CAACQ,YAAY,0BAA0B,CAACR,EAAG,MAAM,CAACQ,YAAY,QAAQyC,MAAOpD,EAAY,qBAAcG,EAAG,MAAM,CAACG,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAAOT,EAAgB,aAAEU,WAAW,iBAAiBC,YAAY,QAAQN,MAAM,CAAC,GAAK,cAAc,CAACF,EAAG,MAAM,CAACQ,YAAY,aAAaR,EAAG,MAAM,CAACQ,YAAY,kBAAkB,CAACR,EAAG,MAAM,CAACQ,YAAY,uBAAuB,CAACR,EAAG,IAAI,CAACQ,YAAY,eAAe,CAACX,EAAImB,GAAG,sCAAsChB,EAAG,IAAI,CAACQ,YAAY,cAAc,CAACX,EAAImB,GAAG,+DAA+DhB,EAAG,IAAI,CAACQ,YAAY,kBAAkBN,MAAM,CAAC,KAAO,KAAKU,GAAG,CAAC,MAAQ,SAASE,GAAQjB,EAAI8C,cAAe,KAAS,CAAC3C,EAAG,OAAO,CAACH,EAAImB,GAAG,cAAchB,EAAG,IAAI,CAACQ,YAAY,aAAaN,MAAM,CAAC,KAAO,KAAKU,GAAG,CAAC,MAAQf,EAAIgB,UAAU,CAACb,EAAG,OAAO,CAACH,EAAImB,GAAG,oBAAoBhB,EAAG,cAAc,CAAC0B,YAAY,CAAC,UAAU,OAAO,SAAW,SAASxB,MAAM,CAAC,QAAUL,EAAIqD,uBAAuB,IACrpPC,EAAkB,CAAC,WAAa,IAAItD,EAAI1B,KAAS2B,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACQ,YAAY,MAAMN,MAAM,CAAC,KAAO,wBAAwB,CAACF,EAAG,OAAO,CAACH,EAAImB,GAAG,cAAc,WAAa,IAAInB,EAAI1B,KAAS2B,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACQ,YAAY,oBAAoBN,MAAM,CAAC,KAAO,wBAAwB,CAACF,EAAG,OAAO,CAACH,EAAImB,GAAG,uB,iOCyN/X,yE,OAIE,EAAA4B,UAAY,GAKZ,EAAAQ,UAAY,GAKZ,EAAAC,SAAW,GAKX,EAAAC,WAAa,GAKb,EAAA7C,SAAW,EAKX,EAAAC,gBAAkB,EAKlB,EAAAS,UAAwB,GAKxB,EAAAD,QAAU,IAAIvB,EAAA,KAKd,EAAAoD,SAAU,EAKV,EAAAF,aAAc,EAKd,EAAAlC,cAAe,EAKf,EAAAgC,cAAe,EAKf,EAAAO,oBAAqB,EAErB,EAAAF,gBAAkB,EAKlB,EAAAO,uBAAyB,EAKzB,EAAAC,gBAAkB,EAElB,EAAAC,UAAYC,EAAA,KAAkBC,MAAMC,MAEpC,EAAAC,SAAW,mDAqXX,EAAAC,gBAAiB,E,EAsFnB,OA3hBkC,oBAmFhC,YAAAC,eAAA,WACM5F,KAAK2D,gBACP3D,KAAK6F,WAAU,WACb,IAAMC,EAAWC,SAASC,eAAe,SACrCF,GACFA,EAASG,UAKXjG,KAAK+D,gBACP/D,KAAK6F,WAAU,WACb,IAAMK,EAAWH,SAASC,eAAe,SACrCE,GACFA,EAASD,WAMX,YAAAE,QAAN,W,2IAKE,OAJAJ,SAASK,cAAgB,WACvB,OAAO,GAGT,GAAMpG,KAAKqG,gB,OAIX,GAJA,SAGQC,EAAWC,OAAM,QACpBD,GAAWA,EAAOE,SAASC,WAAazG,KAAK0G,MAAMC,YAAcL,EAAOE,SAASC,WAAazG,KAAK0G,MAAME,YAE5G,OADA5G,KAAK6G,QAAQC,QAAQ9G,KAAK0G,MAAMK,KAChC,IAMF,GAHAR,OAAOD,OAAS,MAGXtG,KAAKgH,OAAOC,MAAMxB,QAAUzF,KAAKgH,OAAOC,MAAMC,KAEjD,OADAlH,KAAK6G,QAAQC,QAAQ9G,KAAK0G,MAAMK,KAChC,IAGF/G,KAAKiF,UAAYjF,KAAKgH,OAAOC,MAAMxB,MACnCzF,KAAKkF,SAAWlF,KAAKgH,OAAOC,MAAMC,KAE5BC,EAAYpB,SAASqB,cAAc,QACzCD,EAAUE,IAAM,aAChBF,EAAUG,KAAO,kBACjBtH,KAAKuH,IAAIC,YAAYL,GAEfM,EAAe1B,SAASqB,cAAc,QAC5CK,EAAaJ,IAAM,aACnBI,EAAaH,KAAO,sBACpBtH,KAAKuH,IAAIC,YAAYC,GAErBzH,KAAK0H,mBAAmBC,MAAK,SAACC,GAC5B,EAAKL,IAAIC,YAAYI,MAGjBC,EAAW9B,SAASqB,cAAc,UACxCS,EAASC,IAAM,gBACf9H,KAAKuH,IAAIC,YAAYK,GAEfE,EAAchC,SAASqB,cAAc,UAC3CW,EAAYD,IAAM,oBAClB9H,KAAKuH,IAAIC,YAAYO,G,iBAInB,O,sBAAA,GAAM/H,KAAKgI,gB,OAGX,OAHA,SAGA,GAAMhI,KAAKiI,c,OAGX,OAHA,SAGA,GAAMjI,KAAKkI,oB,cAAX,SAGOC,EAAanI,KAAKgD,UAAS,GAClChD,KAAK+C,QAAUoF,EAGfnI,KAAK4E,SAAU,E,6BAEf5E,KAAK6G,QAAQC,QAAQ9G,KAAK0G,MAAMK,K,+BAKpC,YAAAqB,cAAA,WACErC,SAASK,cAAgB,WACvB,OAAO,IAOL,YAAA4B,aAAN,W,iIAEE,OADIK,GAAW,EACf,GAAMrI,KAAKsF,UAAUgD,YAAYtI,KAAKiF,WACnC0C,MAAK,SAACY,GACL,EAAKvF,UAAY,EAAKsC,UAAUkD,QAAQC,iBAAiBF,EAASG,KAAK1F,UAAWxB,EAAA,MAClF,EAAK2D,WAAaoD,EAASG,KAAKC,wBAE5B,EAAK3F,UAAUrC,OAAS,EAC1B,EAAKqC,UAAU4F,SAAQ,SAAC1F,EAAGC,GACzB,IAAM0F,EAAW3F,EAEjB2F,EAASzH,eAAiB+B,EAAQ,EAElC0F,EAAS9H,kBAAoB,OAAA+H,EAAA,MAAeD,EAAS9H,mBACrD8H,EAAS3H,aAAa0H,SAAQ,SAACG,GAC7B,IAAM/E,EAAO+E,EAEb/E,EAAK7D,iBAAmB,OAAA2I,EAAA,MAAe9E,EAAK7D,kBAE5C6D,EAAKzD,OAAON,aAAe+D,EAAK/D,aAChC+D,EAAKzD,OAAOL,QAAU8D,EAAK9D,QAC3B8D,EAAKzD,OAAOF,MAAQ2D,EAAK3D,MACzB2D,EAAK1D,QAAQsI,SAAQ,SAACI,GAEpB,IAAMC,EAAID,EACVC,EAAEC,YAAc,OAAAJ,EAAA,MAAeG,EAAEC,sBAKvCb,GAAW,KAEZc,OAAM,WACPd,GAAW,M,cA/Bf,SAmCIA,EACE9B,OAAO6C,QAAQ,QAAQpJ,KAAK0F,UAC9B,GAAM1F,KAAKgI,gBADT,MADF,M,cAEA,S,aAEAhI,KAAK6G,QAAQC,QAAQ9G,KAAK0G,MAAMK,K,mCAQhC,YAAAkB,WAAN,W,iIAEE,OADII,GAAW,EACf,GAAMrI,KAAKsF,UAAU+D,UAAUrJ,KAAKiF,UAAWjF,KAAKmF,YACjDwC,MAAK,SAACY,GACL,IAAMe,EAAe,EAAKhE,UAAUkD,QAAQC,iBAAiBF,EAASG,KAAKa,QAAS,QAEpFD,EAAaV,SAAQ,SAACY,GAEpB,IAAMX,EAAW,EAAK7F,UAAUyG,MAAK,SAACvG,GAAM,OAAAA,EAAEjD,eAAiBuJ,EAAOvJ,gBACtE4I,EAASxH,WAAamI,EAAOE,SAG7Bb,EAAS3H,aAAa0H,SAAQ,SAACe,GAC7B,IAAM3F,EAAO2F,EACPpJ,EAASiJ,EAAOI,QACnBH,MAAK,SAACI,GAAQ,OAAAA,EAAI3J,UAAY8D,EAAK9D,SAAW2J,EAAIxJ,QAAU2D,EAAK3D,SAC/DE,IAELyD,EAAKzD,OAASA,YAInB4I,OAAM,WACLd,GAAW,M,cArBf,SAyBIA,EACE9B,OAAO6C,QAAQ,QAAQpJ,KAAK0F,UAC9B,GAAM1F,KAAKiI,cADT,MADF,M,cAEA,S,aAEAjI,KAAK6G,QAAQC,QAAQ9G,KAAK0G,MAAMK,K,mCAQhC,YAAAV,aAAN,W,iHACQyD,EAAiBvE,EAAA,KAAkBC,MAAMuE,KAC/CD,EAAeE,sBAAsBC,EAAA,MAAuBtC,MAAK,SAACY,GACxC,MAApBA,EAAS2B,aAAoCC,IAAlB5B,EAASG,OACtC,EAAKjE,UAAY8D,EAASG,KAAK0B,iB,WAQ/B,YAAAlC,iBAAN,W,iIAeE,OAbMmC,EAA+B,GACrCrK,KAAKgD,UAAU4F,SAAQ,SAAC0B,EAAenH,GACrC,IAAM0F,EAAWyB,EACjBzB,EAASzH,eAAiB+B,EAAQ,EAClC0F,EAAS1H,kBAAkByH,SAAQ,SAAC2B,GAClC,EAAKnF,wBAA0B,EAC/B,IAAMoF,EAAWD,EACXE,EAAS,mDAA2CD,EAASE,YACnEL,EAAaM,KAAK,CAAEF,IAAG,EAAE5B,SAAQ,EAAE2B,SAAQ,UAG/CxK,KAAKoF,uBAAyBiF,EAAa1J,OAE3C,GAAMX,KAAK4K,aAAaP,I,cAAxB,S,YAMI,YAAAO,aAAN,SAAmBP,G,mIAYjB,OAXMQ,EAA6B,GAC7BC,EAA0B,GAGhCT,EAAazB,SAAQ,SAACmC,GACpBD,EAAQH,KAAK,EAAKK,sBAAsBD,GAAM5B,OAAM,WAClD0B,EAAWF,KAAKI,UAKpB,GAAME,QAAQC,IAAIJ,I,cAAlB,SAG0B,IAAtBD,EAAWlK,SACT4F,OAAO6C,QAAQ,QAAQpJ,KAAK0F,UAC9B1F,KAAK4K,aAAaC,GAElB7K,KAAK6G,QAAQC,QAAQ9G,KAAK0G,MAAMK,M,YAQtC,YAAAiE,sBAAA,SAAsBX,GAAtB,WACUI,EAAA,EAAAA,IAAK5B,EAAA,EAAAA,SAAU2B,EAAA,EAAAA,SAEvB,OAAO,EAAAW,EAAM3F,IAAIiF,EAAK,CAAEW,aAAc,gBACnCzD,MAAK,SAACY,GACL,IAAM1E,EAAc0E,EAAS8C,QAAQ,gBAAgBC,MAAM,KAAK,GAC1DC,EAAO,IAAIC,KAAK,CAACjD,EAASG,MAAO,CAAE+C,KAAM5H,IACzC6H,EAASC,IAAIC,gBAAgBL,GAOnC,GALAf,EAASqB,SAAWN,EACpBf,EAAS3G,YAAcA,EACvB2G,EAAS5G,YAAc8H,GAGe,IAAlC7H,EAAYiI,QAAQ,SAAiB,CACvC,IAAM,EAAa,KAAKtB,EAASuB,iBAAgB,KAC3C,EAAe,aAAaL,EAAM,UAAUlB,EAASwB,gBAAe,OAE1EnD,EAAS9H,kBAAoB8H,EAAS9H,kBAAkB+F,QAAQ,EAAY,GAEpE,IAAA5F,EAAA,EAAAA,aACRA,EAAa0H,SAAQ,SAAC5E,GACpB,IAAMiI,EAAajI,EAEnBiI,EAAW9L,iBAAmB8L,EAAW9L,iBAAiB2G,QAAQ,EAAY,GAC9EmF,EAAW3L,QAAQsI,SAAQ,SAACI,GAC1B,IAAMkD,EAAelD,EAErBkD,EAAahD,YAAcgD,EAAahD,YAAYpC,QAAQ,EAAY,SAM9E,EAAKzB,iBAAmB,EACxB,EAAKR,gBAAkBsH,KAAKC,MAAO,EAAK/G,gBAAkB,EAAKD,uBAA0B,SAOzF,YAAAT,UAAN,W,+HACE3E,KAAK+E,oBAAqB,E,iBAExB,O,uBAAA,GAAM/E,KAAKsF,UAAU+G,cAAcrM,KAAKiF,UAAWjF,KAAKmF,YACrDwC,MAAK,SAACY,GACL,EAAKjG,SAAWiG,EAASG,KAAK4D,SAC9B,EAAK/J,gBAAkBgG,EAASG,KAAK6D,uBACrC,EAAK7H,aAAc,EACnB,EAAKlC,cAAe,M,cALxB,S,6BAQI+D,OAAO6C,QAAQ,SAASpJ,KAAK0F,UAC/B,GAAM1F,KAAK2E,aADT,M,cACF,S,aAEA3E,KAAK6G,QAAQC,QAAQ9G,KAAK0G,MAAMK,K,2CAGlC/G,KAAK+E,oBAAqB,E,6BAO9B,YAAAyH,WAAA,WACE,IAAMC,EAAY,IAAIC,EAAA,KACtBD,EAAU/C,SAAW1J,KAAK+C,QAAQ1B,WAClCrB,KAAK+C,QAAQ7B,aAAa0H,SAAQ,SAAC5E,GACjCyI,EAAU7C,QAAQe,KAAK3G,EAAKzD,WAE9B,IAAMN,EAAe0M,EAAA,qBAA6B3M,KAAK+C,QAAQ9C,cAC/DD,KAAKsF,UAAUmH,UAAUzM,KAAKiF,UAAWjF,KAAKmF,WAAYlF,EAAcwM,GACrEtD,OAAM,SAACyD,GAENC,QAAQC,IAAIF,OAOZ,YAAAlK,QAAN,W,iIACE1C,KAAK+E,oBAAqB,EACpBgI,EAAqC,GAE3C/M,KAAKgD,UAAU4F,SAAQ,SAACC,GAEtB,IAAMmE,EAAY,IAAIC,EAAA,KACtBD,EAAU/M,aAAe4I,EAAS5I,aAElC4I,EAAS3H,aAAa0H,SAAQ,SAAC5E,GAC7B,IAAMwF,EAAS,IAAI0D,EAAA,KACX3M,EAAA,EAAAA,OACRiJ,EAAOtJ,QAAUK,EAAOL,QACxBsJ,EAAOnJ,MAAQE,EAAOF,MACtBmJ,EAAO9I,YAAcH,EAAOG,YAC5B8I,EAAOjJ,OAASA,EAAOA,OACvByM,EAAUpD,QAAQe,KAAKnB,MAEzBuD,EAAWpC,KAAKqC,M,iBAIhB,O,uBAAA,GAAMhN,KAAKsF,UAAU6H,WAAWnN,KAAKiF,UAAWjF,KAAKmF,WAAY4H,GAC9DpF,MAAK,WACJ,EAAKd,QAAQC,QAAQ,qBAAqB,EAAK5B,SAAQ,UAAU,EAAKD,UAAS,WAAW,EAAKE,gB,cAFnG,S,6BAKIoB,OAAO6C,QAAQ,UAAUpJ,KAAK0F,UAChC,GAAM1F,KAAK0C,WADT,M,cACF,S,aAEA1C,KAAK6G,QAAQC,QAAQ9G,KAAK0G,MAAMK,K,2CAGlC/G,KAAK+E,oBAAqB,E,6BAa9B,YAAAV,SAAA,WACErE,KAAK+C,QAAQ1B,YAAcrB,KAAK+C,QAAQ1B,WACxC,IACErB,KAAKwM,aACL,MAAOY,GAEPP,QAAQC,IAAIM,KAOhB,YAAAxK,YAAA,SAAYyK,GACV,IAAMC,EAAYtN,KAAK+C,QAAQ3B,eAAiB,EAAIiM,EAC9CE,EAAOvN,KAAKgD,UAAUsK,GAExBC,GACFvN,KAAKwD,WAAW+J,IAOpB,YAAA/J,WAAA,SAAWqF,GACT,IACE7I,KAAKwM,aACL,MAAOY,GAEPP,QAAQC,IAAIM,GAEdpN,KAAK+C,QAAU8F,GAMjB,YAAA2E,gBAAA,SAAgB/B,GACd,IAAMjB,EAAWxK,KAAK+C,QAAQ5B,kBAAkBsI,MAAK,SAACtH,GACpD,IAAKwK,EAAA,WAAmBxK,EAAM0B,aAAc,CAC1C,IAAM4J,EAAetL,EAAM0B,YAC3B,IAAoC,IAAhC4J,EAAa3B,QAAQL,GAAc,OAAO,EAEhD,OAAO,KAGT,GAAIjB,EAAU,CACJ,IAAA5G,EAAA,EAAAA,YAAaC,EAAA,EAAAA,YACrB,MAAO,CAAED,YAAW,EAAEC,YAAW,GAEnC,OAAO,MAMT,YAAAF,aAAA,WACE,OAAO3D,KAAKwN,gBAAgB,UAM9B,YAAAzJ,aAAA,WACE,OAAO/D,KAAKwN,gBAAgB,UAM9B,sBAAI,uBAAQ,C,IAAZ,WACE,MAAO,CAAEE,MAAU1N,KAAK6E,gBAAe,M,gCAMzC,sBAAI,mCAAoB,C,IAAxB,WACE,OAAO7E,KAAKgD,UAAU2K,OAAM,SAAC9E,GAAa,OAAAA,EAASpI,e,gCAtcrD,gBADC,eAAM,Y,mCAlFYmN,EAAI,gBATxB,eAAU,CACTC,WAAY,CACV,UAAWC,EAAA,KACX,aAAcC,EAAA,KACd,WAAYC,EAAA,KACZ,UAAWC,EAAA,KACX,cAAeC,EAAA,SAGEN,GA2hBrB,EA3hBA,CAAkCO,EAAA,MAAb,IC1N4U,I,YCO7VC,EAAY,eACd,EACA3M,EACAuD,GACA,EACA,KACA,KACA,MAIa,aAAAoJ,E,qFCdf,aACE,aACEpO,KAAKC,aAAe,GACpBD,KAAK0J,UAAW,EAChB1J,KAAK4J,QAAU,GAWnB,OAPE,gBADC,0BAAa,kB,mCAId,gBADC,0BAAa,a,+BAId,gBADC,0BAAa,UAAW,CAAC,U,8BAbPyE,EAAc,gBADlC,wBAAW,mBACSA,GAerB,EAfA,GAAqB,U,kCCJrB,IAAI5M,EAAS,WAAa,IAAIC,EAAI1B,KAAS2B,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACQ,YAAY,iBAAiB,CAACR,EAAG,KAAKH,EAAIuB,GAAIvB,EAAW,SAAE,SAASsH,EAAO7F,GAAO,OAAOtB,EAAG,KAAK,CAACuB,IAAID,EAAME,MAAM,CAAE,GAAM3B,EAAI4M,gBAAgBtF,EAAOuF,aAAe,GAAI9L,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAOjB,EAAI8M,OAAOxF,EAAOuF,eAAe,CAAC1M,EAAG,MAAM,CAACA,EAAG,IAAI,CAACA,EAAG,OAAO,CAAC6B,SAAS,CAAC,UAAYhC,EAAIoB,GAAGkG,EAAOE,yBAAwB,MAC7alE,EAAkB,G,wBCsBtB,2B,+CAmBA,OAnB0C,oBAOxC,YAAAsJ,gBAAA,SAAgBG,GACd,OAAOzO,KAAKO,OAAOmO,WAAU,SAACC,GAAiB,OAAAA,IAAiBF,MAGlE,YAAAD,OAAA,SAAOC,GACL,IAAMtL,EAAQnD,KAAKsO,gBAAgBG,GAC/BtL,GAAS,EACXnD,KAAKO,OAAOqO,OAAOzL,EAAO,GAG5BnD,KAAKO,OAAOoK,KAAK8D,IAfnB,gBADC,kB,8BAID,gBADC,eAAS,cAAe,CAAEhD,KAAMoD,S,6BAJdC,EAAY,gBADhC,QACoBA,GAmBrB,EAnBA,CAA0C,QAArB,ICvBqU,I,YCOtVV,EAAY,eACd,EACA3M,EACAuD,GACA,EACA,KACA,KACA,MAIa,OAAAoJ,E,yECff,aACE,aACEpO,KAAKuO,WAAa,GAClBvO,KAAKkJ,YAAc,GACnBlJ,KAAKK,MAAQ,EAWjB,OAPE,gBADC,0BAAa,gB,iCAId,gBADC,0BAAa,iB,kCAId,gBADC,0BAAa,U,4BAbKO,EAAM,gBAD1B,wBAAW,WACSA,GAerB,EAfA,GAAqB,U,gECArB,aACE,aACEZ,KAAK0K,YAAc,GACnB1K,KAAK+L,iBAAmB,GACxB/L,KAAKgM,qBAAkB7B,EACvBnK,KAAK6L,cAAW1B,EAChBnK,KAAK6D,YAAc,GACnB7D,KAAK4D,YAAc,GAiBvB,OAbE,gBADC,0BAAa,iB,kCAId,gBADC,0BAAa,uB,uCAId,gBADC,0BAAa,mBAAoB,MAAM,I,sCAhBrBrC,EAAiB,gBADrC,wBAAW,sBACSA,GAwBrB,EAxBA,GAAqB,U,kCCHrB,IAAIE,EAAS,WAAa,IAAIC,EAAI1B,KAAS2B,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACQ,YAAY,qBAAqB,CAACR,EAAG,IAAI,CAACH,EAAImB,GAAG,eAAehB,EAAG,OAAO,CAACwB,MAAM,CAAE,cAAe3B,EAAIqN,iBAAkB,CAACrN,EAAImB,GAAGnB,EAAIoB,GAAGpB,EAAIsN,KAAK,IAAItN,EAAIoB,GAAGpB,EAAIuN,UAAUvN,EAAIwN,cACnRlK,EAAkB,G,wBCctB,yE,OAsBE,EAAAgK,IAAM,EAKN,EAAAE,IAAM,EAKN,EAAAH,gBAAiB,EA2CjB,EAAAE,UAAY,SAACC,GACX,IAAMC,EAAS,KAAKD,EACpB,OAAOC,EAAOC,UAAUD,EAAOxO,OAAS,EAAGwO,EAAOxO,S,EAEtD,OA/EuC,oBAWrC,YAAA0O,OAAA,WACMrP,KAAKsP,WACPtP,KAAKuP,QAGPvP,KAAKwP,QAuBP,YAAAD,MAAA,WACEE,cAAczP,KAAK0P,OACf1P,KAAK2P,KAAO,GACd3P,KAAKgP,IAAM7C,KAAKyD,MAAM5P,KAAK2P,KAAO,IAClC3P,KAAKkP,IAAMlP,KAAK2P,KAAO,GACvB3P,KAAK0P,MAAQnJ,OAAOsJ,YAAY7P,KAAK8P,UAAW,MAEhD9P,KAAK+P,MAAM,aAIf,YAAAP,KAAA,WACEC,cAAczP,KAAK0P,OACnB1P,KAAK+P,MAAM,QAGb,YAAAD,UAAA,WACE,GAAiB,IAAb9P,KAAKgP,KAA0B,IAAbhP,KAAKkP,IAA3B,CAKiB,IAAblP,KAAKkP,KACPlP,KAAKgP,KAAO,EACZhP,KAAKkP,IAAM,IAEXlP,KAAKkP,KAAO,EAGd,IAAMc,EAAkBhQ,KAAKuC,gBAAkB,IAC1CvC,KAAKgP,MAAQgB,GAAgC,IAAbhQ,KAAKkP,KACvClP,KAAKgP,IAAMgB,KACZhQ,KAAK+O,gBAAiB,QAdtB/O,KAAKwP,QAvDT,gBADC,eAAK,CAAES,QAAS,K,2BAIjB,gBADC,eAAK,CAAEA,QAAS,K,sCAIjB,gBADC,eAAK,CAAEA,SAAS,K,iCAIjB,gBADC,eAAM,e,2BAVYhC,EAAS,gBAD7B,QACoBA,GA+ErB,EA/EA,CAAuC,QAAlB,ICfkU,I,YCOnVG,EAAY,eACd,EACA3M,EACAuD,GACA,EACA,KACA,KACA,MAIa,OAAAoJ,E,uECff,aACE,aACEpO,KAAKC,kBAAekK,EACpBnK,KAAKE,aAAUiK,EACfnK,KAAKK,WAAQ8J,EACbnK,KAAKU,YAAc,GACnBV,KAAKO,OAAS,GAiBlB,OAbE,gBADC,0BAAa,kB,mCAId,gBADC,0BAAa,qB,8BAId,gBADC,0BAAa,U,4BAId,gBADC,0BAAa,eAAgB,CAAC2P,U,kCAI/B,gBADC,0BAAa,SAAU,MAAM,I,6BArBX1P,EAAM,gBAD1B,wBAAW,WACSA,GAuBrB,EAvBA,GAAqB,U,kCCHrB,IAAIiB,EAAS,WAAa,IAAIC,EAAI1B,KAAS2B,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACQ,YAAY,cAAc,CAACR,EAAG,KAAKH,EAAIuB,GAAIvB,EAAW,SAAE,SAASsH,EAAOmH,GAAW,OAAOtO,EAAG,KAAK,CAACuB,IAAI+M,EAAU9M,MAAM,CAAE,GAAM3B,EAAI4M,gBAAgBtF,EAAOuF,aAAc9L,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAOjB,EAAI8M,OAAOxF,EAAOuF,eAAe,CAAC1M,EAAG,MAAM,CAACA,EAAG,IAAI,CAACA,EAAG,OAAO,CAAC6B,SAAS,CAAC,UAAYhC,EAAIoB,GAAGkG,EAAOE,yBAAwB,MAC7alE,EAAkB,G,wBCsBtB,2B,+CAeA,OAfuC,oBAOrC,YAAAsJ,gBAAA,SAAgBG,GACd,QAASzO,KAAKO,OAAOkJ,MAAK,SAACkF,GAAiB,OAAAA,IAAiBF,MAG/D,YAAAD,OAAA,SAAOC,GACLzO,KAAKO,OAAOI,OAAS,EACrBX,KAAKO,OAAOoK,KAAK8D,IAXnB,gBADC,kB,8BAID,gBADC,eAAS,cAAe,CAAEhD,KAAMoD,S,6BAJdf,EAAS,gBAD7B,QACoBA,GAerB,EAfA,CAAuC,QAAlB,ICvBkU,I,YCOnVM,EAAY,eACd,EACA3M,EACAuD,GACA,EACA,KACA,KACA,MAIa,OAAAoJ,E,mFCdf,aACE,aACEpO,KAAK0J,UAAW,EAChB1J,KAAK4J,QAAU,GAQnB,OAJE,gBADC,0BAAa,a,+BAId,gBADC,0BAAa,UAAW,CAAC,U,8BATP8C,EAAe,gBADnC,wBAAW,oBACSA,GAWrB,EAXA,GAAqB,U,kCCJrB,IAAIjL,EAAS,WAAa,IAAIC,EAAI1B,KAAS2B,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACQ,YAAY,eAAe,CAACR,EAAG,MAAM,CAACQ,YAAY,SAASgB,MAAM,CAAE,GAAM3B,EAAI0O,oBAAqBtL,MAAOpD,EAAe,aAAG,CAAEA,EAAsB,mBAAEG,EAAG,MAAM,CAACQ,YAAY,YAAYI,GAAG,CAAC,MAAQ,SAASE,GAAQjB,EAAI0O,oBAAqB,MAAU1O,EAAIoC,KAAKjC,EAAG,KAAK,CAACA,EAAG,KAAK,CAACY,GAAG,CAAC,MAAQ,SAASE,GAAQjB,EAAI0O,oBAAsB1O,EAAI0O,sBAAsB,CAACvO,EAAG,IAAI,CAAC6B,SAAS,CAAC,UAAYhC,EAAIoB,GAAGpB,EAAI2O,cAAcnH,kBAAmBxH,EAAsB,mBAAEG,EAAG,KAAK,CAACiD,MAAOpD,EAAmB,iBAAG,CAACG,EAAG,KAAKH,EAAIuB,GAAIvB,EAAW,SAAE,SAASsH,EAAO7F,GAAO,OAAOtB,EAAG,KAAK,CAACuB,IAAID,EAAMO,SAAS,CAAC,UAAYhC,EAAIoB,GAAGkG,EAAOE,cAAczG,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAOjB,EAAI8M,OAAOxF,UAAc,KAAKtH,EAAIoC,YACzxBkB,EAAkB,G,oCC0BtB,yE,OAOU,EAAAqL,cAAwB,IAAIzP,EAAA,KAG5B,EAAAwP,oBAAqB,E,EAyC/B,OAnDuC,oBAYrC,YAAAjK,QAAA,WACEnG,KAAKsQ,QAIP,YAAAA,KAAA,WACE,GAAItQ,KAAKO,OAAOI,OAAS,EAAzB,CACE,IAAM,EAAOX,KAAKO,OAAO,GACnBgQ,EAAevQ,KAAKM,QAAQmJ,MAAK,SAACT,GAAW,OAAAA,EAAOuF,aAAe,KACzEvO,KAAKqQ,cAAgBE,OAGvBvQ,KAAKqQ,cAAgB,IAAIzP,EAAA,MAG3B,YAAA0N,gBAAA,SAAgBG,GACd,QAASzO,KAAKO,OAAOkJ,MAAK,SAACkF,GAAiB,OAAAA,IAAiBF,MAG/D,YAAAD,OAAA,SAAOC,GACLzO,KAAKO,OAAOI,OAAS,EACrBX,KAAKO,OAAOoK,KAAK8D,EAAKF,YACtBvO,KAAKqQ,cAAgB5B,EACrBzO,KAAKoQ,oBAAqB,GAG5B,sBAAI,0BAAW,C,IAAf,WACE,OAAIpQ,KAAKoQ,mBACA,CAAE,UAAW,KAEf,I,gCAGT,sBAAI,8BAAe,C,IAAnB,WACE,OAAIpQ,KAAKoQ,mBACA,CAAEI,QAAS,QAASC,IAAK,QAE3B,I,gCA/CT,gBADC,kB,8BAID,gBADC,eAAS,gB,6BAaV,gBADC,eAAM,SAAU,CAAEC,MAAM,K,yBAhBN5C,EAAS,gBAD7B,QACoBA,GAmDrB,EAnDA,CAAuC,QAAlB,IC3BmU,I,YCOpVM,EAAY,eACd,EACA3M,EACAuD,GACA,EACA,KACA,KACA,MAIa,OAAAoJ,E","file":"js/exam_main.ea8ace92.js","sourcesContent":["import { JsonObject, JsonProperty } from 'json2typescript';\nimport { isEmpty } from '@/common/StringUtil';\nimport Choice from '@/models/entry/Choice';\nimport Answer from './Answer';\n\n@JsonObject('SubQuestion')\nexport default class SubQuestion {\n constructor() {\n this.questionCode = '';\n this.version = 0;\n this.subQuestionTitle = '';\n this.subQuestionType = '';\n this.order = 0;\n this.choices = [];\n this.answer = new Answer();\n }\n\n @JsonProperty('question_code')\n public questionCode: string;\n\n @JsonProperty('question_version')\n public version: number;\n\n @JsonProperty('sub_question_title')\n public subQuestionTitle: string;\n\n @JsonProperty('sub_question_type')\n public subQuestionType: string;\n\n @JsonProperty('order')\n public order: number;\n\n @JsonProperty('choices', [Choice], true)\n public choices: Choice[];\n\n public answer: Answer;\n\n isAnswer() {\n return this.answer.choiceCodes.length > 0 || !isEmpty(this.answer.answer);\n }\n}\n","import { JsonObject, JsonProperty } from 'json2typescript';\nimport SubQuestion from '@/models/entry/SubQuestion';\nimport QuestionResources from '@/models/entry/QuestionResources';\n\n@JsonObject('Question')\nexport default class Question {\n constructor() {\n this.questionCode = '';\n this.questionTitle = '';\n this.questionStatement = '';\n this.answerType = '';\n this.isFixed = false;\n this.subQuestions = [];\n this.questionResources = [];\n this.questionNumber = 0;\n this.isBookMark = false;\n }\n\n @JsonProperty('question_code')\n public questionCode: string;\n\n @JsonProperty('question_title')\n public questionTitle: string;\n\n @JsonProperty('question_statement')\n public questionStatement: string;\n\n @JsonProperty('answer_type')\n public answerType: string;\n\n @JsonProperty('is_fixed')\n public isFixed: boolean;\n\n @JsonProperty('sub_questions', [SubQuestion], true)\n public subQuestions: SubQuestion[];\n\n @JsonProperty('question_resources', [QuestionResources], true)\n public questionResources: QuestionResources[];\n\n /**\n * 問題番号\n */\n public questionNumber: number;\n\n /**\n * ブックマークフラグ\n */\n public isBookMark: boolean;\n\n isAnswer() {\n // 設問すべての解答データ有無をチェックし1個でもない場合未回答とする\n for (let i = 0; i < this.subQuestions.length; i += 1) {\n if (!this.subQuestions[i].isAnswer()) {\n return false;\n }\n }\n return true;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"wrapper\"}},[_c('main',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isReady),expression:\"isReady\"}]},[_c('article',[_c('div',{staticClass:\"exam-header bg-base border-ex\"},[_c('e-timer',{attrs:{\"time\":_vm.timerSec,\"notificationSec\":_vm.notificationSec,\"timerStart\":_vm.isTimerStart},on:{\"end\":_vm.examEnd,\"forceEnd\":_vm.examEnd}}),_c('div',{staticClass:\"exam-header-menu\"},[_c('a',{staticClass:\"btn back\",attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.moveCurrent(-1)}}},[_c('span',[_vm._v(\"Previous Question\")])]),_c('div',{staticClass:\"exam-header-progress\"},[_c('span',[_vm._v(_vm._s(_vm.current.questionNumber)+\"/\"+_vm._s(_vm.questions.length))]),_vm._v(\" Qn. \")]),_c('a',{staticClass:\"btn\",attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.moveCurrent(1)}}},[_c('span',[_vm._v(\"Next Question\")])])])],1),_c('section',{staticClass:\"exam-section\"},[_c('div',{staticClass:\"contents-body full\"},[_c('div',{staticClass:\"exam-wrapper\"},[_c('div',{staticClass:\"exam-list\"},[_c('dl',{staticClass:\"border-ex\"},[_c('dt',[_vm._v(\"Question List\")]),_c('dd',[_c('ul',_vm._l((_vm.questions),function(q,index){return _c('li',{key:index,class:{ current: q.questionNumber === _vm.current.questionNumber, check: q.isBookMark, on: q.isAnswer() }},[_c('a',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.setCurrent(q)}}},[_vm._v(_vm._s(q.questionNumber))])])}),0)]),_vm._m(0)])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.current),expression:\"current\"}],staticClass:\"exam-main\"},[_c('p',{staticClass:\"exam-title border-ex\"},[_vm._v(_vm._s(_vm.current.questionNumber)+\" \"+_vm._s(_vm.current.questionTitle))]),_c('p',{staticClass:\"exam-text\",domProps:{\"innerHTML\":_vm._s(_vm.current.questionStatement)}}),_c('div',{staticClass:\"exam-pic\"},[(_vm.getVideoInfo())?_c('video',{staticStyle:{\"width\":\"100%\"},attrs:{\"id\":\"video\",\"src\":_vm.getVideoInfo().localSrcUri,\"type\":_vm.getVideoInfo().contentType,\"controls\":\"\",\"controlslist\":\"nodownload\",\"preload\":\"\",\"disablepictureinpicture\":\"\",\"playsinline\":\"\"}},[_c('p',[_vm._v(\"映像を再生するには、videoタグをサポートしたブラウザが必要です。\")])]):_vm._e(),(_vm.getAudioInfo())?_c('audio',{staticStyle:{\"width\":\"100%\"},attrs:{\"id\":\"audio\",\"src\":_vm.getAudioInfo().localSrcUri,\"type\":_vm.getAudioInfo().contentType,\"controls\":\"\",\"controlslist\":\"nodownload\",\"preload\":\"\"}},[_c('p',[_vm._v(\"音声を再生するには、audioタグをサポートしたブラウザが必要です。\")])]):_vm._e()]),_vm._l((_vm.current.subQuestions),function(subQ,subQIdx){return _c('div',{key:subQIdx},[_c('p',{staticClass:\"exam-text\",domProps:{\"innerHTML\":_vm._s(subQ.subQuestionTitle)}}),(subQ.subQuestionType === 'choice')?_c('e-radio',{attrs:{\"choices\":subQ.choices,\"choiceCodes\":subQ.answer.choiceCodes},on:{\"update:choiceCodes\":function($event){return _vm.$set(subQ.answer, \"choiceCodes\", $event)},\"update:choice-codes\":function($event){return _vm.$set(subQ.answer, \"choiceCodes\", $event)}}}):_vm._e(),(subQ.subQuestionType === 'multiple')?_c('e-checkBox',{attrs:{\"choices\":subQ.choices,\"choiceCodes\":subQ.answer.choiceCodes},on:{\"update:choiceCodes\":function($event){return _vm.$set(subQ.answer, \"choiceCodes\", $event)},\"update:choice-codes\":function($event){return _vm.$set(subQ.answer, \"choiceCodes\", $event)}}}):_vm._e(),(subQ.subQuestionType === 'dropdown')?_c('e-select',{attrs:{\"choices\":subQ.choices,\"choiceCodes\":subQ.answer.choiceCodes},on:{\"update:choiceCodes\":function($event){return _vm.$set(subQ.answer, \"choiceCodes\", $event)},\"update:choice-codes\":function($event){return _vm.$set(subQ.answer, \"choiceCodes\", $event)}}}):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(subQ.subQuestionType === 'describe'),expression:\"subQ.subQuestionType === 'describe'\"}],staticClass:\"exam-input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(subQ.answer.answer),expression:\"subQ.answer.answer\"}],attrs:{\"type\":\"text\",\"placeholder\":\"解答を入力\",\"maxlength\":\"1000\"},domProps:{\"value\":(subQ.answer.answer)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(subQ.answer, \"answer\", $event.target.value)}}})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(subQ.subQuestionType === 'area'),expression:\"subQ.subQuestionType === 'area'\"}],staticClass:\"exam-textarea\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(subQ.answer.answer),expression:\"subQ.answer.answer\"}],attrs:{\"name\":\"\",\"id\":\"\",\"cols\":\"30\",\"rows\":\"10\",\"placeholder\":\"解答を入力\",\"maxlength\":\"1000\"},domProps:{\"value\":(subQ.answer.answer)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(subQ.answer, \"answer\", $event.target.value)}}})])],1)}),_c('div',{staticClass:\"exam-check\"},[_c('a',{staticClass:\"btn\",attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":_vm.bookMark}},[_c('span',[_vm._v(\"Come Back Later\")])])]),_c('div',{staticClass:\"exam-pager\"},[_c('a',{staticClass:\"btn back\",attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.moveCurrent(-1)}}},[_c('span',[_vm._v(\"Previous Question\")])]),_c('div',{staticClass:\"exam-pager-progress\"},[_c('span',[_vm._v(_vm._s(_vm.current.questionNumber)+\"/\"+_vm._s(_vm.questions.length))]),_vm._v(\" Qn. \")]),_c('a',{staticClass:\"btn\",attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.moveCurrent(1)}}},[_c('span',[_vm._v(\"Next Question\")])])])],2)])])]),_c('div',{staticClass:\"exam-footer\"},[_vm._m(1),_c('a',{staticClass:\"btn-strong modal-open\",class:{disable: !_vm.answeredAllQuestions},attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){_vm.isEndConfirm = true}}},[_c('span',[_vm._v(\"Finish Quiz\")])]),_c('p',[_vm._v(_vm._s(_vm.copyright))])])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isExamStart),expression:\"!isExamStart\"}],staticClass:\"modal\",attrs:{\"id\":\"modal-load\"}},[_c('div',{staticClass:\"modal-bg\"}),_c('div',{staticClass:\"modal-contents\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isReady),expression:\"isReady\"}],staticClass:\"modal-contents-body\"},[_c('p',{staticClass:\"modal-title\"},[_vm._v(\"Quiz Loaded\")]),_c('p',{staticClass:\"modal-text\"},[_vm._v(\"Please press the button below to start the quiz.\")]),_c('a',{staticClass:\"btn-strong modal-close\",attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":_vm.examStart}},[_c('span',[_vm._v(\"Start Quiz\")])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isReady),expression:\"!isReady\"}],staticClass:\"modal-contents-body\"},[_c('p',{staticClass:\"modal-title\"},[_vm._v(\"Now Loading\")]),_c('p',{staticClass:\"modal-text\"},[_vm._v(\"Please Wait\")]),_c('div',{staticClass:\"exam-load-progress\"},[_c('p',{staticClass:\"color-ex\"},[_c('span',[_vm._v(_vm._s(_vm.progressPercent))]),_vm._v(\"% \")]),_c('div',{staticClass:\"exam-load-progress-bar\"},[_c('div',{staticClass:\"bg-ex\",style:(_vm.progress)})])])])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isEndConfirm),expression:\"isEndConfirm\"}],staticClass:\"modal\",attrs:{\"id\":\"modal-end\"}},[_c('div',{staticClass:\"modal-bg\"}),_c('div',{staticClass:\"modal-contents\"},[_c('div',{staticClass:\"modal-contents-body\"},[_c('p',{staticClass:\"modal-title\"},[_vm._v(\"Are you sure you want to finish?\")]),_c('p',{staticClass:\"modal-text\"},[_vm._v(\"You won't be able to change your answers after finishing.\")]),_c('a',{staticClass:\"btn modal-close\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){_vm.isEndConfirm = false}}},[_c('span',[_vm._v(\"Cancel\")])]),_c('a',{staticClass:\"btn-strong\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.examEnd}},[_c('span',[_vm._v(\"Finish\")])])])])]),_c('e-indicator',{staticStyle:{\"z-index\":\"5000\",\"position\":\"fixed\"},attrs:{\"display\":_vm.isIndicatorDisplay}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"btn\",attrs:{\"href\":\"javascript:void(0);\"}},[_c('span',[_vm._v(\"Close\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"btn btn-exam-list\",attrs:{\"href\":\"javascript:void(0);\"}},[_c('span',[_vm._v(\"Question List\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Watch } from 'vue-property-decorator';\nimport axios from 'axios';\nimport * as StringUtil from '@/common/StringUtil';\nimport MarkdownToHTML from '@/common/MarkdownToHTML';\nimport RepositoryFactory from '@/repository/RepositoryFactory';\nimport BaseView from '@/views/BaseView.vue';\nimport Question from '@/models/entry/Question';\nimport QuestionResources from '@/models/entry/QuestionResources';\nimport Answer from '@/models/entry/Answer';\nimport AnswerDetails from '@/models/entry/AnswersDetails';\nimport PutSingleAnswer from '@/models/entry/PutSingleAnswer';\nimport PutAllQuestionAnswer from '@/models/entry/PutAllQuestionAnswer';\nimport PutAllQuestionAnswerDetail from '@/models/entry/PutAllQuestionAnswerDetail';\n\nimport ExamRadio from '@/components/ExamRadio.vue';\nimport ExamCheckBox from '@/components/ExamCheckBox.vue';\nimport ExamSelect from '@/components/ExamSelect.vue';\nimport ExamTimer from '@/components/ExamTimer.vue';\nimport IndicatorModal from '@/components/IndicatorModal.vue';\nimport * as DesignCode from '@/classification/DesignCode';\n\n/**\n * リソースダウンロード情報まとめ\n */\ninterface DownloadInfo {\n uri: string;\n question: Question;\n resource: QuestionResources;\n}\n\n/**\n * video、audioのロード\n */\ninterface ControlsFunction {\n load: () => void;\n}\n\n@Component({\n components: {\n 'e-radio': ExamRadio,\n 'e-checkBox': ExamCheckBox,\n 'e-select': ExamSelect,\n 'e-timer': ExamTimer,\n 'e-indicator': IndicatorModal,\n },\n})\nexport default class Exam extends BaseView {\n /**\n * コピーライト\n */\n copyright = '';\n\n /**\n * 受験申込コード\n */\n entryCode = '';\n\n /**\n * 検定ランクコード\n */\n rankCode = '';\n\n /**\n * 解答結果コード\n */\n resultCode = '';\n\n /**\n * 制限時間\n */\n timerSec = 0;\n\n /**\n * 通知時間\n */\n notificationSec = 0;\n\n /**\n * 問題情報格納用\n */\n questions: Question[] = [];\n\n /**\n * 現在表示中の問題格納用\n */\n current = new Question();\n\n /**\n * 試験開始準備完了フラグ\n */\n isReady = false;\n\n /**\n * 試験開始フラグ\n */\n isExamStart = false;\n\n /**\n * タイマー起動フラグ\n */\n isTimerStart = false;\n\n /**\n * 試験終了確認モーダル表示フラグ\n */\n isEndConfirm = false;\n\n /**\n * インジケーターフラグ\n */\n isIndicatorDisplay = false;\n\n progressPercent = 0;\n\n /**\n * 解答データ、リソースデータのダウンロード総数保存用\n */\n totalDownloadDataCount = 0;\n\n /**\n * 現在ダウンロード完了している個数カウント\n */\n nowLoadingCount = 0;\n\n EntryRepo = RepositoryFactory.get().entry;\n\n retryMsg = 'に失敗しました。\\n再実行しますか?\\n※何度も発生する場合はお問合せページよりご連絡ください。';\n\n @Watch('current')\n contentsReload() {\n if (this.getVideoInfo()) {\n this.$nextTick(() => {\n const videoTag = document.getElementById('video') as HTMLElement & ControlsFunction;\n if (videoTag) {\n videoTag.load();\n }\n });\n }\n\n if (this.getAudioInfo()) {\n this.$nextTick(() => {\n const audioTag = document.getElementById('audio') as HTMLElement & ControlsFunction;\n if (audioTag) {\n audioTag.load();\n }\n });\n }\n }\n\n async mounted() {\n document.oncontextmenu = function () {\n return false;\n };\n\n await this.getCopyright();\n\n // 親ウィンドウが無い、親ウィンドウが試験前ページ or 試験結果ページ以外だった場合TOPへ\n const { opener } = window;\n if (!opener || (opener.location.pathname !== this.paths.EXAM_READY && opener.location.pathname !== this.paths.EXAM_RESULT)) {\n this.$router.replace(this.paths.TOP);\n return;\n }\n\n window.opener = null;\n\n // 受験申込コード or ランクコードがない場合強制敵にTOPへ飛ばす\n if (!this.$route.query.entry || !this.$route.query.rank) {\n this.$router.replace(this.paths.TOP);\n return;\n }\n\n this.entryCode = this.$route.query.entry as string;\n this.rankCode = this.$route.query.rank as string;\n\n const CommonCss = document.createElement('link');\n CommonCss.rel = 'stylesheet';\n CommonCss.href = '/css/common.css';\n this.$el.appendChild(CommonCss);\n\n const ExamIndexCss = document.createElement('link');\n ExamIndexCss.rel = 'stylesheet';\n ExamIndexCss.href = '/exam/css/index.css';\n this.$el.appendChild(ExamIndexCss);\n\n this.getExamConfigCss().then((cssElement: HTMLLinkElement) => {\n this.$el.appendChild(cssElement);\n });\n\n const CommonJs = document.createElement('script');\n CommonJs.src = '/js/common.js';\n this.$el.appendChild(CommonJs);\n\n const ExamIndexJs = document.createElement('script');\n ExamIndexJs.src = '/exam/js/index.js';\n this.$el.appendChild(ExamIndexJs);\n\n try {\n // 検定問題検索\n await this.getQuestions();\n\n // 解答情報取得\n await this.getAnswers();\n\n // リソース取得\n await this.resourceDownLoad();\n\n // 問題配列1番目を初期表示\n const [firstData] = this.questions;\n this.current = firstData;\n\n // 試験開始準備完了\n this.isReady = true;\n } catch (e) {\n this.$router.replace(this.paths.TOP);\n }\n }\n\n /* eslint-disable class-methods-use-this */\n beforeDestroy() {\n document.oncontextmenu = function () {\n return true;\n };\n }\n\n /**\n * 問題取得\n */\n async getQuestions() {\n let rejected = false;\n await this.EntryRepo.getQuestion(this.entryCode)\n .then((response) => {\n this.questions = this.EntryRepo.convert.deserializeArray(response.data.questions, Question);\n this.resultCode = response.data.examination_result_code;\n\n if (this.questions.length > 0) {\n this.questions.forEach((q, index) => {\n const question = q;\n // 出題順番号付与\n question.questionNumber = index + 1;\n // 問題文のMarkdownパース\n question.questionStatement = MarkdownToHTML(question.questionStatement);\n question.subQuestions.forEach((subQuestion) => {\n const subQ = subQuestion;\n // 設問タイトルのMarkdownパース\n subQ.subQuestionTitle = MarkdownToHTML(subQ.subQuestionTitle);\n // 取得された設問情報を解答情報にセット\n subQ.answer.questionCode = subQ.questionCode;\n subQ.answer.version = subQ.version;\n subQ.answer.order = subQ.order;\n subQ.choices.forEach((choice) => {\n // 設問選択肢のMarkdownパース\n const c = choice;\n c.choiceTitle = MarkdownToHTML(c.choiceTitle);\n });\n });\n });\n } else {\n rejected = true;\n }\n }).catch(() => {\n rejected = true;\n });\n\n // エラー時の再実行確認\n if (rejected) {\n if (window.confirm(`問題の取得${this.retryMsg}`)) {\n await this.getQuestions();\n } else {\n this.$router.replace(this.paths.TOP);\n }\n }\n }\n\n /**\n * 解答済みデータ取得\n */\n async getAnswers() {\n let rejected = false;\n await this.EntryRepo.getAnswer(this.entryCode, this.resultCode)\n .then((response) => {\n const answerDetail = this.EntryRepo.convert.deserializeArray(response.data.details, AnswerDetails);\n // 解答保持オブジェクトを作成\n answerDetail.forEach((detail) => {\n // 問題コードで紐づけ\n const question = this.questions.find((q) => q.questionCode === detail.questionCode) as Question;\n question.isBookMark = detail.bookmark;\n\n // 設問を探索\n question.subQuestions.forEach((sq) => {\n const subQ = sq;\n const answer = detail.answers\n .find((ans) => ans.version === subQ.version && ans.order === subQ.order);\n if (!answer) return;\n // 設問バージョン、表示順が合致する解答を適用\n subQ.answer = answer;\n });\n });\n })\n .catch(() => {\n rejected = false;\n });\n\n // エラー時の再実行確認\n if (rejected) {\n if (window.confirm(`問題の取得${this.retryMsg}`)) {\n await this.getAnswers();\n } else {\n this.$router.replace(this.paths.TOP);\n }\n }\n }\n\n /**\n * コピーライト文言取得\n */\n async getCopyright() {\n const ExamRepository = RepositoryFactory.get().exam;\n ExamRepository.getExamDesignResource(DesignCode.COPY_RIGHT).then((response) => {\n if (response.status === 200 && response.data !== undefined) {\n this.copyright = response.data.display_text;\n }\n });\n }\n\n /**\n * 問題リソースダウンロード\n */\n async resourceDownLoad() {\n // 取得失敗時の情報保持用配列\n const downloadInfo: DownloadInfo[] = [];\n this.questions.forEach((questionValue, index) => {\n const question = questionValue;\n question.questionNumber = index + 1;\n question.questionResources.forEach((resourceData) => {\n this.totalDownloadDataCount += 1;\n const resource = resourceData;\n const uri = `${process.env.VUE_APP_DESIGN_RESOURCE_BASE}${resource.resourceUri}`;\n downloadInfo.push({ uri, question, resource });\n });\n });\n this.totalDownloadDataCount = downloadInfo.length;\n // ダウンロード実行\n await this.execDownload(downloadInfo);\n }\n\n /**\n * ダウンロード実行処理(再帰呼び出し対応)\n */\n async execDownload(downloadInfo: DownloadInfo[]) {\n const rejectInfo: DownloadInfo[] = [];\n const results: Promise[] = [];\n\n // ダウンロード処理生成\n downloadInfo.forEach((info) => {\n results.push(this.createDownLoadPromice(info).catch(() => {\n rejectInfo.push(info);\n }));\n });\n\n // 一括実行\n await Promise.all(results);\n\n // エラー時の再実行確認\n if (rejectInfo.length !== 0) {\n if (window.confirm(`問題の取得${this.retryMsg}`)) {\n this.execDownload(rejectInfo);\n } else {\n this.$router.replace(this.paths.TOP);\n }\n }\n }\n\n /**\n * リソースダウンロード処理Promise生成\n */\n createDownLoadPromice(downloadInfo: DownloadInfo) {\n const { uri, question, resource } = downloadInfo;\n // arraybuffer オプション必須\n return axios.get(uri, { responseType: 'arraybuffer' })\n .then((response) => {\n const contentType = response.headers['content-type'].split(';')[0];\n const blob = new Blob([response.data], { type: contentType });\n const srcUrl = URL.createObjectURL(blob);\n // ダウンロードされたファイルの実体を保持\n resource.contents = blob;\n resource.contentType = contentType;\n resource.localSrcUri = srcUrl;\n\n // 画像の場合、各所の対応する独自タグを置換\n if (contentType.indexOf('image') !== -1) {\n const replaceTag = `{{${resource.resourceFileName}}}`;\n const imgTagString = `\"${resource.alternativeText}\"`;\n // 問題本文\n question.questionStatement = question.questionStatement.replace(replaceTag, imgTagString);\n\n const { subQuestions } = question;\n subQuestions.forEach((subQ) => {\n const targetSubq = subQ;\n // 設問タイトル\n targetSubq.subQuestionTitle = targetSubq.subQuestionTitle.replace(replaceTag, imgTagString);\n targetSubq.choices.forEach((choice) => {\n const targetChoice = choice;\n // 問題選択肢\n targetChoice.choiceTitle = targetChoice.choiceTitle.replace(replaceTag, imgTagString);\n });\n });\n }\n\n // プログレスバー計算\n this.nowLoadingCount += 1;\n this.progressPercent = Math.round((this.nowLoadingCount / this.totalDownloadDataCount) * 100);\n });\n }\n\n /**\n * 試験開始\n */\n async examStart() {\n this.isIndicatorDisplay = true;\n try {\n await this.EntryRepo.postExamStart(this.entryCode, this.resultCode)\n .then((response) => {\n this.timerSec = response.data.time_sec as number;\n this.notificationSec = response.data.notification_limit_sec as number;\n this.isExamStart = true;\n this.isTimerStart = true;\n });\n } catch {\n if (window.confirm(`試験開始処理${this.retryMsg}`)) {\n await this.examStart();\n } else {\n this.$router.replace(this.paths.TOP);\n }\n } finally {\n this.isIndicatorDisplay = false;\n }\n }\n\n /**\n * 単体での解答保存\n */\n saveAnswer() {\n const putAnswer = new PutSingleAnswer();\n putAnswer.bookmark = this.current.isBookMark;\n this.current.subQuestions.forEach((subQ) => {\n putAnswer.answers.push(subQ.answer);\n });\n const questionCode = StringUtil.encodeToBase64Url(this.current.questionCode);\n this.EntryRepo.putAnswer(this.entryCode, this.resultCode, questionCode, putAnswer)\n .catch((err) => {\n // 失敗しても試験を続行する\n console.log(err);\n });\n }\n\n /**\n * 解答終了\n */\n async examEnd() {\n this.isIndicatorDisplay = true;\n const allAnswers: PutAllQuestionAnswer[] = [];\n // すべての問題から解答情報を取り出す\n this.questions.forEach((question) => {\n // 全解答送信用クラスを作成\n const allAnswer = new PutAllQuestionAnswer();\n allAnswer.questionCode = question.questionCode;\n // 各設問の解答情報を取得\n question.subQuestions.forEach((subQ) => {\n const detail = new PutAllQuestionAnswerDetail();\n const { answer } = subQ;\n detail.version = answer.version;\n detail.order = answer.order;\n detail.choiceCodes = answer.choiceCodes;\n detail.answer = answer.answer;\n allAnswer.answers.push(detail);\n });\n allAnswers.push(allAnswer);\n });\n\n try {\n await this.EntryRepo.putExamEnd(this.entryCode, this.resultCode, allAnswers)\n .then(() => {\n this.$router.replace(`/exam/finish?rank=${this.rankCode}&entry=${this.entryCode}&result=${this.resultCode}`);\n });\n } catch (e) {\n if (window.confirm(`解答情報の送信${this.retryMsg}`)) {\n await this.examEnd();\n } else {\n this.$router.replace(this.paths.TOP);\n }\n } finally {\n this.isIndicatorDisplay = false;\n }\n }\n\n\n /**\n * 後で見直す押下での保存中か\n */\n isBookmarkSave = false;\n\n /**\n * 後で見直す押下時の\n */\n bookMark() {\n this.current.isBookMark = !this.current.isBookMark;\n try {\n this.saveAnswer();\n } catch (e) {\n // 失敗しても試験を続行する\n console.log(e);\n }\n }\n\n /**\n * 次へ/前へ\n */\n moveCurrent(vector: number) {\n const nextIndex = this.current.questionNumber - 1 + vector;\n const next = this.questions[nextIndex];\n\n if (next) {\n this.setCurrent(next);\n }\n }\n\n /**\n * 選択中問題のセット\n */\n setCurrent(question: Question) {\n try {\n this.saveAnswer();\n } catch (e) {\n // 失敗しても処理を続行する\n console.log(e);\n }\n this.current = question;\n }\n\n /**\n * content-type に該当するリソースURIとコンテンツタイプを返す\n */\n getResourceInfo(type: string) {\n const resource = this.current.questionResources.find((value) => {\n if (!StringUtil.isEmpty(value.contentType)) {\n const contentsType = value.contentType;\n if (contentsType.indexOf(type) !== -1) return true;\n }\n return false;\n });\n\n if (resource) {\n const { localSrcUri, contentType } = resource;\n return { localSrcUri, contentType };\n }\n return null;\n }\n\n /**\n * 動画リソース情報取得\n */\n getVideoInfo() {\n return this.getResourceInfo('video');\n }\n\n /**\n * 音声リソース情報取得\n */\n getAudioInfo() {\n return this.getResourceInfo('audio');\n }\n\n /**\n * ロード中プログレスバーstyle\n */\n get progress() {\n return { width: `${this.progressPercent}%` };\n }\n\n /**\n * 全問題に回答したか否か\n */\n get answeredAllQuestions(): boolean {\n return this.questions.every((question) => question.isAnswer());\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--13-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Exam.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--13-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Exam.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Exam.vue?vue&type=template&id=79617e56&\"\nimport script from \"./Exam.vue?vue&type=script&lang=ts&\"\nexport * from \"./Exam.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { JsonObject, JsonProperty } from 'json2typescript';\nimport Answer from '@/models/entry/Answer';\n\n@JsonObject('AnswersDetails')\nexport default class AnswersDetails {\n constructor() {\n this.questionCode = '';\n this.bookmark = false;\n this.answers = [];\n }\n\n @JsonProperty('question_code')\n public questionCode: string;\n\n @JsonProperty('bookmark')\n public bookmark: boolean;\n\n @JsonProperty('answers', [Answer])\n public answers: Answer[];\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"exam-checkbox\"},[_c('ul',_vm._l((_vm.choices),function(choice,index){return _c('li',{key:index,class:{ 'on': _vm.isSelectedCheck(choice.choiceCode) > -1 },on:{\"click\":function($event){return _vm.select(choice.choiceCode)}}},[_c('div',[_c('p',[_c('span',{domProps:{\"innerHTML\":_vm._s(choice.choiceTitle)}})])])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {\n Component, Prop, PropSync, Vue,\n} from 'vue-property-decorator';\nimport Choice from '@/models/entry/Choice';\n\n@Component\nexport default class ExamCheckbox extends Vue {\n @Prop()\n private choices: Choice[];\n\n @PropSync('choiceCodes', { type: Array })\n private answer: string[];\n\n isSelectedCheck(code: string) {\n return this.answer.findIndex((selectedCode) => selectedCode === code);\n }\n\n select(code: string) {\n const index = this.isSelectedCheck(code);\n if (index > -1) {\n this.answer.splice(index, 1);\n return;\n }\n this.answer.push(code);\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamCheckBox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamCheckBox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamCheckBox.vue?vue&type=template&id=534831b1&\"\nimport script from \"./ExamCheckBox.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamCheckBox.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { JsonObject, JsonProperty } from 'json2typescript';\n\n@JsonObject('Choice')\nexport default class Choice {\n constructor() {\n this.choiceCode = '';\n this.choiceTitle = '';\n this.order = 0;\n }\n\n @JsonProperty('choice_code')\n public choiceCode: string;\n\n @JsonProperty('choice_title')\n public choiceTitle: string;\n\n @JsonProperty('order')\n public order: number;\n}\n","import { JsonObject, JsonProperty } from 'json2typescript';\n\n@JsonObject('QuestionResources')\nexport default class QuestionResources {\n constructor() {\n this.resourceUri = '';\n this.resourceFileName = '';\n this.alternativeText = undefined;\n this.contents = undefined;\n this.contentType = '';\n this.localSrcUri = '';\n }\n\n @JsonProperty('resource_uri')\n public resourceUri: string;\n\n @JsonProperty('resource_file_name')\n public resourceFileName: string;\n\n @JsonProperty('alternative_text', null, true)\n public alternativeText?: string;\n\n public contents?: Blob;\n\n public contentType: string;\n\n public localSrcUri: string;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"exam-header-timer\"},[_c('p',[_vm._v(\" Remaining \"),_c('span',{class:{ 'color-alert': _vm.isNotification }},[_vm._v(_vm._s(_vm.min)+\":\"+_vm._s(_vm.secFormat(_vm.sec)))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport {\n Component, Prop, Watch, Vue,\n} from 'vue-property-decorator';\nimport { warn } from 'vue-class-component/lib/util';\n\n@Component\nexport default class ExamTimer extends Vue {\n @Prop({ default: 0 })\n time: number;\n\n @Prop({ default: 0 })\n notificationSec: number;\n\n @Prop({ default: false })\n timerStart: boolean;\n\n @Watch('timerStart')\n switch() {\n if (this.timerStart) {\n this.start();\n return;\n }\n this.stop();\n }\n\n /**\n * 分\n */\n min = 0 ;\n\n /**\n * 秒\n */\n sec = 0;\n\n /**\n * 制限時間強調フラグ\n */\n isNotification = false;\n\n /**\n * 実行中タイマー\n */\n timer: number;\n\n start() {\n clearInterval(this.timer);\n if (this.time > 0) {\n this.min = Math.trunc(this.time / 60);\n this.sec = this.time % 60;\n this.timer = window.setInterval(this.countDown, 1000);\n } else {\n this.$emit('forceEnd');\n }\n }\n\n stop() {\n clearInterval(this.timer);\n this.$emit('end');\n }\n\n countDown() {\n if (this.min === 0 && this.sec === 0) {\n this.stop();\n return;\n }\n\n if (this.sec === 0) {\n this.min -= 1;\n this.sec = 59;\n } else {\n this.sec -= 1;\n }\n\n const notificationMin = this.notificationSec / 60;\n if ((this.min === notificationMin && this.sec === 0)\n || this.min < notificationMin) {\n this.isNotification = true;\n }\n }\n\n secFormat = (sec: number) => {\n const strSec = `00${sec}`;\n return strSec.substring(strSec.length - 2, strSec.length);\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamTimer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamTimer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamTimer.vue?vue&type=template&id=32da4c9e&\"\nimport script from \"./ExamTimer.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamTimer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { JsonObject, JsonProperty } from 'json2typescript';\n\n@JsonObject('Answer')\nexport default class Answer {\n constructor() {\n this.questionCode = undefined;\n this.version = undefined;\n this.order = undefined;\n this.choiceCodes = [];\n this.answer = '';\n }\n\n @JsonProperty('question_code')\n public questionCode?: string;\n\n @JsonProperty('question_version')\n public version?: number;\n\n @JsonProperty('order')\n public order?: number;\n\n @JsonProperty('choice_codes', [String])\n public choiceCodes: string[];\n\n @JsonProperty('answer', null, true)\n public answer: string;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"exam-radio\"},[_c('ul',_vm._l((_vm.choices),function(choice,choiceIdx){return _c('li',{key:choiceIdx,class:{ 'on': _vm.isSelectedCheck(choice.choiceCode) },on:{\"click\":function($event){return _vm.select(choice.choiceCode)}}},[_c('div',[_c('p',[_c('span',{domProps:{\"innerHTML\":_vm._s(choice.choiceTitle)}})])])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {\n Component, Prop, PropSync, Watch, Vue,\n} from 'vue-property-decorator';\nimport Choice from '@/models/entry/Choice';\n\n@Component\nexport default class ExamRadio extends Vue {\n @Prop()\n private choices: Choice[];\n\n @PropSync('choiceCodes', { type: Array })\n private answer: string[];\n\n isSelectedCheck(code: string) {\n return !!this.answer.find((selectedCode) => selectedCode === code);\n }\n\n select(code: string) {\n this.answer.length = 0;\n this.answer.push(code);\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamRadio.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamRadio.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamRadio.vue?vue&type=template&id=4c1ca776&\"\nimport script from \"./ExamRadio.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamRadio.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { JsonObject, JsonProperty } from 'json2typescript';\nimport Answer from '@/models/entry/Answer';\n\n@JsonObject('PutSingleAnswer')\nexport default class PutSingleAnswer {\n constructor() {\n this.bookmark = false;\n this.answers = [];\n }\n\n @JsonProperty('bookmark')\n public bookmark: boolean;\n\n @JsonProperty('answers', [Answer])\n public answers: Answer[];\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"exam-select\"},[_c('div',{staticClass:\"select\",class:{ 'on': _vm.isSeletBodyVisible },style:(_vm.selectStyle)},[(_vm.isSeletBodyVisible)?_c('div',{staticClass:\"select-bg\",on:{\"click\":function($event){_vm.isSeletBodyVisible = false}}}):_vm._e(),_c('dl',[_c('dt',{on:{\"click\":function($event){_vm.isSeletBodyVisible = !_vm.isSeletBodyVisible}}},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.currentChoice.choiceTitle)}})]),(_vm.isSeletBodyVisible)?_c('dd',{style:(_vm.selectBodyStyle)},[_c('ul',_vm._l((_vm.choices),function(choice,index){return _c('li',{key:index,domProps:{\"innerHTML\":_vm._s(choice.choiceTitle)},on:{\"click\":function($event){return _vm.select(choice)}}})}),0)]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {\n Component, Prop, PropSync, Watch, Vue,\n} from 'vue-property-decorator';\nimport Choice from '@/models/entry/Choice';\n\n@Component\nexport default class ExamRadio extends Vue {\n @Prop()\n private choices: Choice[];\n\n @PropSync('choiceCodes')\n private answer: string[];\n\n private currentChoice: Choice = new Choice();\n\n // UI制御フラグ\n private isSeletBodyVisible = false;\n\n mounted() {\n this.init();\n }\n\n @Watch('answer', { deep: true })\n init() {\n if (this.answer.length > 0) {\n const code = this.answer[0];\n const selectChoice = this.choices.find((choice) => choice.choiceCode === code) as Choice;\n this.currentChoice = selectChoice;\n return;\n }\n this.currentChoice = new Choice();\n }\n\n isSelectedCheck(code: string) {\n return !!this.answer.find((selectedCode) => selectedCode === code);\n }\n\n select(code: Choice) {\n this.answer.length = 0;\n this.answer.push(code.choiceCode);\n this.currentChoice = code;\n this.isSeletBodyVisible = false;\n }\n\n get selectStyle() {\n if (this.isSeletBodyVisible) {\n return { 'z-index': 500 };\n }\n return {};\n }\n\n get selectBodyStyle() {\n if (this.isSeletBodyVisible) {\n return { display: 'block', top: '63px' };\n }\n return {};\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamSelect.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamSelect.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamSelect.vue?vue&type=template&id=59a6a128&\"\nimport script from \"./ExamSelect.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamSelect.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}