{"version":3,"sources":["webpack:///./node_modules/capacitor-blob-writer/blob_writer.js","webpack:///./src/components/DriveBuzzLogo.vue?44a6","webpack:///./src/components/DriveBuzzLogo.vue","webpack:///./src/components/DriveBuzzLogo.vue?3675","webpack:///./src/views/Guest/GuestTheoryBlock.vue?c65b","webpack:///./src/views/Guest/GuestTheoryBlock.vue","webpack:///./src/views/Guest/GuestTheoryBlock.vue?49f2","webpack:///./src/components/NextButton.vue?711b","webpack:///./src/components/NextButton.vue","webpack:///./src/components/NextButton.vue?e158","webpack:///./src/utils/EventBus.ts","webpack:///./src/components/Pages/TheoryQuestions/Question.vue?90e8","webpack:///./src/components/Pages/TheoryQuestions/Questions/VideoQuestion.vue?c100","webpack:///./src/components/Pages/TheoryQuestions/Parts/MultiChoice.vue?4455","webpack:///./src/components/Pages/TheoryQuestions/Parts/MultiChoice.vue","webpack:///./src/components/Pages/TheoryQuestions/Parts/MultiChoice.vue?37da","webpack:///./src/components/Pages/TheoryQuestions/Parts/FreeText.vue?d637","webpack:///./src/components/Pages/TheoryQuestions/Parts/FreeText.vue","webpack:///./src/components/Pages/TheoryQuestions/Parts/FreeText.vue?d60a","webpack:///./src/components/Pages/TheoryQuestions/Questions/VideoQuestion.vue","webpack:///./src/components/Pages/TheoryQuestions/Questions/VideoQuestion.vue?2a8b","webpack:///./src/components/Pages/TheoryQuestions/Questions/ImageQuestion.vue?a63f","webpack:///./src/components/Pages/TheoryQuestions/Questions/ImageQuestion.vue","webpack:///./src/components/Pages/TheoryQuestions/Questions/ImageQuestion.vue?7e7d","webpack:///./src/components/Pages/TheoryQuestions/Questions/BaseQuestion.vue?dc0c","webpack:///./src/components/Pages/TheoryQuestions/Parts/MediaMultiChoice.vue?1ba3","webpack:///./src/components/Pages/TheoryQuestions/Parts/MediaMultiChoice.vue","webpack:///./src/components/Pages/TheoryQuestions/Parts/MediaMultiChoice.vue?d224","webpack:///./src/components/Pages/TheoryQuestions/Questions/BaseQuestion.vue","webpack:///./src/components/Pages/TheoryQuestions/Questions/BaseQuestion.vue?952c","webpack:///./src/components/Pages/Parts/StandardQuestionExplanation.vue?b0c7","webpack:///./src/components/Pages/Parts/StandardQuestionExplanation.vue","webpack:///./src/components/Pages/Parts/StandardQuestionExplanation.vue?4cb5","webpack:///./src/components/Pages/TheoryQuestions/Question.vue","webpack:///./src/components/Pages/TheoryQuestions/Question.vue?7e27","webpack:///./src/views/Guest/GuestTheoryBlock.vue?d5cd","webpack:///./src/components/FscAudioPlayer.vue?5f95","webpack:///./src/components/FscAudioPlayer.vue","webpack:///./src/components/FscAudioPlayer.vue?5bd4","webpack:///./src/mixins/TheoryQuestions/QuestionMixin.ts","webpack:///./src/enums/MediaTypeEnum.ts","webpack:///./node_modules/@capacitor/filesystem/dist/esm/index.js","webpack:///./src/components/Pages/Home/Theory/TheoryBlock.vue?0658","webpack:///./src/mixins/StudentEducations/StudentTheoryEducationMixin.ts","webpack:///./src/components/Pages/Home/Theory/TheoryImg/TheoryImg.vue?d443","webpack:///./src/components/Pages/Home/Theory/TheoryImg/TheoryImgPositive.vue?d89c","webpack:///./src/mixins/TheoryImgMixin.ts","webpack:///./src/components/TransparentSvgRect.vue?1106","webpack:///./src/components/TransparentSvgRect.vue","webpack:///./src/components/TransparentSvgRect.vue?8cba","webpack:///./src/enums/LearningModeEnum.ts","webpack:///./src/components/Pages/Home/Theory/TheoryImg/TheoryImgPositive.vue","webpack:///./src/components/Pages/Home/Theory/TheoryImg/TheoryImgPositive.vue?2b09","webpack:///./src/components/Pages/Home/Theory/TheoryImg/TheoryImgNegative.vue?8197","webpack:///./src/components/Pages/Home/Theory/TheoryImg/TheoryImgNegative.vue","webpack:///./src/components/Pages/Home/Theory/TheoryImg/TheoryImgNegative.vue?b3fe","webpack:///./src/components/Pages/Home/Theory/TheoryImg/TheoryImgNeutral.vue?1c1d","webpack:///./src/components/Pages/Home/Theory/TheoryImg/TheoryImgNeutral.vue","webpack:///./src/components/Pages/Home/Theory/TheoryImg/TheoryImgNeutral.vue?6f70","webpack:///./src/components/Pages/Home/Theory/TheoryImg/TheoryImg.vue","webpack:///./src/components/Pages/Home/Theory/TheoryImg/TheoryImg.vue?375d","webpack:///./src/components/Pages/Home/Theory/TheoryBlock.vue","webpack:///./src/components/Pages/Home/Theory/TheoryBlock.vue?c3a7","webpack:///./src/components/FscImage.vue?37fa","webpack:///./src/components/FscImage.vue","webpack:///./src/components/FscImage.vue?7d35","webpack:///./src/components/DriveBuzzLogo.vue?994e","webpack:///./node_modules/lodash/_arrayShuffle.js","webpack:///./src/components/Headers/GuestHeader.vue?498d","webpack:///./src/components/Headers/GuestHeader.vue","webpack:///./src/components/Headers/GuestHeader.vue?300e","webpack:///./node_modules/lodash/_baseValues.js","webpack:///./node_modules/core-js/modules/web.url-search-params.has.js","webpack:///./src/components/HintButton.vue?28e6","webpack:///./src/components/HintButton.vue","webpack:///./src/components/HintButton.vue?6d77","webpack:///./src/assets/img/lms/fragentutor_active_compressed.png","webpack:///./src/views/BasicUser/Dashboard.vue?1adb","webpack:///./src/views/BasicUser/TrainingBlock.vue?0227","webpack:///./src/views/BasicUser/TrainingBlock.vue","webpack:///./src/views/BasicUser/TrainingBlock.vue?9c60","webpack:///./src/views/BasicUser/FragenBlock.vue?fc84","webpack:///./src/views/BasicUser/FragenBlock.vue","webpack:///./src/views/BasicUser/FragenBlock.vue?2f52","webpack:///./src/views/BasicUser/Dashboard.vue","webpack:///./src/views/BasicUser/Dashboard.vue?d81c","webpack:///./node_modules/lodash/_baseShuffle.js","webpack:///./src/assets/img/lms/fragentutor_standard_compressed.png","webpack:///./src/layout/GuestLayout.vue?0fa0","webpack:///./src/layout/GuestLayout.vue","webpack:///./src/layout/GuestLayout.vue?0883","webpack:///./src/views/Guest/TheoryQuestions.vue?1ddf","webpack:///./src/views/Guest/TheoryQuestions.vue","webpack:///./src/views/Guest/TheoryQuestions.vue?77bc","webpack:///./node_modules/lodash/values.js","webpack:///./src/components/EducationTabs/EducationTabs.vue?e35e","webpack:///./src/components/EducationTabs/EducationTabs.vue","webpack:///./src/components/EducationTabs/EducationTabs.vue?31ca","webpack:///./node_modules/tiny-emitter/instance.js","webpack:///./src/views/Onboarding/MobileTheoryBlock.vue?cebd","webpack:///./node_modules/core-js/modules/web.url-search-params.size.js","webpack:///./src/components/VideoPlayer.vue?e125","webpack:///./src/directives/Video.ts","webpack:///./node_modules/@capacitor/status-bar/dist/esm/definitions.js","webpack:///./node_modules/@capacitor/status-bar/dist/esm/index.js","webpack:///./node_modules/@capacitor-community/keep-awake/dist/esm/index.js","webpack:///./node_modules/@awesome-cordova-plugins/android-full-screen/index.js","webpack:///./src/components/VideoPlayer.vue","webpack:///./src/components/VideoPlayer.vue?3a6c","webpack:///./src/views/BasicUser/TrainingBlockHeader.vue?b443","webpack:///./src/views/BasicUser/TrainingBlockHeader.vue","webpack:///./src/views/BasicUser/TrainingBlockHeader.vue?38ec","webpack:///./src/components/Pages/Parts/TitleAndAdditionalText.vue?3ba9","webpack:///./src/components/Pages/Parts/TitleAndAdditionalText.vue","webpack:///./src/components/Pages/Parts/TitleAndAdditionalText.vue?f951","webpack:///./src/composable/useQueryString.ts","webpack:///./src/composable/useFile.ts","webpack:///./src/assets/img/education/education.svg","webpack:///./src/components/Avatars/SchoolLogo.vue?9163","webpack:///./src/components/Avatars/SchoolLogo.vue","webpack:///./src/components/Avatars/SchoolLogo.vue?0a89","webpack:///./src/assets/img/logo/drivebuzz.svg","webpack:///./src/assets/fsc_logo.png","webpack:///./node_modules/@capacitor/filesystem/dist/esm/definitions.js","webpack:///./src/maps/KnowledgeAreaMapper.ts","webpack:///./src/components/Pages/Parts/StandardQuestionExplanation.vue?c249","webpack:///./src/assets/img/education/sandclock.png","webpack:///./node_modules/core-js/modules/web.url-search-params.delete.js","webpack:///./src/mixins/TheoryQuestions/MediaQuestionMixin.ts","webpack:///./src/components/FscMultiselect.vue?97e4","webpack:///./node_modules/vue-multiselect/dist/vue-multiselect.esm.js","webpack:///./src/components/FscMultiselect.vue","webpack:///./src/components/FscMultiselect.vue?51dc","webpack:///./src/utils/isNumeric.ts","webpack:///./node_modules/s-vuex-class/lib/bindings.js","webpack:///./src/utils/gestureUtils.ts","webpack:///./src/components/VideoPlayer.vue?a660","webpack:///./node_modules/lodash/_baseRandom.js","webpack:///./src/components/QuestionHint.vue?2199","webpack:///./src/components/QuestionHint.vue","webpack:///./src/components/QuestionHint.vue?2f2d","webpack:///./node_modules/tiny-emitter/index.js","webpack:///./node_modules/lodash/_shuffleSelf.js","webpack:///./node_modules/core-js/internals/validate-arguments-length.js","webpack:///./src/components/FscMultiselect.vue?aa1a","webpack:///./src/components/Pages/TheoryQuestions/BackButton.vue?12cb","webpack:///./src/components/Pages/TheoryQuestions/BackButton.vue","webpack:///./src/components/Pages/TheoryQuestions/BackButton.vue?1f97","webpack:///./src/assets/img/theory/theory_empty.svg","webpack:///./src/assets/img/education/notebook-girl.png","webpack:///./node_modules/core-js/internals/define-built-in-accessor.js","webpack:///./src/views/Onboarding/MobileTheoryBlock.vue?d76f","webpack:///./src/views/Onboarding/MobileTheoryBlock.vue","webpack:///./src/views/Onboarding/MobileTheoryBlock.vue?07b0","webpack:///./src/mixins/Media/VideoLoadingMixin.ts","webpack:///./node_modules/lodash/shuffle.js","webpack:///./src/mixins/Media/ImageLoadingMixin.ts"],"names":["BlobWriter","real_fetch","window","CapacitorWebFetch","fetch","array_buffer_to_base64","buffer","btoa","Array","from","Uint8Array","map","byte","String","fromCharCode","join","write_file_via_indexeddb","path","directory","blob","recursive","writeFile","data","then","Promise","resolve","reject","fail","event","target","error","connection","indexedDB","open","onerror","onsuccess","db","result","transaction","store","objectStore","name","replace","load","get","size","content","put","undefined","write_file_via_bridge","consume_blob","chunk_size","chunk_blob","slice","Response","arrayBuffer","appendFile","write_blob","options","fast_mode","on_fallback","Number","isSafeInteger","type","getPlatform","all","get_config","getUri","config","file_info","absolute_path","uri","base_url","headers","authorization","auth_token","method","body","response","status","Error","catch","Object","_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","_hoisted_2","_createElementVNode","class","render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createBlock","_resolveDynamicComponent","component","to","default","_withCtx","src","require","alt","height","width","_","defineComponent","props","__exports__","_hoisted_3","_createElementBlock","components","key","_component_b_spinner","_resolveComponent","_component_b_button","disabled","loading","onClick","style","_toDisplayString","$t","setup","emitter","$emit","$on","args","on","$once","once","$off","off","emit","_component_b_col","_component_StandardQuestionExplanation","_component_b_row","_component_VideoQuestion","_component_ImageQuestion","_component_BaseQuestion","_Fragment","_createVNode","cols","questionTitle","question","officialNumber","withVideo","onOnShowSolutionButton","showSolutionButton","onOnAnswer","$event","onAnswer","showCorrectAnswers","withPicture","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_createTextVNode","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_component_FscImage","_component_b_overlay","_component_TitleAndAdditionalText","_component_MultiChoice","_component_FreeText","_component_VideoPlayer","_component_fsc_modal","md","show","imgLoading","rounded","opacity","imgLoadError","authThumbUrl","onLoad","onImageLoaded","onError","onImageLoadError","onLoading","onImageLoading","showImage","questionsVisible","_createCommentVNode","count","countSeen","questionType","showVideo","showStartQuestionWarningModal","ref","authMediaUrl","authStartThumbUrl","onVideoLoaded","onVideoLoadError","onEnded","onVideoEnded","onHide","hideVideo","id","centered","hideStartQuestionWarningModal","showQuestions","hideImage","rs","thumbnail","_component_FscAudioPlayer","_component_b_form_checkbox","_renderList","option","index","position","_normalizeStyle","isAnswerIndexCorrectStyle","answers","value","_withDirectives","modelValue","ref_for","title","text","_vShow","onChange","onAnswerChange","MultiChoice","Vue","constructor","LONG_PRESS_DURATION","mounted","optionElements","this","$refs","optionGesture","forEach","setupLongPressGesture","playAudio","dataset","answer","find","a","correct","audioPlayer","isAnswerCorrect","findIndex","onShowCorrectAnswers","toggle","onQuestionChange","shuffle","answerPositions","correctAnswer","split","indexOf","__decorate","Prop","Watch","immediate","deep","Options","FscAudioPlayer","_component_b_form_input","textSlices","textSlice","inputFields","modelModifiers","trim","onInput","autocomplete","state","FreeText","val","isNumeric","parseFloat","_this$inputFields","regex","questionPattern","match","iField","VideoQuestion","mixins","QuestionMixin","MediaQuestionMixin","ModalMixin","ImageLoadingMixin","VideoLoadingMixin","videoModal","startQuestionWarningModal","e","showModal","hideModal","authEndThumbUrl","numberOfTimesVideoWasPlayed","created","useBackButton","processNextHandler","startQuestionWarningModalRef","videoModalRef","TitleAndAdditionalText","FscImage","VideoPlayer","xl","ImageQuestion","imageModal","numberOfTimesPictureWasEnlarged","_component_MediaMultiChoice","onShowImage","currentImage","getMediaUrl","getOptionPosition","emits","required","Boolean","_option$position","optionPosition","fullSize","baseUrl","process","computed","watch","BaseQuestion","console","log","MediaMultiChoice","_imports_0","_imports_1","onAudioStart","setIsPlaying","onAudioResume","onAudioPause","onAudioEnded","EXPLANATION_AUDIO_KEY","isPlaying","pauseAudio","explanationExists","StandardQuestionExplanation","explanationUrl","audioUrls","fetchAudioBlobUrl","url","setupGestures","pausePlayingExplanationImage","stopCurrentAudio","Question","KNOWLEDGE_AREA_MAPPER","answerData","rawQuestion","toRaw","isEmpty","knowledgeAreaMap","substr","$tc","points","FALLBACK_LANGUAGE","UNSUPPORTED_LANGUAGE","globalAudioRef","currentAudioKey","user","UserService","getUser","_this$options","urls","additionalText","explanation","methods","getUserIso639dash1Code","_user$value$language$","_user$value","language","iso639dash1Code","pause","currentTime","generateStorageKey","input","CryptoJS","MD5","toString","storageKey","cachedBlob","getAudioItem","URL","createObjectURL","axios","responseType","setAudioItem","$toasted","audioUrl","paused","play","removeAudioItem","blobUrl","audio","Audio","addEventListener","revokeObjectURL","answerGiven","given","MediaTypeEnum","Filesystem","web","m","FilesystemWeb","_component_router_link","_component_EducationTabs","_component_TheoryImgPositive","_component_TheoryImg","_directive_clickable_mobile","_resolveDirective","_normalizeClass","basicView","overlay","_normalizeProps","_guardReactiveProps","_withModifiers","_renderSlot","$slots","studentEducationParam","isTheoryQuestionLink","stats","remaining","params","studentEducation","toastMessage","filteredEducations","selectedEducationIndex","onEducationClassChanged","learningModeSwitchState","switch","onChangeLearningMode","selectedEducation","statsLoading","learningMode","force","onMobileClick","onClickCard","StudentEducationModule","namespace","StudentTheoryEducationMixin","onStudentEducationsChange","studentEducations","length","se","selectEducation","education","selectTheoryStudentEducation","Action","Getter","_component_theory_img_positive","_component_theory_img_neutral","_component_theory_img_negative","correctlyAnswered","incorrectlyAnswered","xmlns","viewBox","_createStaticVNode","transform","fill","stroke","rx","x","y","attributeName","values","dur","repeatCount","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","d","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","_hoisted_59","_hoisted_60","_hoisted_61","_component_TransparentSvgRect","openQuestion","readyForExamX","readyForExam","learningModeDoubleCheck","oneTimeAnsweredX","remainingMidX","remainingX","incorrectlyAnsweredX","TheoryImgMixin","studentEducationId","$router","push","clikableRangeW","clikableRangeH","clikablePositionX","clikablePositionY","LearningModeEnum","TheoryImgPositive","doubleCheck","TransparentSvgRect","TheoryImgNegative","TheoryImgNeutral","TheoryImg","TheoryQuestionsModule","StudentQuestionAnswersModule","TheoryBlock","ionRouter","useIonRouter","info","getLearningModeAction","resource","extraPath","hideSuccessMessage","modeId","learningModeGet","setLearningModeAction","loadStats","getStatsAction","learningModeId","educationClass","saveLearningModeAction","setLearningModeSuccess","onChangeLearningModeCheckbox","theoryLink","location","assign","navigate","findAllStudentEducationWithTheory","descriptionField","_this$studentEducatio","filter","theoryRequired","EducationTabs","_directive_image","_mergeProps","$attrs","mediaURL","auth","success","onLoaded","directives","image","Image","getMediaFromFilesystem","useFile","copyArray","shuffleSelf","arrayShuffle","array","module","exports","_component_ion_button","_component_DriveBuzzLogo","_component_ion_menu_button","_component_ion_buttons","_component_ion_toolbar","_component_ion_header","mode","showBackButton","onClickBack","slot","hideLogo","hideMenuButton","menu","GuestHeader","useCustomFunc","customBackButtonFunc","go","Function","DriveBuzzLogo","IonHeader","IonToolbar","IonButtons","IonMenuButton","IonTitle","IonButton","arrayMap","baseValues","object","defineBuiltIn","uncurryThis","validateArgumentsLength","$URLSearchParams","URLSearchParams","URLSearchParamsPrototype","prototype","getAll","$has","has","arguments","$value","enumerable","unsafe","clickHandle","active","hint","HintButton","_this$question","_this$question2","_component_SchoolLogo","_component_TrainingBlockHeader","_component_TrainingBlock","_component_FragenBlock","_component_GuestLayout","sm","lg","drivingSchoolId","_component_FscMultiselect","_component_Validation","validations","v$","licenseClass","invalid","currentRegistrationLoading","variant","licenseClassComputed","licenceClasses","label","placeholder","onSelect","onSelectLicenseClass","onRemove","onDeselectLicenseClass","onOpen","onOpenMultiselect","onClose","onCloseMultiselect","openDirection","maxHeight","searchable","multiselect__invalid","theoryCourse","theoryCourseComputed","theoryCoursesWithFreeSlotsOnly","nameWithStartDate","branch","branchComputed","publicBranchesFilter","onSelectBranch","onRequest","PublicInfoModule","TrainingBlock","useVuelidate","shortRegistrationsCurrent","useRequest","setLicenseClass","setTheoryCourse","setBranch","_this$branchComputed","getTheoryCourses","branchId","SET_THEORY_COURSES","_this$branchComputed2","branches","getDrivingSchoolId","getLicenceClasses","getBranches","currentRegistration","_this$shortRegistrati","_this$shortRegistrati2","_this$shortRegistrati3","licenseClassEnum","$touch","$invalid","drivingSchool","startDate","moment","format","endDate","scrollY","_document$getElementB","newScrollY","trainingBlockHeight","document","getElementById","offsetHeight","$nextTick","scrollToPoint","setTimeout","setScrollY","getIsLoading","theoryCourses","freeSlots","Mutation","State","Inject","valueY","Validation","FscMultiselect","FragenBlock","MobileTheoryBlock","GuestTheoryBlock","TheoryQuestions","GuestLayout","TrainingBlockHeader","SchoolLogo","baseShuffle","collection","_component_GuestHeader","_component_ion_content","_component_ion_page","safeArea","ionContent","$el","Provide","IonPage","IonContent","_component_Question","_component_BackButton","_component_HintButton","_component_NextButton","_component_QuestionHint","goBack","showSolutions","goToNext","NextButton","QuestionHint","BackButton","keys","_component_b_tab","_component_b_tabs","colorClass","pills","initialEducationIndex","onActivateTab","onActiveEducationIndexChange","educationClasses","mainLicenseClass","activeEducationIndex","prevIndex","E","DESCRIPTORS","defineBuiltInAccessor","configurable","_component_ion_modal","_directive_video","onDidDismiss","didDismiss","onDidPresent","didPresent","toggleVideoPlaying","videoIsPaused","playsinline","autoplay","disablepictureinpicture","controlslist","onLoadedmetadata","poster","videoURL","posterUrl","posterURL","async","setVideoSrc","el","binding","vNode","baseURL","oldValue","isEqual","_binding$value","_binding$value2","videoPosterURL","videoPoster","setAttribute","video","Video","beforeMount","updated","Style","Animation","StatusBar","KeepAwake","KeepAwakeWeb","AndroidSystemUiFlags","__extends","extendStatics","b","setPrototypeOf","__proto__","p","hasOwnProperty","call","TypeError","__","create","_super","AndroidFullScreenOriginal","apply","isSupported","isImmersiveModeSupported","immersiveWidth","immersiveHeight","leanMode","showSystemUI","showUnderStatusBar","showUnderSystemUI","immersiveMode","setSystemUiVisibility","visibility","pluginName","plugin","pluginRef","repo","platforms","AndroidFullScreen","IonModal","mediaUrl","videoPlayer","fileSystem","hide","hideStatusBar","showStatusBar","keepAwake","allowSleep","openNavigationBar","hideNavigationBar","isNativeAndroid","Capacitor","warn","Fullscreen","additionalTile","studentRegistrations","registration","DrivingSchoolModule","findStudentRegistrations","_this$studentRegistra","innerHTML","textUnderMedia","titleElement","titleGesture","additionalTextElement","additionalTextGesture","updateParam","query","queryString","stringifyUrl","dir","Directory","Cache","readFile","folder","useQueryString","readDir","readdir","deleteDir","deleteFile","pathBuilder","extension","reduced","suffix","sfix","determinateMediaStartOrEnd","defaultOnFallback","_url$split","getSuffix","fileIsset","exception","mediaTypeByExtension","jpg","jpeg","png","mp4","extensionByMediaType","mediaType","webRs","isNativePlatform","reducedSizeThumbnailEndFileName","pathToExtension","reducedSizeThumbnailStartFileName","reducedSizeFileName","updateThumbnailParam","updateSrc","newSrc","reducedSize","base64","isThumbnail","fallbackExtension","explode","last","_directive_media","isLoading","styleClass","avatarUrl","noFetch","hasId","handleError","httpCache","onSuccess","avatarEl","logo","instructorPlaceholder","Media","Encoding","append","$delete","entries","v","k","entry","dindex","found","entriesLength","_component_vue_multiselect","opt","isArray","not","fun","includes","str","toLowerCase","filterOptions","search","customLabel","sort","stripGroups","$isLabel","flattenOptions","reduce","prev","curr","$groupLabel","concat","filterGroups","groupLabel","groups","group","groupOptions","flow","fns","f","multiselectMixin","isOpen","preferredOpenDirection","optimizedHeight","internalSearch","multiple","trackBy","clearOnSelect","hideSelected","allowEmpty","resetAfter","closeOnSelect","taggable","tagPlaceholder","tagPosition","max","optionsLimit","groupValues","groupSelect","blockKeys","preserveSearch","preselectFirst","preventAutofocus","internalValue","select","filteredOptions","normalizedSearch","filterAndFlat","isSelected","isExistingOption","isTag","unshift","element","flatAndStrip","getOptionLabel","optionKeys","valueKeys","$isDisabled","selectGroup","pointerDirty","deactivate","removeElement","selectedGroup","wholeGroupSelected","newValue","optionsToAdd","isOptionDisabled","splice","every","shouldClose","adjustPosition","pointer","focus","blur","getValue","activate","spaceAbove","getBoundingClientRect","top","spaceBelow","innerHeight","bottom","hasEnoughSpaceBelow","Math","min","pointerMixin","showPointer","optionHeight","pointerAdjust","wholeGroupDisabled","pointerReset","list","scrollTop","pointerPosition","visibleElements","pointerForward","pointerBackward","script","compatConfig","MODE","ATTR_ENUMERATED_COERCION","selectLabel","selectGroupLabel","selectedLabel","deselectLabel","deselectGroupLabel","showLabels","limit","limitText","showNoOptions","showNoResults","tabindex","singleValue","visibleValues","padding","display","hasSingleSelectedSlot","visibleSingleValue","isAbove","hasOptionGroup","onFocus","onBlur","onKeydown","onKeypress","addPointerElement","onKeyup","role","onMousedown","remove","textContent","spellcheck","inputStyle","updateSearch","removeLastElement","currentOptionLabel","contentStyle","optionHighlight","onMouseenter","pointerSet","selectLabelText","selectedLabelText","deselectLabelText","selectGroupLabelText","deselectGroupLabelText","groupHighlight","VueMultiselect","test","createBindingHelper","helper","createNamespacedHelper","namespacedHelper","proto","merge","bindTo","mapFn","makeDecorator","componentOptions","_a","mapObject","extractNamespace","res","obj","duration","callback","gestureName","pressTimer","longPressTriggered","gesture","createGesture","threshold","onStart","onEnd","clearTimeout","stopPropagation","preventDefault","enable","nativeFloor","floor","nativeRandom","random","baseRandom","lower","upper","_component_b_collapse","onShown","onShow","onHidden","questionHint","scrollToBottom","scroll","isPlatform","scrollIntoView","behavior","scrollToTop","onMounted","_props$question","ctx","fn","self","listener","evtArr","i","len","evts","liveEvents","TinyEmitter","lastIndex","rand","$TypeError","passed","className","makeBuiltIn","defineProperty","descriptor","getter","set","setter","goTo","videoLoading","videoLoadError","func"],"mappings":"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","file":"js/basic-dashboard.e0b82db5.js","sourcesContent":["/*jslint browser */\n\nimport {Capacitor, registerPlugin} from \"@capacitor/core\";\nimport {Filesystem} from \"@capacitor/filesystem\";\n\nconst BlobWriter = registerPlugin(\"BlobWriter\");\n\n// The built-in CapacitorHttp plugin can be configured to monkey patch the\n// global 'fetch' function, but that forces 'blob' over the bridge which is\n// what we're trying to avoid. We attempt to subvert the monkey patching.\n\nconst real_fetch = window.CapacitorWebFetch || window.fetch;\n\nfunction array_buffer_to_base64(buffer) {\n    return window.btoa(\n        Array.from(new Uint8Array(buffer)).map(function (byte) {\n            return String.fromCharCode(byte);\n        }).join(\"\")\n    );\n}\n\nfunction write_file_via_indexeddb({\n    path,\n    directory,\n    blob,\n    recursive\n}) {\n\n// Firstly, create the file entry in the database. This populates a bunch of\n// properties on the entry, such as mtime, ctime and type, and also gives the\n// Filesystem plugin a chance to initialize its database.\n\n    return Filesystem.writeFile({\n        directory,\n        path,\n        recursive,\n        data: \"\"\n    }).then(function () {\n\n// Now reach into IndexedDB and assign 'blob' to the file entry.\n\n        return new Promise(function (resolve, reject) {\n            function fail(event) {\n                reject(event.target.error);\n            }\n            const connection = window.indexedDB.open(\"Disc\");\n            connection.onerror = fail;\n            connection.onsuccess = function () {\n                const db = connection.result;\n                const transaction = db.transaction(\"FileStorage\", \"readwrite\");\n                transaction.onerror = fail;\n                const store = transaction.objectStore(\"FileStorage\");\n                const name = `/${directory}/${path.replace(/^\\//, \"\")}`;\n                const load = store.get(name);\n                load.onsuccess = function () {\n                    load.result.size = blob.size;\n                    load.result.content = blob;\n                    const put = store.put(load.result);\n                    put.onsuccess = function () {\n                        resolve(undefined);\n                    };\n                };\n            };\n        });\n    });\n}\n\nfunction write_file_via_bridge({\n    path,\n    directory,\n    blob,\n    recursive\n}) {\n\n// Firstly, create or truncate the file.\n\n    return Filesystem.writeFile({\n        directory,\n        path,\n        recursive,\n        data: \"\"\n    }).then(function consume_blob() {\n\n// Now write the file incrementally so that we do not exhaust our memory in\n// attempting to Base64 encode the entire Blob at once.\n\n        if (blob.size === 0) {\n            return Promise.resolve();\n        }\n\n// By choosing a chunk size which is a multiple of 3, we avoid a bug in\n// Filesystem.appendFile, only on the web platform, which corrupts files by\n// inserting Base64 padding characters within the file. See\n// https://github.com/ionic-team/capacitor-plugins/issues/649.\n\n        const chunk_size = 3 * 128 * 1024;\n        const chunk_blob = blob.slice(0, chunk_size);\n        blob = blob.slice(chunk_size);\n\n// Read the Blob as an ArrayBuffer, then append it to the file on disk.\n\n        return new Response(\n            chunk_blob\n        ).arrayBuffer(\n        ).then(function append_chunk_to_file(buffer) {\n            return Filesystem.appendFile({\n                directory,\n                path,\n                data: array_buffer_to_base64(buffer)\n            });\n        }).then(\n            consume_blob\n        );\n    });\n}\n\nfunction write_blob(options) {\n    const {\n        path,\n        directory,\n        blob,\n        fast_mode = false,\n        recursive,\n        on_fallback\n    } = options;\n    if (\n        !blob\n        || !Number.isSafeInteger(blob.size)\n        || typeof blob.type !== \"string\"\n    ) {\n        return Promise.reject(new Error(\"Not a Blob.\"));\n    }\n    if (Capacitor.getPlatform() === \"web\") {\n        return (\n            fast_mode\n            ? write_file_via_indexeddb(options)\n            : write_file_via_bridge(options)\n        );\n    }\n    return Promise.all([\n        BlobWriter.get_config(),\n        Filesystem.getUri({path, directory})\n    ]).then(function ([config, file_info]) {\n        const absolute_path = file_info.uri.replace(\"file://\", \"\");\n        return real_fetch(\n            config.base_url + absolute_path + (\n                recursive\n                ? \"?recursive=true\"\n                : \"\"\n            ),\n            {\n                headers: {authorization: config.auth_token},\n                method: \"put\",\n                body: blob\n            }\n        ).then(function (response) {\n            if (response.status !== 204) {\n                throw new Error(\"Bad HTTP status: \" + response.status);\n            }\n\n// Producing a file URI is deprecated. In the next major version, the returned\n// Promise should resolve to undefined.\n\n            return file_info.uri;\n        });\n    }).catch(function on_fail(error) {\n        if (on_fallback !== undefined) {\n            on_fallback(error);\n        }\n        return write_file_via_bridge(options);\n    });\n}\n\nexport default Object.freeze(write_blob);\n","import { createElementVNode as _createElementVNode, resolveDynamicComponent as _resolveDynamicComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6627a66a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"src\"]\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"font-size-14 drive-buzz-label\" }, \"drive.buzz\", -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return (_openBlock(), _createBlock(_resolveDynamicComponent(_ctx.component), {\n    to: _ctx.to,\n    class: \"d-flex flex-column justify-content-center align-items-center\"\n  }, {\n    default: _withCtx(() => [\n      _createElementVNode(\"img\", {\n        class: \"drivebuzz rounded-circle\",\n        src: require('@/assets/img/logo/drivebuzz.svg'),\n        alt: \"drive.buzz\",\n        height: \"44\",\n        width: \"44\"\n      }, null, 8, _hoisted_1),\n      _hoisted_2\n    ]),\n    _: 1\n  }, 8, [\"to\"]))\n}","\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n  name: \"DriveBuzzLogo\",\n  props: {\n    to: {\n      type: String,\n      default: () => \"/\",\n    },\n    component: {\n      type: String,\n      default: () => \"div\",\n    },\n  },\n});\n","import { render } from \"./DriveBuzzLogo.vue?vue&type=template&id=6627a66a&scoped=true&ts=true\"\nimport script from \"./DriveBuzzLogo.vue?vue&type=script&lang=ts\"\nexport * from \"./DriveBuzzLogo.vue?vue&type=script&lang=ts\"\n\nimport \"./DriveBuzzLogo.vue?vue&type=style&index=0&id=6627a66a&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6627a66a\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"guest-theory-block bg-curious-blue-500 radius-10 d-flex flex-column align-items-center justify-content-between\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"font-size-70 font-weight-semibold text-white\" }, \"THEORIE\", -1)\nconst _hoisted_3 = [\"src\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    _hoisted_2,\n    _createElementVNode(\"img\", {\n      src: require('@/assets/img/theory/theory_empty.svg'),\n      alt: \"\"\n    }, null, 8, _hoisted_3)\n  ]))\n}","\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n  name: \"GuestTheoryBlock\",\n  components: {},\n});\n","import { render } from \"./GuestTheoryBlock.vue?vue&type=template&id=6b4ee18a&ts=true\"\nimport script from \"./GuestTheoryBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./GuestTheoryBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./GuestTheoryBlock.vue?vue&type=style&index=0&id=6b4ee18a&lang=scss\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, withCtx as _withCtx } from \"vue\"\n\nconst _hoisted_1 = {\n  key: 1,\n  class: \"fas fa-chevrons-right mr-3 d-none d-xl-inline-block\"\n}\nconst _hoisted_2 = { class: \"font-weight-bold\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_b_spinner = _resolveComponent(\"b-spinner\")!\n  const _component_b_button = _resolveComponent(\"b-button\")!\n\n  return (_openBlock(), _createBlock(_component_b_button, {\n    class: \"btn-theory\",\n    disabled: _ctx.loading,\n    onClick: _ctx.onClick\n  }, {\n    default: _withCtx(() => [\n      (_ctx.loading)\n        ? (_openBlock(), _createBlock(_component_b_spinner, {\n            key: 0,\n            style: {\"width\":\"19px\",\"height\":\"19px\"}\n          }))\n        : (_openBlock(), _createElementBlock(\"i\", _hoisted_1)),\n      _createElementVNode(\"span\", _hoisted_2, _toDisplayString(_ctx.$t(\"general.button_next\")), 1)\n    ]),\n    _: 1\n  }, 8, [\"disabled\", \"onClick\"]))\n}","\nimport { defineComponent } from \"vue\";\nimport emitter from \"@/utils/EventBus\";\n\nexport default defineComponent({\n  name: \"NextButton\",\n  props: [\"loading\"],\n  setup() {\n    const onClick = () => {\n      emitter.$emit(\"question-hint-model\", false);\n    };\n\n    return {\n      onClick,\n    };\n  },\n});\n","import { render } from \"./NextButton.vue?vue&type=template&id=b2ce0b2a&ts=true\"\nimport script from \"./NextButton.vue?vue&type=script&lang=ts\"\nexport * from \"./NextButton.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","//@ts-ignore\nimport emitter from \"tiny-emitter/instance\";\n\nexport default {\n  //@ts-ignore\n  $on: (...args) => emitter.on(...args),\n  //@ts-ignore\n  $once: (...args) => emitter.once(...args),\n  //@ts-ignore\n  $off: (...args) => emitter.off(...args),\n  //@ts-ignore\n  $emit: (...args) => emitter.emit(...args),\n};\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"font-weight-bold\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_b_col = _resolveComponent(\"b-col\")!\n  const _component_StandardQuestionExplanation = _resolveComponent(\"StandardQuestionExplanation\")!\n  const _component_b_row = _resolveComponent(\"b-row\")!\n  const _component_VideoQuestion = _resolveComponent(\"VideoQuestion\")!\n  const _component_ImageQuestion = _resolveComponent(\"ImageQuestion\")!\n  const _component_BaseQuestion = _resolveComponent(\"BaseQuestion\")!\n\n  return (_openBlock(), _createElementBlock(_Fragment, null, [\n    _createVNode(_component_b_row, null, {\n      default: _withCtx(() => [\n        _createVNode(_component_b_col, { cols: \"10\" }, {\n          default: _withCtx(() => [\n            _createElementVNode(\"span\", _hoisted_1, _toDisplayString(_ctx.questionTitle), 1)\n          ]),\n          _: 1\n        }),\n        _createVNode(_component_b_col, {\n          cols: \"2\",\n          class: \"text-right\"\n        }, {\n          default: _withCtx(() => [\n            (_openBlock(), _createBlock(_component_StandardQuestionExplanation, {\n              question: _ctx.question,\n              key: _ctx.question.officialNumber\n            }, null, 8, [\"question\"]))\n          ]),\n          _: 1\n        })\n      ]),\n      _: 1\n    }),\n    _createVNode(_component_b_row, { class: \"h-100\" }, {\n      default: _withCtx(() => [\n        _createVNode(_component_b_col, { class: \"theory-question h-100\" }, {\n          default: _withCtx(() => [\n            (_ctx.question.withVideo)\n              ? (_openBlock(), _createBlock(_component_VideoQuestion, {\n                  key: 0,\n                  question: _ctx.question,\n                  onOnShowSolutionButton: _ctx.showSolutionButton,\n                  onOnAnswer: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onAnswer($event))),\n                  \"show-correct-answers\": _ctx.showCorrectAnswers\n                }, null, 8, [\"question\", \"onOnShowSolutionButton\", \"show-correct-answers\"]))\n              : (_ctx.question.withPicture)\n                ? (_openBlock(), _createBlock(_component_ImageQuestion, {\n                    key: 1,\n                    question: _ctx.question,\n                    onOnShowSolutionButton: _ctx.showSolutionButton,\n                    onOnAnswer: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onAnswer($event))),\n                    \"show-correct-answers\": _ctx.showCorrectAnswers\n                  }, null, 8, [\"question\", \"onOnShowSolutionButton\", \"show-correct-answers\"]))\n                : (_openBlock(), _createBlock(_component_BaseQuestion, {\n                    key: 2,\n                    question: _ctx.question,\n                    onOnShowSolutionButton: _ctx.showSolutionButton,\n                    onOnAnswer: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onAnswer($event))),\n                    \"show-correct-answers\": _ctx.showCorrectAnswers\n                  }, null, 8, [\"question\", \"onOnShowSolutionButton\", \"show-correct-answers\"]))\n          ]),\n          _: 1\n        })\n      ]),\n      _: 1\n    })\n  ], 64))\n}","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, withCtx as _withCtx, createVNode as _createVNode, createTextVNode as _createTextVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"video-question-wrapper h-100\" }\nconst _hoisted_2 = { class: \"d-flex flex-column align-items-center\" }\nconst _hoisted_3 = {\n  key: 0,\n  class: \"d-flex flex-column justify-content-center align-items-center align-content-center text-danger\"\n}\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-cloud-xmark font-size-34 mb-2\" }, null, -1)\nconst _hoisted_5 = {\n  key: 0,\n  class: \"font-size-16\"\n}\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = { class: \"font-size-20 mb-1 mb-xl-4\" }\nconst _hoisted_8 = { class: \"video-actions d-flex flex-xl-column justify-content-center align-items-center\" }\nconst _hoisted_9 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-play font-size-18 mr-3 d-none d-xl-inline-block\" }, null, -1)\nconst _hoisted_10 = { class: \"font-size-19 font-weight-bold\" }\nconst _hoisted_11 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-comments-question-check font-size-18 mr-3 d-none d-xl-inline-block\" }, null, -1)\nconst _hoisted_12 = { class: \"font-size-19 font-weight-bold\" }\nconst _hoisted_13 = { key: 1 }\nconst _hoisted_14 = { key: 0 }\nconst _hoisted_15 = {\n  key: 1,\n  class: \"d-flex\"\n}\nconst _hoisted_16 = { class: \"bg-white radius-10 px-4 pt-5 pb-4\" }\nconst _hoisted_17 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"font-size-16 mb-4\" }, [\n  /*#__PURE__*/_createElementVNode(\"div\", { class: \"font-weight-bold\" }, \"ACHTUNG!\"),\n  /*#__PURE__*/_createTextVNode(\" Wenn du zur Aufgabenstellung wechselst, kannst du den Film nicht noch einmal ansehen! \"),\n  /*#__PURE__*/_createElementVNode(\"div\", { class: \"font-weight-bold\" }, \"Willst du wirklich zur Aufgabenstellung wechseln?\")\n], -1)\nconst _hoisted_18 = { class: \"text-right\" }\nconst _hoisted_19 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-x font-color-monza-500 font-size-14\" }, null, -1)\nconst _hoisted_20 = [\n  _hoisted_19\n]\nconst _hoisted_21 = /*#__PURE__*/_createElementVNode(\"div\", {\n  class: \"d-flex justify-content-between align-items-center\",\n  style: {\"width\":\"90px\"}\n}, [\n  /*#__PURE__*/_createElementVNode(\"span\", { class: \"font-weight-bold\" }, \"OK\"),\n  /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-check font-color-apple-500 font-size-14\" })\n], -1)\nconst _hoisted_22 = [\n  _hoisted_21\n]\nconst _hoisted_23 = { class: \"d-flex justify-content-center\" }\nconst _hoisted_24 = { class: \"position-relative\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_FscImage = _resolveComponent(\"FscImage\")!\n  const _component_b_overlay = _resolveComponent(\"b-overlay\")!\n  const _component_b_col = _resolveComponent(\"b-col\")!\n  const _component_b_button = _resolveComponent(\"b-button\")!\n  const _component_TitleAndAdditionalText = _resolveComponent(\"TitleAndAdditionalText\")!\n  const _component_MultiChoice = _resolveComponent(\"MultiChoice\")!\n  const _component_FreeText = _resolveComponent(\"FreeText\")!\n  const _component_b_row = _resolveComponent(\"b-row\")!\n  const _component_VideoPlayer = _resolveComponent(\"VideoPlayer\")!\n  const _component_fsc_modal = _resolveComponent(\"fsc-modal\")!\n\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    _createVNode(_component_b_row, { class: \"h-100\" }, {\n      default: _withCtx(() => [\n        _createVNode(_component_b_col, {\n          md: \"4\",\n          class: \"media-question mt-1 mt-xl-5\"\n        }, {\n          default: _withCtx(() => [\n            _createElementVNode(\"div\", _hoisted_2, [\n              _createVNode(_component_b_overlay, {\n                show: _ctx.imgLoading,\n                rounded: \"sm\",\n                class: \"w-100 media-overlay\",\n                opacity: \"0.3\"\n              }, {\n                default: _withCtx(() => [\n                  (_ctx.imgLoadError)\n                    ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n                        _hoisted_4,\n                        _createElementVNode(\"div\", null, _toDisplayString(_ctx.$t(\"messages.image_loading_error\")), 1)\n                      ]))\n                    : (_openBlock(), _createBlock(_component_FscImage, {\n                        key: 1,\n                        src: _ctx.authThumbUrl,\n                        class: \"w-100 radius-9\",\n                        onLoad: _ctx.onImageLoaded,\n                        onError: _ctx.onImageLoadError,\n                        onLoading: _ctx.onImageLoading,\n                        question: _ctx.question,\n                        onClick: _ctx.showImage\n                      }, null, 8, [\"src\", \"onLoad\", \"onError\", \"onLoading\", \"question\", \"onClick\"]))\n                ]),\n                _: 1\n              }, 8, [\"show\"]),\n              (!_ctx.questionsVisible)\n                ? (_openBlock(), _createElementBlock(\"span\", _hoisted_5, _toDisplayString(_ctx.$t(\"sentences.you_can_see_movie_x_times\", { count: _ctx.countSeen })), 1))\n                : _createCommentVNode(\"\", true)\n            ])\n          ]),\n          _: 1\n        }),\n        _createVNode(_component_b_col, { class: \"d-flex flex-column\" }, {\n          default: _withCtx(() => [\n            (!_ctx.questionsVisible)\n              ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n                  _createElementVNode(\"div\", _hoisted_7, _toDisplayString(_ctx.$t(\"sentences.please_start_movie\")), 1),\n                  _createElementVNode(\"div\", _hoisted_8, [\n                    _createVNode(_component_b_button, {\n                      class: \"btn-theory w-100\",\n                      onClick: _ctx.showVideo,\n                      disabled: _ctx.countSeen <= 0 || _ctx.imgLoadError\n                    }, {\n                      default: _withCtx(() => [\n                        _hoisted_9,\n                        _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t(\"general.start_movie\")), 1)\n                      ]),\n                      _: 1\n                    }, 8, [\"onClick\", \"disabled\"]),\n                    (_ctx.countSeen < 5)\n                      ? (_openBlock(), _createBlock(_component_b_button, {\n                          key: 0,\n                          class: \"btn-theory w-100 mt-xl-2 ml-1 ml-xl-0\",\n                          onClick: _ctx.showStartQuestionWarningModal\n                        }, {\n                          default: _withCtx(() => [\n                            _hoisted_11,\n                            _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t(\"general.to_the_task\")), 1)\n                          ]),\n                          _: 1\n                        }, 8, [\"onClick\"]))\n                      : _createCommentVNode(\"\", true)\n                  ])\n                ]))\n              : (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n                  _createVNode(_component_TitleAndAdditionalText, { question: _ctx.question }, null, 8, [\"question\"]),\n                  (_ctx.question.questionType === 'MULTIPLE_CHOICE')\n                    ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n                        _createVNode(_component_MultiChoice, {\n                          question: _ctx.question,\n                          \"show-correct-answers\": _ctx.showCorrectAnswers,\n                          onOnShowSolutionButton: _ctx.showSolutionButton,\n                          onOnAnswer: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onAnswer($event)))\n                        }, null, 8, [\"question\", \"show-correct-answers\", \"onOnShowSolutionButton\"])\n                      ]))\n                    : _createCommentVNode(\"\", true),\n                  (_ctx.question.questionType === 'FREE_TEXT')\n                    ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n                        _createVNode(_component_FreeText, {\n                          question: _ctx.question,\n                          \"show-correct-answers\": _ctx.showCorrectAnswers,\n                          onOnShowSolutionButton: _ctx.showSolutionButton,\n                          onOnAnswer: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onAnswer($event)))\n                        }, null, 8, [\"question\", \"show-correct-answers\", \"onOnShowSolutionButton\"])\n                      ]))\n                    : _createCommentVNode(\"\", true)\n                ]))\n          ]),\n          _: 1\n        })\n      ]),\n      _: 1\n    }),\n    _createVNode(_component_VideoPlayer, {\n      ref: \"videoModal\",\n      question: _ctx.question,\n      \"media-url\": _ctx.authMediaUrl,\n      \"poster-url\": _ctx.authStartThumbUrl,\n      onLoad: _ctx.onVideoLoaded,\n      onError: _ctx.onVideoLoadError,\n      onEnded: _ctx.onVideoEnded,\n      onHide: _ctx.hideVideo\n    }, null, 8, [\"question\", \"media-url\", \"poster-url\", \"onLoad\", \"onError\", \"onEnded\", \"onHide\"]),\n    (_ctx.countSeen < 5)\n      ? (_openBlock(), _createBlock(_component_fsc_modal, {\n          key: 0,\n          id: \"startQuestionWarningModal-1\",\n          ref: \"startQuestionWarningModal\",\n          centered: \"\"\n        }, {\n          default: _withCtx(() => [\n            _createElementVNode(\"div\", _hoisted_16, [\n              _hoisted_17,\n              _createElementVNode(\"div\", _hoisted_18, [\n                _createElementVNode(\"button\", {\n                  class: \"modal-footer-button mr-2\",\n                  onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.hideStartQuestionWarningModal && _ctx.hideStartQuestionWarningModal(...args)))\n                }, _hoisted_20),\n                _createElementVNode(\"button\", {\n                  class: \"modal-footer-button font-size-14\",\n                  onClick: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.showQuestions && _ctx.showQuestions(...args)))\n                }, _hoisted_22)\n              ])\n            ])\n          ]),\n          _: 1\n        }, 512))\n      : _createCommentVNode(\"\", true),\n    _createVNode(_component_fsc_modal, {\n      ref: \"imageModal\",\n      centered: \"\",\n      size: \"xl\",\n      id: \"image-question\",\n      \"custom-class\": \"custom-modal-wrapper\"\n    }, {\n      default: _withCtx(() => [\n        _createElementVNode(\"div\", _hoisted_23, [\n          _createElementVNode(\"div\", _hoisted_24, [\n            _createVNode(_component_FscImage, {\n              class: \"pointer\",\n              src: _ctx.authThumbUrl,\n              style: {\"max-height\":\"100%\",\"max-width\":\"100%\"},\n              onClick: _ctx.hideImage,\n              question: _ctx.question,\n              rs: false,\n              thumbnail: false\n            }, null, 8, [\"src\", \"onClick\", \"question\"])\n          ])\n        ])\n      ]),\n      _: 1\n    }, 512)\n  ]))\n}","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createVNode as _createVNode, toDisplayString as _toDisplayString, vShow as _vShow, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = {\n  key: 0,\n  class: \"theory-question-checkbox big-checkbox mt-3 align-items-center\"\n}\nconst _hoisted_2 = { class: \"theory-question-checkbox-answered big-checkbox mt-3 align-items-center\" }\nconst _hoisted_3 = [\"title\", \"data-position\"]\nconst _hoisted_4 = { class: \"theory-question-checkbox big-checkbox mt-3 align-items-center\" }\nconst _hoisted_5 = [\"title\", \"data-position\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_FscAudioPlayer = _resolveComponent(\"FscAudioPlayer\")!\n  const _component_b_col = _resolveComponent(\"b-col\")!\n  const _component_b_form_checkbox = _resolveComponent(\"b-form-checkbox\")!\n\n  return (_openBlock(), _createElementBlock(\"div\", null, [\n    (_openBlock(), _createBlock(_component_FscAudioPlayer, {\n      ref: \"audioPlayer\",\n      question: _ctx.question,\n      options: _ctx.options,\n      key: _ctx.question.id\n    }, null, 8, [\"question\", \"options\"])),\n    (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.options, (option, index) => {\n      return (_openBlock(), _createElementBlock(\"div\", {\n        key: option.position,\n        class: \"d-flex flex-row\"\n      }, [\n        _createVNode(_component_b_col, {\n          md: \"1\",\n          cols: \"1\",\n          class: \"d-flex justify-content-end\"\n        }, {\n          default: _withCtx(() => [\n            (_ctx.showCorrectAnswers)\n              ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n                  _createElementVNode(\"i\", {\n                    class: \"fas fa-play text-black\",\n                    style: _normalizeStyle(_ctx.isAnswerIndexCorrectStyle(_ctx.answers[index].value))\n                  }, null, 4)\n                ]))\n              : _createCommentVNode(\"\", true)\n          ]),\n          _: 2\n        }, 1024),\n        _createVNode(_component_b_col, {\n          md: \"11\",\n          class: \"p-0 pl-1\"\n        }, {\n          default: _withCtx(() => [\n            _withDirectives(_createElementVNode(\"div\", _hoisted_2, [\n              _createVNode(_component_b_form_checkbox, {\n                modelValue: option.value,\n                \"onUpdate:modelValue\": ($event: any) => ((option.value) = $event),\n                disabled: _ctx.showCorrectAnswers\n              }, {\n                default: _withCtx(() => [\n                  _createElementVNode(\"div\", {\n                    ref_for: true,\n                    ref: \"optionGesture\",\n                    title: _ctx.$t('text_to_speech.press_and_hold_to_listen'),\n                    \"data-position\": option.position,\n                    class: \"checkbox-text\",\n                    style: {\"color\":\"white\",\"cursor\":\"help\"}\n                  }, _toDisplayString(option.text), 9, _hoisted_3)\n                ]),\n                _: 2\n              }, 1032, [\"modelValue\", \"onUpdate:modelValue\", \"disabled\"])\n            ], 512), [\n              [_vShow, _ctx.showCorrectAnswers]\n            ]),\n            _withDirectives(_createElementVNode(\"div\", _hoisted_4, [\n              _createVNode(_component_b_form_checkbox, {\n                modelValue: option.value,\n                \"onUpdate:modelValue\": ($event: any) => ((option.value) = $event),\n                disabled: _ctx.showCorrectAnswers,\n                onChange: ($event: any) => (_ctx.onAnswerChange($event, option.position))\n              }, {\n                default: _withCtx(() => [\n                  _createElementVNode(\"div\", {\n                    ref_for: true,\n                    ref: \"optionGesture\",\n                    title: _ctx.$t('text_to_speech.press_and_hold_to_listen'),\n                    \"data-position\": option.position,\n                    class: \"checkbox-text\",\n                    style: {\"color\":\"white\",\"cursor\":\"help\"}\n                  }, _toDisplayString(option.text), 9, _hoisted_5)\n                ]),\n                _: 2\n              }, 1032, [\"modelValue\", \"onUpdate:modelValue\", \"disabled\", \"onChange\"])\n            ], 512), [\n              [_vShow, !_ctx.showCorrectAnswers]\n            ])\n          ]),\n          _: 2\n        }, 1024)\n      ]))\n    }), 128))\n  ]))\n}","\nimport { Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport FscAudioPlayer from \"@/components/FscAudioPlayer.vue\";\nimport { setupLongPressGesture } from \"@/utils/gestureUtils\";\nimport shuffle from \"lodash/shuffle\";\n\n@Options({\n  components: {\n    FscAudioPlayer,\n  },\n})\nexport default class MultiChoice extends Vue {\n  private readonly LONG_PRESS_DURATION = 500;\n\n  @Prop()\n  public question!: any;\n\n  @Prop()\n  public showCorrectAnswers!: any;\n\n  private answers: Array<any> = [];\n  private options: Array<any> = [];\n\n  public mounted() {\n    const optionElements = this.$refs.optionGesture as HTMLElement[];\n\n    // Setup long press gestures for each of options\n    optionElements.forEach((option) => {\n      setupLongPressGesture(option, this.LONG_PRESS_DURATION, () => {\n        this.playAudio(`option${option.dataset.position}`);\n      });\n    });\n  }\n\n  private onAnswerChange(value: boolean, position: any): void {\n    const answer = this.answers.find((a: any) => a.position == position);\n    answer.correct = answer.value == value;\n    this.showSolutionButton();\n  }\n\n  private playAudio(key: string): void {\n    const audioPlayer = this.$refs.audioPlayer as any;\n    if (audioPlayer && audioPlayer.question.id) {\n      audioPlayer.playAudio(key);\n    }\n  }\n\n  public isAnswerCorrect(): boolean {\n    return this.answers.findIndex((a: any) => !a.correct) === -1;\n  }\n\n  public isAnswerIndexCorrectStyle(answer: any) {\n    if (answer) {\n      return `visibility: visible; margin-top: 0.6rem;`;\n    }\n    return `visibility: hidden; margin-top: 0.6rem;`;\n  }\n\n  private showSolutionButton(): void {\n    this.$emit(\"onShowSolutionButton\");\n  }\n\n  @Watch(\"showCorrectAnswers\", { immediate: true, deep: true })\n  public onShowCorrectAnswers(toggle: any): void {\n    if (true === toggle) {\n      this.$emit(\"onAnswer\", this.isAnswerCorrect());\n    }\n  }\n\n  @Watch(\"question\", { immediate: true, deep: false })\n  public onQuestionChange(question: any): void {\n    if (question) {\n      this.options = [...question.options];\n      this.options = shuffle(this.options);\n      this.options = this.options.map((option: any) => {\n        return {\n          ...option,\n          value: false,\n        };\n      });\n      this.answers = this.options.map((option: any) => {\n        const answerPositions = question.correctAnswer.split(\";\");\n        const value = answerPositions.indexOf(String(option.position)) > -1;\n        return {\n          position: option.position,\n          value: value,\n          correct: !value,\n        };\n      });\n    }\n  }\n}\n","import { render } from \"./MultiChoice.vue?vue&type=template&id=1b4d68a8&ts=true\"\nimport script from \"./MultiChoice.vue?vue&type=script&lang=ts\"\nexport * from \"./MultiChoice.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"theory-question-answer-free-text\" }\nconst _hoisted_2 = {\n  key: 0,\n  class: \"d-flex mt-3\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_b_form_input = _resolveComponent(\"b-form-input\")!\n\n  return (_openBlock(), _createElementBlock(\"div\", null, [\n    _createElementVNode(\"div\", _hoisted_1, [\n      (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.textSlices, (textSlice, index) => {\n        return (_openBlock(), _createElementBlock(\"div\", {\n          class: \"d-flex align-items-center\",\n          key: index\n        }, [\n          _createTextVNode(_toDisplayString(textSlice) + \" \", 1),\n          (_ctx.inputFields[index])\n            ? (_openBlock(), _createBlock(_component_b_form_input, {\n                key: 0,\n                class: \"mx-1 input-answer\",\n                modelValue: _ctx.inputFields[index].value,\n                \"onUpdate:modelValue\": ($event: any) => ((_ctx.inputFields[index].value) = $event),\n                modelModifiers: { trim: true },\n                onInput: ($event: any) => (_ctx.onAnswerChange($event, index)),\n                disabled: _ctx.showCorrectAnswers,\n                autocomplete: \"off\"\n              }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"onInput\", \"disabled\"]))\n            : _createCommentVNode(\"\", true)\n        ]))\n      }), 128))\n    ]),\n    (_ctx.showCorrectAnswers)\n      ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n          (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.textSlices, (textSlice, index) => {\n            return (_openBlock(), _createElementBlock(\"div\", {\n              class: \"d-flex align-items-center\",\n              key: index\n            }, [\n              _createTextVNode(_toDisplayString(textSlice) + \" \", 1),\n              (_ctx.answers[index])\n                ? (_openBlock(), _createBlock(_component_b_form_input, {\n                    key: 0,\n                    class: \"mx-1\",\n                    modelValue: _ctx.answers[index].value,\n                    \"onUpdate:modelValue\": ($event: any) => ((_ctx.answers[index].value) = $event),\n                    disabled: true,\n                    style: {\"width\":\"100px\"},\n                    state: _ctx.answers[index].correct,\n                    onInput: ($event: any) => (_ctx.onAnswerChange($event, index))\n                  }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"state\", \"onInput\"]))\n                : _createCommentVNode(\"\", true)\n            ]))\n          }), 128))\n        ]))\n      : _createCommentVNode(\"\", true)\n  ]))\n}","\nimport { Options, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport isNumeric from \"@/utils/isNumeric\";\n\n@Options({\n  components: {},\n})\nexport default class FreeText extends Vue {\n  @Prop()\n  public question!: any;\n  @Prop()\n  public showCorrectAnswers!: any;\n  private answers: Array<any> = [];\n  private textSlices: Array<string> = [];\n  private inputFields: Array<any> = [];\n\n  private onAnswerChange(value: string, position: any): void {\n    const val = value.trim();\n    const answer = this.answers.find((a: any) => a.position == position);\n\n    if (isNumeric(answer.value) && isNumeric(val)) {\n      answer.correct = parseFloat(answer.value.replace(\",\", \".\")) === parseFloat(val.replace(\",\", \".\"));\n    } else {\n      answer.correct = answer.value == val;\n    }\n    this.showSolutionButton();\n  }\n\n  // TODO code duplication\n  public isAnswerCorrect(): boolean {\n    return this.answers.findIndex((a: any) => !a.correct) === -1;\n  }\n\n  // TODO code duplication\n  private showSolutionButton(): void {\n    this.$emit(\"onShowSolutionButton\");\n  }\n\n  // TODO code duplication\n  @Watch(\"showCorrectAnswers\", { immediate: true, deep: true })\n  public onShowCorrectAnswers(toggle: any): void {\n    if (true === toggle) {\n      this.$emit(\"onAnswer\", this.isAnswerCorrect());\n    }\n  }\n\n  @Watch(\"question\", { immediate: true, deep: true })\n  public onQuestionChange(question: any): void {\n    if (question) {\n      const regex = /\\{[0-9]+\\}/g;\n      this.textSlices = question.questionPattern.split(regex);\n      this.inputFields = question.questionPattern.match(regex);\n      this.inputFields =\n        this.inputFields?.map((iField: any, index: number) => {\n          return { index: index, value: \"\" };\n        }) || [];\n      const answerPositions = question.correctAnswer.split(\";\");\n      this.answers = answerPositions.map((a: any, index: number) => {\n        return {\n          position: index,\n          value: a,\n          correct: false,\n        };\n      });\n    }\n  }\n}\n","import { render } from \"./FreeText.vue?vue&type=template&id=e1a3acae&ts=true\"\nimport script from \"./FreeText.vue?vue&type=script&lang=ts\"\nexport * from \"./FreeText.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport { Options, Watch } from \"vue-property-decorator\";\nimport TitleAndAdditionalText from \"@/components/Pages/Parts/TitleAndAdditionalText.vue\";\nimport MultiChoice from \"@/components/Pages/TheoryQuestions/Parts/MultiChoice.vue\";\nimport FreeText from \"@/components/Pages/TheoryQuestions/Parts/FreeText.vue\";\nimport QuestionMixin from \"@/mixins/TheoryQuestions/QuestionMixin\";\nimport MediaQuestionMixin from \"@/mixins/TheoryQuestions/MediaQuestionMixin\";\nimport { mixins } from \"vue-class-component\";\nimport ModalMixin from \"@/mixins/ModalMixin.ts\";\nimport ImageLoadingMixin from \"@/mixins/Media/ImageLoadingMixin\";\nimport VideoLoadingMixin from \"@/mixins/Media/VideoLoadingMixin\";\nimport VideoPlayer from \"@/components/VideoPlayer.vue\";\nimport FscImage from \"@/components/FscImage.vue\";\nimport { useBackButton } from \"@ionic/vue\";\nimport FscModal from \"@/components/FscModal.vue\";\n\n@Options({\n  components: { TitleAndAdditionalText, FscImage, VideoPlayer, FreeText, MultiChoice },\n})\nexport default class VideoQuestion extends mixins(QuestionMixin, MediaQuestionMixin, ModalMixin, ImageLoadingMixin, VideoLoadingMixin) {\n  private countSeen = 5;\n  private questionsVisible = false;\n  private authThumbUrl = \"\";\n\n  public videoModal = false;\n  public startQuestionWarningModal = false;\n\n  private showQuestions(): void {\n    this.hideStartQuestionWarningModal(null);\n    this.questionsVisible = true;\n  }\n\n  private showStartQuestionWarningModal(e: PointerEvent) {\n    this.showModal(e, \"startQuestionWarningModal\");\n  }\n\n  private hideStartQuestionWarningModal(e: any | null) {\n    this.hideModal(e, \"startQuestionWarningModal\");\n  }\n\n  private showVideo(e: PointerEvent) {\n    if (this.countSeen <= 0 || this.imgLoadError) {\n      return;\n    }\n    this.showModal(e, \"videoModal\");\n    this.countSeen--;\n  }\n\n  private hideVideo(e: any) {\n    this.hideModal(e, \"videoModal\");\n    this.authThumbUrl = this.authEndThumbUrl;\n  }\n\n  // TODO make onAnswer chain coherent!\n  private onAnswer(correct: boolean): void {\n    this.$emit(\"onAnswer\", {\n      correct: correct,\n      numberOfTimesVideoWasPlayed: 5 - this.countSeen,\n    });\n  }\n\n  @Watch(\"question\", { immediate: true, deep: true })\n  private onQuestionChange(question: Array<any>): void {\n    if (question) {\n      this.imgLoadError = false;\n      this.questionsVisible = false;\n      this.countSeen = 5;\n      this.authThumbUrl = this.authStartThumbUrl;\n    }\n  }\n\n  public created() {\n    useBackButton(1, (processNextHandler) => {\n      const startQuestionWarningModalRef = this.$refs[\"startQuestionWarningModal\"] as FscModal;\n      const videoModalRef = this.$refs[\"videoModal\"] as FscModal;\n\n      if (startQuestionWarningModalRef?.showModal || videoModalRef?.showModal) {\n        this.onVideoEnded();\n      } else {\n        processNextHandler();\n      }\n    });\n  }\n\n  private onVideoEnded(): void {\n    this.hideStartQuestionWarningModal(null);\n    this.hideVideo(null);\n  }\n\n  private showImage(e: PointerEvent) {\n    this.showModal(e, \"imageModal\");\n  }\n\n  private hideImage(e: PointerEvent) {\n    this.hideModal(e, \"imageModal\");\n  }\n}\n","import { render } from \"./VideoQuestion.vue?vue&type=template&id=72ec0e28&ts=true\"\nimport script from \"./VideoQuestion.vue?vue&type=script&lang=ts\"\nexport * from \"./VideoQuestion.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, withCtx as _withCtx, createVNode as _createVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"image-question-wrapper h-100\" }\nconst _hoisted_2 = {\n  key: 0,\n  class: \"d-flex flex-column justify-content-center align-items-center align-content-center text-danger\"\n}\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-cloud-xmark font-size-34 mb-2\" }, null, -1)\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = {\n  key: 1,\n  class: \"d-flex\"\n}\nconst _hoisted_6 = { class: \"d-flex justify-content-center\" }\nconst _hoisted_7 = { class: \"position-relative\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_FscImage = _resolveComponent(\"FscImage\")!\n  const _component_b_overlay = _resolveComponent(\"b-overlay\")!\n  const _component_b_col = _resolveComponent(\"b-col\")!\n  const _component_TitleAndAdditionalText = _resolveComponent(\"TitleAndAdditionalText\")!\n  const _component_MultiChoice = _resolveComponent(\"MultiChoice\")!\n  const _component_FreeText = _resolveComponent(\"FreeText\")!\n  const _component_b_row = _resolveComponent(\"b-row\")!\n  const _component_fsc_modal = _resolveComponent(\"fsc-modal\")!\n\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    _createVNode(_component_b_row, { class: \"h-100\" }, {\n      default: _withCtx(() => [\n        _createVNode(_component_b_col, {\n          xl: \"4\",\n          class: \"media-question d-flex flex-column align-items-center mt-1 mt-xl-5\"\n        }, {\n          default: _withCtx(() => [\n            _createVNode(_component_b_overlay, {\n              show: _ctx.imgLoading,\n              rounded: \"sm\",\n              class: \"w-100 media-overlay\",\n              opacity: \"0.3\"\n            }, {\n              default: _withCtx(() => [\n                (_ctx.imgLoadError)\n                  ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n                      _hoisted_3,\n                      _createElementVNode(\"div\", null, _toDisplayString(_ctx.$t(\"messages.image_loading_error\")), 1)\n                    ]))\n                  : (_openBlock(), _createBlock(_component_FscImage, {\n                      key: 1,\n                      src: _ctx.authStartThumbUrl,\n                      class: \"pointer w-100 radius-9\",\n                      onClick: _ctx.showImage,\n                      onLoad: _ctx.onImageLoaded,\n                      onError: _ctx.onImageLoadError,\n                      question: _ctx.question\n                    }, null, 8, [\"src\", \"onClick\", \"onLoad\", \"onError\", \"question\"]))\n              ]),\n              _: 1\n            }, 8, [\"show\"])\n          ]),\n          _: 1\n        }),\n        _createVNode(_component_b_col, { class: \"d-flex justify-content-center flex-column\" }, {\n          default: _withCtx(() => [\n            _createElementVNode(\"div\", null, [\n              _createVNode(_component_TitleAndAdditionalText, { question: _ctx.question }, null, 8, [\"question\"]),\n              (_ctx.question.questionType === 'MULTIPLE_CHOICE')\n                ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n                    _createVNode(_component_MultiChoice, {\n                      question: _ctx.question,\n                      \"show-correct-answers\": _ctx.showCorrectAnswers,\n                      onOnShowSolutionButton: _ctx.showSolutionButton,\n                      onOnAnswer: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onAnswer($event)))\n                    }, null, 8, [\"question\", \"show-correct-answers\", \"onOnShowSolutionButton\"])\n                  ]))\n                : _createCommentVNode(\"\", true),\n              (_ctx.question.questionType === 'FREE_TEXT')\n                ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n                    _createVNode(_component_FreeText, {\n                      question: _ctx.question,\n                      \"show-correct-answers\": _ctx.showCorrectAnswers,\n                      onOnShowSolutionButton: _ctx.showSolutionButton,\n                      onOnAnswer: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onAnswer($event)))\n                    }, null, 8, [\"question\", \"show-correct-answers\", \"onOnShowSolutionButton\"])\n                  ]))\n                : _createCommentVNode(\"\", true)\n            ])\n          ]),\n          _: 1\n        })\n      ]),\n      _: 1\n    }),\n    _createVNode(_component_fsc_modal, {\n      ref: \"imageModal\",\n      centered: \"\",\n      size: \"xl\",\n      \"custom-class\": \"custom-modal-wrapper\",\n      id: \"imageModal\"\n    }, {\n      default: _withCtx(() => [\n        _createElementVNode(\"div\", _hoisted_6, [\n          _createElementVNode(\"div\", _hoisted_7, [\n            _createVNode(_component_FscImage, {\n              src: _ctx.authStartThumbUrl,\n              style: {\"max-height\":\"100%\",\"max-width\":\"100%\"},\n              class: \"pointer\",\n              onClick: _ctx.hideImage,\n              question: _ctx.question,\n              rs: false,\n              thumbnail: false\n            }, null, 8, [\"src\", \"onClick\", \"question\"])\n          ])\n        ])\n      ]),\n      _: 1\n    }, 512)\n  ]))\n}","\nimport { Options, Watch } from \"vue-property-decorator\";\nimport TitleAndAdditionalText from \"@/components/Pages/Parts/TitleAndAdditionalText.vue\";\nimport MultiChoice from \"@/components/Pages/TheoryQuestions/Parts/MultiChoice.vue\";\nimport FreeText from \"@/components/Pages/TheoryQuestions/Parts/FreeText.vue\";\nimport QuestionMixin from \"@/mixins/TheoryQuestions/QuestionMixin\";\nimport MediaQuestionMixin from \"@/mixins/TheoryQuestions/MediaQuestionMixin\";\nimport ModalMixin from \"@/mixins/ModalMixin.ts\";\nimport { mixins } from \"vue-class-component\";\nimport ImageLoadingMixin from \"@/mixins/Media/ImageLoadingMixin\";\nimport FscImage from \"@/components/FscImage.vue\";\n\n@Options({\n  components: { TitleAndAdditionalText, FscImage, FreeText, MultiChoice },\n})\nexport default class ImageQuestion extends mixins(QuestionMixin, MediaQuestionMixin, ModalMixin, ImageLoadingMixin) {\n  protected countSeen = 0;\n  protected imageModal = false;\n\n  private onAnswer(correct: boolean): void {\n    this.$emit(\"onAnswer\", {\n      correct: correct,\n      numberOfTimesPictureWasEnlarged: this.countSeen,\n    });\n  }\n\n  private showImage(e: PointerEvent) {\n    this.countSeen++;\n    this.showModal(e, \"imageModal\");\n  }\n\n  private hideImage(e: PointerEvent) {\n    this.hideModal(e, \"imageModal\");\n  }\n\n  @Watch(\"question\", { immediate: true, deep: true })\n  private onQuestionChange(question: Array<any>): void {\n    if (question) {\n      this.imgLoadError = false;\n    }\n  }\n}\n","import { render } from \"./ImageQuestion.vue?vue&type=template&id=1ebaa502&ts=true\"\nimport script from \"./ImageQuestion.vue?vue&type=script&lang=ts\"\nexport * from \"./ImageQuestion.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, withCtx as _withCtx } from \"vue\"\n\nconst _hoisted_1 = { class: \"image-question-wrapper my-5\" }\nconst _hoisted_2 = {\n  key: 0,\n  class: \"d-flex\"\n}\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = {\n  key: 2,\n  class: \"d-flex\"\n}\nconst _hoisted_5 = { class: \"w-75 d-flex justify-content-center align-items-center\" }\nconst _hoisted_6 = [\"src\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_TitleAndAdditionalText = _resolveComponent(\"TitleAndAdditionalText\")!\n  const _component_MediaMultiChoice = _resolveComponent(\"MediaMultiChoice\")!\n  const _component_MultiChoice = _resolveComponent(\"MultiChoice\")!\n  const _component_FreeText = _resolveComponent(\"FreeText\")!\n  const _component_b_col = _resolveComponent(\"b-col\")!\n  const _component_b_row = _resolveComponent(\"b-row\")!\n  const _component_fsc_modal = _resolveComponent(\"fsc-modal\")!\n\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    _createVNode(_component_b_row, null, {\n      default: _withCtx(() => [\n        _createVNode(_component_b_col, { class: \"d-flex justify-content-center flex-column\" }, {\n          default: _withCtx(() => [\n            _createElementVNode(\"div\", null, [\n              _createVNode(_component_TitleAndAdditionalText, { question: _ctx.question }, null, 8, [\"question\"]),\n              (_ctx.question.questionType === 'MULTIPLE_CHOICE_WITH_MEDIA')\n                ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n                    _createVNode(_component_MediaMultiChoice, {\n                      question: _ctx.question,\n                      \"show-correct-answers\": _ctx.showCorrectAnswers,\n                      onShowImage: _ctx.showImage,\n                      onOnShowSolutionButton: _ctx.showSolutionButton,\n                      onOnAnswer: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onAnswer($event)))\n                    }, null, 8, [\"question\", \"show-correct-answers\", \"onShowImage\", \"onOnShowSolutionButton\"])\n                  ]))\n                : _createCommentVNode(\"\", true),\n              (_ctx.question.questionType === 'MULTIPLE_CHOICE')\n                ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n                    _createVNode(_component_MultiChoice, {\n                      question: _ctx.question,\n                      \"show-correct-answers\": _ctx.showCorrectAnswers,\n                      onOnShowSolutionButton: _ctx.showSolutionButton,\n                      onOnAnswer: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onAnswer($event)))\n                    }, null, 8, [\"question\", \"show-correct-answers\", \"onOnShowSolutionButton\"])\n                  ]))\n                : _createCommentVNode(\"\", true),\n              (_ctx.question.questionType === 'FREE_TEXT')\n                ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n                    _createVNode(_component_FreeText, {\n                      question: _ctx.question,\n                      \"show-correct-answers\": _ctx.showCorrectAnswers,\n                      onOnShowSolutionButton: _ctx.showSolutionButton,\n                      onOnAnswer: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onAnswer($event)))\n                    }, null, 8, [\"question\", \"show-correct-answers\", \"onOnShowSolutionButton\"])\n                  ]))\n                : _createCommentVNode(\"\", true)\n            ])\n          ]),\n          _: 1\n        })\n      ]),\n      _: 1\n    }),\n    _createVNode(_component_fsc_modal, {\n      ref: \"imageModal\",\n      centered: \"\",\n      size: \"xl\",\n      \"custom-class\": \"custom-modal-wrapper\",\n      id: \"imageModal\"\n    }, {\n      default: _withCtx(() => [\n        _createElementVNode(\"div\", {\n          onClick: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.hideImage && _ctx.hideImage(...args))),\n          class: \"d-flex justify-content-center\"\n        }, [\n          _createElementVNode(\"div\", _hoisted_5, [\n            _createElementVNode(\"img\", {\n              alt: \"\",\n              style: {\"height\":\"100%\"},\n              src: _ctx.currentImage\n            }, null, 8, _hoisted_6)\n          ])\n        ])\n      ]),\n      _: 1\n    }, 512)\n  ]))\n}","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeStyle as _normalizeStyle, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"big-checkbox mt-3 mx-1\" }\nconst _hoisted_2 = { class: \"theory-question-checkbox d-flex flex-column align-items-center\" }\nconst _hoisted_3 = [\"onClick\", \"src\"]\nconst _hoisted_4 = { class: \"mr-2 mt-2 d-flex flex-column align-items-center\" }\nconst _hoisted_5 = { style: {\"position\":\"relative\"} }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_b_form_checkbox = _resolveComponent(\"b-form-checkbox\")!\n\n  return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.options, (option, index) => {\n    return (_openBlock(), _createElementBlock(\"div\", {\n      key: option.position,\n      class: \"d-flex mx-md-3 m-auto w-auto\"\n    }, [\n      _createElementVNode(\"div\", _hoisted_1, [\n        _createElementVNode(\"div\", _hoisted_2, [\n          _createElementVNode(\"img\", {\n            class: \"pointer\",\n            onClick: ($event: any) => (_ctx.onClick(_ctx.getMediaUrl(_ctx.getOptionPosition(option, index), true))),\n            width: \"120px\",\n            src: _ctx.getMediaUrl(_ctx.getOptionPosition(option, index), false),\n            alt: \"\"\n          }, null, 8, _hoisted_3),\n          _createElementVNode(\"div\", _hoisted_4, [\n            _createElementVNode(\"div\", _hoisted_5, [\n              _createVNode(_component_b_form_checkbox, {\n                modelValue: option.value,\n                \"onUpdate:modelValue\": ($event: any) => ((option.value) = $event),\n                disabled: _ctx.showCorrectAnswers,\n                onChange: ($event: any) => (_ctx.onAnswerChange($event, option.position))\n              }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"disabled\", \"onChange\"]),\n              (_ctx.showCorrectAnswers)\n                ? (_openBlock(), _createElementBlock(\"i\", {\n                    key: 0,\n                    style: _normalizeStyle([{\"position\":\"absolute\",\"right\":\"24px\",\"top\":\"2px\"}, _ctx.isAnswerIndexCorrectStyle(_ctx.answers[index].value)]),\n                    class: \"fas fa-play text-black mr-2\"\n                  }, null, 4))\n                : _createCommentVNode(\"\", true)\n            ])\n          ])\n        ])\n      ])\n    ]))\n  }), 128))\n}","\nimport { defineComponent, ref, watch, computed } from \"vue\";\nimport shuffle from \"lodash/shuffle\";\n\nexport default defineComponent({\n  name: \"MediaMultiChoice\",\n  emits: [\"onShowSolutionButton\", \"showImage\", \"onAnswer\"],\n\n  props: {\n    question: {\n      type: Object,\n      required: true,\n    },\n    showCorrectAnswers: {\n      type: Boolean,\n      required: true,\n    },\n  },\n\n  setup(props, { emit }) {\n    const answers = ref<Array<any>>([]);\n    const options = ref<Array<any>>([]);\n\n    const getOptionPosition = (option: any, index: number) => {\n      return option.position ?? index + 1;\n    };\n\n    const getMediaUrl = (optionPosition: number, fullSize: boolean): string => {\n      const baseUrl = process.env.VUE_APP_BACKEND_BASE_URL;\n      const option = fullSize ? \"reducedSize=false\" : \"reducedSize=true&thumbnail=START\";\n      return `${baseUrl}/theory-questions/${props.question.id}/${optionPosition}/media/option?${option}`;\n    };\n\n    const onAnswerChange = (value: boolean, position: any) => {\n      const answer = answers.value.find((a: any) => a.position == position);\n      if (answer) {\n        answer.correct = answer.value == value;\n        showSolutionButton();\n      }\n    };\n\n    const isAnswerCorrect = computed(() => {\n      return answers.value.findIndex((a: any) => !a.correct) === -1;\n    });\n\n    const isAnswerIndexCorrectStyle = (answer: any) => {\n      return answer ? `visibility: visible; margin-top: 0.6rem;` : `visibility: hidden; margin-top: 0.6rem;`;\n    };\n\n    const showSolutionButton = () => {\n      emit(\"onShowSolutionButton\");\n    };\n\n    const onClick = (value: any) => {\n      emit(\"showImage\", value);\n    };\n\n    watch(\n      () => props.showCorrectAnswers,\n      (toggle) => {\n        if (toggle) {\n          emit(\"onAnswer\", isAnswerCorrect.value);\n        }\n      },\n      { immediate: true, deep: true }\n    );\n\n    watch(\n      () => props.question,\n      (question) => {\n        if (question) {\n          options.value = [...question.options];\n          options.value = shuffle(options.value);\n          options.value = options.value.map((option: any) => ({\n            ...option,\n            value: false,\n          }));\n\n          answers.value = options.value.map((option: any) => {\n            const answerPositions = question.correctAnswer.split(\";\");\n            const value = answerPositions.indexOf(String(option.position)) > -1;\n            return {\n              position: option.position,\n              value: value,\n              correct: !value,\n            };\n          });\n        }\n      },\n      { immediate: true, deep: false }\n    );\n\n    return {\n      answers,\n      options,\n      getOptionPosition,\n      getMediaUrl,\n      onAnswerChange,\n      isAnswerCorrect,\n      isAnswerIndexCorrectStyle,\n      showSolutionButton,\n      onClick,\n    };\n  },\n});\n","import { render } from \"./MediaMultiChoice.vue?vue&type=template&id=4c1aa0f3&ts=true\"\nimport script from \"./MediaMultiChoice.vue?vue&type=script&lang=ts\"\nexport * from \"./MediaMultiChoice.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport { Options } from \"vue-property-decorator\";\nimport TitleAndAdditionalText from \"@/components/Pages/Parts/TitleAndAdditionalText.vue\";\nimport MediaMultiChoice from \"@/components/Pages/TheoryQuestions/Parts/MediaMultiChoice.vue\";\nimport MultiChoice from \"@/components/Pages/TheoryQuestions/Parts/MultiChoice.vue\";\nimport FreeText from \"@/components/Pages/TheoryQuestions/Parts/FreeText.vue\";\nimport QuestionMixin from \"@/mixins/TheoryQuestions/QuestionMixin\";\nimport { mixins } from \"vue-class-component\";\nimport ModalMixin from \"@/mixins/ModalMixin\";\n\n@Options({\n  components: { TitleAndAdditionalText, FreeText, MultiChoice, MediaMultiChoice },\n})\nexport default class BaseQuestion extends mixins(QuestionMixin, ModalMixin) {\n  private currentImage = \"\";\n\n  private showImage(value: any, e: PointerEvent) {\n    console.log(value);\n    this.currentImage = value;\n    this.showModal(e, \"imageModal\");\n  }\n\n  private hideImage(e: PointerEvent) {\n    this.hideModal(e, \"imageModal\");\n  }\n\n  private onAnswer(correct: boolean): void {\n    this.$emit(\"onAnswer\", {\n      correct: correct,\n    });\n  }\n}\n","import { render } from \"./BaseQuestion.vue?vue&type=template&id=3fae127f&ts=true\"\nimport script from \"./BaseQuestion.vue?vue&type=script&lang=ts\"\nexport * from \"./BaseQuestion.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createElementVNode as _createElementVNode, vShow as _vShow, withDirectives as _withDirectives, createElementBlock as _createElementBlock } from \"vue\"\nimport _imports_0 from '@/assets/img/lms/fragentutor_standard_compressed.png'\nimport _imports_1 from '@/assets/img/lms/fragentutor_active_compressed.png'\n\n\nconst _hoisted_1 = { class: \"audio-control\" }\nconst _hoisted_2 = {\n  ref: \"playPlayingExplanationImage\",\n  class: \"pointer play-button\",\n  src: _imports_0,\n  alt: \"Play button\"\n}\nconst _hoisted_3 = {\n  ref: \"pausePlayingExplanationImage\",\n  class: \"pointer pause-button\",\n  src: _imports_1,\n  alt: \"Pause button\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_FscAudioPlayer = _resolveComponent(\"FscAudioPlayer\")!\n\n  return (_openBlock(), _createElementBlock(\"div\", null, [\n    _withDirectives(_createElementVNode(\"div\", null, [\n      (_openBlock(), _createBlock(_component_FscAudioPlayer, {\n        ref: \"audioPlayer\",\n        question: _ctx.question,\n        onAudioStart: _cache[0] || (_cache[0] = ($event: any) => (_ctx.setIsPlaying(true))),\n        onAudioResume: _cache[1] || (_cache[1] = ($event: any) => (_ctx.setIsPlaying(true))),\n        onAudioPause: _cache[2] || (_cache[2] = ($event: any) => (_ctx.setIsPlaying(false))),\n        onAudioEnded: _cache[3] || (_cache[3] = ($event: any) => (_ctx.setIsPlaying(false))),\n        key: _ctx.question.id\n      }, null, 8, [\"question\"])),\n      _createElementVNode(\"div\", _hoisted_1, [\n        _withDirectives(_createElementVNode(\"div\", {\n          onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.playAudio(this.EXPLANATION_AUDIO_KEY)))\n        }, [\n          _createElementVNode(\"img\", _hoisted_2, null, 512)\n        ], 512), [\n          [_vShow, !_ctx.isPlaying]\n        ]),\n        _withDirectives(_createElementVNode(\"div\", {\n          onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.pauseAudio && _ctx.pauseAudio(...args)))\n        }, [\n          _createElementVNode(\"img\", _hoisted_3, null, 512)\n        ], 512), [\n          [_vShow, _ctx.isPlaying]\n        ])\n      ])\n    ], 512), [\n      [_vShow, _ctx.explanationExists]\n    ])\n  ]))\n}","\nimport { Options } from \"vue-property-decorator\";\nimport { Vue } from \"vue-class-component\";\nimport FscAudioPlayer from \"@/components/FscAudioPlayer.vue\";\nimport { PropType } from \"vue\";\nimport { IQuestion } from \"@/interfaces/IQuestion\";\nimport { setupLongPressGesture } from \"@/utils/gestureUtils\";\n\n@Options({\n  components: { FscAudioPlayer },\n  props: {\n    question: {\n      type: Object as PropType<IQuestion>,\n      required: true,\n    },\n  },\n})\nexport default class StandardQuestionExplanation extends Vue {\n  private readonly LONG_PRESS_DURATION = 500;\n  private readonly EXPLANATION_AUDIO_KEY = \"explanation\";\n\n  public isPlaying = false;\n  public explanationExists = false;\n\n  public mounted(): void {\n    const audioPlayer = this.$refs.audioPlayer as any;\n    if (audioPlayer && audioPlayer.question.officialNumber) {\n      const explanationUrl = audioPlayer.audioUrls[\"explanation\"];\n      audioPlayer.fetchAudioBlobUrl(explanationUrl).then((url: any) => {\n        this.explanationExists = url !== \"\";\n        if (this.explanationExists) {\n          this.setupGestures();\n        }\n      });\n    }\n  }\n\n  public setIsPlaying(isPlaying: boolean): void {\n    this.isPlaying = isPlaying;\n  }\n\n  public playAudio(key: string): void {\n    const audioPlayer = this.$refs.audioPlayer as any;\n    if (audioPlayer) {\n      audioPlayer.playAudio(key);\n    }\n  }\n\n  public pauseAudio(): void {\n    const audioPlayer = this.$refs.audioPlayer as any;\n    if (audioPlayer && audioPlayer.pauseAudio) {\n      audioPlayer.pauseAudio();\n    }\n  }\n  private setupGestures(): void {\n    const pausePlayingExplanationImage = this.$refs.pausePlayingExplanationImage as HTMLElement;\n    if (pausePlayingExplanationImage) {\n      setupLongPressGesture(pausePlayingExplanationImage, this.LONG_PRESS_DURATION, () => {\n        const audioPlayer = this.$refs.audioPlayer as any;\n        if (audioPlayer) {\n          audioPlayer.stopCurrentAudio();\n          audioPlayer.playAudio(this.EXPLANATION_AUDIO_KEY);\n        }\n      });\n    }\n  }\n}\n","import { render } from \"./StandardQuestionExplanation.vue?vue&type=template&id=166b5a6f&ts=true\"\nimport script from \"./StandardQuestionExplanation.vue?vue&type=script&lang=ts\"\nexport * from \"./StandardQuestionExplanation.vue?vue&type=script&lang=ts\"\n\nimport \"./StandardQuestionExplanation.vue?vue&type=style&index=0&id=166b5a6f&lang=scss\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport { Options, Prop, Vue } from \"vue-property-decorator\";\nimport VideoQuestion from \"@/components/Pages/TheoryQuestions/Questions/VideoQuestion.vue\";\nimport ImageQuestion from \"@/components/Pages/TheoryQuestions/Questions/ImageQuestion.vue\";\nimport BaseQuestion from \"@/components/Pages/TheoryQuestions/Questions/BaseQuestion.vue\";\nimport { KNOWLEDGE_AREA_MAPPER } from \"@/maps/KnowledgeAreaMapper\";\nimport { toRaw } from \"vue\";\nimport isEmpty from \"lodash/isEmpty\";\nimport StandardQuestionExplanation from \"@/components/Pages/Parts/StandardQuestionExplanation.vue\";\n\n@Options({\n  components: { StandardQuestionExplanation, BaseQuestion, ImageQuestion, VideoQuestion },\n  emits: [\"onShowSolutionButton\", \"onAnswer\"],\n})\nexport default class Question extends Vue {\n  @Prop()\n  public question!: any;\n\n  @Prop()\n  public showCorrectAnswers!: any;\n\n  @Prop()\n  public studentEducation!: any;\n\n  private get knowledgeAreaMap(): Record<string, string> {\n    return KNOWLEDGE_AREA_MAPPER;\n  }\n\n  private showSolutionButton(): void {\n    this.$emit(\"onShowSolutionButton\");\n  }\n\n  private onAnswer(answerData: any): void {\n    this.$emit(\"onAnswer\", answerData);\n  }\n\n  public get questionTitle(): string {\n    const rawQuestion = toRaw(this.question);\n\n    if (isEmpty(rawQuestion)) {\n      return \"\";\n    }\n\n    return `${rawQuestion.officialNumber ? `${this.knowledgeAreaMap[rawQuestion.officialNumber.substr(0, 3)]} - ` : \"\"}  ${\n      rawQuestion.officialNumber\n    }  -  ${this.$tc(\"general.point\", 2)} : ${rawQuestion.points}`;\n  }\n}\n","import { render } from \"./Question.vue?vue&type=template&id=89ff4e32&ts=true\"\nimport script from \"./Question.vue?vue&type=script&lang=ts\"\nexport * from \"./Question.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./GuestTheoryBlock.vue?vue&type=style&index=0&id=6b4ee18a&lang=scss\"","\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return null\n}","\nimport { computed, defineComponent, PropType, ref } from \"vue\";\nimport axios from \"@/utils/axios\";\nimport CryptoJS from \"crypto-js\";\nimport type { IQuestion } from \"@/interfaces/IQuestion\";\nimport type { IOption } from \"@/interfaces/IOption\";\nimport { getAudioItem, removeAudioItem, setAudioItem } from \"@/utils/localForageUtil\";\nimport UserService from \"@/services/UserService\";\n\nconst FALLBACK_LANGUAGE = \"ger\";\nconst UNSUPPORTED_LANGUAGE = \"hrv\";\n\n// Shared global audio reference to prevent multiple playback at the same time\nconst globalAudioRef = ref<HTMLAudioElement | null>(null);\n// Track currently playing audio in order to prevent playing same audio\nconst currentAudioKey = ref<string | null>(null);\n\nconst user = computed(() => UserService.getUser());\n\nexport default defineComponent({\n  props: {\n    question: {\n      type: Object as PropType<IQuestion>,\n      required: true,\n    },\n    options: {\n      type: Array as PropType<IOption[]>,\n      required: false,\n      default: () => [],\n    },\n  },\n  computed: {\n    audioUrls(): Record<string, string> {\n      const urls: Record<string, string> = {\n        title: `/theory-questions/${this.question.id}/title-audio`,\n        additionalText: `/theory-questions/${this.question.id}/additional-text-audio`,\n        explanation: `/standard-question-explanation/${this.question.officialNumber}/audio`,\n      };\n\n      this.options?.forEach((option) => {\n        urls[`option${option.position}`] = `/theory-questions/${this.question.id}/option/${option.position}/audio`;\n      });\n\n      return urls;\n    },\n  },\n  methods: {\n    getUserIso639dash1Code(): string {\n      return user.value?.language?.iso639dash1Code ?? FALLBACK_LANGUAGE;\n    },\n\n    stopCurrentAudio(): void {\n      if (globalAudioRef.value) {\n        globalAudioRef.value.pause();\n        globalAudioRef.value.currentTime = 0;\n        this.$emit(\"audio-stop\", currentAudioKey.value);\n        globalAudioRef.value = null;\n        currentAudioKey.value = null;\n      }\n    },\n\n    pauseAudio(): void {\n      if (globalAudioRef.value) {\n        globalAudioRef.value.pause();\n        this.$emit(\"audio-pause\", currentAudioKey.value);\n      }\n    },\n\n    generateStorageKey(input: string): string {\n      return `TTS_${CryptoJS.MD5(input).toString()}_${this.getUserIso639dash1Code()}_audio`;\n    },\n\n    async fetchAudioBlobUrl(url: string): Promise<string> {\n      if (!user.value || this.getUserIso639dash1Code() === UNSUPPORTED_LANGUAGE) {\n        return \"\";\n      }\n\n      const storageKey = this.generateStorageKey(url);\n      const cachedBlob = await getAudioItem(storageKey);\n\n      if (cachedBlob) {\n        return URL.createObjectURL(cachedBlob);\n      }\n\n      try {\n        const response = await axios.get(url, { responseType: \"blob\" });\n        await setAudioItem(storageKey, response.data);\n        return URL.createObjectURL(response.data);\n      } catch (error) {\n        return \"\";\n      }\n    },\n\n    async playAudio(key: string) {\n      if (!user.value) {\n        this.$toasted.error(this.$t(\"text_to_speech.feature_not_available_for_guests\"));\n        return;\n      }\n\n      if (this.getUserIso639dash1Code() === UNSUPPORTED_LANGUAGE) {\n        this.$toasted.error(this.$t(\"text_to_speech.language_not_supported\"));\n        return;\n      }\n\n      const audioUrl = this.audioUrls[key];\n      if (!audioUrl) return;\n\n      // If the requested audio is already playing then do nothing\n      if (currentAudioKey.value === audioUrl && globalAudioRef.value && !globalAudioRef.value.paused) {\n        return;\n      }\n\n      // If the requested audio is paused then resume it\n      if (currentAudioKey.value === audioUrl && globalAudioRef.value && globalAudioRef.value.paused) {\n        try {\n          await globalAudioRef.value.play();\n          this.$emit(\"audio-resume\", key);\n          return;\n        } catch (error) {\n          console.error(\"Error resuming audio:\", error);\n          const storageKey = this.generateStorageKey(audioUrl);\n          await removeAudioItem(storageKey);\n        }\n      }\n\n      // Otherwise start playing from the beginning\n      const blobUrl = await this.fetchAudioBlobUrl(audioUrl);\n      if (!blobUrl) return;\n\n      this.stopCurrentAudio();\n\n      const audio = new Audio(blobUrl);\n      globalAudioRef.value = audio;\n      currentAudioKey.value = audioUrl;\n\n      this.$emit(\"audio-start\", key);\n\n      audio.addEventListener(\"ended\", () => {\n        this.$emit(\"audio-ended\", key);\n        globalAudioRef.value = null;\n        currentAudioKey.value = null;\n        URL.revokeObjectURL(audio.src);\n      });\n\n      audio.addEventListener(\"pause\", () => {\n        this.$emit(\"audio-pause\", key);\n      });\n\n      try {\n        await audio.play();\n        this.$emit(\"audio-playing\", key);\n      } catch (error) {\n        console.error(\"Error playing audio:\", error);\n        const storageKey = this.generateStorageKey(audioUrl);\n        await removeAudioItem(storageKey);\n      }\n    },\n  },\n});\n","import { render } from \"./FscAudioPlayer.vue?vue&type=template&id=87f4e77e&ts=true\"\nimport script from \"./FscAudioPlayer.vue?vue&type=script&lang=ts\"\nexport * from \"./FscAudioPlayer.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { Options, Prop, Vue } from \"vue-property-decorator\";\n\n@Options({})\nexport default class QuestionMixin extends Vue {\n  @Prop()\n  public question!: any;\n  @Prop()\n  public showCorrectAnswers!: any;\n\n  protected showSolutionButton(): void {\n    this.$emit(\"onShowSolutionButton\");\n  }\n\n  // TODO maybe separate it\n  // since showSolutionButton is for theory\n  // onAnswerGiven for practice\n  protected answerGiven(given: any): void {\n    this.$emit(\"onAnswerGiven\", given);\n  }\n}\n","export enum MediaTypeEnum {\n  png = \"image/png\",\n  jpeg = \"image/jpeg\",\n  mp4 = \"video/mp4\",\n\n  jpg = \"image/jpg\",\n}\n","import { registerPlugin } from '@capacitor/core';\nconst Filesystem = registerPlugin('Filesystem', {\n    web: () => import('./web').then(m => new m.FilesystemWeb()),\n});\nexport * from './definitions';\nexport { Filesystem };\n//# sourceMappingURL=index.js.map","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, renderSlot as _renderSlot, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withModifiers as _withModifiers, createTextVNode as _createTextVNode, createVNode as _createVNode, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, resolveDirective as _resolveDirective, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"i\", {\n  class: \"fat fa-circle-arrow-right\",\n  style: {\"cursor\":\"pointer\"}\n}, null, -1)\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"i\", {\n  class: \"fat fa-circle-arrow-right\",\n  style: {\"cursor\":\"pointer\"}\n}, null, -1)\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"i\", {\n  class: \"fat fa-circle-arrow-right\",\n  style: {\"cursor\":\"pointer\"}\n}, null, -1)\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"font-weight-bold\" }, \"Dein Ziel:\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_router_link = _resolveComponent(\"router-link\")!\n  const _component_EducationTabs = _resolveComponent(\"EducationTabs\")!\n  const _component_b_form_checkbox = _resolveComponent(\"b-form-checkbox\")!\n  const _component_b_col = _resolveComponent(\"b-col\")!\n  const _component_TheoryImgPositive = _resolveComponent(\"TheoryImgPositive\")!\n  const _component_TheoryImg = _resolveComponent(\"TheoryImg\")!\n  const _component_b_row = _resolveComponent(\"b-row\")!\n  const _component_b_overlay = _resolveComponent(\"b-overlay\")!\n  const _directive_clickable_mobile = _resolveDirective(\"clickable-mobile\")!\n\n  return _withDirectives((_openBlock(), _createBlock(_component_b_overlay, {\n    class: _normalizeClass([\"bg-curious-blue-500 radius-10 p-3 px-xl-5 py-xl-4 text-white fsc-block\", [_ctx.basicView ? 'basic-view-theory-block' : '']]),\n    show: _ctx.disabled,\n    opacity: 0.5\n  }, {\n    overlay: _withCtx(() => []),\n    default: _withCtx(() => [\n      _createVNode(_component_b_row, {\n        class: _normalizeClass([_ctx.basicView ? 'd-flex flex-nowrap align-items-center' : ''])\n      }, {\n        default: _withCtx(() => [\n          _createVNode(_component_b_col, _normalizeProps(_guardReactiveProps({ cols: _ctx.basicView ? 7 : null, md: 6 })), {\n            default: _withCtx(() => [\n              _createElementVNode(\"div\", {\n                class: _normalizeClass([\"d-flex align-items-center flex-sm-row mb-sm-0\", [_ctx.basicView ? 'mb-xl-3' : 'flex-column mb-3']])\n              }, [\n                _createElementVNode(\"span\", {\n                  class: _normalizeClass([\"text-uppercase font-weight-semibold font-size-rem-4 mr-3 title\", [_ctx.basicView ? 'basic-title' : '']])\n                }, _toDisplayString(_ctx.$t(\"sidebar.theory_lessons\")), 3),\n                _createElementVNode(\"div\", {\n                  onClick: _cache[0] || (_cache[0] = _withModifiers(() => {}, [\"stop\"])),\n                  class: \"d-inline-flex\"\n                }, [\n                  _renderSlot(_ctx.$slots, \"link\", {\n                    studentEducationParam: _ctx.studentEducationParam,\n                    isTheoryQuestionLink: _ctx.isTheoryQuestionLink\n                  }, () => [\n                    (_ctx.isTheoryQuestionLink && _ctx.studentEducationParam && _ctx.stats.remaining > 0)\n                      ? (_openBlock(), _createBlock(_component_router_link, {\n                          key: 0,\n                          to: {\n                  name: 'TheoryQuestions',\n                  params: {\n                    studentEducation: _ctx.studentEducationParam,\n                  },\n                },\n                          \"router-direction\": \"forward\",\n                          class: \"d-inline-flex\"\n                        }, {\n                          default: _withCtx(() => [\n                            _hoisted_1\n                          ]),\n                          _: 1\n                        }, 8, [\"to\"]))\n                      : _createCommentVNode(\"\", true),\n                    (!_ctx.isTheoryQuestionLink)\n                      ? (_openBlock(), _createBlock(_component_router_link, {\n                          key: 1,\n                          to: \"theory\",\n                          class: \"d-inline-flex\"\n                        }, {\n                          default: _withCtx(() => [\n                            _hoisted_2\n                          ]),\n                          _: 1\n                        }))\n                      : _createCommentVNode(\"\", true),\n                    (_ctx.isTheoryQuestionLink && _ctx.stats.remaining === 0)\n                      ? (_openBlock(), _createBlock(_component_router_link, {\n                          key: 2,\n                          onClick: _ctx.toastMessage,\n                          to: \"theory\",\n                          class: \"d-inline-flex\"\n                        }, {\n                          default: _withCtx(() => [\n                            _hoisted_3\n                          ]),\n                          _: 1\n                        }, 8, [\"onClick\"]))\n                      : _createCommentVNode(\"\", true)\n                  ])\n                ])\n              ], 2),\n              _createElementVNode(\"div\", {\n                class: _normalizeClass([_ctx.basicView ? 'd-none d-xl-block' : ''])\n              }, [\n                _hoisted_4,\n                _createTextVNode(\" Möglichst schnell auf „0“ mit den Fragen links und in der Mitte… also los! \")\n              ], 2),\n              _createElementVNode(\"div\", {\n                class: _normalizeClass([\"font-weight-bold mt-4\", [_ctx.basicView ? 'd-none d-xl-block' : '']])\n              }, \"Wähle die gewünschte Klasse und den Lernmodus:\", 2),\n              _createElementVNode(\"div\", {\n                class: _normalizeClass([\"my-2\", [_ctx.basicView ? 'd-none d-xl-block' : '']])\n              }, [\n                _createVNode(_component_EducationTabs, {\n                  \"education-classes\": _ctx.filteredEducations,\n                  \"initial-education-index\": _ctx.selectedEducationIndex,\n                  disabled: _ctx.disabled,\n                  onEducationClassChanged: _ctx.onEducationClassChanged\n                }, null, 8, [\"education-classes\", \"initial-education-index\", \"disabled\", \"onEducationClassChanged\"])\n              ], 2),\n              _createElementVNode(\"div\", {\n                class: _normalizeClass([_ctx.basicView ? 'd-none d-xl-flex' : 'd-flex'])\n              }, [\n                _createElementVNode(\"span\", {\n                  class: _normalizeClass(!_ctx.learningModeSwitchState ? 'font-weight-bold' : '')\n                }, \" Quick & Dirty \", 2),\n                _createElementVNode(\"div\", {\n                  class: \"d-inline-block\",\n                  onClick: _cache[2] || (_cache[2] = _withModifiers(() => {}, [\"stop\"]))\n                }, [\n                  _createVNode(_component_b_form_checkbox, {\n                    switch: true,\n                    size: \"lg\",\n                    modelValue: _ctx.learningModeSwitchState,\n                    \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.learningModeSwitchState) = $event)),\n                    disabled: _ctx.disabled,\n                    onChange: _ctx.onChangeLearningMode\n                  }, null, 8, [\"modelValue\", \"disabled\", \"onChange\"])\n                ]),\n                _createElementVNode(\"span\", {\n                  class: _normalizeClass(_ctx.learningModeSwitchState ? 'font-weight-bold' : '')\n                }, \" Double check \", 2)\n              ], 2)\n            ]),\n            _: 3\n          }, 16),\n          _createVNode(_component_b_col, _normalizeProps(_guardReactiveProps({ cols: _ctx.basicView ? 5 : null, md: 6 })), {\n            default: _withCtx(() => [\n              _createElementVNode(\"div\", {\n                class: _normalizeClass([\"d-flex flex-column justify-content-end h-100\", [_ctx.basicView ? 'align-items-end' : '']])\n              }, [\n                _createVNode(_component_TheoryImgPositive, {\n                  basicView: _ctx.basicView,\n                  style: {\"width\":\"112px\",\"height\":\"62px\"},\n                  class: _normalizeClass([_ctx.basicView ? 'd-xl-none' : 'd-none'])\n                }, null, 8, [\"basicView\", \"class\"]),\n                _createVNode(_component_TheoryImg, {\n                  onClick: _cache[3] || (_cache[3] = _withModifiers(() => {}, [\"stop\"])),\n                  class: _normalizeClass([[_ctx.basicView ? 'd-none d-xl-block' : ''], \"w-100\"]),\n                  \"student-education\": _ctx.selectedEducation,\n                  stats: _ctx.stats,\n                  loading: _ctx.statsLoading,\n                  \"learning-mode\": _ctx.learningMode\n                }, null, 8, [\"class\", \"student-education\", \"stats\", \"loading\", \"learning-mode\"])\n              ], 2)\n            ]),\n            _: 1\n          }, 16)\n        ]),\n        _: 3\n      }, 8, [\"class\"])\n    ]),\n    _: 3\n  }, 8, [\"show\", \"class\"])), [\n    [_directive_clickable_mobile, { force: true, onMobileClick: _ctx.onClickCard }]\n  ])\n}","import { Options, Vue, Watch } from \"vue-property-decorator\";\nimport { namespace } from \"s-vuex-class\";\n\nconst StudentEducationModule = namespace(\"student-education\");\n@Options({})\nexport default class StudentTheoryEducationMixin extends Vue {\n  @StudentEducationModule.Action(\"selectTheoryStudentEducation\")\n  public selectTheoryStudentEducation: any;\n\n  @StudentEducationModule.Action(\"setLearningMode\")\n  public setLearningModeAction: any;\n\n  @StudentEducationModule.Getter(\"getSelectedTheoryStudentEducation\")\n  public selectedEducation: any;\n\n  @StudentEducationModule.Getter(\"getLearningMode\")\n  public learningMode: any;\n\n  protected selectedEducationIndex = 0;\n\n  @Watch(\"studentEducations\", { immediate: true, deep: true })\n  protected onStudentEducationsChange(studentEducations: Array<any>): void {\n    if (studentEducations && studentEducations.length) {\n      if (!this.selectedEducation || !this.selectedEducation.id) {\n        this.selectEducation(studentEducations[0]);\n        this.selectedEducationIndex = 0;\n      } else {\n        const index = studentEducations.findIndex((se: any) => se.id == this.selectedEducation.id);\n        this.selectedEducationIndex = index > -1 ? index : 0;\n      }\n    }\n  }\n\n  protected selectEducation(education: any): void {\n    this.selectTheoryStudentEducation(education);\n  }\n}\n","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_theory_img_positive = _resolveComponent(\"theory-img-positive\")!\n  const _component_theory_img_neutral = _resolveComponent(\"theory-img-neutral\")!\n  const _component_theory_img_negative = _resolveComponent(\"theory-img-negative\")!\n\n  return (_openBlock(), _createElementBlock(\"div\", null, [\n    (_ctx.stats && _ctx.stats.correctlyAnswered > _ctx.stats.incorrectlyAnswered)\n      ? (_openBlock(), _createBlock(_component_theory_img_positive, {\n          key: 0,\n          class: \"w-100\",\n          \"student-education\": _ctx.selectedEducation,\n          stats: _ctx.stats,\n          loading: _ctx.loading,\n          \"learning-mode\": _ctx.learningMode\n        }, null, 8, [\"student-education\", \"stats\", \"loading\", \"learning-mode\"]))\n      : _createCommentVNode(\"\", true),\n    (_ctx.stats && _ctx.stats.correctlyAnswered == _ctx.stats.incorrectlyAnswered)\n      ? (_openBlock(), _createBlock(_component_theory_img_neutral, {\n          key: 1,\n          class: \"w-100\",\n          \"student-education\": _ctx.selectedEducation,\n          stats: _ctx.stats,\n          loading: _ctx.loading,\n          \"learning-mode\": _ctx.learningMode\n        }, null, 8, [\"student-education\", \"stats\", \"loading\", \"learning-mode\"]))\n      : _createCommentVNode(\"\", true),\n    (_ctx.stats && _ctx.stats.correctlyAnswered < _ctx.stats.incorrectlyAnswered)\n      ? (_openBlock(), _createBlock(_component_theory_img_negative, {\n          key: 2,\n          class: \"w-100\",\n          \"student-education\": _ctx.selectedEducation,\n          stats: _ctx.stats,\n          loading: _ctx.loading,\n          \"learning-mode\": _ctx.learningMode\n        }, null, 8, [\"student-education\", \"stats\", \"loading\", \"learning-mode\"]))\n      : _createCommentVNode(\"\", true)\n  ]))\n}","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  \"xmlns:xlink\": \"http://www.w3.org/1999/xlink\",\n  width: \"547.457\",\n  height: \"297.431\",\n  viewBox: \"0 0 547.457 297.431\"\n}\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"<defs><radialGradient id=\\\"a\\\"><stop offset=\\\"0\\\" stop-color=\\\"#8c8b8b\\\"></stop><stop offset=\\\"0.268\\\" stop-color=\\\"#adacac\\\" stop-opacity=\\\"0.71\\\"></stop><stop offset=\\\"0.767\\\" stop-color=\\\"#e7e7e7\\\" stop-opacity=\\\"0.2\\\"></stop><stop offset=\\\"1\\\" stop-color=\\\"#fff\\\" stop-opacity=\\\"0\\\"></stop></radialGradient></defs><path d=\\\"M353.75,411.489a5.6,5.6,0,0,0,5.6-5.6l0-1.772a5.6,5.6,0,0,0-5.6-5.609l-90.215,0a5.6,5.6,0,0,0-5.6,5.607v1.774a5.6,5.6,0,0,0,5.605,5.6Z\\\" transform=\\\"translate(-8.064 -126.979)\\\" fill=\\\"#074764\\\"></path><ellipse cx=\\\"109.907\\\" cy=\\\"19.412\\\" rx=\\\"109.907\\\" ry=\\\"19.412\\\" transform=\\\"translate(192.703 258.607)\\\" fill=\\\"url(#a)\\\" style=\\\"mix-blend-mode:multiply;isolation:isolate;\\\"></ellipse>\", 3)\nconst _hoisted_5 = { transform: \"translate(-867.738 -244.568)\" }\nconst _hoisted_6 = {\n  transform: \"matrix(0.995, 0.105, -0.105, 0.995, 1285.998, 366.08)\",\n  fill: \"#169fdb\",\n  stroke: \"#fff\",\n  \"stroke-width\": \"2\"\n}\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  width: \"85.446\",\n  height: \"85.446\",\n  rx: \"10\",\n  stroke: \"none\"\n}, null, -1)\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  x: \"1\",\n  y: \"1\",\n  width: \"83.446\",\n  height: \"83.446\",\n  rx: \"9\",\n  fill: \"none\"\n}, null, -1)\nconst _hoisted_9 = { transform: \"matrix(0.995, 0.105, -0.105, 0.995, 1280.141, 380.93)\" }\nconst _hoisted_10 = {\n  transform: \"translate(45.507 33)\",\n  fill: \"#fff\",\n  \"font-size\": \"32\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"900\"\n}\nconst _hoisted_11 = {\n  key: 0,\n  x: \"-5\",\n  y: \"0\",\n  \"font-size\": \"12\"\n}\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"animate\", {\n  attributeName: \"opacity\",\n  values: \"0;1;0\",\n  dur: \"1s\",\n  repeatCount: \"indefinite\"\n}, null, -1)\nconst _hoisted_13 = [\"x\"]\nconst _hoisted_14 = {\n  key: 0,\n  transform: \"translate(0 41.869)\",\n  fill: \"#fff\",\n  \"font-size\": \"12\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"700\"\n}\nconst _hoisted_15 = /*#__PURE__*/_createElementVNode(\"tspan\", {\n  x: \"9\",\n  y: \"12\"\n}, \"PRÜFUNGSREIF\", -1)\nconst _hoisted_16 = [\n  _hoisted_15\n]\nconst _hoisted_17 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  width: \"85.446\",\n  height: \"85.446\",\n  rx: \"10\",\n  transform: \"translate(0 0)\",\n  fill: \"#fff\"\n}, null, -1)\nconst _hoisted_18 = {\n  transform: \"translate(17.089 48.38)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"32\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"900\"\n}\nconst _hoisted_19 = {\n  key: 0,\n  x: \"20\",\n  y: \"0\",\n  \"font-size\": \"12\"\n}\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"animate\", {\n  attributeName: \"opacity\",\n  values: \"0;1;0\",\n  dur: \"1s\",\n  repeatCount: \"indefinite\"\n}, null, -1)\nconst _hoisted_21 = [\"x\"]\nconst _hoisted_22 = /*#__PURE__*/_createElementVNode(\"text\", {\n  transform: \"translate(10.254 55.049)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"12\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"700\"\n}, [\n  /*#__PURE__*/_createElementVNode(\"tspan\", {\n    x: \"8\",\n    y: \"12\"\n  }, \"1X RICHTIG\")\n], -1)\nconst _hoisted_23 = {\n  transform: \"translate(0 0)\",\n  fill: \"#ccc\",\n  stroke: \"#fff\",\n  \"stroke-width\": \"2\"\n}\nconst _hoisted_24 = [\"fill\"]\nconst _hoisted_25 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  x: \"1\",\n  y: \"1\",\n  width: \"83.446\",\n  height: \"83.446\",\n  rx: \"9\",\n  fill: \"none\"\n}, null, -1)\nconst _hoisted_26 = {\n  transform: \"translate(17.089 48.38)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"32\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"900\"\n}\nconst _hoisted_27 = {\n  key: 0,\n  x: \"20\",\n  y: \"0\",\n  \"font-size\": \"12\"\n}\nconst _hoisted_28 = /*#__PURE__*/_createElementVNode(\"animate\", {\n  attributeName: \"opacity\",\n  values: \"0;1;0\",\n  dur: \"1s\",\n  repeatCount: \"indefinite\"\n}, null, -1)\nconst _hoisted_29 = [\"x\"]\nconst _hoisted_30 = {\n  key: 0,\n  transform: \"translate(10.254 55.049)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"12\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"700\"\n}\nconst _hoisted_31 = /*#__PURE__*/_createElementVNode(\"tspan\", {\n  x: \"4\",\n  y: \"12\"\n}, \"NOCH OFFEN\", -1)\nconst _hoisted_32 = [\n  _hoisted_31\n]\nconst _hoisted_33 = /*#__PURE__*/_createElementVNode(\"g\", {\n  transform: \"translate(0 0)\",\n  fill: \"#ccc\",\n  stroke: \"#fff\",\n  \"stroke-width\": \"2\"\n}, [\n  /*#__PURE__*/_createElementVNode(\"rect\", {\n    width: \"85.446\",\n    height: \"85.446\",\n    rx: \"10\",\n    stroke: \"none\"\n  }),\n  /*#__PURE__*/_createElementVNode(\"rect\", {\n    x: \"1\",\n    y: \"1\",\n    width: \"83.446\",\n    height: \"83.446\",\n    rx: \"9\",\n    fill: \"none\"\n  })\n], -1)\nconst _hoisted_34 = { transform: \"translate(10.254 15.38)\" }\nconst _hoisted_35 = { transform: \"translate(0 0)\" }\nconst _hoisted_36 = {\n  transform: \"translate(6.836 33)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"32\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"900\"\n}\nconst _hoisted_37 = {\n  key: 0,\n  x: \"20\",\n  y: \"0\",\n  \"font-size\": \"12\"\n}\nconst _hoisted_38 = /*#__PURE__*/_createElementVNode(\"animate\", {\n  attributeName: \"opacity\",\n  values: \"0;1;0\",\n  dur: \"1s\",\n  repeatCount: \"indefinite\"\n}, null, -1)\nconst _hoisted_39 = [\"x\"]\nconst _hoisted_40 = {\n  key: 0,\n  transform: \"translate(0 39.669)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"12\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"700\"\n}\nconst _hoisted_41 = /*#__PURE__*/_createElementVNode(\"tspan\", {\n  x: \"1\",\n  y: \"12\"\n}, \"NOCH OFFEN\", -1)\nconst _hoisted_42 = [\n  _hoisted_41\n]\nconst _hoisted_43 = {\n  transform: \"translate(0 0)\",\n  fill: \"#dc0c23\",\n  stroke: \"#fff\",\n  \"stroke-width\": \"2\"\n}\nconst _hoisted_44 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  width: \"85.446\",\n  height: \"85.446\",\n  rx: \"10\",\n  stroke: \"none\"\n}, null, -1)\nconst _hoisted_45 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  x: \"1\",\n  y: \"1\",\n  width: \"83.446\",\n  height: \"83.446\",\n  rx: \"9\",\n  fill: \"none\"\n}, null, -1)\nconst _hoisted_46 = {\n  transform: \"translate(41.779 48.38)\",\n  fill: \"#fff\",\n  \"font-size\": \"32\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"900\"\n}\nconst _hoisted_47 = {\n  key: 0,\n  x: \"0\",\n  y: \"0\",\n  \"font-size\": \"12\"\n}\nconst _hoisted_48 = /*#__PURE__*/_createElementVNode(\"animate\", {\n  attributeName: \"opacity\",\n  values: \"0;1;0\",\n  dur: \"1s\",\n  repeatCount: \"indefinite\"\n}, null, -1)\nconst _hoisted_49 = [\"x\"]\nconst _hoisted_50 = {\n  key: 0,\n  transform: \"translate(10.254 55.049)\",\n  fill: \"#fff\",\n  \"font-size\": \"12\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"700\"\n}\nconst _hoisted_51 = /*#__PURE__*/_createElementVNode(\"tspan\", {\n  x: \"12\",\n  y: \"12\"\n}, \"FALSCH\", -1)\nconst _hoisted_52 = [\n  _hoisted_51\n]\nconst _hoisted_53 = /*#__PURE__*/_createElementVNode(\"path\", {\n  d: \"M483.307,21.616c6-.564,10.3-5.209,9.636-10.348l-.391-2.938c-.658-5.144-6.066-8.84-12.07-8.271L9.707,45.223c-5.993.566-10.313,5.2-9.638,10.349l.389,2.943c.658,5.137,6.069,8.838,12.07,8.263Z\",\n  transform: \"translate(931.242 373.861) rotate(11)\",\n  fill: \"#fcfcfc\"\n}, null, -1)\nconst _hoisted_54 = /*#__PURE__*/_createElementVNode(\"path\", {\n  d: \"M264.444,386.329l6.7-64.391c0-10.559,11.387-21.647,25.417-21.627l8.048-.006c14.053-.007,25.446,11.083,25.416,21.62l6.72,64.4Z\",\n  transform: \"translate(867 134.402)\",\n  fill: \"#137faf\"\n}, null, -1)\nconst _hoisted_55 = /*#__PURE__*/_createElementVNode(\"path\", {\n  d: \"M284.473,347.915a15.439,15.439,0,1,0,15.439-15.438A15.44,15.44,0,0,0,284.473,347.915Z\",\n  transform: \"translate(-0.055 -130.203)\",\n  fill: \"#1290c7\"\n}, null, -1)\nconst _hoisted_56 = {\n  key: 0,\n  transform: \"matrix(0.978, -0.208, 0.208, 0.978, 24.8, 52.614)\",\n  fill: \"#fcfcfc\",\n  \"font-size\": \"14\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"700\"\n}\nconst _hoisted_57 = /*#__PURE__*/_createElementVNode(\"tspan\", {\n  x: \"0\",\n  y: \"0\"\n}, \"Klicke auf die\", -1)\nconst _hoisted_58 = /*#__PURE__*/_createElementVNode(\"tspan\", {\n  x: \"0\",\n  y: \"15\"\n}, \"Pakete, um Fragen\", -1)\nconst _hoisted_59 = /*#__PURE__*/_createElementVNode(\"tspan\", {\n  x: \"0\",\n  y: \"30\"\n}, \"zu beantworten!\", -1)\nconst _hoisted_60 = [\n  _hoisted_57,\n  _hoisted_58,\n  _hoisted_59\n]\nconst _hoisted_61 = {\n  key: 1,\n  d: \"M1391.169,278.592q25.076-7.518,50.76-13.055c17.12-3.712,34.409-6.818,51.823-9.011q3.142-.4,6.29-.749c.992-.111,1.984-.229,2.977-.322a7.623,7.623,0,0,1,3.06.117,4.984,4.984,0,0,1,2.741,2.917,37.506,37.506,0,0,1,1.7,5.436q3.626,12.958,6.479,26.1c1.873,8.626,3.513,17.3,4.857,26.017a41.157,41.157,0,0,1,.745,10.461,8.116,8.116,0,0,1-.347,1.588c-.005.016-.189.465-.059.185-.057.124-.127.24-.193.359,0,0-.24.344-.1.166.122-.154-.032.075-.074.078-.008,0-.061.062-.066.058l-.025.02q-.166.129.235-.17a1.554,1.554,0,0,1-.163.109c-.175.1-.345.2-.523.293-.484.248-.986.465-1.49.674-.161.068-.324.133-.486.2-.3.121.277-.109.073-.029l-.223.088c-.385.148-.771.3-1.157.44-1.85.688-3.722,1.325-5.6,1.949-4.9,1.628-9.829,3.151-14.768,4.654-9.02,2.745-18.091,5.337-27.106,8.1a26.575,26.575,0,0,0-3.252,1.135,6.284,6.284,0,0,0-3.556,4.324c-.749,2.911-.59,6-1.363,8.834a5.366,5.366,0,0,1-.243.733c.143-.329-.323.672-.127.24a.748.748,0,0,1-.164.158l.138-.1q-.227.117.076-.016a1.958,1.958,0,0,0-.593.2c.107-.055.252-.038.12-.064.423.085.1.006.061-.018.328.186-.084-.054-.118-.076-.4-.266.214.2-.193-.13-.137-.11-.266-.231-.392-.353a12.164,12.164,0,0,1-1.518-1.874c-1.147-1.662-2.045-3.443-3.085-5.162a8.337,8.337,0,0,0-4.253-3.439c-1.978-.744-3.9-.481-5.94-.213q-3.5.459-7,.884c-4.715.574-9.435,1.114-14.156,1.648-9.488,1.073-18.979,2.125-28.443,3.374-2.325.306-4.643.664-6.97.953a14.461,14.461,0,0,1-5.872-.161c-3.116-.924-4.644-3.9-5.507-6.651a102.459,102.459,0,0,1-2.425-11.645q-1.278-6.734-2.557-13.467l-5.113-26.933q-.639-3.367-1.278-6.733a7.652,7.652,0,0,1-.265-2.6,2.416,2.416,0,0,1,1.376-1.623,33.879,33.879,0,0,1,4.539-1.953q2.678-1.042,5.4-1.994c3.469-1.219,6.977-2.359,10.547-3.284a1.486,1.486,0,1,0-.833-2.853c-3.82.99-7.572,2.222-11.277,3.542q-2.678.953-5.321,1.993a28.11,28.11,0,0,0-5.017,2.228,5.223,5.223,0,0,0-2.52,5.2c.257,2.282.814,4.554,1.243,6.812l2.612,13.759q2.64,13.906,5.279,27.811c.764,4.026,1.3,8.168,2.467,12.114.946,3.2,2.573,6.452,5.689,8.231,3.921,2.239,8.682,1.19,12.92.6,4.9-.676,9.811-1.289,14.725-1.871,9.633-1.141,19.281-2.167,28.912-3.323q3.759-.451,7.515-.932c1.878-.241,3.939-.807,5.807-.279a5.781,5.781,0,0,1,3.512,3.188,42.257,42.257,0,0,0,3.2,5.118c.9,1.173,2.023,2.594,3.6,2.973a3.02,3.02,0,0,0,1.3.034c.148-.029,1.021-.318.552-.154a3.443,3.443,0,0,0,1.837-1.313,8.861,8.861,0,0,0,1.173-3.927c.192-1.388.286-3.014.5-4.229.265-1.519.317-3.6,1.76-4.584a11.479,11.479,0,0,1,3.166-1.228c1.644-.5,3.291-1,4.939-1.486,4.844-1.441,9.692-2.868,14.534-4.315,5.366-1.6,10.727-3.223,16.065-4.905,4.258-1.342,8.529-2.688,12.695-4.272a28.284,28.284,0,0,0,3.676-1.573c1.794-.995,2.345-2.9,2.583-4.748.46-3.589-.168-7.313-.7-10.864-.667-4.449-1.441-8.885-2.262-13.311q-2.5-13.489-5.825-26.828-1.659-6.666-3.521-13.285c-.928-3.3-1.776-7.569-5.258-9.367-2.02-1.044-4.265-.807-6.457-.568s-4.364.49-6.543.758q-6.6.812-13.177,1.786-13.366,1.982-26.619,4.575-26.684,5.184-52.85,12.471-6.09,1.7-12.144,3.51a1.486,1.486,0,1,0,.833,2.853Z\",\n  transform: \"translate(-1363.393 -252.433)\",\n  fill: \"#fff\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_TransparentSvgRect = _resolveComponent(\"TransparentSvgRect\")!\n\n  return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, [\n    _hoisted_2,\n    _createElementVNode(\"g\", _hoisted_5, [\n      _createElementVNode(\"g\", {\n        class: \"pointer\",\n        onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.openQuestion('READY_FOR_EXAM', _ctx.studentEducation.id)))\n      }, [\n        _createElementVNode(\"g\", _hoisted_6, [\n          _createVNode(_component_TransparentSvgRect),\n          _hoisted_7,\n          _hoisted_8\n        ]),\n        _createElementVNode(\"g\", _hoisted_9, [\n          _createElementVNode(\"text\", _hoisted_10, [\n            (_ctx.loading)\n              ? (_openBlock(), _createElementBlock(\"tspan\", _hoisted_11, [\n                  _hoisted_12,\n                  _createTextVNode(\" ... \")\n                ]))\n              : (_ctx.stats)\n                ? (_openBlock(), _createElementBlock(\"tspan\", {\n                    key: 1,\n                    x: _ctx.readyForExamX,\n                    y: \"0\"\n                  }, _toDisplayString(_ctx.stats.readyForExam === null ? 0 : _ctx.stats.readyForExam), 9, _hoisted_13))\n                : _createCommentVNode(\"\", true)\n          ]),\n          (!_ctx.basicView)\n            ? (_openBlock(), _createElementBlock(\"text\", _hoisted_14, _hoisted_16))\n            : _createCommentVNode(\"\", true)\n        ])\n      ]),\n      (_ctx.learningModeDoubleCheck)\n        ? (_openBlock(), _createElementBlock(\"g\", {\n            key: 0,\n            transform: \"matrix(0.995, 0.105, -0.105, 0.995, 1132.324, 351.775)\",\n            class: \"pointer\",\n            onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.openQuestion('CORRECTLY_ANSWERED', _ctx.studentEducation.id)))\n          }, [\n            _createVNode(_component_TransparentSvgRect),\n            _hoisted_17,\n            _createElementVNode(\"text\", _hoisted_18, [\n              (_ctx.loading)\n                ? (_openBlock(), _createElementBlock(\"tspan\", _hoisted_19, [\n                    _hoisted_20,\n                    _createTextVNode(\" ... \")\n                  ]))\n                : (_ctx.stats)\n                  ? (_openBlock(), _createElementBlock(\"tspan\", {\n                      key: 1,\n                      x: _ctx.oneTimeAnsweredX,\n                      y: \"0\"\n                    }, _toDisplayString(_ctx.stats.correctlyAnswered === null ? 0 : _ctx.stats.correctlyAnswered), 9, _hoisted_21))\n                  : _createCommentVNode(\"\", true)\n            ]),\n            _hoisted_22\n          ]))\n        : (_openBlock(), _createElementBlock(\"g\", {\n            key: 1,\n            transform: \"matrix(0.995, 0.105, -0.105, 0.995, 1132.324, 351.775)\",\n            class: \"pointer\",\n            onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.openQuestion('REMAINING', _ctx.studentEducation.id)))\n          }, [\n            _createElementVNode(\"g\", _hoisted_23, [\n              _createVNode(_component_TransparentSvgRect),\n              _createElementVNode(\"rect\", {\n                width: \"85.446\",\n                height: \"85.446\",\n                rx: \"10\",\n                stroke: \"none\",\n                fill: [_ctx.basicView ? '#fff' : '']\n              }, null, 8, _hoisted_24),\n              _hoisted_25\n            ]),\n            _createElementVNode(\"text\", _hoisted_26, [\n              (_ctx.loading)\n                ? (_openBlock(), _createElementBlock(\"tspan\", _hoisted_27, [\n                    _hoisted_28,\n                    _createTextVNode(\" ... \")\n                  ]))\n                : (_ctx.stats)\n                  ? (_openBlock(), _createElementBlock(\"tspan\", {\n                      key: 1,\n                      x: _ctx.remainingMidX,\n                      y: \"0\"\n                    }, _toDisplayString(_ctx.stats.remaining === null ? 0 : _ctx.stats.remaining), 9, _hoisted_29))\n                  : _createCommentVNode(\"\", true)\n            ]),\n            (!_ctx.basicView)\n              ? (_openBlock(), _createElementBlock(\"text\", _hoisted_30, _hoisted_32))\n              : _createCommentVNode(\"\", true)\n          ])),\n      (_ctx.learningModeDoubleCheck || _ctx.basicView)\n        ? (_openBlock(), _createElementBlock(\"g\", {\n            key: 2,\n            transform: \"matrix(0.995, 0.105, -0.105, 0.995, 1141.23, 265.254)\",\n            onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.openQuestion('REMAINING', _ctx.studentEducation.id)))\n          }, [\n            _hoisted_33,\n            _createElementVNode(\"g\", _hoisted_34, [\n              _createElementVNode(\"g\", _hoisted_35, [\n                _createElementVNode(\"text\", _hoisted_36, [\n                  (_ctx.loading)\n                    ? (_openBlock(), _createElementBlock(\"tspan\", _hoisted_37, [\n                        _hoisted_38,\n                        _createTextVNode(\" ... \")\n                      ]))\n                    : (_ctx.stats)\n                      ? (_openBlock(), _createElementBlock(\"tspan\", {\n                          key: 1,\n                          x: _ctx.remainingX,\n                          y: \"0\"\n                        }, _toDisplayString(_ctx.stats.remaining === null ? 0 : _ctx.stats.remaining), 9, _hoisted_39))\n                      : _createCommentVNode(\"\", true)\n                ]),\n                (!_ctx.basicView)\n                  ? (_openBlock(), _createElementBlock(\"text\", _hoisted_40, _hoisted_42))\n                  : _createCommentVNode(\"\", true)\n              ])\n            ])\n          ]))\n        : _createCommentVNode(\"\", true),\n      _createElementVNode(\"g\", {\n        transform: \"matrix(0.995, 0.105, -0.105, 0.995, 994.627, 338.738)\",\n        class: \"pointer\",\n        onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.stats.incorrectlyAnswered !== null ? _ctx.openQuestion('INCORRECTLY_ANSWERED', _ctx.studentEducation.id) : undefined))\n      }, [\n        _createElementVNode(\"g\", _hoisted_43, [\n          _createVNode(_component_TransparentSvgRect),\n          _hoisted_44,\n          _hoisted_45\n        ]),\n        _createElementVNode(\"text\", _hoisted_46, [\n          (_ctx.loading)\n            ? (_openBlock(), _createElementBlock(\"tspan\", _hoisted_47, [\n                _hoisted_48,\n                _createTextVNode(\" ... \")\n              ]))\n            : (_ctx.stats)\n              ? (_openBlock(), _createElementBlock(\"tspan\", {\n                  key: 1,\n                  x: _ctx.incorrectlyAnsweredX,\n                  y: \"0\"\n                }, _toDisplayString(_ctx.stats.incorrectlyAnswered === null ? 0 : _ctx.stats.incorrectlyAnswered), 9, _hoisted_49))\n              : _createCommentVNode(\"\", true)\n        ]),\n        (!_ctx.basicView)\n          ? (_openBlock(), _createElementBlock(\"text\", _hoisted_50, _hoisted_52))\n          : _createCommentVNode(\"\", true)\n      ]),\n      _hoisted_53,\n      _hoisted_54\n    ]),\n    _hoisted_55,\n    (!_ctx.basicView)\n      ? (_openBlock(), _createElementBlock(\"text\", _hoisted_56, _hoisted_60))\n      : _createCommentVNode(\"\", true),\n    (!_ctx.basicView)\n      ? (_openBlock(), _createElementBlock(\"path\", _hoisted_61))\n      : _createCommentVNode(\"\", true)\n  ]))\n}","import { Options, Vue } from \"vue-property-decorator\";\n\n@Options({})\nexport default class TheoryImgMixin extends Vue {\n  protected openQuestion(questionType: string, studentEducationId: string): void {\n    this.$router.push({\n      name: \"TheoryQuestionBoxes\",\n      params: { id: questionType, studentEducation: studentEducationId },\n    });\n  }\n}\n","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"width\", \"height\", \"x\", \"y\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return (_openBlock(), _createElementBlock(\"rect\", {\n    width: _ctx.clikableRangeW,\n    height: _ctx.clikableRangeH,\n    rx: \"10\",\n    fill: \"#ffffff\",\n    \"fill-opacity\": \"0.0\",\n    stroke: \"none\",\n    x: _ctx.clikablePositionX,\n    y: _ctx.clikablePositionY\n  }, null, 8, _hoisted_1))\n}","\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n  name: \"TransparentSvgRect\",\n  setup() {\n    return {\n      clikableRangeW: \"110\",\n      clikableRangeH: \"110\",\n      clikablePositionX: \"-12.5\",\n      clikablePositionY: \"-12.5\",\n    };\n  },\n});\n","import { render } from \"./TransparentSvgRect.vue?vue&type=template&id=274f1c1c&ts=true\"\nimport script from \"./TransparentSvgRect.vue?vue&type=script&lang=ts\"\nexport * from \"./TransparentSvgRect.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export enum LearningModeEnum {\n  quickAndDirty = 1,\n  doubleCheck = 2,\n}\n","\nimport { Options, Prop } from \"vue-property-decorator\";\nimport { namespace } from \"s-vuex-class\";\nimport { mixins } from \"vue-class-component\";\nimport TheoryImgMixin from \"@/mixins/TheoryImgMixin\";\nimport TransparentSvgRect from \"@/components/TransparentSvgRect.vue\";\nimport { LearningModeEnum } from \"@/enums/LearningModeEnum\";\n\nconst StudentQuestionAnswersModule = namespace(\"student-question-answers\");\n\n@Options({\n  components: {\n    TransparentSvgRect,\n  },\n})\nexport default class TheoryImgPositive extends mixins(TheoryImgMixin) {\n  @Prop()\n  public studentEducation!: any;\n  @Prop()\n  public learningMode!: any;\n  @Prop()\n  public stats: any;\n  @Prop()\n  public loading: any;\n\n  @Prop({ default: () => false })\n  public basicView!: boolean;\n\n  get incorrectlyAnsweredX(): number {\n    if (!this.stats || !this.stats.incorrectlyAnswered) {\n      return -7;\n    }\n    if (this.stats.incorrectlyAnswered >= 100) {\n      return -22;\n    }\n    if (this.stats.incorrectlyAnswered >= 10) {\n      return -15;\n    }\n    return -7;\n  }\n\n  get readyForExamX(): number {\n    if (!this.stats || !this.stats.readyForExam) {\n      return -5;\n    }\n    if (this.stats.readyForExam >= 100) {\n      return -16;\n    }\n    if (this.stats.readyForExam >= 10) {\n      return -8;\n    }\n    return -5;\n  }\n\n  get oneTimeAnsweredX(): number {\n    if (!this.stats || !this.stats.correctlyAnswered) {\n      return 18;\n    }\n    if (this.stats.correctlyAnswered >= 100) {\n      return 6;\n    }\n    if (this.stats.correctlyAnswered >= 10) {\n      return 15;\n    }\n    return 18;\n  }\n\n  get remainingMidX(): number {\n    if (!this.stats || !this.stats.remaining) {\n      return 18;\n    }\n    if (this.stats.remaining >= 1000) {\n      return -2;\n    }\n    if (this.stats.remaining >= 100) {\n      return 6;\n    }\n    if (this.stats.remaining >= 10) {\n      return 15;\n    }\n    return 18;\n  }\n\n  get remainingX(): number {\n    if (!this.stats || !this.stats.remaining) {\n      return 18;\n    }\n    if (this.stats.remaining >= 1000) {\n      return -2;\n    }\n    if (this.stats.remaining >= 100) {\n      return 6;\n    }\n    if (this.stats.remaining >= 10) {\n      return 15;\n    }\n    return 18;\n  }\n\n  public get learningModeDoubleCheck() {\n    return this.learningMode == LearningModeEnum.doubleCheck;\n  }\n}\n","import { render } from \"./TheoryImgPositive.vue?vue&type=template&id=e884e528&ts=true\"\nimport script from \"./TheoryImgPositive.vue?vue&type=script&lang=ts\"\nexport * from \"./TheoryImgPositive.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  \"xmlns:xlink\": \"http://www.w3.org/1999/xlink\",\n  width: \"540.971\",\n  height: \"297.431\",\n  viewBox: \"0 0 540.971 297.431\"\n}\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"<defs><radialGradient id=\\\"a\\\"><stop offset=\\\"0\\\" stop-color=\\\"#8c8b8b\\\"></stop><stop offset=\\\"0.268\\\" stop-color=\\\"#adacac\\\" stop-opacity=\\\"0.71\\\"></stop><stop offset=\\\"0.767\\\" stop-color=\\\"#e7e7e7\\\" stop-opacity=\\\"0.2\\\"></stop><stop offset=\\\"1\\\" stop-color=\\\"#fff\\\" stop-opacity=\\\"0\\\"></stop></radialGradient></defs><path d=\\\"M353.75,411.489a5.6,5.6,0,0,0,5.6-5.6l0-1.772a5.6,5.6,0,0,0-5.6-5.609l-90.215,0a5.6,5.6,0,0,0-5.6,5.607v1.774a5.6,5.6,0,0,0,5.605,5.6Z\\\" transform=\\\"translate(-8.064 -126.979)\\\" fill=\\\"#074764\\\"></path><ellipse cx=\\\"109.907\\\" cy=\\\"19.412\\\" rx=\\\"109.907\\\" ry=\\\"19.412\\\" transform=\\\"translate(192.703 258.607)\\\" fill=\\\"url(#a)\\\" style=\\\"mix-blend-mode:multiply;isolation:isolate;\\\"></ellipse>\", 3)\nconst _hoisted_5 = { transform: \"translate(-867.738 -244.568)\" }\nconst _hoisted_6 = {\n  transform: \"matrix(0.995, 0.105, -0.105, 0.995, 1275.828, 371.234)\",\n  fill: \"#169fdb\",\n  stroke: \"#fff\",\n  \"stroke-width\": \"2\"\n}\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  width: \"85.446\",\n  height: \"85.446\",\n  rx: \"10\",\n  stroke: \"none\"\n}, null, -1)\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  x: \"1\",\n  y: \"1\",\n  width: \"83.446\",\n  height: \"83.446\",\n  rx: \"9\",\n  fill: \"none\"\n}, null, -1)\nconst _hoisted_9 = { transform: \"matrix(0.995, 0.105, -0.105, 0.995, 1280.141, 380.93)\" }\nconst _hoisted_10 = {\n  transform: \"translate(38.534 32.39)\",\n  fill: \"#fff\",\n  \"font-size\": \"32\",\n  \"font-family\": \"Dosis-Bold, Dosis\",\n  \"font-weight\": \"700\"\n}\nconst _hoisted_11 = {\n  key: 0,\n  x: \"-5\",\n  y: \"0\",\n  \"font-size\": \"12\"\n}\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"animate\", {\n  attributeName: \"opacity\",\n  values: \"0;1;0\",\n  dur: \"1s\",\n  repeatCount: \"indefinite\"\n}, null, -1)\nconst _hoisted_13 = [\"x\"]\nconst _hoisted_14 = /*#__PURE__*/_createElementVNode(\"text\", {\n  transform: \"translate(-9.962 40.997)\",\n  fill: \"#fff\",\n  \"font-size\": \"12\",\n  \"font-family\": \"Dosis-Bold, Dosis\",\n  \"font-weight\": \"700\"\n}, [\n  /*#__PURE__*/_createElementVNode(\"tspan\", {\n    x: \"9\",\n    y: \"12\"\n  }, \"PRÜFUNGSREIF\")\n], -1)\nconst _hoisted_15 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  width: \"85.446\",\n  height: \"85.446\",\n  rx: \"10\",\n  transform: \"translate(0 0)\",\n  fill: \"#fff\"\n}, null, -1)\nconst _hoisted_16 = {\n  transform: \"translate(17.089 48.38)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"32\",\n  \"font-family\": \"Dosis-Bold, Dosis\",\n  \"font-weight\": \"700\"\n}\nconst _hoisted_17 = {\n  key: 0,\n  x: \"20\",\n  y: \"0\",\n  \"font-size\": \"12\"\n}\nconst _hoisted_18 = /*#__PURE__*/_createElementVNode(\"animate\", {\n  attributeName: \"opacity\",\n  values: \"0;1;0\",\n  dur: \"1s\",\n  repeatCount: \"indefinite\"\n}, null, -1)\nconst _hoisted_19 = [\"x\"]\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"text\", {\n  transform: \"translate(10.254 55.049)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"12\",\n  \"font-family\": \"Dosis-Bold, Dosis\",\n  \"font-weight\": \"700\"\n}, [\n  /*#__PURE__*/_createElementVNode(\"tspan\", {\n    x: \"8\",\n    y: \"12\"\n  }, \"1X RICHTIG\")\n], -1)\nconst _hoisted_21 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  width: \"85.446\",\n  height: \"85.446\",\n  rx: \"10\",\n  transform: \"translate(0 0)\",\n  fill: \"#ccc\",\n  stroke: \"#fff\",\n  \"stroke-width\": \"2\"\n}, null, -1)\nconst _hoisted_22 = {\n  transform: \"translate(17.089 48.38)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"32\",\n  \"font-family\": \"Dosis-Bold, Dosis\",\n  \"font-weight\": \"700\"\n}\nconst _hoisted_23 = {\n  key: 0,\n  x: \"20\",\n  y: \"0\",\n  \"font-size\": \"12\"\n}\nconst _hoisted_24 = /*#__PURE__*/_createElementVNode(\"animate\", {\n  attributeName: \"opacity\",\n  values: \"0;1;0\",\n  dur: \"1s\",\n  repeatCount: \"indefinite\"\n}, null, -1)\nconst _hoisted_25 = [\"x\"]\nconst _hoisted_26 = /*#__PURE__*/_createElementVNode(\"text\", {\n  transform: \"translate(10.254 55.049)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"12\",\n  \"font-family\": \"Dosis-Bold, Dosis\",\n  \"font-weight\": \"700\"\n}, [\n  /*#__PURE__*/_createElementVNode(\"tspan\", {\n    x: \"4\",\n    y: \"12\"\n  }, \"NOCH OFFEN\")\n], -1)\nconst _hoisted_27 = {\n  transform: \"translate(0 0)\",\n  fill: \"#ccc\",\n  stroke: \"#fff\",\n  \"stroke-width\": \"2\"\n}\nconst _hoisted_28 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  width: \"85.446\",\n  height: \"85.446\",\n  rx: \"10\",\n  stroke: \"none\"\n}, null, -1)\nconst _hoisted_29 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  x: \"1\",\n  y: \"1\",\n  width: \"83.446\",\n  height: \"83.446\",\n  rx: \"9\",\n  fill: \"none\"\n}, null, -1)\nconst _hoisted_30 = { transform: \"translate(10.254 15.38)\" }\nconst _hoisted_31 = { transform: \"translate(0 0)\" }\nconst _hoisted_32 = {\n  transform: \"translate(6.836 33)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"32\",\n  \"font-family\": \"Dosis-Bold, Dosis\",\n  \"font-weight\": \"700\"\n}\nconst _hoisted_33 = {\n  key: 0,\n  x: \"20\",\n  y: \"0\",\n  \"font-size\": \"12\"\n}\nconst _hoisted_34 = /*#__PURE__*/_createElementVNode(\"animate\", {\n  attributeName: \"opacity\",\n  values: \"0;1;0\",\n  dur: \"1s\",\n  repeatCount: \"indefinite\"\n}, null, -1)\nconst _hoisted_35 = [\"x\"]\nconst _hoisted_36 = /*#__PURE__*/_createElementVNode(\"text\", {\n  transform: \"translate(0 39.669)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"12\",\n  \"font-family\": \"Dosis-Bold, Dosis\",\n  \"font-weight\": \"700\"\n}, [\n  /*#__PURE__*/_createElementVNode(\"tspan\", {\n    x: \"1\",\n    y: \"12\"\n  }, \"NOCH OFFEN\")\n], -1)\nconst _hoisted_37 = {\n  transform: \"translate(0 0)\",\n  fill: \"#dc0c23\",\n  stroke: \"#fff\",\n  \"stroke-width\": \"2\"\n}\nconst _hoisted_38 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  width: \"85.446\",\n  height: \"85.446\",\n  rx: \"10\",\n  stroke: \"none\"\n}, null, -1)\nconst _hoisted_39 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  x: \"1\",\n  y: \"1\",\n  width: \"83.446\",\n  height: \"83.446\",\n  rx: \"9\",\n  fill: \"none\"\n}, null, -1)\nconst _hoisted_40 = {\n  transform: \"translate(41.779 48.38)\",\n  fill: \"#fff\",\n  \"font-size\": \"32\",\n  \"font-family\": \"Dosis-Bold, Dosis\",\n  \"font-weight\": \"700\"\n}\nconst _hoisted_41 = {\n  key: 0,\n  x: \"0\",\n  y: \"0\",\n  \"font-size\": \"12\"\n}\nconst _hoisted_42 = /*#__PURE__*/_createElementVNode(\"animate\", {\n  attributeName: \"opacity\",\n  values: \"0;1;0\",\n  dur: \"1s\",\n  repeatCount: \"indefinite\"\n}, null, -1)\nconst _hoisted_43 = [\"x\"]\nconst _hoisted_44 = /*#__PURE__*/_createElementVNode(\"text\", {\n  transform: \"translate(10.254 55.049)\",\n  fill: \"#fff\",\n  \"font-size\": \"12\",\n  \"font-family\": \"Dosis-Bold, Dosis\",\n  \"font-weight\": \"700\"\n}, [\n  /*#__PURE__*/_createElementVNode(\"tspan\", {\n    x: \"12\",\n    y: \"12\"\n  }, \"FALSCH\")\n], -1)\nconst _hoisted_45 = /*#__PURE__*/_createElementVNode(\"path\", {\n  d: \"M483.307,21.616c6-.564,10.3-5.209,9.636-10.348l-.391-2.938c-.658-5.144-6.066-8.84-12.07-8.271L9.707,45.223c-5.993.566-10.313,5.2-9.638,10.349l.389,2.943c.658,5.137,6.069,8.838,12.07,8.263Z\",\n  transform: \"translate(915.698 427.285)\",\n  fill: \"#fcfcfc\"\n}, null, -1)\nconst _hoisted_46 = /*#__PURE__*/_createElementVNode(\"path\", {\n  d: \"M264.444,386.329l6.7-64.391c0-10.559,11.387-21.647,25.417-21.627l8.048-.006c14.053-.007,25.446,11.083,25.416,21.62l6.72,64.4Z\",\n  transform: \"translate(867 134.402)\",\n  fill: \"#137faf\"\n}, null, -1)\nconst _hoisted_47 = /*#__PURE__*/_createStaticVNode(\"<text transform=\\\"matrix(0.978, -0.208, 0.208, 0.978, 24.8, 52.614)\\\" fill=\\\"#fcfcfc\\\" font-size=\\\"14\\\" font-family=\\\"Dosis-Bold, Dosis\\\" font-weight=\\\"700\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">Klicke auf die</tspan><tspan x=\\\"0\\\" y=\\\"15\\\">Pakete, um Fragen</tspan><tspan x=\\\"0\\\" y=\\\"30\\\">zu beantworten!</tspan></text><path d=\\\"M1391.169,278.592q25.076-7.518,50.76-13.055c17.12-3.712,34.409-6.818,51.823-9.011q3.142-.4,6.29-.749c.992-.111,1.984-.229,2.977-.322a7.623,7.623,0,0,1,3.06.117,4.984,4.984,0,0,1,2.741,2.917,37.506,37.506,0,0,1,1.7,5.436q3.626,12.958,6.479,26.1c1.873,8.626,3.513,17.3,4.857,26.017a41.157,41.157,0,0,1,.745,10.461,8.116,8.116,0,0,1-.347,1.588c-.005.016-.189.465-.059.185-.057.124-.127.24-.193.359,0,0-.24.344-.1.166.122-.154-.032.075-.074.078-.008,0-.061.062-.066.058l-.025.02q-.166.129.235-.17a1.554,1.554,0,0,1-.163.109c-.175.1-.345.2-.523.293-.484.248-.986.465-1.49.674-.161.068-.324.133-.486.2-.3.121.277-.109.073-.029l-.223.088c-.385.148-.771.3-1.157.44-1.85.688-3.722,1.325-5.6,1.949-4.9,1.628-9.829,3.151-14.768,4.654-9.02,2.745-18.091,5.337-27.106,8.1a26.575,26.575,0,0,0-3.252,1.135,6.284,6.284,0,0,0-3.556,4.324c-.749,2.911-.59,6-1.363,8.834a5.366,5.366,0,0,1-.243.733c.143-.329-.323.672-.127.24a.748.748,0,0,1-.164.158l.138-.1q-.227.117.076-.016a1.958,1.958,0,0,0-.593.2c.107-.055.252-.038.12-.064.423.085.1.006.061-.018.328.186-.084-.054-.118-.076-.4-.266.214.2-.193-.13-.137-.11-.266-.231-.392-.353a12.164,12.164,0,0,1-1.518-1.874c-1.147-1.662-2.045-3.443-3.085-5.162a8.337,8.337,0,0,0-4.253-3.439c-1.978-.744-3.9-.481-5.94-.213q-3.5.459-7,.884c-4.715.574-9.435,1.114-14.156,1.648-9.488,1.073-18.979,2.125-28.443,3.374-2.325.306-4.643.664-6.97.953a14.461,14.461,0,0,1-5.872-.161c-3.116-.924-4.644-3.9-5.507-6.651a102.459,102.459,0,0,1-2.425-11.645q-1.278-6.734-2.557-13.467l-5.113-26.933q-.639-3.367-1.278-6.733a7.652,7.652,0,0,1-.265-2.6,2.416,2.416,0,0,1,1.376-1.623,33.879,33.879,0,0,1,4.539-1.953q2.678-1.042,5.4-1.994c3.469-1.219,6.977-2.359,10.547-3.284a1.486,1.486,0,1,0-.833-2.853c-3.82.99-7.572,2.222-11.277,3.542q-2.678.953-5.321,1.993a28.11,28.11,0,0,0-5.017,2.228,5.223,5.223,0,0,0-2.52,5.2c.257,2.282.814,4.554,1.243,6.812l2.612,13.759q2.64,13.906,5.279,27.811c.764,4.026,1.3,8.168,2.467,12.114.946,3.2,2.573,6.452,5.689,8.231,3.921,2.239,8.682,1.19,12.92.6,4.9-.676,9.811-1.289,14.725-1.871,9.633-1.141,19.281-2.167,28.912-3.323q3.759-.451,7.515-.932c1.878-.241,3.939-.807,5.807-.279a5.781,5.781,0,0,1,3.512,3.188,42.257,42.257,0,0,0,3.2,5.118c.9,1.173,2.023,2.594,3.6,2.973a3.02,3.02,0,0,0,1.3.034c.148-.029,1.021-.318.552-.154a3.443,3.443,0,0,0,1.837-1.313,8.861,8.861,0,0,0,1.173-3.927c.192-1.388.286-3.014.5-4.229.265-1.519.317-3.6,1.76-4.584a11.479,11.479,0,0,1,3.166-1.228c1.644-.5,3.291-1,4.939-1.486,4.844-1.441,9.692-2.868,14.534-4.315,5.366-1.6,10.727-3.223,16.065-4.905,4.258-1.342,8.529-2.688,12.695-4.272a28.284,28.284,0,0,0,3.676-1.573c1.794-.995,2.345-2.9,2.583-4.748.46-3.589-.168-7.313-.7-10.864-.667-4.449-1.441-8.885-2.262-13.311q-2.5-13.489-5.825-26.828-1.659-6.666-3.521-13.285c-.928-3.3-1.776-7.569-5.258-9.367-2.02-1.044-4.265-.807-6.457-.568s-4.364.49-6.543.758q-6.6.812-13.177,1.786-13.366,1.982-26.619,4.575-26.684,5.184-52.85,12.471-6.09,1.7-12.144,3.51a1.486,1.486,0,1,0,.833,2.853Z\\\" transform=\\\"translate(-1363.393 -252.433)\\\" fill=\\\"#fff\\\"></path><path d=\\\"M284.473,347.915a15.439,15.439,0,1,0,15.439-15.438A15.44,15.44,0,0,0,284.473,347.915Z\\\" transform=\\\"translate(-0.055 -130.203)\\\" fill=\\\"#1290c7\\\"></path>\", 3)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_TransparentSvgRect = _resolveComponent(\"TransparentSvgRect\")!\n\n  return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, [\n    _hoisted_2,\n    _createElementVNode(\"g\", _hoisted_5, [\n      _createElementVNode(\"g\", {\n        transform: \"translate(-54.77 229.982) rotate(-11)\",\n        class: \"pointer\",\n        onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.openQuestion('READY_FOR_EXAM', _ctx.studentEducation.id)))\n      }, [\n        _createElementVNode(\"g\", _hoisted_6, [\n          _createVNode(_component_TransparentSvgRect),\n          _hoisted_7,\n          _hoisted_8\n        ]),\n        _createElementVNode(\"g\", _hoisted_9, [\n          _createElementVNode(\"text\", _hoisted_10, [\n            (_ctx.loading)\n              ? (_openBlock(), _createElementBlock(\"tspan\", _hoisted_11, [\n                  _hoisted_12,\n                  _createTextVNode(\" ... \")\n                ]))\n              : (_ctx.stats)\n                ? (_openBlock(), _createElementBlock(\"tspan\", {\n                    key: 1,\n                    x: _ctx.readyForExamX,\n                    y: \"0\"\n                  }, _toDisplayString(_ctx.stats.readyForExam === null ? 0 : _ctx.stats.readyForExam), 9, _hoisted_13))\n                : _createCommentVNode(\"\", true)\n          ]),\n          _hoisted_14\n        ])\n      ]),\n      (_ctx.learningModeDoubleCheck)\n        ? (_openBlock(), _createElementBlock(\"g\", {\n            key: 0,\n            transform: \"matrix(0.996, -0.087, 0.087, 0.996, 1114.872, 366.237)\",\n            class: \"pointer\",\n            onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.openQuestion('CORRECTLY_ANSWERED', _ctx.studentEducation.id)))\n          }, [\n            _createVNode(_component_TransparentSvgRect),\n            _hoisted_15,\n            _createElementVNode(\"text\", _hoisted_16, [\n              (_ctx.loading)\n                ? (_openBlock(), _createElementBlock(\"tspan\", _hoisted_17, [\n                    _hoisted_18,\n                    _createTextVNode(\" ... \")\n                  ]))\n                : (_ctx.stats)\n                  ? (_openBlock(), _createElementBlock(\"tspan\", {\n                      key: 1,\n                      x: _ctx.oneTimeAnsweredX,\n                      y: \"0\"\n                    }, _toDisplayString(_ctx.stats.correctlyAnswered === null ? 0 : _ctx.stats.correctlyAnswered), 9, _hoisted_19))\n                  : _createCommentVNode(\"\", true)\n            ]),\n            _hoisted_20\n          ]))\n        : (_openBlock(), _createElementBlock(\"g\", {\n            key: 1,\n            transform: \"matrix(0.996, -0.087, 0.087, 0.996, 1114.872, 366.237)\",\n            class: \"pointer\",\n            onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.openQuestion('REMAINING', _ctx.studentEducation.id)))\n          }, [\n            _createVNode(_component_TransparentSvgRect),\n            _hoisted_21,\n            _createElementVNode(\"text\", _hoisted_22, [\n              (_ctx.loading)\n                ? (_openBlock(), _createElementBlock(\"tspan\", _hoisted_23, [\n                    _hoisted_24,\n                    _createTextVNode(\" ... \")\n                  ]))\n                : (_ctx.stats)\n                  ? (_openBlock(), _createElementBlock(\"tspan\", {\n                      key: 1,\n                      x: _ctx.remainingMidX,\n                      y: \"0\"\n                    }, _toDisplayString(_ctx.stats.remaining === null ? 0 : _ctx.stats.remaining), 9, _hoisted_25))\n                  : _createCommentVNode(\"\", true)\n            ]),\n            _hoisted_26\n          ])),\n      (_ctx.learningModeDoubleCheck)\n        ? (_openBlock(), _createElementBlock(\"g\", {\n            key: 2,\n            transform: \"matrix(0.996, -0.087, 0.087, 0.996, 1107.105, 279.605)\",\n            class: \"pointer\",\n            onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.openQuestion('REMAINING', _ctx.studentEducation.id)))\n          }, [\n            _createElementVNode(\"g\", _hoisted_27, [\n              _createVNode(_component_TransparentSvgRect),\n              _hoisted_28,\n              _hoisted_29\n            ]),\n            _createElementVNode(\"g\", _hoisted_30, [\n              _createElementVNode(\"g\", _hoisted_31, [\n                _createElementVNode(\"text\", _hoisted_32, [\n                  (_ctx.loading)\n                    ? (_openBlock(), _createElementBlock(\"tspan\", _hoisted_33, [\n                        _hoisted_34,\n                        _createTextVNode(\" ... \")\n                      ]))\n                    : (_ctx.stats)\n                      ? (_openBlock(), _createElementBlock(\"tspan\", {\n                          key: 1,\n                          x: _ctx.remainingX,\n                          y: \"0\"\n                        }, _toDisplayString(_ctx.stats.remaining === null ? 0 : _ctx.stats.remaining), 9, _hoisted_35))\n                      : _createCommentVNode(\"\", true)\n                ]),\n                _hoisted_36\n              ])\n            ])\n          ]))\n        : _createCommentVNode(\"\", true),\n      _createElementVNode(\"g\", {\n        transform: \"matrix(0.996, -0.087, 0.087, 0.996, 977.217, 379.713)\",\n        class: \"pointer\",\n        onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.stats.incorrectlyAnswered !== null ? _ctx.openQuestion('INCORRECTLY_ANSWERED', _ctx.studentEducation.id) : undefined))\n      }, [\n        _createElementVNode(\"g\", _hoisted_37, [\n          _createVNode(_component_TransparentSvgRect),\n          _hoisted_38,\n          _hoisted_39\n        ]),\n        _createElementVNode(\"text\", _hoisted_40, [\n          (_ctx.loading)\n            ? (_openBlock(), _createElementBlock(\"tspan\", _hoisted_41, [\n                _hoisted_42,\n                _createTextVNode(\" ... \")\n              ]))\n            : (_ctx.stats)\n              ? (_openBlock(), _createElementBlock(\"tspan\", {\n                  key: 1,\n                  x: _ctx.incorrectlyAnsweredX,\n                  y: \"0\"\n                }, _toDisplayString(_ctx.stats.incorrectlyAnswered === null ? 0 : _ctx.stats.incorrectlyAnswered), 9, _hoisted_43))\n              : _createCommentVNode(\"\", true)\n        ]),\n        _hoisted_44\n      ]),\n      _hoisted_45,\n      _hoisted_46\n    ]),\n    _hoisted_47\n  ]))\n}","\nimport { Options, Prop } from \"vue-property-decorator\";\nimport { namespace } from \"s-vuex-class\";\nimport { mixins } from \"vue-class-component\";\nimport TheoryImgMixin from \"@/mixins/TheoryImgMixin\";\nimport TransparentSvgRect from \"@/components/TransparentSvgRect.vue\";\nimport { LearningModeEnum } from \"@/enums/LearningModeEnum\";\n\nconst StudentQuestionAnswersModule = namespace(\"student-question-answers\");\n\n@Options({\n  components: {\n    TransparentSvgRect,\n  },\n})\nexport default class TheoryImgNegative extends mixins(TheoryImgMixin) {\n  @Prop()\n  public studentEducation!: any;\n  @Prop()\n  public learningMode!: any;\n  @Prop()\n  public stats: any;\n  @Prop()\n  public loading: any;\n\n  get incorrectlyAnsweredX(): number {\n    if (!this.stats || !this.stats.incorrectlyAnswered) {\n      return -7;\n    }\n    if (this.stats.incorrectlyAnswered >= 100) {\n      return -22;\n    }\n    if (this.stats.incorrectlyAnswered >= 10) {\n      return -15;\n    }\n    return -7;\n  }\n\n  get readyForExamX(): number {\n    if (!this.stats || !this.stats.readyForExam) {\n      return -5;\n    }\n    if (this.stats.readyForExam >= 100) {\n      return -16;\n    }\n    if (this.stats.readyForExam >= 10) {\n      return -8;\n    }\n    return -5;\n  }\n\n  get oneTimeAnsweredX(): number {\n    if (!this.stats || !this.stats.correctlyAnswered) {\n      return 18;\n    }\n    if (this.stats.correctlyAnswered >= 100) {\n      return 6;\n    }\n    if (this.stats.correctlyAnswered >= 10) {\n      return 15;\n    }\n    return 18;\n  }\n\n  get remainingMidX(): number {\n    if (!this.stats || !this.stats.remaining) {\n      return 18;\n    }\n\n    if (this.stats.remaining >= 1000) {\n      return -2;\n    }\n    if (this.stats.remaining >= 100) {\n      return 6;\n    }\n    if (this.stats.remaining >= 10) {\n      return 15;\n    }\n    return 18;\n  }\n\n  get remainingX(): number {\n    if (!this.stats || !this.stats.remaining) {\n      return 18;\n    }\n    if (this.stats.remaining >= 1000) {\n      return -2;\n    }\n    if (this.stats.remaining >= 100) {\n      return 6;\n    }\n    if (this.stats.remaining >= 10) {\n      return 15;\n    }\n    return 18;\n  }\n\n  public get learningModeDoubleCheck() {\n    return this.learningMode == LearningModeEnum.doubleCheck;\n  }\n}\n","import { render } from \"./TheoryImgNegative.vue?vue&type=template&id=595e095f&ts=true\"\nimport script from \"./TheoryImgNegative.vue?vue&type=script&lang=ts\"\nexport * from \"./TheoryImgNegative.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  \"xmlns:xlink\": \"http://www.w3.org/1999/xlink\",\n  width: \"536.186\",\n  height: \"297.431\",\n  viewBox: \"0 0 536.186 297.431\"\n}\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"<defs><radialGradient id=\\\"a\\\"><stop offset=\\\"0\\\" stop-color=\\\"#8c8b8b\\\"></stop><stop offset=\\\"0.268\\\" stop-color=\\\"#adacac\\\" stop-opacity=\\\"0.71\\\"></stop><stop offset=\\\"0.767\\\" stop-color=\\\"#e7e7e7\\\" stop-opacity=\\\"0.2\\\"></stop><stop offset=\\\"1\\\" stop-color=\\\"#fff\\\" stop-opacity=\\\"0\\\"></stop></radialGradient></defs><path d=\\\"M353.75,411.489a5.6,5.6,0,0,0,5.6-5.6l0-1.772a5.6,5.6,0,0,0-5.6-5.609l-90.215,0a5.6,5.6,0,0,0-5.6,5.607v1.774a5.6,5.6,0,0,0,5.605,5.6Z\\\" transform=\\\"translate(-8.064 -126.979)\\\" fill=\\\"#074764\\\"></path><ellipse cx=\\\"109.907\\\" cy=\\\"19.412\\\" rx=\\\"109.907\\\" ry=\\\"19.412\\\" transform=\\\"translate(192.703 258.607)\\\" fill=\\\"url(#a)\\\" style=\\\"mix-blend-mode:multiply;isolation:isolate;\\\"></ellipse>\", 3)\nconst _hoisted_5 = { transform: \"translate(-867.738 -244.568)\" }\nconst _hoisted_6 = {\n  transform: \"matrix(0.995, 0.105, -0.105, 0.995, 1275.828, 371.234)\",\n  fill: \"#169fdb\",\n  stroke: \"#fff\",\n  \"stroke-width\": \"2\"\n}\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  width: \"85.446\",\n  height: \"85.446\",\n  rx: \"10\",\n  stroke: \"none\"\n}, null, -1)\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  x: \"1\",\n  y: \"1\",\n  width: \"83.446\",\n  height: \"83.446\",\n  rx: \"9\",\n  fill: \"none\"\n}, null, -1)\nconst _hoisted_9 = { transform: \"matrix(0.995, 0.105, -0.105, 0.995, 1280.141, 380.93)\" }\nconst _hoisted_10 = {\n  transform: \"translate(45.507 33)\",\n  fill: \"#fff\",\n  \"font-size\": \"32\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"900\"\n}\nconst _hoisted_11 = {\n  key: 0,\n  x: \"-10\",\n  y: \"0\",\n  \"font-size\": \"12\"\n}\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"animate\", {\n  attributeName: \"opacity\",\n  values: \"0;1;0\",\n  dur: \"1s\",\n  repeatCount: \"indefinite\"\n}, null, -1)\nconst _hoisted_13 = [\"x\"]\nconst _hoisted_14 = /*#__PURE__*/_createElementVNode(\"text\", {\n  transform: \"translate(0 41.869)\",\n  fill: \"#fff\",\n  \"font-size\": \"12\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"700\"\n}, [\n  /*#__PURE__*/_createElementVNode(\"tspan\", {\n    x: \"0\",\n    y: \"12\"\n  }, \"PRÜFUNGSREIF\")\n], -1)\nconst _hoisted_15 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  width: \"85.446\",\n  height: \"85.446\",\n  rx: \"10\",\n  transform: \"translate(0 0)\",\n  fill: \"#fff\"\n}, null, -1)\nconst _hoisted_16 = {\n  transform: \"translate(17.089 48.38)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"32\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"900\"\n}\nconst _hoisted_17 = {\n  key: 0,\n  x: \"20\",\n  y: \"0\",\n  \"font-size\": \"12\"\n}\nconst _hoisted_18 = /*#__PURE__*/_createElementVNode(\"animate\", {\n  attributeName: \"opacity\",\n  values: \"0;1;0\",\n  dur: \"1s\",\n  repeatCount: \"indefinite\"\n}, null, -1)\nconst _hoisted_19 = [\"x\"]\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"text\", {\n  transform: \"translate(10.254 55.049)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"12\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"700\"\n}, [\n  /*#__PURE__*/_createElementVNode(\"tspan\", {\n    x: \"8\",\n    y: \"12\"\n  }, \"1X RICHTIG\")\n], -1)\nconst _hoisted_21 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  width: \"85.446\",\n  height: \"85.446\",\n  rx: \"10\",\n  transform: \"translate(0 0)\",\n  fill: \"#fff\"\n}, null, -1)\nconst _hoisted_22 = {\n  transform: \"translate(17.089 48.38)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"32\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"900\"\n}\nconst _hoisted_23 = {\n  key: 0,\n  x: \"20\",\n  y: \"0\",\n  \"font-size\": \"12\"\n}\nconst _hoisted_24 = /*#__PURE__*/_createElementVNode(\"animate\", {\n  attributeName: \"opacity\",\n  values: \"0;1;0\",\n  dur: \"1s\",\n  repeatCount: \"indefinite\"\n}, null, -1)\nconst _hoisted_25 = [\"x\"]\nconst _hoisted_26 = /*#__PURE__*/_createElementVNode(\"text\", {\n  transform: \"translate(10.254 55.049)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"12\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"700\"\n}, [\n  /*#__PURE__*/_createElementVNode(\"tspan\", {\n    x: \"4\",\n    y: \"12\"\n  }, \"NOCH OFFEN\")\n], -1)\nconst _hoisted_27 = {\n  transform: \"translate(0 0)\",\n  fill: \"#ccc\",\n  stroke: \"#fff\",\n  \"stroke-width\": \"2\"\n}\nconst _hoisted_28 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  width: \"85.446\",\n  height: \"85.446\",\n  rx: \"10\",\n  stroke: \"none\"\n}, null, -1)\nconst _hoisted_29 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  x: \"1\",\n  y: \"1\",\n  width: \"83.446\",\n  height: \"83.446\",\n  rx: \"9\",\n  fill: \"none\"\n}, null, -1)\nconst _hoisted_30 = { transform: \"translate(10.254 15.38)\" }\nconst _hoisted_31 = {\n  transform: \"translate(0 0)\",\n  class: \"pointer double-check\"\n}\nconst _hoisted_32 = {\n  transform: \"translate(6.836 33)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"32\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"900\"\n}\nconst _hoisted_33 = {\n  key: 0,\n  x: \"20\",\n  y: \"0\",\n  \"font-size\": \"12\"\n}\nconst _hoisted_34 = /*#__PURE__*/_createElementVNode(\"animate\", {\n  attributeName: \"opacity\",\n  values: \"0;1;0\",\n  dur: \"1s\",\n  repeatCount: \"indefinite\"\n}, null, -1)\nconst _hoisted_35 = [\"x\"]\nconst _hoisted_36 = /*#__PURE__*/_createElementVNode(\"text\", {\n  transform: \"translate(0 39.669)\",\n  fill: \"#3c3c3b\",\n  \"font-size\": \"12\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"700\"\n}, [\n  /*#__PURE__*/_createElementVNode(\"tspan\", {\n    x: \"1\",\n    y: \"12\"\n  }, \"NOCH OFFEN\")\n], -1)\nconst _hoisted_37 = {\n  transform: \"translate(0 0)\",\n  fill: \"#dc0c23\",\n  stroke: \"#fff\",\n  \"stroke-width\": \"2\"\n}\nconst _hoisted_38 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  width: \"85.446\",\n  height: \"85.446\",\n  rx: \"10\",\n  stroke: \"none\"\n}, null, -1)\nconst _hoisted_39 = /*#__PURE__*/_createElementVNode(\"rect\", {\n  x: \"1\",\n  y: \"1\",\n  width: \"83.446\",\n  height: \"83.446\",\n  rx: \"9\",\n  fill: \"none\"\n}, null, -1)\nconst _hoisted_40 = {\n  transform: \"translate(41.779 48.38)\",\n  fill: \"#fff\",\n  \"font-size\": \"32\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"900\"\n}\nconst _hoisted_41 = {\n  key: 0,\n  x: \"0\",\n  y: \"0\",\n  \"font-size\": \"12\"\n}\nconst _hoisted_42 = /*#__PURE__*/_createElementVNode(\"animate\", {\n  attributeName: \"opacity\",\n  values: \"0;1;0\",\n  dur: \"1s\",\n  repeatCount: \"indefinite\"\n}, null, -1)\nconst _hoisted_43 = [\"x\"]\nconst _hoisted_44 = /*#__PURE__*/_createElementVNode(\"text\", {\n  transform: \"translate(10.254 55.049)\",\n  fill: \"#fff\",\n  \"font-size\": \"12\",\n  \"font-family\": \"Dosis-Light, Dosis\",\n  \"font-weight\": \"700\"\n}, [\n  /*#__PURE__*/_createElementVNode(\"tspan\", {\n    x: \"12\",\n    y: \"12\"\n  }, \"FALSCH\")\n], -1)\nconst _hoisted_45 = /*#__PURE__*/_createElementVNode(\"path\", {\n  d: \"M483.307,21.616c6-.564,10.3-5.209,9.636-10.348l-.391-2.938c-.658-5.144-6.066-8.84-12.07-8.271L9.707,45.223c-5.993.566-10.313,5.2-9.638,10.349l.389,2.943c.658,5.137,6.069,8.838,12.07,8.263Z\",\n  transform: \"matrix(0.996, 0.087, -0.087, 0.996, 912.789, 405.633)\",\n  fill: \"#fcfcfc\"\n}, null, -1)\nconst _hoisted_46 = /*#__PURE__*/_createElementVNode(\"path\", {\n  d: \"M264.444,386.329l6.7-64.391c0-10.559,11.387-21.647,25.417-21.627l8.048-.006c14.053-.007,25.446,11.083,25.416,21.62l6.72,64.4Z\",\n  transform: \"translate(867 134.402)\",\n  fill: \"#137faf\"\n}, null, -1)\nconst _hoisted_47 = /*#__PURE__*/_createStaticVNode(\"<text transform=\\\"matrix(0.978, -0.208, 0.208, 0.978, 24.8, 52.614)\\\" fill=\\\"#fcfcfc\\\" font-size=\\\"14\\\" font-family=\\\"Dosis-Bold, Dosis\\\" font-weight=\\\"700\\\"><tspan x=\\\"0\\\" y=\\\"0\\\">Klicke auf die</tspan><tspan x=\\\"0\\\" y=\\\"15\\\">Pakete, um Fragen</tspan><tspan x=\\\"0\\\" y=\\\"30\\\">zu beantworten!</tspan></text><path d=\\\"M1391.169,278.592q25.076-7.518,50.76-13.055c17.12-3.712,34.409-6.818,51.823-9.011q3.142-.4,6.29-.749c.992-.111,1.984-.229,2.977-.322a7.623,7.623,0,0,1,3.06.117,4.984,4.984,0,0,1,2.741,2.917,37.506,37.506,0,0,1,1.7,5.436q3.626,12.958,6.479,26.1c1.873,8.626,3.513,17.3,4.857,26.017a41.157,41.157,0,0,1,.745,10.461,8.116,8.116,0,0,1-.347,1.588c-.005.016-.189.465-.059.185-.057.124-.127.24-.193.359,0,0-.24.344-.1.166.122-.154-.032.075-.074.078-.008,0-.061.062-.066.058l-.025.02q-.166.129.235-.17a1.554,1.554,0,0,1-.163.109c-.175.1-.345.2-.523.293-.484.248-.986.465-1.49.674-.161.068-.324.133-.486.2-.3.121.277-.109.073-.029l-.223.088c-.385.148-.771.3-1.157.44-1.85.688-3.722,1.325-5.6,1.949-4.9,1.628-9.829,3.151-14.768,4.654-9.02,2.745-18.091,5.337-27.106,8.1a26.575,26.575,0,0,0-3.252,1.135,6.284,6.284,0,0,0-3.556,4.324c-.749,2.911-.59,6-1.363,8.834a5.366,5.366,0,0,1-.243.733c.143-.329-.323.672-.127.24a.748.748,0,0,1-.164.158l.138-.1q-.227.117.076-.016a1.958,1.958,0,0,0-.593.2c.107-.055.252-.038.12-.064.423.085.1.006.061-.018.328.186-.084-.054-.118-.076-.4-.266.214.2-.193-.13-.137-.11-.266-.231-.392-.353a12.164,12.164,0,0,1-1.518-1.874c-1.147-1.662-2.045-3.443-3.085-5.162a8.337,8.337,0,0,0-4.253-3.439c-1.978-.744-3.9-.481-5.94-.213q-3.5.459-7,.884c-4.715.574-9.435,1.114-14.156,1.648-9.488,1.073-18.979,2.125-28.443,3.374-2.325.306-4.643.664-6.97.953a14.461,14.461,0,0,1-5.872-.161c-3.116-.924-4.644-3.9-5.507-6.651a102.459,102.459,0,0,1-2.425-11.645q-1.278-6.734-2.557-13.467l-5.113-26.933q-.639-3.367-1.278-6.733a7.652,7.652,0,0,1-.265-2.6,2.416,2.416,0,0,1,1.376-1.623,33.879,33.879,0,0,1,4.539-1.953q2.678-1.042,5.4-1.994c3.469-1.219,6.977-2.359,10.547-3.284a1.486,1.486,0,1,0-.833-2.853c-3.82.99-7.572,2.222-11.277,3.542q-2.678.953-5.321,1.993a28.11,28.11,0,0,0-5.017,2.228,5.223,5.223,0,0,0-2.52,5.2c.257,2.282.814,4.554,1.243,6.812l2.612,13.759q2.64,13.906,5.279,27.811c.764,4.026,1.3,8.168,2.467,12.114.946,3.2,2.573,6.452,5.689,8.231,3.921,2.239,8.682,1.19,12.92.6,4.9-.676,9.811-1.289,14.725-1.871,9.633-1.141,19.281-2.167,28.912-3.323q3.759-.451,7.515-.932c1.878-.241,3.939-.807,5.807-.279a5.781,5.781,0,0,1,3.512,3.188,42.257,42.257,0,0,0,3.2,5.118c.9,1.173,2.023,2.594,3.6,2.973a3.02,3.02,0,0,0,1.3.034c.148-.029,1.021-.318.552-.154a3.443,3.443,0,0,0,1.837-1.313,8.861,8.861,0,0,0,1.173-3.927c.192-1.388.286-3.014.5-4.229.265-1.519.317-3.6,1.76-4.584a11.479,11.479,0,0,1,3.166-1.228c1.644-.5,3.291-1,4.939-1.486,4.844-1.441,9.692-2.868,14.534-4.315,5.366-1.6,10.727-3.223,16.065-4.905,4.258-1.342,8.529-2.688,12.695-4.272a28.284,28.284,0,0,0,3.676-1.573c1.794-.995,2.345-2.9,2.583-4.748.46-3.589-.168-7.313-.7-10.864-.667-4.449-1.441-8.885-2.262-13.311q-2.5-13.489-5.825-26.828-1.659-6.666-3.521-13.285c-.928-3.3-1.776-7.569-5.258-9.367-2.02-1.044-4.265-.807-6.457-.568s-4.364.49-6.543.758q-6.6.812-13.177,1.786-13.366,1.982-26.619,4.575-26.684,5.184-52.85,12.471-6.09,1.7-12.144,3.51a1.486,1.486,0,1,0,.833,2.853Z\\\" transform=\\\"translate(-1363.393 -252.433)\\\" fill=\\\"#fff\\\"></path><path d=\\\"M284.473,347.915a15.439,15.439,0,1,0,15.439-15.438A15.44,15.44,0,0,0,284.473,347.915Z\\\" transform=\\\"translate(-0.055 -130.203)\\\" fill=\\\"#1290c7\\\"></path>\", 3)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_TransparentSvgRect = _resolveComponent(\"TransparentSvgRect\")!\n\n  return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, [\n    _hoisted_2,\n    _createElementVNode(\"g\", _hoisted_5, [\n      _createElementVNode(\"g\", {\n        transform: \"matrix(0.995, -0.105, 0.105, 0.995, -29.791, 124.498)\",\n        class: \"pointer\",\n        onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.openQuestion('READY_FOR_EXAM', _ctx.studentEducation.id)))\n      }, [\n        _createElementVNode(\"g\", _hoisted_6, [\n          _createVNode(_component_TransparentSvgRect),\n          _hoisted_7,\n          _hoisted_8\n        ]),\n        _createElementVNode(\"g\", _hoisted_9, [\n          _createElementVNode(\"text\", _hoisted_10, [\n            (_ctx.loading)\n              ? (_openBlock(), _createElementBlock(\"tspan\", _hoisted_11, [\n                  _hoisted_12,\n                  _createTextVNode(\" ... \")\n                ]))\n              : (_ctx.stats)\n                ? (_openBlock(), _createElementBlock(\"tspan\", {\n                    key: 1,\n                    x: _ctx.readyForExamX,\n                    y: \"0\"\n                  }, _toDisplayString(_ctx.stats.readyForExam === null ? 0 : _ctx.stats.readyForExam), 9, _hoisted_13))\n                : _createCommentVNode(\"\", true)\n          ]),\n          _hoisted_14\n        ])\n      ]),\n      (_ctx.learningModeDoubleCheck)\n        ? (_openBlock(), _createElementBlock(\"g\", {\n            key: 0,\n            transform: \"translate(1123.525 362.176)\",\n            class: \"pointer double-check\",\n            onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.openQuestion('CORRECTLY_ANSWERED', _ctx.studentEducation.id)))\n          }, [\n            _createVNode(_component_TransparentSvgRect),\n            _hoisted_15,\n            _createElementVNode(\"text\", _hoisted_16, [\n              (_ctx.loading)\n                ? (_openBlock(), _createElementBlock(\"tspan\", _hoisted_17, [\n                    _hoisted_18,\n                    _createTextVNode(\" ... \")\n                  ]))\n                : (_ctx.stats)\n                  ? (_openBlock(), _createElementBlock(\"tspan\", {\n                      key: 1,\n                      x: _ctx.oneTimeAnsweredX,\n                      y: \"0\"\n                    }, _toDisplayString(_ctx.stats.correctlyAnswered === null ? 0 : _ctx.stats.correctlyAnswered), 9, _hoisted_19))\n                  : _createCommentVNode(\"\", true)\n            ]),\n            _hoisted_20\n          ]))\n        : (_openBlock(), _createElementBlock(\"g\", {\n            key: 1,\n            transform: \"translate(1123.525 362.176)\",\n            class: \"pointer\",\n            onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.openQuestion('REMAINING', _ctx.studentEducation.id)))\n          }, [\n            _createVNode(_component_TransparentSvgRect),\n            _hoisted_21,\n            _createElementVNode(\"text\", _hoisted_22, [\n              (_ctx.loading)\n                ? (_openBlock(), _createElementBlock(\"tspan\", _hoisted_23, [\n                    _hoisted_24,\n                    _createTextVNode(\" ... \")\n                  ]))\n                : (_ctx.stats)\n                  ? (_openBlock(), _createElementBlock(\"tspan\", {\n                      key: 1,\n                      x: _ctx.remainingMidX,\n                      y: \"0\"\n                    }, _toDisplayString(_ctx.stats.remaining === null ? 0 : _ctx.stats.remaining), 9, _hoisted_25))\n                  : _createCommentVNode(\"\", true)\n            ]),\n            _hoisted_26\n          ])),\n      (_ctx.learningModeDoubleCheck)\n        ? (_openBlock(), _createElementBlock(\"g\", {\n            key: 2,\n            transform: \"translate(1123.339 275.197)\",\n            onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.openQuestion('REMAINING', _ctx.studentEducation.id)))\n          }, [\n            _createElementVNode(\"g\", _hoisted_27, [\n              _createVNode(_component_TransparentSvgRect),\n              _hoisted_28,\n              _hoisted_29\n            ]),\n            _createElementVNode(\"g\", _hoisted_30, [\n              _createElementVNode(\"g\", _hoisted_31, [\n                _createElementVNode(\"text\", _hoisted_32, [\n                  (_ctx.loading)\n                    ? (_openBlock(), _createElementBlock(\"tspan\", _hoisted_33, [\n                        _hoisted_34,\n                        _createTextVNode(\" ... \")\n                      ]))\n                    : (_ctx.stats)\n                      ? (_openBlock(), _createElementBlock(\"tspan\", {\n                          key: 1,\n                          x: _ctx.remainingX,\n                          y: \"0\"\n                        }, _toDisplayString(_ctx.stats.remaining === null ? 0 : _ctx.stats.remaining), 9, _hoisted_35))\n                      : _createCommentVNode(\"\", true)\n                ]),\n                _hoisted_36\n              ])\n            ])\n          ]))\n        : _createCommentVNode(\"\", true),\n      _createElementVNode(\"g\", {\n        transform: \"translate(985.219 363.603)\",\n        class: \"pointer\",\n        onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.stats.incorrectlyAnswered !== null ? _ctx.openQuestion('INCORRECTLY_ANSWERED', _ctx.studentEducation.id) : undefined))\n      }, [\n        _createElementVNode(\"g\", _hoisted_37, [\n          _createVNode(_component_TransparentSvgRect),\n          _hoisted_38,\n          _hoisted_39\n        ]),\n        _createElementVNode(\"text\", _hoisted_40, [\n          (_ctx.loading)\n            ? (_openBlock(), _createElementBlock(\"tspan\", _hoisted_41, [\n                _hoisted_42,\n                _createTextVNode(\" ... \")\n              ]))\n            : (_ctx.stats)\n              ? (_openBlock(), _createElementBlock(\"tspan\", {\n                  key: 1,\n                  x: _ctx.incorrectlyAnsweredX,\n                  y: \"0\"\n                }, _toDisplayString(_ctx.stats.incorrectlyAnswered === null ? 0 : _ctx.stats.incorrectlyAnswered), 9, _hoisted_43))\n              : _createCommentVNode(\"\", true)\n        ]),\n        _hoisted_44\n      ]),\n      _hoisted_45,\n      _hoisted_46\n    ]),\n    _hoisted_47\n  ]))\n}","\nimport { Options, Prop } from \"vue-property-decorator\";\nimport { namespace } from \"s-vuex-class\";\nimport { mixins } from \"vue-class-component\";\nimport TheoryImgMixin from \"@/mixins/TheoryImgMixin\";\nimport TransparentSvgRect from \"@/components/TransparentSvgRect.vue\";\nimport { LearningModeEnum } from \"@/enums/LearningModeEnum\";\n\nconst StudentQuestionAnswersModule = namespace(\"student-question-answers\");\n\n@Options({\n  components: { TransparentSvgRect },\n})\nexport default class TheoryImgNeutral extends mixins(TheoryImgMixin) {\n  @Prop()\n  public studentEducation!: any;\n  @Prop()\n  public learningMode!: any;\n  @Prop()\n  public stats: any;\n  @Prop()\n  public loading: any;\n\n  get incorrectlyAnsweredX(): number {\n    if (!this.stats || !this.stats.incorrectlyAnswered) {\n      return -7;\n    }\n    if (this.stats.incorrectlyAnswered >= 100) {\n      return -22;\n    }\n    if (this.stats.incorrectlyAnswered >= 10) {\n      return -15;\n    }\n    return -7;\n  }\n\n  get readyForExamX(): number {\n    if (!this.stats || !this.stats.readyForExam) {\n      return -15;\n    }\n    if (this.stats.readyForExam >= 100) {\n      return -16;\n    }\n    if (this.stats.readyForExam >= 10) {\n      return -8;\n    }\n    return -15;\n  }\n\n  get oneTimeAnsweredX(): number {\n    if (!this.stats || !this.stats.correctlyAnswered) {\n      return 18;\n    }\n    if (this.stats.correctlyAnswered >= 100) {\n      return 6;\n    }\n    if (this.stats.correctlyAnswered >= 10) {\n      return 15;\n    }\n    return 18;\n  }\n\n  get remainingMidX(): number {\n    if (!this.stats || !this.stats.remaining) {\n      return 18;\n    }\n    if (this.stats.remaining >= 1000) {\n      return -2;\n    }\n    if (this.stats.remaining >= 100) {\n      return 6;\n    }\n    if (this.stats.remaining >= 10) {\n      return 15;\n    }\n    return 18;\n  }\n\n  get remainingX(): number {\n    if (!this.stats || !this.stats.remaining) {\n      return 18;\n    }\n    if (this.stats.remaining >= 1000) {\n      return -2;\n    }\n    if (this.stats.remaining >= 100) {\n      return 6;\n    }\n    if (this.stats.remaining >= 10) {\n      return 15;\n    }\n    return 18;\n  }\n\n  public get learningModeDoubleCheck() {\n    return this.learningMode == LearningModeEnum.doubleCheck;\n  }\n}\n","import { render } from \"./TheoryImgNeutral.vue?vue&type=template&id=1c1c0751&ts=true\"\nimport script from \"./TheoryImgNeutral.vue?vue&type=script&lang=ts\"\nexport * from \"./TheoryImgNeutral.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport { Options, Prop } from \"vue-property-decorator\";\nimport { mixins } from \"vue-class-component\";\nimport StudentTheoryEducationMixin from \"@/mixins/StudentEducations/StudentTheoryEducationMixin\";\nimport TheoryImgPositive from \"@/components/Pages/Home/Theory/TheoryImg/TheoryImgPositive.vue\";\nimport TheoryImgNegative from \"@/components/Pages/Home/Theory/TheoryImg/TheoryImgNegative.vue\";\nimport TheoryImgNeutral from \"@/components/Pages/Home/Theory/TheoryImg/TheoryImgNeutral.vue\";\n\n@Options({\n  components: {\n    TheoryImgNeutral,\n    TheoryImgNegative,\n    TheoryImgPositive,\n  },\n})\nexport default class TheoryImg extends mixins(StudentTheoryEducationMixin) {\n  @Prop()\n  public studentEducation!: any;\n  @Prop()\n  public stats: any;\n  @Prop()\n  public loading: any;\n}\n","import { render } from \"./TheoryImg.vue?vue&type=template&id=6e0d6df6&ts=true\"\nimport script from \"./TheoryImg.vue?vue&type=script&lang=ts\"\nexport * from \"./TheoryImg.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport { Options, Prop } from \"vue-property-decorator\";\nimport EducationTabs from \"@/components/EducationTabs/EducationTabs.vue\";\nimport { namespace } from \"s-vuex-class\";\nimport { mixins } from \"vue-class-component\";\nimport StudentTheoryEducationMixin from \"@/mixins/StudentEducations/StudentTheoryEducationMixin\";\nimport TheoryImg from \"@/components/Pages/Home/Theory/TheoryImg/TheoryImg.vue\";\nimport { useIonRouter } from \"@ionic/vue\";\nimport { IStudentEducationWithTheory } from \"@/interfaces/IStudentEducationWithTheory\";\nimport { PropType } from \"vue\";\nimport { ICrudOptions } from \"@/interfaces/ICrudOptions\";\nimport TheoryImgPositive from \"@/components/Pages/Home/Theory/TheoryImg/TheoryImgPositive.vue\";\n\nconst TheoryQuestionsModule = namespace(\"theory-questions\");\nconst StudentQuestionAnswersModule = namespace(\"student-question-answers\");\nconst StudentEducationModule = namespace(\"student-education\");\n\n@Options({\n  components: {\n    TheoryImgPositive,\n    TheoryImg,\n    EducationTabs,\n  },\n})\nexport default class TheoryBlock extends mixins(StudentTheoryEducationMixin) {\n  private ionRouter = useIonRouter();\n\n  @Prop({ default: \"theory\" })\n  public theoryLink!: any;\n\n  @Prop({ default: () => false })\n  public disabled!: boolean;\n\n  @Prop({\n    type: Array as PropType<Array<IStudentEducationWithTheory>>,\n    default: () => [],\n  })\n  public studentEducations!: IStudentEducationWithTheory[];\n\n  @Prop({ default: () => false })\n  public basicView!: boolean;\n\n  @TheoryQuestionsModule.Action(\"learningMode/findOne\")\n  public getLearningModeAction: any;\n\n  @TheoryQuestionsModule.Getter(\"learningMode/getDataItem\")\n  public learningModeGet: any;\n\n  @TheoryQuestionsModule.Getter(\"learningMode/getIsLoading\")\n  public learningModeGetLoading: any;\n\n  @TheoryQuestionsModule.Action(\"learningModeCreate/create\")\n  public saveLearningModeAction: any;\n\n  @TheoryQuestionsModule.Getter(\"learningModeCreate/getSuccess\")\n  public setLearningModeSuccess: any;\n\n  @TheoryQuestionsModule.Getter(\"learningModeCreate/getIsLoading\")\n  public setLearningModeLoading: any;\n\n  @StudentQuestionAnswersModule.Action(\"getOne\")\n  public getStatsAction: any;\n\n  @StudentQuestionAnswersModule.Action(\"resetSave\")\n  public resetStatsAction: any;\n\n  @StudentQuestionAnswersModule.Getter(\"getDataItem\")\n  public stats: any;\n\n  @StudentQuestionAnswersModule.Getter(\"getIsLoading\")\n  public statsLoading: any;\n\n  @StudentEducationModule.Action(\"withTheory/findAll\")\n  public findAllStudentEducationWithTheory!: (options: ICrudOptions) => Promise<void>;\n\n  private learningModeSwitchState = false;\n  public async mounted() {\n    if (!(this.selectedEducation && this.selectedEducation.id)) {\n      this.$toasted.info(\"You haven't got any theory for this education!\");\n      this.ionRouter.push({ name: \"Home\" });\n      return;\n    }\n    if (this.selectedEducation && this.selectedEducation.id) {\n      await this.getLearningModeAction({\n        resource: \"theory-questions\",\n        extraPath: \"learning-mode\",\n        hideSuccessMessage: true,\n        params: {\n          studentEducationId: this.selectedEducation.id,\n        },\n      });\n      const modeId = this.learningModeGet.id;\n      this.learningMode = modeId;\n      this.learningModeSwitchState = modeId === 2;\n      // save to store learning mode\n      this.setLearningModeAction(modeId);\n    }\n  }\n\n  private loadStats(education: any): void {\n    if (!education || !education.id) {\n      return;\n    }\n    this.getStatsAction({\n      resource: \"student-question-answers\",\n      extraPath: \"stats\",\n      hideSuccessMessage: true,\n      params: {\n        studentEducationId: education.id,\n        learningModeId: this.learningMode ? this.learningMode : 1,\n      },\n    });\n  }\n  private onEducationClassChanged(educationClass: any): void {\n    if (educationClass && educationClass.id) {\n      this.selectEducation(educationClass);\n      this.loadStats(educationClass);\n    }\n  }\n  private async onChangeLearningMode(learningModeSwitchState: boolean): Promise<void> {\n    this.setLearningModeAction(this.learningModeSwitchState ? \"2\" : \"1\");\n\n    if (!this.selectedEducation) {\n      return;\n    }\n\n    await this.saveLearningModeAction({\n      resource: \"theory-questions/learning-mode\",\n      hideSuccessMessage: true,\n      params: {\n        studentEducationId: this.selectedEducation.id,\n        learningModeId: this.learningMode,\n      },\n    });\n\n    if (true === this.setLearningModeSuccess) {\n      this.loadStats(this.selectedEducation);\n    }\n\n    this.onChangeLearningModeCheckbox();\n  }\n\n  public get isTheoryQuestionLink(): boolean {\n    return this.theoryLink == \"theory-questions\";\n  }\n\n  private onClickCard(): void {\n    const location = {\n      name: this.isTheoryQuestionLink ? \"TheoryQuestions\" : \"Theory\",\n    };\n    if (this.isTheoryQuestionLink) {\n      Object.assign(location, {\n        params: {\n          studentEducation: this.selectedEducation ? this.selectedEducation.id : 0,\n        },\n      });\n    }\n    this.ionRouter.navigate(location, \"forward\", \"push\");\n  }\n\n  private get studentEducationParam(): number {\n    return this.selectedEducation && this.selectedEducation.id ? this.selectedEducation.id : 0;\n  }\n\n  private async onChangeLearningModeCheckbox(): Promise<void> {\n    await this.findAllStudentEducationWithTheory({\n      resource: \"/student-educations/student/current\",\n      descriptionField: \"\",\n    });\n  }\n\n  public toastMessage() {\n    this.$toasted.error(\n      \"Glückwunsch! Du hast keine offenen Fragen mehr. Um weiterzulernen, klicke bitte direkt in einen Würfel auf der Prüfungsfragenwaage. Alternativ kannst du auch beliebig viele Vorprüfungen absolvieren oder die Spielwiese nutzen.\"\n    );\n  }\n\n  public get filteredEducations() {\n    return this.studentEducations?.filter((education: any) => education.theoryRequired) || [];\n  }\n}\n","import { render } from \"./TheoryBlock.vue?vue&type=template&id=91976044&ts=true\"\nimport script from \"./TheoryBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./TheoryBlock.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _directive_image = _resolveDirective(\"image\")!\n\n  return _withDirectives((_openBlock(), _createElementBlock(\"img\", _mergeProps(_ctx.$attrs, {\n    onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.onClick && _ctx.onClick(...args))),\n    alt: \"\"\n  }), null, 16)), [\n    [_directive_image, {\n      url: _ctx.mediaURL,\n      auth: false,\n      loading: _ctx.onLoading,\n      success: _ctx.onLoaded,\n      fail: _ctx.onError,\n    }]\n  ])\n}","\nimport { computed, defineComponent, PropType } from \"vue\";\nimport Image from \"@/directives/Image\";\nimport useFile from \"@/composable/useFile\";\nimport { IQuestion } from \"@/interfaces/IQuestion\";\n\nexport default defineComponent({\n  name: \"FscImage\",\n  emits: [\"click\", \"load\", \"error\", \"loading\"],\n  directives: {\n    image: new Image(),\n  },\n  props: {\n    src: {\n      type: String,\n      required: false,\n    },\n    question: {\n      type: Object as PropType<IQuestion>,\n      required: true,\n    },\n    rs: {\n      type: Boolean,\n      required: false,\n      default: () => true,\n    },\n    thumbnail: {\n      type: Boolean,\n      required: false,\n      default: () => true,\n    },\n  },\n  setup(props, { emit }) {\n    const { getMediaFromFilesystem } = useFile();\n\n    const onLoaded = () => {\n      emit(\"load\");\n    };\n\n    const onError = () => {\n      emit(\"error\");\n    };\n\n    const onLoading = () => {\n      emit(\"loading\");\n    };\n\n    const onClick = () => {\n      emit(\"click\");\n    };\n\n    const mediaURL = computed(() => {\n      return getMediaFromFilesystem(props.question, props.src, props.rs, props.thumbnail);\n    });\n\n    return {\n      onLoaded,\n      onError,\n      onLoading,\n      onClick,\n      mediaURL,\n    };\n  },\n});\n","import { render } from \"./FscImage.vue?vue&type=template&id=7edf1ea3&ts=true\"\nimport script from \"./FscImage.vue?vue&type=script&lang=ts\"\nexport * from \"./FscImage.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./DriveBuzzLogo.vue?vue&type=style&index=0&id=6627a66a&scoped=true&lang=css\"","var copyArray = require('./_copyArray'),\n    shuffleSelf = require('./_shuffleSelf');\n\n/**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\nfunction arrayShuffle(array) {\n  return shuffleSelf(copyArray(array));\n}\n\nmodule.exports = arrayShuffle;\n","import { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = {\n  key: 1,\n  class: \"logo-header\"\n}\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa-solid fa-bars font-size-18\" }, null, -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_ion_button = _resolveComponent(\"ion-button\")!\n  const _component_DriveBuzzLogo = _resolveComponent(\"DriveBuzzLogo\")!\n  const _component_ion_menu_button = _resolveComponent(\"ion-menu-button\")!\n  const _component_ion_buttons = _resolveComponent(\"ion-buttons\")!\n  const _component_ion_toolbar = _resolveComponent(\"ion-toolbar\")!\n  const _component_ion_header = _resolveComponent(\"ion-header\")!\n\n  return (_openBlock(), _createBlock(_component_ion_header, { class: \"ion-no-border title-centered\" }, {\n    default: _withCtx(() => [\n      _createVNode(_component_ion_toolbar, {\n        mode: \"md\",\n        class: \"mobile-header\"\n      }, {\n        default: _withCtx(() => [\n          (_ctx.showBackButton)\n            ? (_openBlock(), _createBlock(_component_ion_button, {\n                key: 0,\n                onClick: _ctx.onClickBack,\n                slot: \"start\",\n                class: \"back-btn\",\n                mode: \"md\"\n              }, {\n                default: _withCtx(() => [\n                  _createTextVNode(_toDisplayString(_ctx.$t(\"general.button_previous\")), 1)\n                ]),\n                _: 1\n              }, 8, [\"onClick\"]))\n            : _createCommentVNode(\"\", true),\n          (!_ctx.hideLogo)\n            ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n                _createVNode(_component_DriveBuzzLogo, { to: _ctx.to }, null, 8, [\"to\"])\n              ]))\n            : _createCommentVNode(\"\", true),\n          (!_ctx.hideMenuButton)\n            ? (_openBlock(), _createBlock(_component_ion_buttons, {\n                key: 2,\n                slot: \"end\"\n              }, {\n                default: _withCtx(() => [\n                  _createVNode(_component_ion_menu_button, { menu: \"rightRegisterMenu\" }, {\n                    default: _withCtx(() => [\n                      _hoisted_2\n                    ]),\n                    _: 1\n                  })\n                ]),\n                _: 1\n              }))\n            : _createCommentVNode(\"\", true)\n        ]),\n        _: 1\n      })\n    ]),\n    _: 1\n  }))\n}","\nimport { Options, Prop, Vue } from \"vue-property-decorator\";\nimport { IonHeader, IonToolbar, IonButtons, IonTitle, IonMenuButton, IonButton } from \"@ionic/vue\";\nimport DriveBuzzLogo from \"@/components/DriveBuzzLogo.vue\";\n\n@Options({\n  components: {\n    DriveBuzzLogo,\n    IonHeader,\n    IonToolbar,\n    IonButtons,\n    IonMenuButton,\n    IonTitle,\n    IonButton,\n  },\n})\nexport default class GuestHeader extends Vue {\n  public name = \"GuestHeader\";\n\n  @Prop({ type: Boolean, default: () => false })\n  public hideMenuButton!: boolean;\n\n  @Prop({ type: Boolean, default: () => false })\n  public showBackButton!: boolean;\n\n  @Prop({ type: Function, default: () => null })\n  public customBackButtonFunc!: any;\n\n  @Prop({ type: Boolean, default: () => false })\n  public hideLogo!: any;\n\n  @Prop({ type: Boolean, default: () => false })\n  public useCustomFunc!: any;\n\n  @Prop({ type: String, default: () => \"/home\" })\n  public to!: string;\n\n  public onClickBack(): void {\n    if (this.useCustomFunc) {\n      this.customBackButtonFunc();\n    } else {\n      this.$router.go(-1);\n    }\n  }\n}\n","import { render } from \"./GuestHeader.vue?vue&type=template&id=b47bdc80&ts=true\"\nimport script from \"./GuestHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./GuestHeader.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","var arrayMap = require('./_arrayMap');\n\n/**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\nfunction baseValues(object, props) {\n  return arrayMap(props, function(key) {\n    return object[key];\n  });\n}\n\nmodule.exports = baseValues;\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar getAll = uncurryThis(URLSearchParamsPrototype.getAll);\nvar $has = uncurryThis(URLSearchParamsPrototype.has);\nvar params = new $URLSearchParams('a=1');\n\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nif (params.has('a', 2) || !params.has('a', undefined)) {\n  defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) {\n    var length = arguments.length;\n    var $value = length < 2 ? undefined : arguments[1];\n    if (length && $value === undefined) return $has(this, name);\n    var values = getAll(this, name); // also validates `this`\n    validateArgumentsLength(length, 1);\n    var value = toString($value);\n    var index = 0;\n    while (index < values.length) {\n      if (values[index++] === value) return true;\n    } return false;\n  }, { enumerable: true, unsafe: true });\n}\n","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vShow as _vShow, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = {\n  key: 0,\n  class: \"fa-solid fa-2xl fa-book-open-cover\"\n}\nconst _hoisted_2 = {\n  key: 1,\n  class: \"fa-thin fa-2xl fa-book-open-cover\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return _withDirectives((_openBlock(), _createElementBlock(\"div\", {\n    class: \"pointer\",\n    onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.clickHandle && _ctx.clickHandle(...args)))\n  }, [\n    (_ctx.active)\n      ? (_openBlock(), _createElementBlock(\"i\", _hoisted_1))\n      : (_openBlock(), _createElementBlock(\"i\", _hoisted_2))\n  ], 512)), [\n    [_vShow, _ctx.question.hint]\n  ])\n}","\nimport { Options, Prop, Vue } from \"vue-property-decorator\";\nimport emitter from \"@/utils/EventBus\";\nimport { IQuestion } from \"@/interfaces/IQuestion\";\nimport { PropType } from \"vue\";\n\n@Options({})\nexport default class HintButton extends Vue {\n  name = \"HintButton\";\n\n  @Prop({ type: Object as PropType<IQuestion> })\n  public question!: IQuestion;\n\n  public active = false;\n\n  public clickHandle() {\n    if (this.question?.hint) {\n      this.active = !this.active;\n      this.$emit(\"click\");\n      emitter.$emit(\"question-hint-toggle\");\n    }\n  }\n\n  public mounted() {\n    emitter.$on(\"question-hint-model\", (value: boolean) => {\n      if (this.question?.hint) this.active = value;\n    });\n  }\n}\n","import { render } from \"./HintButton.vue?vue&type=template&id=4adf5af2&ts=true\"\nimport script from \"./HintButton.vue?vue&type=script&lang=ts\"\nexport * from \"./HintButton.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","module.exports = __webpack_public_path__ + \"img/fragentutor_active_compressed.ed30b9c0.png\";","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createElementVNode as _createElementVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = {\n  class: \"row justify-content-center\",\n  style: {\"margin-top\":\"50px\",\"margin-bottom\":\"20px\"}\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_SchoolLogo = _resolveComponent(\"SchoolLogo\")!\n  const _component_TrainingBlockHeader = _resolveComponent(\"TrainingBlockHeader\")!\n  const _component_TrainingBlock = _resolveComponent(\"TrainingBlock\")!\n  const _component_FragenBlock = _resolveComponent(\"FragenBlock\")!\n  const _component_b_col = _resolveComponent(\"b-col\")!\n  const _component_GuestLayout = _resolveComponent(\"GuestLayout\")!\n\n  return (_openBlock(), _createBlock(_component_GuestLayout, null, {\n    default: _withCtx(() => [\n      _createElementVNode(\"div\", _hoisted_1, [\n        _createVNode(_component_b_col, {\n          cols: \"10\",\n          sm: \"8\",\n          md: \"6\",\n          lg: \"4\",\n          class: \"justify-content-center align-items-center d-flex flex-column\"\n        }, {\n          default: _withCtx(() => [\n            _createVNode(_component_SchoolLogo, { \"driving-school-id\": _ctx.drivingSchoolId }, null, 8, [\"driving-school-id\"]),\n            _createVNode(_component_TrainingBlockHeader),\n            _createVNode(_component_TrainingBlock),\n            _createVNode(_component_FragenBlock)\n          ]),\n          _: 1\n        })\n      ])\n    ]),\n    _: 1\n  }))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\nimport _imports_0 from '@/assets/img/education/education.svg'\n\n\nconst _hoisted_1 = { class: \"d-grid grid-cols-3\" }\nconst _hoisted_2 = { class: \"col-span-2 d-flex align-items-center\" }\nconst _hoisted_3 = { class: \"font-weight-semibold my-0 font-size-30 text-uppercase mr-3\" }\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"col-span-2 row-span-2\" }, [\n  /*#__PURE__*/_createElementVNode(\"h6\", null, \"Wähle eine Klasse und den gewünschten Kurs Termin\")\n], -1)\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-span-3 row-start-1 col-start-3 d-flex justify-content-end align-items-end\" }, [\n  /*#__PURE__*/_createElementVNode(\"img\", {\n    src: _imports_0,\n    class: \"image h-75\",\n    alt: \"\",\n    style: {\"transform\":\"scaleX(-1)\"}\n  })\n], -1)\nconst _hoisted_6 = { class: \"col-span-3\" }\nconst _hoisted_7 = { class: \"font-size-18 font-weight-light text-white\" }\nconst _hoisted_8 = { class: \"col-span-3 mt-3\" }\nconst _hoisted_9 = { class: \"font-size-18 font-weight-light text-white\" }\nconst _hoisted_10 = { class: \"col-span-3 mt-3\" }\nconst _hoisted_11 = /*#__PURE__*/_createElementVNode(\"label\", { class: \"font-size-18 font-weight-light text-white\" }, \" Gewünschte Filiale \", -1)\nconst _hoisted_12 = { class: \"col-span-3 mt-4\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_FscMultiselect = _resolveComponent(\"FscMultiselect\")!\n  const _component_b_overlay = _resolveComponent(\"b-overlay\")!\n  const _component_Validation = _resolveComponent(\"Validation\")!\n\n  return (_openBlock(), _createBlock(_component_b_overlay, { class: \"bg-color-eminence-500 radius-10 p-4 text-white w-100 mb-2\" }, {\n    default: _withCtx(() => [\n      _createElementVNode(\"div\", _hoisted_1, [\n        _createElementVNode(\"div\", _hoisted_2, [\n          _createElementVNode(\"h1\", _hoisted_3, _toDisplayString(_ctx.$t(\"sidebar.training\")), 1)\n        ]),\n        _hoisted_4,\n        _hoisted_5,\n        _createElementVNode(\"div\", _hoisted_6, [\n          _createElementVNode(\"label\", _hoisted_7, _toDisplayString(_ctx.$t(\"students.desired_class\")) + \" * \", 1),\n          _createVNode(_component_Validation, {\n            validations: _ctx.v$.licenseClass,\n            \"show-errors\": true\n          }, {\n            default: _withCtx(({ invalid }) => [\n              _createVNode(_component_b_overlay, {\n                show: _ctx.currentRegistrationLoading,\n                variant: 'primary'\n              }, {\n                default: _withCtx(() => [\n                  _createVNode(_component_FscMultiselect, {\n                    modelValue: _ctx.licenseClassComputed,\n                    \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.licenseClassComputed) = $event)),\n                    options: _ctx.licenceClasses,\n                    \"track-by\": \"id\",\n                    label: \"name\",\n                    placeholder: _ctx.$t('calendar.option_placeholder'),\n                    \"select-label\": _ctx.$t('calendar.enter_placeholder'),\n                    \"deselect-label\": _ctx.$t('calendar.enter_remove'),\n                    \"selected-label\": _ctx.$t('calendar.selected'),\n                    onSelect: _ctx.onSelectLicenseClass,\n                    onRemove: _ctx.onDeselectLicenseClass,\n                    onOpen: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onOpenMultiselect('licenseClass', 180))),\n                    onClose: _ctx.onCloseMultiselect,\n                    openDirection: \"bottom\",\n                    maxHeight: 190,\n                    searchable: true,\n                    class: _normalizeClass({ multiselect__invalid: invalid })\n                  }, null, 8, [\"modelValue\", \"options\", \"placeholder\", \"select-label\", \"deselect-label\", \"selected-label\", \"onSelect\", \"onRemove\", \"onClose\", \"class\"])\n                ]),\n                _: 2\n              }, 1032, [\"show\"])\n            ]),\n            _: 1\n          }, 8, [\"validations\"])\n        ]),\n        _createElementVNode(\"div\", _hoisted_8, [\n          _createElementVNode(\"label\", _hoisted_9, _toDisplayString(_ctx.$t(\"students.desired_course\")), 1),\n          _createVNode(_component_Validation, {\n            validations: _ctx.v$.theoryCourse\n          }, {\n            default: _withCtx(() => [\n              _createVNode(_component_b_overlay, {\n                show: _ctx.currentRegistrationLoading,\n                variant: 'primary'\n              }, {\n                default: _withCtx(() => [\n                  _createVNode(_component_FscMultiselect, {\n                    modelValue: _ctx.theoryCourseComputed,\n                    \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.theoryCourseComputed) = $event)),\n                    options: _ctx.theoryCoursesWithFreeSlotsOnly,\n                    \"track-by\": \"name\",\n                    label: \"name\",\n                    placeholder: _ctx.$t('calendar.option_placeholder'),\n                    \"select-label\": _ctx.$t('calendar.enter_placeholder'),\n                    \"deselect-label\": _ctx.$t('calendar.enter_remove'),\n                    \"selected-label\": _ctx.$t('calendar.selected'),\n                    \"custom-label\": _ctx.nameWithStartDate,\n                    onOpen: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onOpenMultiselect('theoryCourse', 260))),\n                    onClose: _ctx.onCloseMultiselect,\n                    maxHeight: 190,\n                    openDirection: \"bottom\",\n                    searchable: true\n                  }, null, 8, [\"modelValue\", \"options\", \"placeholder\", \"select-label\", \"deselect-label\", \"selected-label\", \"custom-label\", \"onClose\"])\n                ]),\n                _: 1\n              }, 8, [\"show\"])\n            ]),\n            _: 1\n          }, 8, [\"validations\"])\n        ]),\n        _createElementVNode(\"div\", _hoisted_10, [\n          _hoisted_11,\n          _createVNode(_component_Validation, {\n            validations: _ctx.v$.branch\n          }, {\n            default: _withCtx(() => [\n              _createVNode(_component_FscMultiselect, {\n                modelValue: _ctx.branchComputed,\n                \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.branchComputed) = $event)),\n                options: _ctx.publicBranchesFilter,\n                \"track-by\": \"id\",\n                label: \"name\",\n                placeholder: _ctx.$t('calendar.option_placeholder'),\n                \"select-label\": _ctx.$t('calendar.enter_placeholder'),\n                \"deselect-label\": _ctx.$t('calendar.enter_remove'),\n                \"selected-label\": _ctx.$t('calendar.selected'),\n                onOpen: _cache[5] || (_cache[5] = ($event: any) => (_ctx.onOpenMultiselect('branch', 340))),\n                onClose: _ctx.onCloseMultiselect,\n                onSelect: _ctx.onSelectBranch,\n                maxHeight: 190,\n                openDirection: \"bottom\",\n                searchable: true\n              }, null, 8, [\"modelValue\", \"options\", \"placeholder\", \"select-label\", \"deselect-label\", \"selected-label\", \"onClose\", \"onSelect\"])\n            ]),\n            _: 1\n          }, 8, [\"validations\"])\n        ]),\n        _createElementVNode(\"div\", _hoisted_12, [\n          _createVNode(_component_b_overlay, {\n            show: _ctx.currentRegistrationLoading,\n            variant: 'primary'\n          }, {\n            default: _withCtx(() => [\n              _createElementVNode(\"button\", {\n                class: \"request-btn\",\n                onClick: _cache[6] || (_cache[6] = \n//@ts-ignore\n(...args) => (_ctx.onRequest && _ctx.onRequest(...args)))\n              }, \"Ausbildung anfragen\")\n            ]),\n            _: 1\n          }, 8, [\"show\"])\n        ])\n      ])\n    ]),\n    _: 1\n  }))\n}","\r\nimport { Inject, Options, Vue } from \"vue-property-decorator\";\r\nimport FscMultiselect from \"@/components/FscMultiselect.vue\";\r\nimport { Mutation, namespace, State } from \"s-vuex-class\";\r\nimport { IBasicNamedDto } from \"@/interfaces/IBasicNamedDto\";\r\nimport UserService from \"@/services/UserService\";\r\nimport moment from \"moment\";\r\nimport { required } from \"@vuelidate/validators\";\r\nimport useVuelidate from \"@vuelidate/core\";\r\nimport Validation from \"@/components/Validation.vue\";\r\nimport useRequest from \"@/composable/useRequest\";\r\nimport { IShortRegistrationDto } from \"@/interfaces/IShortRegistrationDto\";\r\n\r\nconst PublicInfoModule = namespace(\"public-info\");\r\n\r\n@Options({\r\n  components: {\r\n    Validation,\r\n    FscMultiselect,\r\n  },\r\n  validations: {\r\n    licenseClass: { required },\r\n    theoryCourse: {},\r\n    branch: {},\r\n  },\r\n})\r\nexport default class TrainingBlock extends Vue {\r\n  public name = \"TrainingBlock\";\r\n\r\n  public v$ = useVuelidate();\r\n\r\n  private shortRegistrationsCurrent = useRequest<IShortRegistrationDto>();\r\n\r\n  @PublicInfoModule.Action(\"getLicenceClasses\")\r\n  public getLicenceClasses!: (drivingSchoolId: number) => Promise<any>;\r\n\r\n  @PublicInfoModule.Getter(\"getLicenceClasses\")\r\n  public licenceClasses!: any;\r\n\r\n  @PublicInfoModule.Mutation(\"SET_THEORY_COURSES\")\r\n  public SET_THEORY_COURSES!: any;\r\n\r\n  @PublicInfoModule.Action(\"getTheoryCourses\")\r\n  public getTheoryCourses!: (opt: { drivingSchoolId: number | undefined; licenseClass: string; branchId: null }) => Promise<any>;\r\n\r\n  @PublicInfoModule.Getter(\"getTheoryCourses\")\r\n  public theoryCourses!: any;\r\n\r\n  @PublicInfoModule.Getter(\"getIsLoading\")\r\n  public getIsLoading!: any;\r\n\r\n  @PublicInfoModule.Action(\"getBranches\")\r\n  public getBranches!: (drivingSchoolId: number) => Promise<any>;\r\n\r\n  @PublicInfoModule.Getter(\"getBranches\")\r\n  public branches!: any;\r\n\r\n  @State(\"licenseClass\")\r\n  protected licenseClass!: IBasicNamedDto | null;\r\n\r\n  @State(\"theoryCourse\")\r\n  protected theoryCourse!: IBasicNamedDto | null;\r\n\r\n  @State(\"branch\")\r\n  protected branch!: IBasicNamedDto | null;\r\n\r\n  @Mutation(\"setLicenseClass\")\r\n  protected setLicenseClass!: (payload: any) => void;\r\n\r\n  @Mutation(\"setTheoryCourse\")\r\n  protected setTheoryCourse!: (payload: any) => void;\r\n\r\n  @Mutation(\"setBranch\")\r\n  protected setBranch!: (payload: any) => void;\r\n\r\n  protected get licenseClassComputed() {\r\n    return this.licenseClass;\r\n  }\r\n\r\n  protected set licenseClassComputed(value: any) {\r\n    this.setLicenseClass(value);\r\n  }\r\n\r\n  protected get theoryCourseComputed() {\r\n    return this.theoryCourse;\r\n  }\r\n\r\n  protected set theoryCourseComputed(value: any) {\r\n    this.setTheoryCourse(value);\r\n  }\r\n\r\n  protected get branchComputed() {\r\n    return this.branch;\r\n  }\r\n\r\n  protected set branchComputed(value: any) {\r\n    this.setBranch(value);\r\n  }\r\n\r\n  private onSelectLicenseClass(option: IBasicNamedDto | null) {\r\n    this.theoryCourseComputed = null;\r\n    if (!this.drivingSchoolId || !option) return;\r\n    this.getTheoryCourses({\r\n      drivingSchoolId: this.drivingSchoolId,\r\n      licenseClass: option.name,\r\n      branchId: this.branchComputed?.id,\r\n    });\r\n  }\r\n\r\n  private onDeselectLicenseClass() {\r\n    this.theoryCourseComputed = null;\r\n    this.SET_THEORY_COURSES([]);\r\n  }\r\n\r\n  private onSelectBranch(option: IBasicNamedDto | null) {\r\n    this.branchComputed = option;\r\n    if (this.licenseClassComputed && option && option.id) {\r\n      this.getTheoryCourses({\r\n        drivingSchoolId: this.drivingSchoolId,\r\n        licenseClass: this.licenseClassComputed.name,\r\n        branchId: this.branchComputed?.id,\r\n      });\r\n    }\r\n  }\r\n\r\n  private get publicBranchesFilter() {\r\n    if (this.theoryCourseComputed) return [this.theoryCourseComputed.branch];\r\n    return this.branches;\r\n  }\r\n\r\n  public get drivingSchoolId() {\r\n    return UserService.getDrivingSchoolId();\r\n  }\r\n\r\n  public mounted() {\r\n    if (!this.drivingSchoolId) return;\r\n    this.getLicenceClasses(this.drivingSchoolId);\r\n    this.getBranches(this.drivingSchoolId);\r\n    if (!this.licenseClassComputed) {\r\n      this.currentRegistration();\r\n    }\r\n  }\r\n\r\n  private async currentRegistration() {\r\n    await this.shortRegistrationsCurrent.fetch({\r\n      url: `/student-pre-registrations/current`,\r\n    });\r\n\r\n    this.getTheoryCourses({\r\n      drivingSchoolId: this.drivingSchoolId,\r\n      //@ts-ignore\r\n      licenseClass: this.shortRegistrationsCurrent.data?.licenseClassEnum,\r\n      branchId: null,\r\n    });\r\n\r\n    this.licenseClassComputed = {\r\n      id: 0,\r\n      //@ts-ignore\r\n      name: this.shortRegistrationsCurrent.data?.licenseClassEnum,\r\n    };\r\n\r\n    //@ts-ignore\r\n    this.theoryCourseComputed = this.shortRegistrationsCurrent.data?.theoryCourse;\r\n  }\r\n\r\n  private onRequest() {\r\n    //@ts-ignore\r\n    this.v$.$touch();\r\n\r\n    //@ts-ignore\r\n    if (this.v$.$invalid) {\r\n      return;\r\n    }\r\n    if (!this.drivingSchoolId) {\r\n      console.error(\"Hasn't this.drivingSchoolId\");\r\n      return;\r\n    }\r\n\r\n    this.$router.push({\r\n      name: \"FullyCompleteRegistration\",\r\n      params: {\r\n        drivingSchool: this.drivingSchoolId,\r\n      },\r\n    });\r\n  }\r\n\r\n  public nameWithStartDate(option: { name: string; startDate: string; endDate: string }) {\r\n    const startDate = moment(option.startDate).format(\"DD.MM\");\r\n    const endDate = moment(option.endDate).format(\"DD.MM.YYYY\");\r\n    return `${startDate} - ${endDate} | ${option.name}`;\r\n  }\r\n\r\n  @Inject({ from: \"setScrollY\", default: () => null })\r\n  private setScrollY!: (value: boolean) => void;\r\n\r\n  @Inject({ from: \"scrollToPoint\", default: (valueY: number) => null })\r\n  private scrollToPoint!: (valueY: number) => void;\r\n\r\n  public async onOpenMultiselect(ref: string, scrollY: number) {\r\n    let newScrollY = scrollY;\r\n\r\n    const trainingBlockHeight = document.getElementById(\"training-block-header\")?.offsetHeight;\r\n    if (trainingBlockHeight) {\r\n      newScrollY += trainingBlockHeight;\r\n    }\r\n    await this.$nextTick(() => {\r\n      this.scrollToPoint(newScrollY);\r\n      setTimeout(() => {\r\n        this.setScrollY(false);\r\n      }, 100);\r\n    });\r\n  }\r\n\r\n  public onCloseMultiselect() {\r\n    this.setScrollY(true);\r\n  }\r\n\r\n  private get currentRegistrationLoading() {\r\n    return this.shortRegistrationsCurrent.loading || this.getIsLoading;\r\n  }\r\n\r\n  public get theoryCoursesWithFreeSlotsOnly() {\r\n    if (this.theoryCourses) {\r\n      return this.theoryCourses.filter((theoryCourse: any) => theoryCourse.freeSlots > 0);\r\n    }\r\n    return [];\r\n  }\r\n}\r\n","import { render } from \"./TrainingBlock.vue?vue&type=template&id=2b23371e&ts=true\"\nimport script from \"./TrainingBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./TrainingBlock.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\nimport _imports_0 from '@/assets/img/education/notebook-girl.png'\n\n\nconst _hoisted_1 = { class: \"d-grid grid-cols-3\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"col-span-2 d-flex align-items-center\" }, [\n  /*#__PURE__*/_createElementVNode(\"h1\", { class: \"font-weight-semibold my-0 font-size-30 text-uppercase mr-3\" }, \"FRAGEN STELLEN\")\n], -1)\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"col-span-2 row-span-2\" }, [\n  /*#__PURE__*/_createElementVNode(\"h6\", null, \"Du hast noch Fragen, bevor du eine Ausbildung anfragen möchtest? Kein Problem!\")\n], -1)\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-span-3 row-start-1 col-start-3 d-flex justify-content-end align-items-end\" }, [\n  /*#__PURE__*/_createElementVNode(\"img\", {\n    src: _imports_0,\n    class: \"image h-50\",\n    alt: \"\"\n  })\n], -1)\nconst _hoisted_5 = { class: \"col-span-3\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_router_link = _resolveComponent(\"router-link\")!\n  const _component_b_overlay = _resolveComponent(\"b-overlay\")!\n\n  return (_openBlock(), _createBlock(_component_b_overlay, { class: \"bg-color-trinidad-500 radius-10 p-4 text-white w-100\" }, {\n    default: _withCtx(() => [\n      _createElementVNode(\"div\", _hoisted_1, [\n        _hoisted_2,\n        _hoisted_3,\n        _hoisted_4,\n        _createElementVNode(\"div\", _hoisted_5, [\n          _createVNode(_component_router_link, {\n            to: { name: 'MoreInformation' },\n            class: \"bg-white w-100 radius-10 d-flex justify-content-center align-items-center font-weight-bold font-color-label-important font-size-25 py-3\"\n          }, {\n            default: _withCtx(() => [\n              _createTextVNode(\" Fragen stellen! \")\n            ]),\n            _: 1\n          })\n        ])\n      ])\n    ]),\n    _: 1\n  }))\n}","\nimport { Vue, Options } from \"vue-property-decorator\";\n\n@Options({})\nexport default class FragenBlock extends Vue {\n  public name = \"FragenBlock\";\n}\n","import { render } from \"./FragenBlock.vue?vue&type=template&id=c6783b9c&ts=true\"\nimport script from \"./FragenBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./FragenBlock.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport GuestLayout from \"@/layout/GuestLayout.vue\";\nimport TheoryBlock from \"@/components/Pages/Home/Theory/TheoryBlock.vue\";\nimport { defineComponent } from \"vue\";\nimport TheoryQuestions from \"@/views/Guest/TheoryQuestions.vue\";\nimport GuestTheoryBlock from \"@/views/Guest/GuestTheoryBlock.vue\";\nimport TrainingBlock from \"@/views/BasicUser/TrainingBlock.vue\";\nimport MobileTheoryBlock from \"@/views/Onboarding/MobileTheoryBlock.vue\";\nimport TrainingBlockHeader from \"@/views/BasicUser/TrainingBlockHeader.vue\";\nimport UserService from \"@/services/UserService\";\nimport FragenBlock from \"@/views/BasicUser/FragenBlock.vue\";\nimport SchoolLogo from \"@/components/Avatars/SchoolLogo.vue\";\nimport { useStore } from \"vuex\";\n\nexport default defineComponent({\n  name: \"Dashboard\",\n  components: {\n    MobileTheoryBlock,\n    TrainingBlock,\n    GuestTheoryBlock,\n    TheoryQuestions,\n    TheoryBlock,\n    GuestLayout,\n    TrainingBlockHeader,\n    FragenBlock,\n    SchoolLogo,\n  },\n  setup() {\n    const user = UserService.getUser();\n    const drivingSchoolId = UserService.getDrivingSchoolId();\n\n    return {\n      user,\n      drivingSchoolId,\n    };\n  },\n});\n","import { render } from \"./Dashboard.vue?vue&type=template&id=149a831b&ts=true\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=ts\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","var shuffleSelf = require('./_shuffleSelf'),\n    values = require('./values');\n\n/**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\nfunction baseShuffle(collection) {\n  return shuffleSelf(values(collection));\n}\n\nmodule.exports = baseShuffle;\n","module.exports = __webpack_public_path__ + \"img/fragentutor_standard_compressed.1c3d3c6b.png\";","import { renderSlot as _renderSlot, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, normalizeClass as _normalizeClass, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_GuestHeader = _resolveComponent(\"GuestHeader\")!\n  const _component_ion_content = _resolveComponent(\"ion-content\")!\n  const _component_ion_page = _resolveComponent(\"ion-page\")!\n\n  return (_openBlock(), _createBlock(_component_ion_page, {\n    class: _normalizeClass([\"ion-page\", { 'safe-area': _ctx.safeArea }])\n  }, {\n    default: _withCtx(() => [\n      _renderSlot(_ctx.$slots, \"header\", {}, () => [\n        _createVNode(_component_GuestHeader, {\n          hideMenuButton: _ctx.hideMenuButton,\n          showBackButton: _ctx.showBackButton,\n          customBackButtonFunc: _ctx.customBackButtonFunc,\n          hideLogo: _ctx.hideLogo,\n          useCustomFunc: _ctx.useCustomFunc\n        }, null, 8, [\"hideMenuButton\", \"showBackButton\", \"customBackButtonFunc\", \"hideLogo\", \"useCustomFunc\"])\n      ]),\n      _createVNode(_component_ion_content, {\n        scrollY: _ctx.scrollY,\n        ref: \"ionContent\"\n      }, {\n        default: _withCtx(() => [\n          _renderSlot(_ctx.$slots, \"default\")\n        ]),\n        _: 3\n      }, 8, [\"scrollY\"])\n    ]),\n    _: 3\n  }, 8, [\"class\"]))\n}","\nimport { Options, Prop, Provide, Vue } from \"vue-property-decorator\";\nimport { IonPage, IonContent } from \"@ionic/vue\";\nimport GuestHeader from \"@/components/Headers/GuestHeader.vue\";\n\n@Options({\n  components: {\n    GuestHeader,\n    IonPage,\n    IonContent,\n  },\n})\nexport default class GuestLayout extends Vue {\n  public name = \"GuestLayout\";\n\n  private scrollY = true;\n\n  @Prop({ type: Boolean, default: () => false })\n  public hideMenuButton!: boolean;\n\n  @Prop({ type: Boolean, default: () => false })\n  public showBackButton!: boolean;\n\n  @Prop({ type: Function, default: () => null })\n  public customBackButtonFunc!: () => void;\n\n  @Prop({ type: Boolean, default: () => false })\n  public hideLogo!: any;\n\n  @Prop({ type: Boolean, default: () => false })\n  public useCustomFunc!: any;\n\n  @Prop({ type: Boolean, default: () => false })\n  public safeArea!: boolean;\n\n  @Provide({ to: \"setScrollY\" })\n  public setScrollY(value: boolean) {\n    console.log(value, \"setScrollY\");\n    this.scrollY = value;\n  }\n\n  @Provide({ to: \"scrollToPoint\" })\n  public scrollToPoint(valueY: number) {\n    console.log(valueY, \"scrollToPoint\");\n    this.$nextTick(() => {\n      //@ts-ignore\n      this.$refs.ionContent.$el.scrollToPoint(null, valueY);\n    });\n  }\n}\n","import { render } from \"./GuestLayout.vue?vue&type=template&id=6a180f3a&ts=true\"\nimport script from \"./GuestLayout.vue?vue&type=script&lang=ts\"\nexport * from \"./GuestLayout.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"w-100 mx-auto px-3 d-flex flex-column\" }\nconst _hoisted_2 = { class: \"bg-curious-blue-500 radius-10 p-4 px-xl-5 py-xl-5 text-white fsc-block th-qs\" }\nconst _hoisted_3 = { class: \"theory-questions\" }\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-comment-check mr-3 d-none d-xl-inline-block\" }, null, -1)\nconst _hoisted_5 = { class: \"font-weight-bold\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_Question = _resolveComponent(\"Question\")!\n  const _component_b_overlay = _resolveComponent(\"b-overlay\")!\n  const _component_b_col = _resolveComponent(\"b-col\")!\n  const _component_b_row = _resolveComponent(\"b-row\")!\n  const _component_BackButton = _resolveComponent(\"BackButton\")!\n  const _component_HintButton = _resolveComponent(\"HintButton\")!\n  const _component_b_button = _resolveComponent(\"b-button\")!\n  const _component_NextButton = _resolveComponent(\"NextButton\")!\n  const _component_QuestionHint = _resolveComponent(\"QuestionHint\")!\n\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    _createVNode(_component_b_row, { id: \"question-content\" }, {\n      default: _withCtx(() => [\n        _createVNode(_component_b_col, null, {\n          default: _withCtx(() => [\n            _createElementVNode(\"div\", _hoisted_2, [\n              _createVNode(_component_b_overlay, {\n                id: \"overlay-background\",\n                show: _ctx.loading,\n                rounded: \"sm\",\n                opacity: \"0.1\"\n              }, {\n                default: _withCtx(() => [\n                  _createElementVNode(\"div\", _hoisted_3, [\n                    (_ctx.question)\n                      ? (_openBlock(), _createBlock(_component_Question, {\n                          key: 0,\n                          question: _ctx.question,\n                          \"show-correct-answers\": _ctx.showCorrectAnswers,\n                          \"student-education\": 0,\n                          onOnShowSolutionButton: _cache[0] || (_cache[0] = ($event: any) => (_ctx.showSolutionButton = true)),\n                          onOnAnswer: _ctx.onAnswer\n                        }, null, 8, [\"question\", \"show-correct-answers\", \"onOnAnswer\"]))\n                      : _createCommentVNode(\"\", true)\n                  ])\n                ]),\n                _: 1\n              }, 8, [\"show\"])\n            ])\n          ]),\n          _: 1\n        })\n      ]),\n      _: 1\n    }),\n    _createVNode(_component_b_row, { class: \"my-3 my-md-1 order-0 order-md-1\" }, {\n      default: _withCtx(() => [\n        _createVNode(_component_BackButton, {\n          class: \"mb-0 invisible landscepe-visible\",\n          onClick: _ctx.goBack,\n          cols: \"6\"\n        }, null, 8, [\"onClick\"]),\n        _createVNode(_component_b_col, {\n          cols: \"6\",\n          class: \"d-flex align-items-center justify-content-end\"\n        }, {\n          default: _withCtx(() => [\n            (_ctx.question)\n              ? (_openBlock(), _createBlock(_component_HintButton, {\n                  key: 0,\n                  question: _ctx.question,\n                  class: \"hint-button\"\n                }, null, 8, [\"question\"]))\n              : _createCommentVNode(\"\", true),\n            (_ctx.showSolutionButton)\n              ? (_openBlock(), _createBlock(_component_b_button, {\n                  key: 1,\n                  onClick: _ctx.showSolutions,\n                  class: \"btn-theory\"\n                }, {\n                  default: _withCtx(() => [\n                    _hoisted_4,\n                    _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.$t(\"general.solution\")), 1)\n                  ]),\n                  _: 1\n                }, 8, [\"onClick\"]))\n              : (_openBlock(), _createBlock(_component_NextButton, {\n                  key: 2,\n                  onClick: _ctx.goToNext,\n                  loading: _ctx.loading\n                }, null, 8, [\"onClick\", \"loading\"]))\n          ]),\n          _: 1\n        })\n      ]),\n      _: 1\n    }),\n    _createVNode(_component_b_row, { class: \"mb-5 my-md-3 order-1 order-md-0\" }, {\n      default: _withCtx(() => [\n        _createVNode(_component_b_col, null, {\n          default: _withCtx(() => [\n            _createVNode(_component_QuestionHint, { question: _ctx.question }, null, 8, [\"question\"])\n          ]),\n          _: 1\n        })\n      ]),\n      _: 1\n    })\n  ]))\n}","\nimport { defineComponent, ref } from \"vue\";\nimport Question from \"@/components/Pages/TheoryQuestions/Question.vue\";\nimport BackButton from \"@/components/Pages/TheoryQuestions/BackButton.vue\";\nimport QuestionHint from \"@/components/QuestionHint.vue\";\nimport NextButton from \"@/components/NextButton.vue\";\nimport HintButton from \"@/components/HintButton.vue\";\n\nexport default defineComponent({\n  name: \"TheoryQuestions\",\n  components: { NextButton, QuestionHint, BackButton, Question, HintButton },\n  props: {\n    loading: {\n      type: Boolean,\n      default: () => false,\n    },\n    question: {},\n    goBack: {\n      type: Function,\n      default: () => null,\n    },\n  },\n  emits: [\"next\", \"on-answer\"],\n  setup(props, { emit }) {\n    const showSolutionButton = ref(false);\n    const showCorrectAnswers = ref(false);\n\n    const showSolutions = () => {\n      showSolutionButton.value = false;\n      showCorrectAnswers.value = true;\n    };\n\n    const goToNext = () => {\n      showCorrectAnswers.value = false;\n      emit(\"next\");\n    };\n\n    const onAnswer = (answerData: any) => {\n      emit(\"on-answer\", answerData);\n    };\n\n    return {\n      showSolutionButton,\n      showCorrectAnswers,\n      showSolutions,\n      goToNext,\n      onAnswer,\n    };\n  },\n});\n","import { render } from \"./TheoryQuestions.vue?vue&type=template&id=2affeddb&ts=true\"\nimport script from \"./TheoryQuestions.vue?vue&type=script&lang=ts\"\nexport * from \"./TheoryQuestions.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","var baseValues = require('./_baseValues'),\n    keys = require('./keys');\n\n/**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\nfunction values(object) {\n  return object == null ? [] : baseValues(object, keys(object));\n}\n\nmodule.exports = values;\n","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, normalizeClass as _normalizeClass, withCtx as _withCtx } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_b_tab = _resolveComponent(\"b-tab\")!\n  const _component_b_tabs = _resolveComponent(\"b-tabs\")!\n\n  return (_openBlock(), _createBlock(_component_b_tabs, {\n    style: {\"height\":\"60px\"},\n    class: _normalizeClass([\"education-tabs\", _ctx.colorClass]),\n    pills: \"\",\n    \"active-nav-item-class\": \"active-nav-item\",\n    \"model-value\": _ctx.initialEducationIndex,\n    disabled: \"\",\n    onActivateTab: _ctx.onActiveEducationIndexChange\n  }, {\n    default: _withCtx(() => [\n      (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.educationClasses, (educationClass) => {\n        return (_openBlock(), _createBlock(_component_b_tab, {\n          disabled: _ctx.disabled,\n          key: educationClass.id,\n          title: educationClass.mainLicenseClass\n        }, null, 8, [\"disabled\", \"title\"]))\n      }), 128))\n    ]),\n    _: 1\n  }, 8, [\"class\", \"model-value\", \"onActivateTab\"]))\n}","\nimport { Options, Prop, Vue } from \"vue-property-decorator\";\n\n@Options({\n  components: {},\n})\nexport default class EducationTabs extends Vue {\n  @Prop({ type: String, default: \"curious-blue\" })\n  private colorClass!: string;\n\n  @Prop()\n  private educationClasses!: any;\n\n  @Prop({ default: () => 0 })\n  private initialEducationIndex!: number;\n\n  @Prop({ default: () => false, type: Boolean })\n  public disabled!: boolean;\n\n  public mounted() {\n    this.$emit(\"education-class-changed\", this.educationClasses[this.initialEducationIndex]);\n  }\n\n  private onActiveEducationIndexChange(activeEducationIndex: number, prevIndex: number): void {\n    if (activeEducationIndex != prevIndex) {\n      this.$emit(\"education-class-changed\", this.educationClasses[activeEducationIndex]);\n    }\n  }\n}\n","import { render } from \"./EducationTabs.vue?vue&type=template&id=38dce4b8&ts=true\"\nimport script from \"./EducationTabs.vue?vue&type=script&lang=ts\"\nexport * from \"./EducationTabs.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","var E = require('./index.js');\nmodule.exports = new E();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./MobileTheoryBlock.vue?vue&type=style&index=0&id=163a30fa&lang=scss\"","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar URLSearchParamsPrototype = URLSearchParams.prototype;\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {\n  defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n    get: function size() {\n      var count = 0;\n      forEach(this, function () { count++; });\n      return count;\n    },\n    configurable: true,\n    enumerable: true\n  });\n}\n","import { createElementVNode as _createElementVNode, vShow as _vShow, withDirectives as _withDirectives, resolveDirective as _resolveDirective, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"h-100 w-100 position-relative\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"fat fa-x fa-xl\" }, null, -1)\nconst _hoisted_3 = [\n  _hoisted_2\n]\nconst _hoisted_4 = { class: \"fat fa-pause-circle fa-4x\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_ion_content = _resolveComponent(\"ion-content\")!\n  const _component_ion_modal = _resolveComponent(\"ion-modal\")!\n  const _directive_video = _resolveDirective(\"video\")!\n\n  return (_openBlock(), _createBlock(_component_ion_modal, {\n    \"is-open\": _ctx.showModal,\n    style: {\"--background\":\"#000000\",\"--width\":\"100%\",\"--height\":\"100%\"},\n    onDidDismiss: _ctx.didDismiss,\n    onDidPresent: _ctx.didPresent\n  }, {\n    default: _withCtx(() => [\n      _createVNode(_component_ion_content, null, {\n        default: _withCtx(() => [\n          _createElementVNode(\"div\", _hoisted_1, [\n            _createElementVNode(\"button\", {\n              onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.onClose && _ctx.onClose(...args))),\n              class: \"position-absolute btn-safe-area text-white border-0 bg-transparent shadow-none\",\n              style: {\"outline\":\"none\",\"width\":\"40px\",\"height\":\"40px\",\"z-index\":\"10\"}\n            }, _hoisted_3),\n            _createElementVNode(\"button\", {\n              class: \"position-absolute text-white border-0 bg-transparent shadow-none\",\n              style: {\"inset\":\"0\",\"z-index\":\"2\"},\n              onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.toggleVideoPlaying && _ctx.toggleVideoPlaying(...args)))\n            }, [\n              _withDirectives(_createElementVNode(\"i\", _hoisted_4, null, 512), [\n                [_vShow, _ctx.videoIsPaused]\n              ])\n            ]),\n            _withDirectives(_createElementVNode(\"video\", {\n              style: {\"z-index\":\"1\"},\n              playsinline: false,\n              class: \"pointer h-100 w-100\",\n              autoplay: true,\n              ref: \"videoPlayer\",\n              disablepictureinpicture: \"\",\n              controlslist: \"nodownload noplaybackrate\",\n              onLoadedmetadata: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.onLoad && _ctx.onLoad(...args))),\n              onError: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.onError && _ctx.onError(...args))),\n              onEnded: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.onEnded && _ctx.onEnded(...args))),\n              poster: \"noposter\"\n            }, null, 544), [\n              [_directive_video, {\n            url: _ctx.videoURL,\n            posterUrl: _ctx.posterURL,\n          }]\n            ])\n          ])\n        ]),\n        _: 1\n      })\n    ]),\n    _: 1\n  }, 8, [\"is-open\", \"onDidDismiss\", \"onDidPresent\"]))\n}","import isEqual from \"lodash/isEqual\";\nasync function setVideoSrc(el: HTMLElement, binding: any, vNode: any) {\n  const baseURL = process.env.VUE_APP_BACKEND_BASE_URL + \"/\";\n\n  if (binding.oldValue === undefined || !isEqual(binding.value, binding.oldValue)) {\n    const videoURL = binding.value?.url;\n    const videoPosterURL = binding.value?.posterUrl;\n\n    if (!videoURL) {\n      throw new Error(\"[vue-video] please set url.\");\n    }\n\n    if (videoPosterURL instanceof Promise) {\n      const videoPoster = await videoPosterURL;\n\n      if (videoPoster.status == \"success\") {\n        el.setAttribute(\"poster\", videoPoster.src);\n      } else {\n        el.setAttribute(\"poster\", baseURL + videoPoster.src);\n      }\n    } else {\n      el.setAttribute(\"poster\", baseURL + videoPosterURL);\n    }\n\n    if (videoURL instanceof Promise) {\n      const video = await videoURL;\n      if (video.status == \"success\") {\n        el.setAttribute(\"src\", video.src);\n      } else {\n        el.setAttribute(\"src\", baseURL + video.src);\n      }\n    } else {\n      el.setAttribute(\"src\", baseURL + videoURL);\n    }\n  }\n}\n\nexport default class Video {\n  public beforeMount(el: HTMLElement, binding: any, vNode: any) {\n    setVideoSrc(el, binding, vNode);\n  }\n\n  public updated(el: HTMLElement, binding: any, vNode: any) {\n    setVideoSrc(el, binding, vNode);\n  }\n}\n","export var Style;\n(function (Style) {\n    /**\n     * Light text for dark backgrounds.\n     *\n     * @since 1.0.0\n     */\n    Style[\"Dark\"] = \"DARK\";\n    /**\n     * Dark text for light backgrounds.\n     *\n     * @since 1.0.0\n     */\n    Style[\"Light\"] = \"LIGHT\";\n    /**\n     * The style is based on the device appearance.\n     * If the device is using Dark mode, the statusbar text will be light.\n     * If the device is using Light mode, the statusbar text will be dark.\n     * On Android the default will be the one the app was launched with.\n     *\n     * @since 1.0.0\n     */\n    Style[\"Default\"] = \"DEFAULT\";\n})(Style || (Style = {}));\nexport var Animation;\n(function (Animation) {\n    /**\n     * No animation during show/hide.\n     *\n     * @since 1.0.0\n     */\n    Animation[\"None\"] = \"NONE\";\n    /**\n     * Slide animation during show/hide.\n     * It doesn't work on iOS 15+.\n     *\n     * @since 1.0.0\n     */\n    Animation[\"Slide\"] = \"SLIDE\";\n    /**\n     * Fade animation during show/hide.\n     *\n     * @since 1.0.0\n     */\n    Animation[\"Fade\"] = \"FADE\";\n})(Animation || (Animation = {}));\n/**\n * @deprecated Use `Animation`.\n * @since 1.0.0\n */\nexport const StatusBarAnimation = Animation;\n/**\n * @deprecated Use `Style`.\n * @since 1.0.0\n */\nexport const StatusBarStyle = Style;\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nconst StatusBar = registerPlugin('StatusBar');\nexport * from './definitions';\nexport { StatusBar };\n//# sourceMappingURL=index.js.map","import { registerPlugin } from '@capacitor/core';\r\nconst KeepAwake = registerPlugin('KeepAwake', {\r\n    web: () => import('./web').then(m => new m.KeepAwakeWeb()),\r\n});\r\nexport * from './definitions';\r\nexport { KeepAwake };\r\n//# sourceMappingURL=index.js.map","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nimport { AwesomeCordovaNativePlugin, cordova } from '@awesome-cordova-plugins/core';\n/**\n * Bit flag values for setSystemUiVisibility()\n *\n * @see  https://developer.android.com/reference/android/view/View.html#setSystemUiVisibility(int)\n */\nexport var AndroidSystemUiFlags;\n(function (AndroidSystemUiFlags) {\n    /** View has requested the system UI (status bar) to be visible (the default). SYSTEM_UI_FLAG_VISIBLE */\n    AndroidSystemUiFlags[AndroidSystemUiFlags[\"Visible\"] = 0] = \"Visible\";\n    /** View has requested the system UI to enter an unobtrusive \"low profile\" mode. SYSTEM_UI_FLAG_LOW_PROFILE */\n    AndroidSystemUiFlags[AndroidSystemUiFlags[\"LowProfile\"] = 1] = \"LowProfile\";\n    /** View has requested that the system navigation be temporarily hidden. SYSTEM_UI_FLAG_HIDE_NAVIGATION */\n    AndroidSystemUiFlags[AndroidSystemUiFlags[\"HideNavigation\"] = 2] = \"HideNavigation\";\n    /** View has requested to go into the normal fullscreen mode so that its content can take over the screen while still allowing the user to interact with the application. SYSTEM_UI_FLAG_FULLSCREEN */\n    AndroidSystemUiFlags[AndroidSystemUiFlags[\"Fullscreen\"] = 4] = \"Fullscreen\";\n    /** When using other layout flags, we would like a stable view of the content insets given to fitSystemWindows(Rect). SYSTEM_UI_FLAG_LAYOUT_STABLE */\n    AndroidSystemUiFlags[AndroidSystemUiFlags[\"LayoutStable\"] = 256] = \"LayoutStable\";\n    /** View would like its window to be laid out as if it has requested SYSTEM_UI_FLAG_HIDE_NAVIGATION, even if it currently hasn't. SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION */\n    AndroidSystemUiFlags[AndroidSystemUiFlags[\"LayoutHideNavigation\"] = 512] = \"LayoutHideNavigation\";\n    /** View would like its window to be laid out as if it has requested SYSTEM_UI_FLAG_FULLSCREEN, even if it currently hasn't. SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN */\n    AndroidSystemUiFlags[AndroidSystemUiFlags[\"LayoutFullscreen\"] = 1024] = \"LayoutFullscreen\";\n    /** View would like to remain interactive when hiding the navigation bar with SYSTEM_UI_FLAG_HIDE_NAVIGATION. SYSTEM_UI_FLAG_IMMERSIVE */\n    AndroidSystemUiFlags[AndroidSystemUiFlags[\"Immersive\"] = 2048] = \"Immersive\";\n    /** View would like to remain interactive when hiding the status bar with SYSTEM_UI_FLAG_FULLSCREEN and/or hiding the navigation bar with SYSTEM_UI_FLAG_HIDE_NAVIGATION. SYSTEM_UI_FLAG_IMMERSIVE_STICKY */\n    AndroidSystemUiFlags[AndroidSystemUiFlags[\"ImmersiveSticky\"] = 4096] = \"ImmersiveSticky\";\n    /** Requests the status bar to draw in a mode that is compatible with light status bar backgrounds. SYSTEM_UI_FLAG_LIGHT_STATUS_BAR */\n    AndroidSystemUiFlags[AndroidSystemUiFlags[\"LightStatusBar\"] = 8192] = \"LightStatusBar\";\n})(AndroidSystemUiFlags || (AndroidSystemUiFlags = {}));\nvar AndroidFullScreenOriginal = /** @class */ (function (_super) {\n    __extends(AndroidFullScreenOriginal, _super);\n    function AndroidFullScreenOriginal() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    AndroidFullScreenOriginal.prototype.isSupported = function () { return cordova(this, \"isSupported\", {}, arguments); };\n    AndroidFullScreenOriginal.prototype.isImmersiveModeSupported = function () { return cordova(this, \"isImmersiveModeSupported\", {}, arguments); };\n    AndroidFullScreenOriginal.prototype.immersiveWidth = function () { return cordova(this, \"immersiveWidth\", {}, arguments); };\n    AndroidFullScreenOriginal.prototype.immersiveHeight = function () { return cordova(this, \"immersiveHeight\", {}, arguments); };\n    AndroidFullScreenOriginal.prototype.leanMode = function () { return cordova(this, \"leanMode\", {}, arguments); };\n    AndroidFullScreenOriginal.prototype.showSystemUI = function () { return cordova(this, \"showSystemUI\", {}, arguments); };\n    AndroidFullScreenOriginal.prototype.showUnderStatusBar = function () { return cordova(this, \"showUnderStatusBar\", {}, arguments); };\n    AndroidFullScreenOriginal.prototype.showUnderSystemUI = function () { return cordova(this, \"showUnderSystemUI\", {}, arguments); };\n    AndroidFullScreenOriginal.prototype.immersiveMode = function () { return cordova(this, \"immersiveMode\", {}, arguments); };\n    AndroidFullScreenOriginal.prototype.setSystemUiVisibility = function (visibility) { return cordova(this, \"setSystemUiVisibility\", {}, arguments); };\n    AndroidFullScreenOriginal.pluginName = \"AndroidFullScreen\";\n    AndroidFullScreenOriginal.plugin = \"cordova-plugin-fullscreen\";\n    AndroidFullScreenOriginal.pluginRef = \"AndroidFullScreen\";\n    AndroidFullScreenOriginal.repo = \"https://github.com/mesmotronic/cordova-plugin-fullscreen\";\n    AndroidFullScreenOriginal.platforms = [\"Android\"];\n    return AndroidFullScreenOriginal;\n}(AwesomeCordovaNativePlugin));\nvar AndroidFullScreen = new AndroidFullScreenOriginal();\nexport { AndroidFullScreen };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQGF3ZXNvbWUtY29yZG92YS1wbHVnaW5zL3BsdWdpbnMvYW5kcm9pZC1mdWxsLXNjcmVlbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFDQSxPQUFPLHVDQUErQyxNQUFNLCtCQUErQixDQUFDO0FBRTVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQU4sSUFBWSxvQkFxQlg7QUFyQkQsV0FBWSxvQkFBb0I7SUFDOUIsd0dBQXdHO0lBQ3hHLHFFQUFXLENBQUE7SUFDWCw4R0FBOEc7SUFDOUcsMkVBQWMsQ0FBQTtJQUNkLDBHQUEwRztJQUMxRyxtRkFBa0IsQ0FBQTtJQUNsQixzTUFBc007SUFDdE0sMkVBQWMsQ0FBQTtJQUNkLHFKQUFxSjtJQUNySixpRkFBa0IsQ0FBQTtJQUNsQiwwS0FBMEs7SUFDMUssaUdBQTBCLENBQUE7SUFDMUIsZ0tBQWdLO0lBQ2hLLDBGQUF1QixDQUFBO0lBQ3ZCLHlJQUF5STtJQUN6SSw0RUFBZ0IsQ0FBQTtJQUNoQiw0TUFBNE07SUFDNU0sd0ZBQXNCLENBQUE7SUFDdEIsc0lBQXNJO0lBQ3RJLHNGQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFyQlcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQXFCL0I7O0lBOEJzQyxxQ0FBMEI7Ozs7SUFPL0QsdUNBQVc7SUFVWCxvREFBd0I7SUFVeEIsMENBQWM7SUFVZCwyQ0FBZTtJQVVmLG9DQUFRO0lBVVIsd0NBQVk7SUFVWiw4Q0FBa0I7SUFVbEIsNkNBQWlCO0lBVWpCLHlDQUFhO0lBWWIsaURBQXFCLGFBQUMsVUFBZ0M7Ozs7Ozs0QkE5SnhEO0VBMkR1QywwQkFBMEI7U0FBcEQsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZG92YSwgQXdlc29tZUNvcmRvdmFOYXRpdmVQbHVnaW4sIFBsdWdpbiB9IGZyb20gJ0Bhd2Vzb21lLWNvcmRvdmEtcGx1Z2lucy9jb3JlJztcblxuLyoqXG4gKiBCaXQgZmxhZyB2YWx1ZXMgZm9yIHNldFN5c3RlbVVpVmlzaWJpbGl0eSgpXG4gKlxuICogQHNlZSAgaHR0cHM6Ly9kZXZlbG9wZXIuYW5kcm9pZC5jb20vcmVmZXJlbmNlL2FuZHJvaWQvdmlldy9WaWV3Lmh0bWwjc2V0U3lzdGVtVWlWaXNpYmlsaXR5KGludClcbiAqL1xuZXhwb3J0IGVudW0gQW5kcm9pZFN5c3RlbVVpRmxhZ3Mge1xuICAvKiogVmlldyBoYXMgcmVxdWVzdGVkIHRoZSBzeXN0ZW0gVUkgKHN0YXR1cyBiYXIpIHRvIGJlIHZpc2libGUgKHRoZSBkZWZhdWx0KS4gU1lTVEVNX1VJX0ZMQUdfVklTSUJMRSAqL1xuICBWaXNpYmxlID0gMCxcbiAgLyoqIFZpZXcgaGFzIHJlcXVlc3RlZCB0aGUgc3lzdGVtIFVJIHRvIGVudGVyIGFuIHVub2J0cnVzaXZlIFwibG93IHByb2ZpbGVcIiBtb2RlLiBTWVNURU1fVUlfRkxBR19MT1dfUFJPRklMRSAqL1xuICBMb3dQcm9maWxlID0gMSxcbiAgLyoqIFZpZXcgaGFzIHJlcXVlc3RlZCB0aGF0IHRoZSBzeXN0ZW0gbmF2aWdhdGlvbiBiZSB0ZW1wb3JhcmlseSBoaWRkZW4uIFNZU1RFTV9VSV9GTEFHX0hJREVfTkFWSUdBVElPTiAqL1xuICBIaWRlTmF2aWdhdGlvbiA9IDIsXG4gIC8qKiBWaWV3IGhhcyByZXF1ZXN0ZWQgdG8gZ28gaW50byB0aGUgbm9ybWFsIGZ1bGxzY3JlZW4gbW9kZSBzbyB0aGF0IGl0cyBjb250ZW50IGNhbiB0YWtlIG92ZXIgdGhlIHNjcmVlbiB3aGlsZSBzdGlsbCBhbGxvd2luZyB0aGUgdXNlciB0byBpbnRlcmFjdCB3aXRoIHRoZSBhcHBsaWNhdGlvbi4gU1lTVEVNX1VJX0ZMQUdfRlVMTFNDUkVFTiAqL1xuICBGdWxsc2NyZWVuID0gNCxcbiAgLyoqIFdoZW4gdXNpbmcgb3RoZXIgbGF5b3V0IGZsYWdzLCB3ZSB3b3VsZCBsaWtlIGEgc3RhYmxlIHZpZXcgb2YgdGhlIGNvbnRlbnQgaW5zZXRzIGdpdmVuIHRvIGZpdFN5c3RlbVdpbmRvd3MoUmVjdCkuIFNZU1RFTV9VSV9GTEFHX0xBWU9VVF9TVEFCTEUgKi9cbiAgTGF5b3V0U3RhYmxlID0gMjU2LFxuICAvKiogVmlldyB3b3VsZCBsaWtlIGl0cyB3aW5kb3cgdG8gYmUgbGFpZCBvdXQgYXMgaWYgaXQgaGFzIHJlcXVlc3RlZCBTWVNURU1fVUlfRkxBR19ISURFX05BVklHQVRJT04sIGV2ZW4gaWYgaXQgY3VycmVudGx5IGhhc24ndC4gU1lTVEVNX1VJX0ZMQUdfTEFZT1VUX0hJREVfTkFWSUdBVElPTiAqL1xuICBMYXlvdXRIaWRlTmF2aWdhdGlvbiA9IDUxMixcbiAgLyoqIFZpZXcgd291bGQgbGlrZSBpdHMgd2luZG93IHRvIGJlIGxhaWQgb3V0IGFzIGlmIGl0IGhhcyByZXF1ZXN0ZWQgU1lTVEVNX1VJX0ZMQUdfRlVMTFNDUkVFTiwgZXZlbiBpZiBpdCBjdXJyZW50bHkgaGFzbid0LiBTWVNURU1fVUlfRkxBR19MQVlPVVRfRlVMTFNDUkVFTiAqL1xuICBMYXlvdXRGdWxsc2NyZWVuID0gMTAyNCxcbiAgLyoqIFZpZXcgd291bGQgbGlrZSB0byByZW1haW4gaW50ZXJhY3RpdmUgd2hlbiBoaWRpbmcgdGhlIG5hdmlnYXRpb24gYmFyIHdpdGggU1lTVEVNX1VJX0ZMQUdfSElERV9OQVZJR0FUSU9OLiBTWVNURU1fVUlfRkxBR19JTU1FUlNJVkUgKi9cbiAgSW1tZXJzaXZlID0gMjA0OCxcbiAgLyoqIFZpZXcgd291bGQgbGlrZSB0byByZW1haW4gaW50ZXJhY3RpdmUgd2hlbiBoaWRpbmcgdGhlIHN0YXR1cyBiYXIgd2l0aCBTWVNURU1fVUlfRkxBR19GVUxMU0NSRUVOIGFuZC9vciBoaWRpbmcgdGhlIG5hdmlnYXRpb24gYmFyIHdpdGggU1lTVEVNX1VJX0ZMQUdfSElERV9OQVZJR0FUSU9OLiBTWVNURU1fVUlfRkxBR19JTU1FUlNJVkVfU1RJQ0tZICovXG4gIEltbWVyc2l2ZVN0aWNreSA9IDQwOTYsXG4gIC8qKiBSZXF1ZXN0cyB0aGUgc3RhdHVzIGJhciB0byBkcmF3IGluIGEgbW9kZSB0aGF0IGlzIGNvbXBhdGlibGUgd2l0aCBsaWdodCBzdGF0dXMgYmFyIGJhY2tncm91bmRzLiBTWVNURU1fVUlfRkxBR19MSUdIVF9TVEFUVVNfQkFSICovXG4gIExpZ2h0U3RhdHVzQmFyID0gODE5Mixcbn1cblxuLyoqXG4gKiBAbmFtZSBBbmRyb2lkIEZ1bGwgU2NyZWVuXG4gKiBAZGVzY3JpcHRpb25cbiAqIFRoaXMgcGx1Z2luIGVuYWJsZXMgZGV2ZWxvcGVycyB0byBvZmZlciB1c2VycyBhIHRydWUgZnVsbCBzY3JlZW4gZXhwZXJpZW5jZSBpbiB0aGVpciBDb3Jkb3ZhIGFuZCBQaG9uZUdhcCBhcHBzIGZvciBBbmRyb2lkLlxuICogVXNpbmcgQW5kcm9pZCA0LjArLCB5b3UgY2FuIHVzZSB0cnVlIGZ1bGwgc2NyZWVuIGluIFwibGVhbiBtb2RlXCIsIHRoZSB3YXkgeW91IHNlZSBpbiBhcHBzIGxpa2UgWW91VHViZSwgZXhwYW5kaW5nIHRoZSBhcHAgcmlnaHQgdG8gdGhlIGVkZ2VzIG9mIHRoZSBzY3JlZW4sIGhpZGluZyB0aGUgc3RhdHVzIGFuZCBuYXZpZ2F0aW9uIGJhcnMgdW50aWwgdGhlIHVzZXIgbmV4dCBpbnRlcmFjdHMuIFRoaXMgaXMgaWRlYWxseSBzdWl0ZWQgdG8gdmlkZW8gb3IgY3V0LXNjZW5lIGNvbnRlbnQuXG4gKiBJbiBBbmRyb2lkIDQuNCssIGhvd2V2ZXIsIHlvdSBjYW4gbm93IGVudGVyIHRydWUgZnVsbCBzY3JlZW4sIGZ1bGx5IGludGVyYWN0aXZlIGltbWVyc2l2ZSBtb2RlLiBJbiB0aGlzIG1vZGUsIHlvdXIgYXBwIHdpbGwgcmVtYWluIGluIHRydWUgZnVsbCBzY3JlZW4gdW50aWwgeW91IGNob29zZSBvdGhlcndpc2U7IHVzZXJzIGNhbiBzd2lwZSBkb3duIGZyb20gdGhlIHRvcCBvZiB0aGUgc2NyZWVuIHRvIHRlbXBvcmFyaWx5IGRpc3BsYXkgdGhlIHN5c3RlbSBVSS5cbiAqIEB1c2FnZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgQW5kcm9pZEZ1bGxTY3JlZW4gfSBmcm9tICdAYXdlc29tZS1jb3Jkb3ZhLXBsdWdpbnMvYW5kcm9pZC1mdWxsLXNjcmVlbi9uZ3gnO1xuICpcbiAqIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5kcm9pZEZ1bGxTY3JlZW46IEFuZHJvaWRGdWxsU2NyZWVuKSB7IH1cbiAqXG4gKiAuLi5cbiAqXG4gKiB0aGlzLmFuZHJvaWRGdWxsU2NyZWVuLmlzSW1tZXJzaXZlTW9kZVN1cHBvcnRlZCgpXG4gKiAgIC50aGVuKCgpID0+IGNvbnNvbGUubG9nKCdJbW1lcnNpdmUgbW9kZSBzdXBwb3J0ZWQnKSlcbiAqICAgLmNhdGNoKGVyciA9PiBjb25zb2xlLmxvZyhlcnIpKTtcbiAqXG4gKiBgYGBcbiAqL1xuQFBsdWdpbih7XG4gIHBsdWdpbk5hbWU6ICdBbmRyb2lkRnVsbFNjcmVlbicsXG4gIHBsdWdpbjogJ2NvcmRvdmEtcGx1Z2luLWZ1bGxzY3JlZW4nLFxuICBwbHVnaW5SZWY6ICdBbmRyb2lkRnVsbFNjcmVlbicsXG4gIHJlcG86ICdodHRwczovL2dpdGh1Yi5jb20vbWVzbW90cm9uaWMvY29yZG92YS1wbHVnaW4tZnVsbHNjcmVlbicsXG4gIHBsYXRmb3JtczogWydBbmRyb2lkJ10sXG59KVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFuZHJvaWRGdWxsU2NyZWVuIGV4dGVuZHMgQXdlc29tZUNvcmRvdmFOYXRpdmVQbHVnaW4ge1xuICAvKipcbiAgICogSXMgdGhpcyBwbHVnaW4gc3VwcG9ydGVkP1xuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgaXNTdXBwb3J0ZWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIElzIGltbWVyc2l2ZSBtb2RlIHN1cHBvcnRlZD9cbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGlzSW1tZXJzaXZlTW9kZVN1cHBvcnRlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogVGhlIHdpZHRoIG9mIHRoZSBzY3JlZW4gaW4gaW1tZXJzaXZlIG1vZGUuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPG51bWJlcj59XG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGltbWVyc2l2ZVdpZHRoKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBoZWlnaHQgb2YgdGhlIHNjcmVlbiBpbiBpbW1lcnNpdmUgbW9kZS5cbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2U8bnVtYmVyPn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgaW1tZXJzaXZlSGVpZ2h0KCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGUgc3lzdGVtIFVJIHVudGlsIHVzZXIgaW50ZXJhY3RzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgbGVhbk1vZGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgc3lzdGVtIFVJLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgc2hvd1N5c3RlbVVJKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRlbmQgeW91ciBhcHAgdW5kZXJuZWF0aCB0aGUgc3RhdHVzIGJhciAoQW5kcm9pZCA0LjQrIG9ubHkpLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgc2hvd1VuZGVyU3RhdHVzQmFyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRlbmQgeW91ciBhcHAgdW5kZXJuZWF0aCB0aGUgc3lzdGVtIFVJIChBbmRyb2lkIDQuNCsgb25seSkuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBzaG93VW5kZXJTeXN0ZW1VSSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogSGlkZSBzeXN0ZW0gVUkgYW5kIGtlZXAgaXQgaGlkZGVuIChBbmRyb2lkIDQuNCsgb25seSkuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBpbW1lcnNpdmVNb2RlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYW51YWxseSBzZXQgdGhlIHRoZSBzeXN0ZW0gVUkgdG8gYSBjdXN0b20gbW9kZS4gVGhpcyBtaXJyb3JzIHRoZSBBbmRyb2lkIG1ldGhvZCBvZiB0aGUgc2FtZSBuYW1lLiAoQW5kcm9pZCA0LjQrIG9ubHkpLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmFuZHJvaWQuY29tL3JlZmVyZW5jZS9hbmRyb2lkL3ZpZXcvVmlldy5odG1sI3NldFN5c3RlbVVpVmlzaWJpbGl0eShpbnQpXG4gICAqIEBwYXJhbSB7QW5kcm9pZFN5c3RlbVVpRmxhZ3N9IHZpc2liaWxpdHkgQml0d2lzZS1PUiBvZiBmbGFncyBpbiBBbmRyb2lkU3lzdGVtVWlGbGFnc1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgc2V0U3lzdGVtVWlWaXNpYmlsaXR5KHZpc2liaWxpdHk6IEFuZHJvaWRTeXN0ZW1VaUZsYWdzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuO1xuICB9XG59XG4iXX0=","\nimport Video from \"@/directives/Video\";\nimport useFile from \"@/composable/useFile\";\nimport { IQuestion } from \"@/interfaces/IQuestion\";\nimport { computed, defineComponent, PropType, ref } from \"vue\";\nimport { IonButton, IonButtons, IonContent, IonHeader, IonModal, IonTitle, IonToolbar } from \"@ionic/vue\";\nimport { StatusBar } from \"@capacitor/status-bar\";\n//Plugin removed due to a lot of circular dependencies, we may search for alternatives if needed\n//Ref: https://www.dynamiclayer.io/news/what-is-a-home-indicator\n//import { HomeIndicator } from \"@capgo/home-indicator\";\nimport { KeepAwake } from \"@capacitor-community/keep-awake\";\nimport { Capacitor } from \"@capacitor/core\";\nimport { AndroidFullScreen, AndroidSystemUiFlags } from \"@awesome-cordova-plugins/android-full-screen\";\n\nexport default defineComponent({\n  name: \"VideoPlayer\",\n  directives: {\n    Video: new Video(),\n  },\n  components: {\n    IonButtons,\n    IonButton,\n    IonModal,\n    IonHeader,\n    IonContent,\n    IonToolbar,\n    IonTitle,\n  },\n  props: {\n    mediaUrl: {\n      type: String,\n    },\n    posterUrl: {\n      type: String,\n    },\n    question: {\n      type: Object as PropType<IQuestion>,\n      required: true,\n    },\n  },\n  emits: [\"hide\", \"load\", \"error\", \"ended\"],\n  setup(props, { emit }) {\n    const videoPlayer = ref();\n    const fileSystem = useFile();\n    const showModal = ref(false);\n    const videoIsPaused = ref(false);\n\n    const videoURL = computed(() => {\n      return fileSystem.getMediaFromFilesystem(props.question, props.mediaUrl, false);\n    });\n\n    const posterURL = computed(() => {\n      return fileSystem.getMediaFromFilesystem(props.question, props.posterUrl, false);\n    });\n\n    const onLoad = (event: any) => {\n      emit(\"load\", event);\n    };\n\n    const onError = (event: any) => {\n      emit(\"error\", event);\n    };\n\n    const onEnded = (event: any) => {\n      emit(\"ended\", event);\n    };\n\n    const show = () => {\n      showModal.value = true;\n    };\n\n    const hide = () => {\n      showModal.value = false;\n    };\n\n    const onClose = () => {\n      hide();\n    };\n\n    const hideStatusBar = async () => {\n      await StatusBar.hide();\n    };\n\n    const showStatusBar = async () => {\n      await StatusBar.show();\n    };\n\n    const keepAwake = async () => {\n      await KeepAwake.keepAwake();\n    };\n\n    const allowSleep = async () => {\n      await KeepAwake.allowSleep();\n    };\n    const openNavigationBar = () => {\n      //HomeIndicator.show();\n    };\n\n    const hideNavigationBar = () => {\n      //HomeIndicator.hide();\n    };\n\n    const isNativeAndroid = computed(() => {\n      return Capacitor.getPlatform() == \"android\";\n    });\n\n    const didPresent = () => {\n      if (isNativeAndroid.value) {\n        AndroidFullScreen.isImmersiveModeSupported()\n          .then(() => AndroidFullScreen.immersiveMode())\n          .catch(console.warn);\n      } else {\n        hideNavigationBar();\n        hideStatusBar();\n      }\n      keepAwake();\n    };\n\n    const didDismiss = () => {\n      if (isNativeAndroid.value) {\n        AndroidFullScreen.isImmersiveModeSupported()\n          .then(() => AndroidFullScreen.setSystemUiVisibility(AndroidSystemUiFlags.Fullscreen))\n          .catch(console.warn);\n      } else {\n        openNavigationBar();\n        showStatusBar();\n      }\n      allowSleep();\n      emit(\"hide\");\n    };\n\n    const toggleVideoPlaying = () => {\n      if (videoPlayer.value.paused) {\n        videoPlayer.value.play();\n        videoIsPaused.value = false;\n      } else {\n        videoPlayer.value.pause();\n        videoIsPaused.value = true;\n      }\n    };\n\n    return {\n      onClose,\n      show,\n      hide,\n      videoPlayer,\n      onLoad,\n      onError,\n      onEnded,\n      posterURL,\n      videoURL,\n      showModal,\n      didDismiss,\n      didPresent,\n      toggleVideoPlaying,\n      videoIsPaused,\n    };\n  },\n});\n","import { render } from \"./VideoPlayer.vue?vue&type=template&id=bac3b65c&ts=true\"\nimport script from \"./VideoPlayer.vue?vue&type=script&lang=ts\"\nexport * from \"./VideoPlayer.vue?vue&type=script&lang=ts\"\n\nimport \"./VideoPlayer.vue?vue&type=style&index=0&id=bac3b65c&lang=scss\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, createBlock as _createBlock } from \"vue\"\nimport _imports_0 from '@/assets/img/education/sandclock.png'\n\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"img\", {\n  src: _imports_0,\n  class: \"image position-absolute h-50\",\n  alt: \"\"\n}, null, -1)\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"h1\", { class: \"font-weight-semibold my-0 font-size-30 text-uppercase mr-3\" }, \"AUSBILDUNGSVERTRAG\", -1)\nconst _hoisted_3 = { key: 0 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_b_row = _resolveComponent(\"b-row\")!\n  const _component_b_col = _resolveComponent(\"b-col\")!\n  const _component_b_overlay = _resolveComponent(\"b-overlay\")!\n\n  return (_ctx.additionalTile)\n    ? (_openBlock(), _createBlock(_component_b_overlay, {\n        key: 0,\n        class: \"bg-color-eminence-500 radius-10 p-4 text-white w-100 mb-2\",\n        id: \"training-block-header\"\n      }, {\n        default: _withCtx(() => [\n          _createElementVNode(\"div\", null, [\n            _createVNode(_component_b_row, { class: \"m-0 d-flex justify-content-end align-items-end\" }, {\n              default: _withCtx(() => [\n                _hoisted_1\n              ]),\n              _: 1\n            }),\n            _createVNode(_component_b_row, { class: \"d-flex align-items-center\" }, {\n              default: _withCtx(() => [\n                _createVNode(_component_b_col, null, {\n                  default: _withCtx(() => [\n                    _hoisted_2\n                  ]),\n                  _: 1\n                })\n              ]),\n              _: 1\n            }),\n            (_ctx.studentRegistrations)\n              ? (_openBlock(), _createBlock(_component_b_row, { key: 0 }, {\n                  default: _withCtx(() => [\n                    _createVNode(_component_b_col, null, {\n                      default: _withCtx(() => [\n                        _createElementVNode(\"h6\", null, [\n                          _createTextVNode(\" Deine Anfrage über Ausbildung \"),\n                          (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.studentRegistrations, (registration) => {\n                            return (_openBlock(), _createElementBlock(\"button\", {\n                              class: \"action-btn bg-white mx-1 px-2 py-1\",\n                              style: {\"color\":\"#793b86ff\",\"font-weight\":\"bold\",\"border-radius\":\"0.25rem\"},\n                              key: registration.id\n                            }, [\n                              (registration.licenseClass)\n                                ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, _toDisplayString(registration.licenseClass.licenseClass), 1))\n                                : _createCommentVNode(\"\", true)\n                            ]))\n                          }), 128)),\n                          _createTextVNode(\" ist in Bearbeitung. Wir bitten dich noch um ein klein bisschen Geduld… \")\n                        ])\n                      ]),\n                      _: 1\n                    })\n                  ]),\n                  _: 1\n                }))\n              : _createCommentVNode(\"\", true)\n          ])\n        ]),\n        _: 1\n      }))\n    : _createCommentVNode(\"\", true)\n}","\nimport { Options, Vue } from \"vue-property-decorator\";\nimport { namespace } from \"s-vuex-class\";\n\nconst DrivingSchoolModule = namespace(\"driving-school\");\n\n@Options({\n  components: {},\n})\nexport default class TrainingBlockHeader extends Vue {\n  public name = \"TrainingBlockHeader\";\n\n  @DrivingSchoolModule.Action(\"findAll\")\n  public findStudentRegistrations: any;\n\n  @DrivingSchoolModule.Getter(\"getDataList\")\n  public studentRegistrations: any;\n\n  public mounted(): void {\n    this.findStudentRegistrations({\n      resource: \"registrations/registration-for-student\",\n    });\n  }\n\n  private get additionalTile() {\n    return Boolean(this.studentRegistrations?.length);\n  }\n}\n","import { render } from \"./TrainingBlockHeader.vue?vue&type=template&id=46f6026f&ts=true\"\nimport script from \"./TrainingBlockHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./TrainingBlockHeader.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = [\"innerHTML\"]\nconst _hoisted_2 = [\"innerHTML\", \"title\"]\nconst _hoisted_3 = [\"innerHTML\", \"title\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_FscAudioPlayer = _resolveComponent(\"FscAudioPlayer\")!\n\n  return (_openBlock(), _createElementBlock(\"div\", null, [\n    (_openBlock(), _createBlock(_component_FscAudioPlayer, {\n      ref: \"audioPlayer\",\n      question: _ctx.question,\n      key: _ctx.question.id\n    }, null, 8, [\"question\"])),\n    _createElementVNode(\"div\", {\n      class: \"question-title mb-2\",\n      style: {\"white-space\":\"pre-line\"},\n      innerHTML: _ctx.question.textUnderMedia\n    }, null, 8, _hoisted_1),\n    _createElementVNode(\"div\", {\n      class: \"question-title mb-2\",\n      style: {\"white-space\":\"pre-line\",\"cursor\":\"help\"},\n      innerHTML: _ctx.question.title,\n      ref: \"titleGesture\",\n      title: _ctx.$t('text_to_speech.press_and_hold_to_listen')\n    }, null, 8, _hoisted_2),\n    (_ctx.question.additionalText)\n      ? (_openBlock(), _createElementBlock(\"div\", {\n          key: 0,\n          class: \"question-title mb-4\",\n          style: {\"white-space\":\"pre-line\",\"cursor\":\"help\"},\n          innerHTML: _ctx.question.additionalText,\n          ref: \"additionalTextGesture\",\n          title: _ctx.$t('text_to_speech.press_and_hold_to_listen')\n        }, null, 8, _hoisted_3))\n      : _createCommentVNode(\"\", true)\n  ]))\n}","\nimport { Options, Prop, Vue } from \"vue-property-decorator\";\nimport FscAudioPlayer from \"@/components/FscAudioPlayer.vue\";\nimport { setupLongPressGesture } from \"@/utils/gestureUtils\";\nimport { IQuestion } from \"@/interfaces/IQuestion\";\n\n@Options({\n  components: { FscAudioPlayer },\n})\nexport default class TitleAndAdditionalText extends Vue {\n  private readonly LONG_PRESS_DURATION = 500;\n\n  @Prop({ required: true })\n  public question!: IQuestion;\n\n  private playAudio(key: string): void {\n    const audioPlayer = this.$refs.audioPlayer as any;\n    if (audioPlayer) {\n      audioPlayer.playAudio(key);\n    }\n  }\n\n  public mounted() {\n    const titleElement = this.$refs.titleGesture as HTMLElement;\n    const additionalTextElement = this.$refs.additionalTextGesture as HTMLElement;\n\n    if (titleElement) {\n      setupLongPressGesture(titleElement, this.LONG_PRESS_DURATION, () => {\n        this.playAudio(\"title\");\n      });\n    }\n\n    if (this.question.additionalText && additionalTextElement) {\n      setupLongPressGesture(additionalTextElement, this.LONG_PRESS_DURATION, () => {\n        this.playAudio(\"additionalText\");\n      });\n    }\n  }\n}\n","import { render } from \"./TitleAndAdditionalText.vue?vue&type=template&id=57ba7a4e&ts=true\"\nimport script from \"./TitleAndAdditionalText.vue?vue&type=script&lang=ts\"\nexport * from \"./TitleAndAdditionalText.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import queryString from \"query-string\";\n\nexport default () => {\n  const updateParam = (path: string, query: Record<any, any>) => {\n    return queryString.stringifyUrl({\n      url: path,\n      query,\n    });\n  };\n\n  return {\n    updateParam,\n  };\n};\n","import { Directory, Filesystem } from \"@capacitor/filesystem\";\nimport write_blob from \"capacitor-blob-writer\";\nimport { Capacitor } from \"@capacitor/core\";\nimport { MediaTypeEnum } from \"@/enums/MediaTypeEnum\";\nimport { IQuestion } from \"@/interfaces/IQuestion\";\nimport last from \"lodash/last\";\nimport useQueryString from \"@/composable/useQueryString\";\n\nconst dir = Directory.Cache;\n\nexport default () => {\n  const readFile = async (path: string, folder = \"theory_questions/\") => {\n    return await Filesystem.readFile({\n      path: folder + path,\n      directory: dir,\n    });\n  };\n\n  const { updateParam } = useQueryString();\n\n  const readDir = async (path = \"theory_questions/\") => {\n    return await Filesystem.readdir({\n      path,\n      directory: dir,\n    });\n  };\n\n  const deleteDir = async (path = \"theory_questions/\") => {\n    return await Filesystem.deleteFile({\n      path,\n      directory: dir,\n    });\n  };\n\n  const writeFile = (blob: Blob, path: string, folder = \"theory_questions/\") => {\n    return write_blob({\n      blob: blob,\n      path: folder + path,\n      directory: dir,\n      recursive: true,\n      fast_mode: true,\n    });\n  };\n\n  const pathBuilder = (id: number, officialNumber: string, extension: string, reduced = false, suffix = \"\") => {\n    let rs = \"\";\n    let sfix = \"\";\n\n    if (reduced) {\n      rs = \"_rs\";\n    }\n\n    if (suffix) {\n      sfix = suffix;\n    }\n\n    return `${id}_${officialNumber}${rs}${sfix}.${extension}`;\n  };\n\n  const determinateMediaStartOrEnd = (url?: string, defaultOnFallback = \"\") => {\n    const thumbnail = url?.split(\"thumbnail\")?.[1]?.replace(\"=\", \"\");\n\n    if (thumbnail == \"START\") {\n      return \"_start\";\n    } else if (thumbnail == \"END\") {\n      return \"_end\";\n    }\n    return defaultOnFallback;\n  };\n\n  const getSuffix = (url: string | null, defaultOnFallback = \"\") => {\n    if (url == \"START\") {\n      return \"_start\";\n    } else if (url == \"END\") {\n      return \"_end\";\n    }\n    return defaultOnFallback;\n  };\n\n  const fileIsset = async (path: string): Promise<boolean> => {\n    try {\n      await readFile(path);\n      return true;\n    } catch (exception) {\n      return false;\n    }\n  };\n\n  const mediaTypeByExtension = (extension: string) => {\n    switch (extension) {\n      case \"jpg\":\n        return MediaTypeEnum.jpg;\n      case \"jpeg\":\n        return MediaTypeEnum.jpeg;\n      case \"png\":\n        return MediaTypeEnum.png;\n      default:\n        return MediaTypeEnum.mp4;\n    }\n  };\n\n  const extensionByMediaType = (mediaType: MediaTypeEnum) => {\n    switch (mediaType) {\n      case MediaTypeEnum.jpg:\n        return \"jpg\";\n      case MediaTypeEnum.jpeg:\n        return \"jpeg\";\n      case MediaTypeEnum.png:\n        return \"png\";\n      default:\n        return MediaTypeEnum.mp4;\n    }\n  };\n\n  const getMediaFromFilesystem = (question: IQuestion, src?: string, webRs = true, thumbnail = true) => {\n    if (Capacitor.isNativePlatform()) {\n      let extension: string;\n      let reduced: boolean;\n\n      const suffix = determinateMediaStartOrEnd(src);\n\n      if (suffix == \"_end\") {\n        reduced = Boolean(question.reducedSizeThumbnailEndFileName);\n        extension = pathToExtension(question.reducedSizeThumbnailEndFileName);\n      } else if (suffix == \"_start\") {\n        reduced = Boolean(question.reducedSizeThumbnailStartFileName);\n        extension = pathToExtension(question.reducedSizeThumbnailStartFileName);\n      } else {\n        reduced = Boolean(question.reducedSizeFileName);\n        extension = pathToExtension(question.reducedSizeFileName);\n      }\n\n      const query = updateThumbnailParam({}, thumbnail, question);\n      const updateSrc = updateParam(src || \"\", query);\n      const newSrc = updateParam(updateSrc || \"\", { reducedSize: reduced });\n\n      try {\n        const mediaType = mediaTypeByExtension(extension);\n\n        const path = pathBuilder(question.id, question.officialNumber, extension, reduced, suffix);\n\n        return readFile(path)\n          .then((response: any) => {\n            const base64 = `data:${mediaType};base64,`;\n            return {\n              src: base64 + response.data,\n              status: \"success\",\n            };\n          })\n          .catch(() => {\n            return {\n              src: newSrc,\n              status: \"failed\",\n            };\n          });\n      } catch (e) {\n        return newSrc;\n      }\n    }\n\n    const query = updateThumbnailParam({ reducedSize: webRs }, thumbnail, question);\n\n    return updateParam(src || \"\", query);\n  };\n\n  const updateThumbnailParam = (query: Record<any, any>, isThumbnail: boolean, question: IQuestion) => {\n    if (!isThumbnail && question.mediaType != MediaTypeEnum.mp4) {\n      Object.assign(query, {\n        thumbnail: \"\",\n      });\n    }\n    return query;\n  };\n\n  const pathToExtension = (path?: string, fallbackExtension = \"mp4\") => {\n    const explode = path?.split(\".\");\n    return last(explode) || fallbackExtension;\n  };\n\n  return {\n    readFile,\n    readDir,\n    writeFile,\n    deleteDir,\n    pathBuilder,\n    determinateMediaStartOrEnd,\n    fileIsset,\n    getMediaFromFilesystem,\n    pathToExtension,\n    extensionByMediaType,\n    getSuffix,\n  };\n};\n","module.exports = __webpack_public_path__ + \"img/education.f0a209fb.svg\";","import { normalizeClass as _normalizeClass, resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_b_overlay = _resolveComponent(\"b-overlay\")!\n  const _directive_media = _resolveDirective(\"media\")!\n\n  return (_openBlock(), _createBlock(_component_b_overlay, {\n    show: _ctx.isLoading,\n    rounded: \"sm\",\n    opacity: \"1\"\n  }, {\n    default: _withCtx(() => [\n      _withDirectives(_createElementVNode(\"img\", {\n        class: _normalizeClass([_ctx.styleClass, \"mb-4\"]),\n        style: {\"width\":\"200px\",\"height\":\"auto\"},\n        src: \"\",\n        alt: \"\",\n        ref: \"logo\"\n      }, null, 2), [\n        [_directive_media, {\n        url: _ctx.avatarUrl,\n        noFetch: !_ctx.hasId,\n        fail: _ctx.handleError,\n        auth: true,\n        httpCache: false,\n        loading: _ctx.onLoading,\n        success: _ctx.onSuccess,\n      }]\n      ])\n    ]),\n    _: 1\n  }, 8, [\"show\"]))\n}","\nimport { Options, Prop, Vue } from \"vue-property-decorator\";\nimport Image from \"@/directives/Image\";\n// @ts-ignore\nimport instructorPlaceholder from \"@/assets/fsc_logo.png\";\n\n@Options({\n  directives: {\n    Media: new Image(),\n  },\n})\nexport default class SchoolLogo extends Vue {\n  public name = \"SchoolLogo\";\n\n  @Prop({ default: 0 })\n  public drivingSchoolId!: number;\n\n  @Prop({ type: String, default: \"avatar-lg\" })\n  public styleClass!: number;\n\n  private isLoading = false;\n\n  private get avatarUrl(): string {\n    return `driving-schools/logo/${this.drivingSchoolId}`;\n  }\n\n  private handleError(): any {\n    const avatarEl = this.$refs.logo as HTMLImageElement;\n    avatarEl.src = instructorPlaceholder;\n    avatarEl.alt = \"Profile\";\n    this.isLoading = false;\n  }\n\n  private get hasId(): boolean {\n    return Boolean(this.drivingSchoolId);\n  }\n\n  private onLoading() {\n    this.isLoading = true;\n  }\n\n  private onSuccess() {\n    this.isLoading = false;\n  }\n}\n","import { render } from \"./SchoolLogo.vue?vue&type=template&id=602747f8&ts=true\"\nimport script from \"./SchoolLogo.vue?vue&type=script&lang=ts\"\nexport * from \"./SchoolLogo.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","module.exports = __webpack_public_path__ + \"img/drivebuzz.e1266d49.svg\";","module.exports = __webpack_public_path__ + \"img/fsc_logo.514ea8c9.png\";","export var Directory;\n(function (Directory) {\n    /**\n     * The Documents directory\n     * On iOS it's the app's documents directory.\n     * Use this directory to store user-generated content.\n     * On Android it's the Public Documents folder, so it's accessible from other apps.\n     * It's not accesible on Android 10 unless the app enables legacy External Storage\n     * by adding `android:requestLegacyExternalStorage=\"true\"` in the `application` tag\n     * in the `AndroidManifest.xml`.\n     * It's not accesible on Android 11 or newer.\n     *\n     * @since 1.0.0\n     */\n    Directory[\"Documents\"] = \"DOCUMENTS\";\n    /**\n     * The Data directory\n     * On iOS it will use the Documents directory.\n     * On Android it's the directory holding application files.\n     * Files will be deleted when the application is uninstalled.\n     *\n     * @since 1.0.0\n     */\n    Directory[\"Data\"] = \"DATA\";\n    /**\n     * The Library directory\n     * On iOS it will use the Library directory.\n     * On Android it's the directory holding application files.\n     * Files will be deleted when the application is uninstalled.\n     *\n     * @since 1.1.0\n     */\n    Directory[\"Library\"] = \"LIBRARY\";\n    /**\n     * The Cache directory\n     * Can be deleted in cases of low memory, so use this directory to write app-specific files\n     * that your app can re-create easily.\n     *\n     * @since 1.0.0\n     */\n    Directory[\"Cache\"] = \"CACHE\";\n    /**\n     * The external directory\n     * On iOS it will use the Documents directory\n     * On Android it's the directory on the primary shared/external\n     * storage device where the application can place persistent files it owns.\n     * These files are internal to the applications, and not typically visible\n     * to the user as media.\n     * Files will be deleted when the application is uninstalled.\n     *\n     * @since 1.0.0\n     */\n    Directory[\"External\"] = \"EXTERNAL\";\n    /**\n     * The external storage directory\n     * On iOS it will use the Documents directory\n     * On Android it's the primary shared/external storage directory.\n     * It's not accesible on Android 10 unless the app enables legacy External Storage\n     * by adding `android:requestLegacyExternalStorage=\"true\"` in the `application` tag\n     * in the `AndroidManifest.xml`.\n     * It's not accesible on Android 11 or newer.\n     *\n     * @since 1.0.0\n     */\n    Directory[\"ExternalStorage\"] = \"EXTERNAL_STORAGE\";\n})(Directory || (Directory = {}));\nexport var Encoding;\n(function (Encoding) {\n    /**\n     * Eight-bit UCS Transformation Format\n     *\n     * @since 1.0.0\n     */\n    Encoding[\"UTF8\"] = \"utf8\";\n    /**\n     * Seven-bit ASCII, a.k.a. ISO646-US, a.k.a. the Basic Latin block of the\n     * Unicode character set\n     * This encoding is only supported on Android.\n     *\n     * @since 1.0.0\n     */\n    Encoding[\"ASCII\"] = \"ascii\";\n    /**\n     * Sixteen-bit UCS Transformation Format, byte order identified by an\n     * optional byte-order mark\n     * This encoding is only supported on Android.\n     *\n     * @since 1.0.0\n     */\n    Encoding[\"UTF16\"] = \"utf16\";\n})(Encoding || (Encoding = {}));\n/**\n * @deprecated Use `Directory`.\n * @since 1.0.0\n */\nexport const FilesystemDirectory = Directory;\n/**\n * @deprecated Use `Encoding`.\n * @since 1.0.0\n */\nexport const FilesystemEncoding = Encoding;\n//# sourceMappingURL=definitions.js.map","export const KNOWLEDGE_AREA_MAPPER = {\n  \"1.1\": \"Gefahrenlehre\",\n  \"1.2\": \"Verhalten im Straßenverkehr\",\n  \"1.3\": \"Vorfahrt/Vorrang\",\n  \"1.4\": \"Verkehrszeichen\",\n  \"1.5\": \"Umweltschutz\",\n  \"2.1\": \"klassenspezifisch\",\n  \"2.2\": \"klassenspezifisch\",\n  \"2.3\": \"klassenspezifisch\",\n  \"2.4\": \"klassenspezifisch\",\n  \"2.5\": \"klassenspezifisch\",\n  \"2.6\": \"klassenspezifisch\",\n  \"2.7\": \"klassenspezifisch\",\n  \"2.8\": \"klassenspezifisch\",\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./StandardQuestionExplanation.vue?vue&type=style&index=0&id=166b5a6f&lang=scss\"","module.exports = __webpack_public_path__ + \"img/sandclock.fb211284.png\";","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar append = uncurryThis(URLSearchParamsPrototype.append);\nvar $delete = uncurryThis(URLSearchParamsPrototype['delete']);\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\nvar push = uncurryThis([].push);\nvar params = new $URLSearchParams('a=1&a=2&b=3');\n\nparams['delete']('a', 1);\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nparams['delete']('b', undefined);\n\nif (params + '' !== 'a=2') {\n  defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) {\n    var length = arguments.length;\n    var $value = length < 2 ? undefined : arguments[1];\n    if (length && $value === undefined) return $delete(this, name);\n    var entries = [];\n    forEach(this, function (v, k) { // also validates `this`\n      push(entries, { key: k, value: v });\n    });\n    validateArgumentsLength(length, 1);\n    var key = toString(name);\n    var value = toString($value);\n    var index = 0;\n    var dindex = 0;\n    var found = false;\n    var entriesLength = entries.length;\n    var entry;\n    while (index < entriesLength) {\n      entry = entries[index++];\n      if (found || entry.key === key) {\n        found = true;\n        $delete(this, entry.key);\n      } else dindex++;\n    }\n    while (dindex < entriesLength) {\n      entry = entries[dindex++];\n      if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value);\n    }\n  }, { enumerable: true, unsafe: true });\n}\n","import { Options } from \"vue-property-decorator\";\nimport QuestionMixin from \"@/mixins/TheoryQuestions/QuestionMixin\";\n\n@Options({})\nexport default class MediaQuestionMixin extends QuestionMixin {\n  public get authMediaUrl(): string {\n    if (this.question) {\n      return `theory-questions/${this.question.id}/media`;\n    }\n    return \"\";\n  }\n\n  public get authStartThumbUrl(): string {\n    if (this.question) {\n      return `theory-questions/${this.question.id}/media?thumbnail=START`;\n    }\n    return \"\";\n  }\n\n  public get authEndThumbUrl(): string {\n    if (this.question) {\n      return `theory-questions/${this.question.id}/media?thumbnail=END`;\n    }\n    return \"\";\n  }\n}\n","import { resolveComponent as _resolveComponent, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_vue_multiselect = _resolveComponent(\"vue-multiselect\")!\n\n  return (_openBlock(), _createBlock(_component_vue_multiselect, _normalizeProps(_guardReactiveProps(_ctx.$attrs)), null, 16))\n}","import { openBlock, createBlock, withKeys, withModifiers, renderSlot, createVNode, withDirectives, Fragment, renderList, toDisplayString, vShow, createCommentVNode, Transition, withCtx, createTextVNode } from 'vue';\n\nfunction isEmpty (opt) {\n  if (opt === 0) return false\n  if (Array.isArray(opt) && opt.length === 0) return true\n  return !opt\n}\n\nfunction not (fun) {\n  return (...params) => !fun(...params)\n}\n\nfunction includes (str, query) {\n  /* istanbul ignore else */\n  if (str === undefined) str = 'undefined';\n  if (str === null) str = 'null';\n  if (str === false) str = 'false';\n  const text = str.toString().toLowerCase();\n  return text.indexOf(query.trim()) !== -1\n}\n\nfunction filterOptions (options, search, label, customLabel) {\n  return search ? options\n    .filter((option) => includes(customLabel(option, label), search))\n    .sort((a, b) => customLabel(a, label).length - customLabel(b, label).length) : options\n}\n\nfunction stripGroups (options) {\n  return options.filter((option) => !option.$isLabel)\n}\n\nfunction flattenOptions (values, label) {\n  return (options) =>\n    options.reduce((prev, curr) => {\n      /* istanbul ignore else */\n      if (curr[values] && curr[values].length) {\n        prev.push({\n          $groupLabel: curr[label],\n          $isLabel: true\n        });\n        return prev.concat(curr[values])\n      }\n      return prev\n    }, [])\n}\n\nfunction filterGroups (search, label, values, groupLabel, customLabel) {\n  return (groups) =>\n    groups.map((group) => {\n      /* istanbul ignore else */\n      if (!group[values]) {\n        console.warn(`Options passed to vue-multiselect do not contain groups, despite the config.`);\n        return []\n      }\n      const groupOptions = filterOptions(group[values], search, label, customLabel);\n\n      return groupOptions.length\n        ? {\n          [groupLabel]: group[groupLabel],\n          [values]: groupOptions\n        }\n        : []\n    })\n}\n\nconst flow = (...fns) => (x) => fns.reduce((v, f) => f(v), x);\n\nvar multiselectMixin = {\n  data () {\n    return {\n      search: '',\n      isOpen: false,\n      preferredOpenDirection: 'below',\n      optimizedHeight: this.maxHeight\n    }\n  },\n  props: {\n    /**\n     * Decide whether to filter the results based on search query.\n     * Useful for async filtering, where we search through more complex data.\n     * @type {Boolean}\n     */\n    internalSearch: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * Array of available options: Objects, Strings or Integers.\n     * If array of objects, visible label will default to option.label.\n     * If `labal` prop is passed, label will equal option['label']\n     * @type {Array}\n     */\n    options: {\n      type: Array,\n      required: true\n    },\n    /**\n     * Equivalent to the `multiple` attribute on a `<select>` input.\n     * @default false\n     * @type {Boolean}\n     */\n    multiple: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Key to compare objects\n     * @default 'id'\n     * @type {String}\n     */\n    trackBy: {\n      type: String\n    },\n    /**\n     * Label to look for in option Object\n     * @default 'label'\n     * @type {String}\n     */\n    label: {\n      type: String\n    },\n    /**\n     * Enable/disable search in options\n     * @default true\n     * @type {Boolean}\n     */\n    searchable: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * Clear the search input after `)\n     * @default true\n     * @type {Boolean}\n     */\n    clearOnSelect: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * Hide already selected options\n     * @default false\n     * @type {Boolean}\n     */\n    hideSelected: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Equivalent to the `placeholder` attribute on a `<select>` input.\n     * @default 'Select option'\n     * @type {String}\n     */\n    placeholder: {\n      type: String,\n      default: 'Select option'\n    },\n    /**\n     * Allow to remove all selected values\n     * @default true\n     * @type {Boolean}\n     */\n    allowEmpty: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * Reset this.internalValue, this.search after this.internalValue changes.\n     * Useful if want to create a stateless dropdown.\n     * @default false\n     * @type {Boolean}\n     */\n    resetAfter: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Enable/disable closing after selecting an option\n     * @default true\n     * @type {Boolean}\n     */\n    closeOnSelect: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * Function to interpolate the custom label\n     * @default false\n     * @type {Function}\n     */\n    customLabel: {\n      type: Function,\n      default (option, label) {\n        if (isEmpty(option)) return ''\n        return label ? option[label] : option\n      }\n    },\n    /**\n     * Disable / Enable tagging\n     * @default false\n     * @type {Boolean}\n     */\n    taggable: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * String to show when highlighting a potential tag\n     * @default 'Press enter to create a tag'\n     * @type {String}\n    */\n    tagPlaceholder: {\n      type: String,\n      default: 'Press enter to create a tag'\n    },\n    /**\n     * By default new tags will appear above the search results.\n     * Changing to 'bottom' will revert this behaviour\n     * and will proritize the search results\n     * @default 'top'\n     * @type {String}\n    */\n    tagPosition: {\n      type: String,\n      default: 'top'\n    },\n    /**\n     * Number of allowed selected options. No limit if 0.\n     * @default 0\n     * @type {Number}\n    */\n    max: {\n      type: [Number, Boolean],\n      default: false\n    },\n    /**\n     * Will be passed with all events as second param.\n     * Useful for identifying events origin.\n     * @default null\n     * @type {String|Integer}\n    */\n    id: {\n      default: null\n    },\n    /**\n     * Limits the options displayed in the dropdown\n     * to the first X options.\n     * @default 1000\n     * @type {Integer}\n    */\n    optionsLimit: {\n      type: Number,\n      default: 1000\n    },\n    /**\n     * Name of the property containing\n     * the group values\n     * @default 1000\n     * @type {String}\n    */\n    groupValues: {\n      type: String\n    },\n    /**\n     * Name of the property containing\n     * the group label\n     * @default 1000\n     * @type {String}\n    */\n    groupLabel: {\n      type: String\n    },\n    /**\n     * Allow to select all group values\n     * by selecting the group label\n     * @default false\n     * @type {Boolean}\n     */\n    groupSelect: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Array of keyboard keys to block\n     * when selecting\n     * @default 1000\n     * @type {String}\n    */\n    blockKeys: {\n      type: Array,\n      default () {\n        return []\n      }\n    },\n    /**\n     * Prevent from wiping up the search value\n     * @default false\n     * @type {Boolean}\n    */\n    preserveSearch: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Select 1st options if value is empty\n     * @default false\n     * @type {Boolean}\n    */\n    preselectFirst: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Prevent autofocus\n     * @default false\n     * @type {Boolean}\n    */\n    preventAutofocus: {\n      type: Boolean,\n      default: false\n    }\n  },\n  mounted () {\n    /* istanbul ignore else */\n    if (!this.multiple && this.max) {\n      console.warn('[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.');\n    }\n    if (\n      this.preselectFirst &&\n      !this.internalValue.length &&\n      this.options.length\n    ) {\n      this.select(this.filteredOptions[0]);\n    }\n  },\n  computed: {\n    internalValue () {\n      return this.modelValue || this.modelValue === 0\n        ? Array.isArray(this.modelValue) ? this.modelValue : [this.modelValue]\n        : []\n    },\n    filteredOptions () {\n      const search = this.search || '';\n      const normalizedSearch = search.toLowerCase().trim();\n\n      let options = this.options.concat();\n\n      /* istanbul ignore else */\n      if (this.internalSearch) {\n        options = this.groupValues\n          ? this.filterAndFlat(options, normalizedSearch, this.label)\n          : filterOptions(options, normalizedSearch, this.label, this.customLabel);\n      } else {\n        options = this.groupValues ? flattenOptions(this.groupValues, this.groupLabel)(options) : options;\n      }\n\n      options = this.hideSelected\n        ? options.filter(not(this.isSelected))\n        : options;\n\n      /* istanbul ignore else */\n      if (this.taggable && normalizedSearch.length && !this.isExistingOption(normalizedSearch)) {\n        if (this.tagPosition === 'bottom') {\n          options.push({isTag: true, label: search});\n        } else {\n          options.unshift({isTag: true, label: search});\n        }\n      }\n\n      return options.slice(0, this.optionsLimit)\n    },\n    valueKeys () {\n      if (this.trackBy) {\n        return this.internalValue.map((element) => element[this.trackBy])\n      } else {\n        return this.internalValue\n      }\n    },\n    optionKeys () {\n      const options = this.groupValues ? this.flatAndStrip(this.options) : this.options;\n      return options.map((element) => this.customLabel(element, this.label).toString().toLowerCase())\n    },\n    currentOptionLabel () {\n      return this.multiple\n        ? this.searchable ? '' : this.placeholder\n        : this.internalValue.length\n          ? this.getOptionLabel(this.internalValue[0])\n          : this.searchable ? '' : this.placeholder\n    }\n  },\n  watch: {\n    internalValue: {\n      handler () {\n      /* istanbul ignore else */\n        if (this.resetAfter && this.internalValue.length) {\n          this.search = '';\n          this.$emit('update:modelValue', this.multiple ? [] : null);\n        }\n      },\n      deep: true\n    },\n    search () {\n      this.$emit('search-change', this.search);\n    }\n  },\n  emits: ['open', 'search-change', 'close', 'select', 'update:modelValue', 'remove', 'tag'],\n  methods: {\n    /**\n     * Returns the internalValue in a way it can be emited to the parent\n     * @returns {Object||Array||String||Integer}\n     */\n    getValue () {\n      return this.multiple\n        ? this.internalValue\n        : this.internalValue.length === 0\n          ? null\n          : this.internalValue[0]\n    },\n    /**\n     * Filters and then flattens the options list\n     * @param  {Array}\n     * @return {Array} returns a filtered and flat options list\n     */\n    filterAndFlat (options, search, label) {\n      return flow(\n        filterGroups(search, label, this.groupValues, this.groupLabel, this.customLabel),\n        flattenOptions(this.groupValues, this.groupLabel)\n      )(options)\n    },\n    /**\n     * Flattens and then strips the group labels from the options list\n     * @param  {Array}\n     * @return {Array} returns a flat options list without group labels\n     */\n    flatAndStrip (options) {\n      return flow(\n        flattenOptions(this.groupValues, this.groupLabel),\n        stripGroups\n      )(options)\n    },\n    /**\n     * Updates the search value\n     * @param  {String}\n     */\n    updateSearch (query) {\n      this.search = query;\n    },\n    /**\n     * Finds out if the given query is already present\n     * in the available options\n     * @param  {String}\n     * @return {Boolean} returns true if element is available\n     */\n    isExistingOption (query) {\n      return !this.options\n        ? false\n        : this.optionKeys.indexOf(query) > -1\n    },\n    /**\n     * Finds out if the given element is already present\n     * in the result value\n     * @param  {Object||String||Integer} option passed element to check\n     * @returns {Boolean} returns true if element is selected\n     */\n    isSelected (option) {\n      const opt = this.trackBy\n        ? option[this.trackBy]\n        : option;\n      return this.valueKeys.indexOf(opt) > -1\n    },\n    /**\n     * Finds out if the given option is disabled\n     * @param  {Object||String||Integer} option passed element to check\n     * @returns {Boolean} returns true if element is disabled\n     */\n    isOptionDisabled (option) {\n      return !!option.$isDisabled\n    },\n    /**\n     * Returns empty string when options is null/undefined\n     * Returns tag query if option is tag.\n     * Returns the customLabel() results and casts it to string.\n     *\n     * @param  {Object||String||Integer} Passed option\n     * @returns {Object||String}\n     */\n    getOptionLabel (option) {\n      if (isEmpty(option)) return ''\n      /* istanbul ignore else */\n      if (option.isTag) return option.label\n      /* istanbul ignore else */\n      if (option.$isLabel) return option.$groupLabel\n\n      const label = this.customLabel(option, this.label);\n      /* istanbul ignore else */\n      if (isEmpty(label)) return ''\n      return label\n    },\n    /**\n     * Add the given option to the list of selected options\n     * or sets the option as the selected option.\n     * If option is already selected -> remove it from the results.\n     *\n     * @param  {Object||String||Integer} option to select/deselect\n     * @param  {Boolean} block removing\n     */\n    select (option, key) {\n      /* istanbul ignore else */\n      if (option.$isLabel && this.groupSelect) {\n        this.selectGroup(option);\n        return\n      }\n      if (this.blockKeys.indexOf(key) !== -1 ||\n        this.disabled ||\n        option.$isDisabled ||\n        option.$isLabel\n      ) return\n      /* istanbul ignore else */\n      if (this.max && this.multiple && this.internalValue.length === this.max) return\n      /* istanbul ignore else */\n      if (key === 'Tab' && !this.pointerDirty) return\n      if (option.isTag) {\n        this.$emit('tag', option.label, this.id);\n        this.search = '';\n        if (this.closeOnSelect && !this.multiple) this.deactivate();\n      } else {\n        const isSelected = this.isSelected(option);\n\n        if (isSelected) {\n          if (key !== 'Tab') this.removeElement(option);\n          return\n        }\n\n        if (this.multiple) {\n          this.$emit('update:modelValue', this.internalValue.concat([option]));\n        } else {\n          this.$emit('update:modelValue', option);\n        }\n\n        this.$emit('select', option, this.id);\n\n        /* istanbul ignore else */\n        if (this.clearOnSelect) this.search = '';\n      }\n      /* istanbul ignore else */\n      if (this.closeOnSelect) this.deactivate();\n    },\n    /**\n     * Add the given group options to the list of selected options\n     * If all group optiona are already selected -> remove it from the results.\n     *\n     * @param  {Object||String||Integer} group to select/deselect\n     */\n    selectGroup (selectedGroup) {\n      const group = this.options.find((option) => {\n        return option[this.groupLabel] === selectedGroup.$groupLabel\n      });\n\n      if (!group) return\n\n      if (this.wholeGroupSelected(group)) {\n        this.$emit('remove', group[this.groupValues], this.id);\n\n        const newValue = this.internalValue.filter(\n          (option) => group[this.groupValues].indexOf(option) === -1\n        );\n\n        this.$emit('update:modelValue', newValue);\n      } else {\n        let optionsToAdd = group[this.groupValues].filter(\n          option => !(this.isOptionDisabled(option) || this.isSelected(option))\n        );\n\n        // if max is defined then just select options respecting max\n        if (this.max) {\n          optionsToAdd.splice(this.max - this.internalValue.length);\n        }\n\n        this.$emit('select', optionsToAdd, this.id);\n        this.$emit(\n          'update:modelValue',\n          this.internalValue.concat(optionsToAdd)\n        );\n      }\n\n      if (this.closeOnSelect) this.deactivate();\n    },\n    /**\n     * Helper to identify if all values in a group are selected\n     *\n     * @param {Object} group to validated selected values against\n     */\n    wholeGroupSelected (group) {\n      return group[this.groupValues].every((option) => this.isSelected(option) || this.isOptionDisabled(option)\n      )\n    },\n    /**\n     * Helper to identify if all values in a group are disabled\n     *\n     * @param {Object} group to check for disabled values\n     */\n    wholeGroupDisabled (group) {\n      return group[this.groupValues].every(this.isOptionDisabled)\n    },\n    /**\n     * Removes the given option from the selected options.\n     * Additionally checks this.allowEmpty prop if option can be removed when\n     * it is the last selected option.\n     *\n     * @param  {type} option description\n     * @return {type}        description\n     */\n    removeElement (option, shouldClose = true) {\n      /* istanbul ignore else */\n      if (this.disabled) return\n      /* istanbul ignore else */\n      if (option.$isDisabled) return\n      /* istanbul ignore else */\n      if (!this.allowEmpty && this.internalValue.length <= 1) {\n        this.deactivate();\n        return\n      }\n\n      const index = typeof option === 'object'\n        ? this.valueKeys.indexOf(option[this.trackBy])\n        : this.valueKeys.indexOf(option);\n\n      if (this.multiple) {\n        const newValue = this.internalValue.slice(0, index).concat(this.internalValue.slice(index + 1));\n        this.$emit('update:modelValue', newValue);\n      } else {\n        this.$emit('update:modelValue', null);\n      }\n      this.$emit('remove', option, this.id);\n\n      /* istanbul ignore else */\n      if (this.closeOnSelect && shouldClose) this.deactivate();\n    },\n    /**\n     * Calls this.removeElement() with the last element\n     * from this.internalValue (selected element Array)\n     *\n     * @fires this#removeElement\n     */\n    removeLastElement () {\n      /* istanbul ignore else */\n      if (this.blockKeys.indexOf('Delete') !== -1) return\n      /* istanbul ignore else */\n      if (this.search.length === 0 && Array.isArray(this.internalValue) && this.internalValue.length) {\n        this.removeElement(this.internalValue[this.internalValue.length - 1], false);\n      }\n    },\n    /**\n     * Opens the multiselect’s dropdown.\n     * Sets this.isOpen to TRUE\n     */\n    activate () {\n      /* istanbul ignore else */\n      if (this.isOpen || this.disabled) return\n\n      this.adjustPosition();\n      /* istanbul ignore else  */\n      if (this.groupValues && this.pointer === 0 && this.filteredOptions.length) {\n        this.pointer = 1;\n      }\n\n      this.isOpen = true;\n      /* istanbul ignore else  */\n      if (this.searchable) {\n        if (!this.preserveSearch) this.search = '';\n        if (!this.preventAutofocus) this.$nextTick(() => this.$refs.search && this.$refs.search.focus());\n      } else if (!this.preventAutofocus) {\n        if (typeof this.$el !== 'undefined') this.$el.focus();\n      }\n      this.$emit('open', this.id);\n    },\n    /**\n     * Closes the multiselect’s dropdown.\n     * Sets this.isOpen to FALSE\n     */\n    deactivate () {\n      /* istanbul ignore else */\n      if (!this.isOpen) return\n\n      this.isOpen = false;\n      /* istanbul ignore else  */\n      if (this.searchable) {\n        if (this.$refs.search !== null && typeof this.$refs.search !== 'undefined') this.$refs.search.blur();\n      } else {\n        if (typeof this.$el !== 'undefined') this.$el.blur();\n      }\n      if (!this.preserveSearch) this.search = '';\n      this.$emit('close', this.getValue(), this.id);\n    },\n    /**\n     * Call this.activate() or this.deactivate()\n     * depending on this.isOpen value.\n     *\n     * @fires this#activate || this#deactivate\n     * @property {Boolean} isOpen indicates if dropdown is open\n     */\n    toggle () {\n      this.isOpen\n        ? this.deactivate()\n        : this.activate();\n    },\n    /**\n     * Updates the hasEnoughSpace variable used for\n     * detecting where to expand the dropdown\n     */\n    adjustPosition () {\n      if (typeof window === 'undefined') return\n\n      const spaceAbove = this.$el.getBoundingClientRect().top;\n      const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom;\n      const hasEnoughSpaceBelow = spaceBelow > this.maxHeight;\n\n      if (hasEnoughSpaceBelow || spaceBelow > spaceAbove || this.openDirection === 'below' || this.openDirection === 'bottom') {\n        this.preferredOpenDirection = 'below';\n        this.optimizedHeight = Math.min(spaceBelow - 40, this.maxHeight);\n      } else {\n        this.preferredOpenDirection = 'above';\n        this.optimizedHeight = Math.min(spaceAbove - 40, this.maxHeight);\n      }\n    }\n  }\n};\n\nvar pointerMixin = {\n  data () {\n    return {\n      pointer: 0,\n      pointerDirty: false\n    }\n  },\n  props: {\n    /**\n     * Enable/disable highlighting of the pointed value.\n     * @type {Boolean}\n     * @default true\n     */\n    showPointer: {\n      type: Boolean,\n      default: true\n    },\n    optionHeight: {\n      type: Number,\n      default: 40\n    }\n  },\n  computed: {\n    pointerPosition () {\n      return this.pointer * this.optionHeight\n    },\n    visibleElements () {\n      return this.optimizedHeight / this.optionHeight\n    }\n  },\n  watch: {\n    filteredOptions () {\n      this.pointerAdjust();\n    },\n    isOpen () {\n      this.pointerDirty = false;\n    },\n    pointer () {\n      this.$refs.search && this.$refs.search.setAttribute('aria-activedescendant', this.id + '-' + this.pointer.toString());\n    }\n  },\n  methods: {\n    optionHighlight (index, option) {\n      return {\n        'multiselect__option--highlight': index === this.pointer && this.showPointer,\n        'multiselect__option--selected': this.isSelected(option)\n      }\n    },\n    groupHighlight (index, selectedGroup) {\n      if (!this.groupSelect) {\n        return [\n          'multiselect__option--disabled',\n          {'multiselect__option--group': selectedGroup.$isLabel}\n        ]\n      }\n\n      const group = this.options.find((option) => {\n        return option[this.groupLabel] === selectedGroup.$groupLabel\n      });\n\n      return group && !this.wholeGroupDisabled(group) ? [\n        'multiselect__option--group',\n        {'multiselect__option--highlight': index === this.pointer && this.showPointer},\n        {'multiselect__option--group-selected': this.wholeGroupSelected(group)}\n      ] : 'multiselect__option--disabled'\n    },\n    addPointerElement ({key} = 'Enter') {\n      /* istanbul ignore else */\n      if (this.filteredOptions.length > 0) {\n        this.select(this.filteredOptions[this.pointer], key);\n      }\n      this.pointerReset();\n    },\n    pointerForward () {\n      /* istanbul ignore else */\n      if (this.pointer < this.filteredOptions.length - 1) {\n        this.pointer++;\n        /* istanbul ignore next */\n        if (this.$refs.list.scrollTop <= this.pointerPosition - (this.visibleElements - 1) * this.optionHeight) {\n          this.$refs.list.scrollTop = this.pointerPosition - (this.visibleElements - 1) * this.optionHeight;\n        }\n        /* istanbul ignore else */\n        if (\n          this.filteredOptions[this.pointer] &&\n          this.filteredOptions[this.pointer].$isLabel &&\n          !this.groupSelect\n        ) this.pointerForward();\n      }\n      this.pointerDirty = true;\n    },\n    pointerBackward () {\n      if (this.pointer > 0) {\n        this.pointer--;\n        /* istanbul ignore else */\n        if (this.$refs.list.scrollTop >= this.pointerPosition) {\n          this.$refs.list.scrollTop = this.pointerPosition;\n        }\n        /* istanbul ignore else */\n        if (\n          this.filteredOptions[this.pointer] &&\n          this.filteredOptions[this.pointer].$isLabel &&\n          !this.groupSelect\n        ) this.pointerBackward();\n      } else {\n        /* istanbul ignore else */\n        if (\n          this.filteredOptions[this.pointer] &&\n          this.filteredOptions[0].$isLabel &&\n          !this.groupSelect\n        ) this.pointerForward();\n      }\n      this.pointerDirty = true;\n    },\n    pointerReset () {\n      /* istanbul ignore else */\n      if (!this.closeOnSelect) return\n      this.pointer = 0;\n      /* istanbul ignore else */\n      if (this.$refs.list) {\n        this.$refs.list.scrollTop = 0;\n      }\n    },\n    pointerAdjust () {\n      /* istanbul ignore else */\n      if (this.pointer >= this.filteredOptions.length - 1) {\n        this.pointer = this.filteredOptions.length\n          ? this.filteredOptions.length - 1\n          : 0;\n      }\n\n      if (this.filteredOptions.length > 0 &&\n        this.filteredOptions[this.pointer].$isLabel &&\n        !this.groupSelect\n      ) {\n        this.pointerForward();\n      }\n    },\n    pointerSet (index) {\n      this.pointer = index;\n      this.pointerDirty = true;\n    }\n  }\n};\n\nvar script = {\n  name: 'vue-multiselect',\n  mixins: [multiselectMixin, pointerMixin],\n  compatConfig: {\n    MODE: 3,\n    ATTR_ENUMERATED_COERCION: false\n  },\n  props: {\n    /**\n       * name attribute to match optional label element\n       * @default ''\n       * @type {String}\n       */\n    name: {\n      type: String,\n      default: ''\n    },\n    /**\n       * Presets the selected options value.\n       * @type {Object||Array||String||Integer}\n       */\n    modelValue: {\n      type: null,\n      default () {\n        return []\n      }\n    },\n    /**\n       * String to show when pointing to an option\n       * @default 'Press enter to select'\n       * @type {String}\n       */\n    selectLabel: {\n      type: String,\n      default: 'Press enter to select'\n    },\n    /**\n       * String to show when pointing to an option\n       * @default 'Press enter to select'\n       * @type {String}\n       */\n    selectGroupLabel: {\n      type: String,\n      default: 'Press enter to select group'\n    },\n    /**\n       * String to show next to selected option\n       * @default 'Selected'\n       * @type {String}\n       */\n    selectedLabel: {\n      type: String,\n      default: 'Selected'\n    },\n    /**\n       * String to show when pointing to an already selected option\n       * @default 'Press enter to remove'\n       * @type {String}\n       */\n    deselectLabel: {\n      type: String,\n      default: 'Press enter to remove'\n    },\n    /**\n       * String to show when pointing to an already selected option\n       * @default 'Press enter to remove'\n       * @type {String}\n       */\n    deselectGroupLabel: {\n      type: String,\n      default: 'Press enter to deselect group'\n    },\n    /**\n       * Decide whether to show pointer labels\n       * @default true\n       * @type {Boolean}\n       */\n    showLabels: {\n      type: Boolean,\n      default: true\n    },\n    /**\n       * Limit the display of selected options. The rest will be hidden within the limitText string.\n       * @default 99999\n       * @type {Integer}\n       */\n    limit: {\n      type: Number,\n      default: 99999\n    },\n    /**\n       * Sets maxHeight style value of the dropdown\n       * @default 300\n       * @type {Integer}\n       */\n    maxHeight: {\n      type: Number,\n      default: 300\n    },\n    /**\n       * Function that process the message shown when selected\n       * elements pass the defined limit.\n       * @default 'and * more'\n       * @param {Int} count Number of elements more than limit\n       * @type {Function}\n       */\n    limitText: {\n      type: Function,\n      default: (count) => `and ${count} more`\n    },\n    /**\n       * Set true to trigger the loading spinner.\n       * @default False\n       * @type {Boolean}\n       */\n    loading: {\n      type: Boolean,\n      default: false\n    },\n    /**\n       * Disables the multiselect if true.\n       * @default false\n       * @type {Boolean}\n       */\n    disabled: {\n      type: Boolean,\n      default: false\n    },\n    /**\n       * Fixed opening direction\n       * @default ''\n       * @type {String}\n       */\n    openDirection: {\n      type: String,\n      default: ''\n    },\n    /**\n       * Shows slot with message about empty options\n       * @default true\n       * @type {Boolean}\n       */\n    showNoOptions: {\n      type: Boolean,\n      default: true\n    },\n    showNoResults: {\n      type: Boolean,\n      default: true\n    },\n    tabindex: {\n      type: Number,\n      default: 0\n    }\n  },\n  computed: {\n    hasOptionGroup () {\n      return this.groupValues && this.groupLabel && this.groupSelect\n    },\n    isSingleLabelVisible () {\n      return (\n        (this.singleValue || this.singleValue === 0) &&\n          (!this.isOpen || !this.searchable) &&\n          !this.visibleValues.length\n      )\n    },\n    isPlaceholderVisible () {\n      return !this.internalValue.length && (!this.searchable || !this.isOpen)\n    },\n    visibleValues () {\n      return this.multiple ? this.internalValue.slice(0, this.limit) : []\n    },\n    singleValue () {\n      return this.internalValue[0]\n    },\n    deselectLabelText () {\n      return this.showLabels ? this.deselectLabel : ''\n    },\n    deselectGroupLabelText () {\n      return this.showLabels ? this.deselectGroupLabel : ''\n    },\n    selectLabelText () {\n      return this.showLabels ? this.selectLabel : ''\n    },\n    selectGroupLabelText () {\n      return this.showLabels ? this.selectGroupLabel : ''\n    },\n    selectedLabelText () {\n      return this.showLabels ? this.selectedLabel : ''\n    },\n    inputStyle () {\n      if (\n        this.searchable ||\n          (this.multiple && this.modelValue && this.modelValue.length)\n      ) {\n        // Hide input by setting the width to 0 allowing it to receive focus\n        return this.isOpen\n          ? {width: '100%'}\n          : {width: '0', position: 'absolute', padding: '0'}\n      }\n      return ''\n    },\n    contentStyle () {\n      return this.options.length\n        ? {display: 'inline-block'}\n        : {display: 'block'}\n    },\n    isAbove () {\n      if (this.openDirection === 'above' || this.openDirection === 'top') {\n        return true\n      } else if (\n        this.openDirection === 'below' ||\n          this.openDirection === 'bottom'\n      ) {\n        return false\n      } else {\n        return this.preferredOpenDirection === 'above'\n      }\n    },\n    showSearchInput () {\n      return (\n        this.searchable &&\n          (this.hasSingleSelectedSlot &&\n            (this.visibleSingleValue || this.visibleSingleValue === 0)\n            ? this.isOpen\n            : true)\n      )\n    }\n  }\n};\n\nconst _hoisted_1 = {\n  ref: \"tags\",\n  class: \"multiselect__tags\"\n};\nconst _hoisted_2 = { class: \"multiselect__tags-wrap\" };\nconst _hoisted_3 = { class: \"multiselect__spinner\" };\nconst _hoisted_4 = { key: 0 };\nconst _hoisted_5 = { class: \"multiselect__option\" };\nconst _hoisted_6 = { class: \"multiselect__option\" };\nconst _hoisted_7 = /*#__PURE__*/createTextVNode(\"No elements found. Consider changing the search query.\");\nconst _hoisted_8 = { class: \"multiselect__option\" };\nconst _hoisted_9 = /*#__PURE__*/createTextVNode(\"List is empty.\");\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n  return (openBlock(), createBlock(\"div\", {\n    tabindex: _ctx.searchable ? -1 : $props.tabindex,\n    class: [{ 'multiselect--active': _ctx.isOpen, 'multiselect--disabled': $props.disabled, 'multiselect--above': $options.isAbove, 'multiselect--has-options-group': $options.hasOptionGroup }, \"multiselect\"],\n    onFocus: _cache[14] || (_cache[14] = $event => (_ctx.activate())),\n    onBlur: _cache[15] || (_cache[15] = $event => (_ctx.searchable ? false : _ctx.deactivate())),\n    onKeydown: [\n      _cache[16] || (_cache[16] = withKeys(withModifiers($event => (_ctx.pointerForward()), [\"self\",\"prevent\"]), [\"down\"])),\n      _cache[17] || (_cache[17] = withKeys(withModifiers($event => (_ctx.pointerBackward()), [\"self\",\"prevent\"]), [\"up\"]))\n    ],\n    onKeypress: _cache[18] || (_cache[18] = withKeys(withModifiers($event => (_ctx.addPointerElement($event)), [\"stop\",\"self\"]), [\"enter\",\"tab\"])),\n    onKeyup: _cache[19] || (_cache[19] = withKeys($event => (_ctx.deactivate()), [\"esc\"])),\n    role: \"combobox\",\n    \"aria-owns\": 'listbox-'+_ctx.id\n  }, [\n    renderSlot(_ctx.$slots, \"caret\", { toggle: _ctx.toggle }, () => [\n      createVNode(\"div\", {\n        onMousedown: _cache[1] || (_cache[1] = withModifiers($event => (_ctx.toggle()), [\"prevent\",\"stop\"])),\n        class: \"multiselect__select\"\n      }, null, 32 /* HYDRATE_EVENTS */)\n    ]),\n    renderSlot(_ctx.$slots, \"clear\", { search: _ctx.search }),\n    createVNode(\"div\", _hoisted_1, [\n      renderSlot(_ctx.$slots, \"selection\", {\n        search: _ctx.search,\n        remove: _ctx.removeElement,\n        values: $options.visibleValues,\n        isOpen: _ctx.isOpen\n      }, () => [\n        withDirectives(createVNode(\"div\", _hoisted_2, [\n          (openBlock(true), createBlock(Fragment, null, renderList($options.visibleValues, (option, index) => {\n            return renderSlot(_ctx.$slots, \"tag\", {\n              option: option,\n              search: _ctx.search,\n              remove: _ctx.removeElement\n            }, () => [\n              (openBlock(), createBlock(\"span\", {\n                class: \"multiselect__tag\",\n                key: index\n              }, [\n                createVNode(\"span\", {\n                  textContent: toDisplayString(_ctx.getOptionLabel(option))\n                }, null, 8 /* PROPS */, [\"textContent\"]),\n                createVNode(\"i\", {\n                  tabindex: \"1\",\n                  onKeypress: withKeys(withModifiers($event => (_ctx.removeElement(option)), [\"prevent\"]), [\"enter\"]),\n                  onMousedown: withModifiers($event => (_ctx.removeElement(option)), [\"prevent\"]),\n                  class: \"multiselect__tag-icon\"\n                }, null, 40 /* PROPS, HYDRATE_EVENTS */, [\"onKeypress\", \"onMousedown\"])\n              ]))\n            ])\n          }), 256 /* UNKEYED_FRAGMENT */))\n        ], 512 /* NEED_PATCH */), [\n          [vShow, $options.visibleValues.length > 0]\n        ]),\n        (_ctx.internalValue && _ctx.internalValue.length > $props.limit)\n          ? renderSlot(_ctx.$slots, \"limit\", { key: 0 }, () => [\n              createVNode(\"strong\", {\n                class: \"multiselect__strong\",\n                textContent: toDisplayString($props.limitText(_ctx.internalValue.length - $props.limit))\n              }, null, 8 /* PROPS */, [\"textContent\"])\n            ])\n          : createCommentVNode(\"v-if\", true)\n      ]),\n      createVNode(Transition, { name: \"multiselect__loading\" }, {\n        default: withCtx(() => [\n          renderSlot(_ctx.$slots, \"loading\", {}, () => [\n            withDirectives(createVNode(\"div\", _hoisted_3, null, 512 /* NEED_PATCH */), [\n              [vShow, $props.loading]\n            ])\n          ])\n        ]),\n        _: 3 /* FORWARDED */\n      }),\n      (_ctx.searchable)\n        ? (openBlock(), createBlock(\"input\", {\n            key: 0,\n            ref: \"search\",\n            name: $props.name,\n            id: _ctx.id,\n            type: \"text\",\n            autocomplete: \"off\",\n            spellcheck: false,\n            placeholder: _ctx.placeholder,\n            style: $options.inputStyle,\n            value: _ctx.search,\n            disabled: $props.disabled,\n            tabindex: $props.tabindex,\n            onInput: _cache[2] || (_cache[2] = $event => (_ctx.updateSearch($event.target.value))),\n            onFocus: _cache[3] || (_cache[3] = withModifiers($event => (_ctx.activate()), [\"prevent\"])),\n            onBlur: _cache[4] || (_cache[4] = withModifiers($event => (_ctx.deactivate()), [\"prevent\"])),\n            onKeyup: _cache[5] || (_cache[5] = withKeys($event => (_ctx.deactivate()), [\"esc\"])),\n            onKeydown: [\n              _cache[6] || (_cache[6] = withKeys(withModifiers($event => (_ctx.pointerForward()), [\"prevent\"]), [\"down\"])),\n              _cache[7] || (_cache[7] = withKeys(withModifiers($event => (_ctx.pointerBackward()), [\"prevent\"]), [\"up\"])),\n              _cache[9] || (_cache[9] = withKeys(withModifiers($event => (_ctx.removeLastElement()), [\"stop\"]), [\"delete\"]))\n            ],\n            onKeypress: _cache[8] || (_cache[8] = withKeys(withModifiers($event => (_ctx.addPointerElement($event)), [\"prevent\",\"stop\",\"self\"]), [\"enter\"])),\n            class: \"multiselect__input\",\n            \"aria-controls\": 'listbox-'+_ctx.id\n          }, null, 44 /* STYLE, PROPS, HYDRATE_EVENTS */, [\"name\", \"id\", \"placeholder\", \"value\", \"disabled\", \"tabindex\", \"aria-controls\"]))\n        : createCommentVNode(\"v-if\", true),\n      ($options.isSingleLabelVisible)\n        ? (openBlock(), createBlock(\"span\", {\n            key: 1,\n            class: \"multiselect__single\",\n            onMousedown: _cache[10] || (_cache[10] = withModifiers((...args) => (_ctx.toggle && _ctx.toggle(...args)), [\"prevent\"]))\n          }, [\n            renderSlot(_ctx.$slots, \"singleLabel\", { option: $options.singleValue }, () => [\n              createTextVNode(toDisplayString(_ctx.currentOptionLabel), 1 /* TEXT */)\n            ])\n          ], 32 /* HYDRATE_EVENTS */))\n        : createCommentVNode(\"v-if\", true),\n      ($options.isPlaceholderVisible)\n        ? (openBlock(), createBlock(\"span\", {\n            key: 2,\n            class: \"multiselect__placeholder\",\n            onMousedown: _cache[11] || (_cache[11] = withModifiers((...args) => (_ctx.toggle && _ctx.toggle(...args)), [\"prevent\"]))\n          }, [\n            renderSlot(_ctx.$slots, \"placeholder\", {}, () => [\n              createTextVNode(toDisplayString(_ctx.placeholder), 1 /* TEXT */)\n            ])\n          ], 32 /* HYDRATE_EVENTS */))\n        : createCommentVNode(\"v-if\", true)\n    ], 512 /* NEED_PATCH */),\n    createVNode(Transition, { name: \"multiselect\" }, {\n      default: withCtx(() => [\n        withDirectives(createVNode(\"div\", {\n          class: \"multiselect__content-wrapper\",\n          onFocus: _cache[12] || (_cache[12] = (...args) => (_ctx.activate && _ctx.activate(...args))),\n          tabindex: \"-1\",\n          onMousedown: _cache[13] || (_cache[13] = withModifiers(() => {}, [\"prevent\"])),\n          style: { maxHeight: _ctx.optimizedHeight + 'px' },\n          ref: \"list\"\n        }, [\n          createVNode(\"ul\", {\n            class: \"multiselect__content\",\n            style: $options.contentStyle,\n            role: \"listbox\",\n            id: 'listbox-'+_ctx.id\n          }, [\n            renderSlot(_ctx.$slots, \"beforeList\"),\n            (_ctx.multiple && _ctx.max === _ctx.internalValue.length)\n              ? (openBlock(), createBlock(\"li\", _hoisted_4, [\n                  createVNode(\"span\", _hoisted_5, [\n                    renderSlot(_ctx.$slots, \"maxElements\", {}, () => [\n                      createTextVNode(\"Maximum of \" + toDisplayString(_ctx.max) + \" options selected. First remove a selected option to select another.\", 1 /* TEXT */)\n                    ])\n                  ])\n                ]))\n              : createCommentVNode(\"v-if\", true),\n            (!_ctx.max || _ctx.internalValue.length < _ctx.max)\n              ? (openBlock(true), createBlock(Fragment, { key: 1 }, renderList(_ctx.filteredOptions, (option, index) => {\n                  return (openBlock(), createBlock(\"li\", {\n                    class: \"multiselect__element\",\n                    key: index,\n                    id: _ctx.id + '-' + index,\n                    role: !(option && (option.$isLabel || option.$isDisabled)) ? 'option' : null\n                  }, [\n                    (!(option && (option.$isLabel || option.$isDisabled)))\n                      ? (openBlock(), createBlock(\"span\", {\n                          key: 0,\n                          class: [_ctx.optionHighlight(index, option), \"multiselect__option\"],\n                          onClick: withModifiers($event => (_ctx.select(option)), [\"stop\"]),\n                          onMouseenter: withModifiers($event => (_ctx.pointerSet(index)), [\"self\"]),\n                          \"data-select\": option && option.isTag ? _ctx.tagPlaceholder : $options.selectLabelText,\n                          \"data-selected\": $options.selectedLabelText,\n                          \"data-deselect\": $options.deselectLabelText\n                        }, [\n                          renderSlot(_ctx.$slots, \"option\", {\n                            option: option,\n                            search: _ctx.search,\n                            index: index\n                          }, () => [\n                            createVNode(\"span\", null, toDisplayString(_ctx.getOptionLabel(option)), 1 /* TEXT */)\n                          ])\n                        ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, [\"onClick\", \"onMouseenter\", \"data-select\", \"data-selected\", \"data-deselect\"]))\n                      : createCommentVNode(\"v-if\", true),\n                    (option && (option.$isLabel || option.$isDisabled))\n                      ? (openBlock(), createBlock(\"span\", {\n                          key: 1,\n                          \"data-select\": _ctx.groupSelect && $options.selectGroupLabelText,\n                          \"data-deselect\": _ctx.groupSelect && $options.deselectGroupLabelText,\n                          class: [_ctx.groupHighlight(index, option), \"multiselect__option\"],\n                          onMouseenter: withModifiers($event => (_ctx.groupSelect && _ctx.pointerSet(index)), [\"self\"]),\n                          onMousedown: withModifiers($event => (_ctx.selectGroup(option)), [\"prevent\"])\n                        }, [\n                          renderSlot(_ctx.$slots, \"option\", {\n                            option: option,\n                            search: _ctx.search,\n                            index: index\n                          }, () => [\n                            createVNode(\"span\", null, toDisplayString(_ctx.getOptionLabel(option)), 1 /* TEXT */)\n                          ])\n                        ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, [\"data-select\", \"data-deselect\", \"onMouseenter\", \"onMousedown\"]))\n                      : createCommentVNode(\"v-if\", true)\n                  ], 8 /* PROPS */, [\"id\", \"role\"]))\n                }), 128 /* KEYED_FRAGMENT */))\n              : createCommentVNode(\"v-if\", true),\n            withDirectives(createVNode(\"li\", null, [\n              createVNode(\"span\", _hoisted_6, [\n                renderSlot(_ctx.$slots, \"noResult\", { search: _ctx.search }, () => [\n                  _hoisted_7\n                ])\n              ])\n            ], 512 /* NEED_PATCH */), [\n              [vShow, $props.showNoResults && (_ctx.filteredOptions.length === 0 && _ctx.search && !$props.loading)]\n            ]),\n            withDirectives(createVNode(\"li\", null, [\n              createVNode(\"span\", _hoisted_8, [\n                renderSlot(_ctx.$slots, \"noOptions\", {}, () => [\n                  _hoisted_9\n                ])\n              ])\n            ], 512 /* NEED_PATCH */), [\n              [vShow, $props.showNoOptions && ((_ctx.options.length === 0 || ($options.hasOptionGroup === true && _ctx.filteredOptions.length === 0)) && !_ctx.search && !$props.loading)]\n            ]),\n            renderSlot(_ctx.$slots, \"afterList\")\n          ], 12 /* STYLE, PROPS */, [\"id\"])\n        ], 36 /* STYLE, HYDRATE_EVENTS */), [\n          [vShow, _ctx.isOpen]\n        ])\n      ]),\n      _: 3 /* FORWARDED */\n    })\n  ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, [\"tabindex\", \"aria-owns\"]))\n}\n\nscript.render = render;\n\nexport default script;\nexport { script as Multiselect, multiselectMixin, pointerMixin };\n","\nimport { Vue, Options } from \"vue-property-decorator\";\n//@ts-ignore\nimport VueMultiselect from \"vue-multiselect\";\n\n@Options({\n  components: {\n    VueMultiselect,\n  },\n})\nexport default class FscMultiselect extends Vue {\n  public name = \"FscMultiselect\";\n}\n","import { render } from \"./FscMultiselect.vue?vue&type=template&id=d40360fc&ts=true\"\nimport script from \"./FscMultiselect.vue?vue&type=script&lang=ts\"\nexport * from \"./FscMultiselect.vue?vue&type=script&lang=ts\"\n\nimport \"./FscMultiselect.vue?vue&type=style&index=0&id=d40360fc&lang=scss\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export default function isNumeric(str: string): boolean {\n  return /^-?\\d*\\.?\\d+(,\\d+)?$/.test(str.replace(/,/g, \".\"));\n}\n","import { createDecorator } from 'vue-class-component';\nimport { mapState, mapGetters, mapActions, mapMutations } from 'vuex';\nexport var State = createBindingHelper('computed', mapState);\nexport var Getter = createBindingHelper('computed', mapGetters);\nexport var Action = createBindingHelper('methods', mapActions);\nexport var Mutation = createBindingHelper('methods', mapMutations);\nexport function namespace(namespace, helper) {\n    function createNamespacedHelper(helper) {\n        function namespacedHelper(a, b) {\n            if (typeof b === 'string') {\n                var key = b;\n                var proto = a;\n                return helper(key, { namespace: namespace })(proto, key);\n            }\n            var type = a;\n            var options = merge(b || {}, { namespace: namespace });\n            return helper(type, options);\n        }\n        return namespacedHelper;\n    }\n    if (helper) {\n        console.warn('[vuex-class] passing the 2nd argument to `namespace` function is deprecated. pass only namespace string instead.');\n        return createNamespacedHelper(helper);\n    }\n    return {\n        State: createNamespacedHelper(State),\n        Getter: createNamespacedHelper(Getter),\n        Mutation: createNamespacedHelper(Mutation),\n        Action: createNamespacedHelper(Action)\n    };\n}\nfunction createBindingHelper(bindTo, mapFn) {\n    function makeDecorator(map, namespace) {\n        return createDecorator(function (componentOptions, key) {\n            if (!componentOptions[bindTo]) {\n                componentOptions[bindTo] = {};\n            }\n            var mapObject = (_a = {}, _a[key] = map, _a);\n            componentOptions[bindTo][key] = namespace !== undefined\n                ? mapFn(namespace, mapObject)[key]\n                : mapFn(mapObject)[key];\n            var _a;\n        });\n    }\n    function helper(a, b) {\n        if (typeof b === 'string') {\n            var key = b;\n            var proto = a;\n            return makeDecorator(key, undefined)(proto, key);\n        }\n        var namespace = extractNamespace(b);\n        var type = a;\n        return makeDecorator(type, namespace);\n    }\n    return helper;\n}\nfunction extractNamespace(options) {\n    var n = options && options.namespace;\n    if (typeof n !== 'string') {\n        return undefined;\n    }\n    if (n[n.length - 1] !== '/') {\n        return n + '/';\n    }\n    return n;\n}\nfunction merge(a, b) {\n    var res = {};\n    [a, b].forEach(function (obj) {\n        Object.keys(obj).forEach(function (key) {\n            res[key] = obj[key];\n        });\n    });\n    return res;\n}\n","import { createGesture } from \"@ionic/vue\";\n\nexport function setupLongPressGesture(element: HTMLElement, duration: number, callback: () => void, gestureName = \"long-press\"): void {\n  let pressTimer: any;\n  let longPressTriggered = false;\n\n  const gesture = createGesture({\n    el: element,\n    gestureName,\n    threshold: 0,\n    onStart: () => {\n      longPressTriggered = false;\n      pressTimer = setTimeout(() => {\n        longPressTriggered = true;\n        callback();\n      }, duration);\n    },\n    onEnd: () => {\n      clearTimeout(pressTimer);\n      // If the long press gesture is triggered then prevent other events\n      if (longPressTriggered) {\n        element.addEventListener(\n          \"click\",\n          (e) => {\n            e.stopPropagation();\n            e.preventDefault();\n          },\n          { once: true }\n        );\n      }\n    },\n  });\n\n  gesture.enable();\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./VideoPlayer.vue?vue&type=style&index=0&id=bac3b65c&lang=scss\"","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeFloor = Math.floor,\n    nativeRandom = Math.random;\n\n/**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\nfunction baseRandom(lower, upper) {\n  return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n}\n\nmodule.exports = baseRandom;\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"bg-curious-blue-500 radius-10 p-4 px-xl-5 py-xl-5 text-white fsc-block th-qs\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_b_collapse = _resolveComponent(\"b-collapse\")!\n\n  return (_openBlock(), _createBlock(_component_b_collapse, {\n    id: \"question-hint\",\n    class: \"flex-fill\",\n    onShown: _ctx.onShow,\n    onHidden: _ctx.onHide,\n    \"model-value\": _ctx.active\n  }, {\n    default: _withCtx(() => [\n      _createElementVNode(\"div\", _hoisted_1, _toDisplayString(_ctx.questionHint), 1)\n    ]),\n    _: 1\n  }, 8, [\"onShown\", \"onHidden\", \"model-value\"]))\n}","\nimport { computed, defineComponent, onMounted, PropType, ref } from \"vue\";\nimport emitter from \"@/utils/EventBus\";\nimport { IQuestion } from \"@/interfaces/IQuestion\";\nimport { isPlatform } from \"@ionic/vue\";\n\nexport default defineComponent({\n  name: \"QuestionHint\",\n  props: {\n    question: {\n      type: Object as PropType<IQuestion>,\n    },\n  },\n  setup(props) {\n    const active = ref(false);\n    const scrollToBottom = () => {\n      scroll(\"question-hint\");\n    };\n\n    const scroll = (id: string) => {\n      if (!isPlatform(\"desktop\")) {\n        document.getElementById(id)?.scrollIntoView({\n          behavior: \"smooth\",\n        });\n      }\n    };\n\n    const scrollToTop = () => {\n      scroll(\"question-content\");\n    };\n\n    const onShow = () => {\n      scrollToBottom();\n    };\n\n    const onHide = () => {\n      scrollToTop();\n    };\n\n    onMounted(() => {\n      emitter.$on(\"question-hint-toggle\", () => {\n        if (questionHint.value) active.value = !active.value;\n      });\n\n      emitter.$on(\"question-hint-model\", (value: boolean) => {\n        if (questionHint.value) active.value = value;\n      });\n    });\n\n    const questionHint = computed(() => {\n      return props?.question?.hint || null;\n    });\n\n    return {\n      onShow,\n      onHide,\n      active,\n      questionHint,\n    };\n  },\n});\n","import { render } from \"./QuestionHint.vue?vue&type=template&id=aaafcd12&ts=true\"\nimport script from \"./QuestionHint.vue?vue&type=script&lang=ts\"\nexport * from \"./QuestionHint.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","function E () {\n  // Keep this empty so it's easier to inherit from\n  // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n  on: function (name, callback, ctx) {\n    var e = this.e || (this.e = {});\n\n    (e[name] || (e[name] = [])).push({\n      fn: callback,\n      ctx: ctx\n    });\n\n    return this;\n  },\n\n  once: function (name, callback, ctx) {\n    var self = this;\n    function listener () {\n      self.off(name, listener);\n      callback.apply(ctx, arguments);\n    };\n\n    listener._ = callback\n    return this.on(name, listener, ctx);\n  },\n\n  emit: function (name) {\n    var data = [].slice.call(arguments, 1);\n    var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n    var i = 0;\n    var len = evtArr.length;\n\n    for (i; i < len; i++) {\n      evtArr[i].fn.apply(evtArr[i].ctx, data);\n    }\n\n    return this;\n  },\n\n  off: function (name, callback) {\n    var e = this.e || (this.e = {});\n    var evts = e[name];\n    var liveEvents = [];\n\n    if (evts && callback) {\n      for (var i = 0, len = evts.length; i < len; i++) {\n        if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n          liveEvents.push(evts[i]);\n      }\n    }\n\n    // Remove event from queue to prevent memory leak\n    // Suggested by https://github.com/lazd\n    // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n    (liveEvents.length)\n      ? e[name] = liveEvents\n      : delete e[name];\n\n    return this;\n  }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n","var baseRandom = require('./_baseRandom');\n\n/**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\nfunction shuffleSelf(array, size) {\n  var index = -1,\n      length = array.length,\n      lastIndex = length - 1;\n\n  size = size === undefined ? length : size;\n  while (++index < size) {\n    var rand = baseRandom(index, lastIndex),\n        value = array[rand];\n\n    array[rand] = array[index];\n    array[index] = value;\n  }\n  array.length = size;\n  return array;\n}\n\nmodule.exports = shuffleSelf;\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n  if (passed < required) throw new $TypeError('Not enough arguments');\n  return passed;\n};\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./FscMultiselect.vue?vue&type=style&index=0&id=d40360fc&lang=scss\"","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa-solid fa-house d-xl-none\" }, null, -1)\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"fat fa-home d-none d-xl-inline-block\" }, null, -1)\nconst _hoisted_3 = [\n  _hoisted_1,\n  _hoisted_2\n]\nconst _hoisted_4 = { class: \"ml-2 d-none d-xl-block\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_b_col = _resolveComponent(\"b-col\")!\n\n  return (_openBlock(), _createBlock(_component_b_col, {\n    class: _normalizeClass([\"text-uppercase font-size-20 align-items-center justify-content-start\", _ctx.className]),\n    cols: _ctx.cols\n  }, {\n    default: _withCtx(() => [\n      _createElementVNode(\"button\", {\n        class: \"pointer d-inline-flex align-items-center back-home-btn\",\n        onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$emit('click'))),\n        style: {\"flex-shrink\":\"0\"}\n      }, _hoisted_3),\n      _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t(\"general.dashboard_theory\")), 1)\n    ]),\n    _: 1\n  }, 8, [\"class\", \"cols\"]))\n}","\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n  name: \"BackButton\",\n  props: {\n    cols: {\n      default: () => 4,\n    },\n    className: {\n      default: () => \"d-flex\",\n    },\n  },\n});\n","import { render } from \"./BackButton.vue?vue&type=template&id=2b6d171d&ts=true\"\nimport script from \"./BackButton.vue?vue&type=script&lang=ts\"\nexport * from \"./BackButton.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","module.exports = __webpack_public_path__ + \"img/theory_empty.9fd84c46.svg\";","module.exports = __webpack_public_path__ + \"img/notebook-girl.7c67e92c.png\";","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n  if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n  if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n  return defineProperty.f(target, name, descriptor);\n};\n","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"font-size-30 font-weight-semibold text-white\" }, \"THEORIE\", -1)\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"i\", {\n  class: \"fat fa-circle-arrow-right\",\n  style: {\"cursor\":\"pointer\"}\n}, null, -1)\nconst _hoisted_3 = [\"src\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_router_link = _resolveComponent(\"router-link\")!\n\n  return (_openBlock(), _createElementBlock(\"div\", {\n    class: \"mobile-theory-block bg-curious-blue-500 radius-10 justify-content-between\",\n    onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.goTo && _ctx.goTo(...args)))\n  }, [\n    _hoisted_1,\n    _createVNode(_component_router_link, { to: _ctx.to }, {\n      default: _withCtx(() => [\n        _hoisted_2\n      ]),\n      _: 1\n    }, 8, [\"to\"]),\n    _createElementVNode(\"img\", {\n      src: require('@/assets/img/theory/theory_empty.svg'),\n      alt: \"\"\n    }, null, 8, _hoisted_3)\n  ]))\n}","\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n  name: \"MobileTheoryBlock\",\n  props: {\n    to: {\n      default: () => \"/\",\n    },\n\n    goTo: {\n      default: () => null,\n    },\n  },\n});\n","import { render } from \"./MobileTheoryBlock.vue?vue&type=template&id=163a30fa&ts=true\"\nimport script from \"./MobileTheoryBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./MobileTheoryBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./MobileTheoryBlock.vue?vue&type=style&index=0&id=163a30fa&lang=scss\"\n\nimport exportComponent from \"C:\\\\FSC_PROD\\\\drive-buzz-web\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { Options, Vue } from \"vue-property-decorator\";\n\n@Options({})\nexport default class VideoLoadingMixin extends Vue {\n  protected videoLoading = true;\n  protected videoLoadError = false;\n\n  private onVideoLoaded(e: Event): void {\n    this.videoLoading = false;\n  }\n\n  private onVideoLoadError(e: Event): void {\n    this.videoLoading = false;\n    this.videoLoadError = true;\n  }\n}\n","var arrayShuffle = require('./_arrayShuffle'),\n    baseShuffle = require('./_baseShuffle'),\n    isArray = require('./isArray');\n\n/**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\nfunction shuffle(collection) {\n  var func = isArray(collection) ? arrayShuffle : baseShuffle;\n  return func(collection);\n}\n\nmodule.exports = shuffle;\n","import { Options, Vue } from \"vue-property-decorator\";\n\n@Options({})\nexport default class ImageLoadingMixin extends Vue {\n  protected imgLoading = true;\n  protected imgLoadError = false;\n\n  private onImageLoaded(e: Event): void {\n    this.imgLoading = false;\n  }\n\n  private onImageLoadError(e: Event): void {\n    this.imgLoading = false;\n    this.imgLoadError = true;\n  }\n\n  private onImageLoading(e: Event): void {\n    this.imgLoading = true;\n  }\n}\n"],"sourceRoot":""}