{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/crime/punishmentType/PunishmentTypeSelector.vue?931f","webpack:///./src/components/global/geography/GeographySelector.vue?c60b","webpack:///./src/components/charges/ChargeForm.vue?be31","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/components/translation/NewLocaleMessageDialog.vue?453a","webpack:///./src/locales sync [A-Za-z0-9-_,\\s]+\\.json$/","webpack:///./src/App.vue?6656","webpack:///./src/components/global/currency/AFNCurrencyField.vue?3f84","webpack:///./src/views/user/UserAuditReport.vue?cd0d","webpack:///./src/components/global/date/LocaleDateRange.vue?bf2b","webpack:///./src/views/auth/Login.vue?6258","webpack:///./src/views/translation/LocaleMessageList.vue?613a","webpack:///./src/components/investigation/prosecutor/ProsecutorSearchSelector.vue?d1c2","webpack:///./src/components/court/party/PartySearchSelector.vue?cdf7","webpack:///./src/components/offender/classification/ClassificationScoreSlider.vue?c9db","webpack:///./src/components/court/attorney/AttorneySelector.vue?62f2","webpack:///./src/lib/global-variables.js","webpack:///./src/vuex/application/application.ts","webpack:///./src/lib/vuex-domainmodel.ts","webpack:///./src/i18n.ts","webpack:///./src/api.ts","webpack:///./src/vuex/attachment/attachmentAPI.ts","webpack:///./src/vuex/attachment/attachment.ts","webpack:///./src/router-data.ts","webpack:///./src/views/auth/Login.vue?666d","webpack:///./src/views/auth/Login.vue","webpack:///./src/views/auth/Login.vue?2ee3","webpack:///./src/views/auth/Login.vue?042e","webpack:///./src/views/HomeRedirector.vue?c41b","webpack:///./src/views/HomeRedirector.vue","webpack:///./src/views/HomeRedirector.vue?7800","webpack:///./src/views/HomeRedirector.vue?0f80","webpack:///./src/views/NotFound.vue?343c","webpack:///./src/views/NotFound.vue","webpack:///./src/views/NotFound.vue?c09b","webpack:///./src/views/NotFound.vue?b3c3","webpack:///./src/views/auth/Unauthorized.vue?8260","webpack:///./src/views/auth/Unauthorized.vue","webpack:///./src/views/user/UserHome.vue?fadc","webpack:///./src/components/nav/PrimaryDetectionNav.vue?30b4","webpack:///./src/components/detection/crimeReport/NewCrimeReportDialog.vue?35ac","webpack:///./src/vuex/investigation/investigationAPI.ts","webpack:///./src/components/crime/CrimeSelector.vue?709e","webpack:///./src/components/crime/CrimeSelector.vue","webpack:///./src/components/crime/CrimeSelector.vue?2713","webpack:///./src/components/crime/CrimeSelector.vue?dcc9","webpack:///./src/components/detection/crimeReport/SuspectsTable.vue?1713","webpack:///./src/components/detection/crimeReport/AddSuspectDialog.vue?4507","webpack:///./src/components/profile/ProfileSearchSelector.vue?ce55","webpack:///./src/components/profile/ProfileSearcher.vue?cb7c","webpack:///./src/vuex/profile/profileAPI.ts","webpack:///./src/lib/criteria.ts","webpack:///./src/components/profile/AddProfileDialog.vue?3531","webpack:///./src/components/profile/ProfileForm.vue?4a50","webpack:///./src/vuex/geography/geographyAPI.ts","webpack:///./src/vuex/geography/geography.ts","webpack:///./src/components/profile/ProfileForm.vue","webpack:///./src/components/profile/ProfileForm.vue?8db9","webpack:///./src/components/profile/ProfileForm.vue?247e","webpack:///./src/components/profile/AddProfileDialog.vue","webpack:///./src/components/profile/AddProfileDialog.vue?1338","webpack:///./src/components/profile/AddProfileDialog.vue?e54a","webpack:///./src/components/profile/ProfileDetailsCard.vue?578e","webpack:///./src/components/profile/ProfileEditDialog.vue?62e7","webpack:///./src/components/profile/ProfileEditDialog.vue","webpack:///./src/components/profile/ProfileEditDialog.vue?3124","webpack:///./src/components/profile/ProfileEditDialog.vue?993f","webpack:///./src/components/profile/ProfileDetailsDisplay.vue?1be2","webpack:///./src/components/profile/ProfileDetailsDisplay.vue","webpack:///./src/components/profile/ProfileDetailsDisplay.vue?09dc","webpack:///./src/components/profile/ProfileDetailsDisplay.vue?4836","webpack:///./src/components/profile/ProfileDetailsCard.vue","webpack:///./src/components/profile/ProfileDetailsCard.vue?378c","webpack:///./src/components/profile/ProfileDetailsCard.vue?d37e","webpack:///./src/components/profile/ProfileIdentityCard.vue?dff2","webpack:///./src/components/profile/EditIdentityDialog.vue?2281","webpack:///./src/components/profile/EditIdentityDialog.vue","webpack:///./src/components/profile/EditIdentityDialog.vue?599e","webpack:///./src/components/profile/EditIdentityDialog.vue?d41a","webpack:///./src/components/profile/ProfileIdentityDisplay.vue?d911","webpack:///./src/components/profile/ProfileIdentityDisplay.vue","webpack:///./src/components/profile/ProfileIdentityDisplay.vue?47dd","webpack:///./src/components/profile/ProfileIdentityDisplay.vue?039e","webpack:///./src/components/profile/ProfileIdentityCard.vue","webpack:///./src/components/profile/ProfileIdentityCard.vue?ee2c","webpack:///./src/components/profile/ProfileIdentityCard.vue?0249","webpack:///./src/vuex/court/charge.ts","webpack:///./src/components/profile/ProfileSearcher.vue","webpack:///./src/components/profile/ProfileSearcher.vue?d437","webpack:///./src/components/profile/ProfileSearcher.vue?335b","webpack:///./src/components/profile/ProfileSearchSelector.vue","webpack:///./src/components/profile/ProfileSearchSelector.vue?e953","webpack:///./src/components/profile/ProfileSearchSelector.vue?ade4","webpack:///./src/components/detection/crimeReport/AddSuspectDialog.vue","webpack:///./src/components/detection/crimeReport/AddSuspectDialog.vue?30b6","webpack:///./src/components/detection/crimeReport/AddSuspectDialog.vue?d20e","webpack:///./src/components/detection/crimeReport/SuspectsTable.vue","webpack:///./src/components/detection/crimeReport/SuspectsTable.vue?2a65","webpack:///./src/components/detection/crimeReport/SuspectsTable.vue?ceb2","webpack:///./src/components/detection/crimeReport/VictimsTable.vue?0524","webpack:///./src/components/detection/crimeReport/AddVictimDialog.vue?91dd","webpack:///./src/components/court/party/PartySearchSelector.vue?6b0a","webpack:///./src/components/court/party/PartySearcher.vue?7f1a","webpack:///./src/vuex/court/courtAPI.ts","webpack:///./src/components/court/party/AddPartyDialog.vue?3ee5","webpack:///./src/components/court/party/PartyForm.vue?0b1e","webpack:///./src/components/court/party/PartyForm.vue","webpack:///./src/components/court/party/PartyForm.vue?a92c","webpack:///./src/components/court/party/PartyForm.vue?7c6b","webpack:///./src/components/court/party/AddPartyDialog.vue","webpack:///./src/components/court/party/AddPartyDialog.vue?2d0d","webpack:///./src/components/court/party/AddPartyDialog.vue?749a","webpack:///./src/components/court/party/EditPartyDialog.vue?5029","webpack:///./src/components/court/party/EditPartyDialog.vue","webpack:///./src/components/court/party/EditPartyDialog.vue?3a94","webpack:///./src/components/court/party/EditPartyDialog.vue?5917","webpack:///./src/components/court/party/PartySearcher.vue","webpack:///./src/components/court/party/PartySearcher.vue?598e","webpack:///./src/components/court/party/PartySearcher.vue?524b","webpack:///./src/components/court/party/PartySearchSelector.vue","webpack:///./src/components/court/party/PartySearchSelector.vue?dd2f","webpack:///./src/components/court/party/PartySearchSelector.vue?e9de","webpack:///./src/components/detection/crimeReport/AddVictimDialog.vue","webpack:///./src/components/detection/crimeReport/AddVictimDialog.vue?b0cd","webpack:///./src/components/detection/crimeReport/AddVictimDialog.vue?d644","webpack:///./src/components/detection/crimeReport/VictimsTable.vue","webpack:///./src/components/detection/crimeReport/VictimsTable.vue?268a","webpack:///./src/components/detection/crimeReport/VictimsTable.vue?0edd","webpack:///./src/components/subjectProperty/SubjectPropertiesForm.vue?cde6","webpack:///./src/components/subjectProperty/AddSubjectPropertyDialog.vue?0353","webpack:///./src/components/subjectProperty/SubjectPropertyForm.vue?bc39","webpack:///./src/vuex/court/subjectProperty.ts","webpack:///./src/components/subjectProperty/SubjectPropertyForm.vue","webpack:///./src/components/subjectProperty/SubjectPropertyForm.vue?afbd","webpack:///./src/components/subjectProperty/SubjectPropertyForm.vue?d5db","webpack:///./src/components/subjectProperty/AddSubjectPropertyDialog.vue","webpack:///./src/components/subjectProperty/AddSubjectPropertyDialog.vue?5a3e","webpack:///./src/components/subjectProperty/AddSubjectPropertyDialog.vue?a5a9","webpack:///./src/components/subjectProperty/EditSubjectPropertyDialog.vue?f028","webpack:///./src/components/subjectProperty/EditSubjectPropertyDialog.vue","webpack:///./src/components/subjectProperty/EditSubjectPropertyDialog.vue?2c0a","webpack:///./src/components/subjectProperty/EditSubjectPropertyDialog.vue?42c4","webpack:///./src/components/subjectProperty/SubjectPropertyExpander.vue?d489","webpack:///./src/components/subjectProperty/SubjectPropertyExpander.vue","webpack:///./src/components/subjectProperty/SubjectPropertyExpander.vue?5087","webpack:///./src/components/subjectProperty/SubjectPropertyExpander.vue?66f9","webpack:///./src/components/subjectProperty/SubjectPropertiesForm.vue","webpack:///./src/components/subjectProperty/SubjectPropertiesForm.vue?e5a9","webpack:///./src/components/subjectProperty/SubjectPropertiesForm.vue?349b","webpack:///./src/components/detection/crimeReport/NewCrimeReportDialog.vue","webpack:///./src/components/detection/crimeReport/NewCrimeReportDialog.vue?2bfd","webpack:///./src/components/detection/crimeReport/NewCrimeReportDialog.vue?453e","webpack:///./src/components/nav/PrimaryDetectionNav.vue","webpack:///./src/components/nav/PrimaryDetectionNav.vue?e32b","webpack:///./src/components/nav/PrimaryDetectionNav.vue?36c6","webpack:///./src/components/nav/PrimaryInvestigationNav.vue?23a0","webpack:///./src/components/dossier/NewDossierDialog.vue?574a","webpack:///./src/vuex/court/options.ts","webpack:///./src/vuex/court/party.ts","webpack:///./src/components/court/CaseTypeSelector.vue?ab4d","webpack:///./src/components/court/CaseTypeSelector.vue","webpack:///./src/components/court/CaseTypeSelector.vue?3f8c","webpack:///./src/components/court/CaseTypeSelector.vue?088a","webpack:///./src/components/court/participant/ParticipantsForm.vue?3fcc","webpack:///./src/components/court/participant/AddParticipantDialog.vue?2d27","webpack:///./src/components/court/participant/ParticipantForm.vue?c3ec","webpack:///./src/components/charges/ChargesForm.vue?2c73","webpack:///./src/components/charges/AddChargeDialog.vue?5dd7","webpack:///./src/components/charges/ChargeForm.vue?9058","webpack:///./src/components/charges/ChargeForm.vue","webpack:///./src/components/charges/ChargeForm.vue?9442","webpack:///./src/components/charges/ChargeForm.vue?0674","webpack:///./src/components/charges/AddChargeDialog.vue","webpack:///./src/components/charges/AddChargeDialog.vue?c9df","webpack:///./src/components/charges/AddChargeDialog.vue?89c7","webpack:///./src/components/charges/AggravatorsMitigatorsDetail.vue?d30f","webpack:///./src/components/charges/AggravatorsMitigatorsDetail.vue","webpack:///./src/components/charges/AggravatorsMitigatorsDetail.vue?f57e","webpack:///./src/components/charges/AggravatorsMitigatorsDetail.vue?2f71","webpack:///./src/components/charges/ChargesForm.vue","webpack:///./src/components/charges/ChargesForm.vue?42ed","webpack:///./src/components/charges/ChargesForm.vue?bad8","webpack:///./src/components/court/attorney/PartyAttorneysForm.vue?e963","webpack:///./src/components/court/attorney/AddPartyAttorneyDialog.vue?e52a","webpack:///./src/components/court/attorney/PartyAttorneyForm.vue?3f5d","webpack:///./src/components/court/attorney/AttorneySelector.vue?9fe2","webpack:///./src/components/court/attorney/AttorneySearcher.vue?8ed0","webpack:///./src/components/court/attorney/AddAttorneyDialog.vue?25f9","webpack:///./src/components/court/attorney/AttorneyForm.vue?3036","webpack:///./src/components/court/attorney/AttorneyForm.vue","webpack:///./src/components/court/attorney/AttorneyForm.vue?cf7f","webpack:///./src/components/court/attorney/AttorneyForm.vue?aa3e","webpack:///./src/components/court/attorney/AddAttorneyDialog.vue","webpack:///./src/components/court/attorney/AddAttorneyDialog.vue?d8a0","webpack:///./src/components/court/attorney/AddAttorneyDialog.vue?3c64","webpack:///./src/components/court/attorney/EditAttorneyDialog.vue?9c7a","webpack:///./src/components/court/attorney/EditAttorneyDialog.vue","webpack:///./src/components/court/attorney/EditAttorneyDialog.vue?e54a","webpack:///./src/components/court/attorney/EditAttorneyDialog.vue?4713","webpack:///./src/components/court/attorney/AttorneySearcher.vue","webpack:///./src/components/court/attorney/AttorneySearcher.vue?21c7","webpack:///./src/components/court/attorney/AttorneySearcher.vue?242e","webpack:///./src/components/court/attorney/AttorneySelector.vue","webpack:///./src/components/court/attorney/AttorneySelector.vue?26aa","webpack:///./src/components/court/attorney/AttorneySelector.vue?f7ec","webpack:///./src/components/court/attorney/PartyAttorneyForm.vue","webpack:///./src/components/court/attorney/PartyAttorneyForm.vue?c110","webpack:///./src/components/court/attorney/PartyAttorneyForm.vue?a68f","webpack:///./src/components/court/attorney/AddPartyAttorneyDialog.vue","webpack:///./src/components/court/attorney/AddPartyAttorneyDialog.vue?41e0","webpack:///./src/components/court/attorney/AddPartyAttorneyDialog.vue?55d4","webpack:///./src/components/court/attorney/EditPartyAttorneyDialog.vue?e71a","webpack:///./src/components/court/attorney/EditPartyAttorneyDialog.vue","webpack:///./src/components/court/attorney/EditPartyAttorneyDialog.vue?b848","webpack:///./src/components/court/attorney/EditPartyAttorneyDialog.vue?d8f0","webpack:///./src/components/court/attorney/PartyAttorneyDisplay.vue?b053","webpack:///./src/components/court/attorney/PartyAttorneyDisplay.vue","webpack:///./src/components/court/attorney/PartyAttorneyDisplay.vue?7c4a","webpack:///./src/components/court/attorney/PartyAttorneyDisplay.vue?1d27","webpack:///./src/components/court/attorney/PartyAttorneysForm.vue","webpack:///./src/components/court/attorney/PartyAttorneysForm.vue?67b0","webpack:///./src/components/court/attorney/PartyAttorneysForm.vue?ef92","webpack:///./src/components/dossier/PartyTypeSelector.vue?510c","webpack:///./src/lib/translated.ts","webpack:///./src/vuex/court/attorney.ts","webpack:///./src/vuex/court/dossier.ts","webpack:///./src/vuex/court/finePayment.ts","webpack:///./src/vuex/court/hearing.ts","webpack:///./src/vuex/court/holiday.ts","webpack:///./src/vuex/court/judge.ts","webpack:///./src/vuex/court/caseJudge.ts","webpack:///./src/vuex/court/participant.ts","webpack:///./src/vuex/court/summons.ts","webpack:///./src/vuex/court/case.ts","webpack:///./src/vuex/court/docket.ts","webpack:///./src/vuex/court/civilDecision.ts","webpack:///./src/vuex/court/relatedDossier.ts","webpack:///./src/vuex/court/court.ts","webpack:///./src/components/dossier/PartyTypeSelector.vue","webpack:///./src/components/dossier/PartyTypeSelector.vue?5f7b","webpack:///./src/components/dossier/PartyTypeSelector.vue?66a1","webpack:///./src/components/investigation/prosecutor/ProsecutorSearchSelector.vue?ab80","webpack:///./src/components/investigation/prosecutor/ProsecutorSearcher.vue?9a5b","webpack:///./src/components/investigation/prosecutor/AddProsecutorDialog.vue?3167","webpack:///./src/components/investigation/prosecutor/ProsecutorForm.vue?c9b3","webpack:///./src/components/court/CourtStageSelector.vue?5bcd","webpack:///./src/components/court/CourtStageSelector.vue","webpack:///./src/components/court/CourtStageSelector.vue?71d8","webpack:///./src/components/court/CourtStageSelector.vue?0c1a","webpack:///./src/components/investigation/prosecutor/ProsecutorForm.vue","webpack:///./src/components/investigation/prosecutor/ProsecutorForm.vue?dff0","webpack:///./src/components/investigation/prosecutor/ProsecutorForm.vue?a8da","webpack:///./src/components/investigation/prosecutor/AddProsecutorDialog.vue","webpack:///./src/components/investigation/prosecutor/AddProsecutorDialog.vue?1ba0","webpack:///./src/components/investigation/prosecutor/AddProsecutorDialog.vue?b2ff","webpack:///./src/components/investigation/prosecutor/EditProsecutorDialog.vue?7eab","webpack:///./src/components/investigation/prosecutor/EditProsecutorDialog.vue","webpack:///./src/components/investigation/prosecutor/EditProsecutorDialog.vue?31ac","webpack:///./src/components/investigation/prosecutor/EditProsecutorDialog.vue?5eb8","webpack:///./src/components/investigation/prosecutor/ProsecutorSearcher.vue","webpack:///./src/components/investigation/prosecutor/ProsecutorSearcher.vue?fe00","webpack:///./src/components/investigation/prosecutor/ProsecutorSearcher.vue?d677","webpack:///./src/components/investigation/prosecutor/ProsecutorSearchSelector.vue","webpack:///./src/components/investigation/prosecutor/ProsecutorSearchSelector.vue?c123","webpack:///./src/components/investigation/prosecutor/ProsecutorSearchSelector.vue?ddcd","webpack:///./src/components/court/participant/ParticipantForm.vue","webpack:///./src/components/court/participant/ParticipantForm.vue?b33d","webpack:///./src/components/court/participant/ParticipantForm.vue?4fc7","webpack:///./src/components/court/participant/AddParticipantDialog.vue","webpack:///./src/components/court/participant/AddParticipantDialog.vue?010e","webpack:///./src/components/court/participant/AddParticipantDialog.vue?797d","webpack:///./src/components/court/participant/ParticipantsForm.vue","webpack:///./src/components/court/participant/ParticipantsForm.vue?e82e","webpack:///./src/components/court/participant/ParticipantsForm.vue?aa27","webpack:///./src/components/dossier/NewDossierDialog.vue","webpack:///./src/components/dossier/NewDossierDialog.vue?0bc5","webpack:///./src/components/dossier/NewDossierDialog.vue?8186","webpack:///./src/components/nav/PrimaryInvestigationNav.vue","webpack:///./src/components/nav/PrimaryInvestigationNav.vue?6183","webpack:///./src/components/nav/PrimaryInvestigationNav.vue?8109","webpack:///./src/components/nav/PrimaryCourtNav.vue?fe6d","webpack:///./src/components/court/case/NewCaseDialog.vue?154f","webpack:///./src/components/court/case/CaseLookupField.vue?e47f","webpack:///./src/components/court/case/CaseNumberField.vue?43f3","webpack:///./src/components/court/case/CaseNumberField.vue","webpack:///./src/components/court/case/CaseNumberField.vue?bb64","webpack:///./src/components/court/case/CaseNumberField.vue?5510","webpack:///./src/components/court/court/CourtSelector.vue?e91a","webpack:///./src/components/court/court/CourtSelector.vue","webpack:///./src/components/court/court/CourtSelector.vue?8eff","webpack:///./src/components/court/court/CourtSelector.vue?976b","webpack:///./src/components/court/case/CaseLookupField.vue","webpack:///./src/components/court/case/CaseLookupField.vue?da14","webpack:///./src/components/court/case/CaseLookupField.vue?1065","webpack:///./src/components/dossier/DossierLookupField.vue?4826","webpack:///./src/components/dossier/DossierLookupField.vue","webpack:///./src/components/dossier/DossierLookupField.vue?3c54","webpack:///./src/components/dossier/DossierLookupField.vue?e4c9","webpack:///./src/components/court/judge/JudgeSelector.vue?55bb","webpack:///./src/components/court/judge/JudgeSelector.vue","webpack:///./src/components/court/judge/JudgeSelector.vue?f0e6","webpack:///./src/components/court/judge/JudgeSelector.vue?987f","webpack:///./src/components/court/case/NewCaseDialog.vue","webpack:///./src/components/court/case/NewCaseDialog.vue?a759","webpack:///./src/components/court/case/NewCaseDialog.vue?a876","webpack:///./src/components/nav/PrimaryCourtNav.vue","webpack:///./src/components/nav/PrimaryCourtNav.vue?b6bc","webpack:///./src/components/nav/PrimaryCourtNav.vue?9bdc","webpack:///./src/components/nav/PrimaryPrisonNav.vue?0e4a","webpack:///./src/components/nav/PrimaryPrisonNav.vue","webpack:///./src/components/nav/PrimaryPrisonNav.vue?1718","webpack:///./src/components/nav/PrimaryPrisonNav.vue?9aaa","webpack:///./src/components/nav/PrimaryAdministrationNav.vue?b4a8","webpack:///./src/components/nav/PrimaryAdministrationNav.vue","webpack:///./src/components/nav/PrimaryAdministrationNav.vue?f0be","webpack:///./src/components/nav/PrimaryAdministrationNav.vue?0cef","webpack:///./src/views/user/UserHome.vue","webpack:///./src/views/user/UserHome.vue?fbfd","webpack:///./src/views/user/UserHome.vue?aeec","webpack:///./src/views/courts/AttorneyList.vue?fe3a","webpack:///./src/views/courts/AttorneyList.vue","webpack:///./src/views/courts/AttorneyList.vue?eb92","webpack:///./src/views/courts/AttorneyList.vue?bb2b","webpack:///./src/views/ComponentLibrary.vue?78c8","webpack:///./src/components/offender/facility/CellSelector.vue?5563","webpack:///./src/components/offender/facility/CellSelector.vue","webpack:///./src/components/offender/facility/CellSelector.vue?8317","webpack:///./src/components/offender/facility/CellSelector.vue?0efe","webpack:///./src/components/court/courtroom/CourtroomSelector.vue?3a60","webpack:///./src/components/court/courtroom/CourtroomSelector.vue","webpack:///./src/components/court/courtroom/CourtroomSelector.vue?48bb","webpack:///./src/components/court/courtroom/CourtroomSelector.vue?8532","webpack:///./src/components/offender/facility/FacilitySelector.vue?7f40","webpack:///./src/components/offender/facility/FacilitySelector.vue","webpack:///./src/components/offender/facility/FacilitySelector.vue?5e97","webpack:///./src/components/offender/facility/FacilitySelector.vue?589c","webpack:///./src/components/court/judge/HeadOfCourtSelector.vue?f8b2","webpack:///./src/components/court/judge/HeadOfCourtSelector.vue","webpack:///./src/components/court/judge/HeadOfCourtSelector.vue?1fbe","webpack:///./src/components/court/judge/HeadOfCourtSelector.vue?f6e6","webpack:///./src/views/ComponentLibrary.vue","webpack:///./src/views/ComponentLibrary.vue?ca9f","webpack:///./src/views/ComponentLibrary.vue?ec20","webpack:///./src/views/corpus/CorpusEdit.vue?e262","webpack:///./src/views/corpus/CorpusForm.vue?e7eb","webpack:///./src/components/corpus/CorpusSelector.vue?951f","webpack:///./src/components/corpus/CorpusSelector.vue","webpack:///./src/components/corpus/CorpusSelector.vue?8611","webpack:///./src/components/corpus/CorpusSelector.vue?6227","webpack:///./src/views/corpus/CorpusForm.vue","webpack:///./src/views/corpus/CorpusForm.vue?6d30","webpack:///./src/views/corpus/CorpusForm.vue?88c1","webpack:///./src/views/corpus/CorpusEdit.vue","webpack:///./src/views/corpus/CorpusEdit.vue?6bf4","webpack:///./src/views/corpus/CorpusEdit.vue?ce89","webpack:///./src/views/corpus/CorpusList.vue?210e","webpack:///./src/views/corpus/CorpusList.vue","webpack:///./src/views/corpus/CorpusList.vue?d7ac","webpack:///./src/views/corpus/CorpusList.vue?a607","webpack:///./src/views/corpus/CorpusNew.vue?c154","webpack:///./src/vuex/corpus/corpus.ts","webpack:///./src/views/corpus/CorpusNew.vue","webpack:///./src/views/corpus/CorpusNew.vue?976a","webpack:///./src/views/corpus/CorpusNew.vue?abd7","webpack:///./src/views/corpus/CorpusShow.vue?d2ac","webpack:///./src/components/crime/crime/EditCrimeDialog.vue?1a76","webpack:///./src/vuex/crime/crimeAPI.ts","webpack:///./src/components/crime/crime/CrimeForm.vue?d69d","webpack:///./src/vuex/crime/crime.ts","webpack:///./src/components/crime/punishmentType/PunishmentTypeSelector.vue?ffaa","webpack:///./src/components/crime/punishmentType/PunishmentTypeSelector.vue","webpack:///./src/components/crime/punishmentType/PunishmentTypeSelector.vue?818f","webpack:///./src/components/crime/punishmentType/PunishmentTypeSelector.vue?f4cd","webpack:///./src/components/user/UserInitials.vue?7e28","webpack:///./src/components/user/UserInitials.vue","webpack:///./src/components/user/UserInitials.vue?2a58","webpack:///./src/components/user/UserInitials.vue?d665","webpack:///./src/components/crime/crime/CrimeForm.vue","webpack:///./src/components/crime/crime/CrimeForm.vue?73b1","webpack:///./src/components/crime/crime/CrimeForm.vue?d32c","webpack:///./src/components/crime/legacyCrime/EditLegacyCrimeDialog.vue?7b88","webpack:///./src/components/crime/legacyCrime/LegacyCrimeForm.vue?42d8","webpack:///./src/components/crime/legacyCrime/LegacyCrimeForm.vue","webpack:///./src/components/crime/legacyCrime/LegacyCrimeForm.vue?a15f","webpack:///./src/components/crime/legacyCrime/LegacyCrimeForm.vue?d09e","webpack:///./src/components/crime/legacyCrime/EditLegacyCrimeDialog.vue","webpack:///./src/components/crime/legacyCrime/EditLegacyCrimeDialog.vue?20e7","webpack:///./src/components/crime/legacyCrime/EditLegacyCrimeDialog.vue?a40d","webpack:///./src/components/crime/crime/EditCrimeDialog.vue","webpack:///./src/components/crime/crime/EditCrimeDialog.vue?b85e","webpack:///./src/components/crime/crime/EditCrimeDialog.vue?bd79","webpack:///./src/components/crime/crime/NewCrimeDialog.vue?bc55","webpack:///./src/components/crime/crime/NewCrimeDialog.vue","webpack:///./src/components/crime/crime/NewCrimeDialog.vue?6465","webpack:///./src/components/crime/crime/NewCrimeDialog.vue?dfb3","webpack:///./src/views/corpus/CorpusShow.vue","webpack:///./src/views/corpus/CorpusShow.vue?0b08","webpack:///./src/views/corpus/CorpusShow.vue?458d","webpack:///./src/views/courts/CourtCalendarPrint.vue?0bd0","webpack:///./src/components/court/hearing/CourtHearingCalendar.vue?9537","webpack:///./src/components/court/hearing/CourtHearingCalendar.vue","webpack:///./src/components/court/hearing/CourtHearingCalendar.vue?ec04","webpack:///./src/components/court/hearing/CourtHearingCalendar.vue?8c04","webpack:///./src/views/courts/CourtCalendarPrint.vue","webpack:///./src/views/courts/CourtCalendarPrint.vue?20e7","webpack:///./src/views/courts/CourtCalendarPrint.vue?9e65","webpack:///./src/views/courts/CourtList.vue?8d87","webpack:///./src/components/court/court/CourtAddDialog.vue?5d13","webpack:///./src/components/court/court/CourtForm.vue?972a","webpack:///./src/components/court/court/CourtForm.vue","webpack:///./src/components/court/court/CourtForm.vue?105b","webpack:///./src/components/court/court/CourtForm.vue?5e3f","webpack:///./src/components/court/court/CourtAddDialog.vue","webpack:///./src/components/court/court/CourtAddDialog.vue?bcac","webpack:///./src/components/court/court/CourtAddDialog.vue?4f71","webpack:///./src/components/court/court/CourtEditDialog.vue?6d98","webpack:///./src/components/court/court/CourtEditDialog.vue","webpack:///./src/components/court/court/CourtEditDialog.vue?bcab","webpack:///./src/components/court/court/CourtEditDialog.vue?0ca1","webpack:///./src/components/court/court/CourtContainer.vue?b8ed","webpack:///./src/components/court/court/CourtContainer.vue","webpack:///./src/components/court/court/CourtContainer.vue?0ffe","webpack:///./src/components/court/court/CourtContainer.vue?8a9d","webpack:///./src/views/courts/CourtList.vue","webpack:///./src/views/courts/CourtList.vue?a277","webpack:///./src/views/courts/CourtList.vue?23e3","webpack:///./src/views/courts/CourtroomList.vue?f23e","webpack:///./src/components/court/courtroom/AddCourtroomDialog.vue?0d0c","webpack:///./src/components/court/courtroom/AddCourtroomDialog.vue","webpack:///./src/components/court/courtroom/AddCourtroomDialog.vue?2f7f","webpack:///./src/components/court/courtroom/AddCourtroomDialog.vue?f907","webpack:///./src/components/court/courtroom/EditCourtroomDialog.vue?22c1","webpack:///./src/components/court/courtroom/EditCourtroomDialog.vue","webpack:///./src/components/court/courtroom/EditCourtroomDialog.vue?b699","webpack:///./src/components/court/courtroom/EditCourtroomDialog.vue?8395","webpack:///./src/views/courts/CourtroomList.vue","webpack:///./src/views/courts/CourtroomList.vue?8c67","webpack:///./src/views/courts/CourtroomList.vue?c4d5","webpack:///./src/views/crime/CrimeGroupList.vue?b854","webpack:///./src/components/crime/CrimeAdminMenu.vue?9ed8","webpack:///./src/components/crime/CrimeAdminMenu.vue","webpack:///./src/components/crime/group/NewCrimeGroupDialog.vue?1fa8","webpack:///./src/components/crime/group/CrimeGroupForm.vue?cb08","webpack:///./src/components/crime/crime/CrimesForm.vue?76a9","webpack:///./src/components/crime/CrimeSearcher.vue?128a","webpack:///./src/components/crime/CrimeSearcher.vue","webpack:///./src/components/crime/CrimeSearcher.vue?8b52","webpack:///./src/components/crime/CrimeSearcher.vue?fc28","webpack:///./src/components/crime/CrimeTitle.vue?dcbe","webpack:///./src/components/crime/CrimeTitle.vue","webpack:///./src/components/crime/CrimeTitle.vue?62e4","webpack:///./src/components/crime/CrimeTitle.vue?dbf7","webpack:///./src/components/crime/crime/CrimesForm.vue","webpack:///./src/components/crime/crime/CrimesForm.vue?7dbc","webpack:///./src/components/crime/crime/CrimesForm.vue?186e","webpack:///./src/components/crime/group/CrimeGroupForm.vue","webpack:///./src/components/crime/group/CrimeGroupForm.vue?ec22","webpack:///./src/components/crime/group/CrimeGroupForm.vue?a00d","webpack:///./src/components/crime/group/NewCrimeGroupDialog.vue","webpack:///./src/components/crime/group/NewCrimeGroupDialog.vue?61f1","webpack:///./src/components/crime/group/NewCrimeGroupDialog.vue?110d","webpack:///./src/components/crime/group/EditCrimeGroupDialog.vue?f86a","webpack:///./src/components/crime/group/EditCrimeGroupDialog.vue","webpack:///./src/components/crime/group/EditCrimeGroupDialog.vue?6271","webpack:///./src/components/crime/group/EditCrimeGroupDialog.vue?b744","webpack:///./src/views/crime/CrimeGroupList.vue","webpack:///./src/views/crime/CrimeGroupList.vue?0783","webpack:///./src/views/crime/CrimeGroupList.vue?7c73","webpack:///./src/views/crime/CrimeList.vue?7403","webpack:///./src/views/crime/CrimeList.vue","webpack:///./src/views/crime/CrimeList.vue?0ea9","webpack:///./src/views/crime/CrimeList.vue?c060","webpack:///./src/views/investigation/DepartmentList.vue?9058","webpack:///./src/components/investigation/NewDepartmentDialog.vue?264e","webpack:///./src/components/investigation/DepartmentForm.vue?e46d","webpack:///./src/components/investigation/DepartmentForm.vue","webpack:///./src/components/investigation/DepartmentForm.vue?45d4","webpack:///./src/components/investigation/DepartmentForm.vue?f263","webpack:///./src/components/investigation/NewDepartmentDialog.vue","webpack:///./src/components/investigation/NewDepartmentDialog.vue?0789","webpack:///./src/components/investigation/NewDepartmentDialog.vue?7331","webpack:///./src/components/investigation/EditDepartmentDialog.vue?ef62","webpack:///./src/components/investigation/EditDepartmentDialog.vue","webpack:///./src/components/investigation/EditDepartmentDialog.vue?b354","webpack:///./src/components/investigation/EditDepartmentDialog.vue?5d80","webpack:///./src/components/investigation/DepartmentContainer.vue?2c8b","webpack:///./src/components/investigation/DepartmentContainer.vue","webpack:///./src/components/investigation/DepartmentContainer.vue?34ef","webpack:///./src/components/investigation/DepartmentContainer.vue?3ea1","webpack:///./src/views/investigation/DepartmentList.vue","webpack:///./src/views/investigation/DepartmentList.vue?577f","webpack:///./src/views/investigation/DepartmentList.vue?7ba4","webpack:///./src/views/courts/DocketEventTypeList.vue?64ba","webpack:///./src/components/court/docketEvent/EditDocketEventTypeDialog.vue?a63b","webpack:///./src/components/court/docketEvent/DocketEventTypeForm.vue?9bc7","webpack:///./src/components/court/docketEvent/CustomFieldsTable.vue?0826","webpack:///./src/components/court/docketEvent/AddCustomFieldDialog.vue?9f56","webpack:///./src/components/court/docketEvent/CustomFieldForm.vue?5f9b","webpack:///./src/vuex/court/customFieldType.ts","webpack:///./src/components/court/fee/AssessmentAmountSelector.vue?f6a2","webpack:///./src/components/court/fee/AssessmentAmountSelector.vue","webpack:///./src/components/court/fee/AssessmentAmountSelector.vue?d4d4","webpack:///./src/components/court/fee/AssessmentAmountSelector.vue?e8a9","webpack:///./src/components/court/docketEvent/CustomFieldForm.vue","webpack:///./src/components/court/docketEvent/CustomFieldForm.vue?6c00","webpack:///./src/components/court/docketEvent/CustomFieldForm.vue?96a6","webpack:///./src/components/court/docketEvent/AddCustomFieldDialog.vue","webpack:///./src/components/court/docketEvent/AddCustomFieldDialog.vue?302f","webpack:///./src/components/court/docketEvent/AddCustomFieldDialog.vue?d12a","webpack:///./src/components/court/docketEvent/EditCustomFieldDialog.vue?5e2f","webpack:///./src/components/court/docketEvent/EditCustomFieldDialog.vue","webpack:///./src/components/court/docketEvent/EditCustomFieldDialog.vue?a8a7","webpack:///./src/components/court/docketEvent/EditCustomFieldDialog.vue?759c","webpack:///./src/components/court/docketEvent/CustomFieldsTable.vue","webpack:///./src/components/court/docketEvent/CustomFieldsTable.vue?8957","webpack:///./src/components/court/docketEvent/CustomFieldsTable.vue?e8b5","webpack:///./src/components/court/docketEvent/DocketEventTypeForm.vue","webpack:///./src/components/court/docketEvent/DocketEventTypeForm.vue?e64b","webpack:///./src/components/court/docketEvent/DocketEventTypeForm.vue?7b60","webpack:///./src/components/court/docketEvent/EditDocketEventTypeDialog.vue","webpack:///./src/components/court/docketEvent/EditDocketEventTypeDialog.vue?031d","webpack:///./src/components/court/docketEvent/EditDocketEventTypeDialog.vue?b8e9","webpack:///./src/components/court/docketEvent/NewDocketEventTypeDialog.vue?40f0","webpack:///./src/components/court/docketEvent/NewDocketEventTypeDialog.vue","webpack:///./src/components/court/docketEvent/NewDocketEventTypeDialog.vue?3841","webpack:///./src/components/court/docketEvent/NewDocketEventTypeDialog.vue?93cd","webpack:///./src/views/courts/DocketEventTypeList.vue","webpack:///./src/views/courts/DocketEventTypeList.vue?e0d2","webpack:///./src/views/courts/DocketEventTypeList.vue?5801","webpack:///./src/views/geography/GeographyList.vue?348f","webpack:///./src/components/geography/NewGeographyDialog.vue?c03d","webpack:///./src/components/geography/GeographyForm.vue?17c9","webpack:///./src/components/geography/GeographyForm.vue","webpack:///./src/components/geography/GeographyForm.vue?163e","webpack:///./src/components/geography/GeographyForm.vue?24e4","webpack:///./src/components/geography/NewGeographyDialog.vue","webpack:///./src/components/geography/NewGeographyDialog.vue?16ca","webpack:///./src/components/geography/NewGeographyDialog.vue?71cf","webpack:///./src/components/geography/EditGeographyDialog.vue?9405","webpack:///./src/components/geography/EditGeographyDialog.vue","webpack:///./src/components/geography/EditGeographyDialog.vue?6797","webpack:///./src/components/geography/EditGeographyDialog.vue?89bb","webpack:///./src/views/geography/GeographyList.vue","webpack:///./src/views/geography/GeographyList.vue?1e29","webpack:///./src/views/geography/GeographyList.vue?cd32","webpack:///./src/views/courts/HolidayList.vue?fe9f","webpack:///./src/components/court/holidays/NewHolidayDialog.vue?4078","webpack:///./src/components/court/holidays/HolidayForm.vue?592d","webpack:///./src/components/court/holidays/HolidayForm.vue","webpack:///./src/components/court/holidays/HolidayForm.vue?8c45","webpack:///./src/components/court/holidays/HolidayForm.vue?c6b0","webpack:///./src/components/court/holidays/NewHolidayDialog.vue","webpack:///./src/components/court/holidays/NewHolidayDialog.vue?9a46","webpack:///./src/components/court/holidays/NewHolidayDialog.vue?c1c5","webpack:///./src/components/court/holidays/EditHolidayDialog.vue?315e","webpack:///./src/components/court/holidays/EditHolidayDialog.vue","webpack:///./src/components/court/holidays/EditHolidayDialog.vue?9b9d","webpack:///./src/components/court/holidays/EditHolidayDialog.vue?7891","webpack:///./src/views/courts/HolidayList.vue","webpack:///./src/views/courts/HolidayList.vue?9f7f","webpack:///./src/views/courts/HolidayList.vue?3825","webpack:///./src/views/housing/HousingFacilityList.vue?c175","webpack:///./src/components/offender/facility/AddHousingFacilityDialog.vue?1847","webpack:///./src/vuex/housing/housingAPI.ts","webpack:///./src/components/offender/facility/AddHousingFacilityDialog.vue","webpack:///./src/components/offender/facility/AddHousingFacilityDialog.vue?0f86","webpack:///./src/components/offender/facility/AddHousingFacilityDialog.vue?da66","webpack:///./src/components/offender/facility/HousingFacilityContainer.vue?32e7","webpack:///./src/components/offender/facility/AddFacilityChildrenDialog.vue?e6b1","webpack:///./src/components/offender/facility/AddFacilityChildrenDialog.vue","webpack:///./src/components/offender/facility/AddFacilityChildrenDialog.vue?1f5e","webpack:///./src/components/offender/facility/AddFacilityChildrenDialog.vue?1d61","webpack:///./src/components/offender/facility/EditHousingFacilityDialog.vue?613d","webpack:///./src/components/offender/facility/HousingFacilityForm.vue?8b99","webpack:///./src/components/offender/facility/HousingFacilityForm.vue","webpack:///./src/components/offender/facility/HousingFacilityForm.vue?29e7","webpack:///./src/components/offender/facility/HousingFacilityForm.vue?353d","webpack:///./src/components/offender/facility/EditHousingFacilityDialog.vue","webpack:///./src/components/offender/facility/EditHousingFacilityDialog.vue?67c9","webpack:///./src/components/offender/facility/EditHousingFacilityDialog.vue?b60c","webpack:///./src/components/offender/facility/HousingFacilityContainer.vue","webpack:///./src/components/offender/facility/HousingFacilityContainer.vue?96cf","webpack:///./src/components/offender/facility/HousingFacilityContainer.vue?c991","webpack:///./src/views/housing/HousingFacilityList.vue","webpack:///./src/views/housing/HousingFacilityList.vue?68d8","webpack:///./src/views/housing/HousingFacilityList.vue?5119","webpack:///./src/views/courts/JudgeList.vue?1316","webpack:///./src/components/court/judge/EditJudgeDialog.vue?8dab","webpack:///./src/components/court/judge/JudgeForm.vue?6283","webpack:///./src/components/court/judge/JudgeJurisdictionsTable.vue?a756","webpack:///./src/components/court/judge/EditJudgeJurisdictionDialog.vue?80cf","webpack:///./src/components/court/judge/JudgeJurisdictionForm.vue?d484","webpack:///./src/components/court/judge/JudgeJurisdictionForm.vue","webpack:///./src/components/court/judge/JudgeJurisdictionForm.vue?cc5a","webpack:///./src/components/court/judge/JudgeJurisdictionForm.vue?22d9","webpack:///./src/components/court/judge/EditJudgeJurisdictionDialog.vue","webpack:///./src/components/court/judge/EditJudgeJurisdictionDialog.vue?a843","webpack:///./src/components/court/judge/EditJudgeJurisdictionDialog.vue?5553","webpack:///./src/components/court/judge/NewJudgeJurisdictionDialog.vue?dcd8","webpack:///./src/components/court/judge/NewJudgeJurisdictionDialog.vue","webpack:///./src/components/court/judge/NewJudgeJurisdictionDialog.vue?2ff7","webpack:///./src/components/court/judge/NewJudgeJurisdictionDialog.vue?fda4","webpack:///./src/components/court/judge/JudgeJurisdictionsTable.vue","webpack:///./src/components/court/judge/JudgeJurisdictionsTable.vue?077c","webpack:///./src/components/court/judge/JudgeJurisdictionsTable.vue?1a75","webpack:///./src/components/court/judge/JudgeForm.vue","webpack:///./src/components/court/judge/JudgeForm.vue?d65a","webpack:///./src/components/court/judge/JudgeForm.vue?f203","webpack:///./src/components/court/judge/EditJudgeDialog.vue","webpack:///./src/components/court/judge/EditJudgeDialog.vue?0fd4","webpack:///./src/components/court/judge/EditJudgeDialog.vue?8e64","webpack:///./src/components/court/judge/NewJudgeDialog.vue?3bdd","webpack:///./src/components/court/judge/NewJudgeDialog.vue","webpack:///./src/components/court/judge/NewJudgeDialog.vue?0278","webpack:///./src/components/court/judge/NewJudgeDialog.vue?a7ed","webpack:///./src/views/courts/JudgeList.vue","webpack:///./src/views/courts/JudgeList.vue?a5ff","webpack:///./src/views/courts/JudgeList.vue?9d66","webpack:///./src/views/crime/LegacyCrimeList.vue?a7f4","webpack:///./src/components/charges/ChargeName.vue?ebe9","webpack:///./src/components/charges/ChargeName.vue","webpack:///./src/components/charges/ChargeName.vue?54a7","webpack:///./src/components/charges/ChargeName.vue?3652","webpack:///./src/views/crime/LegacyCrimeList.vue","webpack:///./src/views/crime/LegacyCrimeList.vue?c64d","webpack:///./src/views/crime/LegacyCrimeList.vue?ef7e","webpack:///./src/views/translation/LocaleMessageList.vue?7da8","webpack:///./src/vuex/language/language.ts","webpack:///./src/components/translation/NewLocaleMessageDialog.vue?4bd4","webpack:///./src/vuex/language/translationAPI.ts","webpack:///./src/components/translation/NewLocaleMessageDialog.vue","webpack:///./src/components/translation/NewLocaleMessageDialog.vue?48c5","webpack:///./src/components/translation/NewLocaleMessageDialog.vue?1c2b","webpack:///./src/components/translation/EditLocaleMessageDialog.vue?088d","webpack:///./src/components/translation/EditLocaleMessageDialog.vue","webpack:///./src/components/translation/EditLocaleMessageDialog.vue?a2ca","webpack:///./src/components/translation/EditLocaleMessageDialog.vue?5f0f","webpack:///./src/views/translation/LocaleMessageList.vue","webpack:///./src/views/translation/LocaleMessageList.vue?e1f2","webpack:///./src/views/translation/LocaleMessageList.vue?7a55","webpack:///./src/views/translation/LookupTableEditor.vue?d734","webpack:///./src/components/translation/EditLookupTableRowDialog.vue?0dd2","webpack:///./src/components/translation/EditLookupTableRowDialog.vue","webpack:///./src/components/translation/EditLookupTableRowDialog.vue?f36c","webpack:///./src/components/translation/EditLookupTableRowDialog.vue?860e","webpack:///./src/components/translation/NewLookupTableRowDialog.vue?e067","webpack:///./src/components/translation/NewLookupTableRowDialog.vue","webpack:///./src/components/translation/NewLookupTableRowDialog.vue?9e53","webpack:///./src/components/translation/NewLookupTableRowDialog.vue?0496","webpack:///./src/views/translation/LookupTableEditor.vue","webpack:///./src/views/translation/LookupTableEditor.vue?da34","webpack:///./src/views/translation/LookupTableEditor.vue?d84e","webpack:///./src/views/investigation/PardonDecreeList.vue?540d","webpack:///./src/components/offender/pardonDecree/NewPardonDecreeDialog.vue?2975","webpack:///./src/components/offender/pardonDecree/PardonDecreeForm.vue?4ef8","webpack:///./src/components/offender/pardonDecree/PardonDecreeForm.vue","webpack:///./src/components/offender/pardonDecree/PardonDecreeForm.vue?fa3e","webpack:///./src/components/offender/pardonDecree/PardonDecreeForm.vue?0567","webpack:///./src/components/offender/pardonDecree/NewPardonDecreeDialog.vue","webpack:///./src/components/offender/pardonDecree/NewPardonDecreeDialog.vue?2ef3","webpack:///./src/components/offender/pardonDecree/NewPardonDecreeDialog.vue?7ad6","webpack:///./src/components/offender/pardonDecree/EditPardonDecreeDialog.vue?88be","webpack:///./src/components/offender/pardonDecree/EditPardonDecreeDialog.vue","webpack:///./src/components/offender/pardonDecree/EditPardonDecreeDialog.vue?9f28","webpack:///./src/components/offender/pardonDecree/EditPardonDecreeDialog.vue?442a","webpack:///./src/views/investigation/PardonDecreeList.vue","webpack:///./src/views/investigation/PardonDecreeList.vue?da6a","webpack:///./src/views/investigation/PardonDecreeList.vue?232e","webpack:///./src/views/courts/PartyList.vue?d6c6","webpack:///./src/views/courts/PartyList.vue","webpack:///./src/views/courts/PartyList.vue?72b8","webpack:///./src/views/courts/PartyList.vue?1af3","webpack:///./src/views/investigation/ProsecutorsList.vue?5a8c","webpack:///./src/views/investigation/ProsecutorsList.vue","webpack:///./src/views/investigation/ProsecutorsList.vue?7681","webpack:///./src/views/investigation/ProsecutorsList.vue?3b93","webpack:///./src/views/crime/PunishmentTypesList.vue?c377","webpack:///./src/components/crime/punishmentType/NewPunishmentTypeDialog.vue?c2f8","webpack:///./src/components/crime/punishmentType/PunishmentTypeForm.vue?3ce8","webpack:///./src/components/crime/punishmentType/PunishmentTypeIcons.vue?a65b","webpack:///./src/components/crime/punishmentType/PunishmentTypeIcons.vue","webpack:///./src/components/crime/punishmentType/PunishmentTypeIcons.vue?ad9b","webpack:///./src/components/crime/punishmentType/PunishmentTypeIcons.vue?1bea","webpack:///./src/components/crime/punishmentType/PunishmentTypeForm.vue","webpack:///./src/components/crime/punishmentType/PunishmentTypeForm.vue?f391","webpack:///./src/components/crime/punishmentType/PunishmentTypeForm.vue?7dcb","webpack:///./src/components/crime/punishmentType/NewPunishmentTypeDialog.vue","webpack:///./src/components/crime/punishmentType/NewPunishmentTypeDialog.vue?7aa7","webpack:///./src/components/crime/punishmentType/NewPunishmentTypeDialog.vue?ba31","webpack:///./src/components/crime/punishmentType/EditPunishmentTypeDialog.vue?6b92","webpack:///./src/components/crime/punishmentType/EditPunishmentTypeDialog.vue","webpack:///./src/components/crime/punishmentType/EditPunishmentTypeDialog.vue?7dc7","webpack:///./src/components/crime/punishmentType/EditPunishmentTypeDialog.vue?d69a","webpack:///./src/views/crime/PunishmentTypesList.vue","webpack:///./src/views/crime/PunishmentTypesList.vue?8a85","webpack:///./src/views/crime/PunishmentTypesList.vue?ebad","webpack:///./src/views/user/RoleList.vue?a193","webpack:///./src/components/user/AddRoleDialog.vue?7ea9","webpack:///./src/vuex/user/userAPI.ts","webpack:///./src/components/user/RoleForm.vue?3416","webpack:///./src/components/user/RoleEntityTypeSelector.vue?babf","webpack:///./src/vuex/user/user.ts","webpack:///./src/components/user/RoleEntityTypeSelector.vue","webpack:///./src/components/user/RoleEntityTypeSelector.vue?4da5","webpack:///./src/components/user/RoleEntityTypeSelector.vue?34ba","webpack:///./src/components/user/RoleForm.vue","webpack:///./src/components/user/RoleForm.vue?f564","webpack:///./src/components/user/RoleForm.vue?acb8","webpack:///./src/components/user/AddRoleDialog.vue","webpack:///./src/components/user/AddRoleDialog.vue?6fe2","webpack:///./src/components/user/AddRoleDialog.vue?17f7","webpack:///./src/components/user/EditRoleDialog.vue?d130","webpack:///./src/components/user/EditRoleDialog.vue","webpack:///./src/components/user/EditRoleDialog.vue?e129","webpack:///./src/components/user/EditRoleDialog.vue?08fb","webpack:///./src/components/user/PermissionSelector.vue?d924","webpack:///./src/components/user/PermissionSelector.vue","webpack:///./src/components/user/PermissionSelector.vue?7c66","webpack:///./src/components/user/PermissionSelector.vue?ec69","webpack:///./src/views/user/RoleList.vue","webpack:///./src/views/user/RoleList.vue?c0d6","webpack:///./src/views/user/RoleList.vue?a083","webpack:///./src/views/user/UserAuditReport.vue?fac9","webpack:///./src/components/user/UserSelector.vue?0828","webpack:///./src/components/user/UserSelector.vue","webpack:///./src/components/user/UserSelector.vue?a10f","webpack:///./src/components/user/UserSelector.vue?9b5c","webpack:///./src/views/user/UserAuditReport.vue","webpack:///./src/views/user/UserAuditReport.vue?2979","webpack:///./src/views/user/UserAuditReport.vue?ef9c","webpack:///./src/views/user/UserList.vue?bb95","webpack:///./src/components/user/NewUserDialog.vue?482c","webpack:///./src/components/user/UserForm.vue?acc2","webpack:///./src/components/user/UserRolesForm.vue?b02c","webpack:///./src/components/user/NewUserRoleDialog.vue?03b6","webpack:///./src/components/user/UserRoleForm.vue?e0b2","webpack:///./src/components/user/RoleSelector.vue?7509","webpack:///./src/components/user/RoleSelector.vue","webpack:///./src/components/user/RoleSelector.vue?b610","webpack:///./src/components/user/RoleSelector.vue?d56e","webpack:///./src/components/user/UserRoleForm.vue","webpack:///./src/components/user/UserRoleForm.vue?03cd","webpack:///./src/components/user/UserRoleForm.vue?4815","webpack:///./src/components/user/NewUserRoleDialog.vue","webpack:///./src/components/user/NewUserRoleDialog.vue?5b01","webpack:///./src/components/user/NewUserRoleDialog.vue?774f","webpack:///./src/components/user/UserRolesForm.vue","webpack:///./src/components/user/UserRolesForm.vue?19b8","webpack:///./src/components/user/UserRolesForm.vue?f07d","webpack:///./src/components/user/UserForm.vue","webpack:///./src/components/user/UserForm.vue?81e0","webpack:///./src/components/user/UserForm.vue?0223","webpack:///./src/components/user/NewUserDialog.vue","webpack:///./src/components/user/NewUserDialog.vue?e988","webpack:///./src/components/user/NewUserDialog.vue?6a32","webpack:///./src/components/user/EditUserDialog.vue?283e","webpack:///./src/components/user/EditUserDialog.vue","webpack:///./src/components/user/EditUserDialog.vue?e7dc","webpack:///./src/components/user/EditUserDialog.vue?22ac","webpack:///./src/views/user/UserList.vue","webpack:///./src/views/user/UserList.vue?1f81","webpack:///./src/views/user/UserList.vue?81e4","webpack:///./src/views/courts/CaseDossierDetail.vue?3851","webpack:///./src/components/court/case/CaseHeaderNav.vue?9784","webpack:///./src/components/court/case/CaseHeaderNav.vue","webpack:///./src/components/court/case/CaseHeaderNav.vue?bccc","webpack:///./src/components/court/case/CaseHeaderNav.vue?4347","webpack:///./src/components/court/case/CaseSummaryCard.vue?6323","webpack:///./src/components/court/case/CaseStatusLabel.vue?0960","webpack:///./src/components/court/case/CaseStatusLabel.vue","webpack:///./src/components/court/case/CaseStatusLabel.vue?008f","webpack:///./src/components/court/case/CaseStatusLabel.vue?ad6b","webpack:///./src/components/court/case/CaseSummaryCard.vue","webpack:///./src/components/court/case/CaseSummaryCard.vue?566e","webpack:///./src/components/court/case/CaseSummaryCard.vue?fcaa","webpack:///./src/views/dossier/DossierCourts.vue?7f77","webpack:///./src/views/dossier/DossierCourts.vue","webpack:///./src/views/dossier/DossierCourts.vue?2961","webpack:///./src/views/dossier/DossierCourts.vue?1071","webpack:///./src/components/court/participant/PrimaryParticipants.vue?d77b","webpack:///./src/components/court/participant/ParticipantSummary.vue?a06b","webpack:///./src/components/charges/ChargesSummary.vue?53f7","webpack:///./src/components/charges/ChargesSummary.vue","webpack:///./src/components/charges/ChargesSummary.vue?476a","webpack:///./src/components/charges/ChargesSummary.vue?49af","webpack:///./src/components/court/participant/ParticipantDialog.vue?f605","webpack:///./src/components/court/attorney/EditParticipantAttorneysDialog.vue?c36c","webpack:///./src/components/court/attorney/EditParticipantAttorneysDialog.vue","webpack:///./src/components/court/attorney/EditParticipantAttorneysDialog.vue?f446","webpack:///./src/components/court/attorney/EditParticipantAttorneysDialog.vue?ce4b","webpack:///./src/components/court/party/PartyDetails.vue?93de","webpack:///./src/components/court/party/PartyDetails.vue","webpack:///./src/components/court/party/PartyDetails.vue?5ade","webpack:///./src/components/court/party/PartyDetails.vue?dc90","webpack:///./src/components/court/attorney/ParticipantAttorneysTable.vue?9e24","webpack:///./src/components/court/attorney/ParticipantAttorneysTable.vue","webpack:///./src/components/court/attorney/ParticipantAttorneysTable.vue?d161","webpack:///./src/components/court/attorney/ParticipantAttorneysTable.vue?cb3b","webpack:///./src/components/charges/ChargesTable.vue?1fef","webpack:///./src/components/charges/ChargesTable.vue","webpack:///./src/components/charges/ChargesTable.vue?4cbf","webpack:///./src/components/charges/ChargesTable.vue?4f6a","webpack:///./src/components/court/SentenceSummary.vue?f889","webpack:///./src/components/court/SentenceSummary.vue","webpack:///./src/components/court/SentenceSummary.vue?c9f2","webpack:///./src/components/court/SentenceSummary.vue?4a37","webpack:///./src/components/court/participant/ParticipantDialog.vue","webpack:///./src/components/court/participant/ParticipantDialog.vue?af84","webpack:///./src/components/court/participant/ParticipantDialog.vue?ef3a","webpack:///./src/components/court/participant/ParticipantName.vue?3808","webpack:///./src/components/court/participant/ParticipantName.vue","webpack:///./src/components/court/participant/ParticipantName.vue?e6b2","webpack:///./src/components/court/participant/ParticipantName.vue?da1d","webpack:///./src/components/court/participant/ParticipantSummary.vue","webpack:///./src/components/court/participant/ParticipantSummary.vue?1ded","webpack:///./src/components/court/participant/ParticipantSummary.vue?3d2d","webpack:///./src/components/court/participant/PrimaryParticipants.vue","webpack:///./src/components/court/participant/PrimaryParticipants.vue?31d3","webpack:///./src/components/court/participant/PrimaryParticipants.vue?6877","webpack:///./src/views/courts/CaseDossierDetail.vue","webpack:///./src/views/courts/CaseDossierDetail.vue?0121","webpack:///./src/views/courts/CaseDossierDetail.vue?77ad","webpack:///./src/views/courts/CaseList.vue?f2b5","webpack:///./src/components/court/case/CaseSearcher.vue?2466","webpack:///./src/components/court/case/CaseSearcher.vue","webpack:///./src/components/court/case/CaseSearcher.vue?b914","webpack:///./src/components/court/case/CaseSearcher.vue?0dea","webpack:///./src/views/courts/CaseList.vue","webpack:///./src/views/courts/CaseList.vue?48d3","webpack:///./src/views/courts/CaseList.vue?9d3e","webpack:///./src/views/courts/CaseShow.vue?e73a","webpack:///./src/components/docket/CaseDocket.vue?e5d8","webpack:///./src/components/docket/NewDocketEntryMenu.vue?4881","webpack:///./src/components/court/case/AddDocketEventDialog.vue?0f15","webpack:///./src/components/court/decision/CivilDecisionForm.vue?cf98","webpack:///./src/components/subjectProperty/SubjectPropertiesSummary.vue?8b6e","webpack:///./src/components/subjectProperty/SubjectPropertyLabel.vue?92dd","webpack:///./src/components/subjectProperty/SubjectPropertyLabel.vue","webpack:///./src/components/subjectProperty/SubjectPropertyLabel.vue?e2e0","webpack:///./src/components/subjectProperty/SubjectPropertyLabel.vue?e68c","webpack:///./src/components/subjectProperty/SubjectPropertiesSummary.vue","webpack:///./src/components/subjectProperty/SubjectPropertiesSummary.vue?e152","webpack:///./src/components/subjectProperty/SubjectPropertiesSummary.vue?1d96","webpack:///./src/components/court/decision/CivilDecisionForm.vue","webpack:///./src/components/court/decision/CivilDecisionForm.vue?0eb2","webpack:///./src/components/court/decision/CivilDecisionForm.vue?f7f3","webpack:///./src/components/court/decision/CriminalDecisionForm.vue?15d6","webpack:///./src/components/court/case/SentenceComponentsForm.vue?4931","webpack:///./src/components/court/case/SentenceComponentDialog.vue?993b","webpack:///./src/components/subjectProperty/SubjectPropertySelector.vue?ae67","webpack:///./src/components/subjectProperty/SubjectPropertySelector.vue","webpack:///./src/components/subjectProperty/SubjectPropertySelector.vue?6253","webpack:///./src/components/subjectProperty/SubjectPropertySelector.vue?306e","webpack:///./src/components/court/case/SentenceComponentDialog.vue","webpack:///./src/components/court/case/SentenceComponentDialog.vue?949c","webpack:///./src/components/court/case/SentenceComponentDialog.vue?618c","webpack:///./src/components/court/case/SentenceComponentsForm.vue","webpack:///./src/components/court/case/SentenceComponentsForm.vue?80ac","webpack:///./src/components/court/case/SentenceComponentsForm.vue?9a5e","webpack:///./src/components/court/decision/CriminalDecisionForm.vue","webpack:///./src/components/court/decision/CriminalDecisionForm.vue?81da","webpack:///./src/components/court/decision/CriminalDecisionForm.vue?75c8","webpack:///./src/components/charges/DefendantCharges.vue?e4df","webpack:///./src/components/charges/DefendantCharges.vue","webpack:///./src/components/charges/DefendantCharges.vue?80c7","webpack:///./src/components/charges/DefendantCharges.vue?5197","webpack:///./src/components/dossier/DossierCaseSelector.vue?f955","webpack:///./src/components/dossier/DossierCaseSelector.vue","webpack:///./src/components/dossier/DossierCaseSelector.vue?302e","webpack:///./src/components/dossier/DossierCaseSelector.vue?fce7","webpack:///./src/components/court/fee/FeeAssessmentForm.vue?e1b1","webpack:///./src/components/court/fee/FeeAssessmentForm.vue","webpack:///./src/components/court/fee/FeeAssessmentForm.vue?7eb6","webpack:///./src/components/court/fee/FeeAssessmentForm.vue?bd81","webpack:///./src/components/court/fee/FeePaymentForm.vue?8dc6","webpack:///./src/components/court/fee/FeePaymentForm.vue","webpack:///./src/components/court/fee/FeePaymentForm.vue?9077","webpack:///./src/components/court/fee/FeePaymentForm.vue?5fe1","webpack:///./src/components/court/ParticipantDecisionEditor.vue?2d7c","webpack:///./src/components/court/party/PartySelector.vue?fbf0","webpack:///./src/components/court/party/PartySelector.vue","webpack:///./src/components/court/party/PartySelector.vue?c0f4","webpack:///./src/components/court/party/PartySelector.vue?0602","webpack:///./src/components/court/ParticipantDecisionEditor.vue","webpack:///./src/components/court/ParticipantDecisionEditor.vue?fffe","webpack:///./src/components/court/ParticipantDecisionEditor.vue?8a2e","webpack:///./src/components/subjectProperty/SubjectPropertyEditor.vue?ffc3","webpack:///./src/components/subjectProperty/SubjectPropertyEditor.vue","webpack:///./src/components/subjectProperty/SubjectPropertyEditor.vue?c41a","webpack:///./src/components/subjectProperty/SubjectPropertyEditor.vue?753e","webpack:///./src/components/court/summons/SummonsForm.vue?8c83","webpack:///./src/components/court/summons/SummonsForm.vue","webpack:///./src/components/court/summons/SummonsForm.vue?0eb9","webpack:///./src/components/court/summons/SummonsForm.vue?77a7","webpack:///./src/components/court/case/AddDocketEventDialog.vue","webpack:///./src/components/court/case/AddDocketEventDialog.vue?075a","webpack:///./src/components/court/case/AddDocketEventDialog.vue?fbd0","webpack:///./src/components/court/hearing/AddHearingDialog.vue?1349","webpack:///./src/components/court/hearing/AddHearingDialog.vue","webpack:///./src/components/court/hearing/AddHearingDialog.vue?a690","webpack:///./src/components/court/hearing/AddHearingDialog.vue?0ecd","webpack:///./src/components/docket/NewDocketEntryMenu.vue","webpack:///./src/components/docket/NewDocketEntryMenu.vue?fe78","webpack:///./src/components/docket/NewDocketEntryMenu.vue?8b33","webpack:///./src/components/docket/DocketEventTable.vue?da42","webpack:///./src/components/docket/DocketablePresenter.vue?03dc","webpack:///./src/components/docket/PresentDefaultDocketEntry.vue?0481","webpack:///./src/components/docket/PresentDefaultDocketEntry.vue","webpack:///./src/components/docket/PresentDefaultDocketEntry.vue?5b7a","webpack:///./src/components/docket/PresentDefaultDocketEntry.vue?b2ea","webpack:///./src/components/docket/PresentAddFinePaymentAction.vue?d167","webpack:///./src/components/docket/PresentAddFinePaymentAction.vue","webpack:///./src/components/docket/PresentAddFinePaymentAction.vue?7628","webpack:///./src/components/docket/PresentAddFinePaymentAction.vue?4410","webpack:///./src/components/docket/PresentAlterCaseCharges.vue?dbd0","webpack:///./src/components/docket/PresentAlterCaseCharges.vue","webpack:///./src/components/docket/PresentAlterCaseCharges.vue?5412","webpack:///./src/components/docket/PresentAlterCaseCharges.vue?7953","webpack:///./src/components/docket/PresentAlterDossierCharges.vue?b18b","webpack:///./src/components/docket/PresentAlterDossierCharges.vue","webpack:///./src/components/docket/PresentAlterDossierCharges.vue?a3bd","webpack:///./src/components/docket/PresentAlterDossierCharges.vue?9c67","webpack:///./src/components/docket/PresentCancelHearingAction.vue?7379","webpack:///./src/components/docket/PresentCancelHearingAction.vue","webpack:///./src/components/docket/PresentCancelHearingAction.vue?a149","webpack:///./src/components/docket/PresentCancelHearingAction.vue?98ef","webpack:///./src/components/docket/PresentConfigureCaseJudges.vue?db65","webpack:///./src/components/docket/PresentConfigureCaseJudges.vue","webpack:///./src/components/docket/PresentConfigureCaseJudges.vue?3cd3","webpack:///./src/components/docket/PresentConfigureCaseJudges.vue?4b73","webpack:///./src/components/docket/PresentCourtRecord.vue?4b82","webpack:///./src/vuex/court/cms1.ts","webpack:///./src/components/docket/PresentCourtRecord.vue","webpack:///./src/components/docket/PresentCourtRecord.vue?158e","webpack:///./src/components/docket/PresentCourtRecord.vue?1cae","webpack:///./src/components/docket/PresentCreateCase.vue?912c","webpack:///./src/components/docket/PresentCreateCase.vue","webpack:///./src/components/docket/PresentCreateCase.vue?3330","webpack:///./src/components/docket/PresentCreateCase.vue?41e7","webpack:///./src/components/docket/PresentCreateCaseJudge.vue?00f1","webpack:///./src/components/docket/PresentCreateCaseJudge.vue","webpack:///./src/components/docket/PresentCreateCaseJudge.vue?8e5b","webpack:///./src/components/docket/PresentCreateCaseJudge.vue?bc39","webpack:///./src/components/docket/PresentCreateCrimeReport.vue?ed9b","webpack:///./src/components/docket/PresentCreateCrimeReport.vue","webpack:///./src/components/docket/PresentCreateCrimeReport.vue?0588","webpack:///./src/components/docket/PresentCreateCrimeReport.vue?afb5","webpack:///./src/components/docket/PresentCreateDocketEvent.vue?0f34","webpack:///./src/components/court/summons/IssueSummonsDetails.vue?e17e","webpack:///./src/components/court/summons/IssueSummonsDetails.vue","webpack:///./src/components/court/summons/IssueSummonsDetails.vue?df32","webpack:///./src/components/court/summons/IssueSummonsDetails.vue?764c","webpack:///./src/components/court/summons/RecordSummonsServiceDialog.vue?c499","webpack:///./src/components/court/summons/RecordSummonsServiceDialog.vue","webpack:///./src/components/court/summons/RecordSummonsServiceDialog.vue?26d0","webpack:///./src/components/court/summons/RecordSummonsServiceDialog.vue?e778","webpack:///./src/components/subjectProperty/SubjectPropertyCard.vue?a77d","webpack:///./src/components/subjectProperty/SubjectPropertyCard.vue","webpack:///./src/components/subjectProperty/SubjectPropertyCard.vue?a81d","webpack:///./src/components/subjectProperty/SubjectPropertyCard.vue?7aae","webpack:///./src/components/docket/PresentCreateDocketEvent.vue","webpack:///./src/components/docket/PresentCreateDocketEvent.vue?0333","webpack:///./src/components/docket/PresentCreateDocketEvent.vue?6839","webpack:///./src/components/docket/PresentCreateHearing.vue?800e","webpack:///./src/components/docket/PresentCreateHearing.vue","webpack:///./src/components/docket/PresentCreateHearing.vue?126a","webpack:///./src/components/docket/PresentCreateHearing.vue?97e9","webpack:///./src/components/docket/PresentCreateNewDossier.vue?7640","webpack:///./src/components/docket/PresentCreateNewDossier.vue","webpack:///./src/components/docket/PresentCreateNewDossier.vue?08c9","webpack:///./src/components/docket/PresentCreateNewDossier.vue?e1e4","webpack:///./src/components/docket/PresentCreateParticipantAction.vue?517f","webpack:///./src/components/docket/PresentCreateParticipantAction.vue","webpack:///./src/components/docket/PresentCreateParticipantAction.vue?f53b","webpack:///./src/components/docket/PresentCreateParticipantAction.vue?0e82","webpack:///./src/components/docket/PresentCreatePartyAction.vue?1db0","webpack:///./src/components/docket/PresentCreatePartyAction.vue","webpack:///./src/components/docket/PresentCreatePartyAction.vue?c51b","webpack:///./src/components/docket/PresentCreatePartyAction.vue?2dcc","webpack:///./src/components/docket/PresentCreateRelatedDossierAction.vue?3e73","webpack:///./src/components/docket/PresentCreateRelatedDossierAction.vue","webpack:///./src/components/docket/PresentCreateRelatedDossierAction.vue?028e","webpack:///./src/components/docket/PresentCreateRelatedDossierAction.vue?7f5b","webpack:///./src/components/docket/PresentCreateSentenceAdjustment.vue?1b48","webpack:///./src/components/docket/PresentCreateSentenceAdjustment.vue","webpack:///./src/components/docket/PresentCreateSentenceAdjustment.vue?023a","webpack:///./src/components/docket/PresentCreateSentenceAdjustment.vue?b10b","webpack:///./src/components/docket/PresentCreateSubjectPropertyAction.vue?ed1f","webpack:///./src/components/docket/PresentCreateSubjectPropertyAction.vue","webpack:///./src/components/docket/PresentCreateSubjectPropertyAction.vue?e1a6","webpack:///./src/components/docket/PresentCreateSubjectPropertyAction.vue?173e","webpack:///./src/components/docket/PresentEditCaseJudgeAction.vue?f0df","webpack:///./src/components/docket/PresentEditCaseJudgeAction.vue","webpack:///./src/components/docket/PresentEditCaseJudgeAction.vue?642c","webpack:///./src/components/docket/PresentEditCaseJudgeAction.vue?2aae","webpack:///./src/components/docket/PresentFulfillSentenceComponentAction.vue?f18e","webpack:///./src/components/enforcement/SentenceComponentDescription.vue?c799","webpack:///./src/components/enforcement/SentenceComponentDescription.vue","webpack:///./src/components/enforcement/SentenceComponentDescription.vue?cb8c","webpack:///./src/components/enforcement/SentenceComponentDescription.vue?3971","webpack:///./src/components/docket/PresentFulfillSentenceComponentAction.vue","webpack:///./src/components/docket/PresentFulfillSentenceComponentAction.vue?47b5","webpack:///./src/components/docket/PresentFulfillSentenceComponentAction.vue?9b4a","webpack:///./src/components/docket/PresentIntake.vue?46a7","webpack:///./src/components/docket/PresentIntake.vue","webpack:///./src/components/docket/PresentIntake.vue?7ae5","webpack:///./src/components/docket/PresentIntake.vue?cc19","webpack:///./src/components/docket/PresentLegacyInvestigationRecord.vue?8d2d","webpack:///./src/components/docket/PresentLegacyInvestigationRecord.vue","webpack:///./src/components/docket/PresentLegacyInvestigationRecord.vue?1faa","webpack:///./src/components/docket/PresentLegacyInvestigationRecord.vue?c9e0","webpack:///./src/components/docket/PresentLegacyInvestigationSubRecord.vue?e4d1","webpack:///./src/components/docket/PresentLegacyInvestigationSubRecord.vue","webpack:///./src/components/docket/PresentLegacyInvestigationSubRecord.vue?f4a8","webpack:///./src/components/docket/PresentLegacyInvestigationSubRecord.vue?ab50","webpack:///./src/components/docket/PresentRecordSummonsServiceAction.vue?25e7","webpack:///./src/components/court/summons/RecordServiceDetails.vue?8ff2","webpack:///./src/components/court/summons/RecordServiceDetails.vue","webpack:///./src/components/court/summons/RecordServiceDetails.vue?276b","webpack:///./src/components/court/summons/RecordServiceDetails.vue?a918","webpack:///./src/components/docket/PresentRecordSummonsServiceAction.vue","webpack:///./src/components/docket/PresentRecordSummonsServiceAction.vue?4639","webpack:///./src/components/docket/PresentRecordSummonsServiceAction.vue?8d2d","webpack:///./src/components/docket/PresentRemoveJudgeFromCase.vue?b5e2","webpack:///./src/components/docket/PresentRemoveJudgeFromCase.vue","webpack:///./src/components/docket/PresentRemoveJudgeFromCase.vue?3384","webpack:///./src/components/docket/PresentRemoveJudgeFromCase.vue?9d43","webpack:///./src/components/docket/PresentRescheduleHearingAction.vue?8a2c","webpack:///./src/components/docket/PresentRescheduleHearingAction.vue","webpack:///./src/components/docket/PresentRescheduleHearingAction.vue?24fe","webpack:///./src/components/docket/PresentRescheduleHearingAction.vue?2a0e","webpack:///./src/components/docket/PresentSetLeadJudge.vue?9773","webpack:///./src/components/docket/PresentSetLeadJudge.vue","webpack:///./src/components/docket/PresentSetLeadJudge.vue?b091","webpack:///./src/components/docket/PresentSetLeadJudge.vue?5283","webpack:///./src/components/docket/PresentUpdateParticipantAttorneys.vue?d53e","webpack:///./src/components/docket/PresentUpdateParticipantAttorneys.vue","webpack:///./src/components/docket/PresentUpdateParticipantAttorneys.vue?a82e","webpack:///./src/components/docket/PresentUpdateParticipantAttorneys.vue?25c5","webpack:///./src/components/docket/PresentUpdatePartyAction.vue?7fbd","webpack:///./src/components/docket/PresentUpdatePartyAction.vue","webpack:///./src/components/docket/PresentUpdatePartyAction.vue?b66e","webpack:///./src/components/docket/PresentUpdatePartyAction.vue?cc6b","webpack:///./src/components/docket/PresentUpdateSubjectPropertyAction.vue?2ce2","webpack:///./src/components/docket/PresentUpdateSubjectPropertyAction.vue","webpack:///./src/components/docket/PresentUpdateSubjectPropertyAction.vue?6b09","webpack:///./src/components/docket/PresentUpdateSubjectPropertyAction.vue?fe25","webpack:///src/components/docket/DocketablePresenter.vue","webpack:///./src/components/docket/DocketablePresenter.vue?b1dc","webpack:///./src/components/docket/DocketablePresenter.vue","webpack:///./src/components/docket/DocketEventTable.vue","webpack:///./src/components/docket/DocketEventTable.vue?e641","webpack:///./src/components/docket/DocketEventTable.vue?fda4","webpack:///./src/components/docket/CaseDocket.vue","webpack:///./src/components/docket/CaseDocket.vue?620c","webpack:///./src/components/docket/CaseDocket.vue?e432","webpack:///./src/components/court/hearing/CaseHearingCalendar.vue?9231","webpack:///./src/components/court/hearing/RescheduleHearingDialog.vue?9954","webpack:///./src/components/court/hearing/RescheduleHearingDialog.vue","webpack:///./src/components/court/hearing/RescheduleHearingDialog.vue?48ca","webpack:///./src/components/court/hearing/RescheduleHearingDialog.vue?26bc","webpack:///./src/components/court/hearing/CaseHearingCalendar.vue","webpack:///./src/components/court/hearing/CaseHearingCalendar.vue?9091","webpack:///./src/components/court/hearing/CaseHearingCalendar.vue?b9a9","webpack:///./src/components/court/judge/CaseJudgesCard.vue?db3d","webpack:///./src/components/court/judge/EditCaseJudgesDialog.vue?6885","webpack:///./src/components/court/judge/AddCaseJudgeDialog.vue?c5ca","webpack:///./src/components/court/judge/AddCaseJudgeDialog.vue","webpack:///./src/components/court/judge/AddCaseJudgeDialog.vue?aff3","webpack:///./src/components/court/judge/AddCaseJudgeDialog.vue?e97f","webpack:///./src/components/court/judge/EditCaseJudgeDialog.vue?bbcd","webpack:///./src/components/court/judge/EditCaseJudgeDialog.vue","webpack:///./src/components/court/judge/EditCaseJudgeDialog.vue?6892","webpack:///./src/components/court/judge/EditCaseJudgeDialog.vue?dd8c","webpack:///./src/components/court/judge/RemoveCaseJudgeDialog.vue?2323","webpack:///./src/components/court/judge/RemoveCaseJudgeDialog.vue","webpack:///./src/components/court/judge/RemoveCaseJudgeDialog.vue?8ec6","webpack:///./src/components/court/judge/RemoveCaseJudgeDialog.vue?d24a","webpack:///./src/components/court/judge/EditCaseJudgesDialog.vue","webpack:///./src/components/court/judge/EditCaseJudgesDialog.vue?7423","webpack:///./src/components/court/judge/EditCaseJudgesDialog.vue?612e","webpack:///./src/components/court/judge/CaseJudgesCard.vue","webpack:///./src/components/court/judge/CaseJudgesCard.vue?d07e","webpack:///./src/components/court/judge/CaseJudgesCard.vue?52a1","webpack:///./src/components/court/CivilDecisionSummary.vue?572c","webpack:///./src/components/court/CivilDecisionSummary.vue","webpack:///./src/components/court/CivilDecisionSummary.vue?a327","webpack:///./src/components/court/CivilDecisionSummary.vue?ed01","webpack:///./src/components/court/CourtRevenueSummary.vue?9104","webpack:///./src/components/court/CourtRevenueSummary.vue","webpack:///./src/components/court/CourtRevenueSummary.vue?6d57","webpack:///./src/components/court/CourtRevenueSummary.vue?60a1","webpack:///./src/components/court/participant/ParticipantsTable.vue?96df","webpack:///./src/components/court/participant/ParticipantsTable.vue","webpack:///./src/components/court/participant/ParticipantsTable.vue?40c5","webpack:///./src/components/court/participant/ParticipantsTable.vue?0957","webpack:///./src/components/subjectProperty/SubjectPropertyTable.vue?5fe6","webpack:///./src/components/subjectProperty/SubjectPropertyTable.vue","webpack:///./src/components/subjectProperty/SubjectPropertyTable.vue?a24d","webpack:///./src/components/subjectProperty/SubjectPropertyTable.vue?8e38","webpack:///./src/views/courts/CaseShow.vue","webpack:///./src/views/courts/CaseShow.vue?ca21","webpack:///./src/views/courts/CaseShow.vue?4f11","webpack:///./src/views/courts/CourtDashboard.vue?d949","webpack:///./src/components/court/dashboard/AgeOfPendingCaseload.vue?56df","webpack:///./src/components/court/dashboard/AgeOfPendingCaseload.vue","webpack:///./src/components/court/dashboard/AgeOfPendingCaseload.vue?5ed0","webpack:///./src/components/court/dashboard/AgeOfPendingCaseload.vue?82be","webpack:///./src/components/court/dashboard/CaseClearanceRatio.vue?5e3c","webpack:///./src/components/court/dashboard/CaseClearanceRatio.vue","webpack:///./src/components/court/dashboard/CaseClearanceRatio.vue?39fd","webpack:///./src/components/court/dashboard/CaseClearanceRatio.vue?8a3c","webpack:///./src/components/court/dashboard/CaseDocketEventCounts.vue?a5ab","webpack:///./src/components/court/dashboard/CaseDocketEventCounts.vue","webpack:///./src/components/court/dashboard/CaseDocketEventCounts.vue?41b0","webpack:///./src/components/court/dashboard/CaseDocketEventCounts.vue?a783","webpack:///./src/components/court/dashboard/CasesByCivilCaseTopic.vue?5ee7","webpack:///./src/components/court/dashboard/CasesByCivilCaseTopic.vue","webpack:///./src/components/court/dashboard/CasesByCivilCaseTopic.vue?58de","webpack:///./src/components/court/dashboard/CasesByCivilCaseTopic.vue?9604","webpack:///./src/components/court/dashboard/CasesByCourtLocationTable.vue?eea0","webpack:///./src/components/court/dashboard/CasesByCourtLocationTable.vue","webpack:///./src/components/court/dashboard/CasesByCourtLocationTable.vue?2c23","webpack:///./src/components/court/dashboard/CasesByCourtLocationTable.vue?474b","webpack:///./src/components/court/dashboard/CasesByCourtRevenue.vue?7883","webpack:///./src/components/court/dashboard/CasesByCourtRevenue.vue","webpack:///./src/components/court/dashboard/CasesByCourtRevenue.vue?6ea1","webpack:///./src/components/court/dashboard/CasesByCourtRevenue.vue?11b7","webpack:///./src/components/court/dashboard/CasesByCourtTable.vue?0538","webpack:///./src/components/court/dashboard/CasesByCourtTable.vue","webpack:///./src/components/court/dashboard/CasesByCourtTable.vue?ef87","webpack:///./src/components/court/dashboard/CasesByCourtTable.vue?a580","webpack:///./src/components/court/dashboard/CasesByDispositionReason.vue?2651","webpack:///./src/components/court/dashboard/CasesByDispositionReason.vue","webpack:///./src/components/court/dashboard/CasesByDispositionReason.vue?6e6b","webpack:///./src/components/court/dashboard/CasesByDispositionReason.vue?6461","webpack:///./src/components/court/dashboard/CasesByLawsuitType.vue?0a85","webpack:///./src/components/court/dashboard/CasesByLawsuitType.vue","webpack:///./src/components/court/dashboard/CasesByLawsuitType.vue?a727","webpack:///./src/components/court/dashboard/CasesByLawsuitType.vue?9f57","webpack:///./src/components/court/dashboard/CasesByPunishmentType.vue?d9b8","webpack:///./src/components/court/dashboard/CasesByPunishmentType.vue","webpack:///./src/components/court/dashboard/CasesByPunishmentType.vue?1a08","webpack:///./src/components/court/dashboard/CasesByPunishmentType.vue?37c1","webpack:///./src/components/court/dashboard/DisposedChargesBySeverity.vue?2058","webpack:///./src/components/global/formatting/LookupTableMatrix.vue?d00e","webpack:///./src/components/global/formatting/LookupTableMatrix.vue","webpack:///./src/components/global/formatting/LookupTableMatrix.vue?e767","webpack:///./src/components/global/formatting/LookupTableMatrix.vue?2af1","webpack:///./src/components/court/dashboard/DisposedChargesBySeverity.vue","webpack:///./src/components/court/dashboard/DisposedChargesBySeverity.vue?6b92","webpack:///./src/components/court/dashboard/DisposedChargesBySeverity.vue?e321","webpack:///./src/views/courts/CourtDashboard.vue","webpack:///./src/views/courts/CourtDashboard.vue?25ab","webpack:///./src/views/courts/CourtDashboard.vue?4723","webpack:///./src/views/detection/CrimeReportPrint.vue?6b67","webpack:///./src/views/detection/CrimeReportDisplay.vue?4a1c","webpack:///./src/views/detection/CrimeReportDisplay.vue","webpack:///./src/views/detection/CrimeReportDisplay.vue?cdec","webpack:///./src/views/detection/CrimeReportDisplay.vue?504b","webpack:///./src/views/detection/CrimeReportPrint.vue","webpack:///./src/views/detection/CrimeReportPrint.vue?0ba8","webpack:///./src/views/detection/CrimeReportPrint.vue?cbad","webpack:///./src/views/detection/CrimeReportList.vue?5ad4","webpack:///./src/components/detection/crimeReport/CrimeReportSearcher.vue?1390","webpack:///./src/components/detection/crimeReport/CrimeReportSearcher.vue","webpack:///./src/components/detection/crimeReport/CrimeReportSearcher.vue?2266","webpack:///./src/components/detection/crimeReport/CrimeReportSearcher.vue?bdae","webpack:///./src/views/detection/CrimeReportList.vue","webpack:///./src/views/detection/CrimeReportList.vue?6a49","webpack:///./src/views/detection/CrimeReportList.vue?c3b2","webpack:///./src/views/detection/CrimeReportShow.vue?b5b7","webpack:///./src/components/docket/DetectionDocket.vue?32e2","webpack:///./src/components/docket/DetectionDocket.vue","webpack:///./src/components/docket/DetectionDocket.vue?2696","webpack:///./src/components/docket/DetectionDocket.vue?fec5","webpack:///./src/views/detection/CrimeReportShow.vue","webpack:///./src/views/detection/CrimeReportShow.vue?22e0","webpack:///./src/views/detection/CrimeReportShow.vue?a1ee","webpack:///./src/views/investigation/DetectionDashboard.vue?91ca","webpack:///./src/components/detection/dashboard/CrimeReportProvinceMap.vue?83a3","webpack:///./src/components/detection/dashboard/CrimeReportProvinceMap.vue","webpack:///./src/components/detection/dashboard/CrimeReportProvinceMap.vue?c123","webpack:///./src/components/detection/dashboard/CrimeReportProvinceMap.vue?6b66","webpack:///./src/components/detection/dashboard/CrimeReportsByCrimeTable.vue?f93c","webpack:///./src/components/detection/dashboard/CrimeReportsByCrimeTable.vue","webpack:///./src/components/detection/dashboard/CrimeReportsByCrimeTable.vue?5a44","webpack:///./src/components/detection/dashboard/CrimeReportsByCrimeTable.vue?10fb","webpack:///./src/components/detection/dashboard/CrimeReportsByDepartmentTable.vue?3fcc","webpack:///./src/components/detection/dashboard/CrimeReportsByDepartmentTable.vue","webpack:///./src/components/detection/dashboard/CrimeReportsByDepartmentTable.vue?f3ad","webpack:///./src/components/detection/dashboard/CrimeReportsByDepartmentTable.vue?961a","webpack:///./src/components/detection/dashboard/CrimeReportsByLocationTable.vue?a9fa","webpack:///./src/components/detection/dashboard/CrimeReportsByLocationTable.vue","webpack:///./src/components/detection/dashboard/CrimeReportsByLocationTable.vue?f7ce","webpack:///./src/components/detection/dashboard/CrimeReportsByLocationTable.vue?05a7","webpack:///./src/components/detection/dashboard/CrimeReportsBySeverityTable.vue?36d0","webpack:///./src/components/detection/dashboard/CrimeReportsBySeverityTable.vue","webpack:///./src/components/detection/dashboard/CrimeReportsBySeverityTable.vue?f214","webpack:///./src/components/detection/dashboard/CrimeReportsBySeverityTable.vue?2ec4","webpack:///./src/components/investigation/dashboard/DossierDocketEventCounts.vue?5d3c","webpack:///./src/components/investigation/dashboard/DossierDocketEventCounts.vue","webpack:///./src/components/investigation/dashboard/DossierDocketEventCounts.vue?9fa2","webpack:///./src/components/investigation/dashboard/DossierDocketEventCounts.vue?f2b3","webpack:///./src/views/investigation/DetectionDashboard.vue","webpack:///./src/views/investigation/DetectionDashboard.vue?5ea0","webpack:///./src/views/investigation/DetectionDashboard.vue?79a0","webpack:///./src/views/dossier/DossierContainer.vue?15f2","webpack:///./src/views/dossier/DossierEnforcement.vue?afe8","webpack:///./src/components/dossier/DossierCaseTabs.vue?ea0e","webpack:///./src/components/dossier/DossierCaseTabs.vue","webpack:///./src/components/dossier/DossierCaseTabs.vue?c9db","webpack:///./src/components/dossier/DossierCaseTabs.vue?c075","webpack:///./src/components/enforcement/DefendantSentenceSummary.vue?bf08","webpack:///./src/components/enforcement/AddFinePaymentDialog.vue?4ff2","webpack:///./src/components/enforcement/AddFinePaymentDialog.vue","webpack:///./src/components/enforcement/AddFinePaymentDialog.vue?5e2d","webpack:///./src/components/enforcement/AddFinePaymentDialog.vue?1622","webpack:///./src/components/enforcement/FinePaymentsTable.vue?91ac","webpack:///./src/components/enforcement/FinePaymentsTable.vue","webpack:///./src/components/enforcement/FinePaymentsTable.vue?b3c4","webpack:///./src/components/enforcement/FinePaymentsTable.vue?0cb0","webpack:///./src/components/enforcement/FulfillSentenceComponentDialog.vue?f015","webpack:///./src/components/enforcement/FulfillSentenceComponentDialog.vue","webpack:///./src/components/enforcement/FulfillSentenceComponentDialog.vue?6f7f","webpack:///./src/components/enforcement/FulfillSentenceComponentDialog.vue?6a95","webpack:///./src/components/enforcement/PartyImprisonmentsTable.vue?5416","webpack:///./src/vuex/offender/offenderAPI.ts","webpack:///./src/components/enforcement/PartyImprisonmentsTable.vue","webpack:///./src/components/enforcement/PartyImprisonmentsTable.vue?5496","webpack:///./src/components/enforcement/PartyImprisonmentsTable.vue?eaaa","webpack:///./src/components/enforcement/DefendantSentenceSummary.vue","webpack:///./src/components/enforcement/DefendantSentenceSummary.vue?c49a","webpack:///./src/components/enforcement/DefendantSentenceSummary.vue?fd98","webpack:///./src/views/dossier/DossierEnforcement.vue","webpack:///./src/views/dossier/DossierEnforcement.vue?710f","webpack:///./src/views/dossier/DossierEnforcement.vue?bc14","webpack:///./src/components/dossier/DossierHeaderNav.vue?aa72","webpack:///./src/components/etl/LegacyDossierVersionsDialog.vue?d952","webpack:///./src/vuex/etl/etlAPI.ts","webpack:///./src/components/etl/CMS1Viewer.vue?cbb4","webpack:///./src/components/etl/DetectionTab.vue?930b","webpack:///./src/components/etl/DetectionTab.vue","webpack:///./src/components/etl/DetectionTab.vue?629c","webpack:///./src/components/etl/DetectionTab.vue?e6d0","webpack:///./src/components/etl/DetentionTab.vue?7bfb","webpack:///./src/components/etl/FacilityRecord.vue?3963","webpack:///./src/components/etl/FacilityRecord.vue","webpack:///./src/components/etl/FacilityRecord.vue?997f","webpack:///./src/components/etl/FacilityRecord.vue?838b","webpack:///./src/components/etl/ReleaseInfoRecord.vue?bc58","webpack:///./src/components/etl/ReleaseInfoRecord.vue","webpack:///./src/components/etl/ReleaseInfoRecord.vue?95f3","webpack:///./src/components/etl/ReleaseInfoRecord.vue?f736","webpack:///./src/components/etl/DetentionTab.vue","webpack:///./src/components/etl/DetentionTab.vue?cc39","webpack:///./src/components/etl/DetentionTab.vue?50c0","webpack:///./src/components/etl/InvestigationTab.vue?aa44","webpack:///./src/components/etl/InvestigationTab.vue","webpack:///./src/components/etl/InvestigationTab.vue?6f22","webpack:///./src/components/etl/InvestigationTab.vue?5f1d","webpack:///./src/components/etl/CourtsTab.vue?30ba","webpack:///./src/components/etl/CourtsTab.vue","webpack:///./src/components/etl/CourtsTab.vue?624e","webpack:///./src/components/etl/CourtsTab.vue?c1e2","webpack:///./src/components/etl/PrisonTab.vue?ea4f","webpack:///./src/components/etl/PrisonTab.vue","webpack:///./src/components/etl/PrisonTab.vue?4196","webpack:///./src/components/etl/PrisonTab.vue?51b0","webpack:///./src/components/etl/CMS1Viewer.vue","webpack:///./src/components/etl/CMS1Viewer.vue?b45e","webpack:///./src/components/etl/CMS1Viewer.vue?c93f","webpack:///./src/components/etl/LegacyDossierVersionsDialog.vue","webpack:///./src/components/etl/LegacyDossierVersionsDialog.vue?4445","webpack:///./src/components/etl/LegacyDossierVersionsDialog.vue?fda8","webpack:///./src/components/dossier/DossierHeaderNav.vue","webpack:///./src/components/dossier/DossierHeaderNav.vue?e7bb","webpack:///./src/components/dossier/DossierHeaderNav.vue?bf13","webpack:///./src/views/dossier/DossierDocket.vue?5050","webpack:///./src/components/dossier/DossierHeader.vue?9d38","webpack:///./src/components/dossier/DossierHeader.vue","webpack:///./src/components/dossier/DossierHeader.vue?68cd","webpack:///./src/components/dossier/DossierHeader.vue?d80e","webpack:///./src/components/docket/InvestigationDocket.vue?a9aa","webpack:///./src/components/docket/PartitionedDocketEventTable.vue?4e54","webpack:///./src/components/docket/PartitionedDocketEventTable.vue","webpack:///./src/components/docket/PartitionedDocketEventTable.vue?2ff5","webpack:///./src/components/docket/PartitionedDocketEventTable.vue?551b","webpack:///./src/components/docket/InvestigationDocket.vue","webpack:///./src/components/docket/InvestigationDocket.vue?ac7a","webpack:///./src/components/docket/InvestigationDocket.vue?48cd","webpack:///./src/components/dossier/RelatedDossiersTable.vue?4e5e","webpack:///./src/components/dossier/AddRelatedDossierDialog.vue?8507","webpack:///./src/components/dossier/AddRelatedDossierDialog.vue","webpack:///./src/components/dossier/AddRelatedDossierDialog.vue?1a26","webpack:///./src/components/dossier/AddRelatedDossierDialog.vue?6ae4","webpack:///./src/components/dossier/RelatedDossiersTable.vue","webpack:///./src/components/dossier/RelatedDossiersTable.vue?7ea0","webpack:///./src/components/dossier/RelatedDossiersTable.vue?1074","webpack:///./src/views/dossier/DossierDocket.vue","webpack:///./src/views/dossier/DossierDocket.vue?3767","webpack:///./src/views/dossier/DossierDocket.vue?f5ae","webpack:///./src/views/dossier/DossierContainer.vue","webpack:///./src/views/dossier/DossierContainer.vue?2b50","webpack:///./src/views/dossier/DossierContainer.vue?ed83","webpack:///./src/views/dossier/DossierList.vue?f01c","webpack:///./src/components/dossier/DossierSearcher.vue?faef","webpack:///./src/components/dossier/DossierStageSelector.vue?b262","webpack:///./src/components/dossier/DossierStageSelector.vue","webpack:///./src/components/dossier/DossierStageSelector.vue?c3cb","webpack:///./src/components/dossier/DossierStageSelector.vue?5073","webpack:///./src/components/dossier/DossierSearcher.vue","webpack:///./src/components/dossier/DossierSearcher.vue?43b8","webpack:///./src/components/dossier/DossierSearcher.vue?e9f3","webpack:///./src/views/dossier/DossierList.vue","webpack:///./src/views/dossier/DossierList.vue?cf4e","webpack:///./src/views/dossier/DossierList.vue?703e","webpack:///./src/views/investigation/InvestigationDashboard.vue?790d","webpack:///./src/components/investigation/dashboard/FinalizedByDate.vue?8d06","webpack:///./src/components/investigation/dashboard/FinalizedByDate.vue","webpack:///./src/components/investigation/dashboard/FinalizedByDate.vue?b68b","webpack:///./src/components/investigation/dashboard/FinalizedByDate.vue?f93c","webpack:///./src/components/investigation/dashboard/DisposedChargesBySeverity.vue?be84","webpack:///./src/components/investigation/dashboard/DisposedChargesBySeverity.vue","webpack:///./src/components/investigation/dashboard/DisposedChargesBySeverity.vue?a0bc","webpack:///./src/components/investigation/dashboard/DisposedChargesBySeverity.vue?6b08","webpack:///./src/components/investigation/dashboard/DossiersByCivilCaseTopic.vue?a721","webpack:///./src/components/investigation/dashboard/DossiersByCivilCaseTopic.vue","webpack:///./src/components/investigation/dashboard/DossiersByCivilCaseTopic.vue?4b36","webpack:///./src/components/investigation/dashboard/DossiersByCivilCaseTopic.vue?69d7","webpack:///./src/components/investigation/DossiersByDepartmentLocationTable.vue?326d","webpack:///./src/components/investigation/DossiersByDepartmentLocationTable.vue","webpack:///./src/components/investigation/DossiersByDepartmentLocationTable.vue?7e7c","webpack:///./src/components/investigation/DossiersByDepartmentLocationTable.vue?de55","webpack:///./src/components/investigation/DossiersBySubdepartmentTable.vue?fee2","webpack:///./src/components/investigation/DossiersBySubdepartmentTable.vue","webpack:///./src/components/investigation/DossiersBySubdepartmentTable.vue?2b42","webpack:///./src/components/investigation/DossiersBySubdepartmentTable.vue?1879","webpack:///./src/components/investigation/dashboard/DossiersByLawsuitType.vue?d26a","webpack:///./src/components/investigation/dashboard/DossiersByLawsuitType.vue","webpack:///./src/components/investigation/dashboard/DossiersByLawsuitType.vue?d328","webpack:///./src/components/investigation/dashboard/DossiersByLawsuitType.vue?6b2f","webpack:///./src/components/investigation/dashboard/PendingChargesBySeverity.vue?f25c","webpack:///./src/components/investigation/dashboard/PendingChargesBySeverity.vue","webpack:///./src/components/investigation/dashboard/PendingChargesBySeverity.vue?ec21","webpack:///./src/components/investigation/dashboard/PendingChargesBySeverity.vue?eb8f","webpack:///./src/views/investigation/InvestigationDashboard.vue","webpack:///./src/views/investigation/InvestigationDashboard.vue?92d0","webpack:///./src/views/investigation/InvestigationDashboard.vue?608f","webpack:///./src/views/investigation/PardonDecreeShow.vue?5542","webpack:///./src/components/offender/classification/OffenderFlags.vue?68ad","webpack:///./src/components/offender/classification/OffenderFlags.vue","webpack:///./src/components/offender/classification/OffenderFlags.vue?5d7c","webpack:///./src/components/offender/classification/OffenderFlags.vue?dab8","webpack:///./src/views/investigation/PardonDecreeShow.vue","webpack:///./src/views/investigation/PardonDecreeShow.vue?a18c","webpack:///./src/views/investigation/PardonDecreeShow.vue?520c","webpack:///./src/views/profile/ProfileDossiers.vue?5beb","webpack:///./src/components/profile/ProfileDossierCard.vue?3269","webpack:///./src/components/profile/ProfileDossierCard.vue","webpack:///./src/components/profile/ProfileDossierCard.vue?e38e","webpack:///./src/components/profile/ProfileDossierCard.vue?407f","webpack:///./src/components/profile/ProfileHeaderNav.vue?6f53","webpack:///./src/components/profile/ProfileHeaderNav.vue","webpack:///./src/components/profile/ProfileHeaderNav.vue?06cd","webpack:///./src/components/profile/ProfileHeaderNav.vue?9e08","webpack:///./src/views/profile/ProfileDossiers.vue","webpack:///./src/views/profile/ProfileDossiers.vue?370c","webpack:///./src/views/profile/ProfileDossiers.vue?a25f","webpack:///./src/views/profile/ProfileFacilities.vue?8df2","webpack:///./src/views/profile/ProfileFacilities.vue","webpack:///./src/views/profile/ProfileFacilities.vue?e4e3","webpack:///./src/views/profile/ProfileFacilities.vue?0392","webpack:///./src/views/profile/ProfileList.vue?4c2c","webpack:///./src/views/profile/ProfileList.vue","webpack:///./src/views/profile/ProfileList.vue?5e92","webpack:///./src/views/profile/ProfileList.vue?7338","webpack:///./src/views/profile/ProfileShow.vue?dbfe","webpack:///./src/views/profile/ProfileShow.vue","webpack:///./src/views/profile/ProfileShow.vue?bb65","webpack:///./src/views/profile/ProfileShow.vue?b62b","webpack:///./src/views/profile/BackgroundCheck.vue?6d87","webpack:///./src/views/profile/BackgroundCheck.vue","webpack:///./src/views/profile/BackgroundCheck.vue?6c15","webpack:///./src/views/profile/BackgroundCheck.vue?f046","webpack:///./src/views/housing/HousingFacilityTransfers.vue?ba08","webpack:///./src/vuex/offender/transfer.ts","webpack:///./src/components/offender/transfer/HousingFacilityTransfersTable.vue?4573","webpack:///./src/components/offender/transfer/TransferActions.vue?f14e","webpack:///./src/components/offender/transfer/TransferCancelDialog.vue?2806","webpack:///./src/components/offender/transfer/TransferCancelDialog.vue","webpack:///./src/components/offender/transfer/TransferCancelDialog.vue?02d0","webpack:///./src/components/offender/transfer/TransferCancelDialog.vue?b1f0","webpack:///./src/components/offender/transfer/TransferCompleteDialog.vue?22e3","webpack:///./src/components/offender/transfer/TransferCompleteDialog.vue","webpack:///./src/components/offender/transfer/TransferCompleteDialog.vue?5db3","webpack:///./src/components/offender/transfer/TransferCompleteDialog.vue?59a8","webpack:///./src/components/offender/transfer/TransferActions.vue","webpack:///./src/components/offender/transfer/TransferActions.vue?1a41","webpack:///./src/components/offender/transfer/TransferActions.vue?91e5","webpack:///./src/components/offender/transfer/HousingFacilityTransfersTable.vue","webpack:///./src/components/offender/transfer/HousingFacilityTransfersTable.vue?2847","webpack:///./src/components/offender/transfer/HousingFacilityTransfersTable.vue?14a0","webpack:///./src/views/housing/HousingFacilityTransfers.vue","webpack:///./src/views/housing/HousingFacilityTransfers.vue?c643","webpack:///./src/views/housing/HousingFacilityTransfers.vue?83d1","webpack:///./src/views/offender/IntakeStepper.vue?b17a","webpack:///./src/vuex/offender/accompanyingChild.ts","webpack:///./src/vuex/offender/escape.ts","webpack:///./src/vuex/offender/incident.ts","webpack:///./src/lib/dates.ts","webpack:///./src/vuex/offender/leave.ts","webpack:///./src/vuex/offender/medical.ts","webpack:///./src/vuex/offender/options.ts","webpack:///./src/vuex/offender/program.ts","webpack:///./src/vuex/offender/sentenceAdjustment.ts","webpack:///./src/vuex/offender/offender.ts","webpack:///./src/components/offender/facility/IntakeHousingForm.vue?ac19","webpack:///./src/components/offender/facility/IntakeHousingForm.vue","webpack:///./src/components/offender/facility/IntakeHousingForm.vue?6c04","webpack:///./src/components/offender/facility/IntakeHousingForm.vue?8495","webpack:///./src/views/offender/OffenderClassificationForm.vue?5953","webpack:///./src/components/offender/classification/ClassificationScoreSlider.vue?7e8b","webpack:///./src/components/offender/classification/ClassificationScoreSlider.vue","webpack:///./src/components/offender/classification/ClassificationScoreSlider.vue?e525","webpack:///./src/components/offender/classification/ClassificationScoreSlider.vue?c1f9","webpack:///./src/views/offender/OffenderClassificationForm.vue","webpack:///./src/views/offender/OffenderClassificationForm.vue?8b1b","webpack:///./src/views/offender/OffenderClassificationForm.vue?6064","webpack:///./src/views/offender/IntakeStepper.vue","webpack:///./src/views/offender/IntakeStepper.vue?f42c","webpack:///./src/views/offender/IntakeStepper.vue?4536","webpack:///./src/views/offender/OffenderContainer.vue?6443","webpack:///./src/components/offender/OffenderHeader.vue?f62f","webpack:///./src/views/offender/OffenderCustodyStatus.vue?5f31","webpack:///./src/views/offender/OffenderCustodyStatus.vue","webpack:///./src/views/offender/OffenderCustodyStatus.vue?b0b8","webpack:///./src/views/offender/OffenderCustodyStatus.vue?850f","webpack:///./src/components/offender/OffenderDossierLinkDialog.vue?6506","webpack:///./src/components/offender/OffenderDossierLinkDialog.vue","webpack:///./src/components/offender/OffenderDossierLinkDialog.vue?1b25","webpack:///./src/components/offender/OffenderDossierLinkDialog.vue?e0ec","webpack:///./src/components/offender/OffenderName.vue?ca6e","webpack:///./src/components/offender/OffenderName.vue","webpack:///./src/components/offender/OffenderName.vue?ac66","webpack:///./src/components/offender/OffenderName.vue?0c27","webpack:///./src/components/offender/OffenderHeader.vue","webpack:///./src/components/offender/OffenderHeader.vue?4d71","webpack:///./src/components/offender/OffenderHeader.vue?ab6a","webpack:///./src/views/offender/OffenderHousing.vue?c4d5","webpack:///./src/components/offender/accompanyingChild/AccompanyingChildrenTable.vue?5403","webpack:///./src/components/offender/accompanyingChild/AddAccompanyingChildDialog.vue?fe65","webpack:///./src/components/offender/accompanyingChild/AccompanyingChildForm.vue?d0aa","webpack:///./src/components/offender/accompanyingChild/AccompanyingChildForm.vue","webpack:///./src/components/offender/accompanyingChild/AccompanyingChildForm.vue?c88f","webpack:///./src/components/offender/accompanyingChild/AccompanyingChildForm.vue?159c","webpack:///./src/components/offender/accompanyingChild/AddAccompanyingChildDialog.vue","webpack:///./src/components/offender/accompanyingChild/AddAccompanyingChildDialog.vue?016b","webpack:///./src/components/offender/accompanyingChild/AddAccompanyingChildDialog.vue?9e3e","webpack:///./src/components/offender/accompanyingChild/EditAccompanyingChildDialog.vue?247c","webpack:///./src/components/offender/accompanyingChild/EditAccompanyingChildDialog.vue","webpack:///./src/components/offender/accompanyingChild/EditAccompanyingChildDialog.vue?939c","webpack:///./src/components/offender/accompanyingChild/EditAccompanyingChildDialog.vue?12de","webpack:///./src/components/offender/accompanyingChild/ReleaseAccompanyingChildDialog.vue?fcf3","webpack:///./src/components/offender/accompanyingChild/ReleaseAccompanyingChildDialog.vue","webpack:///./src/components/offender/accompanyingChild/ReleaseAccompanyingChildDialog.vue?e942","webpack:///./src/components/offender/accompanyingChild/ReleaseAccompanyingChildDialog.vue?4ccf","webpack:///./src/components/offender/accompanyingChild/AccompanyingChildrenTable.vue","webpack:///./src/components/offender/accompanyingChild/AccompanyingChildrenTable.vue?20dd","webpack:///./src/components/offender/accompanyingChild/AccompanyingChildrenTable.vue?3f51","webpack:///./src/components/offender/leave/LeavesTable.vue?e87d","webpack:///./src/components/offender/leave/LeaveActions.vue?8b07","webpack:///./src/components/offender/leave/LeaveCancelDialog.vue?4ee5","webpack:///./src/components/offender/leave/LeaveCancelDialog.vue","webpack:///./src/components/offender/leave/LeaveCancelDialog.vue?7743","webpack:///./src/components/offender/leave/LeaveCancelDialog.vue?0b3d","webpack:///./src/components/offender/leave/LeaveActions.vue","webpack:///./src/components/offender/leave/LeaveActions.vue?f773","webpack:///./src/components/offender/leave/LeaveActions.vue?8b8d","webpack:///./src/components/offender/leave/LeaveBackfillDialog.vue?179b","webpack:///./src/components/offender/OffenderNameAndPIN.vue?6b58","webpack:///./src/components/offender/OffenderNameAndPIN.vue","webpack:///./src/components/offender/OffenderNameAndPIN.vue?31e6","webpack:///./src/components/offender/OffenderNameAndPIN.vue?ac33","webpack:///./src/components/offender/leave/LeaveBackfillDialog.vue","webpack:///./src/components/offender/leave/LeaveBackfillDialog.vue?3a55","webpack:///./src/components/offender/leave/LeaveBackfillDialog.vue?09b8","webpack:///./src/components/offender/leave/LeaveRequestDialog.vue?9a97","webpack:///./src/components/offender/leave/LeaveRequestDialog.vue","webpack:///./src/components/offender/leave/LeaveRequestDialog.vue?d8ec","webpack:///./src/components/offender/leave/LeaveRequestDialog.vue?ba8b","webpack:///./src/components/offender/leave/LeavesTable.vue","webpack:///./src/components/offender/leave/LeavesTable.vue?67f7","webpack:///./src/components/offender/leave/LeavesTable.vue?e421","webpack:///./src/components/offender/transfer/TransfersTable.vue?68d6","webpack:///./src/components/offender/transfer/TransferAddMenu.vue?0836","webpack:///./src/components/offender/transfer/MoveDialog.vue?97f9","webpack:///./src/components/offender/transfer/MoveDialog.vue","webpack:///./src/components/offender/transfer/MoveDialog.vue?c048","webpack:///./src/components/offender/transfer/MoveDialog.vue?a43f","webpack:///./src/components/offender/transfer/TransferRequestDialog.vue?310c","webpack:///./src/components/offender/transfer/TransferRequestDialog.vue","webpack:///./src/components/offender/transfer/TransferRequestDialog.vue?67b4","webpack:///./src/components/offender/transfer/TransferRequestDialog.vue?4f24","webpack:///./src/components/offender/transfer/TransferAddMenu.vue","webpack:///./src/components/offender/transfer/TransferAddMenu.vue?b3a4","webpack:///./src/components/offender/transfer/TransferAddMenu.vue?2bb8","webpack:///./src/components/offender/transfer/TransferBackfillDialog.vue?d16b","webpack:///./src/components/offender/transfer/TransferBackfillDialog.vue","webpack:///./src/components/offender/transfer/TransferBackfillDialog.vue?545d","webpack:///./src/components/offender/transfer/TransferBackfillDialog.vue?afd9","webpack:///./src/components/offender/transfer/TransfersTable.vue","webpack:///./src/components/offender/transfer/TransfersTable.vue?fe3e","webpack:///./src/components/offender/transfer/TransfersTable.vue?d419","webpack:///./src/views/offender/OffenderHousing.vue","webpack:///./src/views/offender/OffenderHousing.vue?b84b","webpack:///./src/views/offender/OffenderHousing.vue?6c42","webpack:///./src/views/offender/OffenderMedical.vue?ab67","webpack:///./src/components/offender/medical/ExamsTable.vue?0b43","webpack:///./src/components/offender/medical/AddExamDialog.vue?1eda","webpack:///./src/components/offender/medical/AddExamDialog.vue","webpack:///./src/components/offender/medical/AddExamDialog.vue?142c","webpack:///./src/components/offender/medical/AddExamDialog.vue?0283","webpack:///./src/components/offender/medical/ExamsTable.vue","webpack:///./src/components/offender/medical/ExamsTable.vue?4152","webpack:///./src/components/offender/medical/ExamsTable.vue?9478","webpack:///./src/components/offender/medical/HealthHistoryRecordTable.vue?2990","webpack:///./src/components/offender/medical/AddHealthHistoryRecordDialog.vue?00b4","webpack:///./src/components/offender/medical/AddHealthHistoryRecordDialog.vue","webpack:///./src/components/offender/medical/AddHealthHistoryRecordDialog.vue?f407","webpack:///./src/components/offender/medical/AddHealthHistoryRecordDialog.vue?d2ea","webpack:///./src/components/offender/medical/HealthHistoryRecordTable.vue","webpack:///./src/components/offender/medical/HealthHistoryRecordTable.vue?c685","webpack:///./src/components/offender/medical/HealthHistoryRecordTable.vue?1dc7","webpack:///./src/components/offender/medical/IntakeHealthScreeningTable.vue?9bda","webpack:///./src/components/offender/medical/NewIntakeHealthScreeningDialog.vue?7986","webpack:///./src/components/offender/medical/NewIntakeHealthScreeningDialog.vue","webpack:///./src/components/offender/medical/NewIntakeHealthScreeningDialog.vue?f063","webpack:///./src/components/offender/medical/NewIntakeHealthScreeningDialog.vue?5e8f","webpack:///./src/components/offender/medical/IntakeHealthScreeningTable.vue","webpack:///./src/components/offender/medical/IntakeHealthScreeningTable.vue?5752","webpack:///./src/components/offender/medical/IntakeHealthScreeningTable.vue?65c9","webpack:///./src/components/offender/medical/TreatmentsTable.vue?22fe","webpack:///./src/components/offender/medical/NewTreatmentDialog.vue?5bfb","webpack:///./src/components/offender/medical/NewTreatmentDialog.vue","webpack:///./src/components/offender/medical/NewTreatmentDialog.vue?3c9c","webpack:///./src/components/offender/medical/NewTreatmentDialog.vue?6168","webpack:///./src/components/offender/medical/TreatmentsTable.vue","webpack:///./src/components/offender/medical/TreatmentsTable.vue?cd4f","webpack:///./src/components/offender/medical/TreatmentsTable.vue?c11b","webpack:///./src/views/offender/OffenderMedical.vue","webpack:///./src/views/offender/OffenderMedical.vue?a2cf","webpack:///./src/views/offender/OffenderMedical.vue?bcf8","webpack:///./src/components/offender/OffenderNavToolbar.vue?827c","webpack:///./src/components/offender/ReleaseDialog.vue?56dd","webpack:///./src/components/offender/ReleaseDialog.vue","webpack:///./src/components/offender/ReleaseDialog.vue?d2b0","webpack:///./src/components/offender/ReleaseDialog.vue?ee9d","webpack:///./src/components/offender/incident/ReportIncidentDialog.vue?0594","webpack:///./src/components/offender/incident/ReportIncidentDialog.vue","webpack:///./src/components/offender/incident/ReportIncidentDialog.vue?6b4b","webpack:///./src/components/offender/incident/ReportIncidentDialog.vue?2873","webpack:///./src/components/offender/OffenderNavToolbar.vue","webpack:///./src/components/offender/OffenderNavToolbar.vue?1f0f","webpack:///./src/components/offender/OffenderNavToolbar.vue?21a7","webpack:///./src/views/offender/OffenderProfile.vue?817f","webpack:///./src/components/offender/escape/EscapesTable.vue?0bf0","webpack:///./src/components/offender/escape/AddAnEscapeDialog.vue?da8b","webpack:///./src/components/offender/escape/AddAnEscapeDialog.vue","webpack:///./src/components/offender/escape/AddAnEscapeDialog.vue?1f75","webpack:///./src/components/offender/escape/AddAnEscapeDialog.vue?852f","webpack:///./src/components/offender/escape/EscapesActions.vue?507f","webpack:///./src/components/offender/escape/RecaptureDialog.vue?84ba","webpack:///./src/components/offender/escape/RecaptureDialog.vue","webpack:///./src/components/offender/escape/RecaptureDialog.vue?6258","webpack:///./src/components/offender/escape/RecaptureDialog.vue?7360","webpack:///./src/components/offender/escape/EscapesActions.vue","webpack:///./src/components/offender/escape/EscapesActions.vue?cbd0","webpack:///./src/components/offender/escape/EscapesActions.vue?0411","webpack:///./src/components/offender/escape/EscapesTable.vue","webpack:///./src/components/offender/escape/EscapesTable.vue?777c","webpack:///./src/components/offender/escape/EscapesTable.vue?2df2","webpack:///./src/components/offender/incident/IncidentsTable.vue?7a80","webpack:///./src/components/offender/incident/IncidentsTable.vue","webpack:///./src/components/offender/incident/IncidentsTable.vue?957d","webpack:///./src/components/offender/incident/IncidentsTable.vue?188b","webpack:///./src/views/offender/OffenderReclassificationDialog.vue?121e","webpack:///./src/views/offender/OffenderReclassificationDialog.vue","webpack:///./src/views/offender/OffenderReclassificationDialog.vue?62b0","webpack:///./src/views/offender/OffenderReclassificationDialog.vue?9eb4","webpack:///./src/views/offender/OffenderProfile.vue","webpack:///./src/views/offender/OffenderProfile.vue?935a","webpack:///./src/views/offender/OffenderProfile.vue?97c1","webpack:///./src/views/offender/OffenderPrograms.vue?2a7d","webpack:///./src/components/offender/programs/OffenderProgramsTable.vue?c87c","webpack:///./src/components/offender/programs/OffenderProgramActions.vue?2d0b","webpack:///./src/components/offender/programs/CompleteOffenderProgramDialog.vue?b14d","webpack:///./src/components/offender/programs/CompleteOffenderProgramDialog.vue","webpack:///./src/components/offender/programs/CompleteOffenderProgramDialog.vue?c65a","webpack:///./src/components/offender/programs/CompleteOffenderProgramDialog.vue?129c","webpack:///./src/components/offender/programs/EndOffenderProgramDialog.vue?a223","webpack:///./src/components/offender/programs/EndOffenderProgramDialog.vue","webpack:///./src/components/offender/programs/EndOffenderProgramDialog.vue?0fce","webpack:///./src/components/offender/programs/EndOffenderProgramDialog.vue?412b","webpack:///./src/components/offender/programs/OffenderProgramActions.vue","webpack:///./src/components/offender/programs/OffenderProgramActions.vue?a05b","webpack:///./src/components/offender/programs/OffenderProgramActions.vue?878b","webpack:///./src/components/offender/programs/BeginOffenderProgramDialog.vue?e74b","webpack:///./src/components/offender/programs/BeginOffenderProgramDialog.vue","webpack:///./src/components/offender/programs/BeginOffenderProgramDialog.vue?db9c","webpack:///./src/components/offender/programs/BeginOffenderProgramDialog.vue?9c92","webpack:///./src/components/offender/programs/OffenderProgramsTable.vue","webpack:///./src/components/offender/programs/OffenderProgramsTable.vue?a424","webpack:///./src/components/offender/programs/OffenderProgramsTable.vue?7dda","webpack:///./src/views/offender/OffenderPrograms.vue","webpack:///./src/views/offender/OffenderPrograms.vue?dc06","webpack:///./src/views/offender/OffenderPrograms.vue?4afd","webpack:///./src/views/offender/OffenderSentence.vue?e7aa","webpack:///./src/views/offender/OffenderCharges.vue?b258","webpack:///./src/views/offender/OffenderCharges.vue","webpack:///./src/views/offender/OffenderCharges.vue?1051","webpack:///./src/views/offender/OffenderCharges.vue?1978","webpack:///./src/components/offender/pardonDecree/OffenderPardonDecreesTable.vue?06ac","webpack:///./src/components/offender/pardonDecree/AssignPardonDecreeDialog.vue?bd60","webpack:///./src/components/offender/pardonDecree/AssignPardonDecreeDialog.vue","webpack:///./src/components/offender/pardonDecree/AssignPardonDecreeDialog.vue?338d","webpack:///./src/components/offender/pardonDecree/AssignPardonDecreeDialog.vue?e2c8","webpack:///./src/components/offender/pardonDecree/OffenderPardonDecreesTable.vue","webpack:///./src/components/offender/pardonDecree/OffenderPardonDecreesTable.vue?f8c0","webpack:///./src/components/offender/pardonDecree/OffenderPardonDecreesTable.vue?4089","webpack:///./src/components/offender/sentenceAdjustment/SentenceAdjustmentsTable.vue?efb9","webpack:///./src/components/offender/sentenceAdjustment/AddSentenceAdjustmentDialog.vue?de1a","webpack:///./src/components/offender/sentenceAdjustment/AddSentenceAdjustmentDialog.vue","webpack:///./src/components/offender/sentenceAdjustment/AddSentenceAdjustmentDialog.vue?41a2","webpack:///./src/components/offender/sentenceAdjustment/AddSentenceAdjustmentDialog.vue?a31e","webpack:///./src/components/offender/sentenceAdjustment/SentenceAdjustmentsTable.vue","webpack:///./src/components/offender/sentenceAdjustment/SentenceAdjustmentsTable.vue?14c3","webpack:///./src/components/offender/sentenceAdjustment/SentenceAdjustmentsTable.vue?eb7f","webpack:///./src/views/offender/OffenderSentence.vue","webpack:///./src/views/offender/OffenderSentence.vue?6d5f","webpack:///./src/views/offender/OffenderSentence.vue?6a1b","webpack:///./src/views/offender/OffenderContainer.vue","webpack:///./src/views/offender/OffenderContainer.vue?4f83","webpack:///./src/views/offender/OffenderContainer.vue?a793","webpack:///./src/views/offender/OffenderDashboard.vue?878c","webpack:///./src/components/offender/dashboard/OffenderRosterTable.vue?4a36","webpack:///./src/components/offender/dashboard/OffenderRosterTable.vue","webpack:///./src/components/offender/dashboard/OffenderRosterTable.vue?6817","webpack:///./src/components/offender/dashboard/OffenderRosterTable.vue?2ee8","webpack:///./src/components/offender/dashboard/OffendersByCriminalGroup.vue?d38b","webpack:///./src/components/offender/dashboard/OffendersByCriminalGroup.vue","webpack:///./src/components/offender/dashboard/OffendersByCriminalGroup.vue?695f","webpack:///./src/components/offender/dashboard/OffendersByCriminalGroup.vue?401f","webpack:///./src/components/offender/dashboard/OffendersByCustodyStatus.vue?600d","webpack:///./src/components/offender/dashboard/OffendersByCustodyStatus.vue","webpack:///./src/components/offender/dashboard/OffendersByCustodyStatus.vue?84d4","webpack:///./src/components/offender/dashboard/OffendersByCustodyStatus.vue?9f89","webpack:///./src/components/offender/dashboard/OffendersByFacilityTable.vue?d2d7","webpack:///./src/components/offender/dashboard/OffendersByFacilityTable.vue","webpack:///./src/components/offender/dashboard/OffendersByFacilityTable.vue?19b5","webpack:///./src/components/offender/dashboard/OffendersByFacilityTable.vue?1e31","webpack:///./src/components/offender/dashboard/OffendersByLocationTable.vue?fc3f","webpack:///./src/components/offender/dashboard/OffendersByLocationTable.vue","webpack:///./src/components/offender/dashboard/OffendersByLocationTable.vue?4a04","webpack:///./src/components/offender/dashboard/OffendersByLocationTable.vue?7fd4","webpack:///./src/components/offender/dashboard/OffendersByNationality.vue?de96","webpack:///./src/components/offender/dashboard/OffendersByNationality.vue","webpack:///./src/components/offender/dashboard/OffendersByNationality.vue?b3ce","webpack:///./src/components/offender/dashboard/OffendersByNationality.vue?0c5e","webpack:///./src/components/offender/dashboard/OffendersBySecurityLevel.vue?8680","webpack:///./src/components/offender/dashboard/OffendersBySecurityLevel.vue","webpack:///./src/components/offender/dashboard/OffendersBySecurityLevel.vue?a621","webpack:///./src/components/offender/dashboard/OffendersBySecurityLevel.vue?c51f","webpack:///./src/views/offender/OffenderDashboard.vue","webpack:///./src/views/offender/OffenderDashboard.vue?58f8","webpack:///./src/views/offender/OffenderDashboard.vue?3614","webpack:///./src/views/offender/OffenderList.vue?882d","webpack:///./src/components/offender/OffenderSearcher.vue?223d","webpack:///./src/components/offender/classification/CustodyStatusSelector.vue?e50c","webpack:///./src/components/offender/classification/CustodyStatusSelector.vue","webpack:///./src/components/offender/classification/CustodyStatusSelector.vue?1474","webpack:///./src/components/offender/classification/CustodyStatusSelector.vue?522b","webpack:///./src/components/offender/classification/SecurityLevelSelector.vue?b3b0","webpack:///./src/components/offender/classification/SecurityLevelSelector.vue","webpack:///./src/components/offender/classification/SecurityLevelSelector.vue?1294","webpack:///./src/components/offender/classification/SecurityLevelSelector.vue?0037","webpack:///./src/components/offender/OffenderSearcher.vue","webpack:///./src/components/offender/OffenderSearcher.vue?de1d","webpack:///./src/components/offender/OffenderSearcher.vue?d698","webpack:///./src/views/offender/OffenderList.vue","webpack:///./src/views/offender/OffenderList.vue?d25b","webpack:///./src/views/offender/OffenderList.vue?f052","webpack:///./src/views/offender/OffenderPrint.vue?693e","webpack:///./src/views/offender/OffenderPrint.vue","webpack:///./src/views/offender/OffenderPrint.vue?0464","webpack:///./src/views/offender/OffenderPrint.vue?b1d7","webpack:///./src/views/etl/CMS1StandaloneViewer.vue?1f91","webpack:///./src/views/etl/CMS1StandaloneViewer.vue","webpack:///./src/views/etl/CMS1StandaloneViewer.vue?8ad6","webpack:///./src/views/etl/CMS1StandaloneViewer.vue?f84f","webpack:///./src/router.ts","webpack:///./src/vuex/auth/auth.ts","webpack:///./src/vuex/housing/housing.ts","webpack:///./src/vuex/profile/profile.ts","webpack:///./src/vuex/settings/settingsAPI.ts","webpack:///./src/vuex/settings/settings.ts","webpack:///./src/vuex/investigation/crimeReport.ts","webpack:///./src/vuex/investigation/department.ts","webpack:///./src/vuex/investigation/prosecutor.ts","webpack:///./src/vuex/investigation/pardonDecree.ts","webpack:///./src/vuex/investigation/investigation.ts","webpack:///./src/vuex/store.ts","webpack:///./src/App.vue?7ecd","webpack:///./src/components/nav/FeedbackWidget.vue?b977","webpack:///./src/lib/github.ts","webpack:///./src/components/nav/FeedbackWidget.vue","webpack:///./src/components/nav/FeedbackWidget.vue?c347","webpack:///./src/components/nav/FeedbackWidget.vue?4baa","webpack:///./src/components/nav/LanguageSelector.vue?0f48","webpack:///./src/components/nav/LanguageSelector.vue","webpack:///./src/components/nav/LanguageSelector.vue?56e9","webpack:///./src/components/nav/LanguageSelector.vue?e35a","webpack:///./src/components/nav/PrimaryNav.vue?288a","webpack:///./src/components/nav/SampleCaseNav.vue?f918","webpack:///./src/components/nav/SampleCaseNav.vue","webpack:///./src/components/nav/SampleCaseNav.vue?79e6","webpack:///./src/components/nav/SampleCaseNav.vue?a50a","webpack:///./src/components/nav/PrimaryNav.vue","webpack:///./src/components/nav/PrimaryNav.vue?b86f","webpack:///./src/components/nav/PrimaryNav.vue?16cc","webpack:///./src/components/nav/Snackbar.vue?9dc9","webpack:///./src/components/nav/Snackbar.vue","webpack:///./src/components/nav/Snackbar.vue?fa0e","webpack:///./src/components/nav/Snackbar.vue?005b","webpack:///./src/App.vue","webpack:///./src/App.vue?864b","webpack:///./src/App.vue?b9f5","webpack:///./src/components/global/currency/AFNCurrencyField.vue?879a","webpack:///./src/components/global/currency/AFNCurrencyField.vue","webpack:///./src/components/global/currency/AFNCurrencyField.vue?4e00","webpack:///./src/components/global/currency/AFNCurrencyField.vue?e49b","webpack:///./src/components/global/currency/AFNDisplay.vue?5b3e","webpack:///./src/components/global/currency/AFNDisplay.vue","webpack:///./src/components/global/currency/AFNDisplay.vue?4fdb","webpack:///./src/components/global/currency/AFNDisplay.vue?0493","webpack:///./src/components/global/date/AgeDisplay.vue?14d9","webpack:///./src/components/global/date/AgeDisplay.vue","webpack:///./src/components/global/date/AgeDisplay.vue?7275","webpack:///./src/components/global/date/AgeDisplay.vue?2152","webpack:///./src/components/global/attachments/AddAttachmentDialog.vue?6e50","webpack:///./src/components/global/attachments/AddAttachmentDialog.vue","webpack:///./src/components/global/attachments/AddAttachmentDialog.vue?66f0","webpack:///./src/components/global/attachments/AddAttachmentDialog.vue?9be0","webpack:///./src/components/global/attachments/AddImageAttachmentDialog.vue?d37d","webpack:///./src/components/global/attachments/AddImageAttachmentDialog.vue","webpack:///./src/components/global/attachments/AddImageAttachmentDialog.vue?a204","webpack:///./src/components/global/attachments/AddImageAttachmentDialog.vue?57ed","webpack:///./src/components/global/attachments/AttachmentImage.vue?63c3","webpack:///./src/components/global/attachments/AttachmentImage.vue","webpack:///./src/components/global/attachments/AttachmentImage.vue?81fc","webpack:///./src/components/global/attachments/AttachmentImage.vue?abb1","webpack:///./src/components/global/attachments/AttachmentsLinks.vue?5ac3","webpack:///./src/components/global/attachments/MimeTypeIcon.vue?63e4","webpack:///./src/components/global/attachments/MimeTypeIcon.vue","webpack:///./src/components/global/attachments/MimeTypeIcon.vue?dfe8","webpack:///./src/components/global/attachments/MimeTypeIcon.vue?184b","webpack:///./src/components/global/attachments/AttachmentsLinks.vue","webpack:///./src/components/global/attachments/AttachmentsLinks.vue?dff3","webpack:///./src/components/global/attachments/AttachmentsLinks.vue?2c8f","webpack:///./src/components/global/attachments/AttachmentsList.vue?0edd","webpack:///./src/components/global/attachments/AttachmentsList.vue","webpack:///./src/components/global/attachments/AttachmentsList.vue?7b54","webpack:///./src/components/global/attachments/AttachmentsList.vue?1198","webpack:///./src/components/global/date/BirthdateDisplay.vue?1bf3","webpack:///./src/components/global/date/BirthdateDisplay.vue","webpack:///./src/components/global/date/BirthdateDisplay.vue?1640","webpack:///./src/components/global/date/BirthdateDisplay.vue?cabe","webpack:///./src/components/global/date/BirthdateSelector.vue?3156","webpack:///./src/components/global/date/BirthdateSelector.vue","webpack:///./src/components/global/date/BirthdateSelector.vue?aea6","webpack:///./src/components/global/date/BirthdateSelector.vue?79d6","webpack:///./src/components/global/form-fields/BloodTypeSelector.vue?04ff","webpack:///./src/components/global/form-fields/BloodTypeSelector.vue","webpack:///./src/components/global/form-fields/BloodTypeSelector.vue?d11f","webpack:///./src/components/global/form-fields/BloodTypeSelector.vue?9a26","webpack:///./src/components/global/formatting/BooleanDisplay.vue?7f97","webpack:///./src/components/global/formatting/BooleanDisplay.vue","webpack:///./src/components/global/formatting/BooleanDisplay.vue?3629","webpack:///./src/components/global/formatting/BooleanDisplay.vue?6db5","webpack:///./src/components/global/form-fields/BooleanSelector.vue?5a29","webpack:///./src/components/global/form-fields/BooleanSelector.vue","webpack:///./src/components/global/form-fields/BooleanSelector.vue?aae4","webpack:///./src/components/global/form-fields/BooleanSelector.vue?bb04","webpack:///./src/components/global/form-fields/BooleanRadioButton.vue?5613","webpack:///./src/components/global/form-fields/BooleanRadioButton.vue","webpack:///./src/components/global/form-fields/BooleanRadioButton.vue?46a2","webpack:///./src/components/global/form-fields/BooleanRadioButton.vue?e0cb","webpack:///./src/components/global/CMSFormDialog.vue?ec3f","webpack:///./src/components/global/CMSFormDialog.vue","webpack:///./src/components/global/CMSFormDialog.vue?99f0","webpack:///./src/components/global/CMSFormDialog.vue?cc5a","webpack:///./src/components/global/ConfirmationButton.vue?2b8b","webpack:///./src/components/global/ConfirmationButton.vue","webpack:///./src/components/global/ConfirmationButton.vue?5781","webpack:///./src/components/global/ConfirmationButton.vue?bb33","webpack:///./src/components/global/court/CourtBreadcrumb.vue?719d","webpack:///./src/components/global/court/CourtBreadcrumb.vue","webpack:///./src/components/global/court/CourtBreadcrumb.vue?7cb2","webpack:///./src/components/global/court/CourtBreadcrumb.vue?8043","webpack:///./src/components/global/court/CourtName.vue?f291","webpack:///./src/components/global/court/CourtName.vue","webpack:///./src/components/global/court/CourtName.vue?d67e","webpack:///./src/components/global/court/CourtName.vue?0a71","webpack:///./src/components/global/date/Date.vue?f0d3","webpack:///./src/components/global/date/Date.vue","webpack:///./src/components/global/date/Date.vue?9a9f","webpack:///./src/components/global/date/Date.vue?bbcd","webpack:///./src/components/global/date/DaysAgoSelector.vue?ece7","webpack:///./src/components/global/date/DaysAgoSelector.vue","webpack:///./src/components/global/date/DaysAgoSelector.vue?179c","webpack:///./src/components/global/date/DaysAgoSelector.vue?b214","webpack:///./src/components/global/department/DepartmentBreadcrumb.vue?7763","webpack:///./src/components/global/department/DepartmentBreadcrumb.vue","webpack:///./src/components/global/department/DepartmentBreadcrumb.vue?566e","webpack:///./src/components/global/department/DepartmentBreadcrumb.vue?d98f","webpack:///./src/components/global/department/DepartmentName.vue?db0c","webpack:///./src/components/global/department/DepartmentName.vue","webpack:///./src/components/global/department/DepartmentName.vue?8ecb","webpack:///./src/components/global/department/DepartmentName.vue?cdd7","webpack:///./src/components/global/department/DepartmentSelector.vue?32d5","webpack:///./src/components/global/department/DepartmentSelector.vue","webpack:///./src/components/global/department/DepartmentSelector.vue?dd48","webpack:///./src/components/global/department/DepartmentSelector.vue?31cd","webpack:///./src/components/global/form-fields/DocketEventTypeSelector.vue?e430","webpack:///./src/components/global/form-fields/DocketEventTypeSelector.vue","webpack:///./src/components/global/form-fields/DocketEventTypeSelector.vue?c115","webpack:///./src/components/global/form-fields/DocketEventTypeSelector.vue?f3d4","webpack:///./src/components/global/DossierNumber.vue?8f6e","webpack:///./src/components/global/DossierNumber.vue","webpack:///./src/components/global/DossierNumber.vue?eb29","webpack:///./src/components/global/DossierNumber.vue?8281","webpack:///./src/components/global/form-fields/DossierNumberField.vue?2f71","webpack:///./src/components/global/form-fields/DossierNumberField.vue","webpack:///./src/components/global/form-fields/DossierNumberField.vue?1591","webpack:///./src/components/global/form-fields/DossierNumberField.vue?7271","webpack:///./src/components/global/date/Duration.vue?d9ee","webpack:///./src/components/global/date/Duration.vue","webpack:///./src/components/global/date/Duration.vue?3898","webpack:///./src/components/global/date/Duration.vue?8e02","webpack:///./src/components/global/form-fields/ETazkiraField.vue?6493","webpack:///./src/components/global/form-fields/ETazkiraField.vue","webpack:///./src/components/global/form-fields/ETazkiraField.vue?8fc1","webpack:///./src/components/global/form-fields/ETazkiraField.vue?de8c","webpack:///./src/components/global/formatting/ExpanderDialog.vue?5916","webpack:///src/components/global/formatting/ExpanderDialog.vue","webpack:///./src/components/global/formatting/ExpanderDialog.vue?cb5f","webpack:///./src/components/global/formatting/ExpanderDialog.vue","webpack:///./src/components/global/formatting/ExpandableCard.vue?f159","webpack:///./src/components/global/formatting/ExpandableCard.vue","webpack:///./src/components/global/formatting/ExpandableCard.vue?b172","webpack:///./src/components/global/formatting/ExpandableCard.vue?134e","webpack:///./src/components/global/form-fields/FormError.vue?47b8","webpack:///./src/components/global/form-fields/FormError.vue","webpack:///./src/components/global/form-fields/FormError.vue?35ef","webpack:///./src/components/global/form-fields/FormError.vue?21b0","webpack:///./src/components/global/formatting/FieldValue.vue?d576","webpack:///./src/components/global/formatting/FieldValue.vue","webpack:///./src/components/global/formatting/FieldValue.vue?e42a","webpack:///./src/components/global/formatting/FieldValue.vue?4595","webpack:///./src/components/global/geography/GeographyBreadcrumb.vue?e332","webpack:///./src/components/global/geography/GeographyBreadcrumb.vue","webpack:///./src/components/global/geography/GeographyBreadcrumb.vue?f268","webpack:///./src/components/global/geography/GeographyBreadcrumb.vue?8cfd","webpack:///./src/components/global/geography/GeographyName.vue?09c4","webpack:///./src/components/global/geography/GeographyName.vue","webpack:///./src/components/global/geography/GeographyName.vue?1058","webpack:///./src/components/global/geography/GeographyName.vue?05ad","webpack:///./src/components/global/geography/GeographySelector.vue?f537","webpack:///./src/components/global/geography/GeographySelector.vue","webpack:///./src/components/global/geography/GeographySelector.vue?8ca8","webpack:///./src/components/global/geography/GeographySelector.vue?9c82","webpack:///./src/components/global/offender/HousingFacilityBreadcrumb.vue?d74f","webpack:///./src/components/global/offender/HousingFacilityBreadcrumb.vue","webpack:///./src/components/global/offender/HousingFacilityBreadcrumb.vue?4088","webpack:///./src/components/global/offender/HousingFacilityBreadcrumb.vue?da47","webpack:///./src/components/global/offender/HousingFacilityName.vue?db49","webpack:///./src/components/global/offender/HousingFacilityName.vue","webpack:///./src/components/global/offender/HousingFacilityName.vue?4291","webpack:///./src/components/global/offender/HousingFacilityName.vue?2e51","webpack:///./src/components/global/form-fields/ImprisonmentDurationField.vue?00cf","webpack:///./src/components/global/form-fields/ImprisonmentDurationField.vue","webpack:///./src/components/global/form-fields/ImprisonmentDurationField.vue?a821","webpack:///./src/components/global/form-fields/ImprisonmentDurationField.vue?7a0c","webpack:///./src/components/global/offender/ImprisonmentDurationsLegend.vue?e56c","webpack:///./src/components/global/offender/ImprisonmentDurationsLegend.vue","webpack:///./src/components/global/offender/ImprisonmentDurationsLegend.vue?77ca","webpack:///./src/components/global/offender/ImprisonmentDurationsLegend.vue?bf1e","webpack:///./src/components/global/form-fields/IntArrayField.vue?cd21","webpack:///./src/components/global/form-fields/IntArrayField.vue","webpack:///./src/components/global/form-fields/IntArrayField.vue?09c9","webpack:///./src/components/global/form-fields/IntArrayField.vue?e80f","webpack:///./src/components/global/form-fields/IntField.vue?ff66","webpack:///./src/components/global/form-fields/IntField.vue","webpack:///./src/components/global/form-fields/IntField.vue?03b3","webpack:///./src/components/global/form-fields/IntField.vue?bdec","webpack:///./src/components/global/formatting/LabeledData.vue?de3d","webpack:///./src/components/global/formatting/LabeledData.vue","webpack:///./src/components/global/formatting/LabeledData.vue?f947","webpack:///./src/components/global/formatting/LabeledData.vue?240c","webpack:///./src/components/global/formatting/LandArea.vue?2a75","webpack:///./src/components/global/formatting/LandArea.vue","webpack:///./src/components/global/formatting/LandArea.vue?f8ae","webpack:///./src/components/global/formatting/LandArea.vue?d55f","webpack:///./src/components/global/form-fields/LandAreaField.vue?d834","webpack:///./src/components/global/form-fields/LandAreaField.vue","webpack:///./src/components/global/form-fields/LandAreaField.vue?9a24","webpack:///./src/components/global/form-fields/LandAreaField.vue?5a27","webpack:///./src/components/global/department/LegacyDepartmentSelector.vue?af1f","webpack:///./src/components/global/department/LegacyDepartmentSelector.vue","webpack:///./src/components/global/department/LegacyDepartmentSelector.vue?97a4","webpack:///./src/components/global/department/LegacyDepartmentSelector.vue?eb08","webpack:///./src/components/global/date/LocaleDateEntry.vue?128f","webpack:///./src/components/global/date/LocaleDateEntry.vue","webpack:///./src/components/global/date/LocaleDateEntry.vue?abf7","webpack:///./src/components/global/date/LocaleDateEntry.vue?2c1c","webpack:///./src/components/global/date/LocaleDateRange.vue?494c","webpack:///./src/lib/date-range.ts","webpack:///./src/components/global/date/LocaleDateRange.vue","webpack:///./src/components/global/date/LocaleDateRange.vue?6482","webpack:///./src/components/global/date/LocaleDateRange.vue?f7a8","webpack:///./src/components/global/form-fields/LookupTableItemSelector.vue?2738","webpack:///./src/components/global/form-fields/LookupTableItemSelector.vue","webpack:///./src/components/global/form-fields/LookupTableItemSelector.vue?0fa7","webpack:///./src/components/global/form-fields/LookupTableItemSelector.vue?3102","webpack:///./src/components/global/form-fields/LookupTableTypeSelector.vue?da75","webpack:///./src/components/global/form-fields/LookupTableTypeSelector.vue","webpack:///./src/components/global/form-fields/LookupTableTypeSelector.vue?67b6","webpack:///./src/components/global/form-fields/LookupTableTypeSelector.vue?892f","webpack:///./src/components/global/formatting/NumFmt.vue?e6ae","webpack:///./src/components/global/formatting/NumFmt.vue","webpack:///./src/components/global/formatting/NumFmt.vue?ff7a","webpack:///./src/components/global/formatting/NumFmt.vue?53ba","webpack:///./src/components/global/form-fields/PhoneField.vue?884b","webpack:///./src/components/global/form-fields/PhoneField.vue","webpack:///./src/components/global/form-fields/PhoneField.vue?d60b","webpack:///./src/components/global/form-fields/PhoneField.vue?f0f9","webpack:///./src/components/global/geography/ProvinceMap.vue?7c48","webpack:///./src/components/global/geography/ProvinceMap.vue","webpack:///./src/components/global/geography/ProvinceMap.vue?cc73","webpack:///./src/components/global/geography/ProvinceMap.vue?722f","webpack:///./src/components/global/offender/ReleaseDate.vue?1280","webpack:///./src/components/global/offender/ReleaseDate.vue","webpack:///./src/components/global/offender/ReleaseDate.vue?3f93","webpack:///./src/components/global/offender/ReleaseDate.vue?c719","webpack:///./src/components/global/form-fields/StringArray.vue?1bdc","webpack:///./src/components/global/form-fields/StringArray.vue","webpack:///./src/components/global/form-fields/StringArray.vue?ea42","webpack:///./src/components/global/form-fields/StringArray.vue?849b","webpack:///./src/components/global/date/TimeField.vue?3ce1","webpack:///./src/components/global/date/TimeField.vue","webpack:///./src/components/global/date/TimeField.vue?a8c7","webpack:///./src/components/global/date/TimeField.vue?bf48","webpack:///./src/components/global/form-fields/TranslatedStringArrayField.vue?65af","webpack:///./src/components/global/form-fields/TranslatedStringArrayField.vue","webpack:///./src/components/global/form-fields/TranslatedStringArrayField.vue?7469","webpack:///./src/components/global/form-fields/TranslatedStringArrayField.vue?0b44","webpack:///./src/components/global/formatting/Truncate.vue?da9a","webpack:///./src/components/global/formatting/Truncate.vue","webpack:///./src/components/global/formatting/Truncate.vue?86f5","webpack:///./src/components/global/formatting/Truncate.vue?76d9","webpack:///./src/components/global/formatting/Weight.vue?620e","webpack:///./src/components/global/formatting/Weight.vue","webpack:///./src/components/global/formatting/Weight.vue?e35c","webpack:///./src/components/global/formatting/Weight.vue?b4e0","webpack:///./src/components/global/form-fields/WeightField.vue?4ea0","webpack:///./src/components/global/form-fields/WeightField.vue","webpack:///./src/components/global/form-fields/WeightField.vue?353f","webpack:///./src/components/global/form-fields/WeightField.vue?b345","webpack:///./src/main.ts","webpack:///./src/components/corpus/CorpusSelector.vue?a41a","webpack:///./src/components/profile/ProfileSearchSelector.vue?db4e","webpack:///./src/views/offender/OffenderClassificationForm.vue?e8f0","webpack:///./src/components/translation/EditLocaleMessageDialog.vue?0d27","webpack:///./src/views/auth/Login.vue?40e2","webpack:///./src/components/global/offender/ReleaseDate.vue?b769"],"names":["webpackJsonpCallback","data","chunkIds","moreModules","executeModules","moduleId","chunkId","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","getDefault","getModuleExports","object","property","p","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","e","Error","code","keys","webpackContextKeys","resolve","Component","options","__i18n","_Ctor","variables","DEFAULT_LOCALE","LOCALE_COOKIE_NAME","RTL_COOKIE_NAME","snackbar","message","isOpen","colorClass","snackbarMessage","state","snackbarIsOpen","snackbarColorClass","mutations","setSnackbarMessage","openSnackbarSuccess","openSnackbarError","openSnackbarInfo","setSnackbarClosed","actions","showSnackbarSuccess","commit","dispatch","showSnackbarError","showSnackbarInfo","closeSnackbar","namespaced","getters","modelsToState","type","models","Array","isArray","newState","keyBy","firstModelIDInState","modelState","console","error","parseInt","domainmodelMutations","setState","isObject","obj","deepAssign","oldObj","newObj","level","maxLevel","source","target","set","setTarget","payload","undefined","index","appendToTarget","newValues","includes","oldValues","uniq","prependToTarget","removeFromTarget","reject","v","createIndex","withIDs","mapValues","entity","assign","groups","groupBy","indexKey","groupsWithIDs","entities","forEach","idArray","use","loadLocaleMessagesFromDisk","locales","messages","matched","match","locale","VUE_APP_I18N_LOCALE","fallbackLocale","VUE_APP_I18N_FALLBACK_LOCALE","API_BASE","VUE_APP_API_BASE","addAuthInterceptors","axios","interceptors","request","authRequestInterceptor","response","authorizationResponseErrorInterceptor","config","token","auth","headers","Authorization","status","resp","errors","msg","i18n","location","pathname","Promise","api","a","baseURL","attachmentAPI","defaults","attachment","attachmentsForEntity","entityType","entityID","attachments","values","chain","filter","sortBy","uploadedAt","fetchAttachments","store","fetchCaseFirst","to","from","next","params","Number","kase","dossierID","fetchProfileFirst","all","profile","partyID","fetchOffenderFirst","offender","_vm","this","_h","$createElement","_c","_self","attrs","_v","_s","$t","ref","on","$event","preventDefault","attemptLogin","arguments","model","callback","$$v","username","trim","expression","password","staticClass","loginPending","staticRenderFns","extend","mounted","$refs","focus","computed","watch","newValue","methods","creds","login","VBtn","VCard","VCardActions","VCardText","VCardTitle","VCol","VContainer","VRow","VTextField","_e","waiting","dashboardRoute","roles","user","detectionDashboardRoute","investigationDashboardRoute","courtDashboardRoute","offenderDashboardRoute","userHomeRoute","hasPermission","allowedIDs","allowedDepartmentIDs","route","query","departmentID","lastDepartmentID","allowedCourtIDs","courtID","allowedFacilityIDs","facilityID","immediate","handler","newUser","$router","log","VProgressLinear","staticStyle","url","back","home","$route","fullPath","history","VDivider","VSpacer","VToolbar","VToolbarTitle","script","fullName","active","scopedSlots","_u","fn","proxy","_l","rte","_g","reset","save","slotProps","_t","dossierNumber","directives","rawName","awarenessNumber","occurredOn","occurredAt","officerName","filedAt","coalitionForcesAffected","locationID","crimeIDs","description","knownSuspects","knownSuspectProfileIDs","wantedSuspectDescription","victimIDs","subjectProperties","investigationAPI","label","crimeChoices","search","rules","multiple","clearable","disabled","readonly","singleLine","hideDetails","chips","deletableChips","$emit","props","String","Boolean","excludeNonchargeable","created","fetchData","crimes","allCrimes","isNonchargeable","optionForSelect","text","title","$store","crime","corpus","corpusWithID","corpusID","VAutocomplete","addSuspectWithProfileID","suspects","item","surname","fatherName","grandfatherName","deleteSuspectByIndex","suspectProfileID","currentProfileName","loading","clearSelection","makeSelection","profileIDs","profileID","removeSelectionAtIndex","profileName","dense","afterProfileAdded","advancedSearch","criteria","$set","crimeCols","profiles","page","number","size","serverCount","class","selectable","selectProfile","aliases","join","birthplaceGeographyID","birthdate","birthdateIsApproximate","queryString","$slots","profileAPI","criteriaToQueryString","pd","populatedCriteriaKeys","parts","criteriaPart","sort","flatten","toString","encodeURIComponent","val","isEmpty","routeToCriteria","pageRE","exec","ids","strID","safeIDConvert","isNumber","decodeURIComponent","populatedKeys","allKeys","changedCriteria","currentCriteria","originalCriteria","transform","isEqual","strVal","toNumber","allowIdentityEdit","nameRules","update","residenceGeographyID","genderID","heightInCm","weightInKg","hairColorID","eyeColorID","nationalityID","bloodType","criminalGroupIDs","criminalGroupRoleID","infectiousDiseaseIDs","mentalDisorderIDs","nationalID","eNationalID","passportNumber","phoneNumber","emailAddress","maritalStatusID","numberOfChildren","motherChildConcernIDs","nativeLanguageID","secondLanguageID","educationLevelID","canRead","canWrite","occupation","isMilitary","militaryRankID","familyContact","visitors","isKochi","geographyAPI","AfghanistanID","GeographyRegions","none","country","province","district","village","geographiesLoaded","geographyIDs","countryIDs","provinceIDs","provinceDistrictIDs","districtVillageIDs","districtVillagesLoaded","geography","allGeographies","countries","provinces","districts","provinceID","villages","districtID","geographiesWithParentID","parentID","geo","geographyWithID","ancestorIDs","currID","unshift","provinceCode","ancestors","geographyAncestors","districtCode","geographyName","fullGeographyName","geographies","reverse","lastGeography","g","isDescendantGeography","args","parent","parentGeographyID","child","childGeographyID","path","startsWith","setGeographiesLoaded","setDistrictVillagesLoaded","setGeographyState","newGeos","typeIndex","fetchGeography","idsToFetch","difference","idsStr","fetchGeographies","force","fetchVillagesForDistrict","defaultProfile","identifyingMarks","modifier","newP","updateEntityID","frontUpload","sideUpload","rightSideUpload","VCheckbox","VTextarea","post","newID","profileForm","components","ProfileForm","flat","tile","offenderID","myCopy","profileWithID","combinedState","offenderState","pick","profileState","VIcon","localeStringForBloodType","allowEdit","ProfileEditDialog","ProfileDetailsDisplay","localCopy","EditIdentityDialog","ProfileIdentityDisplay","ChargeDispositionTypeID","GuiltyChargeDispositionTypeIDs","Guilty","ActiveChargeDispositionTypeIDs","Unknown","NotGuiltyChargeDispositionTypeIDs","Acquitted","JudgeDismissed","NolleProsequi","JudgeDispositionTypeIDs","routeChanged","debounce","initialCriteria","q","alias","minAge","maxAge","minHeightInCm","maxHeightInCm","minWeightInKg","maxWeightInKg","crimeMatchAll","severityID","chargeDispositionIDs","resultIDs","allowAdding","criteriaUnchanged","cloneDeep","cc","width","showChargeDisposition","haveCrimes","haveSeverity","newVal","deep","oldVal","isAdvanced","resetSimpleCriteria","resetAdvancedCriteria","show","$nextTick","AddProfileDialog","CrimeSelector","ProfileDetailsCard","ProfileIdentityCard","VDataTable","VForm","VRadio","VRadioGroup","partyMode","profileSearcher","newValAsArray","idsMatch","newIDs","first","nameFunc","partyName","selectedID","ProfileSearcher","VChip","VDialog","ProfileSearchSelector","required","h","$i18n","newItems","AddSuspectDialog","addVictim","victims","deleteVictimByIndex","currentPartyName","afterPartyAdded","currentPage","parties","pageSize","serverTotalResults","selectParty","fullPartyName","courtAPI","party","isOrganization","organizationName","requiredIfOrganization","businessLicenseNumber","requiredIfIndividual","partyTypeID","partyAttorneys","isDeleted","modifiedValue","PartyForm","existingParty","partyWithID","sortable","meta","totalResults","geoIDs","compact","AddPartyDialog","EditPartyDialog","partySearcher","existingIDs","PartySearcher","PartySearchSelector","AddVictimDialog","addProperty","locationGeographyID","quantity","totalValueInPuls","removeProperty","noActivator","buttonSize","subjectProperty","this$1","typeID","drugID","isForeignCurrency","currencyID","nameForIDInCollection","foreignCurrencyAmount","requiredForLand","locationDetails","SubjectPropertyTypeID","subjectPropertyIDsForDossier","subjectPropertyForDossier","properties","subjectPropertyTotalValueInPulsForDossier","sum","subjectPropertyWithID","subjectPropertyName","rootState","rootGetters","subjectPropertyID","subProp","nfIDInCol","Drugs","Currency","reindexSubjectPropertiesForDossier","fetchSubjectPropertiesForDossier","subjectPropertyTypeChoices","subjectPropertyTypes","Movable","landAreaInSquareMeters","itemValueInPuls","drugName","illegalDrugs","hasLabel","isForeignCurrecy","isDrugs","isCurrency","hasQuantity","hasLandArea","Immovable","hasLegalDescription","quant","isNaN","newSP","default","caseID","saveToServer","saveToParent","sp","SubjectPropertyForm","nowOpening","align","AddSubjectPropertyDialog","EditSubjectPropertyDialog","SubjectPropertyExpander","format","wantedSuspectDescriptionBackup","registeredAt","suspectIDs","hasKnownSuspects","dossierState","dossier","crimeReportState","crimeReport","crimeReportID","SuspectsTable","VictimsTable","SubjectPropertiesForm","detectionDashboardRoutes","entityIDs","entityIDsWithPermission","routeTemplate","NewCrimeReportDialog","VListGroup","VListItem","VListItemContent","VList","VListItemIcon","VListItemTitle","VSubheader","dossierDialogTitle","dossierCaseType","dossierDialogOpen","openDossierDialog","forceCaseType","caseTopics","valueForLocale","topicID","lawsuitTypeIDs","participants","close","DocketEventTypeModule","AllDocketEventTypeModules","Detection","Investigation","Court","CaseTopicID","optionsLoaded","attorneyTypes","cancellationReasons","caseStatuses","caseTypes","chargeDispositionTypes","civilCaseTopics","civilObjectionTypes","courtStages","criminalObjectionTypes","currencies","dispositionReasons","dispositionTypes","docketEventCategories","docketEventTypes","dossierStages","dossierStatuses","feeCategories","generalAggravators","generalMitigators","hearingTypes","judgeRemovalReasons","lawsuitTypes","partyTypes","releaseReasons","summonsModes","summonsServiceResults","setOptionsLoaded","isLoaded","fetchOptions","PrimaryPartyMaxRank","PartyTypeID","ProsecutorPartyTypeIDs","Prosecutor","DefendantPartyTypeIDs","Defendant","AppealPartyTypeIDs","Appellant","Appellee","NonAppealPartyTypes","Respondent","Petitioner","Plaintiff","Victim","Witness","Expert","RestitutionRecipient","CivilDefendant","LeftPartyTypeIDs","RightPartyTypeIDs","primaryPartyTypes","pt","rank","primaryPartyTypeIDs","names","partiesForDossier","participantsForDossier","participant","partiesForCase","participantsForCase","fetchParty","partyState","caseTypeChoices","VSelect","caseType","partyIDs","courtStageID","addParticipant","participantColumnWidth","originalPartyTypeID","removeParticipant","saveAllowed","partyTypeCols","forcePartyTypeID","partyTypeChanged","lockParty","originalPartyTypeChanged","partyChanged","charges","attorneys","addCharge","translatedCharges","participationType","completionStatus","severity","dispositionTypeID","requireDispositions","dispositionRules","updateChargeDisposition","charge","crimeID","crimeChanged","participationTypeChoices","participationTypeID","completionStatusChoices","completionStatusID","severityChoices","crimeSeverityID","aggravatorChoices","aggravator","mitigatorChoices","mitigator","article","concat","relatedArticles","aggravators","mitigators","crimeWithID","participationTypes","choices","validParticipationTypeIDs","completionStatuses","validCompletionStatusIDs","severities","validSeverityIDs","newCrimeID","newCharge","newCrime","find","idToTry","finally","ChargeForm","aggravatorID","showActivator","generalAggravatorIDs","generalMitigatorIDs","changedItems","AddChargeDialog","AggravatorsMitigatorsDetail","addPartyAttorney","partyAttorney","deletePartyAttorneyAtIndex","attorneyID","attorneyTypeID","isCourtAssigned","currentAttorneyName","afterAttorneyAdded","rowClasses","selectAttorney","attorneyName","attorney","licenseNumber","AttorneyForm","attorneyWithID","initialQueryString","attorneyIDs","canAdd","queryStringChanged","classes","row","AddAttorneyDialog","EditAttorneyDialog","excludedIDs","attorneySearcher","attorneyChanged","AttorneySearcher","AttorneySelector","PartyAttorneyForm","AddPartyAttorneyDialog","EditPartyAttorneyDialog","PartyAttorneyDisplay","partyTypeChoices","computedRules","TUnknown","en","fa","ps","TAll","TNone","blankTranslatedString","fullAttorneyName","fetchAttorney","DOSSIER_NUMBER_LENGTH","BLANK_DOSSIER_NUMBERS","DossierStatusID","ActiveDossierStatusIDs","Active","Enforcement","DossierStageID","AllDossierStageIDs","BeforeCourt","Primary","Appellate","Supreme","Revision","Tanfiz","dossierIDsForParty","dossierWithID","dossiersForParty","fetchDossier","investigationState","root","courtState","case","fetchDossiersForParty","dossierIDs","finePayment","finePaymentIDsForDossier","finePaymentsForDossier","payments","finePaymentsForDossierPartyWithID","fetchFinePaymentsForDossier","finePayments","hearing","hearingIDsForCase","hearingIDsForCourt","hearingsForCase","hearingsForCourt","hearingWithID","fetchHearings","hearings","fetchCourtHearings","holidayIDs","holiday","holidaysLoaded","holidayWithID","allHolidays","setHolidaysLoaded","fetchHolidays","holidays","fetchHoliday","judgeIDs","judge","judgesLoaded","jurisdiction","judgeWithID","allJudges","judgeName","fullJudgeName","activeJurisdictionsForJudge","jurisdictions","validStart","startsAt","validEnd","endsAt","setJudgesLoaded","fetchJudges","judges","fetchJudge","caseJudge","caseJudgeIDsForCase","caseJudgesByCaseID","fetchCaseJudges","caseJudges","participantIDsForCase","participantIDsForDossier","participantWithID","participantID","participantInDossierOrCase","participantInCase","participantInDossier","participantIDs","primaryParticipantsForDossier","primary","defendantsForDossier","primaryParticipantsForCase","defendantsForCase","reindexCaseParticipants","reindexDossierParticipants","summons","summonsWithID","CaseStatus","casesLoaded","caseIDsForDossier","caseWithID","casesForDossier","setCasesLoaded","fetchCase","civilDecision","sortDocketEvents","events","event","registerDate","submittedAt","actionType","datePart","substring","idPart","padStart","filedAtSort","docketEventIDsForCase","docketEventIDsForDossier","docketEntry","docketEventsForCase","docketEventsForDossier","addDocketEntry","logEntry","oldItems","fetchDocketEntriesForCase","docketEntries","fetchDocketEntriesForDossier","civilDecisionIDForCase","civilDecisionWithID","civilDecisionForCase","decisionID","settlementValueInPulsForCase","decision","settlementValueInPuls","reindexCivilDecision","pertinent","last","relatedDossierIDsForDossier","relatedDossier","relatedDossiersForDossier","fetchRelatedDossiers","relatedDossiers","unknown","appellate","supreme","revision","AllCourtStageIDs","court","courtIDs","courtsLoaded","courtroom","courtroomIDsForCourt","courtChildIDs","allCourts","courtWithID","courtName","fullCourtName","courts","courtAncestors","courtroomsForCourt","courtroomIDs","courtroomWithID","courtroomID","courtroomName","courtChildCount","courtsUnder","courtAncestorIDs","setCourtsLoaded","calculateCourtChildStats","childCount","fetchCourt","fetchCourts","fetchCourtroomsForCourt","existingData","courtrooms","includeUnknown","zeroLabel","excludedPartyTypeIDs","invalidPrimaryTypes","validIDs","currentProsecutorName","prosecutorID","afterProsecutorAdded","prosecutors","selectProsecutor","prosecutorName","prosecutor","stageIDs","stageChoices","hint","persistentHint","items","unknownLabel","buildItemForID","stages","CaseTypeSelector","CourtStageSelector","ProsecutorForm","prosecutorWithID","allowEditing","pros","AddProsecutorDialog","EditProsecutorDialog","prosecutorSearcher","ProsecutorSearcher","defaultPartyTypeID","initialPartyTypeID","canHaveCharges","canHaveAttorneys","isAppellantOrAppellee","isDefendant","isProsecutor","showPartySelector","newTypeID","newParticipant","partyTypeKnown","originalPartyTypeKnown","ChargesForm","PartyAttorneysForm","PartyTypeSelector","ProsecutorSearchSelector","tentativelyAddedPartyIDs","wasAlreadyAdded","alreadyAddedPartyIDs","alreadyAddedIDs","additionalIDs","emittedCopy","ParticipantForm","VAlert","AddParticipantDialog","resetParticipants","Family","form","resetValidation","validate","then","newDossierID","catch","err","typeIDs","sentenceComponents","ParticipantsForm","investigationDashboardRoutes","NewDossierDialog","step","caseDossierID","copyFromDossier","priorCourtID","forceStageID","copyFromCase","startBlank","newDossierNumber","caseTypeChanged","stageID","caseNumber","courtRules","internalCourtID","errorMessages","formatNumber","internalValue","newCaseNumber","split","numberPart","jYear","cols","internalValues","dropdowns","dropdownChanged","requireLeafNode","mustHavePermission","mustBeLeafNode","priorID","validForStage","orderBy","hasNone","hasAll","zeroText","count","department","newStageID","some","failedSearch","caseFindable","findCase","CaseNumberField","CourtSelector","VProgressCircular","findDossier","judgeChoices","autoSelectFirst","autoFocus","randomize","filterCourtID","temp","randomizeJudgesIfNeeded","availableJudges","caseJudgeIDs","isJudgeValidForCourt","normalizedStages","isJudgeValidForStages","isJudgeValidForLocation","haveValidJudgeAlready","randomIndex","Math","floor","random","randomJudge","validStage","validGeo","intersection","geographyID","headOfCourtJudgeID","CaseLookupField","DossierLookupField","JudgeSelector","VStepper","VStepperContent","VStepperStep","courtDashboardRoutes","NewCaseDialog","offenderDashboardRoutes","PrimaryCourtNav","PrimaryDetectionNav","PrimaryInvestigationNav","PrimaryPrisonNav","PrimaryAdministrationNav","localeDateRangeValue","localeDateRangeTwoFields","localeDateRangeAllowCustom","heratDistrictID","cellID","toggleMultiplePartySearchSelector","weight","chosenDate","chosenDatePastOnly","chosenDateWithTime","chosenDateClearable","chosenDateReadonly","chosenDateYearFirst","chosenDateMinuteIncrement","crimeSelectorChips","crimeSelectorReadonly","crimeSelectorClearable","crimeSelectorDisabled","profileSelectorPartyMode","chargesReadonly","judgeRandomize","judgeID","judgeID2","judgeStages","judgeGeographyID","demoSnackbarMessage","demoSnackbarStatus","showSnackbar","types","selectionChanged","selections","showHidden","valueChangedFromOutside","controlIndex","buildControls","facilityIndex","indexOf","facility","facilityWithID","parentIDs","newChoices","newTypes","children","facilityChildren","facilityVisibleChildren","unknownChild","uc","childType","courtroomChoices","courtroomsChanged","cr","selectedCourtroomID","facilityChoices","fullFacilityName","placeholder","prependIcon","appendIcon","appendOuterIcon","facilityChanged","mustAcceptTransfers","allFacilities","f","acceptsTransfers","hidden","intField0","intFieldNull","intField3","intFieldString","fee","CellSelector","CourtroomSelector","FacilitySelector","HeadOfCourtSelector","VCardSubtitle","VSwitch","deleteConfirmed","valid","cancelEdit","submit","_n","isRTL","fieldLabel","open","selectedCorpusTitle","tooltip","dialogOpen","atRootLevel","goUp","focusedCorpusTitle","focusCorpus","selectedCorpusID","selectCorpus","cancel","thisCorpus","corpusHasChildren","leafOnly","exclude","notNull","fetchCorpora","setSelectedCorpusID","focusedCorpusID","allowNullSelection","selectedCorpus","corporaByID","focusedCorpus","corporaWithParentID","VListItemAction","VListItemAvatar","VTooltip","CorpusSelector","fetchCorpus","deleteCorpus","saveCorpus","CorpusForm","cancelAdd","blankCorpus","loaded","corporaIDs","corpora","setLoaded","setCorpus","removeCorpus","delete","createCorpus","put","breadcrumbs","canAddCrime","legacyCrimes","deleteCrime","lc","legacyID","legacyName","legacyLawName","crimeAPI","validPunishmentTypeIDs","triggersConsequentialPunishments","validImprisonmentDurationIDs","imprisonmentDurationRules","minimumFineInPuls","minFineSmallerThanMaxFine","maximumFineInPuls","maxFineLargerThanMinFine","isReviewed","lastReviewedByUserID","lastReviewedAt","isApproved","lastApprovedByUserID","lastApprovedAt","isGiroaReview","lastGiroaReviewByUserID","lastGiroaReviewAt","isGiroaApproved","lastGiroaApprovedByUserID","lastGiroaApprovedAt","CompletionStatusID","ParticipationTypeID","CrimeSeverityID","crimesLoaded","crimeGroupsLoaded","crimeGroupIDs","crimeGroup","legacyCrimesLoaded","legacyCrimeLegacyIDs","legacyCrime","consequentialPunishments","imprisonmentDurations","punishmentTypes","punishmentTypeCategories","crimesWithCorpusID","allCrimeGroups","statex","crimeGroupWithID","allLegacyCrimes","legacyCrimeWithLegacyID","legacyCrimesWithCrimeID","punishmentTypeWithID","punishmentTypeCategoryWithID","imprisonmentDurationWithID","setCrimesLoaded","setCrimeGroupsLoaded","setLegacyCrimesLoaded","fetchCrimes","fetchCrime","fetchLegacyCrimes","fetchLegacyCrime","lcs","fetchLegacyCrimesMappedTo","fetchCrimeGroups","crimeGroups","fetchCrimeGroup","punishmentTypeChoices","AllowedPunishmentType","isValidTypeID","WarningPunishmentType","validTypeIDs","excludeUnknown","groupedTypes","cat","catTypes","header","divider","userInitials","userWithID","initials","defaultCorpusID","PrincipalOffender","Completed","selectedPunishmentTypes","myValidIDs","canHaveAmount","selected","canHaveImprisonment","updateReviewCheckbox","prefix","minFine","maxFine","PunishmentTypeSelector","UserInitials","legacyCategoryName","allowedParticipationTypeIDs","legacyLawID","legacyCategoryID","dateKey","userKey","newLegacyCrime","LegacyCrimeForm","res","CrimeForm","EditLegacyCrimeDialog","VSimpleTable","canHaveChildren","canHaveCrimes","EditCrimeDialog","NewCrimeDialog","VBreadcrumbs","hearingDate","time","isCancelled","hearingsIndexedByDate","fetchHearingsForCourt","setTimeout","print","CourtHearingCalendar","grouped","translatedCourts","maxCaseDurationInDays","warnAfterDays","legacyDepartmentIDs","year","lastCaseNumber","cms1RecordImportance","cms1RecordCount","CourtForm","containers","newParentID","move","isMoveOpen","selectedIDs","replacementID","replace","isReplaceOpen","uncontainedCourts","paginated","itemsPerPageText","translatedName","locationGeography","searchable","oldParentID","childIDs","oldCourtIDs","newCourtID","CourtEditDialog","CourtAddDialog","VExpansionPanel","VExpansionPanelContent","VExpansionPanelHeader","VExpansionPanels","dashboard","edit","editDialog","CourtContainer","isDialogOpening","AddCourtroomDialog","EditCourtroomDialog","deleteCrimeGroup","addPending","pendingCrimeIDAdditions","deleteCrimeWithID","disableStats","overallCompletion","reviewScore","reviewColor","selectedCrimes","imprisonmentDurationID","reviewStatus","canEdit","every","matchesCorpus","matchesArticle","matchesCrimeTitle","matchesSeverity","matchesImprisonmentDuration","matchesReviewStatus","toLowerCase","targetID","fields","score","total","finished","str","witdh","nowOpen","searcher","crimeSearcher","CrimeSearcher","CrimeTitle","CrimesForm","CrimeGroupForm","crimeGroupID","CrimeAdminMenu","NewCrimeGroupDialog","EditCrimeGroupDialog","translatedDepartments","parentIsEditable","parentSelectorUnlocked","fullDepartmentName","currentYear","ministryPart","departmentCodeColor","departmentCodePart","provincePart","districtPart","yearPartColor","yearPart","caseNumberPart","legacyDepartmentsUnlocked","cms1Importance","departmentMinistryCode","DepartmentForm","dialogTitle","updatedDepartment","departmentWithID","departmentChildCount","uncontainedDepartments","departments","departmentsUnder","oldDepartmentIDs","newDepartmentID","EditDepartmentDialog","NewDepartmentDialog","allDepartments","DepartmentContainer","willChangeDossierStage","willChangeDossierStatus","willChangeCourtStage","willChangeCaseStatus","docketEventFieldTypes","moduleEventCounts","categoriesForModule","category","groupedDocketEventTypesForModule","headersForModule","isDiscontinued","translatedCaseTypes","translatedDossierStages","translatedCourtStages","docketEventType","moduleChoices","categoryID","allowedCaseTypes","allowedCourtStageIDs","allowedDossierStageIDs","isCourtModule","newDossierStageID","newCourtStageID","newDossierStatusID","newCaseStatusID","caseDispositionReasonID","willChangeDepartment","willFinalizeDossier","willSetAwarenessNumber","alreadyUsedNames","addField","typeArgs","tableName","example","deleteField","customField","isUnique","isAlphaNumeric","disableRename","fieldTypes","disableTypeChange","tableNameOptions","feeCategoryID","allowedChoices","isRequired","CustomFieldTypes","noLabel","feeChoices","fixedValueChoices","percentageChoices","itemsProvided","numbers","amount","percents","percentage","toFixed","editing","customFieldEnglishLabel","isRepeated","test","AssessmentAmountSelector","CustomFieldForm","addingField","field","AddCustomFieldDialog","Draggable","EditCustomFieldDialog","allowedDossierStatuses","isInvestigationModule","willDisposeCase","Disposed","willChange","CustomFieldsTable","rt","updatedType","findIndex","DocketEventTypeForm","customFieldType","filteredModules","countBy","filteredDocketEventTypes","det","matchesSimpleCriteria","matchesDossierStageCriteria","matchesDossierStatusCriteria","matchesCourtStageCriteria","matchesCaseStatusCriteria","matchesCustomFieldTypeCriteria","translatedDocketEventTypes","groupedDocketEventTypes","entries","with","wcdt","wcds","newStatusID","wccs","criteriaFieldType","fieldsInUse","EditDocketEventTypeDialog","NewDocketEventTypeDialog","activeGeographyID","mostCommonType","typeChoices","iso3166Code","initialParentID","initialType","GeographyForm","updatedGeography","maxBy","head","EditGeographyDialog","NewGeographyDialog","date","deleteHoliday","HolidayForm","updatedHoliday","holidayID","NewHolidayDialog","EditHolidayDialog","irRTL","housingAPI","translatedFacilities","isPaginated","itemsPerPageOptions","hasPermissionInPath","unHideFacility","hideFacility","capacity","canHoldJuveniles","canHoldAdults","canHoldDetainees","canHoldPrisoners","canHoldMales","canHoldFemales","depth","canAddChildren","typeOptions","selectedType","numberToAdd","namePrefix","parentFacilityID","parentFacility","siblings","facilitiesUnder","mostCommon","updatePrefixes","housingFacilityID","facilityType","legacyIDs","canHoldFemals","idVal","HousingFacilityForm","facilities","fetchChildren","permissionKey","pathIDs","pathID","AddFacilityChildrenDialog","EditHousingFacilityDialog","VDataIterator","AddHousingFacilityDialog","HousingFacilityContainer","showDeleted","updatedJudge","addJurisdiction","deleteJurisdiction","JudgeJurisdictionForm","defaultJurisdiction","newJurisdictions","EditJudgeJurisdictionDialog","NewJudgeJurisdictionDialog","JudgeJurisdictionsTable","JudgeForm","js","activeResidences","activeStages","flatMap","EditJudgeDialog","NewJudgeDialog","filterMode","filteredLegacyCrimes","legacyNameTranslated","editIcon","_b","chipProps","completionStatusLabel","participationTypeLabel","severityLabel","short","full","thisSeverity","onlyValidSeverity","xSmall","ChargeName","localeAPIHostname","localeMessages","COOKIE_NAME","LOCALE_MESSAGE_API_SERVER","languagesByLocale","localeMessage","language","languages","languageIsRTL","collection","lookupTableName","moduleName","variableName","localeMessageKeys","setLocale","lang","sameSite","refreshBrowserLocaleMessages","unflatten","setLocaleMessage","initializeLocale","override","client","haveValidKey","requireValidKey","similarKeys","k","translationAPI","lastVerifiedByUserID","lastVerifiedAt","similar","matching","take","newKey","existingKey","existingKeyAsParent","newKeyAsParent","keyName","isVerified","existing","alert","currentHostname","hostname","URL","wrongAPIServer","NewLocaleMessageDialog","EditLocaleMessageDialog","selectedTable","fetchRows","tables","selectedTableName","rows","unpaginated","internalRow","table","showRank","hasRank","showType","hasType","newRow","fetchTableList","EditLookupTableRowDialog","NewLookupTableRowDialog","decrees","issuedAt","enforcementBeginsAt","pardonDecree","summary","today","PardonDecreeForm","pardonDecreeWithID","allPardonDecrees","NewPardonDecreeDialog","EditPardonDecreeDialog","punishmentType","isConsequential","isATI","isImprisonment","requiresAmount","canHaveDuration","requiresDuration","canReferenceSubjectProperty","requiresNotes","trackFulfillment","newObject","PunishmentTypeIcons","PunishmentTypeForm","groupedPunishments","AddPunishmentTypeDialog","EditPunishmentTypeDialog","permissionID","isLocked","role","userAPI","hasAllPermissions","permissions","perm","permissionIDs","entityTypeChoices","RoleEntityType","AllRoleEntityTypes","Global","Department","HousingFacility","permissionKeysByID","permissionIDsByKey","roleWithID","permissionsForUser","lookup","ur","roleID","hasAllEntities","thisPermIDs","permIDs","has","existingPermIDs","allowedEntitiesForUser","isGlobalAdmin","entityIDsWithPermissionForUser","permID","indexPermissions","setRole","fetchUser","groupedPermissions","substr","RoleEntityTypeSelector","roleState","RoleForm","permissionChoices","permissionChanged","groupedRoles","permissionsSummary","AddRoleDialog","EditRoleDialog","PermissionSelector","lastLoginAt","passwordLastChangedAt","searchResults","footerProps","payloadExpanded","selectableUsers","union","u","newSearch","userID","submittedAtOrAfter","submittedAtOrBefore","canExport","opts","results","UserSelector","afterUserAdded","users","email","telephone","requiredOnCreate","passwordConfirmation","mustMatchPassword","remarks","deletedReason","isSuspended","suspendedReason","reactivatedReason","addUserRole","translatedUserRoles","translatedEntityType","roleName","entityName","deleteUserRole","userRole","updateEntityType","isGlobal","allLabel","isHousingFacility","isCourt","isDepartment","roleChoices","newType","RoleSelector","UserRoleForm","newRoles","NewUserRoleDialog","isActive","showReactivatedReason","UserRolesForm","UserForm","includeDeleted","userIDs","NewUserDialog","EditUserDialog","sc","VBtnToggle","isFinal","color","statusID","dispositionReasonID","disposedAt","finalizedAt","isDisposed","unlinked","CaseStatusLabel","addingStageID","newCaseDialogOpen","addCaseInStage","cases","stageCases","CaseSummaryCard","expand","isDecisionAccepted","$pluralT","deleted","guiltyOnly","activeOnly","noPrefix","chargesForDisplay","showPrefix","genders","pa","pas","dispositionType","toggleRow","component","expanded","cp","punishmentTypeID","amountInPuls","durationInHours","subjectPropertyIDs","notes","hideFulfillment","iconColor","icon","allRows","isFulfilled","ChargesTable","EditParticipantAttorneysDialog","ParticipantAttorneysTable","PartyDetails","SentenceSummary","participantDialog","ChargesSummary","ParticipantDialog","ParticipantName","primaryParticipants","leftParticipants","rightParticipants","ParticipantSummary","CaseHeaderNav","DossierCourts","PrimaryParticipants","queryChanged","goToCase","finalOnly","disposedOnly","pastDeadlineOnly","nearingDeadlineOnly","partyMatchAll","chargeDispositionID","filedAtOrAfter","filedAtOrBefore","disposedBetween","withDocketEventTypeID","withoutDocketEventTypeID","encodeURI","newPath","CaseSearcher","age","$vuetify","rtl","click","menuOpen","mi","menuItemClicked","method","addParticipantDialogOpen","addHearingDialogOpen","docketEventTypeID","addDocketEventDialogOpen","addSubjectPropertyDialogOpen","preselectedType","preselectedDocketEventTypeID","customFields","fieldData","dossierIsFinal","finalCaseID","decisionNumber","rulingsSelected","partyInOneListOnly","verdictText","subjectPropertiesTotalPuls","objects","includeDescription","expandable","subjectPropertiesForDossier","drugLabel","currencyLabel","nm","validSubjectProperties","needsTotal","truncateLabel","truncate","SubjectPropertyLabel","favorPartyIDs","againstPartyIDs","settlementNotes","newCivilDecision","SubjectPropertiesSummary","updateParticipant","guiltyCrimes","needsConsequentialPunishment","applyConsequential","choice","componentsByType","minDuration","maxDuration","isValid","componentModified","fineOutOfRange","durationOutOfRange","checkColor","isChecked","isError","fineRange","durationRange","subjectPropertyChoices","subjectPropertiesSelected","requiresCustomization","showFineRange","range","Intl","NumberFormat","showDurationRange","minimumHours","maximumHours","nowChecked","externalCopy","SubjectPropertySelector","categorizedPunishmentTypes","min","max","validImprisonmentDurations","valids","cps","cpIDs","remove","changed","SentenceComponentDialog","newParticipants","SentenceComponentsForm","resetInternalParticipants","dispositionTypeIDs","selectedAmount","feeAssessment","percentOfValue","disputedValueInPuls","assessedAt","settlementValue","feeAmount","isPercentage","round","feePayment","paidAt","partyIDChanged","defaultLabel","defendantsOnly","newPartyID","PartySelector","issuanceNumber","iteration","issuanceExpectedLocationID","presenceDate","presenceTime","timeMenuOpen","presenceCourtroomID","issuanceNotes","servedAt","serviceFiledAt","serviceResultID","modeOfServiceID","serviceLocationID","servedToName","serviceNotes","appeared","VMenu","VTimePicker","docketEventTypeItems","selectedDocketEventType","willFinalize","nowFinal","hasFieldOfType","desiredType","allTypes","desiredTypes","matches","CivilDecisionForm","CriminalDecisionForm","DefendantCharges","DossierCaseSelector","FeeAssessmentForm","FeePaymentForm","ParticipantDecisionEditor","SubjectPropertyEditor","SummonsForm","VInput","menu","hearingTypeID","addRulingDialogOpen","Closed","categories","groupedItems","allMenuItems","menuItems","fixedMenuItems","dynamicMenuItems","itemModules","componentModules","condition","dynamicDocketEventMenuItemClicked","openDialog","varname","AddHearingDialog","AddDocketEventDialog","componentFile","tag","entry","showPayload","receiptNumber","hearingType","cancellationReasonID","cancellationNotes","hearingID","affectedRecords","hearingIDs","isLeadJudge","isInvestigatorJudge","courtDecisionTypes","investigatorJudge","judgeNames","decDate","decDate2","rulingDate","rulingType","decNumber","decNumber2","courtDec","defenseAttorney","attName","attDate","attEntity","attMobile","InvestigationDecisionTypes","57","58","59","60","62","121","122","123","124","125","126","253","356","357","479","480","481","482","483","485","489","578","723","724","813","814","830","831","832","833","834","835","836","837","838","839","840","FateOfAccused","470","471","472","473","474","475","476","477","478","484","490","491","492","493","495","496","841","855","CourtDecisionTypes","hasDefenseAttorneyInfo","courtDecType","headOfCourtJudgeName","caseParticipants","caseIDs","VExpandTransition","suspectNames","crimeNames","victimNames","crimeReportIDs","affectedSummons","WillChangeDepartment","finalCase","prop","typ","paymentAmount","fieldValuePresent","IssueSummonsDetails","RecordSummonsServiceDialog","SubjectPropertyCard","nameForCourtroom","lawsuitTypeList","attorneyNamesAndTypes","relatedDossierID","relatedDossierNumber","reasonID","directionKey","adjustmentAmountInHours","newDetainedAt","dir","SentenceComponentDescription","PIN","DIN","facilityName","expectedRelease","expectedReleaseAt","detainedAt","add","imprisonmentDurationInHours","decisionTypes","dossierStageID","crimeDescription","fateOfAccused","prosName","ministry","dateNext","issueDepartment","release","fate","attDec","decisionType","issueNumber","decType","RecordServiceDetails","judgeRemovalReasonID","DocketablePresenter","moduleOnly","DocketEventTable","NewDocketEntryMenu","rawHearings","showPastHearings","isPast","slot","courtHearings","isUpcoming","hasPastHearings","pastHearings","RescheduleHearingDialog","currentJudgeIDs","cj","caseJudgeID","AddCaseJudgeDialog","EditCaseJudgeDialog","RemoveCaseJudgeDialog","EditCaseJudgesDialog","sm","filteredParticipants","partyType","courtStage","currentCourtStageID","originalType","displayedSubjectProperties","deleteSubjectProperty","onDossierPage","haveDeleted","subjectPropertyType","civilDecisionDialogOpen","filedDate","finalDate","diff","CaseDocket","CaseHearingCalendar","CaseJudgesCard","CivilDecisionSummary","CourtRevenueSummary","ParticipantsTable","SubjectPropertyTable","menuExpanded","stats","activeCount","averageAge","pastDeadline","nearingDeadline","fromDays","toDays","caseCount","percent","cumulativePercent","alight","lastNDays","clearanceRatio","disposedInPeriod","createdInPeriod","averageTimeToDisposition","fullCriteria","startDate","subtract","newStats","filedBetween","avgDuration","topic","mostCommonGeographyType","activeCaseCount","withFeesBetween","assessedInPuls","paidInPuls","balanceInPuls","lawsuitType","lawsuitTypeID","isMobile","colTotals","cellData","rowData","rowAttr","colData","colAttr","valueAttr","excludeUnknownRow","excludeUnknownCol","totalCol","totalRow","rowTypes","rowType","rowTotal","colIndex","colTypes","colType","relevantCells","cellValue","sumBy","totals","attr","LookupTableMatrix","fetchCourtStats","AgeOfPendingCaseload","CaseDocketEventCounts","CasesByCivilCaseTopic","CasesByCourtRevenue","CasesByCourtTable","CasesByCourtLocationTable","CasesByDispositionReason","CasesByLawsuitType","CasesByPunishmentType","CaseClearanceRatio","DisposedChargesBySeverity","VImg","crimeReportWithID","anyE","errorMessage","CrimeReportDisplay","translatedResults","goToCrimeReport","suspectMatchAll","subjectPropertyTypeID","occurredBetween","includesSeverityID","maxSeverityID","victimId","sr","translatedCrimes","CrimeReportSearcher","eventType","DetectionDocket","crimeReportCount","averageFilingDelay","dossierCriteria","internalModule","firstDepartmentLocationID","firstDepartmentID","CrimeReportProvinceMap","CrimeReportsByCrimeTable","CrimeReportsByDepartmentTable","CrimeReportsByLocationTable","CrimeReportsBySeverityTable","DossierDocketEventCounts","dossierPage","defendant","highestGuiltyChargeSeverity","disabledCaseIDsForDefendant","currentCase","backgroundColor","activeTab","tab","disabledCaseIDs","tabs","currentCaseID","findLastIndex","VTab","VTabItem","VTabs","categorizedPunishments","pmt","sentenceComponent","sentenceComponentID","custodyStatus","freedAt","offenderAPI","offenderRecords","offenderResponse","activeCategories","catID","AddFinePaymentDialog","FinePaymentsTable","FulfillSentenceComponentDialog","PartyImprisonmentsTable","defendants","caseParticipant","DossierCaseTabs","DefendantSentenceSummary","currentCourt","versions","versionSelected","timesReceived","timesLoaded","selectedData","isLoading","nativeOn","load","etlAPI","cmsCase","detentionFacilityRecords","fr","detentionReleaseInfoRecords","dri","isExpanded","recDate","juvenileOrAdult","detaineeOrPrisoner","dinNumber","registerdate","userid","ftype","accStatus","FacilityRecord","ReleaseInfoRecord","prosecutionRecords","investigationRecords","primaryInvestigationRecords","appellateInvestigationRecords","supremeInvestigationRecords","primaryCourtRecords","appellateCourtRecords","supremeCourtRecords","revisionCourtRecords","csspFacilityRecords","pr","csspReleaseInfoRecords","pri","DetectionTab","DetentionTab","InvestigationTab","CourtsTab","PrisonTab","VTabsItems","VTabsSlider","selectedDataLoading","newNumber","fetchVersions","reload","CMS1Viewer","crimeReportForDossier","showEnforcement","hasSentenceComponentsOnAnyCase","LegacyDossierVersionsDialog","expandAll","collapseAll","openPanels","partition","firstDate","lastDate","dayCount","partitions","currentPartition","newPartition","newPartitionForEvent","isClosed","isFinalPartition","calcStats","initialPartition","stageName","current","stageForEvent","begin","tz","end","customTypeForEvent","payloadDossierStageID","PartitionedDocketEventTable","isDuplicate","AddRelatedDossierDialog","DossierHeader","InvestigationDocket","RelatedDossiersTable","DossierEnforcement","DossierHeaderNav","DossierDocket","currentCaseNumber","lastDepartmentLocationID","firstCourtID","lastCourtID","includesSubjectPropertyTypeID","goToDossier","DossierStageSelector","DossierSearcher","dossierCount","chartData","chartOptions","each","dates","hTickCount","ceil","height","chartArea","legend","position","colors","hAxis","showTextEvery","finalizedBetween","finalizedInLastNDays","disposedAtOrAfter","departmentSummaries","FinalizedByDate","DossiersByCivilCaseTopic","DossiersByDepartmentLocationTable","DossiersByDepartmentTable","DossiersByLawsuitType","PendingChargesBySeverity","offendersWithProfiles","routerLink","flag","small","visibleFlags","valAsArray","flags","offenders","OffenderFlags","cardColor","hasGuiltyCharges","dossiers","ProfileDossierCard","ProfileHeaderNav","offenderHeaders","offendersForProfile","grandFatherName","identification","incomingTransfers","outgoingTransfers","TransferStatus","TransferStatuses","Pending","Scheduled","InTransit","Denied","Canceled","Aborted","ActiveTransferStatuses","CancelableTransferStatuses","transfer","transferIDsForOffender","transferIDsForFacility","transferWithID","transferID","transfersForOffender","transfersForFacility","fetchTransfers","transfers","fetchActiveTransfersForFacility","departedAt","scheduledDepartureAt","estimatedArrivalAt","facilityIDForDisplay","transferReasons","translateStatus","din","isDetainee","pin","arrivedAt","fromHousingFacilityID","toHousingFacilityID","fromCellID","toCellID","cellName","cancelDate","cancelReason","approve","deny","start","abort","offenderWithID","isApprovable","isStartable","isCancelable","isCompletable","isAbortable","TransferCancelDialog","TransferCompleteDialog","TransferActions","statuses","activeTransfers","incomingStatuses","outgoingStatuses","offenderIDs","HousingFacilityTransfersTable","importFromDossier","forward","identificationComplete","housingComplete","saving","accompanyingChild","accompanyingChildrenIDsForOffender","accompanyingChildrenForOffender","accompanyingChildWithID","accompanyingChildID","setAccompanyingChildrenForOffender","accompanyingChildren","addAccompanyingChildToOffender","fetchAccompanyingChildren","escape","escapeIDsForOffender","escapeWithID","escapeID","escapesForOffender","fetchEscapes","escapes","IncidentType","incident","incidentIDsForOffender","incidentsForOffender","fetchIncidents","incidents","MONTHNAMES","LeaveReason","inCurrentJalaaliYear","isString","specifiedDate","currentNewYear","startOf","month","day","startOfYear","endOfYear","isBefore","clone","isBetween","endOf","toLocalizedDate","isoDate","withTime","rawInTZ","timePart","toLocalizedTime","jmom","mom","toLocalizedMonthName","gregorianDate","jalaaliDate","jMonth","leave","leaveIDsForOffender","leavesForOffender","voluntaryLeaveDaysThisYearForOffender","totalHoursThisYear","reduce","voluntaryLeavesInCurrentJalaaliYear","leavesInCurrentJalaaliYear","releasedAt","isVoluntaryLeave","reason","fetchLeaves","leaves","VisitType","TreatmentType","exam","examIDsForOffender","treatment","treatmentIDsForOffender","healthHistoryRecord","healthHistoryRecordIDsForOffender","intakeHealthScreening","intakeHealthScreeningIDsForOffender","examsForOffender","intakeHealthScreeningsForOffender","healthHistoryRecordsForOffender","treatmentsForOffender","setIntakeHealthScreeningsForOffender","screenings","screening","addIntakeHealthScreeningToOffender","screeningID","fetchExams","exams","fetchIntakeHealthScreenings","fetchTreatments","treatments","fetchHealthHistoryRecords","healthHistoryRecords","AdjustmentReasonID","courses","criminalGroups","criminalGroupRoles","custodyStatuses","disabilities","drugAddictions","healthConditions","infectiousDiseases","incidentTypes","leaveReasons","mentalDisorders","motherAndChildConcerns","privileges","securityLevels","sentenceAdjustmentReasons","treatmentTypes","visitTypes","courseWithID","editableFlags","isSystemFlag","offenderProgram","offenderProgramIDsForOffender","offenderProgramWithID","programsForOffender","fetchPrograms","programs","SentenceAdjustmentReasonID","sentenceAdjustment","sentenceAdjustmentIDsForOffender","sentenceAdjustmentWithID","sentenceAdjustmentsForOffender","fetchSentenceAdjustments","adjustments","blankOffender","hasStar","hasChild","hasEscape","hasWarning","hasMedical","isJuvenile","flagIDs","pardonDecreeIDs","privilegeIDs","classificationScore","releaseReasonID","releaseDetails","criminalGroupMemberID","escapeeID","withChildID","medicalConcernsID","infectiousDiseaseID","presidentialDecreeID","highProfileOffenderID","securityThreatID","specialManagementID","offenderIDsForProfile","offenderIsReleased","fetchOffender","dispatches","cellIDs","fetchOffenderForProfile","durationLabel","durationChanged","newDuration","updateOffender","criminalGroup","updateProfile","criminalGroupID","infectiousDisease","mentalDisorder","mentalDisorderID","motherAndChildConcern","motherChildrenConcernID","privilege","privilegeID","getColor","textColor","securityLevel","VSlider","newO","ClassificationScoreSlider","setDefaultJuvenileStatus","setDefaultImprisonmentDuration","localProfileCopy","firstID","nextStep","ageInYears","sentence","totalImprisonmentDurationInHours","IntakeHousingForm","OffenderClassificationForm","offenderPage","detaineePrisonerLabel","percentTimeServed","isLabeledData","nameStyle","hoursToServe","now","hoursServed","OffenderCustodyStatus","OffenderDossierLinkDialog","OffenderName","contentOnly","isReleased","intakeDate","releaseDate","childInformationUnknown","AccompanyingChildForm","childrenTableVisible","withChildFlag","AddAccompanyingChildDialog","EditAccompanyingChildDialog","ReleaseAccompanyingChildDialog","hideInvoluntaryLeaves","scheduledReleaseDate","returnedAt","estimatedReturnDate","hideLeaveDuration","leaveDurationInDays","leaveDurationBasedOnStatus","requestedAt","approvedAt","approverTitle","approverName","details","canceledAt","deniedAt","totalLeaveDays","complete","leaveID","LeaveCancelDialog","statusOptions","Date","setDate","getDate","returnDate","toISOString","OffenderNameAndPIN","estimatedDurationInDays","Personal","estimatedDurationInHours","activeLeaves","canBackfill","duration","LeaveActions","LeaveBackfillDialog","LeaveRequestDialog","VListItemSubtitle","hideMoves","canTransfer","canMove","moveDate","destinationRules","moveSelectedReasonID","moveNotes","destinationFacility","originID","goToHousingPage","selectedDestination","selectedReasonID","hasActiveTransfer","MoveDialog","TransferRequestDialog","isTransfer","TransferAddMenu","TransferBackfillDialog","AccompanyingChildrenTable","LeavesTable","TransfersTable","createdAt","visitTypeID","chiefComplaint","diagnosis","prescription","doctor","historyOfPresentIllness","followUpAt","hospitilizationRecommended","drugIDs","disabilityIDs","findDiseases","findDrugs","findDisorders","findMotherChildConcern","appearance","speech","affect","perception","cognition","judgement","behavior","mood","thoughts","insight","mentalStatusCheckbox","Exam","newExam","adding","findDisabilities","AddExamDialog","medicalProfessional","AddHealthHistoryRecordDialog","intakeHealthScreenings","findHealthCondition","healthConditionIDs","translateExamType","visitType","booleanWithExplanation","hasPrescribedMedication","prescribedMedication","isAllergic","allergicMedication","hasBeenUnderPhysicianCare","careForWhat","hasBeenHospitalized","hospitalizedWhereWhat","hasHeartMurmurOrTreatedCondition","hasBeenTreatedForTumorOrCancer","hasProlongedBleeding","hasLatexAllergy","useNonprescriptionDrugs","hasDisabilitiesOrMentalHealth","whatDisabilitiesOrIssues","unlistedHealthCondition","hasInjuryAbuse","injuryAbuse","hasSufferedDisease","sufferedDisease","healthConditionItems","clearDetailsThatAreFalse","hasCondition","NewIntakeHealthScreeningDialog","treatmentTypeID","treatmentDescription","administeredBy","Medication","NewTreatmentDialog","ExamsTable","HealthHistoryRecordTable","IntakeHealthScreeningTable","TreatmentsTable","routeName","linkLabel","releaseCustodyStatus","expectedReleaseDate","canRelease","releaseDateTooSoon","reportedBy","victim","Violent","canAddIncident","canViewMedical","ReleaseDialog","ReportIncidentDialog","escapedAt","recapturedAt","wasFailedEscape","causedBuildingDamage","causedStaffInjuries","helpedOthersEscape","isNotRecaptured","openRecaptureDialog","recapturedDate","currentEscapeID","recaptureDialog","recaptureDate","recapturePrompt","RecaptureDialog","hasPendingEscape","AddAnEscapeDialog","EscapesActions","localOffenderCopy","canReclassify","EscapesTable","IncidentsTable","OffenderReclassificationDialog","program","courseID","startedAt","endedAt","startNotes","endNotes","course","completedAt","endTypes","endType","offenderProgramID","programID","CompleteOffenderProgramDialog","EndOffenderProgramDialog","courseType","BeginOffenderProgramDialog","OffenderProgramActions","OffenderProgramsTable","pardonDecrees","isSelected","select","VSimpleCheckbox","decreeIDs","AssignPardonDecreeDialog","translatedAdjustments","translatedOperation","newDurationInHours","newExpectedReleaseAt","oldDurationInHours","oldDetainedAt","disallowedReasonIDs","dossierChoices","pardonDecreeChoices","pardonDecreeID","directionChoices","adjustmentDirection","Direction","DetentionExtension","Intake","needsAssociatedPardonDecree","PardonDecree","needsAssociatedDossier","ConvictionOfAnotherCrime","Subtract","Add","Set","CourtDecision","ClericalError","PostponedEnforcement","newDirection","tOp","AddSentenceAdjustmentDialog","OffenderCharges","OffenderPardonDecreesTable","SentenceAdjustmentsTable","OffenderHeader","OffenderHousing","OffenderMedical","OffenderNavToolbar","OffenderProfile","OffenderPrograms","OffenderSentence","facilityLocationID","hasAllFacilities","totalPopulation","prisonerCount","prisonersHeader","detaineeCount","elderlyCount","elderlyOnly","elderlyAge","maleCount","femaleCount","adultCount","juvenileCount","missingDossier","missingDossierCount","pastDue","pastDueCount","nearingRelease","nearingReleaseCount","imminentRelease","imminentReleaseCount","facilityIDExact","group","rawResults","sortIcon","headcount","jc","ac","countryID","nationalityResults","birthplaceResults","responses","fetchStats","facilityIDs","nearingReleaseDays","imminentReleaseDays","newRoute","oldRoute","newQuery","oldQuery","OffenderRosterTable","OffendersByCriminalGroup","OffendersByCustodyStatus","OffendersByFacilityTable","OffendersByLocationTable","OffendersByNationality","OffendersBySecurityLevel","jalaaliYears","dossierCrimeIDs","goToOffender","stopImmediatePropagation","custodyStatusChoices","securityLevelChoices","detainedAtOrAfter","detainedAtOrBefore","expectedReleaseAtOrAfter","expectedReleaseAtOrBefore","freedAtOrAfter","freedAtOrBefore","benefittedFromPardonDecreeInYear","notBenefittedFromPardonDecreeInYear","includeUndisposedCharges","finalDossierOnly","minPercentOfTimeServed","maxPercentOfTimeServed","years","thisYear","CustodyStatusSelector","SecurityLevelSelector","OffenderSearcher","canViewHousing","canViewSentence","canViewProfile","canViewPrograms","legacyData","router","base","routes","ComponentLibrary","HomeRedirector","Login","Unauthorized","UserHome","CourtList","CaseList","CourtDashboard","CourtroomList","CrimeList","CrimeGroupList","LegacyCrimeList","DetectionDashboard","InvestigationDashboard","CrimeReportList","CrimeReportShow","CrimeReportPrint","printView","CorpusList","CorpusNew","CorpusShow","CorpusEdit","DossierList","HousingFacilityList","HousingFacilityTransfers","OffenderDashboard","UserList","RoleList","UserAuditReport","OffenderList","IntakeStepper","redirect","OffenderContainer","beforeEnter","OffenderPrint","CourtCalendarPrint","ProfileShow","ProfileDossiers","ProfileFacilities","LocaleMessageList","LookupTableEditor","PunishmentTypesList","DossierContainer","CaseShow","CaseDossierDetail","JudgeList","ProsecutorsList","AttorneyList","DepartmentList","DocketEventTypeList","GeographyList","HolidayList","PardonDecreeList","PardonDecreeShow","PartyList","ProfileList","BackgroundCheck","CMS1StandaloneViewer","NotFound","beforeEach","loggedIn","JWT_KEYNAME","localStorage","getItem","afterLoginPath","tokenExpiresAt","timer","isAuthenticated","userPerms","allUserPermissionIDs","keysToCheck","keyPermissionIDs","setToken","removeItem","setItem","setUTCSeconds","exp","setProfile","setError","setAfterLoginPath","autoLogin","logout","currentRoute","fetchProfile","startTokenRefreshTimer","refresher","expiresInMillis","getTime","clearTimeout","refreshToken","facilitiesLoaded","transferrableFacilities","facilityAncestors","breadcrumb","fullCellName","setFacilitiesLoaded","setFacilities","setFacilityChildren","removeFacility","fetchFacilities","fetchFacility","command","fetchFacilityChildren","bloodTypes","educationLevels","eyeColors","hairColors","maritalStatuses","militaryRanks","nationalities","settingsAPI","settings","settingsLoaded","setSetting","setting","setSettingsLoaded","fetchSettings","crimeReportIDForDossier","fetchCrimeReport","fetchCrimeReportForDossier","departmentsLoaded","departmentIDs","departmentChildIDs","departmentAncestorIDs","departmentAncestors","departmentName","setDepartmentsLoaded","calculateDepartmentChildStats","fetchDepartment","fetchDepartments","fetchProsecutor","pardonDecreesLoaded","setPardonDecreesLoaded","fetchPardonDecrees","fetchPardonDecree","Store","application","housing","investigation","initialized","drawer","buildTimestamp","commitHash","feedbackDialogOpen","submitterName","submitterEmail","submitterDepartment","feedbackType","pendingApi","userAgent","windowURL","platform","browserLanguage","browserName","browserCodeName","browserVersion","browserOnline","cookiesEnabled","body","MILESTONE_ID","BASE_URL","TOKEN","milestone","labels","routerPath","openFeedbackDialog","navigator","appCodeName","appName","appVersion","cookieEnabled","onLine","href","postFeedback","generateTitle","generateBody","generateLabel","createIssue","userName","userEmail","detailsString","VBottomSheet","userChangedLanguage","newLocale","showSampleCases","SampleCaseNav","timeoutTime","VSnackbar","fetchBuildDate","FeedbackWidget","LanguageSelector","PrimaryNav","Snackbar","VApp","VAppBar","VAppBarNavIcon","VMain","VNavigationDrawer","AFNCurrencyReadOnly","updateValue","displayedValue","realValue","toLocaleString","parseFloat","formatAFN","suffix","isApproximate","noSuffix","uploadStarted","file","filePicked","fileNameOriginal","percentUploaded","mimeType","uploadResponse","fileNameToLabel","qs","onUploadProgress","evt","lengthComputable","fileName","VFileInput","isSaveAllowed","internalEntityType","internalEntityID","src","createObjectURL","oldEntityType","newEntityType","oldEntityID","newEntityID","$listeners","currentAttachment","uri","labelText","openDownloadLink","dark","large","left","light","xLarge","MimeTypeIcon","accept","AddAttachmentDialog","display","yearDisplay","dateDisplay","ageRules","ageDisabled","dateKnown","dateRules","dateDisabled","newApproximate","ageFromDate","dateFromAge","birthYear","jBirthdate","bloodTypeChoices","rawTypes","trueLabel","falseLabel","newInternalVal","maxWidth","notPersistent","fullscreen","notScrollable","overlayOpacity","medium","noActions","el","$el","querySelector","searches","firstInput","absolute","top","right","bottom","fab","openConfirmDialog","toolbarColor","titleText","prompt","hideNo","noColor","noText","yesColor","executeConfirm","yesText","confirmIf","yes","no","courtParamName","rootItem","maxFetchDelayMs","fetchQueue","fetcher","exists","showTime","dayChoices","dayOptions","days","departmentParamName","dept","deptID","docketEventChoices","smallChips","tagName","link","canLink","newDossier","mask","awaitingUniquenessCheck","MAX_CONSECUTIVE_ZEROS","disablePadding","unique","checkExistsAPI","blockSizes","repeat","forbidBlankNumbers","msgs","determineUniqueness","oldBlocks","newBlocks","padded","errMessage","numsOnly","re","RegExp","hoursToWords","hours","HoursPerYear","HoursPerMonth","HoursPerDay","remainingHours","months","yearLabel","monthLabel","dayLabel","ruleFuncs","forbidIncomplete","codeOverride","input","expandJSONAPIErrors","detail","locationParamName","geoID","numberOfVisibleDropdowns","countryOptions","selectedCountryID","provinceOptions","selectedProvinceID","districtOptions","selectedDistrictID","villageOptions","selectedVillageID","countryValidations","countryChanged","provinceValidations","provinceChanged","districtValidations","districtChanged","villageValidations","villageChanged","minSpecificity","validator","maxSpecificity","omittedGeographies","valueChanged","minSpecificityLevel","maxSpecificityLevel","selectedGeography","unknownGeo","sortedGeoList","showCountry","showProvince","showDistrict","showVillage","num","recalculateValue","self","fetchVillageOptions","updateSelectors","pop","geoList","facilityParamName","hideUnknown","numbersOnly","partsChanged","readOnlyValue","computedDurationInHours","newHours","charCode","which","keyCode","imprisonmentDuration","inRange","filteredImprisonmentDurations","currentDurationID","minimumDurationBoundary","maximumDurationBoundary","combinedRules","isFinite","inputChanged","showThisField","xl","lg","md","xs","computedLabel","computedValue","pluralLabel","lookupTable","landArea","emit","unitsOptions","units","Units","AllUnits","Jerib","Biswa","Biswasa","SquareMeter","outsideValueChanged","translationKey","toSquareMeters","squareMeters","unit","legacyDepartmentChoices","ROOTID","nameLookup","processData","org_id","org_nameen","org_namedr","org_namepa","org_parent","org_active","expandNames","valueForDisplay","normalizedMaxDate","initialPicker","dateSelected","allowedMinutes","TZPart","pastDatesOnly","yearFirst","minuteIncrement","combinedISO8601Value","allowed","newValStr","valueChangedOutside","resetPickersToValue","newWithTime","emitDate","timePicker","selectingHour","VDatePicker","attachID","showTwoFields","selectedRange","combinedText","endDate","selectingDates","rng","rangeSelected","customStartDate","customEndDate","EmptyDateRange","CustomDateRange","allDateRanges","prior","period","capitalPeriod","capitalize","jUnit","startUnit","dateRangeFromDates","ranges","datesForRange","twoFields","allowCustom","initialValue","setDates","combined","VSheet","autocomplete","translatedChoices","clear","disableSorting","itemNames","hasRanks","translationKeyPrefix","lookupTableItems","formattedNumber","activeRules","computedPlaceholder","reformat","isValidFormat","getExample","getNumber","buildPhoneNumber","pn","loadtimeSettings","metricName","provinceIDCol","valueCol","sourceRow","region","resolution","colorAxis","packages","chipClass","displayDate","warningChipOnly","useChip","alreadyReleased","far","past","near","daysUntilRelease","addItem","internalItems","externalItems","validTimeOrBlank","segments","minutes","addRow","removeRow","blurred","rowIndex","langIndex","removeEmptyRows","lastItem","truncatedValue","formatWeight","Milligrams","Nakhud","Gram","Misqaal","Toolee","Khurd","Paaw","Chaarak","Sayr","Man","Kharwaar","toMilligrams","milligrams","productionTip","AFNCurrencyField","AFNDisplay","AgeDisplay","AddImageAttachmentDialog","AttachmentImage","AttachmentsLinks","AttachmentsList","BirthdateDisplay","BirthdateSelector","BloodTypeSelector","BooleanDisplay","BooleanRadioButton","BooleanSelector","CMSFormDialog","ConfirmationButton","CourtBreadcrumb","CourtName","DaysAgoSelector","DepartmentBreadcrumb","DepartmentName","DepartmentSelector","DocketEventTypeSelector","DossierNumber","DossierNumberField","Duration","ETazkiraField","ExpandableCard","ExpanderDialog","FieldValue","FormError","GeographyBreadcrumb","GeographyName","GeographySelector","HousingFacilityBreadcrumb","HousingFacilityName","ImprisonmentDurationField","ImprisonmentDurationsLegend","IntArrayField","IntField","LabeledData","LandArea","LandAreaField","LegacyDepartmentSelector","LocaleDateEntry","LocaleDateRange","LookupTableItemSelector","LookupTableTypeSelector","NumFmt","ProvinceMap","PhoneField","ReleaseDate","StringArray","TimeField","TranslatedStringArrayField","Truncate","Weight","WeightField","isRTLCookie","vuetify","icons","iconfont","theme","themes","accent","secondary","success","info","warning","mixin","localeKey","render","App","$mount"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAAIC,EAAWD,EAAK,GAChBE,EAAcF,EAAK,GACnBG,EAAiBH,EAAK,GAItBI,EAAUC,EAASC,EAAI,EAAGC,EAAW,GACpCD,EAAIL,EAASO,OAAQF,IAAK,CAC9BD,EAAUJ,EAASK,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBR,IAAYQ,EAAgBR,IACpFE,EAASO,KAAKD,EAAgBR,GAAS,IAExCQ,EAAgBR,GAAW,EAE5B,IAAID,KAAYF,EACZO,OAAOC,UAAUC,eAAeC,KAAKV,EAAaE,KACpDW,EAAQX,GAAYF,EAAYE,IAG/BY,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAIDW,EAAgBJ,KAAKK,MAAMD,EAAiBf,GAAkB,IAG9D,OAAOiB,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,EAAY,KACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,EAAY,OAE9C,GAAGA,EAAW,CACbL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASS,EAAoBvB,GAG5B,GAAGyB,EAAiBzB,GACnB,OAAOyB,EAAiBzB,GAAU0B,QAGnC,IAAIC,EAASF,EAAiBzB,GAAY,CACzCE,EAAGF,EACH4B,EAAG,MACHF,QAAS,IAIVf,EAAQX,GAAUQ,KAAKmB,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG/DI,EAAOC,EAAI,KAGX,OAAOD,EAAOD,QAKfH,EAAoBM,EAAIlB,EAGxBY,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,SAASL,EAASM,EAAMC,GAC3CV,EAAoBW,EAAER,EAASM,IAClC3B,OAAO8B,eAAeT,EAASM,EAAM,CAAEI,WAAY,KAAMC,IAAKJ,KAKhEV,EAAoBe,EAAI,SAASZ,GACX,qBAAXa,QAA0BA,OAAOC,aAC1CnC,OAAO8B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DpC,OAAO8B,eAAeT,EAAS,aAAc,CAAEe,MAAO,QAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAC7B,EAAPA,IAAUF,EAAQlB,EAAoBkB,IACzC,GAAU,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKxC,OAAOyC,OAAO,MACvBvB,EAAoBe,EAAEO,GACtBxC,OAAO8B,eAAeU,EAAI,UAAW,CAAET,WAAY,KAAMK,MAAOA,IAChE,GAAU,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBQ,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,SAASM,IAAe,OAAOvB,EAAO,YACtC,SAASwB,IAAqB,OAAOxB,GACtCJ,EAAoBQ,EAAEE,EAAQ,IAAKA,GACnC,OAAOA,GAIRV,EAAoBW,EAAI,SAASkB,EAAQC,GAAY,OAAOhD,OAAOC,UAAUC,eAAeC,KAAK4C,EAAQC,IAGzG9B,EAAoB+B,EAAI,IAExB,IAAIC,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAW7C,KAAKsC,KAAKO,GAC5CA,EAAW7C,KAAOf,EAClB4D,EAAaA,EAAWG,QACxB,IAAI,IAAIxD,EAAI,EAAGA,EAAIqD,EAAWnD,OAAQF,IAAKP,EAAqB4D,EAAWrD,IAC3E,IAAIU,EAAsB6C,EAI1B3C,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,6ECvJT,0B,skBCAA,0B,2GCAA,0B,8CCAA,IAAI2C,EAAM,CACT,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,WAAY,OACZ,cAAe,OACf,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,QAAS,OACT,aAAc,OACd,gBAAiB,OACjB,WAAY,OACZ,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,QAIf,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOtC,EAAoBuC,GAE5B,SAASC,EAAsBF,GAC9B,IAAItC,EAAoBW,EAAEyB,EAAKE,GAAM,CACpC,IAAIG,EAAI,IAAIC,MAAM,uBAAyBJ,EAAM,KACjDG,EAAEE,KAAO,mBACT,MAAMF,EAEP,OAAOL,EAAIE,GAEZD,EAAeO,KAAO,SAASC,IAC9B,OAAO/D,OAAO8D,KAAKR,IAEpBC,EAAeS,QAAUN,EACzBpC,EAAOD,QAAUkC,EACjBA,EAAeE,GAAK,Q,oCCnSpB,0B,uBCAA,IAAIH,EAAM,CACT,YAAa,OACb,YAAa,OACb,YAAa,QAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOtC,EAAoBuC,GAE5B,SAASC,EAAsBF,GAC9B,IAAItC,EAAoBW,EAAEyB,EAAKE,GAAM,CACpC,IAAIG,EAAI,IAAIC,MAAM,uBAAyBJ,EAAM,KACjDG,EAAEE,KAAO,mBACT,MAAMF,EAEP,OAAOL,EAAIE,GAEZD,EAAeO,KAAO,SAASC,IAC9B,OAAO/D,OAAO8D,KAAKR,IAEpBC,EAAeS,QAAUN,EACzBpC,EAAOD,QAAUkC,EACjBA,EAAeE,GAAK,Q,oCCxBpB,0B,6DCAA,0B,gFCAA,0B,oCCAA,0B,uECAAnC,EAAOD,QAAU,SAAU4C,GACzBA,EAAUC,QAAQC,OAASF,EAAUC,QAAQC,QAAU,GACvDF,EAAUC,QAAQC,OAAO9D,KAAK,uNACvB4D,EAAUC,QAAQE,Q,6DCH3B,0B,oCCAA,0B,kCCAA,0B,6lBCAA,0B,kCCAA,0B,sJCAMC,EAAY,CAChBC,eAAgB,KAChBC,mBAAoB,YACpBC,gBAAiB,UAGJH,I,YCNT,EAAQ,CACZI,SAAU,CACRC,QAAS,GACTC,OAAQ,MACRC,WAAY,SAIV,EAAU,CACdC,gBADc,WACEC,GACd,OAAOA,EAAML,SAASC,SAExBK,eAJc,WAICD,GACb,OAAOA,EAAML,SAASE,QAExBK,mBAPc,WAOKF,GACjB,OAAOA,EAAML,SAASG,aAIpBK,EAAY,CAChBC,mBADgB,WACGJ,EAAOJ,GACxBI,EAAML,SAASC,QAAUA,GAG3BS,oBALgB,WAKIL,GAClBA,EAAML,SAASE,OAAS,KACxBG,EAAML,SAASG,WAAa,WAG9BQ,kBAVgB,WAUEN,GAChBA,EAAML,SAASE,OAAS,KACxBG,EAAML,SAASG,WAAa,SAG9BS,iBAfgB,WAeCP,GACfA,EAAML,SAASE,OAAS,KACxBG,EAAML,SAASG,WAAa,QAG9BU,kBApBgB,WAoBER,GAChBA,EAAML,SAASE,OAAS,QAItBY,EAAU,CACdC,oBADc,aAC4Bd,GAAe,IAAnCe,EAAmC,EAAnCA,OAAQC,EAA2B,EAA3BA,SAC5BD,EAAO,qBAAsBf,GAC7Be,EAAO,wBAGTE,kBANc,aAM0BjB,GAAe,IAAnCe,EAAmC,EAAnCA,OAAQC,EAA2B,EAA3BA,SAC1BD,EAAO,qBAAsBf,GAC7Be,EAAO,sBAGTG,iBAXc,aAWyBlB,GAAe,IAAnCe,EAAmC,EAAnCA,OAAQC,EAA2B,EAA3BA,SACzBD,EAAO,qBAAsBf,GAC7Be,EAAO,qBAGTI,cAhBc,cAgBU,IAARJ,EAAQ,EAARA,OACdA,EAAO,uBAII,GACbK,WAAY,KACZhB,MAAA,EACAiB,QAAA,EACAd,YACAM,W,iLChCI,SAAUS,EACdC,EACAC,GACkB,IAAlBxD,EAAkB,uDAAJ,KAETyD,MAAMC,QAAQF,KACjBA,EAAS,CAACA,IAEZ,IAAMG,EAAW,GACjBA,EAASJ,GAAQ,IAAEK,MAAMJ,EAAQxD,GACjC,OAAO2D,EAeH,SAAUE,EAAoBzB,EAAYmB,GAC9C,IAAMO,EAAa,IAAExE,IAAI8C,EAAOmB,GAChC,IAAKO,EAAY,CACfC,QAAQC,MAAR,uCAA8CT,EAA9C,cACA,OAAO,EAET,IAAMnC,EAAO9D,OAAO8D,KAAK0C,GACzB,GAAI1C,EAAK/D,OAAS,EAAG,CACnB0G,QAAQC,MAAR,yDACoDT,EADpD,eAGA,OAAO,EAET,OAAOU,SAAS7C,EAAK,GAAI,IAOpB,IAAM8C,EAA0C,CAkBrDC,SAlBqD,WAkB5C/B,EAAOuB,GACd,IAAMS,EAAW,SAAXA,EAAYC,GAChB,OAAOA,GAAsB,WAAf,eAAOA,KAAqBZ,MAAMC,QAAQW,IAUpDC,EAAa,SAAbA,EAAcC,EAAQC,EAAQC,EAAOC,GACzC,IAAK,IAAL,MAAkBpH,OAAO8D,KAAKoD,GAA9B,eAAuC,CAAlC,IAAMxE,EAAG,KACZ,IAAKuE,EAAO/G,eAAewC,IAAkB,IAAVyE,EAAa,CAC9CV,QAAQC,MAAR,kDAAyDhE,EAAzD,wFAEA,SAEF,IAAM2E,EAASH,EAAOxE,GAChB4E,EAASL,EAAOvE,GAClBoE,EAASO,IAAWP,EAASQ,IAAWH,EAAQC,EAClDJ,EAAWM,EAAQD,EAAQF,EAAQ,EAAGC,GAEtC,OAAIG,IAAIN,EAAQvE,EAAK2E,KAK3BL,EAAWlC,EAAOuB,EAAU,EAAG,IAoDjCmB,UAnGqD,WAmG3C1C,EAAO2C,GACf,GAAuB,OAAnBA,EAAQH,aAAsCI,IAAnBD,EAAQH,OAAsB,CAC3Db,QAAQC,MAAM,mCACd,OAEF,IAAK5B,EAAM5E,eAAeuH,EAAQH,QAAS,CACzCb,QAAQC,MAAR,kBACae,EAAQH,OADrB,yDAGA,OAEF,GAAsB,OAAlBG,EAAQrF,YAAoCsF,IAAlBD,EAAQrF,MAAqB,CACzDqE,QAAQC,MAAM,kCACd,OAEoB,OAAlBe,EAAQE,YAAoCD,IAAlBD,EAAQE,MACpC,OAAIJ,IAAIzC,EAAO2C,EAAQH,OAAQG,EAAQrF,OAEvC,OAAImF,IAAIzC,EAAM2C,EAAQH,QAASG,EAAQE,MAAOF,EAAQrF,QAiB1DwF,eAtIqD,WAuInD9C,EACA2C,GAEA,GAAuB,OAAnBA,EAAQH,aAAsCI,IAAnBD,EAAQH,OAAsB,CAC3Db,QAAQC,MAAM,wCACd,OAEF,IAAK5B,EAAM5E,eAAeuH,EAAQH,QAAS,CACzCb,QAAQC,MAAR,kBACae,EAAQH,OADrB,yDAGA,OAEF,GAAsB,OAAlBG,EAAQrF,YAAoCsF,IAAlBD,EAAQrF,MAAqB,CACzDqE,QAAQC,MAAM,uCACd,OAGF,IAAMmB,EAAY1B,MAAMC,QAAQqB,EAAQrF,OACpCqF,EAAQrF,MACR,CAACqF,EAAQrF,OAGb,GAA4B,WAAxB,eAAOyF,EAAU,KAAmBJ,EAAQH,OAAOQ,SAAS,OAAQ,CACtErB,QAAQC,MACN,iIAIF,OAGF,GAAsB,OAAlBe,EAAQE,YAAoCD,IAAlBD,EAAQE,MAAqB,CAEzD,IAAMI,EAAYjD,EAAM2C,EAAQH,SAAW,GAC3C,GAAI,IAAER,SAASiB,KAAe,IAAE3B,QAAQ2B,GAAY,CAClDtB,QAAQC,MAAR,6CACwCe,EAAQrF,MADhD,eAC4DqF,EAAQH,OADpE,yDAGA,OAEF,OAAIC,IAAIzC,EAAO2C,EAAQH,OAAQ,IAAEU,KAAF,yBAAWD,GAAX,eAAyBF,UACnD,CAEL,IAAM,EAAY/C,EAAM2C,EAAQH,QAAQG,EAAQE,QAAU,GACtD,IAAEb,SAAS,KAAe,IAAEV,QAAQ,IACtCK,QAAQC,MAAR,6CACwCe,EAAQrF,MADhD,eAC4DqF,EAAQH,OADpE,yDAIF,OAAIC,IACFzC,EAAM2C,EAAQH,QACdG,EAAQE,MACR,IAAEK,KAAF,yBAAW,GAAX,eAAyBH,QAkB/BI,gBA9MqD,WA+MnDnD,EACA2C,GAGA,GAAuB,OAAnBA,EAAQH,aAAsCI,IAAnBD,EAAQH,OAAsB,CAC3Db,QAAQC,MAAM,yCACd,OAEF,GAAsB,OAAlBe,EAAQrF,YAAoCsF,IAAlBD,EAAQrF,MAAqB,CACzDqE,QAAQC,MAAM,wCACd,OAEF,IAAK5B,EAAM5E,eAAeuH,EAAQH,QAAS,CACzCb,QAAQC,MAAR,mBACce,EAAQH,OADtB,yDAGA,OAIF,IAAMO,EAAY1B,MAAMC,QAAQqB,EAAQrF,OACpCqF,EAAQrF,MACR,CAACqF,EAAQrF,OAGb,GAA4B,WAAxB,eAAOyF,EAAU,KAAmBJ,EAAQH,OAAOQ,SAAS,OAAQ,CACtErB,QAAQC,MACN,kIAIF,OAIF,GAAsB,OAAlBe,EAAQE,YAAoCD,IAAlBD,EAAQE,MAAqB,CAEzD,IAAMI,EAAYjD,EAAM2C,EAAQH,SAAW,GAC3C,GAAI,IAAER,SAASiB,KAAe,IAAE3B,QAAQ2B,GAAY,CAClDtB,QAAQC,MAAR,+CAC0Ce,EAAQrF,MADlD,eAC8DqF,EAAQH,OADtE,yDAGA,OAEF,OAAIC,IAAIzC,EAAO2C,EAAQH,OAAQ,IAAEU,KAAF,yBAAWH,GAAX,eAAyBE,UACnD,CAEL,IAAM,EAAYjD,EAAM2C,EAAQH,QAAQG,EAAQE,QAAU,GAC1D,OAAIJ,IACFzC,EAAM2C,EAAQH,QACdG,EAAQE,MACR,IAAEK,KAAF,yBAAWH,GAAX,eAAyB,QAK/BK,iBAvQqD,WAwQnDpD,EACA2C,GAGA,GAAuB,OAAnBA,EAAQH,aAAsCI,IAAnBD,EAAQH,OAAsB,CAC3Db,QAAQC,MAAM,0CACd,OAEF,GAAsB,OAAlBe,EAAQrF,YAAoCsF,IAAlBD,EAAQrF,MAAqB,CACzDqE,QAAQC,MAAM,yCACd,OAEF,IAAK5B,EAAM5E,eAAeuH,EAAQH,QAAS,CACzCb,QAAQC,MAAR,mBACce,EAAQH,OADtB,yDAGA,OAGF,GAAsB,OAAlBG,EAAQE,YAAoCD,IAAlBD,EAAQE,MAAqB,CACzD,IAAMI,EAAYjD,EAAM2C,EAAQH,SAAW,GACrCO,EAAY,IAAEM,OAAOJ,GAAW,SAACK,GAAD,OAAOA,GAAKX,EAAQrF,SAE1D,OAAImF,IAAIzC,EAAO2C,EAAQH,OAAQO,OAC1B,CAEL,IAAM,EAAY/C,EAAM2C,EAAQH,QAAQG,EAAQE,QAAU,GACpD,EAAY,IAAEQ,OAAO,GAAW,SAACC,GAAD,OAAOA,GAAKX,EAAQrF,SAEtD,IAAE0E,SAAS,KAAe,IAAEV,QAAQ,IACtCK,QAAQC,MAAR,+CAC0Ce,EAAQrF,MADlD,iBACgEqF,EAAQH,OADxE,YACkFG,EAAQE,MAD1F,+CAKF,OAAIJ,IAAIzC,EAAM2C,EAAQH,QAASG,EAAQE,MAAO,KAIlDU,YA/SqD,WA+SzCvD,EAAO2C,GAEjB,GAAuB,OAAnBA,EAAQH,aAAsCI,IAAnBD,EAAQH,OAAsB,CAC3Db,QAAQC,MAAM,qCACd,OAEF,IAAK5B,EAAM5E,eAAeuH,EAAQH,QAAS,CACzCb,QAAQC,MAAR,kBACae,EAAQH,OADrB,iFAGA,OAGF,IAAMgB,EAAU,IAAEC,UAAUd,EAAQlI,MAAM,SAACiJ,EAAQ9F,GACjD,OAAO1C,OAAOyI,OAAO,GAAID,EAAQ,CAC/B/E,GAAIf,OAGFgG,EAAS,IAAEC,QAAQL,EAASb,EAAQmB,UACpCC,EAAgB,IAAEN,UAAUG,GAAQ,SAACI,GACzC,OAAO,IAAExF,IAAIwF,EAAU,SAEzB,IAAEC,QAAQF,GAAe,SAACG,EAASrB,GACjC,OAAIJ,IAAIzC,EAAM2C,EAAQH,QAASK,EAAOqB,Q,qECvZ5C,OAAIC,IAAI,QAER,SAASC,IACP,IAAMC,EAAU,UAKVC,EAA2B,GACjCD,EAAQrF,OAAOiF,SAAQ,SAACrG,GACtB,IAAM2G,EAAU3G,EAAI4G,MAAM,uBAC1B,GAAID,GAAWA,EAAQtJ,OAAS,EAAG,CACjC,IAAMwJ,EAASF,EAAQ,GACvBD,EAASG,GAAUJ,EAAQzG,OAG/B,OAAO0G,EAGM,UAAI,OAAQ,CACzBG,OAAQ,kFAAYC,qBAAuB,KAC3CC,eAAgB,kFAAYC,8BAAgC,KAC5DN,SAAUF,MCnBNS,EAAW,kFAAYC,kBAAoB,WAW3C,SAAUC,EAAoBC,GAClCA,EAAMC,aAAaC,QAAQf,IAAIgB,GAE/BH,EAAMC,aAAaG,SAASjB,KAG1B,SAACiB,GACC,OAAOA,IAITC,GAWE,SAAUF,EACdG,GAEA,IAAMC,EAAQ,GAAMvF,MAAMwF,KAAKD,MAC/B,GAAIA,EAAO,CACTD,EAAOG,QAAUH,EAAOG,SAAW,GACnCH,EAAOG,QAAQC,cAAgB,UAAYH,EAE7C,OAAOD,EAQH,SAAUD,EAAsCzD,GACpD,GAAIA,EAAMwD,SAAU,CAElB,GAA8B,MAA1BxD,EAAMwD,SAASO,OAAgB,CACjC,IAAMC,EAAOhE,EAAMwD,SAIfQ,EAAKnL,MAAQmL,EAAKnL,KAAKoL,QAAUD,EAAKnL,KAAKoL,OAAO5K,OAAS,GAG7D,GAAM0F,OAAO,gBAAiBiB,GAQhC,GAAMhB,SAAS,eAIjB,GAA8B,MAA1BgB,EAAMwD,SAASO,OAAgB,CACjC,IAAM5G,EAAO,IAAE7B,IAAI0E,EAAO,+BAAgC,aACpDkE,EAAMC,EAAKxI,EAAEwB,GACfV,QAAUA,OAAO2H,UAAyC,WAA7B3H,OAAO2H,SAASC,UAC/C,GAAMrF,SAAS,gCAAiCkF,IAMtD,OAAOI,QAAQ7C,OAAOzB,GAMxB,IAAMuE,EAAM,EAAAC,EAAMzI,OAAO,CAAE0I,QAAS,GAAF,OAAKxB,KACvCE,EAAoBoB,GACL,QC5FTG,EAAgB,EAAAF,EAAMzI,OAAO,CACjC0I,QAAS,GAAF,OAAK,EAAIE,SAASF,QAAlB,wBAETtB,EAAoBuB,GACL,QCWT,GAAQ,CACZE,WAAY,IAGR,GAAU,CACdC,qBACE,WAACzG,GAAD,OACA,SAAC0G,EAAoBC,GAAiD,IAA/BX,EAA+B,uDAApB,GAC1CY,EAAe1L,OAAO2L,OAAO7G,EAAMwG,aACvC,GACF,OAAO,IAAEM,MAAMF,GACZG,QAAO,SAACX,GACP,OACEA,EAAEM,aAAeA,GACjBN,EAAEO,WAAaA,GACfP,EAAEJ,WAAaA,KAGlBgB,QAAO,SAACZ,GAAD,OAAOA,EAAEa,cAChB3J,WAIH,GAAY,OAAH,UACVwE,GAGC,GAAU,CACRoF,iBADQ,cAG8D,IADxEvG,EACwE,EADxEA,OACFgC,EAA0E,uDAAhE,G,mLAEO,OAAM,EAAczF,IAAd,uBACLyF,EAAQ+D,WADH,YACiB/D,EAAQgE,SADzB,qBAC8ChE,EAAQqD,W,OADvEZ,E,OAGA7D,EAAW6D,EAAS3K,KAAKA,KAC/BkG,EAAO,WAAYY,G,yBACZ2E,QAAQhH,W,6CAIbiI,GAAQ,CACZnG,WAAY,KACZhB,MAAA,GACAiB,QAAA,GACAd,UAAA,GACAM,QAAA,IAEa,M,iEC5CT,SAAgB2G,GAAeC,EAAIC,EAAMC,G,0KAG7CA,I,IAEIF,EAAGG,OAAO7I,G,iBACNA,EAAK8I,OAAOJ,EAAGG,OAAO7I,IACxB+I,EAAO,K,kBAIT,OAAM,GAAM9G,SAAS,kBAAmBjC,G,OACxC+I,EAAO,GAAMzG,QAAQ,oBAAoBtC,G,qDAErC,KAAEiB,QAAQ4E,MAAM,YAClB,GAAM5D,SACJ,gCADF,UAEK,KAAE/D,KAFP,cAEiB,KAAE+C,QAFnB,6BAE+CjB,I,aAM/C+I,GAAQA,EAAKC,W,qCAEb,OAAM,GAAM/G,SAAS,qBAAsB8G,EAAKC,W,8DAEhDhG,QAAQC,MAAR,MACI,KAAEhC,QAAQ4E,MAAM,YAClB,GAAM5D,SAAN,0CAEK,KAAE/D,KAFP,cAEiB,KAAE+C,QAFnB,gCAEkD8H,EAAKC,Y,kEAiB3D,SAAgBC,GAAkBP,EAAIC,EAAMC,G,0KAGhDA,IAGM5I,EAAK8I,OAAOJ,EAAGG,OAAO7I,I,kBAK1B,OAAMuH,QAAQ2B,IAAI,CAChB,GAAMjH,SAAS,uBAAwBjC,GACvC,GAAMiC,SAAS,mCAAoCjC,K,0DAGrDgD,QAAQC,MAAR,M,QAIIkG,EAAU,GAAM7G,QAAQ,yBAAyBtC,GAClDmJ,GACH,GAAMlH,SAAS,gCAAf,6BAAsEjC,I,KAGpEmJ,GAAWA,EAAQC,S,2BACrB,OAAM,GAAMnH,SAAS,8BAA+BkH,EAAQC,S,yDAa1D,SAAgBC,GAAmBX,EAAIC,EAAMC,G,0KAGjDA,IAGM5I,EAAK8I,OAAOJ,EAAGG,OAAO7I,I,kBAI1B,OAAM,GAAMiC,SAAS,yBAA0BjC,G,OACzCsJ,EAAW,GAAMhH,QAAQ,2BAA2BtC,G,GACrDsJ,E,gBACH,GAAMrH,SACJ,gCADF,8BAEyBjC,I,sCAMvBsJ,GAAYA,EAASN,W,qCAErB,OAAM,GAAM/G,SAAS,qBAAsBqH,EAASN,W,8DAEhD,KAAE/H,QAAQ4E,MAAM,YAClB,GAAM5D,SAAN,0CAEK,KAAE/D,KAFP,cAEiB,KAAE+C,QAFnB,iDAEmEqI,EAASN,Y,6DAM9E,KAAE/H,QAAQ4E,MAAM,YAClB,GAAM5D,SAAN,0CAEK,KAAE/D,KAFP,cAEiB,KAAE+C,QAFnB,kCAEoDjB,I,kECnJ1D,IAAI,GAAS,WAAa,IAAIuJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACA,EAAG,eAAe,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,eAAeL,EAAG,cAAc,CAACA,EAAG,OAAO,CAACM,IAAI,OAAOC,GAAG,CAAC,OAAS,SAASC,GAAQA,EAAOC,iBAAiB,OAAOb,EAAIc,aAAapN,MAAM,KAAMqN,cAAc,CAACX,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACM,IAAI,WAAWJ,MAAM,CAAC,eAAe,SAAS,KAAO,WAAW,MAAQN,EAAIS,GAAG,aAAaO,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAImB,SAAyB,kBAARD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,eAAe,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,eAAe,OAAO,KAAO,WAAW,KAAO,WAAW,MAAQN,EAAIS,GAAG,aAAaO,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAIsB,SAASJ,GAAKG,WAAW,eAAe,GAAGjB,EAAG,QAAQ,CAACmB,YAAY,0BAA0BjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAUN,EAAIwB,aAAa,KAAO,SAAS,MAAQ,WAAW,CAACxB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,UAAU,QAAQ,IAAI,IAAI,KAAKL,EAAG,mBAAmB,IAAI,IAAI,GAAGA,EAAG,QAAQ,CAACmB,YAAY,eAAejB,MAAM,CAAC,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,kBAAkBjB,MAAM,CAAC,MAAQ,MAAM,QAAU,GAAG,IAAM,kBAAkBF,EAAG,MAAM,CAACmB,YAAY,kBAAkBjB,MAAM,CAAC,MAAQ,MAAM,QAAU,GAAG,IAAM,qBAAqBF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,sQAAsQH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,0NAA0N,IAAI,IAAI,IAAI,IAC9qEkB,GAAkB,GCkFP,UAAIC,OAAO,CACxBC,QADwB,aAErB1B,KAAK2B,MAAMT,SAAyBU,SAEvCtP,KAJwB,aAKtB,MAAO,CACL4O,SAAU,GACVG,SAAU,GACVE,aAAc,QAGlBM,SAAU,OAAF,UACH,eAAS,OAAQ,CAAC,WAEvBC,MAAO,CACL,cADK,WACSC,GACX/B,KAAK2B,MAAMT,SAAyBU,UAGzCI,QAAS,OAAF,wBACF,eAAW,OAAQ,CAAC,WAAS,CAC1BnB,aAD0B,a,wKAExBoB,EAAQ,CACZf,SAAUlB,KAAKkB,SACfG,SAAUrB,KAAKqB,UAEjBrB,KAAKuB,aAAe,K,SACpB,OAAMvB,KAAKkC,MAAMD,G,OACjBjC,KAAKuB,aAAe,M,qDC/GmY,M,6ICOzZ,GAAY,gBACd,GACA,GACAC,GACA,MACA,KACA,KACA,MAMoB,oBAAX,eAAuB,sBAAO,IAE1B,UAAiB,QAahC,KAAkB,GAAW,CAACW,QAAA,KAAKC,SAAA,KAAMC,aAAA,QAAaC,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKC,cAAA,KAAWC,QAAA,KAAKC,cAAA,OCnChG,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACmB,YAAY,QAAQjB,MAAM,CAAC,QAAU,WAAW,CAAEN,EAAW,QAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,OAAOL,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,OAAO,GAAGN,EAAI6C,KAAO7C,EAAI8C,SAAY9C,EAAI+C,eAA4H/C,EAAI6C,KAAhHzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,2DAAoE,IAAI,IAChiB,GAAkB,GC0BP,UAAImB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLuQ,QAAS,OAIbhB,SAAU,OAAF,sCACH,eAAS,OAAQ,CAAC,UAClB,eAAW,OAAQ,CACpB,uBACA,kBACA,qBACA,mBACA,CAEFkB,MAFE,aAGA,OAAO/C,KAAKgD,KAAKD,OAGnBD,eANE,aAOA,GAAI9C,KAAKiD,wBACP,OAAOjD,KAAKiD,wBACP,GAAIjD,KAAKkD,4BACd,OAAOlD,KAAKkD,4BACP,GAAIlD,KAAKmD,oBACd,OAAOnD,KAAKmD,oBACP,GAAInD,KAAKoD,uBACd,OAAOpD,KAAKoD,uBACP,GAAIpD,KAAKqD,cACd,OAAOrD,KAAKqD,cAEd,OAAO,OAYTJ,wBA9BE,aA+BA,IAAKjD,KAAKsD,cAAc,uBACtB,OAAO,MAET,IAAMC,EAAavD,KAAKwD,qBACxB,GAAID,EAAWzQ,OAAS,EAEtB,OAAO,MAET,IAAM2Q,EAAQ,CAAE/O,KAAM,qBAAsB2K,OAAQ,GAAIqE,MAAO,IAC3D,IAAE7I,SAAS0I,EAAY,KACzBE,EAAMC,MAAQ,CAAEC,aAAc,YAE9BF,EAAMC,MAAQ,CAAEC,aAAcJ,EAAW,IAE3C,OAAOE,GAYTP,4BAzDE,aA0DA,IAAKlD,KAAKsD,cAAc,2BACtB,OAAO,MAET,IAAMC,EAAavD,KAAKwD,qBACxB,GAAID,EAAWzQ,OAAS,EAEtB,OAAO,MAGT,IAAM2Q,EAAQ,CAAE/O,KAAM,yBAA0B2K,OAAQ,GAAIqE,MAAO,IAC/D,IAAE7I,SAAS0I,EAAY,KACzBE,EAAMC,MAAQ,GAEdD,EAAMC,MAAQ,CAAEE,iBAAkBL,EAAW,IAE/C,OAAOE,GAYTN,oBArFE,aAsFA,IAAKnD,KAAKsD,cAAc,mBACtB,OAAO,MAGT,IAAMC,EAAavD,KAAK6D,gBACxB,GAAIN,EAAWzQ,OAAS,EAEtB,OAAO,MAGT,IAAM2Q,EAAQ,CAAE/O,KAAM,iBAAkB2K,OAAQ,GAAIqE,MAAO,IACvD,IAAE7I,SAAS0I,EAAY,KACzBE,EAAMC,MAAQ,GAEdD,EAAMC,MAAQ,CAAEI,QAASP,EAAW,IAEtC,OAAOE,GAYTL,uBAlHE,aAmHA,IAAKpD,KAAKsD,cAAc,oBACtB,OAAO,MAGT,IAAMC,EAAavD,KAAK+D,mBAExB,GAAIR,EAAWzQ,OAAS,EAEtB,OAAO,MAGT,IAAM2Q,EAAQ,CAAE/O,KAAM,oBAAqBgP,MAAO,IAC9C,IAAE7I,SAAS0I,EAAY,KACzBE,EAAMC,MAAQ,GAEdD,EAAMC,MAAQ,CAAEM,WAAYT,EAAW,IAEzC,OAAOE,GAOTJ,cA3IE,aA4IA,GACErD,KAAKsD,cAAc,qBACnBtD,KAAKsD,cAAc,uBACnBtD,KAAKsD,cAAc,oBACnBtD,KAAKsD,cAAc,4BACnBtD,KAAKsD,cAAc,uBAEnB,OAAO,MAET,IAAMG,EAAQ,CAAE/O,KAAM,WAAYgP,MAAO,IACzC,OAAOD,KAIX3B,MAAO,CACLkB,KAAM,CACJiB,UAAW,KACXC,QAFI,WAEIC,GACFA,GAAWA,EAAQ3N,KACjBwJ,KAAK8C,eACP9C,KAAKoE,QAAQhR,KAAK4M,KAAK8C,gBAEvBtJ,QAAQ6K,IAAI,uBC3M4X,M,aCOhZ,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAC7B,QAAA,KAAKC,cAAA,KAAW6B,mBAAA,KAAgB5B,QAAA,OC1B9D,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACoE,YAAY,CAAC,OAAS,SAAS,CAACpE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,SAAS,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,GAAG,KAAO,KAAK,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,cAAc,OAAOL,EAAG,aAAa,GAAGA,EAAG,cAAc,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAkB,CAAEgE,IAAKzE,EAAIyE,OAAQ,OAAOrE,EAAG,aAAaA,EAAG,iBAAiB,CAACA,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI0E,UAAU,CAAC1E,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiBL,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAUK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI2E,UAAU,CAAC3E,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,IAAI,IAAI,IAAI,IAAI,IACxyB,GAAkB,GC4BP,UAAIiB,OAAO,CACxBI,SAAU,CACR2C,IADQ,aAEN,OAAOxE,KAAK2E,OAAOC,WAGvB5C,QAAS,CACPyC,KADO,aAELI,QAAQJ,QAEVC,KAJO,aAKL1E,KAAKoE,QAAQhR,KAAK,CAAEsB,KAAM,aCxC8W,M,oDCO1Y,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAehC,KAAkB,GAAW,CAACyN,QAAA,KAAKC,SAAA,KAAMC,aAAA,QAAaC,UAAA,QAAUE,QAAA,KAAKC,cAAA,KAAWqC,YAAA,KAASpC,QAAA,KAAKqC,WAAA,KAAQC,YAAA,KAASC,cAAA,UCjC/G,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACE,MAAM,CAAC,cAAc,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,SAAS,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACmB,YAAY,4BAA4BjB,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,QAAQ,IAAI,IAClV,GAAkB,GCAlB0E,GAAS,GAKT,GAAY,gBACdA,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC1C,QAAA,KAAKC,cAAA,KAAWC,QAAA,OCxB9C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAQ,KAAEI,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACmB,YAAY,SAAS,CAACnB,EAAG,QAAQ,CAACmB,YAAY,yCAAyCjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,YAAY,IAAIT,EAAIQ,GAAGR,EAAIiD,KAAKmC,UAAU,OAAOhF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,cAAc,GAAGA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,sBAAsB,CAACE,MAAM,CAAC,OAAS,OAAO,GAAGF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,OAAS,OAAO,GAAGF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,OAAS,OAAO,GAAGF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,OAAS,OAAO,GAAGF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,2BAA2B,CAACE,MAAM,CAAC,OAAS,OAAO,IAAI,IAAI,GAAGN,EAAI6C,MACzyB,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OACrFF,EAAIuD,cAAc,uBAClBvD,EAAIuD,cAAc,uBAClBvD,EAAIuD,cAAc,mBAClBvD,EAAIuD,cAAc,wBAClBvD,EAAIuD,cAAc,2BAClBnD,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIqF,QAAQC,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,oBAAoB,CAACA,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,QAAQ,KAAKgF,MAAM,OAAO,KAAK,MAAM,aAAa,CAACzF,EAAI0F,GAAI1F,EAA4B,0BAAE,SAAS2F,EAAIhL,GAAO,OAAOyF,EAAG,cAAc,CAAC1K,IAAIiF,EAAM2F,MAAM,CAAC,GAAKqF,EAAI,MAAQ,KAAK,CAACvF,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,cAAc,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACmB,YAAY,aAAa,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,KAAKL,EAAG,MAAM,CAACmB,YAAY,+BAA+B,CAAEoE,EAAIhC,MAAMC,aAAe,EAAGxD,EAAG,iBAAiB,CAACE,MAAM,CAAC,GAAKqF,EAAIhC,MAAMC,gBAAgBxD,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAK,MAAM,MAAM,IAAI,MAAMN,EAAIuD,cAAc,sBAAuBnD,EAAG,uBAAuB,CAACkF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAC/4B,IAAIC,EAAKD,EAAIC,GACf,MAAO,CAACP,EAAG,cAAcJ,EAAI4F,GAAG,GAAGjF,GAAI,CAACP,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,cAAc,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,QAAQ,IAAI,OAAO,KAAK,MAAM,cAAcT,EAAI6C,KAAM7C,EAAIuD,cAAc,sBAAuBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,uBAAwB,CAACyL,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,gBAAgB,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,kBAAmBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,iBAAkB,CAACyL,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,gBAAgB,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,2BAA4BnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,qBAAsB,CAACyL,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,cAAc,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,QAAQ,IAAI,GAAGT,EAAI6C,MAAM,GAAG7C,EAAI6C,MAChrC,GAAkB,GCTlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,WAAa,GAAG,IAAM,GAAG,MAAQN,EAAIS,GAAG,yBAAyBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,YAAY,KAAK,KAAKD,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,SAAW,IAAIU,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAIiG,cAAc/E,GAAKG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAM,SAAWiM,WAAW,aAAaf,MAAM,CAAC,MAAQN,EAAIS,GAAG,+BAA+B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIoG,gBAAgBlF,GAAKG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIqG,WAAWnF,GAAKG,WAAW,iBAAiB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIsG,WAAWpF,GAAKG,WAAW,iBAAiB,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIuG,YAA4B,kBAARrF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,kBAAkB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIwG,QAAQtF,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wCAAwCO,MAAM,CAAC5L,MAAO4K,EAA2B,wBAAEiB,SAAS,SAAUC,GAAMlB,EAAIyG,wBAAwBvF,GAAKG,WAAW,8BAA8B,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQ,CAAC,SAAUlF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,oBAAoB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI4D,aAAa1C,GAAKG,WAAW,mBAAmB,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAI0G,WAAWxF,GAAKG,WAAW,iBAAiB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,SAAW,GAAG,wBAAwB,GAAG,MAAQ,GAAG,MAAQ,CAAC,SAAUrF,GAAK,OAAOA,EAAErI,OAAS,GAAKiN,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAI2G,SAASzF,GAAKG,WAAW,eAAe,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4BO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAI4G,YAA4B,kBAAR1F,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,kBAAkB,IAAI,GAAGjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,eAAe,GAAG,MAAQN,EAAIS,GAAG,8BAA8BO,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAI6G,cAAc3F,GAAKG,WAAW,oBAAoB,GAAIrB,EAAiB,cAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,gBAAgB,CAACY,MAAM,CAAC5L,MAAO4K,EAA0B,uBAAEiB,SAAS,SAAUC,GAAMlB,EAAI8G,uBAAuB5F,GAAKG,WAAW,6BAA6B,GAAGrB,EAAI6C,KAAO7C,EAAI6G,cAAsU7G,EAAI6C,KAA3TzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yCAAyCO,MAAM,CAAC5L,MAAO4K,EAA4B,yBAAEiB,SAAS,SAAUC,GAAMlB,EAAI+G,yBAAyC,kBAAR7F,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,+BAA+B,IAAa,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACY,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAIgH,UAAU9F,GAAKG,WAAW,gBAAgB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,wBAAwB,CAACY,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAIiH,kBAAkB/F,GAAKG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,kBAAkB,IAAI,IAAI,IACv4J,GAAkB,G,kDCGhB4G,GAAmB,EAAAhJ,EAAMzI,OAAO,CACpC0I,QAAS,GAAF,OAAK,EAAIE,SAASF,QAAlB,2BAETtB,EAAoBqK,IACL,UCRX,GAAS,WAAa,IAAIlH,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,kBAAkB,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAIoH,aAAa,eAAepH,EAAIqH,OAAO,MAAQrH,EAAIsH,MAAM,SAAWtH,EAAIuH,SAAS,UAAYvH,EAAIwH,UAAU,SAAWxH,EAAIyH,SAAS,SAAWzH,EAAI0H,SAAS,cAAc1H,EAAI2H,WAAW,eAAe3H,EAAI4H,YAAY,MAAQ5H,EAAI6H,MAAM,WAAa7H,EAAI6H,MAAM,kBAAkB7H,EAAI8H,gBAAgBnH,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,IAAS,OAAS,SAASA,GAAQZ,EAAIqH,OAAS,IAAI,qBAAqB,SAASzG,GAAQZ,EAAIqH,OAAOzG,GAAQ,sBAAsB,SAASA,GAAQZ,EAAIqH,OAAOzG,OAChsB,GAAkB,G,aC6BP,UAAIc,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAO,CAAC+D,MAAOoG,QACfgI,SAAUW,QACVV,UAAWU,QACXT,SAAUS,QACVR,SAAUQ,QACVN,YAAaM,QACbP,WAAYO,QACZL,MAAOK,QACPJ,eAAgBI,QAChBZ,MAAOnO,MACPgP,qBAAsBD,SAExB3V,KAfwB,aAgBtB,MAAO,CACL8U,OAAQ,KAGZe,QApBwB,aAqBtBnI,KAAKoI,aAEPvG,SAAU,OAAF,kEACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,oBACxB,eAAW,QAAS,CAAC,YAAa,iBAClC,eAAW,SAAU,CAAC,kBAAgB,CACzCsF,aADyC,aAC7B,WACNkB,EAAUrI,KAAKsI,WAAa,GAC5BtI,KAAKkI,uBACPG,EAAS,IAAEnN,OAAOmN,EAAQrI,KAAKuI,kBAEjC,IAAMC,EAAkB,SAAlBA,EAAmBhU,GACvB,MAAO,CAAEiU,MAAOjU,EAAEkU,MAAM,EAAKpM,SAAW,IAAI6E,OAAQhM,MAAOX,EAAEgC,KAE/D,OAAO,IAAEmI,MAAM0J,GAAQhS,IAAImS,GAAiB3J,OAAO,QAAQ1J,WAG/D6M,QAAS,CAIDoG,UAJC,a,2KAQL,OAAMrK,QAAQ2B,IAAI,CAChBM,KAAK2I,OAAOlQ,SAAS,oBAAqB,OAC1CuH,KAAK2I,OAAOlQ,SAAS,sBAAuB,S,iDAQhD8P,gBAlBO,WAkBSK,GACd,GAAIA,EAAML,gBACR,OAAO,KAET,IAAMM,EAAiB7I,KAAK8I,aAAaF,EAAMG,UAC/C,GAAIF,GAAUA,EAAON,gBACnB,OAAO,KAET,OAAO,UC/FwZ,M,aCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACS,iBAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIjJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,UAAU,MAAQ,GAAG,mBAAmB,MAAMgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,mBAAmB,CAACO,GAAG,CAAC,KAAO,SAASC,GAAQ,OAAOZ,EAAIkJ,wBAAwBtI,SAAc6E,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,GAAGL,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAImJ,SAAS,QAAUnJ,EAAIzC,QAAQ,sBAAsB,GAAG,MAAQ,IAAI+H,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAChmB,IAAI0I,EAAO1I,EAAI0I,KACXzO,EAAQ+F,EAAI/F,MAChB,MAAO,CAACyF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKzU,SAASyL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKC,YAAYjJ,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKE,eAAelJ,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKG,oBAAoBnJ,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIwJ,qBAAqB7O,MAAU,CAACyF,EAAG,SAAS,CAACJ,EAAIO,GAAG,sBAAsB,IAAI,aAAa,IAAI,IACnW,GAAkB,G,aCJlB,GAAS,WAAa,IAAIP,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,oBAAoB,cAAgBT,EAAIyJ,iBAAiB,WAAa,SAAS9I,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,wBAAwB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAoB,iBAAEiB,SAAS,SAAUC,GAAMlB,EAAIyJ,iBAAiBvI,GAAKG,WAAW,uBAAuB,IAAI,IAAI,IACxpB,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,eAAe,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,oBAAoB,MAAQT,EAAI0J,mBAAmB,SAAW,GAAG,cAAc,kBAAkB,MAAQ1J,EAAIsH,MAAM,SAAWtH,EAAIyH,SAAS,QAAUzH,EAAI2J,QAAQ,UAAY3J,EAAIwH,WAAW7G,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIrI,OAAS,MAAM,cAAcqI,EAAI4J,kBAAkBxJ,EAAG,WAAW,CAACE,MAAM,CAAC,YAAY,QAAQ,WAAa,IAAIU,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,kBAAkB,CAACM,IAAI,kBAAkBJ,MAAM,CAAC,WAAa,GAAG,SAAWN,EAAIuH,UAAU5G,GAAG,CAAC,SAAW,SAASC,GAAQ,OAAOZ,EAAI6J,cAAcjJ,KAAU0E,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAIuH,UAAYvH,EAAI8J,WAAW/W,OAAQ,CAAC2C,IAAI,SAAS8P,GAAG,WAAW,MAAO,CAACpF,EAAG,MAAM,CAACmB,YAAY,QAAQvB,EAAI0F,GAAI1F,EAAc,YAAE,SAAS+J,EAAUpP,GAAO,OAAOyF,EAAG,SAAS,CAAC1K,IAAIiF,EAAM4G,YAAY,OAAOjB,MAAM,CAAC,MAAQ,IAAIK,GAAG,CAAC,cAAc,SAASC,GAAQ,OAAOZ,EAAIgK,uBAAuBrP,MAAU,CAACqF,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIiK,YAAYF,IAAY,UAAS,KAAKtE,MAAM,MAAM,KAAK,CAAC/P,IAAI,UAAU8P,GAAG,WAAW,MAAO,CAACpF,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,MAAQ,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIrI,OAAS,SAAS,CAACqI,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,OAAQT,EAAY,SAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,UAAUK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIrI,OAAS,SAAS,CAACqI,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,eAAe,OAAOT,EAAI6C,OAAO4C,MAAM,OAAO,KAAK,SAAS,IAAI,IACrjD,GAAkB,G,aCDlB,GAAS,WAAa,IAAIzF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACO,GAAG,CAAC,OAAS,SAASC,GAAQA,EAAOC,iBAAiB,OAAOb,EAAIqI,UAAU3U,MAAM,KAAMqN,cAAc,CAACX,EAAG,SAAS,CAACE,MAAM,CAAC,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,YAAY,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,GAAG,MAAQ,UAAU,mBAAmBN,EAAIkK,MAAQ,OAAS,QAAQ5E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAe,YAAEI,EAAG,mBAAmB,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAImK,kBAAkBvJ,OAAYZ,EAAI6C,KAAKzC,EAAG,YAAYA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIoK,eAAelJ,GAAKG,WAAW,sBAAsBoE,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsBL,EAAG,YAAcJ,EAAIoK,eAAoTpK,EAAI6C,KAAxSzC,EAAG,eAAe,CAACM,IAAI,QAAQJ,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,GAAG,cAAc,SAAS,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAU,EAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,IAAqB,kBAARnJ,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,iBAA0B,GAAGrB,EAAIgG,GAAG,UAAU5F,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAUsG,EAAkB,eAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAa,KAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,OAAQnJ,IAAMG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAgB,QAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,UAAWnJ,IAAMG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAc,MAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,QAASnJ,IAAMG,WAAW,qBAAqB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,kBAAkB,kBAAkB,GAAG,UAAY,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAgB,KAAOT,EAAIS,GAAG,iBAAmB,KAAKO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAe,OAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,SAAUnJ,IAAMG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAgB,KAAOT,EAAIS,GAAG,iBAAmB,KAAKO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAe,OAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,SAAUnJ,IAAMG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQ,wBAAwB,aAAa,MAAM,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA8B,sBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,wBAAyBnJ,IAAMG,WAAW,qCAAqC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA6B,qBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,uBAAwBnJ,IAAMG,WAAW,oCAAoC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,gBAAgBT,EAAIS,GAAG,QAAQO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAgB,QAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,UAAWnJ,IAAMG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,OAAS,KAAK,KAAO,SAAS,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,OAAS,KAAK,KAAO,SAAS,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,OAAS,KAAK,KAAO,SAAS,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,OAAS,KAAK,KAAO,SAAS,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,MAAQ,qBAAqB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAoB,YAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,cAAenJ,IAAMG,WAAW,2BAA2B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQ,oBAAoB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,aAAa,OAAOU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAkB,UAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,YAAanJ,IAAMG,WAAW,yBAAyB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ,oBAAoB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAyB,iBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,mBAAoBnJ,IAAMG,WAAW,gCAAgC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ,oBAAoB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAyB,iBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,mBAAoBnJ,IAAMG,WAAW,gCAAgC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,MAAQ,0BAA0B,SAAW,GAAG,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAyB,iBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,mBAAoBnJ,IAAMG,WAAW,gCAAgC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ,0BAA0B,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAyB,iBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,mBAAoBnJ,IAAMG,WAAW,gCAAgC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,gBAAgBT,EAAIS,GAAG,QAAQO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAgB,QAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,UAAWnJ,IAAMG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,gBAAgBT,EAAIS,GAAG,QAAQO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,gBAAgBT,EAAIS,GAAG,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAIrB,EAAIqK,SAAmB,WAAEjK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ,wBAAwB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAuB,eAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,iBAAkBnJ,IAAMG,WAAW,8BAA8B,GAAGrB,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAKN,EAAIuK,YAAY,CAACnK,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,SAAW,GAAG,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,uBAAwBrB,EAAIqK,SAAS1D,SAAe,OAAEvG,EAAG,MAAM,CAACA,EAAG,gBAAgB,CAACmB,YAAY,YAAYjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,2BAA2B,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,SAASL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,SAAS,IAAI,GAAGT,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAKN,EAAIuK,YAAY,CAACnK,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQ,mBAAmB,aAAa,MAAM,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAIrB,EAAyB,sBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAON,EAAIuK,YAAY,CAACnK,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mCAAmC,MAAQ,+BAA+B,aAAa,UAAU,SAAW,GAAG,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA6B,qBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,uBAAwBnJ,IAAMG,WAAW,oCAAoC,GAAGrB,EAAI6C,MAAM,IAAI,GAAG7C,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUN,EAAIzC,QAAQ,MAAQyC,EAAIwK,SAAS,QAAUxK,EAAI2J,QAAQ,eAAe,GAAG,KAAO3J,EAAIyK,KAAKC,OAAO,iBAAiB1K,EAAIyK,KAAKE,KAAK,sBAAsB3K,EAAIyK,KAAKG,YAAY,eAAe,CACt2V,yBAA0B,CAAC,GAAI,GAAI,GAAI,GAAI,MAC3C,eAAe5K,EAAIS,GAAG,gBAAgB,MAAQ,IAAIE,GAAG,CAAC,cAAc,SAASC,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,SAAU7J,IAAS,sBAAsB,SAASA,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,OAAQ7J,IAAS,wBAAwB,SAASA,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,OAAQ7J,KAAU0E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACvV,IAAI0I,EAAO1I,EAAI0I,KAC3B,MAAO,CAAChJ,EAAG,KAAK,CAACyK,MAAM,CAAEC,WAAY9K,EAAI8K,YAAanK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+K,cAAc3B,EAAK3S,OAAO,CAAC2J,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,cAAe2K,OAAQ,CAAE7I,GAAI2S,EAAK3S,OAAS,CAACuJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKzU,MAAM,QAAQ,GAAGyL,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,cAAe2K,OAAQ,CAAE7I,GAAI2S,EAAK3S,OAAS,CAACuJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKC,SAAS,QAAQ,GAAGjJ,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKE,eAAelJ,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKG,oBAAoBnJ,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAK4B,QAAQC,KAAK,UAAU7K,EAAG,KAAK,CAACA,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK8I,EAAK8B,0BAA0B,GAAG9K,EAAG,KAAK,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,UAAY8I,EAAK+B,UAAU,cAAgB/B,EAAKgC,2BAA2B,GAAGhL,EAAG,KAAK,CAACA,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAClvB,KAAQ2I,EAAO,GAAI,KAAQA,EAAS,KAAI,IAAOA,EAAY,QAAE,YAAY,SAAS,CAAChJ,EAAG,QAAQ,CAACmB,YAAY,QAAQ,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,GAAG,KAAO,GAAG,MAAQ,GAAG,cAAcuJ,EAAI8K,eAAe,GAAG1K,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,UAAY8I,EAAK3S,GAAG,KAAO,GAAG,MAAQ,GAAG,cAAcuJ,EAAI8K,eAAe,IAAI,IAAI,IAAI,aAAa,GAAI9K,EAAIuD,cAAc,uBAAwBnD,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,SAAS,KAAO,gDAAkDN,EAAIqL,cAAc,CAACjL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,mBAAmBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,MAAM,IAAI,GAAGT,EAAI6C,MAAM,GAAG7C,EAAIgG,GAAG,WAAW,GAAIhG,EAAIsL,OAAc,QAAElL,EAAG,aAAaJ,EAAI6C,KAAM7C,EAAIsL,OAAc,QAAElL,EAAG,iBAAiB,CAACJ,EAAIgG,GAAG,YAAY,GAAGhG,EAAI6C,MAAM,IAAI,IACt7B,GAAkB,GCFhB0I,GAAa,EAAArN,EAAMzI,OAAO,CAC9B0I,QAAS,GAAF,OAAK,EAAIE,SAASF,QAAlB,qBAETtB,EAAoB0O,IACL,U,wCCiCT,SAAUC,GACdnB,EACAoB,GAEA,IAAM3U,EAAO4U,GAAsBrB,GAC7BsB,EAAkB,GAClBC,EAAe,IAAEhN,MAAM9H,GAI1B+U,OAGAvV,KAAI,SAACZ,GAEJ,IAAMiJ,EAAS,IAAEC,MAAM,CAACyL,EAAS3U,KAG9BoW,UAEAxV,IAAI,IAAEyV,UACNzV,IAAI0V,oBACJ5W,QACH,OAAO,IAAEkB,IAAIqI,GAAQ,SAACsN,GAAD,gBAAYvW,EAAZ,YAAmBuW,MAAOhB,KAAK,QAErD9P,OAAO,IAAE+Q,SACT9W,QACA6V,KAAK,KACa,KAAjBW,GACFD,EAAMtY,KAAKuY,GAEb,GAAIH,EAAI,CACNE,EAAMtY,KAAN,uBAA2BoY,EAAGf,SAC9BiB,EAAMtY,KAAN,qBAAyBoY,EAAGd,OAE9B,OAAOgB,EAAMV,KAAK,KAWd,SAAUkB,GACdzI,EACA2G,EACAoB,GAKA,IAFA,IAAMW,EAAS,kBACTtV,EAAO9D,OAAO8D,KAAK4M,EAAMC,OAC/B,MAAkB7M,EAAlB,eAAwB,CAAnB,IAAMpB,EAAG,KACNuW,EAAWvI,EAAMC,MAAMjO,GAEvB4G,EAAQ8P,EAAOC,KAAK3W,GAC1B,GAAa,MAAT4G,EAAe,CACbmP,GACF,OAAIlR,IAAIkR,EAAInP,EAAM,GAAI3C,SAASsS,EAAK,KAEtC,SAGF,GAAI9S,MAAMC,QAAQiR,EAAS3U,IAAO,CAChC,IAAM4W,EAAM,GACZ,GAAInT,MAAMC,QAAQ6S,GAAM,uBACFA,GADE,MACtB,IAAK,EAAL,qBAAyB,KAAdM,EAAc,QACvBD,EAAIjZ,KAAKmZ,GAAcD,KAFH,oCAKtBD,EAAIjZ,KAAKmZ,GAAcP,IAEzB,OAAI1R,IAAI8P,EAAU3U,EAAK4W,QACd,IAAEG,SAASpC,EAAS3U,IAC7B,OAAI6E,IAAI8P,EAAU3U,EAAK8W,GAAcP,IAC5B9S,MAAMC,QAAQ6S,GACvB,OAAI1R,IAAI8P,EAAU3U,EAAK,IAAEsF,KAAKiR,IAElB,SAARA,GAA0B,OAARA,EACpB,OAAI1R,IAAI8P,EAAU3U,EAAK,MACN,UAARuW,GAA2B,QAARA,EAC5B,OAAI1R,IAAI8P,EAAU3U,EAAK,OACN,SAARuW,GAA0B,OAARA,QAAwBvR,IAARuR,EAC3C,OAAI1R,IAAI8P,EAAU3U,EAAK,MAEvB,OAAI6E,IAAI8P,EAAU3U,EAAKgX,mBAAmBT,KAa5C,SAAUP,GAAsBrB,GAGpC,IAFA,IAAMsC,EAA0B,GAC1BC,EAAU5Z,OAAO8D,KAAKuT,GAC5B,MAAkBuC,EAAlB,eAA2B,CAAtB,IAAMlX,EAAG,KACNuW,EAAM5B,EAAS3U,GAErB,GAAY,KAARuW,EACF,SAGF,GAAY,IAARA,EACF,SAGF,GAAY,OAARA,EACF,SAGF,QAAYvR,IAARuR,EACF,SAGF,GAAI,IAAE7S,QAAQ6S,IAAuB,IAAfA,EAAIlZ,OACxB,SAGF4Z,EAActZ,KAAKqC,GAGrB,OAAOiX,EAcH,SAAUE,GAAgBC,EAAiBC,GAC/C,OAAO,IAAEC,UACPF,GACA,SAAClZ,EAAgBwB,EAAYM,GACtB,IAAEuX,QAAQ7X,EAAO2X,EAAiBrX,MACrC9B,EAAO8B,GACL,IAAEoE,SAAS1E,IAAU,IAAE0E,SAASiT,EAAiBrX,IAC7CmX,GAAgBzX,EAAO2X,EAAiBrX,IACxCN,MAWR,SAAUoX,GAAcP,GAC5B,IAAIiB,EAAS,GAEXA,EADU,OAARjB,QAAwBvR,IAARuR,EACT,GAEAA,EAAIF,WAEf,GAAImB,EAAO5Q,MAAM,QACf,OAAO,IAAE6Q,SAASlB,GAEpB,OAAOiB,ECrNT,IAAI,GAAS,WAAa,IAAIlN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,WAAa,GAAG,IAAM,GAAG,MAAQN,EAAIS,GAAG,qBAAqBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,cAAc,CAACM,IAAI,cAAcJ,MAAM,CAAC,sBAAsB,IAAIU,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIJ,QAAQsB,GAAKG,WAAW,cAAc,IACpgB,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQT,EAAIJ,QAAQjL,KAAK,UAAYqL,EAAIoN,kBAAkB,MAAQpN,EAAIqN,WAAW1M,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIJ,QAAQyJ,QAAQ,UAAYrJ,EAAIoN,kBAAkB,MAAQpN,EAAIqN,WAAW1M,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,UAAW1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIJ,QAAQ0J,WAAW,UAAYtJ,EAAIoN,kBAAkB,MAAQpN,EAAIqN,WAAW1M,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAIJ,QAAQ2J,gBAAgB,UAAYvJ,EAAIoN,kBAAkB,MAAQpN,EAAIqN,WAAW1M,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,EAAQ,aAAa,IAAI,GAAKZ,EAAIoN,kBAAwXpN,EAAI6C,KAAzWzC,EAAG,QAAQ,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,CAACL,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAIJ,QAAQsL,0BAA0B,GAAG9K,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,sBAAsB,CAACL,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAIJ,QAAQ2N,yBAAyB,IAAI,GAAavN,EAAqB,kBAAEI,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIJ,QAAQsL,sBAAsB,UAAYlL,EAAIoN,mBAAmBzM,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,wBAAyB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,MAAQT,EAAIJ,QAAQ2N,qBAAqB,UAAYvN,EAAIoN,mBAAmBzM,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,uBAAwB1M,QAAa,IAAI,GAAGZ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQT,EAAIJ,QAAQ4N,SAAS,MAAQ,kBAAkB,kBAAkB,GAAG,MAAQ,CAAC,SAAUpS,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIJ,QAAQuL,UAAU,cAAgBnL,EAAIJ,QAAQwL,uBAAuB,SAAW,IAAIzK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,YAAa1M,IAAS,mBAAqB,SAASA,GAAQ,OAAOZ,EAAIsN,OAAO,yBAA0B1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQT,EAAIJ,QAAQ6N,WAAW,OAAS,KAAK,KAAO,UAAU9M,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQT,EAAIJ,QAAQ8N,WAAW,OAAS,KAAK,KAAO,UAAU/M,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,MAAQT,EAAIJ,QAAQ+N,YAAY,MAAQ,sBAAsBhN,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAIJ,QAAQgO,WAAW,MAAQ,qBAAqBjN,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,uBAAuB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOL,EAAG,2BAA2B,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,UAAU,SAAWN,EAAIJ,QAAQnJ,GAAG,SAAW,YAAY,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,uBAAuB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAOL,EAAG,2BAA2B,CAACM,IAAI,aAAaJ,MAAM,CAAC,WAAa,UAAU,SAAWN,EAAIJ,QAAQnJ,GAAG,SAAW,WAAW,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,uBAAuB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOL,EAAG,2BAA2B,CAACM,IAAI,kBAAkBJ,MAAM,CAAC,WAAa,UAAU,SAAWN,EAAIJ,QAAQnJ,GAAG,SAAW,gBAAgB,IAAI,IAAI,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAIJ,QAAQiO,cAAc,MAAQ,yBAAyBlN,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,gBAAiB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIJ,QAAQkO,WAAWnN,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,YAAa1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sCAAsC,MAAQ,0BAA0B,MAAQT,EAAIJ,QAAQmO,iBAAiB,SAAW,GAAG,MAAQ,IAAIpN,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,mBAAoB1M,QAAa,GAAIZ,EAAIJ,QAAQmO,iBAAuB,OAAE3N,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,MAAQ,8BAA8B,MAAQT,EAAIJ,QAAQoO,oBAAoB,kBAAkB,IAAIrN,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,sBAAuB1M,QAAa,GAAGZ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,MAAQ,8BAA8B,MAAQT,EAAIJ,QAAQqO,qBAAqB,SAAW,GAAG,MAAQ,IAAItN,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,uBAAwB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kCAAkC,MAAQ,2BAA2B,MAAQT,EAAIJ,QAAQsO,kBAAkB,SAAW,GAAG,MAAQ,IAAIvN,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,oBAAqB1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIJ,QAAQuO,WAAW,MAAQnO,EAAIS,GAAG,sBAAsBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIJ,QAAQwO,YAAY,MAAQpO,EAAIS,GAAG,uBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAIJ,QAAQyO,gBAAgB1N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,iBAAkB1M,EAAQ,aAAa,IAAI,GAAGR,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAIJ,QAAQ0O,aAAa3N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAIJ,QAAQ2O,cAAc5N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,eAAgB1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAIJ,QAAQ4O,gBAAgB,MAAQ,2BAA2B7N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,MAAQT,EAAIJ,QAAQ6O,iBAAiB,KAAO,UAAU9N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,mBAAoB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sCAAsC,MAAQ,kCAAkC,MAAQT,EAAIJ,QAAQ8O,sBAAsB,SAAW,GAAG,MAAQ,IAAI/N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,wBAAyB1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQT,EAAIJ,QAAQ+O,iBAAiB,MAAQ,oBAAoB,MAAQ,CAAC,SAAUvT,GAAK,YAAYV,GAALU,GAAkB4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,mBAAoB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQT,EAAIJ,QAAQgP,iBAAiB,MAAQ,oBAAoB,MAAQ,CAAC,SAAUxT,GAAK,YAAYV,GAALU,GAAkB4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,mBAAoB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAIJ,QAAQiP,iBAAiB,MAAQ,0BAA0B,kBAAkB,IAAIlO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,mBAAoB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,cAAcT,EAAIJ,QAAQkP,SAASnO,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,UAAW1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,cAAcT,EAAIJ,QAAQmP,UAAUpO,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIJ,QAAQoP,YAAYrO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQT,EAAIJ,QAAQqP,YAAYtO,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,QAAa,GAAIZ,EAAIJ,QAAkB,WAAEQ,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6B,MAAQT,EAAIJ,QAAQsP,eAAe,MAAQ,wBAAwB,MAAQ,CAAC,SAAU9T,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,iBAAkB1M,QAAa,GAAGZ,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAIJ,QAAQgH,aAAajG,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAIJ,QAAQuP,eAAexO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,gBAAiB1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAIJ,QAAQwP,UAAUzO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAIJ,QAAQoL,QAAQ,KAAO,KAAKrK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,UAAW1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,cAAcT,EAAIJ,QAAQyP,SAAS1O,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,YAAa1M,QAAa,IAAI,IAAI,IAChrX,GAAkB,G,0BCGhB0O,GAAe,EAAApR,EAAMzI,OAAO,CAChC0I,QAAS,GAAF,OAAK,EAAIE,SAASF,QAAlB,uBAETtB,EAAoByS,IACL,UCAFC,GAAgB,EAYhBC,GAAmB,CAC9BC,KAAM,EACNC,QAAS,EACTC,SAAU,EACVC,SAAU,EACVC,QAAS,GAGL,GAAQ,CACZC,kBAAmB,MACnBC,aAAc,GACdC,WAAY,GACZC,YAAa,GACbC,oBAAqB,GACrBC,mBAAoB,GACpBC,uBAAwB,GACxBC,UAAW,IAGP,GAAU,CACdC,eADc,WACCxY,GACb,OAAOA,EAAMiY,aAAazZ,KAAI,SAACG,GAAD,OAAQqB,EAAMuY,UAAU5Z,OAExD8Z,UAJc,WAIJzY,GACR,OAAOA,EAAMkY,WAAW1Z,KAAI,SAACG,GAAD,OAAQqB,EAAMuY,UAAU5Z,OAEtD+Z,UAPc,WAOJ1Y,GACR,OAAOA,EAAMmY,YAAY3Z,KAAI,SAACG,GAAD,OAAQqB,EAAMuY,UAAU5Z,OAEvDga,UACE,WAAC3Y,GAAD,OACA,SAAC4Y,GACC,OAAQ5Y,EAAMoY,oBAAoBQ,IAAe,IAAIpa,KACnD,SAACG,GAAD,OAAQqB,EAAMuY,UAAU5Z,QAG9Bka,SACE,WAAC7Y,GAAD,OACA,SAAC8Y,GACC,OAAQ9Y,EAAMqY,mBAAmBS,IAAe,IAAIta,KAClD,SAACG,GAAD,OAAQqB,EAAMuY,UAAU5Z,QAG9Boa,wBACE,WAAC/Y,EAAOiB,GAAR,OACA,SAAC+X,GACC,OAAO/X,EAAQuX,eAAezR,QAAO,SAACkS,GAAD,OAASA,EAAID,WAAaA,OAEnEE,gBACE,WAAClZ,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAMuY,UAAU5Z,IAAO,OAElCwa,YACE,WAACnZ,GAAD,OACA,SAACrB,GACC,IAAM6V,EAAM,GACR4E,EAASza,EACb,MAAOqB,EAAMuY,UAAUa,GAAS,CAC9B5E,EAAI6E,QAAQD,GACZA,EAASpZ,EAAMuY,UAAUa,GAAQJ,SAEnC,OAAOxE,IAGX8E,aACE,WAACtZ,EAAOiB,GAAR,OACA,SAACtC,GACC,IAAM4a,EAAyBtY,EAAQuY,mBAAmB7a,GADrC,kBAEH4a,GAFG,MAErB,IAAK,EAAL,qBAA6B,KAAlBN,EAAkB,QAC3B,GAAiB,aAAbA,EAAI9X,KACN,OAAO8X,EAAIla,MAJM,8BAOrB,MAAO,KAGX0a,aACE,WAACzZ,EAAOiB,GAAR,OACA,SAACtC,GACC,IAAM4a,EAAyBtY,EAAQuY,mBAAmB7a,GADrC,kBAEH4a,GAFG,MAErB,IAAK,EAAL,qBAA6B,KAAlBN,EAAkB,QAC3B,GAAiB,aAAbA,EAAI9X,KACN,OAAO8X,EAAIla,MAJM,8BAOrB,MAAO,KAGXya,mBACE,WAACxZ,EAAOiB,GAAR,OACA,SAACtC,GAEC,OAAOsC,EAAQkY,YAAYxa,GAAIH,KAAI,SAACG,GAAD,OAAQqB,EAAMuY,UAAU5Z,QAO/D+a,cACE,WAAC1Z,GAAD,OACA,SAACrB,GACC,IAAMsa,EAAMjZ,EAAMuY,UAAU5Z,GAC5B,GAAIsa,EACF,OAAOA,EAAIpc,KAAKkJ,EAAKtB,QAEvB,GAAI9F,EACF,MAAO,sBAAP,OAA6BA,GAE/B,MAAO,KAUXgb,kBACE,WAAC3Z,EAAOiB,GAAR,OACA,SAACtC,GAEC,IAAIib,EAAc3Y,EAAQuY,mBAAmB7a,GAI7Cib,EAAcA,EAAYC,UAI1B,GAAID,EAAY3e,OAAS,EAAG,CAC1B,IAAM6e,EAAgBF,EAAYA,EAAY3e,OAAS,GACnD6e,EAAcnb,KAAO8Y,IACvBmC,EAAYzd,QAAQ,EAAG,GAM3B,OAAOyd,EAAYpb,KAAI,SAACub,GAAD,OAAOA,EAAEld,KAAKkJ,EAAKtB,WAAS0O,KAAK,QAW5D6G,sBACE,WAACha,GAAD,OACA,WAEa,IADXia,EACW,uDADJ,GAEDC,EAASla,EAAMuY,UAAU0B,EAAKE,oBAAsB,KAC1D,IAAKD,EACH,MAAM,IAAIpb,MAAJ,2DACgDmb,EAAKE,kBADrD,iDAIR,IAAMC,EAAQpa,EAAMuY,UAAU0B,EAAKI,mBAAqB,KACxD,IAAKD,EACH,MAAM,IAAItb,MAAJ,0DAC+Cmb,EAAKI,iBADpD,iDAIR,OAAOD,EAAME,KAAKC,WAAWL,EAAOI,SAIpC,GAAY,OAAH,wBACVxY,GAAoB,CAEvB0Y,qBAFuB,WAEFxa,EAAOmU,GAC1BnU,EAAMgY,kBAAoB7D,GAG5BsG,0BANuB,WAMGza,EAAO8Y,GAC/B9Y,EAAMsY,uBAAuBQ,GAAc,MAO7C4B,kBAduB,WAcL1a,EAAOuB,GACvB,IAAKA,EAASgX,UAEZ,OAGF,IAAMoC,EAAUzf,OAAO2L,OAAOtF,EAASgX,WAEvCoC,EAAQ1W,SAAQ,SAACgV,GACf,GAAIjZ,EAAMuY,UAAUnd,eAAe6d,EAAIta,IAErC,OAIF,IAAIic,EAAY,KAChB,GAAiB,YAAb3B,EAAI9X,KACNyZ,EAAY5a,EAAMkY,gBACb,GAAiB,aAAbe,EAAI9X,KACbyZ,EAAY5a,EAAMmY,iBACb,GAAiB,aAAbc,EAAI9X,MAAuB8X,EAAID,SAAU,CAC7ChZ,EAAMoY,oBAAoBa,EAAID,WACjC,OAAIvW,IAAIzC,EAAMoY,oBAAqBa,EAAID,SAAU,IAEnD4B,EAAY5a,EAAMoY,oBAAoBa,EAAID,eACrC,GAAiB,YAAbC,EAAI9X,MAAsB8X,EAAID,SAAU,CAC5ChZ,EAAMqY,mBAAmBY,EAAID,WAChC,OAAIvW,IAAIzC,EAAMqY,mBAAoBY,EAAID,SAAU,IAElD4B,EAAY5a,EAAMqY,mBAAmBY,EAAID,UAI3C,OAAIvW,IAAIzC,EAAMuY,UAAWU,EAAIta,GAAIsa,GAGjCjZ,EAAMiY,aAAa1c,KAAK0d,EAAIta,IAGxBic,GACFA,EAAUrf,KAAK0d,EAAIta,UAMrB,GAAU,CAKRkc,eALQ,aAOZlc,GAAqB,IADnBgC,EACmB,EADnBA,OAAQC,EACW,EADXA,SAAUZ,EACC,EADDA,M,yLAOpB,OAAMY,EAAS,mBAAoB,O,OAG7B4T,EAAgB,IAAER,QAAQ,CAACrV,IAC3Bmc,EAAuB,IAAEC,WAAWvG,EAAKxU,EAAMiY,c,KAGjD6C,EAAW7f,OAAS,G,iBAChB+f,EAASF,EAAW3H,KAAK,K,SACd,OAAM,GAAajW,IAAb,iCACK8d,I,OADtB5V,E,OAGA7D,EAAW6D,EAAS3K,KAAKA,KAC/BkG,EAAO,WAAYY,G,6CASjB0Z,iBAnCQ,aAmC4BC,GAAc,IAA/Bva,EAA+B,EAA/BA,OAAQX,EAAuB,EAAvBA,M,gLAC1Bkb,GAASlb,EAAMgY,mB,yBACX,OAAM9R,QAAQhH,U,wDAEN,OAAM,GAAahC,IAAb,gB,OAAjBkI,E,OACA7D,EAAW6D,EAAS3K,KAAKA,KAC/BkG,EAAO,oBAAqBY,GAC5BZ,EAAO,wB,6CASHwa,yBAnDQ,aAqDZxY,GAA+C,IAD7ChC,EAC6C,EAD7CA,OAAQX,EACqC,EADrCA,M,gLAGL2C,EAAQuY,OAASlb,EAAMsY,uBAAuB3V,EAAQmW,a,yBAClD,OAAM5S,QAAQhH,U,wDAEN,OAAM,GAAahC,IAAb,qBACPyF,EAAQmW,WADD,c,OAAjB1T,E,OAGA7D,EAAW6D,EAAS3K,KAAKA,KAC/BkG,EAAO,oBAAqBY,GAC5BZ,EAAO,4BAA6BgC,EAAQmW,Y,8CAIjC,IACb9X,WAAY,KACZhB,MAAA,GACAiB,QAAA,GACAd,UAAA,GACAM,QAAA,ICkHa,UAAImJ,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,OACPoa,kBAAmBlF,SAGrBpG,SAAU,CAeRlC,QAfQ,aAgBN,IAAMsT,EAA0B,CAC9Bzc,GAAI,EACJoJ,QAAS,EACTlL,KAAM,GACN0U,QAAS,GACTC,WAAY,GACZC,gBAAiB,GACjB2B,sBAAuBqE,GACvBhC,qBAAsBgC,GACtB1B,cAAe,EACf7C,QAAS,GACTG,UAAW,GACXC,uBAAwB,KACxBqC,WAAY,EACZC,WAAY,EACZC,YAAa,EACbC,WAAY,EACZJ,SAAU,EACVO,iBAAkB,GAClBC,oBAAqB,EACrBC,qBAAsB,GACtBC,kBAAmB,GACnBQ,sBAAuB,GACvBZ,UAAW,UACXU,gBAAiB,EACjBC,iBAAkB,EAClBE,iBAAkB,EAClBC,iBAAkB,EAClBT,WAAY,GACZC,YAAa,GACbC,eAAgB,GAChBY,WAAY,MACZC,eAAgB,EAChBF,WAAY,GACZpI,YAAa,GACbuM,iBAAkB,GAClBpE,SAAU,MACVD,QAAS,MACTD,iBAAkB,EAClBM,cAAe,GACfC,SAAU,GACVd,YAAa,GACbC,aAAc,GACdc,QAAS,OAEX,OAAOpP,KAAK7K,MAAQ6K,KAAK7K,MAAQ8d,GASnC7F,UAtEQ,aAuEN,IAAKpN,KAAKmN,kBACR,MAAO,GAET,MAAO,CAAC,SAAChS,GAAD,QAASA,GAAKyC,EAAKxI,EAAE,sBAIjC4M,QAAS,CAWPqL,OAXO,WAWA5X,EAAauW,GAA+B,IAArBmH,EAAqB,uDAAF,GAC9B,SAAbA,IACFnH,EAAMA,EAAI7K,QAGZ,IAAMiS,EAAO,iBAAI,uBAAUpT,KAAKL,UAAU,SAACxE,GAAD,OAAO,iBAAIA,EAAG1F,EAAKuW,MAEzDoH,EAAKtF,iBAAiBhb,OAAS,IAGjCsgB,EAAKrF,oBAAsB,GAEzBqF,EAAKtF,iBAAiBhb,QAAU,GAAkC,IAA7BsgB,EAAKrF,sBAG5CqF,EAAKrF,oBAAsB,GAG7B/N,KAAK8H,MAAM,QAASsL,IAStBC,eAtCO,WAsCQ7U,GACZwB,KAAK2B,MAAM2R,YAAoBD,eAAe7U,GAC9CwB,KAAK2B,MAAM4R,WAAmBF,eAAe7U,GAC7CwB,KAAK2B,MAAM6R,gBAAwBH,eAAe7U,OCrjB0W,M,0BCO/Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACiV,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OCJ9C,cAAIjS,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLmH,MAAO,KACP/B,OAAQ,MACRiI,QAAS,OAGbqC,QAAS,CAKP4D,MALO,aAML5F,KAAKvG,MAAQ,KACbuG,KAAKL,QAAU,MAOXkG,KAdC,a,iLAee,MAAhB7F,KAAKL,S,0DAIPK,KAAKvG,MAAQ,K,SACI,OAAM,GAAWka,KAAK,kBAAmB,CACxDrhB,KAAM,CACJoC,KAAMsL,KAAKL,QAAQjL,KACnB0U,QAASpJ,KAAKL,QAAQyJ,QACtBC,WAAYrJ,KAAKL,QAAQ0J,WACzBC,gBAAiBtJ,KAAKL,QAAQ2J,gBAC9B4B,UAAWlL,KAAKL,QAAQuL,UACxBC,uBAAwBnL,KAAKL,QAAQwL,uBACrCJ,QAAS/K,KAAKL,QAAQoL,QACtBE,sBAAuBjL,KAAKL,QAAQsL,sBACpCqC,qBAAsBtN,KAAKL,QAAQ2N,qBACnCM,cAAe5N,KAAKL,QAAQiO,cAC5BM,WAAYlO,KAAKL,QAAQuO,WACzBC,YAAanO,KAAKL,QAAQwO,YAC1BC,eAAgBpO,KAAKL,QAAQyO,eAC7BN,iBAAkB9N,KAAKL,QAAQmO,iBAC/BC,oBAAqB/N,KAAKL,QAAQoO,oBAClCR,SAAUvN,KAAKL,QAAQ4N,SACvBC,WAAYxN,KAAKL,QAAQ6N,WACzBC,WAAYzN,KAAKL,QAAQ8N,WACzBC,YAAa1N,KAAKL,QAAQ+N,YAC1BC,WAAY3N,KAAKL,QAAQgO,WACzBE,UAAW7N,KAAKL,QAAQkO,UACxBU,gBAAiBvO,KAAKL,QAAQ4O,gBAC9BC,iBAAkBxO,KAAKL,QAAQ6O,iBAC/BE,iBAAkB1O,KAAKL,QAAQ+O,iBAC/BC,iBAAkB3O,KAAKL,QAAQgP,iBAC/BG,SAAU9O,KAAKL,QAAQmP,SACvBD,QAAS7O,KAAKL,QAAQkP,QACtBD,iBAAkB5O,KAAKL,QAAQiP,iBAC/BG,WAAY/O,KAAKL,QAAQoP,WACzBC,WAAYhP,KAAKL,QAAQqP,WACzBC,eAAgBjP,KAAKL,QAAQsP,eAC7BtI,YAAa3G,KAAKL,QAAQgH,YAC1BuI,cAAelP,KAAKL,QAAQuP,cAC5BC,SAAUnP,KAAKL,QAAQwP,SACvBd,YAAarO,KAAKL,QAAQ0O,YAC1BC,aAActO,KAAKL,QAAQ2O,aAC3Bc,QAASpP,KAAKL,QAAQyP,W,OAtCpBnS,E,OA2CA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,mBAAoBY,GAOjCwa,EAAQta,EAAoBF,EAAU,WAC3C4G,KAAK2B,MAAMkS,YAAoBR,eAAeO,GAE/C5T,KAAK8H,MAAM,QAAS8L,GACpB5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVC,kBCjHoa,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIhU,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIiU,KAAK,KAAOjU,EAAIkU,OAAO,CAAC9T,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIkK,MAAM,KAAO,GAAG,MAAQ,YAAY,CAAC9J,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuBL,EAAG,YAAaJ,EAAa,UAAEI,EAAG,oBAAoB,CAACE,MAAM,CAAC,UAAYN,EAAI+J,UAAU,WAAa/J,EAAImU,cAAcnU,EAAI6C,MAAM,GAAGzC,EAAG,cAAc,CAACA,EAAG,wBAAwB,CAACE,MAAM,CAAC,QAAUN,EAAIJ,YAAY,IAAI,IAC9f,GAAkB,GCDlB,GAAS,WAAa,IAAII,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIuD,cAAc,gBAAiBnD,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,uBAAuB,YAAY,QAAQE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,aAAY,WAAW,MAAO,CAAC5F,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,KAAO,KAAKyF,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACN,EAAIO,GAAG,iBAAiBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,MAAM,MAAK,KAAKsF,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,cAAc,CAACY,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIJ,QAAQsB,GAAKG,WAAW,cAAc,GAAGrB,EAAI6C,MAC/yB,GAAkB,GCkCP,UAAInB,OAAO,CACxBsG,MAAO,CACL+B,UAAWxK,OACX4U,WAAY5U,QAEdhN,KALwB,aAMtB,MAAO,CACLmH,MAAO,KACP/B,OAAQ,MACRiI,QAAS,OAGbkC,SAAU,OAAF,wBACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,UAAW,CAAC,mBAE5BG,QAAS,CAKD4D,MALC,a,wKAML,GAAI5F,KAAK8J,UAAW,CACZqK,EAASphB,OAAOyI,OAAO,GAAIwE,KAAKoU,cAAcpU,KAAK8J,YACzD9J,KAAKL,QAAUwU,OAEfnU,KAAKL,QAAU,KAEjBK,KAAKvG,MAAQ,K,iDAOToM,KAnBC,a,iLAoBA7F,KAAKL,Q,0DAIRK,KAAKvG,MAAQ,K,SACI,OAAM,GAAWka,KAAK,0BAA2B,CAChErhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,YAAc,EAC/BpK,UAAW9J,KAAKL,QAAQnJ,GACxBoX,cAAe5N,KAAKL,QAAQiO,cAC5B1C,UAAWlL,KAAKL,QAAQuL,UACxBC,uBAAwBnL,KAAKL,QAAQwL,uBACrCqC,WAAYxN,KAAKL,QAAQ6N,WACzBC,WAAYzN,KAAKL,QAAQ8N,WACzBC,YAAa1N,KAAKL,QAAQ+N,YAC1BC,WAAY3N,KAAKL,QAAQgO,WACzBJ,SAAUvN,KAAKL,QAAQ4N,SACvBO,iBAAkB9N,KAAKL,QAAQmO,iBAC/BC,oBAAqB/N,KAAKL,QAAQoO,oBAClCC,qBAAsBhO,KAAKL,QAAQqO,qBACnCC,kBAAmBjO,KAAKL,QAAQsO,kBAChCQ,sBAAuBzO,KAAKL,QAAQ8O,sBACpCZ,UAAW7N,KAAKL,QAAQkO,UACxBU,gBAAiBvO,KAAKL,QAAQ4O,gBAC9BC,iBAAkBxO,KAAKL,QAAQ6O,iBAC/BE,iBAAkB1O,KAAKL,QAAQ+O,iBAC/BC,iBAAkB3O,KAAKL,QAAQgP,iBAC/BT,WAAYlO,KAAKL,QAAQuO,WACzBC,YAAanO,KAAKL,QAAQwO,YAC1BC,eAAgBpO,KAAKL,QAAQyO,eAC7BC,YAAarO,KAAKL,QAAQ0O,YAC1BC,aAActO,KAAKL,QAAQ2O,aAC3BU,WAAYhP,KAAKL,QAAQqP,WACzBC,eAAgBjP,KAAKL,QAAQsP,eAC7BF,WAAY/O,KAAKL,QAAQoP,WACzBpI,YAAa3G,KAAKL,QAAQgH,YAC1BiI,iBAAkB5O,KAAKL,QAAQiP,iBAC/BC,QAAS7O,KAAKL,QAAQkP,QACtBC,SAAU9O,KAAKL,QAAQmP,SACvBI,cAAelP,KAAKL,QAAQuP,cAC5BC,SAAUnP,KAAKL,QAAQwP,SACvBpE,QAAS/K,KAAKL,QAAQoL,QACtBqE,QAASpP,KAAKL,QAAQyP,W,OArCpBnS,E,OAwCAoX,EAAgBpX,EAAS3K,KAAKA,KAE9BgiB,EAAgB,IAAEC,KAAKF,EAAe,CAAC,aAC7CrU,KAAK2I,OAAOnQ,OAAO,oBAAqB8b,GAElCE,EAAe,IAAED,KAAKF,EAAe,CAAC,YAC5CrU,KAAK2I,OAAOnQ,OAAO,mBAAoBgc,GAEvCxU,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVC,kBCnIqa,M,aCOra,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC5R,QAAA,KAAKsS,SAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI1U,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,iBAAiB,MAAQT,EAAIJ,QAAQ4N,SAAS,eAAe,qBAAsBxN,EAAIJ,QAAiB,UAAEQ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,sBAAsB,CAACL,EAAG,mBAAmB,CAACE,MAAM,CAAC,UAAYN,EAAIJ,QAAQuL,UAAU,cAAgBnL,EAAIJ,QAAQwL,2BAA2B,GAAGpL,EAAI6C,KAAM7C,EAAIJ,QAAiB,UAAEQ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,gBAAgB,CAACL,EAAG,aAAa,CAACE,MAAM,CAAC,UAAYN,EAAIJ,QAAQuL,UAAU,cAAgBnL,EAAIJ,QAAQwL,2BAA2B,GAAGpL,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,iBAAiB,MAAQT,EAAIJ,QAAQ6N,WAAW,OAAS,QAAQrN,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,iBAAiB,MAAQT,EAAIJ,QAAQ8N,WAAW,OAAS,QAAQtN,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,oBAAoB,MAAQT,EAAIJ,QAAQ+N,YAAY,eAAe,qBAAqB,kBAAkB,MAAMvN,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAIJ,QAAQgO,WAAW,eAAe,oBAAoB,kBAAkB,OAAO,GAAGxN,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,oBAAoB,MAAQT,EAAI2U,yBAAyB3U,EAAIJ,QAAQkO,cAAc1N,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAIJ,QAAQiO,cAAc,eAAe,wBAAwB,kBAAkB,OAAO,GAAGzN,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIJ,QAAQuO,cAAc/N,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAIJ,QAAQwO,eAAehO,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAIJ,QAAQyO,mBAAmB,GAAGjO,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAIJ,QAAQ4O,gBAAgB,eAAe,6BAA6BpO,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIJ,QAAQoP,WAAW,kBAAkB,MAAM5O,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAIJ,QAAQsP,eAAe,eAAe,2BAA2B9O,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,2BAA2B,MAAQT,EAAIJ,QAAQ6O,qBAAqB,GAAGrO,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,yBAAyB,MAAQT,EAAIJ,QAAQiP,iBAAiB,eAAe,0BAA0B,kBAAkB,MAAMzO,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIJ,QAAQkP,WAAW1O,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAIJ,QAAQmP,YAAY3O,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,yBAAyB,MAAQT,EAAIJ,QAAQ+O,iBAAiB,eAAe,oBAAoB,kBAAkB,MAAMvO,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,yBAAyB,MAAQT,EAAIJ,QAAQgP,iBAAiB,eAAe,wBAAwB,IAAI,GAAGxO,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,MAAQ,SAAS,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAa,UAAU,SAAWN,EAAIJ,QAAQnJ,GAAG,SAAW,QAAQ,YAAc,0BAA0B,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAa,UAAU,SAAWN,EAAIJ,QAAQnJ,GAAG,SAAW,OAAO,YAAc,wBAAwB,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAa,UAAU,SAAWN,EAAIJ,QAAQnJ,GAAG,SAAW,YAAY,YAAc,yBAAyB,IAAI,GAAG2J,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,iCAAiC,MAAQT,EAAIJ,QAAQmO,iBAAiB,eAAe,6BAAiE,GAAnC/N,EAAIJ,QAAQoO,oBAA0B5N,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,oCAAoC,MAAQ,CAACT,EAAIJ,QAAQoO,qBAAqB,eAAe,iCAAiChO,EAAI6C,KAAKzC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,kCAAkC,MAAQT,EAAIJ,QAAQsO,kBAAkB,eAAe,8BAA8B9N,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,mCAAmC,MAAQT,EAAIJ,QAAQqO,qBAAqB,eAAe,iCAAiC7N,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,sCAAsC,MAAQT,EAAIJ,QAAQ8O,sBAAsB,eAAe,sCAAsC,IAAI,IAAI,GAAGtO,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAIJ,QAAQgH,eAAexG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAIJ,QAAQuP,iBAAiB/O,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAIJ,QAAQwP,aAAa,IAAI,GAAGpP,EAAI6C,MACj4K,GAAkB,GC6TP,UAAInB,OAAO,CACxBsG,MAAO,CACLpI,QAAS5M,QAEX8O,SAAU,OAAF,wBACH,eAAW,YAAa,CAAC,uBACzB,eAAW,WAAY,CAAC,gCCpU8Y,MCOza,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACW,QAAA,KAAKE,QAAA,OCGpB,cAAIjB,OAAO,CACxBsG,MAAO,CACL+B,UAAWxK,OACX4U,WAAY5U,OACZqV,UAAW1M,QACXgM,KAAMhM,QACN+L,KAAM/L,QACNgC,MAAOhC,SAETpG,SAAU,OAAF,wBACH,eAAW,UAAW,CAAC,mBAAiB,CAE3ClC,QAF2C,aAGzC,OAAOK,KAAKoU,cAAcpU,KAAK8J,cAGnCgK,WAAY,CACVc,qBACAC,4BC7Csa,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACzS,SAAA,KAAME,UAAA,QAAUyC,WAAA,KAAQC,YAAA,KAASC,cAAA,UC3B/D,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIiU,KAAK,KAAOjU,EAAIkU,OAAO,CAAC9T,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIkK,MAAM,KAAO,GAAG,MAAQ,YAAY,CAAC9J,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,YAAaJ,EAAIJ,SAAWI,EAAI4U,UAAWxU,EAAG,qBAAqB,CAACE,MAAM,CAAC,UAAYN,EAAIJ,QAAQnJ,MAAMuJ,EAAI6C,MAAM,GAAGzC,EAAG,cAAc,CAACA,EAAG,yBAAyB,CAACE,MAAM,CAAC,QAAUN,EAAIJ,YAAY,IAAI,GAAGI,EAAI6C,MAC3gB,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAI+J,WAAa/J,EAAIuD,cAAc,iBAAkBnD,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0BE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI6F,SAAS,KAAO,SAASjF,GAAQ,OAAOZ,EAAI8F,SAASR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,qBAAqB,CAACE,MAAM,CAAC,KAAO,GAAG,OAASN,EAAIS,GAAG,gCAAgCE,GAAG,CAAC,QAAU,SAASC,GAAQZ,EAAIrI,OAAS,QAAQ,CAACyI,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,MAAM,KAAKgF,MAAM,OAAO,KAAK,MAAM,YAAYzE,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAUsG,EAAW,QAAEI,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgBO,MAAM,CAAC5L,MAAO4K,EAAIJ,QAAY,KAAEqB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIJ,QAAS,OAAwB,kBAARsB,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,mBAAmB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAIJ,QAAe,QAAEqB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIJ,QAAS,UAA2B,kBAARsB,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsBO,MAAM,CAAC5L,MAAO4K,EAAIJ,QAAkB,WAAEqB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIJ,QAAS,aAA8B,kBAARsB,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,yBAAyB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAIJ,QAAuB,gBAAEqB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIJ,QAAS,kBAAmC,kBAARsB,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,8BAA8B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsBO,MAAM,CAAC5L,MAAO4K,EAAIJ,QAA6B,sBAAEqB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIJ,QAAS,wBAAyBsB,IAAMG,WAAW,oCAAoC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqBO,MAAM,CAAC5L,MAAO4K,EAAIJ,QAA4B,qBAAEqB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIJ,QAAS,uBAAwBsB,IAAMG,WAAW,mCAAmC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwBO,MAAM,CAAC5L,MAAO4K,EAAIJ,QAAe,QAAEqB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIJ,QAAS,UAA2B,kBAARsB,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,sBAAsB,IAAI,GAAGrB,EAAI6C,MAAM,GAAG7C,EAAI6C,MACtsF,GAAkB,GC6EP,UAAInB,OAAO,CACxBsG,MAAO,CACL+B,UAAWxK,OACXnK,MAAO8S,SAET3V,KALwB,aAMtB,MAAO,CACLmH,MAAO,KACP/B,OAAQ,MAERiI,QAAS,OAGbkC,SAAU,OAAF,wBACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,UAAW,CAAC,mBAE5BG,QAAS,CAMD4D,MANC,a,wKAOCkP,EAAY/hB,OAAOyI,OAAO,GAAIwE,KAAKoU,cAAcpU,KAAK8J,YAC5D9J,KAAKL,QAAUmV,EACf9U,KAAKvG,MAAQ,K,iDAOToM,KAhBC,a,6KAiBA7F,KAAKL,Q,0DAIRK,KAAKvG,MAAQ,K,SACI,OAAM,GAAWka,KAAK,2BAA4B,CACjErhB,KAAM,CACJwX,UAAW9J,KAAK8J,UAChBpV,KAAMsL,KAAKL,QAAQjL,KACnB0U,QAASpJ,KAAKL,QAAQyJ,QACtBC,WAAYrJ,KAAKL,QAAQ0J,WACzBC,gBAAiBtJ,KAAKL,QAAQ2J,gBAC9B2B,sBAAuBjL,KAAKL,QAAQsL,sBACpCqC,qBAAsBtN,KAAKL,QAAQ2N,qBACnCvC,QAAS/K,KAAKL,QAAQoL,W,OATpB9N,E,OAYA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,mBAAoBY,GAEvC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,8DCtIka,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAC+I,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKC,cAAA,OC1B9C,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,eAAe,MAAQT,EAAIJ,QAAQjL,QAAQyL,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIJ,QAAQyJ,WAAWjJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIJ,QAAQ0J,cAAclJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAIJ,QAAQ2J,mBAAmBnJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAIJ,QAAQoL,WAAW5K,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIyR,kBAAkBzR,EAAIJ,QAAQsL,uBAAuB,KAAO,KAAK,GAAK,OAAO9K,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,KAAO,KAAK,GAAK,IAAI,MAAQT,EAAIyR,kBAAkBzR,EAAIJ,QAAQ2N,0BAA0B,IAAI,GAAGvN,EAAI6C,MAC5+B,GAAkB,GC0DP,UAAInB,OAAO,CACxBsG,MAAO,CACLpI,QAAS5M,QAEX8O,SAAU,OAAF,UACH,eAAW,YAAa,CAAC,yBChE8Y,MCO1a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACa,QAAA,OCEf,cAAIjB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJqV,UAAW1M,QACXgM,KAAMhM,QACN+L,KAAM/L,QACNgC,MAAOhC,SAGTpG,SAAU,OAAF,sCACH,eAAW,UAAW,CAAC,mBACvB,eAAW,YAAa,CAAC,uBAAqB,CAEjDlC,QAFiD,aAG/C,OAAOK,KAAKoU,cAAcpU,KAAKxJ,OAInCsd,WAAY,CACViB,sBACAC,6BC7Cua,MCOva,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QCYdC,GDHlB,KAAkB,GAAW,CAAC7S,SAAA,KAAME,UAAA,QAAUyC,WAAA,KAAQC,YAAA,KAASC,cAAA,WCG/D,SAAkBgQ,GAChB,4BACA,0BACA,gCACA,0CACA,yCALF,CAAkBA,QAAuB,KAalC,IAAMC,GAAiC,CAACD,GAAwBE,QAM1DC,GAAiC,CAC5CH,GAAwBI,QACxBJ,GAAwBE,QAQbG,GAAoC,CAC/CL,GAAwBM,UACxBN,GAAwBO,eACxBP,GAAwBQ,eASbC,GAA0B,CACrCT,GAAwBE,OACxBF,GAAwBM,UACxBN,GAAwBO,gBC0XX,UAAI/T,OAAO,CACxBsG,MAAO,CAMLtE,MAAO1Q,OAMPkX,MAAOhC,QAEP4C,WAAY5C,SAGdE,QAlBwB,aAmBlBnI,KAAKyD,OACPzD,KAAK2V,eAIP3V,KAAKoI,YAMLpI,KAAKoI,UAAY,IAAEwN,SAAS5V,KAAKoI,UAAW,KAC5CpI,KAAK2V,aAAe,IAAEC,SAAS5V,KAAK2V,aAAc,MAGpDrjB,KAlCwB,aAmCtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KACP0Q,eAAgB,MAEhB0L,gBAAiB,GACjBzL,SAAU,CACR0L,EAAG,GACHphB,KAAM,GACN0U,QAAS,GACTC,WAAY,GACZC,gBAAiB,GACjByM,MAAO,GACPxI,SAAU,EACVtC,sBAAuB,EACvBqC,qBAAsB,EACtB0I,OAAQ,EACRC,OAAQ,EACRC,cAAe,EACfC,cAAe,EACfC,cAAe,EACfC,cAAe,EACf3I,YAAa,EACbC,WAAY,EACZE,UAAW,GACXa,iBAAkB,EAClBC,iBAAkB,EAClBC,iBAAkB,EAClBC,QAAS,KACTC,SAAU,KACVM,QAAS,KACTJ,WAAY,KACZC,eAAgB,EAChBnB,iBAAkB,GAClBF,cAAe,EACflH,SAAU,GACV4P,cAAe,MACfC,WAAY,EACZC,qBAAsB,CAAC,EAAG,IAE5BC,UAAW,GAEXjM,KAAM,CACJC,OAAQ,EACRC,KAAM,GACNC,YAAa,KAKnB9I,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAW,UAAW,CAAC,mBACvB,eAAW,OAAQ,CAAC,mBAAiB,CAExC6U,YAFwC,aAGtC,IAAK1W,KAAKsD,cAAc,kBACtB,OAAO,MAGT,IAAKtD,KAAK6K,WACR,OAAO,KAET,QAAS7K,KAAKoL,aAOhBuL,kBAjBwC,aAkBtC,OAAO,IAAE3J,QAAQhN,KAAKoK,SAAUpK,KAAK6V,kBASvCtL,SA3BwC,aA4BtC,OAAO,IAAElU,IAAI2J,KAAKyW,WAAa,GAAIzW,KAAKoU,gBAS1ChJ,YArCwC,aAsClC,IAAEa,QAAQjM,KAAK6V,mBACjB7V,KAAK6V,gBAAkB,IAAEe,UAAU5W,KAAKoK,WAE1C,IAAMyM,EAAKjK,GAAgB5M,KAAKoK,SAAUpK,KAAK6V,iBAC/C,OAAOtK,GAAsBsL,EAAI7W,KAAKwK,OAQxClN,QAlDwC,aAmDtC,IAAMA,EAAiB,CACrB,CAAEmL,KAAM7K,EAAKxI,EAAE,eAAgBD,MAAO,QACtC,CAAEsT,KAAM7K,EAAKxI,EAAE,kBAAmBD,MAAO,WACzC,CAAEsT,KAAM7K,EAAKxI,EAAE,qBAAsBD,MAAO,cAC5C,CAAEsT,KAAM7K,EAAKxI,EAAE,0BAA2BD,MAAO,mBACjD,CAAEsT,KAAM7K,EAAKxI,EAAE,uBAAwBD,MAAO,QAAS2hB,MAAO,OAC9D,CACErO,KAAM7K,EAAKxI,EAAE,qBACbD,MAAO,yBAET,CACEsT,KAAM,MACNtT,MAAO,aAET,CAAEA,MAAO,KAAMsT,KAAM,GAAIqO,MAAO,OAElC,OAAOxZ,GAOTgN,UA1EwC,aA2EtC,GAAItK,KAAK+W,sBACP,OAAO,EAET,OAAO,GAOTA,sBArFwC,aAsFtC,IAAMC,EAAahX,KAAKoK,SAAS1D,SAAS5T,OAAS,EAC7CmkB,EAA4C,IAA7BjX,KAAKoK,SAASmM,WACnC,GAAIS,GAAcC,EAChB,OAAO,KAET,OAAO,SAIXnV,MAAO,CAWL2B,MAXK,WAWC,GACJzD,KAAK2V,gBAMPvK,YAlBK,WAkBO8L,GACVlX,KAAKoI,aAOPgC,SAAU,CACR+M,KAAM,KACNlT,UAAW,MACXC,QAHQ,WAGAgT,EAAQE,GACVpX,KAAKwK,KAAKG,YAAc,GAAK3K,KAAKwK,KAAKC,OAAS,IAClDzK,KAAKwK,KAAKC,OAAS,KASzBN,eAxCK,WAwCUkN,GACTA,EACFrX,KAAKsX,sBAELtX,KAAKuX,yBAITR,sBAhDK,WAgDiBS,GAChBA,IACFxX,KAAKoK,SAASoM,qBAAuB,CACnCvB,GAAwBI,QACxBJ,GAAwBE,WAMhCnT,QAAS,CAQPkI,kBARO,WAQW0J,GAChB,GAAI5T,KAAK6K,WACP7K,KAAK8K,cAAc8I,OACd,CACL5T,KAAKyW,UAAUvF,QAAQ0C,GACnB5T,KAAKwK,KAAKG,YAAc,IAC1B3K,KAAKwK,KAAKG,YAAc,KAS9BG,cAvBO,WAuBOhB,GACZ9J,KAAK8H,MAAM,WAAYpO,SAASoQ,EAAW,MAM7C6L,aA9BO,aA+BLzJ,GAAgBlM,KAAKyD,MAAOzD,KAAKoK,SAAUpK,KAAKwK,MAC3CxK,KAAK2W,mBAAyC,KAApB3W,KAAKoK,SAAS0L,IAC3C9V,KAAKmK,eAAiB,OAS1BvE,MA1CO,aA0CF,WACH5F,KAAKyX,WAAU,WACb,EAAKH,sBACL,EAAKC,wBAED,EAAK5V,MAAM+B,OACZ,EAAK/B,MAAM+B,MAAc9B,YAKhC0V,oBArDO,aAsDLtX,KAAKoK,SAAS0L,EAAI,IAGpByB,sBAzDO,aA0DLvX,KAAKoK,SAAWrX,OAAOyI,OAAOwE,KAAKoK,SAAUpK,KAAK6V,kBAQ9CzN,UAlEC,a,8KAmELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAGL+K,E,2BAA0BxE,KAAKoL,a,SACxB,OAAM,GAAWrW,IAAIyP,G,OAA5B/G,E,OACNuC,KAAKwK,KAAKG,YAAc,IAAE5V,IAAI0I,EAAM,yBAA0B,GACxD8M,EAAW,IAAExV,IAAI0I,EAAM,YAAa,IAC1CuC,KAAKyW,UAAY,IAAEpgB,IAAIkU,EAAU,MAC3BnR,EAAWL,EAAc,UAAWwR,GAC1CvK,KAAK2I,OAAOnQ,OAAO,mBAAoBY,GACvC4G,KAAK8H,MAAM,eAAgB9H,KAAKoL,a,qDAEhCpL,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,sFAKrBoK,WAAY,CACV4D,oBACAC,iBACAC,sBACAC,0BChxBma,M,oDCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAqBhC,KAAkB,GAAW,CAAC1V,QAAA,KAAKC,SAAA,KAAMC,aAAA,QAAaC,UAAA,QAAUmR,aAAA,KAAUjR,QAAA,KAAKsV,cAAA,KAAWhT,YAAA,KAASiT,SAAA,KAAMtD,SAAA,KAAMuD,UAAA,KAAOC,eAAA,KAAYvV,QAAA,KAAKqC,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UCyBpJ,cAAIxD,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CAAC+D,MAAOoG,QAGf4H,MAAOc,OAGPX,MAAOnO,MAGPsO,SAAUS,QAGVV,UAAWU,QAKXiQ,UAAWjQ,QAGXX,SAAUW,SAEZ3V,KAxBwB,aAyBtB,MAAO,CACLoX,QAAS,MACThS,OAAQ,MAQRmS,WAAY,KAGhB/H,MAAO,CAMLpK,OANK,WAMEwf,GAAe,WACpBlX,KAAKyX,WAAU,WACZ,EAAK9V,MAAMwW,gBAAwBvS,YAUxCzQ,MAlBK,WAkBC+hB,GACJ,IAAMkB,EAAgB,IAAEvM,QAAQ,CAACqL,IACjC,GAA6B,IAAzBkB,EAActlB,QAA2C,IAA3BkN,KAAK6J,WAAW/W,OAAc,CAG9DkN,KAAK6J,WAAa,GAClB,OAGF,GAAI7J,KAAKkY,eAIF,CAIL,IAAMG,EAAW,IAAErL,QACjB,IAAEnO,OAAOuZ,GACT,IAAEvZ,OAAOmB,KAAK6J,aAEXwO,IACHrY,KAAK6J,WAAL,eAAsBuO,MAUtBvO,WAlDD,WAkDYyO,G,wKACXjM,E,eAAUrM,KAAK6J,Y,IAEf7J,KAAKkY,U,qBAIHlY,KAAKuK,SAASzX,OAAS,G,gBACzBuZ,EAAM,IAAEhW,IAAI2J,KAAKuK,SAAU,WAC3BvK,KAAK0J,QAAU,K,SACf,OAAM1J,KAAK2I,OAAOlQ,SAAS,mBAAoB4T,G,OAC/CrM,KAAK0J,QAAU,M,OAIf1J,KAAKsH,SACPtH,KAAK8H,MAAM,QAASuE,GAEpBrM,KAAK8H,MAAM,QAAS,IAAEyQ,MAAMlM,I,kDAIlCxK,SAAU,OAAF,oDACH,eAAS,WAAY,CAAC,YACtB,eAAW,QAAS,CAAC,eACrB,eAAW,UAAW,CAAC,gBAAiB,iBAAe,CAE1D0I,SAF0D,aAGxD,OAAO,IAAElU,IAAI2J,KAAK6J,WAAY7J,KAAKoU,gBAGrC3K,mBAN0D,aAQxD,IAAM+O,EAAWxY,KAAKkY,UAAYlY,KAAKyY,UAAYzY,KAAKgK,YAElDqC,EAAM,IAAER,QAAQ,CAAC7L,KAAK7K,OAAS,KAErC,OAAO,IAAEkB,IAAIgW,EAAKmM,GAAUxN,KAAK,SAGrChJ,QAAS,CAOP2H,eAPO,aAQA3J,KAAKsH,SAGRtH,KAAK8H,MAAM,QAAS,IAFpB9H,KAAK8H,MAAM,QAAS,IAWxB8B,cApBO,WAoBO8O,GACZ,GAAK1Y,KAAKsH,SAIRtH,KAAK6J,WAAa,IAAE9O,KAAF,yBAAWiF,KAAK6J,YAAhB,CAA4B6O,SAJ5B,CAClB1Y,KAAK6J,WAAa,CAAC6O,GACnB1Y,KAAKtI,OAAS,QAWlBqS,uBAlCO,WAkCgBnX,GACrBoN,KAAK6J,WAAW7V,OAAOpB,EAAG,KAG9BkhB,WAAY,CACV6E,sBCvOya,M,uCCQza,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACxW,QAAA,KAAKyW,SAAA,KAAMC,WAAA,KAAQ9T,WAAA,KAAQpC,cAAA,OCD1C,cAAIlB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MACR8R,iBAAkB,IAGtBxH,QAAS,CACP4D,MADO,aAEL5F,KAAKwJ,iBAAmB,GAE1B3D,KAJO,aAKL7F,KAAK8H,MAAM,OAAQ9H,KAAKwJ,kBACxBxJ,KAAKtI,OAAS,QAGlBoc,WAAY,CACVgF,4BC5Csb,MCOtb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACtW,QAAA,KAAKE,QAAA,OCmBpB,cAAIjB,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CACL6D,KAAME,MACN6f,SAAU,OAGdlX,SAAU,OAAF,wBACH,eAAW,UAAW,CAAC,mBAAiB,CAC3CqH,SAD2C,aACnC,WACN,OAAO,IAAE7S,IAAI2J,KAAK7K,OAAS,IAAI,SAACqB,GAAD,OAAQ,EAAK4d,cAAc5d,OAE5D8G,QAJ2C,aAKzC,IAAM0b,EAAI,CACR,CACEvQ,KAAMzI,KAAKiZ,MAAM7jB,EAAE,eACnBD,MAAO,QAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,kBACnBD,MAAO,WAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,qBACnBD,MAAO,cAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,0BACnBD,MAAO,mBAGT,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,kBACnB0hB,MAAO,OAGX,OAAOkC,KAGXhX,QAAS,CACPiH,wBADO,WACiBa,GACtB,IAAMoP,EAAW,IAAEne,KAAF,yBAAWiF,KAAK7K,OAAhB,CAAuB2U,KACxC9J,KAAK8H,MAAM,QAASoR,IAEtB3P,qBALO,WAKc7O,GACnB,IAAMwe,EAAW,eAAIlZ,KAAK7K,OAC1B+jB,EAASllB,OAAO0G,EAAO,GACvBsF,KAAK8H,MAAM,QAASoR,KAGxBpF,WAAY,CACVqF,uBC9Fmb,MCOnb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAAChX,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUwV,cAAA,KAAWrD,SAAA,KAAMzP,YAAA,KAASC,cAAA,UC7B7E,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,UAAU,MAAQ,GAAG,mBAAmB,MAAMgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,kBAAkB,CAACO,GAAG,CAAC,KAAO,SAASC,GAAQ,OAAOZ,EAAIqZ,UAAUzY,SAAc6E,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,GAAGL,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIsZ,QAAQ,QAAUtZ,EAAIzC,QAAQ,sBAAsB,GAAG,MAAQ,IAAI+H,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAC/kB,IAAI0I,EAAO1I,EAAI0I,KACXzO,EAAQ+F,EAAI/F,MAChB,MAAO,CAACyF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKzU,SAASyL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKC,YAAYjJ,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKE,eAAelJ,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKG,oBAAoBnJ,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIuZ,oBAAoB5e,MAAU,CAACyF,EAAG,SAAS,CAACJ,EAAIO,GAAG,sBAAsB,IAAI,aAAa,IAAI,IAClW,GAAkB,GCJlB,GAAS,WAAa,IAAIP,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,mBAAmB,cAAgBT,EAAIH,QAAQ,WAAa,SAASc,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,sBAAsB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIH,QAAQqB,GAAKG,WAAW,cAAc,IAAI,IAAI,IAC1nB,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,eAAe,CAACmB,YAAY,iBAAiBjB,MAAM,CAAC,MAAQN,EAAIwZ,iBAAiB,SAAW,GAAG,cAAc,kBAAkB,MAAQxZ,EAAIsH,MAAM,SAAWtH,EAAIyH,UAAY,MAAM,MAAQzH,EAAImH,OAASnH,EAAIS,GAAG,kBAAkB,UAAYT,EAAIwH,WAAW7G,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIrI,OAAS,MAAM,cAAcqI,EAAI4J,kBAAkBxJ,EAAG,WAAW,CAACE,MAAM,CAAC,YAAY,QAAQ,WAAa,GAAG,WAAa,IAAIU,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,gBAAgB,CAACM,IAAI,gBAAgBJ,MAAM,CAAC,WAAa,IAAIK,GAAG,CAAC,SAAW,SAASC,GAAQ,OAAOZ,EAAI6J,cAAcjJ,KAAU0E,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAIuH,UAAYvH,EAAI5K,MAAMrC,OAAQ,CAAC2C,IAAI,SAAS8P,GAAG,WAAW,MAAO,CAACpF,EAAG,MAAM,CAACmB,YAAY,QAAQvB,EAAI0F,GAAI1F,EAAS,OAAE,SAASH,EAAQlF,GAAO,OAAOyF,EAAG,SAAS,CAAC1K,IAAIiF,EAAM4G,YAAY,OAAOjB,MAAM,CAAC,MAAQ,IAAIK,GAAG,CAAC,cAAc,SAASC,GAAQ,OAAOZ,EAAIgK,uBAAuBrP,MAAU,CAACqF,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI0Y,UAAU7Y,IAAU,UAAS,KAAK4F,MAAM,MAAM,KAAK,CAAC/P,IAAI,UAAU8P,GAAG,WAAW,MAAO,CAACpF,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,MAAQ,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIrI,OAAS,SAAS,CAACqI,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,OAAQT,EAAY,SAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,UAAUK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIrI,OAAS,SAAS,CAACqI,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,eAAe,OAAOT,EAAI6C,OAAO4C,MAAM,OAAO,KAAK,SAAS,IAAI,IACtgD,GAAkB,GCDlB,GAAS,WAAa,IAAIzF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,SAAS,CAACO,GAAG,CAAC,OAAS,SAASC,GAAQA,EAAOC,iBAAiB,OAAOb,EAAIqI,eAAe,CAACjI,EAAG,YAAY,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,GAAG,MAAQ,UAAU,mBAAmBN,EAAIkK,MAAQ,OAAS,QAAQ5E,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAe,YAAE,CAACtK,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,iBAAiB,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIyZ,gBAAgB7Y,OAAYR,EAAG,YAAYA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIoK,eAAelJ,GAAKG,WAAW,sBAAsBoE,MAAM,MAAM,MAAM,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBL,EAAG,YAAcJ,EAAIoK,eACnkBpK,EAAI6C,KAD+kBzC,EAAG,eAAe,CAACM,IAAI,QAAQJ,MAAM,CAAC,cAAc,GAAG,eAAe,GAAG,cAAc,SAAS,UAAY,GAAG,MAAQN,EAAIS,GAAG,WAAWE,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI0Z,YAAc,EACr9B1Z,EAAIqI,aAAc,cAAcrI,EAAIqI,WAAWrH,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAU,EAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,IAAqB,kBAARnJ,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,iBAA0B,GAAGrB,EAAIgG,GAAG,WAAW,GAAG5F,EAAG,cAAc,CAAEJ,EAAkB,eAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAa,KAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,OAAQnJ,IAAMG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAgB,QAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,UAAWnJ,IAAMG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAc,MAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,QAASnJ,IAAMG,WAAW,qBAAqB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,kBAAkB,kBAAkB,GAAG,UAAY,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,kBAAkB,UAAU,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA8B,sBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,wBAAyBnJ,IAAMG,WAAW,qCAAqC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,kBAAkB,UAAU,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA6B,qBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,uBAAwBnJ,IAAMG,WAAW,oCAAoC,IAAI,IAAI,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,eAAe,GAAG,QAAUN,EAAIzC,QAAQ,MAAQyC,EAAI2Z,QAAQ,QAAU3Z,EAAI2J,QAAQ,KAAO3J,EAAI0Z,YAAY,iBAAiB1Z,EAAI4Z,SAAS,sBAAsB5Z,EAAI6Z,mBAAmB,eAAe,CAC5xF,yBAA0B,CAAC,GAAI,GAAI,GAAI,GAAI,MAC3C,eAAe7Z,EAAIS,GAAG,iBAAiBE,GAAG,CAAC,cAAc,CAAC,SAASC,GAAQZ,EAAI0Z,YAAY9Y,GAAQ,SAASA,GAAQ,OAAOZ,EAAIqI,cAAc,sBAAsB,SAASzH,GAAQZ,EAAI4Z,SAAShZ,GAAQ,wBAAwB,CAAC,SAASA,GAAQZ,EAAI4Z,SAAShZ,GAAQ,SAASA,GAAQ,OAAOZ,EAAIqI,eAAe/C,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACjW,IAAI0I,EAAO1I,EAAI0I,KACzB,MAAO,CAAChJ,EAAG,KAAK,CAACyK,MAAM,CAAEC,WAAY9K,EAAI8K,YAAanK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI8Z,YAAY1Q,EAAK3S,OAAO,EAAGuJ,EAAI8K,YAAc9K,EAAIuD,cAAc,gBAAiBnD,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,kBAAkB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,OAAO,GAAGuJ,EAAI6C,KAAKzC,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI+Z,cAAc3Q,EAAK3S,QAAQ2J,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAK4B,QAAQC,KAAK,UAAU7K,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKkF,gBAAgBlO,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKmF,iBAAiBnO,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIyR,kBAAkBrI,EAAKmE,oCAAoC,IAAI,GAAGvN,EAAIgG,GAAG,WAAW,GAAIhG,EAAIsL,OAAc,QAAElL,EAAG,aAAaJ,EAAI6C,KAAM7C,EAAIsL,OAAc,QAAElL,EAAG,iBAAiB,CAACJ,EAAIgG,GAAG,YAAY,GAAGhG,EAAI6C,MAAM,IACrrB,GAAkB,GCFhBmX,GAAW,EAAA9b,EAAMzI,OAAO,CAC5B0I,QAAS,GAAF,OAAK,EAAIE,SAASF,QAAlB,mBAETtB,EAAoBmd,IACL,UCRX,GAAS,WAAa,IAAIha,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,mBAAmBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,YAAY,CAACY,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAIia,MAAM/Y,GAAKG,WAAW,YAAY,IACvb,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,+BAA+B,cAAcT,EAAIia,MAAMC,gBAAgBvZ,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,mBAAoB1M,QAAa,IAAI,GAAIZ,EAAIia,MAAoB,eAAE7Z,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,+BAA+B,MAAQT,EAAIia,MAAME,iBAAiB,MAAQna,EAAIoa,wBAAwBzZ,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,mBAAoB1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sCAAsC,MAAQT,EAAIia,MAAMI,uBAAuB1Z,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,wBAAyB1M,EAAQ,aAAa,IAAI,GAAGZ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACyK,MAAM,CAAE,OAAQ7K,EAAIia,MAAMC,iBAAkB,CAAEla,EAAIia,MAAoB,eAAE7Z,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gCAAgC,OAAOT,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQT,EAAIia,MAAMtlB,KAAK,MAAQqL,EAAIsa,sBAAsB3Z,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIia,MAAM5Q,QAAQ,MAAQrJ,EAAIsa,sBAAsB3Z,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,UAAW1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIia,MAAM3Q,WAAW,MAAQtJ,EAAIsa,sBAAsB3Z,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAIia,MAAM1Q,gBAAgB,MAAQvJ,EAAIsa,sBAAsB3Z,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQT,EAAIia,MAAMzM,SAAS,MAAQ,kBAAkB,kBAAkB,IAAI7M,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIia,MAAM9L,YAAYxN,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIia,MAAMjL,YAAYrO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAIia,MAAM3L,aAAa3N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAIia,MAAM1L,cAAc5N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,eAAgB1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,MAAQT,EAAIia,MAAM1M,qBAAqB,kBAAkB,WAAW5M,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,uBAAwB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIia,MAAM/O,sBAAsB,kBAAkB,WAAWvK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,wBAAyB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAIia,MAAMjP,QAAQ,MAAQhL,EAAIS,GAAG,oBAAoBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,UAAW1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,cAAcT,EAAIia,MAAM5K,SAAS1O,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,UAAW1M,QAAa,IAAI,IAAI,IACtiI,GAAkB,GC4JP,UAAIc,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGT8O,SAAU,CAeRmY,MAfQ,aAgBN,OAAOha,KAAK7K,MACR6K,KAAK7K,MACL,CACEqB,GAAI,EACJ8jB,YAAa,EACb5lB,KAAM,GACN0U,QAAS,GACTC,WAAY,GACZC,gBAAiB,GACjByB,QAAS,GACTmD,WAAY,GACZX,SAAU,EACV6B,QAAS,MACTL,WAAY,GACZV,YAAa,GACbC,aAAc,GACdrD,sBAAuB,EACvBqC,qBAAsB,EACtBiN,eAAgB,GAChBN,eAAgB,MAChBC,iBAAkB,GAClBE,sBAAuB,GACvBI,UAAW,QAInBH,qBA1CQ,aA0CY,WAClB,IAAKra,KAAKga,MAAMC,eACd,MAAO,CAAC,SAAC9e,GAAD,QAASA,GAAK,EAAK8d,MAAM7jB,EAAE,oBAErC,MAAO,IAGT+kB,uBAjDQ,aAiDc,WACpB,GAAIna,KAAKga,MAAMC,eACb,MAAO,CAAC,SAAC9e,GAAD,QAASA,GAAK,EAAK8d,MAAM7jB,EAAE,oBAErC,MAAO,KAIX4M,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAKga,QAAQ,SAAC7e,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,WC7O6X,MCO/a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAChH,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKC,cAAA,OCJnC,cAAIlB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLmH,MAAO,KACP/B,OAAQ,MACRsiB,MAAO,OAGXhY,QAAS,CAKP4D,MALO,aAML5F,KAAKvG,MAAQ,KACbuG,KAAKga,MAAQ,MAOTnU,KAdC,a,+KAeA7F,KAAKga,M,0DAKRha,KAAKvG,MAAQ,K,SACI,OAAM,GAASka,KAAK,iBAAkB,CACrDrhB,KAAM,CACJoC,KAAMsL,KAAKga,MAAMtlB,KACjB0U,QAASpJ,KAAKga,MAAM5Q,QACpBC,WAAYrJ,KAAKga,MAAM3Q,WACvBC,gBAAiBtJ,KAAKga,MAAM1Q,gBAC5ByB,QAAS/K,KAAKga,MAAMjP,QACpBmD,WAAYlO,KAAKga,MAAM9L,WACvBX,SAAUvN,KAAKga,MAAMzM,SACrB6B,QAASpP,KAAKga,MAAM5K,QACpBL,WAAY/O,KAAKga,MAAMjL,WACvBV,YAAarO,KAAKga,MAAM3L,YACxBC,aAActO,KAAKga,MAAM1L,aACzBrD,sBAAuBjL,KAAKga,MAAM/O,sBAClCqC,qBAAsBtN,KAAKga,MAAM1M,qBACjC2M,eAAgBja,KAAKga,MAAMC,eAC3BC,iBAAkBla,KAAKga,MAAME,iBAC7BE,sBAAuBpa,KAAKga,MAAMI,yB,OAjBhCnd,E,OAqBA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAG/Bwa,EAAQta,EAAoBF,EAAU,SAC5C4G,KAAK8H,MAAM,QAAS8L,GAGpB5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV4G,gBCvFob,MCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI3a,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,WAAa,GAAG,MAAQN,EAAIS,GAAG,mBAAmBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,YAAY,KAAK,KAAKD,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,YAAY,CAACY,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAIia,MAAM/Y,GAAKG,WAAW,YAAY,IACnkB,GAAkB,GCyBP,UAAIK,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAENhN,KAJwB,aAKtB,MAAO,CACLmH,MAAO,KACP/B,OAAQ,MACRsiB,MAAO,OAGXnY,SAAU,OAAF,UACH,eAAW,QAAS,CAAC,iBAE1BG,QAAS,CAKP4D,MALO,aAML,GAAI5F,KAAKxJ,GAAI,CAGX,IAAMmkB,EAAgB3a,KAAK4a,YAAY5a,KAAKxJ,IAC5CwJ,KAAKga,MAAQjnB,OAAOyI,OAAO,GAAImf,QAE/B3a,KAAKga,MAAQ,KAEfha,KAAKvG,MAAQ,MAOToM,KArBC,a,6KAsBA7F,KAAKga,M,0DAIRha,KAAKvG,MAAQ,K,SACI,OAAM,GAASka,KAAK,iBAAkB,CACrDrhB,KAAM,CACJkE,GAAIwJ,KAAKxJ,GACT9B,KAAMsL,KAAKga,MAAMtlB,KACjB0U,QAASpJ,KAAKga,MAAM5Q,QACpBC,WAAYrJ,KAAKga,MAAM3Q,WACvBC,gBAAiBtJ,KAAKga,MAAM1Q,gBAC5ByB,QAAS/K,KAAKga,MAAMjP,QACpBmD,WAAYlO,KAAKga,MAAM9L,WACvBX,SAAUvN,KAAKga,MAAMzM,SACrB6B,QAASpP,KAAKga,MAAM5K,QACpBL,WAAY/O,KAAKga,MAAMjL,WACvBV,YAAarO,KAAKga,MAAM3L,YACxBC,aAActO,KAAKga,MAAM1L,aACzBrD,sBAAuBjL,KAAKga,MAAM/O,sBAClCqC,qBAAsBtN,KAAKga,MAAM1M,qBACjC2M,eAAgBja,KAAKga,MAAMC,eAC3BC,iBAAkBla,KAAKga,MAAME,iBAC7BE,sBAAuBpa,KAAKga,MAAMI,sBAClCI,UAAWxa,KAAKga,MAAMQ,a,OAnBpBvd,E,OAwBA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAGrC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV4G,gBCtGqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QCuJA,UAAIjZ,OAAO,CACxBsG,MAAO,CACL8C,WAAY5C,QACZgC,MAAOhC,SAETE,QALwB,aAOtBnI,KAAKoI,YAILpI,KAAKoI,UAAY,IAAEwN,SAAS5V,KAAKoI,UAAW,MAE9C9V,KAbwB,aActB,MAAO,CACLoX,QAAS,MACTS,eAAgB,MAChBC,SAAU,CACR0L,EAAG,GACHphB,KAAM,GACN0U,QAAS,GACTC,WAAY,GACZC,gBAAiB,GACjByM,MAAO,GACPxI,SAAU,EACVtC,sBAAuB,EACvBqC,qBAAsB,GAExBmJ,UAAW,GACXgD,YAAa,EACbG,mBAAoB,EACpBD,SAAU,KAGd9X,SAAU,OAAF,oDACH,eAAW,YAAa,CAAC,uBACzB,eAAW,QAAS,CAAC,gBAAiB,iBACtC,eAAW,OAAQ,CAAC,mBAAiB,CAExC6U,YAFwC,aAGtC,GAAI1W,KAAKsD,cAAc,gBAAiB,CACtC,IAAKtD,KAAK6K,WAIR,OAAO,KAGT,QAAS7K,KAAKoL,YAGhB,OAAO,OASTsO,QAvBwC,aAwBtC,OAAO,IAAErjB,IAAI2J,KAAKyW,WAAa,GAAIzW,KAAK4a,cAS1CxP,YAjCwC,aAkCtC,OAAOG,GAAsBvL,KAAKoK,WAOpC9M,QAzCwC,aA0CtC,IAAMA,EAAiB,CACrB,CAAEmL,KAAM7K,EAAKxI,EAAE,eAAgBD,MAAO,QAAS2hB,MAAO,OACtD,CAAErO,KAAM7K,EAAKxI,EAAE,uBAAwBD,MAAO,SAAU2hB,MAAO,OAC/D,CACErO,KAAM7K,EAAKxI,EAAE,sBACbD,MAAO,eAET,CACEsT,KAAM7K,EAAKxI,EAAE,uBACbD,MAAO,gBAET,CACEsT,KAAM7K,EAAKxI,EAAE,oBACbD,MAAO,yBAGN6K,KAAK6K,YACRvN,EAAQ4T,QAAQ,CACdzI,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,KACP0lB,SAAU,QAGd,OAAOvd,KAGXwE,MAAO,CAKLsJ,YALK,WAKO8L,GACVlX,KAAKyZ,YAAc,EACnBzZ,KAAKoI,aAOP+B,eAdK,WAcUkN,GACbrX,KAAK4F,UAGT5D,QAAS,CAQPwX,gBARO,WAQS5F,GACd,GAAI5T,KAAK6K,WACP7K,KAAK6Z,YAAYjG,OACZ,CACL5T,KAAKyW,UAAUvF,QAAQ0C,GACnB5T,KAAK4Z,mBAAqB,IAC5B5Z,KAAK4Z,mBAAqB,KAShCC,YAvBO,WAuBKja,GACVI,KAAK8H,MAAM,WAAYpO,SAASkG,EAAS,MAQ3CgG,MAhCO,aAgCF,WACH5F,KAAKyX,WAAU,WACb,EAAKrN,SAAS0L,EAAI,GAClB,EAAK1L,SAAS1V,KAAO,GACrB,EAAK0V,SAAShB,QAAU,GACxB,EAAKgB,SAASf,WAAa,GAC3B,EAAKe,SAASd,gBAAkB,GAChC,EAAKc,SAAS2L,MAAQ,GACtB,EAAK3L,SAASmD,SAAW,EACzB,EAAKnD,SAASa,sBAAwB,EACtC,EAAKb,SAASkD,qBAAuB,EACrC,EAAKlF,YACD,EAAKzG,MAAM+B,OACZ,EAAK/B,MAAM+B,MAAc9B,YAU1BwG,UAvDC,a,gLAwDLpI,KAAK0J,QAAU,KAEToI,EAAO,GACbA,EAAK1e,KAAL,qBAAwB4M,KAAK2Z,WAC7B7H,EAAK1e,KAAL,uBAA0B4M,KAAKyZ,cAC/B3H,EAAK1e,KAAK4M,KAAKoL,a,kBAGI,OAAM,GAASrW,IAC9B,mBAAqB+c,EAAK9G,KAAK,M,OAD3B/N,E,OAGN,GAAIA,GAAYA,EAAS3K,MAAQ2K,EAAS3K,KAAKA,KAAM,CAC/C2K,EAAS3K,KAAKwoB,OAChB9a,KAAK4Z,mBAAqB3c,EAAS3K,KAAKwoB,KAAKC,cAEzCrB,EAAUzc,EAAS3K,KAAKA,KAC9B0N,KAAKyW,UAAY,IAAEpgB,IAAIqjB,EAAS,MAC1BtgB,EAAWL,EAAc,QAAS2gB,GACxC1Z,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAG/B4hB,EAAS,IAAErc,MAAMqB,KAAK0Z,SACzBrjB,KAAI,SAACL,GAAD,MAAO,CAACA,EAAEsX,yBACdzB,UACAoP,UACAlgB,OACA5F,QACH6K,KAAK2I,OAAOlQ,SAAS,2BAA4BuiB,G,kBAGnDhb,KAAK0J,QAAU,M,oFAIrBoK,WAAY,CACVoH,kBACAC,sBChYmb,MCOnb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAiBhC,KAAkB,GAAW,CAAC/Y,SAAA,KAAMC,aAAA,QAAaC,UAAA,QAAUmR,aAAA,KAAUjR,QAAA,KAAKsV,cAAA,KAAWhT,YAAA,KAASiT,SAAA,KAAMrV,QAAA,KAAKqC,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UCyBtH,cAAIxD,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CAAC+D,MAAOoG,QAGf4H,MAAOc,OAGPX,MAAOnO,MAGPsO,SAAUS,QAGVV,UAAWU,QAIXX,SAAUW,SAGZ3V,KArBwB,aAsBtB,MAAO,CACLoF,OAAQ,QAIZoK,MAAO,CACLpK,OADK,WACEwf,GAAe,WACpBlX,KAAKyX,WAAU,WACZ,EAAK9V,MAAMyZ,cAAsBxV,aAKxC/D,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAW,QAAS,CAAC,eAAa,CACrC0X,iBADqC,aAGnC,IAAMlN,EAAM,IAAER,QAAQ,CAAC7L,KAAK7K,OAAS,KAErC,OAAO,IAAEkB,IAAIgW,EAAKrM,KAAKyY,WAAWzN,KAAK,SAI3ChJ,QAAS,CAOP2H,eAPO,aAQA3J,KAAKsH,SAGRtH,KAAK8H,MAAM,QAAS,IAFpB9H,KAAK8H,MAAM,QAAS,IAYxB8B,cArBO,WAqBO8O,GACZ,IAAK1Y,KAAKsH,SAAU,CAClBtH,KAAK8H,MAAM,QAAS4Q,GAEpB1Y,KAAKtI,OAAS,MACd,OAEF,IAAM2jB,EAAc,IAAExP,QAAQ,CAAC7L,KAAK7K,OAAS,KACvCmjB,EAAS,IAAEvd,KAAF,yBAAWsgB,GAAX,CAAwB3C,KACvC1Y,KAAK8H,MAAM,QAASwQ,IAQtBvO,uBAtCO,WAsCgBnX,GACrB,IAAMyoB,EAAc,IAAExP,QAAQ,CAAC7L,KAAK7K,OAAS,KACvCmjB,EAAS,eAAI+C,GACnB/C,EAAOtkB,OAAOpB,EAAG,GACjBoN,KAAK8H,MAAM,QAASwQ,KAGxBxE,WAAY,CACVwH,oBCxJyb,M,aCQzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACnZ,QAAA,KAAKyW,SAAA,KAAMC,WAAA,KAAQ9T,WAAA,KAAQpC,cAAA,OCA1C,cAAIlB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MAERkI,QAAS,IAGboC,QAAS,CAKP4D,MALO,aAML5F,KAAKJ,QAAU,GAOjBiG,KAbO,aAcL7F,KAAK8H,MAAM,OAAQ9H,KAAKJ,SACxBI,KAAKtI,OAAS,QAGlBoc,WAAY,CACVyH,0BCvDqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC/Y,QAAA,KAAKE,QAAA,OCmBpB,cAAIjB,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CACL6D,KAAME,MACN6f,SAAU,OAGdlX,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,iBAAe,CACvCwX,QADuC,aAChC,WACL,OAAO,IAAEhjB,IAAI2J,KAAK7K,OAAS,IAAI,SAACqB,GAAD,OAAQ,EAAKokB,YAAYpkB,OAE1D8G,QAJuC,aAKrC,IAAM0b,EAAI,CACR,CACEvQ,KAAMzI,KAAKiZ,MAAM7jB,EAAE,eACnBD,MAAO,QAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,kBACnBD,MAAO,WAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,qBACnBD,MAAO,cAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,0BACnBD,MAAO,mBAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,kBACnB0hB,MAAO,SAGX,OAAOkC,KAGXhX,QAAS,CACPoX,UADO,WACGxZ,GACR,IAAMsZ,EAAW,IAAEne,KAAF,yBAAWiF,KAAK7K,OAAhB,CAAuByK,KACxCI,KAAK8H,MAAM,QAASoR,IAEtBI,oBALO,WAKa5e,GAClB,IAAMwe,EAAW,eAAIlZ,KAAK7K,OAC1B+jB,EAASllB,OAAO0G,EAAO,GACvBsF,KAAK8H,MAAM,QAASoR,KAGxBpF,WAAY,CACV0H,sBC7Fkb,MCOlb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAACrZ,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUwV,cAAA,KAAWrD,SAAA,KAAMzP,YAAA,KAASC,cAAA,UC7B7E,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,UAAU,mBAAmB,QAAQgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,2BAA2B,CAACE,MAAM,CAAC,WAAa,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI0b,YAAY9a,SAAc6E,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iCAAiC,GAAGL,EAAG,cAAc,CAAEJ,EAAIiH,kBAAwB,OAAE7G,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIiH,kBAAkB,QAAUjH,EAAIzC,QAAQ,eAAe,GAAG,sBAAsB,IAAI+H,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAC1qB,IAAI0I,EAAO1I,EAAI0I,KACXzO,EAAQ+F,EAAI/F,MAChB,MAAO,CAACyF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,4BAA4B,CAACE,MAAM,CAAC,cAAc,UAAUU,MAAM,CAAC5L,MAAO4K,EAAIiH,kBAAkBtM,GAAQsG,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIiH,kBAAmBtM,EAAOuG,IAAMG,WAAW,+BAA+B,GAAGjB,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKjC,UAAU/G,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKxC,gBAAgBxG,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIyR,kBAAkBrI,EAAKuS,yBAAyBvb,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKwS,aAAaxb,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ8I,EAAKyS,qBAAqB,GAAGzb,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,qBAAqB,CAACE,MAAM,CAAC,KAAO,GAAG,UAAU,GAAG,OAASN,EAAIS,GAAG,kBAAoB,MAAQ2I,EAAKjC,OAAOxG,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAI8b,eAAe1S,EAAKzO,UAAU,CAACyF,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,mBAAmB,IAAI,GAAGH,EAAG,KAAK,CAACA,EAAG,0BAA0B,CAACE,MAAM,CAAC,OAASN,EAAIiH,kBAAkBtM,OAAW,SAAS,KAAK,MAAM,aAAaqF,EAAI6C,MAAM,IAAI,IAC/9B,GAAkB,GCJlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,eAAeN,EAAI+b,YAAY,MAAQ/b,EAAIS,GAAG,8BAA8B,WAAaT,EAAIgc,YAAYrb,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,sBAAsB,CAACY,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIic,gBAAgB/a,GAAKG,WAAW,sBAAsB,IACtiB,GAAkB,GCDlB,GAAS,WACb,IAAI6a,EAASjc,KACTD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAIic,gBAAgBE,OAAO,MAAQ,6BAA6B,MAAQ,CAAC,SAAU/gB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,SAAU1M,QAAa,GAAGR,EAAG,YAAaJ,EAAIic,gBAAgC,iBAAE7b,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIic,gBAAgBJ,iBAAiB,MAAQ7b,EAAIS,GAAG,gCAAgC,SAAW,OAAO,GAAGT,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAAEJ,EAAW,QAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ,qBAAqB,MAAQT,EAAIic,gBAAgBG,OAAO,MAAQ,CAAC,SAAUhhB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,SAAU1M,QAAa,GAAGZ,EAAI6C,KAAM7C,EAAc,WAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAON,EAAIqc,kBAAoB,EAAI,IAAI,CAACjc,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQ,mBAAmB,MAAQT,EAAIic,gBAAgBK,WAAW,MAAQ,CAAC,SAAUlhB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,QAAa,GAAGZ,EAAI6C,KAAM7C,EAAqB,kBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIuc,sBACjgDvc,EAAIic,gBAAgBK,WACpB,oBACA,MAAQtc,EAAIic,gBAAgBO,uBAAuB7b,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,wBAAyB1M,QAAa,GAAGZ,EAAI6C,KAAM7C,EAAe,YAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,MAAQT,EAAIic,gBAAgBL,UAAUjb,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,EAAQ,eAAe,GAAGZ,EAAI6C,KAAM7C,EAAY,SAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,MAAQT,EAAIic,gBAAgB9U,MAAM,SAAW,GAAG,MAAQ,CAAC,SAAU/L,GAAK,QAASA,GAAK8gB,EAAOhD,MAAM7jB,EAAE,qBAAuBsL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,QAAS1M,EAAQ,aAAa,GAAGZ,EAAI6C,KAAM7C,EAAe,YAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,KAAO,SAAS,MAAQT,EAAIyc,iBAAiB9b,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,yBAA0B1M,EAAQ,YAAYI,MAAM,CAAC5L,MAAO4K,EAAIic,gBAAsC,uBAAEhb,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIic,gBAAiB,yBAA0B/a,IAAMG,WAAW,6CAA6C,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gCAChwCT,EAAIqc,kBACD,KAAOrc,EAAIuc,sBAAsB,EAAG,oBAAsB,IAC1D,IAAI,MAAQ,CAAC,SAAUnhB,GAAK,QAASA,GAAK8gB,EAAOhD,MAAM7jB,EAAE,oBAAsB,SAAW,IAAIsL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,KAAUI,MAAM,CAAC5L,MAAO4K,EAAIic,gBAA+B,gBAAEhb,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIic,gBAAiB,kBAAmB/a,IAAMG,WAAW,sCAAsC,IAAI,GAAIrB,EAAuB,oBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,MAAQT,EAAIic,gBAAgBrV,YAAY,KAAO,KAAKjG,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,EAAQ,aAAa,IAAI,GAAGZ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIic,gBAAgBN,oBAAoB,MAAQ3b,EAAIyc,iBAAiB9b,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,sBAAuB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIic,gBAAgBS,gBAAgB,KAAO,IAAI,MAAQ1c,EAAIS,GAAG,sCAAsCE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,EAAQ,aAAa,GAAIZ,EAAIic,gBAAkB,GAAE7b,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,cAAcT,EAAIic,gBAAgBxB,WAAW9Z,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,QAAa,GAAGZ,EAAI6C,MAAM,IAAI,IACl9C,GAAkB,G,aCcJ8Z,IAAlB,SAAkBA,GAChB,4BACA,4BACA,gCACA,wBACA,+BALF,CAAkBA,QAAqB,KAQhC,IAAM,GAAQ,CACnBV,gBAAiB,GACjBW,6BAA8B,IAGnB,GAAU,CACrBC,0BACE,WAAC/kB,GAAD,OACA,SAAC2H,GACC,IAAMqd,EAAahlB,EAAM8kB,6BAA6Bnd,IAAc,GACpE,OAAOqd,EAAWxmB,KAChB,SAACG,GAAD,OAAgBqB,EAAMmkB,gBAAgBxlB,QAG5CsmB,0CACE,WAACjlB,EAAOiB,GAAR,OACA,SAAC0G,GACC,IAAMqd,EAAa/jB,EAAQ8jB,0BAA0Bpd,IAAc,GACnE,OAAO,IAAEb,MAAMke,GACZxmB,KAAI,SAAC2lB,GAAD,OAAqBA,EAAgBJ,oBACzCmB,MACA5nB,UAEP6nB,sBACE,WAACnlB,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAMmkB,gBAAgBxlB,KAOjCymB,oBACE,WAACplB,EAAOiB,EAASokB,EAAWC,GAA5B,OACA,SAACC,GACC,IAAM/Q,EAAM,IAAER,QAAQ,CAACuR,IACvB,OAAO,IAAEze,MAAM0N,GACZhW,KAAI,SAACG,GACJ,IAAM6mB,EAAUxlB,EAAMmkB,gBAAgBxlB,GACtC,IAAK6mB,EACH,MAAO,6BAAP,OAAoC7mB,GAGtC,IAAM8mB,EAAYH,EAAY,kCAC9B,GACEE,EAAQnB,SAAWQ,GAAsBa,OACzCF,EAAQlB,OAER,OAAOmB,EAAUD,EAAQlB,OAAQ,sBAEnC,GACEkB,EAAQnB,SAAWQ,GAAsBc,UACzCH,EAAQhB,WAER,OAAOiB,EAAUD,EAAQhB,WAAY,oBAEvC,IAAInV,EAAQmW,EAAQnW,MAChBmW,EAAQ1W,cACVO,EAAQA,EAAQ,MAAQmW,EAAQ1W,aAElC,OAAOO,KAER/R,QACA6V,KAAK,SAID,GAAY,CAQvByS,mCARuB,WAQY5lB,EAAO2H,GACxC,IAAME,EAAyB3M,OAAO2L,OAAO7G,EAAMmkB,iBAC7C3P,EAAM,IAAE1N,MAAMe,GAAKd,OAAO,CAAEY,cAAanJ,IAAI,MAAMlB,QACzD,OAAImF,IAAIzC,EAAM8kB,6BAA8Bnd,EAAW6M,KAI9C,GAAU,CACfqR,iCADe,aAGnBljB,GAA8B,IAD5BhC,EAC4B,EAD5BA,O,qLAGe,OAAM,GAASzD,IAAT,mBACTyF,EAAQgF,UADC,wB,OAAjBvC,E,OAGA+J,EAAoB/J,EAAS3K,KAAKA,KAClC8G,EAAWL,EAAc,kBAAmBiO,GAClDxO,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,+BACRK,MAAOF,EAAQgF,UACfrK,MAAO,IAAEkB,IAAI2Q,EAAmB,Q,6CCgCvB,UAAIvF,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGT8O,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,iBAAkB,2BAC1C,eAAS,QAAS,CAAC,eAAgB,0BAAwB,CAC9D8b,2BAD8D,aAE5D,OAAO3d,KAAK4d,qBAAqBvnB,KAAI,SAACnC,GAAD,MAAQ,CAC3CiB,MAAOjB,EACPuU,KAAM7K,EAAKxI,EAAE,wCAA0ClB,QAkB3D8nB,gBAtB8D,aAuB5D,OAAOhc,KAAK7K,MACR6K,KAAK7K,MACL,CACEqB,GAAI,EACJgJ,UAAW,EACX0c,OAAQQ,GAAsBmB,QAC9B1B,OAAQ,EACRE,WAAY,EACZnV,MAAO,GACPP,YAAa,GACb+U,oBAAqB,EACrBe,gBAAiB,GACjBqB,uBAAwB,EACxBC,gBAAiB,EACjBpC,SAAU,EACVC,iBAAkB,IAI1BoC,SA1C8D,aA2C5D,QAAoCvjB,IAAhCuF,KAAKgc,gBAAgBG,OACvB,OAAOnc,KAAKsc,sBACVtc,KAAKgc,gBAAgBG,OACrBnc,KAAKie,cAGT,MAAO,KAGTC,SApD8D,aAqD5D,OAAQle,KAAKgc,gBAAgBE,QAC3B,KAAKQ,GAAsBa,MACzB,OAAO,MACT,KAAKb,GAAsBc,SACzB,OAAO,MACT,QACE,OAAO,OAIbW,iBA/D8D,aAgE5D,OAA2C,IAApCne,KAAKgc,gBAAgBK,YAG9B+B,QAnE8D,aAoE5D,OAAOpe,KAAKgc,gBAAgBE,SAAWQ,GAAsBa,OAG/Dc,WAvE8D,aAwE5D,OAAOre,KAAKgc,gBAAgBE,SAAWQ,GAAsBc,UAG/DpB,kBA3E8D,aA4E5D,IAAKpc,KAAKqe,WACR,OAAO,MAET,OAA2C,IAApCre,KAAKgc,gBAAgBK,YAG9BiC,YAlF8D,aAmF5D,OAAOte,KAAKgc,gBAAgBE,SAAWQ,GAAsBmB,SAG/DU,YAtF8D,aAuF5D,OAAOve,KAAKgc,gBAAgBE,SAAWQ,GAAsB8B,WAG/DC,oBA1F8D,aA2F5D,GAAIze,KAAKqe,WACP,OAAO,MAET,GAAIre,KAAKoe,QACP,OAAO,MAET,OAAO,MAKT5B,gBAtG8D,aAsG/C,WACb,GAAIxc,KAAKue,YACP,MAAO,CAAC,SAACpjB,GAAD,OAAOA,EAAI,GAAK,EAAK8d,MAAM7jB,EAAE,oBAEvC,MAAO,MAIX4M,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAG7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExB,GAAiB,WAAbgS,EAAuB,CACzB,IAAIuL,EAAQhlB,SAASvE,EAAO,IAGxBmK,OAAOqf,MAAMD,KACfA,EAAQ,GAEVjE,EAAgBiE,EAIlB,IAAME,EAAQ,iBAAI,uBAAU5e,KAAKgc,kBAAkB,SAAC7gB,GAAD,OACjD,iBAAIA,EAAG1F,EAAKglB,MAGd,GAAY,WAARhlB,EAAkB,CAGhBmpB,EAAM1C,SAAWQ,GAAsBmB,UACzCe,EAAMjD,SAAW,GAIfiD,EAAM1C,SAAWQ,GAAsB8B,YACzCI,EAAMd,uBAAyB,GAI7Bc,EAAM1C,SAAWQ,GAAsBa,QACzCqB,EAAMzC,OAAS,GAIbyC,EAAM1C,SAAWQ,GAAsBc,SACzCoB,EAAMvC,WAAa,EAEM,IAArBuC,EAAMvC,aAERuC,EAAMvC,WAAa,GAMzBuC,EAAMhD,iBAAmBgD,EAAMjD,SAAWiD,EAAMb,gBAIhD/d,KAAK8H,MAAM,QAAS8W,OCvViZ,MCOva,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACnL,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKqC,WAAA,KAAQpC,cAAA,KAAW+Q,aAAA,OCHtD,cAAIjS,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACPzI,UAAW,CACTqf,QAAS,EACT7lB,KAAMsG,QAERwf,OAAQ,CACND,QAAS,EACT7lB,KAAMsG,QAERwc,YAAa7T,QACb8T,WAAY/T,QAGdG,QAfwB,aAgBtBnI,KAAKtI,SAAWsI,KAAK7K,OAGvB7C,KAnBwB,aAoBtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEPuiB,gBAAiB,OAIrBla,MAAO,CACL3M,MADK,WACC+hB,GACJlX,KAAKtI,SAAWwf,GAGlBxf,OALK,WAKEwf,GACLlX,KAAK8H,MAAM,UAAWoP,KAI1BlV,QAAS,CACP4D,MADO,aAEL5F,KAAKgc,gBAAkB,MAKzBnW,KAPO,aAQL,IAAK7F,KAAKgc,gBACR,OAEEhc,KAAKR,UACPQ,KAAK+e,aAAa/e,KAAKgc,iBAEvBhc,KAAKgf,aAAahf,KAAKgc,kBAO3BgD,aArBO,WAqBMC,GACXjf,KAAK8H,MAAM,QAASmX,GACpBjf,KAAKtI,OAAS,OAMVqnB,aA7BC,WA6BYE,G,0KACjBjf,KAAKvG,MAAQ,K,kBAEM,OAAM,GAASka,KAAK,4BAA6B,CAChErhB,KAAM,CACJkN,UAAWQ,KAAKR,UAChBsf,OAAQ9e,KAAK8e,OACb5C,OAAQ+C,EAAG/C,OACXC,OAAQ8C,EAAG9C,OACXE,WAAY4C,EAAG5C,WACfE,sBAAuB0C,EAAG1C,sBAC1BrV,MAAO+X,EAAG/X,MACVP,YAAasY,EAAGtY,YAChB+U,oBAAqBuD,EAAGvD,oBACxBe,gBAAiBwC,EAAGxC,gBACpBqB,uBAAwBmB,EAAGnB,uBAC3BC,gBAAiBkB,EAAGlB,gBACpBpC,SAAUsD,EAAGtD,SACbC,iBAAkBqD,EAAGrD,oB,OAfnB3e,E,OAkBA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,wBAAyB,CAC1C6B,OAAQ,+BACRK,MAAOsF,KAAKR,UACZrK,MAAOpC,OAAO8D,KAAKuC,EAAS4iB,mBAI9Bhc,KAAK2I,OAAOnQ,OAAO,uBAAwByE,GAE3C+C,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACVoL,0BCpI4a,MCO5a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAInf,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,+BAA+BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,sBAAsB,CAACY,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIic,gBAAgB/a,GAAKG,WAAW,sBAAsB,IAC5e,GAAkB,GCuBP,UAAIK,OAAO,CACxBsG,MAAO,CACLvR,GAAI,CACFwC,KAAMsG,OACNyZ,SAAU,MACV8F,QAAS,GAEX1pB,MAAO,CACL6D,KAAMjG,OACNgmB,SAAU,OAEZvZ,UAAW,CACTqf,QAAS,EACT7lB,KAAMsG,QAERwf,OAAQ,CACND,QAAS,EACT7lB,KAAMsG,SAIVhN,KArBwB,aAsBtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEPuiB,gBAAiB,OAIrBna,SAAU,OAAF,UACH,eAAW,QAAS,CAAC,2BAG1BC,MAAO,CACLpK,OADK,WACEynB,GACL,GAAIA,EACF,GAAInf,KAAKxJ,GAAI,CAEX,IAAM2d,EAASphB,OAAOyI,OAAO,GAAIwE,KAAKgd,sBAAsBhd,KAAKxJ,KACjEwJ,KAAKgc,gBAAkB7H,OAClB,GAAInU,KAAK7K,MAAO,CAGrB,IAAM,EAASpC,OAAOyI,OAAO,GAAIwE,KAAK7K,OACtC6K,KAAKgc,gBAAkB,KAM/Bha,QAAS,CACP4D,MADO,aAEL5F,KAAKgc,gBAAkB,MAGzBnW,KALO,aAML,GAA6B,OAAzB7F,KAAKgc,gBACP,OAEEhc,KAAKR,UACPQ,KAAK+e,aAAa/e,KAAKgc,iBAEvBhc,KAAKgf,aAAahf,KAAKgc,kBAI3BgD,aAhBO,WAgBMC,GACXjf,KAAK8H,MAAM,QAASmX,GACpBjf,KAAKtI,OAAS,OAGVqnB,aArBC,WAqBYE,G,0KACjBjf,KAAKvG,MAAQ,K,kBAGM,OAAM,GAASka,KAAK,4BAA6B,CAChErhB,KAAM,CACJkE,GAAIyoB,EAAGzoB,GACPgJ,UAAWQ,KAAKR,UAChBsf,OAAQ9e,KAAK8e,OACb5C,OAAQ+C,EAAG/C,OACXC,OAAQ8C,EAAG9C,OACXE,WAAY4C,EAAG5C,WACfE,sBAAuB0C,EAAG1C,sBAC1BrV,MAAO+X,EAAG/X,MACVP,YAAasY,EAAGtY,YAChB+U,oBAAqBuD,EAAGvD,oBACxBe,gBAAiBwC,EAAGxC,gBACpBqB,uBAAwBmB,EAAGnB,uBAC3BC,gBAAiBkB,EAAGlB,gBACpBpC,SAAUsD,EAAGtD,SACbC,iBAAkBqD,EAAGrD,iBACrBpB,UAAWyE,EAAGzE,a,OAjBZvd,E,OAoBA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAGrC4G,KAAK2I,OAAOnQ,OAAO,uBAAwByE,GAE3C+C,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACVoL,0BCtI6a,MCO7a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAInf,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAmB,gBAAEI,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,KAAO,IAAI6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,YAAY,KAAK,KAAKD,OAAe,KAAK,OAAO,CAAC3F,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAIuc,sBAC1avc,EAAIic,gBAAgBE,OACpB,iCACInc,EAAIic,gBAAgBL,SAAW,EAAGxb,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,MAAQT,EAAIic,gBAAgBL,aAAa,GAAG5b,EAAI6C,KAAM7C,EAAIic,gBAAgBL,SAAW,EAAGxb,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,mBAAmB,CAACmB,YAAY,YAAYjB,MAAM,CAAC,MAAQN,EAAIic,gBAAgBJ,iBAAiB,MAAQ7b,EAAIS,GAAG,gCAAgC,SAAW,OAAO,GAAGT,EAAI6C,MAAM,GAAGzC,EAAG,aAAaA,EAAG,QAAQ,CAAEJ,EAAIic,gBAAmC,oBAAE7b,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,8BAA8B,MAAQT,EAAIic,gBAAgBL,YAAY5b,EAAI6C,KAAKzC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,2BAA2B,MAAQT,EAAIic,gBAAgB9U,SAAUnH,EAAIic,gBAAsB,OAAE7b,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAIuc,sBAAsBvc,EAAIic,gBAAgBG,OAAQ,yBAAyBpc,EAAI6C,KAAM7C,EAAIic,gBAA0B,WAAE7b,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIuc,sBAAsBvc,EAAIic,gBAAgBK,WAAY,uBAAuBtc,EAAI6C,KAAM7C,EAAIic,gBAAqC,sBAAE7b,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIuc,sBAAsBvc,EAAIic,gBAAgBK,WAAY,oBAAoB,MAAQtc,EAAIic,gBAAgBO,yBAAyBxc,EAAI6C,KAAM7C,EAAIic,gBAAsC,uBAAE7b,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,8BAA8B,MAAQT,EAAIic,gBAAgB8B,yBAAyB,CAAC3d,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIic,gBAAgB8B,2BAA2B,GAAG/d,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIic,gBAAgB+B,gBAAgB,MAAQhe,EAAIS,GAAG,+BAA+B,SAAW,OAAO,IAAI,GAAGL,EAAG,aAAaA,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,KAAK,MAAQN,EAAIS,GAAG,iCAAiC,MAAQT,EAAIic,gBAAgBrV,gBAAgB,GAAGxG,EAAG,aAAaA,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIyR,kBAAkBzR,EAAIic,gBAAgBN,wBAAwBvb,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,qCAAqC,MAAQT,EAAIic,gBAAgBS,oBAAoB,IAAI,GAAG1c,EAAI6C,MAC/yE,GAAkB,GC4HP,UAAInB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJxJ,OAAQ/C,QAEV8O,SAAU,OAAF,oDACH,eAAW,YAAa,CAAC,uBACzB,eAAW,QAAS,CAAC,2BACrB,eAAW,WAAY,CAAC,2BAAyB,CACpDma,gBADoD,aAElD,GAAIhc,KAAKxJ,GACP,OAAOwJ,KAAKgd,sBAAsBhd,KAAKxJ,IAEzC,GAAIwJ,KAAKlK,OACP,OAAOkK,KAAKlK,OAEd,OAAO,UChJka,MCO3a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC0M,QAAA,KAAKsC,YAAA,KAASpC,QAAA,OC2C7B,cAAIjB,OAAO,CACxBsG,MAAO,CACL5S,MAAO+D,OAET2I,SAAU,OAAF,wBACH,eAAW,YAAa,CAAC,uBAAqB,CAEjDmF,kBAFiD,aAG/C,OAAQhH,KAAK7K,MAAQ6K,KAAK7K,MAAQ,IAGpCmI,QANiD,aAO/C,MAAO,CACL,CAAEnI,MAAO,OAAQsT,KAAM7K,EAAKxI,EAAE,gBAAiB0hB,MAAO,MACtD,CAAE3hB,MAAO,QAASsT,KAAM7K,EAAKxI,EAAE,4BAC/B,CAAED,MAAO,cAAesT,KAAM7K,EAAKxI,EAAE,kCACrC,CAAED,MAAO,sBAAuBsT,KAAM7K,EAAKxI,EAAE,sBAC7C,CACED,MAAO,WACPiqB,MAAO,QACP3W,KAAM7K,EAAKxI,EAAE,+BAEf,CACED,MAAO,mBACPiqB,MAAO,QACP3W,KAAM7K,EAAKxI,EAAE,iCAEf,CACED,MAAO,SACPsT,KAAM7K,EAAKxI,EAAE,kBACbgqB,MAAO,SACPtI,MAAO,MAET,CAAE3hB,MAAO,KAAMsT,KAAM,GAAIqO,MAAO,UAKtC9U,QAAS,CACPyZ,YADO,WACKzlB,GACV,IAAM6mB,EAAa,GAAH,sBAAO7c,KAAKgH,mBAAZ,CAA+BhR,IAC/CgK,KAAK8H,MAAM,QAAS+U,IAGtBhB,eANO,WAMQjpB,GACb,IAAMsmB,EAAW,eAAIlZ,KAAKgH,mBAC1BkS,EAASllB,OAAOpB,EAAG,GACnBoN,KAAK8H,MAAM,QAASoR,KAIxBpF,WAAY,CACVuL,4BACAC,6BACAC,2BACAL,0BC3Hya,MCOza,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAC9c,SAAA,KAAME,UAAA,QAAUwV,cAAA,KAAWrD,SAAA,KAAMzP,YAAA,KAASC,cAAA,UCsIzD,cAAIxD,OAAO,CACxBsG,MAAO,CACLW,MAAOV,QAET1V,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MAER+B,MAAO,KAEP2M,WAAY,OAASoZ,SACrBnZ,WAAY,GACZL,cAAe,GACfG,gBAAiB,GACjBxC,aAAc,EACd8C,WAAY,EACZC,SAAU,GACVC,YAAa,GACbC,cAAe,MACfC,uBAAwB,GACxBE,UAAW,GACXD,yBAA0B,GAC1B2Y,+BAAgC,GAChCnZ,YAAa,GACbE,wBAAyB,MACzBD,QAAS,OAASiZ,SAClBE,aAAc,OAASF,SACvBxY,kBAAmB,KAIvBlF,MAAO,CASL8E,cATK,WASSoF,GACZ,GAAIA,EAAK,CACPhM,KAAKyf,+BAAiCzf,KAAK8G,yBAC3C9G,KAAK8G,yBAA2B,OAC3B,CACL9G,KAAK8G,yBAA2B9G,KAAKyf,+BACrCzf,KAAKyf,+BAAiC,GACtCzf,KAAK6G,uBAAyB,MAKpC7E,QAAS,CACP4D,MADO,aAEL5F,KAAKgG,cAAgB,GACrBhG,KAAKmG,gBAAkB,GACvBnG,KAAK2D,aAAe,EACpB3D,KAAKuG,QAAU,OAASiZ,SACxBxf,KAAKoG,WAAa,OAASoZ,SAC3Bxf,KAAKqG,WAAa,GAClBrG,KAAK0G,SAAW,GAChB1G,KAAK2G,YAAc,GACnB3G,KAAK+G,UAAY,GACjB/G,KAAKsG,YAAc,GACnBtG,KAAK8G,yBAA2B,GAChC9G,KAAKwG,wBAA0B,MAC/BxG,KAAKuG,QAAU,OAASiZ,SACxBxf,KAAK0f,aAAe,OAASF,SAC7Bxf,KAAKgH,kBAAoB,GACzBhH,KAAKyG,WAAa,EAClBzG,KAAK6G,uBAAyB,GAC9B7G,KAAK4G,cAAgB,MACrB5G,KAAKvG,MAAQ,MAGToM,KAvBC,a,gMAyBc,OAAM,GAAiB8N,KAAK,uBAAwB,CACnErhB,KAAM,CACJ0T,cAAehG,KAAKgG,cACpBG,gBAAiBnG,KAAKmG,gBACtBxC,aAAc3D,KAAK2D,aACnB8C,WAAYzG,KAAKyG,WACjBL,WAAYpG,KAAKoG,WACjBC,WAAYrG,KAAKqG,WACjBK,SAAU1G,KAAK0G,SACfC,YAAa3G,KAAK2G,YAClBI,UAAW/G,KAAK+G,UAChBT,YAAatG,KAAKsG,YAClBQ,yBAA0B9G,KAAK8G,yBAC/B6Y,WAAY3f,KAAK6G,uBACjB+Y,iBAAkB5f,KAAK6G,uBAAuB/T,OAAS,EACvD0T,wBAAyBxG,KAAKwG,wBAC9BD,QAASvG,KAAKuG,QACdS,kBAAmBhH,KAAKgH,qB,OAjBtB/J,E,OAuBA4iB,EAAe,CAAEC,QAAS7iB,EAAS3K,KAAKA,KAAKwtB,SACnD9f,KAAK2I,OAAOnQ,OAAO,iBAAkBqnB,GAE/BE,EAAmB,CACvBC,YAAa/iB,EAAS3K,KAAKA,KAAK0tB,aAElChgB,KAAK2I,OAAOnQ,OAAO,yBAA0BunB,GACvCE,EAAgBltB,OAAO8D,KAAKkpB,EAAiBC,aAAa,GAG/DhgB,KAAK2B,MAAMlD,YAAoB4U,eAAe4M,GAC/C,GAAO7sB,KAAK,CACVsB,KAAM,kBACN2K,OAAQ,CAAE7I,GAAIypB,KAGhBjgB,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV6D,iBACAuI,iBACAC,gBACAC,4BChS0b,MCO1b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC3M,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OCuE9C,cAAIjS,OAAO,CACxBsG,MAAO,CACL3C,OAAQ6C,SAEVpG,SAAU,OAAF,wBACH,eAAW,OAAQ,CAAC,gBAAiB,6BAA2B,CAEnEwe,yBAFmE,aAGjE,IAAMC,EAAYtgB,KAAKugB,wBAAwB,uBACzCC,EAAgB,CAAE9rB,KAAM,sBAE9B,OAAO,IAAE2B,IAAIiqB,GAAW,SAAC9pB,GACvB,GAAW,MAAPA,EACF,OAAOzD,OAAOyI,OAAO,GAAIglB,EAAe,CACtC9c,MAAO,CAAEC,aAAc,QAG3B,OAAO5Q,OAAOyI,OAAO,GAAIglB,EAAe,CACtC9c,MAAO,CAAEC,aAAcnN,WAK/Bsd,WAAY,CACV2M,2BC1Hua,M,iECOva,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAAChM,SAAA,KAAMiM,cAAA,KAAWC,aAAA,KAAUC,iBAAAC,GAAA,KAAiBC,iBAAA,KAAcC,eAAAF,GAAA,KAAeG,cAAA,OC7BvG,IAAI,GAAS,WAAa,IAAIjhB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OACrFF,EAAIuD,cAAc,4BAClBvD,EAAIuD,cAAc,mBAClBvD,EAAIuD,cAAc,mBAClBvD,EAAIuD,cAAc,oBAClBnD,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIqF,QAAQC,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,oBAAoB,CAACA,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,QAAQ,KAAKgF,MAAM,OAAO,KAAK,MAAM,aAAa,CAACrF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIkhB,mBAAmB,cAAgBlhB,EAAImhB,iBAAiBngB,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAIohB,kBAAkBlgB,GAAKG,WAAW,uBAAuBrB,EAAI0F,GAAI1F,EAAgC,8BAAE,SAAS2F,EAAIhL,GAAO,OAAOyF,EAAG,cAAc,CAAC1K,IAAIiF,EAAM2F,MAAM,CAAC,GAAKqF,EAAI,MAAQ,KAAK,CAACvF,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,cAAc,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACmB,YAAY,aAAa,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,KAAKL,EAAG,MAAM,CAACmB,YAAY,+BAA+B,CAAEoE,EAAIhC,MAAME,iBAAmB,EAAGzD,EAAG,iBAAiB,CAACE,MAAM,CAAC,GAAKqF,EAAIhC,MAAME,oBAAoBzD,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAK,MAAM,MAAM,IAAI,MAAMN,EAAIuD,cAAc,kBAAmBnD,EAAG,cAAc,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIqhB,kBAAkB,YAAY,CAACjhB,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,cAAc,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,kBAAmBnD,EAAG,cAAc,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIqhB,kBAAkB,eAAe,CAACjhB,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,cAAc,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,kBAAmBnD,EAAG,cAAc,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIqhB,kBAAkB,YAAY,CAACjhB,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,cAAc,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,kBAAmBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,mBAAoB,CAACyL,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,gBAAgB,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,IAAIT,EAAIQ,GAAGR,EAAIS,GAAG,WAAW,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,oBAAqBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,iBAAkB,CAACyL,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,mBAAmB,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQ,IAAI,GAAGT,EAAI6C,MAAM,GAAG7C,EAAI6C,MAC1mF,GAAkB,GCNlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,WAAa,GAAG,WAAa,GAAG,MAAQN,EAAI5K,MAAM,YAAY,SAASuL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,YAAY,CAAC3H,EAAG,SAAS,CAACM,IAAI,OAAOC,GAAG,CAAC,OAAS,SAASC,GAAQA,EAAOC,iBAAiB,OAAOb,EAAI8F,KAAKpS,MAAM,KAAMqN,cAAc,CAACX,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,cAAc,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI2I,OAAS,KAAO3I,EAAIS,GAAG,kBAAkB,QAAQ,GAAGL,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,MAAM,gBAAgB,CACrlB,4BAA6B,8BAC1B0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,OAAS,GAAG,SAAW,IAAIU,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAI0K,OAAOxJ,GAAKG,WAAW,aAAa,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIwG,QAAQtF,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACY,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI4D,aAAa1C,GAAKG,WAAW,mBAAmB,GAAGjB,EAAG,QAAQ,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,OAAQ4K,EAAIshB,cAAejgB,WAAW,oBAAoB,CAACjB,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqBO,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAI/G,KAAKiI,GAAKG,WAAW,WAAW,GAAiB,aAAbrB,EAAI/G,KAAqBmH,EAAG,QAAQ,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIuhB,WAAW,MAAQvhB,EAAIS,GAAG,qBAAqB,YAAY,SAAU/L,GAAK,OAAOsL,EAAIwhB,eAAe9sB,EAAEC,OAAS,aAAa,MAAMqM,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIyhB,QAAQvgB,GAAKG,WAAW,cAAc,GAAGrB,EAAI6C,KAAmB,aAAb7C,EAAI/G,KAAqBmH,EAAG,QAAQ,CAACA,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQ,qBAAqB,SAAW,GAAG,aAAe,GAAG,UAAY,GAAG,MAAQ,CAAC,SAAUlF,GAAK,OAAOA,EAAErI,OAAS,GAAKiN,EAAIS,GAAG,oBAAsB,MAAQT,EAAIS,GAAG,yBAAyBO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAI0hB,eAAexgB,GAAKG,WAAW,qBAAqB,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,SAAWN,EAAI/G,MAAM+H,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI2hB,aAAazgB,GAAKG,WAAW,mBAAmB,IAAI,GAAGjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,wBAAwB,CAACY,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAIiH,kBAAkB/F,GAAKG,WAAW,wBAAwB,IAAI,GAAGjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,cAAc,IAAI,IAAI,GAAGF,EAAG,aAAaA,EAAG,iBAAiB,CAACA,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,MAAQ,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI4hB,WAAW,CAAC5hB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,WAAW,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQ,IAAI,IAAI,IAAI,IACt5E,GAAkB,GCsCJohB,IAAlB,SAAkBA,GAChB,mCACA,2BACA,oBAHF,CAAkBA,QAAqB,KAMhC,IAAMC,GAA4B,CACvCD,GAAsBE,UACtBF,GAAsBG,cACtBH,GAAsBI,OA4CNC,IAAlB,SAAkBA,GAChB,8BACA,8BACA,gCACA,0CACA,2BALF,CAAkBA,QAAW,KAQtB,IAAM,GAAQ,CACnBC,cAAe,MAEfC,cAAe,GACfC,oBAAqB,GACrBC,aAAc,GACdC,UAAW,GACXC,uBAAwB,GACxBC,gBAAiB,GACjBC,oBAAqB,GACrBC,YAAa,GACbC,uBAAwB,GACxBC,WAAY,GACZC,mBAAoB,GACpBC,iBAAkB,GAClBC,sBAAuB,GACvBC,iBAAkB,GAClBC,cAAe,GACfC,gBAAiB,GACjBC,cAAe,GACfC,mBAAoB,GACpBC,kBAAmB,GACnBC,aAAc,GACdrF,aAAc,GACdsF,oBAAqB,GACrBC,aAAc,GACdC,WAAY,GACZC,eAAgB,GAChB9F,qBAAsB,GACtB+F,aAAc,GACdC,sBAAuB,IAGZ,GAAU,GAEV,GAAY,CAMvBC,iBANuB,WAMNhsB,EAAOisB,GACtBjsB,EAAMqqB,cAAgB4B,IAIb,GAAU,CASfC,aATe,cAWe,IADhClsB,EACgC,EADhCA,MAAOW,EACyB,EADzBA,OACTgC,EAAkC,uDAAxB,G,gLAGLA,EAAQuY,OAASlb,EAAMqqB,e,yCACnBnkB,QAAQhH,QAAQ,O,gBAIR,OAAM,GAAShC,IAAI,Y,OAA9BkI,E,YACFA,EAAS3K,MAAQ2K,EAAS3K,KAAKA,M,iBAC3B8G,EAAW6D,EAAS3K,KAAKA,KAM/BkG,EAAO,WAAYY,GAGnBZ,EAAO,mBAAoB,M,yBACpBuF,QAAQhH,QAAQ,O,iCAIlBgH,QAAQ7C,U,8CCnLN8oB,GAAsB,GAuBjBC,IAAlB,SAAkBA,GAChB,4BACA,gCACA,kCACA,kCACA,gCACA,kCACA,0BACA,4BACA,0BACA,sDACA,iCACA,+BACA,4CAbF,CAAkBA,QAAW,KAgBtB,IAAMC,GAAyB,CAACD,GAAYE,YACtCC,GAAwB,CAACH,GAAYI,WACrCC,GAAqB,CAACL,GAAYM,UAAWN,GAAYO,UAKzDC,GAAsB,CACjCR,GAAYI,UACZJ,GAAYS,WACZT,GAAYU,WACZV,GAAYW,UACZX,GAAYE,WACZF,GAAYY,OACZZ,GAAYa,QACZb,GAAYc,OACZd,GAAYe,qBACZf,GAAYgB,gBAEDC,GAAmB,CAC9BjB,GAAYU,WACZV,GAAYE,WACZF,GAAYW,UACZX,GAAYM,WAEDY,GAAoB,CAC/BlB,GAAYS,WACZT,GAAYI,UACZJ,GAAYO,UAGD,GAAQ,CACnBxK,MAAO,IAGI,GAAU,CACrBY,YACE,WAAC/iB,GAAD,OACA,SAAC+H,GACC,OAAO/H,EAAMmiB,MAAMpa,KAEvBwlB,kBAAmB,WAACvtB,GAClB,OAAO,IAAE+G,OAAO/G,EAAM4rB,YAAY,SAAC4B,GAAD,OAAQA,EAAGC,KAAOtB,OAEtDuB,oBAAqB,WAAC1tB,EAAOiB,GAC3B,OAAO,IAAEzC,IAAIyC,EAAQssB,mBAAmB,SAACC,GAAD,OAAQA,EAAG7uB,OAQrDiiB,UACE,WAAC5gB,GAAD,OACA,SAAC+H,GACC,IAAMyM,EAAM,IAAER,QAAQ,CAACjM,IACjB8Z,EAAmB,IAAErjB,IAAIgW,GAAK,SAAC7V,GAAD,OAAQqB,EAAMmiB,MAAMxjB,MAClDgvB,EAAkB,IAAEnvB,IAAIqjB,GAAS,SAACM,GACtC,IAAKA,EACH,MAAO,kBAAP,OAAyBpa,GAE3B,GAAIoa,EAAMC,eACR,MAAO,GAAP,OAAUD,EAAME,kBAElB,MAAO,GAAP,OAAUF,EAAMtlB,KAAhB,YAAwBslB,EAAM5Q,YAEhC,OAAOoc,EAAMxa,KAAK,QAGtB8O,cACE,WAACjiB,GAAD,OACA,SAAC+H,GACC,IAAMoa,EAAQniB,EAAMmiB,MAAMpa,GAC1B,IAAKoa,EACH,MAAO,kBAAP,OAAyBpa,GAG3B,IAAIlL,EAAO,GACX,GAAIslB,EAAMC,eAAgB,CACxBvlB,EAAOslB,EAAME,iBACTF,EAAMI,wBACR1lB,GAAc,KAAH,OAAQslB,EAAMI,sBAAd,WAGb1lB,EAAO,GAAH,OAAMslB,EAAMtlB,KAAZ,YAAoBslB,EAAM5Q,SAEhC,OAAO1U,IAEX+wB,kBACE,WAAC5tB,EAAOiB,GAAR,OACA,SAAC0G,GACC,IAAMkiB,EAAe5oB,EAAQ4sB,uBAAuBlmB,GACpD,OAAO,IAAEnJ,IAAIqrB,GAAc,SAACiE,GAC1B,OAAO9tB,EAAMmiB,MAAM2L,EAAY/lB,cAGrCgmB,eACE,WAAC/tB,EAAOiB,GAAR,OACA,SAACgmB,GACC,IAAM4C,EAAe5oB,EAAQ+sB,oBAAoB/G,GACjD,OAAO,IAAEzoB,IAAIqrB,GAAc,SAACiE,GAC1B,OAAO9tB,EAAMmiB,MAAM2L,EAAY/lB,eAK1B,GAAY,GAEZ,GAAU,CAMfkmB,WANe,aAMQtvB,GAAqB,IAA/BgC,EAA+B,EAA/BA,O,4KACXqa,EAAS,IAAEhH,QAAQ,CAACrV,IAAKwU,KAAK,K,IAChC6H,E,yBACe,OAAM,GAAS9d,IAAT,6BAAmC8d,I,OAApD5V,E,OACA8oB,EAAa9oB,EAAS3K,KAAKA,KACjCkG,EAAO,WAAYutB,G,6CCnKrB,GAAS,WAAa,IAAIhmB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,oBAAoB,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAIimB,gBAAgB,MAAQjmB,EAAIsH,MAAM,SAAWtH,EAAIyH,SAAS,SAAWzH,EAAIuH,SAAS,MAAQvH,EAAI6H,MAAM,UAAY7H,EAAIwH,WAAW7G,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,IAAS,OAAS,SAASA,GAAQ,OAAOZ,EAAI+H,MAAM,SAAUnH,QACpb,GAAkB,GCkBP,UAAIc,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAO,CAAC6S,OAAQ9O,OAChBmO,MAAOnO,MACPsO,SAAUS,QACVX,SAAUW,QACVL,MAAOK,QACPV,UAAWU,SAEbpG,SAAU,OAAF,wBACH,eAAS,QAAS,CAAC,eAAa,CACnCmkB,gBADmC,aAEjC,OAAOhmB,KAAKsiB,UAAUjsB,KAAI,SAACnC,GAAD,MAAQ,CAChCiB,MAAOjB,EACPuU,KAAM7K,EAAKxI,EAAE,2BAA6BlB,YClCsX,M,aCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC+xB,WAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIlmB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,YAAY,mBAAmB,QAAQgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,uBAAuB,CAACE,MAAM,CAAC,SAAWN,EAAImmB,SAAS,yBAA2BnmB,EAAIomB,SAAS,aAAepmB,EAAIqmB,cAAc1lB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsmB,eAAe1lB,SAAc6E,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,GAAGL,EAAG,cAAc,CAACA,EAAG,QAAQJ,EAAI0F,GAAI1F,EAAgB,cAAE,SAAS/J,EAAEpD,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAI7C,EAAEyN,MAAM,CAAC,KAAO,KAAK,GAAKN,EAAIumB,yBAAyB,CAACnmB,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBtmB,EAAEskB,YAAava,EAAI0jB,aAAa,KACt2BztB,EAAEuwB,qBACFvwB,EAAEskB,aAAetkB,EAAEuwB,oBACnBpmB,EAAG,OAAO,CAACJ,EAAIO,GAAG,MAAMP,EAAIQ,GAAGR,EAAIuc,sBAAsBtmB,EAAEuwB,oBAAqBxmB,EAAI0jB,aAAa,SAAS1jB,EAAI6C,OAAOzC,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIymB,kBAAkB5zB,MAAM,CAACuN,EAAG,SAAS,CAACJ,EAAIO,GAAG,sBAAsB,IAAI,GAAGH,EAAG,cAAc,CAACA,EAAG,kBAAkB,CAACE,MAAM,CAAC,SAAWN,EAAImmB,SAAS,aAAenmB,EAAIqmB,cAAcrlB,MAAM,CAAC5L,MAAO4K,EAAI2hB,aAAa9uB,GAAIoO,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAI2hB,aAAc9uB,EAAGqO,IAAMG,WAAW,sBAAsB,IAAI,IAAI,MAAK,IAAI,IAAI,IAChiB,GAAkB,GCJlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,kBAAkB,YAAcT,EAAI0mB,YAAY,YAAc1mB,EAAI+b,aAAapb,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,WAAW,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIwG,QAAQtF,GAAKG,WAAW,cAAc,IAAI,GAAGjB,EAAG,kBAAkB,CAACE,MAAM,CAAC,SAAWN,EAAImmB,SAAS,aAAenmB,EAAIqmB,cAAcrlB,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAI4lB,YAAY1kB,GAAKG,WAAW,iBAAkBrB,EAAmB,gBAAEI,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,YAAY,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,KAAKT,EAAIQ,GAAGR,EAAI+Z,cAAc/Z,EAAI4lB,YAAY/lB,UAAU,OAAOG,EAAI6C,MAAM,IAC/9B,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAKN,EAAI2mB,gBAAgB,CAACvmB,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAI4lB,YAAYrL,YAAY,SAAWva,EAAImmB,SAAS,aAAenmB,EAAIqmB,aAAa,oBAAsBrmB,EAAI4lB,YAAYY,oBAAoB,MAAQ,CAAC,SAAUprB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,WAAaR,KAAK2mB,kBAAkBjmB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI6mB,iBAAiBjmB,QAAa,GAAIZ,EAAyB,sBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAKN,EAAI2mB,gBAAgB,CAACvmB,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAI4lB,YAAYY,oBAAoB,SAAWxmB,EAAI8mB,UAAU,SAAW9mB,EAAImmB,SAAS,aAAenmB,EAAIqmB,aAAa,oBAAsBrmB,EAAI4lB,YAAYY,oBAAoB,MAAQ,CAAC,SAAUprB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+mB,yBAAyBnmB,QAAa,GAAGZ,EAAI6C,KAAM7C,EAAqB,kBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAAEN,EAAe,YAAEI,EAAG,wBAAwB,CAACE,MAAM,CAAC,MAAQN,EAAI4lB,YAAY/lB,QAAQ,SAAWG,EAAI8mB,UAAU,MAAQ,CAAC,SAAU1rB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,aAAa,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIgnB,aAAapmB,OAAaZ,EAAgB,aAAEI,EAAG,2BAA2B,CAACE,MAAM,CAAC,MAAQN,EAAI4lB,YAAY/lB,QAAQ,SAAWG,EAAI8mB,UAAU,MAAQ,CAAC,SAAU1rB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,aAAa,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIgnB,aAAapmB,OAAYR,EAAG,sBAAsB,CAACE,MAAM,CAAC,MAAQN,EAAI4lB,YAAY/lB,QAAQ,SAAWG,EAAI8mB,UAAU,MAAQ,CAAC,SAAU1rB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIgnB,aAAapmB,QAAa,GAAGZ,EAAI6C,KAAM7C,EAAkB,eAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQN,EAAI4lB,YAAYqB,SAAStmB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,UAAW1M,QAAa,GAAGZ,EAAI6C,KAAM7C,EAAoB,iBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAI4lB,YAAYsB,WAAWvmB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,YAAa1M,QAAa,GAAGZ,EAAI6C,MAAM,IAC9tE,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,OAAS,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,sBAAsB,CAACF,EAAG,kBAAkB,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOL,EAAG,kBAAkB,CAACO,GAAG,CAAC,KAAO,SAASC,GAAQ,OAAOZ,EAAImnB,UAAUvmB,QAAa,GAAGR,EAAG,cAAc,CAAEJ,EAAIonB,kBAAwB,OAAEhnB,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUN,EAAIzC,QAAQ,MAAQyC,EAAIonB,kBAAkB,qBAAqB,GAAG,eAAe,GAAG,sBAAsB,IAAI9hB,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAChnB,IAAI0I,EAAO1I,EAAI0I,KACXzO,EAAQ+F,EAAI/F,MAChB,MAAO,CAACyF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKP,OAAO,KAAKzI,EAAG,8BAA8B,CAACE,MAAM,CAAC,OAAS8I,MAAS,GAAGhJ,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKie,sBAAsBjnB,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKke,qBAAqBlnB,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKme,aAAannB,EAAG,KAAK,CAAEJ,EAAY,SAAEI,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBnT,EAAKoe,kBAAmBxnB,EAAIwiB,yBAA0B,OAAOxiB,EAAI6C,KAAO7C,EAAI0H,SAA6R1H,EAAI6C,KAAvRzC,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ8I,EAAKoe,kBAAkB,MAAQ,+BAA+B,oBAAoBxnB,EAAIynB,oBAAoB,MAAQznB,EAAI0nB,kBAAkB/mB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI2nB,wBAAwBhtB,EAAOiG,QAAsB,SAAS,KAAK,MAAM,cAAcZ,EAAI6C,MAAM,IAAI,IACtvB,GAAkB,GCJlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,mBAAmB,cAAc,UAAU,YAAY,OAAOE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,aAAa,CAACY,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAI4nB,OAAO1mB,GAAKG,WAAW,aAAa,IAC1b,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAU,iBAAiB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAI4nB,OAAOC,QAAQ,MAAQ,CAAC,SAAUzsB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,wBAAwB,IAAIE,GAAG,CAAC,MAAQX,EAAI8nB,iBAAiB,GAAI9nB,EAAI4nB,OAAOC,SAAW7nB,EAAI+nB,yBAAyBh1B,OAAQqN,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAI4nB,OAAOI,oBAAoB,MAAQhoB,EAAI+nB,yBAAyB,SAAmD,IAAxC/nB,EAAI+nB,yBAAyBh1B,OAAa,YAAY,SAAUqI,GAAK,OAAO4E,EAAIwhB,eAAepmB,EAAEzG,OAAS,aAAa,KAAK,MAAQqL,EAAIS,GAAG,4BAA4B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,sBAAuB1M,QAAa,GAAGZ,EAAI6C,KAAM7C,EAAI4nB,OAAOC,SAAW7nB,EAAIioB,wBAAwBl1B,OAAQqN,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAI4nB,OAAOM,mBAAmB,MAAQloB,EAAIioB,wBAAwB,SAAkD,IAAvCjoB,EAAIioB,wBAAwBl1B,OAAa,YAAY,SAAUqI,GAAK,OAAO4E,EAAIwhB,eAAepmB,EAAEzG,OAAS,aAAa,KAAK,MAAQqL,EAAIS,GAAG,2BAA2B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,qBAAsB1M,QAAa,GAAGZ,EAAI6C,KAAM7C,EAAI4nB,OAAOC,SAAW7nB,EAAImoB,gBAAgBp1B,OAAQqN,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAI4nB,OAAOQ,gBAAgB,MAAQpoB,EAAImoB,gBAAgB,SAA0C,IAA/BnoB,EAAImoB,gBAAgBp1B,OAAa,YAAY,SAAUqI,GAAK,OAAO4E,EAAIwhB,eAAepmB,EAAEzG,OAAS,aAAa,KAAK,MAAQqL,EAAIS,GAAG,mBAAmB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,QAAa,GAAGZ,EAAI6C,KAAM7C,EAAW,QAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,OAAO,GAAGN,EAAI6C,MAAM,IAAK7C,EAAI2J,SAAW3J,EAAI4nB,OAAOC,QAASznB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,MAAQ,2BAA2B,SAAW,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,uBAAwB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,MAAQ,0BAA0B,SAAW,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,sBAAuB1M,QAAa,IAAI,GAAGZ,EAAI6C,MAAO7C,EAAI2J,SAAW3J,EAAIqoB,kBAAkBt1B,OAAQqN,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,kCAAkC,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,OAAOT,EAAI0F,GAAI1F,EAAqB,mBAAE,SAASsoB,EAAWz1B,GAAG,OAAOuN,EAAG,aAAa,CAAC1K,IAAI,aAAe7C,EAAE0O,YAAY,eAAejB,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIqoB,kBAAkBx1B,GAAGmN,EAAIzD,QAAQ,MAAQyD,EAAIqoB,kBAAkBx1B,IAAImO,MAAM,CAAC5L,MAAO4K,EAAI4nB,OAAkB,YAAE3mB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAI4nB,OAAQ,cAAe1mB,IAAMG,WAAW,4BAA2B,IAAI,GAAGrB,EAAI6C,MAAO7C,EAAI2J,SAAW3J,EAAIuoB,iBAAiBx1B,OAAQqN,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,kCAAkC,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,OAAOT,EAAI0F,GAAI1F,EAAoB,kBAAE,SAASwoB,EAAU31B,GAAG,OAAOuN,EAAG,aAAa,CAAC1K,IAAI,YAAc7C,EAAE0O,YAAY,eAAejB,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIuoB,iBAAiB11B,GAAGmN,EAAIzD,QAAQ,MAAQyD,EAAIuoB,iBAAiB11B,IAAImO,MAAM,CAAC5L,MAAO4K,EAAI4nB,OAAiB,WAAE3mB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAI4nB,OAAQ,aAAc1mB,IAAMG,WAAW,2BAA0B,IAAI,GAAGrB,EAAI6C,MAAO7C,EAAI2J,SAAW3J,EAAI6I,MAAMH,KAAMtI,EAAG,aAAaJ,EAAI6C,MAAO7C,EAAI2J,SAAW3J,EAAI6I,MAAMH,KAAMtI,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOL,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI6I,MAAM4f,SAAS,SAASroB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkBL,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI6I,MAAMH,KAAK1I,EAAIzD,SAAS,OAAkD6D,EAAG,MAAM,CAACmB,YAAY,sBAAsB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,OAA0FL,EAAG,MAAM,CAACA,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAG,GAAGkoB,OAAQ1oB,EAAI6I,MAAM8f,iBAAkB1d,KAAK,OAAO,YAAqB,GAAGjL,EAAI6C,MAAM,IAChoJ,GAAkB,G,aCkKP,UAAInB,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAETT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,QAGb7H,SAAU,OAAF,kEACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,YAAa,oBACrC,eAAS,QAAS,CACnB,qBACA,qBACA,gBAEC,eAAW,QAAS,CAAC,iBAAe,CAgBvC8lB,OAhBuC,aAiBrC,OAAO3nB,KAAK7K,MACR6K,KAAK7K,MACL,CACEyyB,QAAS,EACTG,oBAAqB,EACrBE,mBAAoB,EACpBE,gBAAiB,EACjBQ,YAAa,GACbC,WAAY,GACZrB,kBAAmB,IAI3B3e,MA9BuC,aA+BrC,OAAO5I,KAAK6oB,YAAY7oB,KAAK2nB,OAAOC,UAGtCE,yBAlCuC,aAkCf,WAChBpoB,EAAMM,KAAK8oB,mBACXC,EAAUrpB,EAAId,QAAO,SAACpK,GAAD,OACzB,EAAKoU,MAAMogB,0BAA0BnuB,SAASrG,EAAEgC,OAElD,OAAOuyB,GAGTf,wBA1CuC,aA0ChB,WACftoB,EAAMM,KAAKipB,mBACXF,EAAUrpB,EAAId,QAAO,SAACpK,GAAD,OACzB,EAAKoU,MAAMsgB,yBAAyBruB,SAASrG,EAAEgC,OAEjD,OAAOuyB,GAGTb,gBAlDuC,aAkDxB,WACPxoB,EAAMM,KAAKmpB,WACXJ,EAAUrpB,EAAId,QAAO,SAACpK,GAAD,OACzB,EAAKoU,MAAMwgB,iBAAiBvuB,SAASrG,EAAEgC,OAEzC,OAAOuyB,GAGTX,kBA1DuC,aA2DrC,OAAOpoB,KAAK4I,MAAM+f,aAAe,IAGnCL,iBA9DuC,aA+DrC,OAAOtoB,KAAK4I,MAAMggB,YAAc,MAIpC5mB,QAAS,CACP6lB,aADO,WACMwB,GAAkB,WACvBC,EAAY,uBAAUtpB,KAAK2nB,QACjC2B,EAAU1B,QAAUyB,EAIpB,IAAME,EAAWvpB,KAAK6oB,YAAYQ,GAElC,GAAIE,EAAU,CAGsC,IAA9CA,EAASP,0BAA0Bl2B,OACrCw2B,EAAUvB,oBAAsBwB,EAASP,0BAA0B,GAKnEM,EAAUvB,oBACR,IAAEyB,KAAK,CAACF,EAAUvB,oBAAqB,IAAI,SAAC0B,GAC1C,OAAO,IAAE5uB,SAAS0uB,EAASP,0BAA2BS,OAClD,EAKuC,IAA7CF,EAASL,yBAAyBp2B,OACpCw2B,EAAUrB,mBAAqBsB,EAASL,yBAAyB,GAKjEI,EAAUrB,mBACR,IAAEuB,KAAK,CAACF,EAAUrB,mBAAoB,IAAI,SAACwB,GACzC,OAAO,IAAE5uB,SAAS0uB,EAASL,yBAA0BO,OACjD,EAK+B,IAArCF,EAASH,iBAAiBt2B,OAC5Bw2B,EAAUnB,gBAAkBoB,EAASH,iBAAiB,GAEtDE,EAAUnB,gBACR,IAAEqB,KAAK,CAACF,EAAUnB,gBAAiB,IAAI,SAACsB,GACtC,OAAO,IAAE5uB,SAAS0uB,EAASH,iBAAkBK,OACzC,EAMZH,EAAUX,YAAc,GACxBW,EAAUV,WAAa,GAGvB5oB,KAAK8H,MAAM,QAASwhB,GAEpB,GAAID,EAAY,CACdrpB,KAAK0J,QAAU,KACf1J,KAAK2I,OAAOlQ,SAAS,mBAAoB4wB,GAAYK,SAAQ,WAC3D,EAAKhgB,QAAU,WAerB2D,OA5EO,WA4EA5X,EAAaN,GAClB6K,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAK2nB,SAAS,SAACxsB,GAAD,OAAO,iBAAIA,EAAG1F,EAAKN,SAIrD2e,WAAY,CACV6D,oBC3U8Z,M,aCQ9Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAClE,aAAA,KAAUjR,QAAA,KAAKsC,YAAA,KAASR,mBAAA,KAAgB5B,QAAA,KAAKujB,WAAA,OCT5D,cAAIxkB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLq1B,OAAQ,KACRjwB,OAAQ,QAIZsK,QAAS,CACP4D,MADO,aAEL5F,KAAK2nB,OAAS,MAGhB9hB,KALO,aAML7F,KAAK8H,MAAM,OAAQ9H,KAAK2nB,QACxB3nB,KAAKtI,OAAS,QAIlBoc,WAAY,CACV6V,iBCxCma,MCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI5pB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAiB,cAAEI,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,wBAAwB,MAAQN,EAAIS,GAAG,qBAAuB,MAAQT,EAAIS,GAAG,sBAAsB,CAAET,EAAI4nB,OAA2B,qBAAExnB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,OAAOT,EAAI0F,GAAI1F,EAAI4nB,OAA2B,sBAAE,SAASiC,EAAalvB,GAAO,OAAOyF,EAAG,QAAQ,CAAC1K,IAAIiF,EAAM2F,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBsN,EAAc7pB,EAAIqjB,qBAAqB,WAAU,GAAGrjB,EAAI6C,KAAM7C,EAAI4nB,OAAOgB,YAAkB,OAAExoB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,OAAOT,EAAI0F,GAAI1F,EAAI4nB,OAAkB,aAAE,SAASU,EAAW3tB,GAAO,OAAOyF,EAAG,QAAQ,CAAC1K,IAAIiF,EAAM2F,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAG8nB,EAAWtoB,EAAIzD,SAAS,WAAU,GAAGyD,EAAI6C,KAAM7C,EAAI4nB,OAA0B,oBAAExnB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,OAAOT,EAAI0F,GAAI1F,EAAI4nB,OAA0B,qBAAE,SAASiC,EAAalvB,GAAO,OAAOyF,EAAG,QAAQ,CAAC1K,IAAIiF,EAAM2F,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBsN,EAAc7pB,EAAIsjB,oBAAoB,WAAU,GAAGtjB,EAAI6C,KAAM7C,EAAI4nB,OAAOiB,WAAiB,OAAEzoB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,OAAOT,EAAI0F,GAAI1F,EAAI4nB,OAAiB,YAAE,SAASY,EAAU7tB,GAAO,OAAOyF,EAAG,QAAQ,CAAC1K,IAAIiF,EAAM2F,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGgoB,EAAUxoB,EAAIzD,SAAS,WAAU,GAAGyD,EAAI6C,MAAM,GAAG7C,EAAI6C,MAC9pD,GAAkB,GCgEP,UAAInB,OAAO,CACxBsG,MAAO,CACL4f,OAAQ50B,QAEV8O,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,wBAAyB,oBACjD,eAAS,WAAY,CAAC,YACtB,eAAS,QAAS,CAAC,qBAAsB,uBAAqB,CACjEgoB,cADiE,aAE/D,IAAK7pB,KAAK2nB,OACR,OAAO,MAET,GACG3nB,KAAK2nB,OAAOgB,aAAe3oB,KAAK2nB,OAAOgB,YAAY71B,OAAS,GAC5DkN,KAAK2nB,OAAOmC,sBACX9pB,KAAK2nB,OAAOmC,qBAAqBh3B,OAAS,EAE5C,OAAO,KAET,GACGkN,KAAK2nB,OAAOiB,YAAc5oB,KAAK2nB,OAAOiB,WAAW91B,OAAS,GAC1DkN,KAAK2nB,OAAOoC,qBACX/pB,KAAK2nB,OAAOoC,oBAAoBj3B,OAAS,EAE3C,OAAO,KAET,OAAO,WC3Fsa,MCO/a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC0P,QAAA,KAAKE,QAAA,OCsCpB,cAAIjB,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CACL6D,KAAME,MACN2lB,QAAS,mBAAM,KAEjBpX,SAAUQ,QACVuf,oBAAqBvf,SAGvBpG,SAAU,OAAF,gFACH,eAAS,WAAY,CAAC,YACtB,eAAS,QAAS,CACnB,qBACA,qBACA,gBAEC,eAAS,QAAS,CAAC,4BACnB,eAAW,WAAY,CAAC,iBAAkB,2BAC1C,eAAW,QAAS,CAAC,iBAAe,CAEvCmlB,QAFuC,aAGrC,OAAIhnB,KAAK7K,MACA6K,KAAK7K,MAEL,IAIXgyB,kBAVuC,aAUtB,WACf,OAAOnnB,KAAKgnB,QAAQ3wB,KAAI,SAACsxB,GACvB,IAAM/e,EAAQ,EAAKigB,YAAYlB,EAAOC,SACtC,OAAO70B,OAAOyI,OAAO,GAAImsB,EAAQ,CAC/B/e,MAAO,EAAK2Y,eAAe3Y,EAAMF,OACjC2e,iBAAkB,EAAK/K,sBACrBqL,EAAOM,mBACP,EAAKgB,oBAEP7B,kBAAmB,EAAK9K,sBACtBqL,EAAOI,oBACP,EAAKe,oBAEPxB,SAAU,EAAKhL,sBACbqL,EAAOQ,gBACP,EAAKgB,kBAMb7rB,QA/BuC,aAgCrC,MAAO,CACL,CAAEnI,MAAO,QAASsT,KAAM7K,EAAKxI,EAAE,0BAC/B,CACED,MAAO,oBACPsT,KAAM7K,EAAKxI,EAAE,6BAEf,CAAED,MAAO,mBAAoBsT,KAAM7K,EAAKxI,EAAE,4BAC1C,CAAED,MAAO,WAAYsT,KAAM7K,EAAKxI,EAAE,oBAClC,CAAED,MAAO,KAAMsT,KAAM7K,EAAKxI,EAAE,yBAIhCqyB,iBA5CuC,aA6CrC,IAAKznB,KAAKwnB,oBACR,MAAO,GAET,MAAO,CAAC,SAACrsB,GAAD,QAASA,GAAKyC,EAAKxI,EAAE,uBAIjC4M,QAAS,CACPklB,UADO,WACGS,GACR,IAAMzO,EAAW,GAAH,sBAAQlZ,KAAK7K,OAAS,IAAtB,CAA2BwyB,IACzC3nB,KAAK8H,MAAM,QAASoR,IAGtBwO,wBANO,WAMiBhtB,EAAewhB,GACrC,IAAM8N,EAAe,eAAIhqB,KAAKgnB,SAC9BgD,EAAatvB,GAAO6sB,kBAAoBrL,EACxClc,KAAK8H,MAAM,QAASkiB,KAIxBlW,WAAY,CACVmW,mBACAC,kCCpJ+Z,MCO/Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC9nB,SAAA,KAAME,UAAA,QAAUwV,cAAA,KAAW9S,YAAA,KAASC,cAAA,UC3BlE,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,OAAS,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,sBAAsB,CAACF,EAAG,kBAAkB,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,OAAOL,EAAG,yBAAyB,CAACO,GAAG,CAAC,KAAO,SAASC,GAAQ,OAAOZ,EAAIoqB,iBAAiBxpB,QAAa,GAAGR,EAAG,cAAc,CAAEJ,EAAIwa,eAAqB,OAAEpa,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAKN,EAAI0F,GAAI1F,EAAkB,gBAAE,SAASqqB,EAAc1vB,GAAO,OAAOyF,EAAG,cAAc,CAAC1K,IAAIiF,EAAM2F,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,mBAAmB,CAACA,EAAG,0BAA0B,CAACY,MAAM,CAAC5L,MAAO4K,EAAIwa,eAAe7f,GAAQsG,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIwa,eAAgB7f,EAAOuG,IAAMG,WAAW,4BAA4B,GAAGjB,EAAG,sBAAsB,CAACA,EAAG,uBAAuB,CAACE,MAAM,CAAC,SAAWN,EAAIwa,eAAe7f,OAAW,GAAGyF,EAAG,mBAAmB,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsqB,2BAA2B3vB,MAAU,CAACyF,EAAG,SAAS,CAACJ,EAAIO,GAAG,sBAAsB,IAAI,IAAI,MAAK,GAAGP,EAAI6C,MAAM,IAAI,IAC5kC,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,qBAAqB,YAAY,MAAM,cAAc,WAAWE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,oBAAoB,CAACY,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAIqqB,cAAcnpB,GAAKG,WAAW,oBAAoB,IACxd,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIqqB,cAAcE,WAAW,MAAQ,CAAC,SAAUnvB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQT,EAAIqqB,cAAcG,eAAe,MAAQ,CAAC,SAAUpvB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,MAAQ,uBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,iBAAkB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,cAAcN,EAAIqqB,cAAcI,gBAAgB,MAAQzqB,EAAIS,GAAG,6BAA6BE,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,oBAAqB1M,QAAa,IAAI,IACx6B,GAAkB,GCDlB,GAAS,WAAa,IAAIZ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,eAAe,CAACmB,YAAY,oBAAoBjB,MAAM,CAAC,MAAQN,EAAI0qB,oBAAoB,SAAW,GAAG,cAAc,kBAAkB,MAAQ1qB,EAAIsH,MAAM,SAAWtH,EAAIyH,UAAY,MAAM,MAAQzH,EAAImH,OAASnH,EAAIS,GAAG,qBAAqB,QAAUT,EAAI2J,QAAQ,UAAY3J,EAAIwH,WAAW7G,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIrI,OAAS,SAASyI,EAAG,WAAW,CAACE,MAAM,CAAC,YAAY,SAASU,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,SAAS,CAACA,EAAG,mBAAmB,CAACM,IAAI,mBAAmBJ,MAAM,CAAC,WAAa,IAAIK,GAAG,CAAC,SAAW,SAASC,GAAQZ,EAAI+H,MAAM,QAASnH,GAC3rBZ,EAAIrI,OAAS,SAAU,CAACyI,EAAG,aAAaA,EAAG,iBAAiB,CAACA,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,MAAQ,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIrI,OAAS,SAAS,CAACqI,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQ,IAAI,IAAI,IAAI,IAAI,IACnQ,GAAkB,GCFlB,GAAS,WAAa,IAAIT,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,SAAS,CAACO,GAAG,CAAC,OAAS,SAASC,GAAQA,EAAOC,iBAAiB,OAAOb,EAAIqI,eAAe,CAACjI,EAAG,YAAY,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,GAAG,MAAQ,UAAU,mBAAmBN,EAAIkK,MAAQ,OAAS,QAAQ5E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAU,OAAEI,EAAG,oBAAoB,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI2qB,mBAAmB/pB,OAAYZ,EAAI6C,KAAKzC,EAAG,YAAYA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIoK,eAAelJ,GAAKG,WAAW,sBAAsBoE,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuBL,EAAG,YAAcJ,EAAIoK,eAAoTpK,EAAI6C,KAAxSzC,EAAG,eAAe,CAACM,IAAI,QAAQJ,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,GAAG,cAAc,SAAS,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAU,EAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,IAAqB,kBAARnJ,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,iBAA0B,GAAGrB,EAAIgG,GAAG,WAAW,GAAG5F,EAAG,cAAc,CAAEJ,EAAkB,eAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAa,KAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,OAAQnJ,IAAMG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAgB,QAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,UAAWnJ,IAAMG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAkB,UAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,YAAanJ,IAAMG,WAAW,yBAAyB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,kBAAkB,UAAU,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA6B,qBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,uBAAwBnJ,IAAMG,WAAW,oCAAoC,IAAI,IAAI,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUN,EAAIzC,QAAQ,MAAQyC,EAAIknB,UAAU,QAAUlnB,EAAI2J,QAAQ,eAAe,GAAG,KAAO3J,EAAI0Z,YAAY,iBAAiB1Z,EAAI4Z,SAAS,sBAAsB5Z,EAAI6Z,mBAAmB,eAAe,CAC7vG,yBAA0B,CAAC,GAAI,GAAI,GAAI,GAAI,MAC3C,eAAe7Z,EAAIS,GAAG,gBAAgB,aAAaT,EAAI4qB,YAAYjqB,GAAG,CAAC,cAAc,CAAC,SAASC,GAAQZ,EAAI0Z,YAAY9Y,GAAQ,SAASA,GAAQ,OAAOZ,EAAIqI,cAAc,sBAAsB,SAASzH,GAAQZ,EAAI4Z,SAAShZ,GAAQ,wBAAwB,CAAC,SAASA,GAAQZ,EAAI4Z,SAAShZ,GAAQ,SAASA,GAAQ,OAAOZ,EAAIqI,cAAc,YAAY,SAASzH,GAAQ,OAAOZ,EAAI6qB,eAAejqB,KAAU0E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,SAAS9E,GAChc,IAAI0I,EAAO1I,EAAI0I,KACzB,MAAO,CAAChJ,EAAG,qBAAqB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,SAAS,CAACf,IAAI,YAAY8P,GAAG,SAAS9E,GAC9E,IAAI0I,EAAO1I,EAAI0I,KACzB,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI8qB,aAAa1hB,EAAK3S,KAAK,QAAQ,CAACf,IAAI,4BAA4B8P,GAAG,SAAS9E,GAChG,IAAItL,EAAQsL,EAAItL,MAC1B,MAAO,CAACgL,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKlL,SAAa,KAAK,SAAS,IAAI,IAAI,GAAG4K,EAAIgG,GAAG,YAAY,IACvG,GAAkB,GCTlB,GAAS,WAAa,IAAIhG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,sBAAsBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACY,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAI+qB,SAAS7pB,GAAKG,WAAW,eAAe,IACtc,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAY,SAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQT,EAAI+qB,SAASp2B,KAAK,MAAQ,CAAC,SAAUyG,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAI+qB,SAAS1hB,QAAQ,MAAQ,CAAC,SAAUjO,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,UAAW1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAI+qB,SAASzhB,YAAY3I,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAI+qB,SAASxhB,iBAAiB5I,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAI+qB,SAASC,eAAerqB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,gBAAiB1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAI+qB,SAASzc,aAAa3N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAI+qB,SAASxc,cAAc5N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,eAAgB1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,kBAAkB,UAAU,MAAQN,EAAIS,GAAG,oBAAoB,MAAQT,EAAI+qB,SAASxd,sBAAsB5M,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,uBAAwB1M,QAAa,GAAIZ,EAAI+qB,SAAW,GAAE3qB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,cAAcT,EAAI+qB,SAAStQ,WAAW9Z,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,QAAa,GAAGZ,EAAI6C,MAAM,GAAG7C,EAAI6C,MAC7xE,GAAkB,GCqFP,UAAInB,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGT8O,SAAU,CAeRipB,SAfQ,aAgBN,OAAO9qB,KAAK7K,MACR6K,KAAK7K,MACL,CACET,KAAM,GACN0U,QAAS,GACTC,WAAY,GACZC,gBAAiB,GACjByhB,cAAe,GACf1c,YAAa,GACbC,aAAc,GACdhB,qBAAsBgC,GACtBkL,UAAW,SAKrBxY,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAK8qB,WAAW,SAAC3vB,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,WC7I6X,MCOlb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAChH,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKC,cAAA,OCHnC,cAAIlB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KACPqxB,SAAU,OAGd9oB,QAAS,CAKP4D,MALO,aAML5F,KAAK8qB,SAAW,MAOZjlB,KAbC,a,+KAcA7F,KAAK8qB,S,iDAGV9qB,KAAKvG,MAAQ,K,kBAEM,OAAM,GAASka,KAAK,kBAAmB,CACtDrhB,KAAM,CACJoC,KAAMsL,KAAK8qB,SAASp2B,KACpB0U,QAASpJ,KAAK8qB,SAAS1hB,QACvBC,WAAYrJ,KAAK8qB,SAASzhB,WAC1BC,gBAAiBtJ,KAAK8qB,SAASxhB,gBAC/ByhB,cAAe/qB,KAAK8qB,SAASC,cAC7B1c,YAAarO,KAAK8qB,SAASzc,YAC3BC,aAActO,KAAK8qB,SAASxc,aAC5BhB,qBAAsBtN,KAAK8qB,SAASxd,wB,OATlCrQ,E,OAaA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAE/Bwa,EAAQta,EAAoBF,EAAU,YAC5C4G,KAAK8H,MAAM,QAAS8L,GACpB5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVkX,mBC3Eub,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIjrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,sBAAsBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACY,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAI+qB,SAAS7pB,GAAKG,WAAW,eAAe,IACvc,GAAkB,GCsBP,UAAIK,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAENhN,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KACPqxB,SAAU,OAGdjpB,SAAU,OAAF,UACH,eAAW,QAAS,CAAC,oBAE1BG,QAAS,CAKD4D,MALC,a,iLAML,OAAM5F,KAAK2I,OAAOlQ,SAAS,sBAAuBuH,KAAKxJ,I,OACjDse,EAAY/hB,OAAOyI,OAAO,GAAIwE,KAAKirB,eAAejrB,KAAKxJ,KAC7DwJ,KAAK8qB,SAAWhW,E,iDAOZjP,KAfC,a,6KAgBA7F,KAAK8qB,S,iDAGV9qB,KAAKvG,MAAQ,K,kBAEM,OAAM,GAASka,KAAK,oBAAqB,CACxDrhB,KAAM,CACJkE,GAAIwJ,KAAK8qB,SAASt0B,GAClB9B,KAAMsL,KAAK8qB,SAASp2B,KACpB0U,QAASpJ,KAAK8qB,SAAS1hB,QACvBC,WAAYrJ,KAAK8qB,SAASzhB,WAC1BC,gBAAiBtJ,KAAK8qB,SAASxhB,gBAC/ByhB,cAAe/qB,KAAK8qB,SAASC,cAC7B1c,YAAarO,KAAK8qB,SAASzc,YAC3BC,aAActO,KAAK8qB,SAASxc,aAC5BhB,qBAAsBtN,KAAK8qB,SAASxd,qBACpCkN,UAAWxa,KAAK8qB,SAAStQ,a,OAXvBvd,E,OAcA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVkX,mBCjFwb,MCOxb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QCgIA,UAAIvpB,OAAO,CACxBsG,MAAO,CACL8C,WAAY5C,QACZgC,MAAOhC,SAETE,QALwB,aAQtBnI,KAAKkrB,mBAAqBlrB,KAAKoL,YAG/BpL,KAAKoI,YAILpI,KAAKoI,UAAY,IAAEwN,SAAS5V,KAAKoI,UAAW,MAE9C9V,KAjBwB,aAkBtB,MAAO,CACLoX,QAAS,MACTS,eAAgB,MAChBC,SAAU,CACR0L,EAAG,GACHphB,KAAM,GACN0U,QAAS,GACTC,WAAY,GACZC,gBAAiB,GACjByhB,cAAe,GACfzd,qBAAsB,EACtBkN,UAAW,OAEb2Q,YAAa,GAEb1R,YAAa,EACbG,mBAAoB,EACpBD,SAAU,GAIVuR,mBAAoB,KAGxBrpB,SAAU,OAAF,oDACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,YAAa,CAAC,uBACzB,eAAW,QAAS,CAAC,iBAAkB,kBAAgB,CAE1DupB,OAF0D,aAKxD,IAAKprB,KAAKsD,cAAc,mBACtB,OAAO,MAGT,GAAItD,KAAK6K,WAIP,OAAO7K,KAAKqrB,mBAGd,OAAO,MASTpE,UAzB0D,aAyBjD,WACP,OAAOjnB,KAAKmrB,YAAY90B,KAAI,SAACG,GAAD,OAAgB,EAAKy0B,eAAez0B,OASlE4U,YAnC0D,aAoCxD,OAAOG,GAAsBvL,KAAKoK,WAQpCihB,mBA5C0D,aA6CxD,OAAOrrB,KAAKoL,cAAgBpL,KAAKkrB,oBAOnC5tB,QApD0D,aAqDxD,IAAM0b,EAAW,CACf,CAAEvQ,KAAM7K,EAAKxI,EAAE,eAAgBD,MAAO,OAAQ2hB,MAAO,OACrD,CAAErO,KAAM7K,EAAKxI,EAAE,0BAA2BD,MAAO,iBACjD,CAAEsT,KAAM7K,EAAKxI,EAAE,sBAAuBD,MAAO,eAC7C,CAAEsT,KAAM7K,EAAKxI,EAAE,oBAAqBD,MAAO,0BAExC6K,KAAK6K,YAAc7K,KAAKorB,QAC3BpS,EAAE9H,QAAQ,CACRzI,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,KACP2hB,MAAO,MACP+D,SAAU,QAGd,OAAO7B,KAGXlX,MAAO,CAKLsJ,YALK,WAKO8L,GACVlX,KAAKyZ,YAAc,EACnBzZ,KAAKoI,aAOP+B,eAdK,WAcUkN,GACbrX,KAAK4F,UAGT5D,QAAS,CAIP2oB,WAJO,WAIIxhB,GACT,IAAMmiB,EAAU,GACZtrB,KAAK6K,YACPygB,EAAQl4B,KAAK,cAEX+V,EAAKqR,WACP8Q,EAAQl4B,KAAK,aAEf,OAAOk4B,GAUTZ,mBAtBO,WAsBY9W,GACjB,GAAI5T,KAAK6K,WACP7K,KAAK4qB,eAAehX,OACf,CACL5T,KAAKmrB,YAAYja,QAAQ0C,GACrB5T,KAAK4Z,mBAAqB,IAC5B5Z,KAAK4Z,mBAAqB,KAShCgR,eArCO,WAqCQW,GACTvrB,KAAK6K,YACP7K,KAAK8H,MAAM,WAAYpO,SAAS6xB,EAAI/0B,GAAI,MAS5CoP,MAhDO,aAgDF,WACH5F,KAAKyX,WAAU,WACb,EAAKrN,SAAS0L,EAAI,GAClB,EAAK1L,SAAS1V,KAAO,GACrB,EAAK0V,SAAShB,QAAU,GACxB,EAAKgB,SAASf,WAAa,GAC3B,EAAKe,SAASd,gBAAkB,GAChC,EAAKlB,YACD,EAAKzG,MAAM+B,OACZ,EAAK/B,MAAM+B,MAAc9B,YAU1BwG,UAnEC,a,8KAoELpI,KAAK0J,QAAU,KAEToI,EAAO,GACbA,EAAK1e,KAAL,qBAAwB4M,KAAK2Z,WAC7B7H,EAAK1e,KAAL,uBAA0B4M,KAAKyZ,cAC/B3H,EAAK1e,KAAK4M,KAAKoL,a,kBAGI,OAAM,GAASrW,IAC9B,qBAAuB+c,EAAK9G,KAAK,M,OAD7B/N,E,OAIN,GAAIA,GAAYA,EAAS3K,MAAQ2K,EAAS3K,KAAKA,KAAM,CAC/C2K,EAAS3K,KAAKwoB,OAChB9a,KAAK4Z,mBAAqB3c,EAAS3K,KAAKwoB,KAAKC,cAIzCkM,EAAYhqB,EAAS3K,KAAKA,KAC1B8G,EAAWL,EAAc,WAAYkuB,GAC3CjnB,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAKrC4G,KAAKmrB,YAAc,IAAE90B,IAAI4wB,GAAW,SAAChpB,GAAD,OAAOA,EAAEzH,M,kBAG/CwJ,KAAK0J,QAAU,M,oFAIrBoK,WAAY,CACV0X,qBACAC,yBC7Xsb,MCOtb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAehC,KAAkB,GAAW,CAACrpB,SAAA,KAAME,UAAA,QAAUmR,aAAA,KAAUjR,QAAA,KAAKsV,cAAA,KAAWC,SAAA,KAAMrV,QAAA,KAAKqC,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UCWhG,cAAIxD,OAAO,CACxBsG,MAAO,CACL5S,MAAOmK,OAGP4H,MAAOc,OAGPX,MAAO,CACLrO,KAAME,MACN2lB,QAAS,mBAAM,KAGjBrX,SAAUS,QAEVV,UAAWU,QAGXyjB,YAAa,CACX1yB,KAAME,MACN2lB,QAAS,mBAAM,MAGnBvsB,KAvBwB,aAwBtB,MAAO,CACLoX,QAAS,MACThS,OAAQ,QAGZoK,MAAO,CACLpK,OADK,WACEwf,GAAe,WACpBlX,KAAKyX,WAAU,WACZ,EAAK9V,MAAMgqB,iBAAyB/lB,aAI3C/D,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAW,QAAS,CAAC,kBAAgB,CACxC4oB,oBADwC,aAEtC,GAAIzqB,KAAK7K,MACP,OAAO6K,KAAK6qB,aAAa7qB,KAAK7K,OAEhC,MAAO,MAGX6M,QAAS,CACP4pB,gBADO,WACS1U,GACdlX,KAAK8H,MAAM,QAASoP,KAGxBpD,WAAY,CACV+X,uBChGsb,M,aCQtb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAAC1pB,QAAA,KAAKC,SAAA,KAAMC,aAAA,QAAawW,WAAA,KAAQ/T,YAAA,KAASC,WAAA,KAAQpC,cAAA,OCQhE,cAAIlB,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGT8O,SAAU,CAeRuoB,cAfQ,aAgBN,IAAMjvB,EAAI6E,KAAK7K,MACX6K,KAAK7K,MACL,CACEm1B,WAAY,EACZC,eAAgB,EAChBC,gBAAiB,OAEvB,OAAOrvB,IAIX6G,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAClB6K,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAKoqB,gBAAgB,SAACjvB,GAAD,OAAO,iBAAIA,EAAG1F,EAAKN,SAK5D2e,WAAY,CACVgY,uBC1Fub,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACrY,aAAA,KAAUjR,QAAA,KAAKE,QAAA,OCH9B,cAAIjB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MAER0yB,cAAe,OAInBpoB,QAAS,CAOP4D,MAPO,aAQL5F,KAAKoqB,cAAgB,MAQvBvkB,KAhBO,aAiBL7F,KAAK8H,MAAM,OAAQ9H,KAAKoqB,eAExBpqB,KAAKtI,OAAS,QAGlBoc,WAAY,CACViY,wBCtD4b,MCO5b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIhsB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,qBAAqB,YAAY,OAAOE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,oBAAoB,CAACY,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAIqqB,cAAcnpB,GAAKG,WAAW,oBAAoB,IACjc,GAAkB,GCoBP,UAAIK,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGTT,KALwB,aAMtB,MAAO,CACLoF,OAAQ,MAER0yB,cAAe,OAInBpoB,QAAS,CAOP4D,MAPO,aAQL5F,KAAKoqB,cAAgBr3B,OAAOyI,OAAO,GAAIwE,KAAK7K,QAQ9C0Q,KAhBO,aAiBL7F,KAAK8H,MAAM,QAAS9H,KAAKoqB,eAEzBpqB,KAAKtI,OAAS,QAIlBoc,WAAY,CACViY,wBC1D6b,MCO7b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIhsB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI8qB,aAAa9qB,EAAI+qB,SAASR,aAAa,KAAMvqB,EAAI+qB,SAAuB,eAAE3qB,EAAG,OAAO,CAACJ,EAAIO,GAAG,MAAMP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAI+qB,SAASP,eAAgBxqB,EAAIoiB,gBAAgB,KAAMpiB,EAAI+qB,SAAwB,gBAAE3qB,EAAG,OAAO,CAACJ,EAAIO,GAAG,MAAMP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,OAAOT,EAAI6C,KAAK7C,EAAIO,GAAG,SAASP,EAAI6C,QAC3b,GAAkB,GCmBP,UAAInB,OAAO,CACxBsG,MAAO,CACL+iB,SAAU,CACR9xB,KAAMjG,OACNgmB,SAAU,OAIdlX,SAAU,OAAF,sCACH,eAAS,QAAS,CAAC,mBACnB,eAAW,QAAS,CAAC,kBACrB,eAAW,WAAY,CAAC,6BC/B+Z,MCO1b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QC6BA,UAAIJ,OAAO,CACxBsG,MAAO,CACL5S,MAAO+D,OAGT2I,SAAU,OAAF,sCACH,eAAS,QAAS,CAAC,mBACnB,eAAW,WAAY,CAAC,2BAAyB,CAEpD0Y,eAFoD,aAGlD,OAAQva,KAAK7K,MAAQ6K,KAAK7K,MAAQ,MAItC6M,QAAS,CACPmoB,iBADO,WACUC,GACf,IAAMlR,EAAW,GAAH,sBAAQlZ,KAAK7K,OAAS,IAAtB,CAA2Bi1B,IACzCpqB,KAAK8H,MAAM,QAASoR,IAGtBmR,2BANO,WAMoB3vB,GACzB,IAAMwe,EAAW,eAAIlZ,KAAK7K,OAC1B+jB,EAASllB,OAAO0G,EAAO,GACvBsF,KAAK8H,MAAM,QAASoR,KAIxBpF,WAAY,CACVkY,0BACAC,2BACAC,2BC7Ewb,M,aCOxb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAchC,KAAkB,GAAW,CAAC/pB,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUmS,SAAA,KAAMoM,MAAA,QAAMF,aAAA,KAAUC,iBAAAC,GAAA,KAAiBC,iBAAA,KAAc9b,YAAA,KAASC,cAAA,UChCjH,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAImH,MAAQnH,EAAImH,MAAQnH,EAAIS,GAAG,sBAAsB,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAIosB,iBAAiB,SAAWpsB,EAAI0H,SAAS,SAAW1H,EAAIyH,SAAS,SAAWzH,EAAIuH,SAAS,YAAcvH,EAAI4H,YAAY,WAAa5H,EAAI2H,WAAW,MAAQ3H,EAAIqsB,eAAe1rB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,QAClb,GAAkB,GCGT0rB,GAA6B,CACxCC,GAAI,UACJC,GAAI,SACJC,GAAI,WAGOC,GAAyB,CACpCH,GAAI,MACJC,GAAI,MACJC,GAAI,OAGOE,GAA0B,CACrCJ,GAAI,OACJC,GAAI,SACJC,GAAI,UAGA,SAAUG,KACd,MAAO,CAAEL,GAAI,GAAIC,GAAI,GAAIC,GAAI,I,8BCNlB,GAAQ,CACnB1B,SAAU,IAGC,GAAU,CACrBG,eACE,WAACpzB,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAMizB,SAASt0B,IAAO,OAEjCq0B,aACE,WAAChzB,EAAOiB,GAAR,OACA,SAACtC,GACC,IAAMs0B,EAAWhyB,EAAQmyB,eAAez0B,GACxC,OAAiB,OAAbs0B,EACK,GAAP,OAAUA,EAASp2B,KAAnB,YAA2Bo2B,EAAS1hB,SAE7B,mCAAP,OAA0C5S,KAGhDo2B,iBACE,WAAC/0B,EAAOiB,GAAR,OACA,SAACtC,GACC,IAAMs0B,EAAWhyB,EAAQmyB,eAAez0B,GACxC,OAAiB,OAAbs0B,EACK,GAAP,OAAUA,EAASp2B,KAAnB,YAA2Bo2B,EAAS1hB,QAApC,YAA+C0hB,EAASzhB,WAAxD,YAAsEyhB,EAASxhB,iBAExE,MAIF,GAAY,GAEZ,GAAU,CACfujB,cADe,aACWr2B,GAAU,IAApBgC,EAAoB,EAApBA,O,qLACH,OAAM,GAASzD,IAAT,qBAA2ByB,I,OAA5CyG,E,OACA6tB,EAAW7tB,EAAS3K,KAAKA,KAEzB8G,EAAWL,EAAc,WAAY+xB,GAC3CtyB,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,WACRK,MAAOowB,EAASt0B,GAChBrB,MAAO21B,I,6CCzDAgC,GAAwB,GACxBC,GAAwB,CAAC,4BAMpBC,IAAlB,SAAkBA,GAChB,4BACA,0BACA,oCACA,2BAJF,CAAkBA,QAAe,KAO1B,IAAMC,GAAyB,CACpCD,GAAgBE,OAChBF,GAAgBG,aAGAC,IAAlB,SAAkBA,GAChB,oCACA,4BACA,gCACA,4BACA,8BACA,2BANF,CAAkBA,QAAc,KASzB,IAAMC,GAAqB,CAChCD,GAAeE,YACfF,GAAeG,QACfH,GAAeI,UACfJ,GAAeK,QACfL,GAAeM,SACfN,GAAeO,QAuBJ,GAAQ,CACnBC,mBAAoB,GACpB9N,QAAS,IAGE,GAAU,CACrB+N,cACE,WAACh2B,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAMioB,QAAQtpB,IAAO,OAEhCs3B,iBACE,WAACj2B,GAAD,OACA,SAAC+H,GACC,OAAQ/H,EAAM+1B,mBAAmBhuB,IAAY,IAAIvJ,KAAI,SAACG,GACpD,OAAOqB,EAAMioB,QAAQtpB,SAIhB,GAAY,GAEZ,GAAU,CACfu3B,aADe,aACoBv3B,GAAU,IAA9BgC,EAA8B,EAA9BA,OAAQC,EAAsB,EAAtBA,S,yLACV,OAAM,GAAS1D,IAAT,mBAAyByB,I,OAA1CyG,E,OAGAoX,EAAgBpX,EAAS3K,KAAKA,KAG9B07B,EAAqB,IAAEzZ,KAAKF,EAAe,CAAC,gBAClD7b,EAAO,yBAA0Bw1B,EAAoB,CAAEC,KAAM,OAGvDzZ,EAAe,IAAED,KAAKF,EAAe,CAAC,YAC5C7b,EAAO,mBAAoBgc,EAAc,CAAEyZ,KAAM,OAG3CC,EAAa,IAAE3Z,KAAKF,EAAe,CACvC,WACA,OACA,UACA,cACA,QACA,kBACA,YAEF7b,EAAO,WAAY01B,GAEnB11B,EAAO,cAAe,CACpB6B,OAAQ,2BACR/H,KAAM47B,EAAWvI,YACjBhqB,SAAU,cAGZnD,EAAO,cAAe,CACpB6B,OAAQ,oBACR/H,KAAM47B,EAAWC,KACjBxyB,SAAU,cAGRuyB,EAAWC,MACb,IAAEryB,QAAQ/I,OAAO8D,KAAKq3B,EAAWC,OAAO,SAACrP,GACvCrmB,EAAS,YAAaqmB,M,yBAInB,GAAMgB,QAAQtpB,I,6CAGjB43B,sBAhDe,aAgD6BxuB,GAAe,IAAnCpH,EAAmC,EAAnCA,OAAQC,EAA2B,EAA3BA,S,qLACnB,OAAM,GAAS1D,IAAT,kBAAwB6K,EAAxB,c,OAAjB3C,E,OAEA7D,EAAW,IAAErE,IAAIkI,EAAU,aACjCzE,EAAO,WAAYY,G,IACfA,EAAS0mB,Q,iBACLuO,EAAat7B,OAAO8D,KAAKuC,EAAS0mB,SACxCtnB,EAAO,YAAa,CAClB6B,OAAQ,qBACRK,MAAOkF,EACPzK,MAAOk5B,I,UAGT,OAAMtwB,QAAQ2B,IACZ,IAAErJ,IAAIg4B,GAAY,SAAC73B,GAAD,OAAQiC,EAAS,eAAgBjC,O,8CCjI9C,GAAQ,CACnB83B,YAAa,GACbC,yBAA0B,IAGf,GAAU,CACrBC,uBACE,WAAC32B,GAAD,OACA,SAAC2H,GACC,IAAIivB,EAAW52B,EAAM02B,yBAAyB/uB,IAAc,GAC5DivB,EAAWA,EAASp4B,KAClB,SAACG,GAAD,OAAgBqB,EAAMy2B,YAAY93B,MAEpC,OAAOi4B,IAEXC,kCACE,WAAC72B,GAAD,OACA,SAAC2H,EAAmBI,GAClB,IAAI6uB,EAAW52B,EAAM02B,yBAAyB/uB,IAAc,GAC5DivB,EAAWA,EAASp4B,KAClB,SAACG,GAAD,OAAgBqB,EAAMy2B,YAAY93B,MAEpCi4B,EAAWA,EAAS7vB,QAAO,SAAC5I,GAAD,OAAOA,EAAE4J,UAAYA,KAChD,OAAO6uB,KAIA,GAAY,GAEZ,GAAU,CACfE,4BADe,aAGnBn0B,GAA8B,IAD5BhC,EAC4B,EAD5BA,O,qLAGe,OAAM,GAASzD,IAAT,mBACTyF,EAAQgF,UADC,mB,OAAjBvC,E,OAGA2xB,EAAe3xB,EAAS3K,KAAKA,KAC7B8G,EAAWL,EAAc,cAAe61B,GAC9Cp2B,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,2BACRK,MAAOF,EAAQgF,UACfrK,MAAO,IAAEkB,IAAIu4B,EAAc,Q,6CCtCpB,GAAQ,CACnBC,QAAS,GACTC,kBAAmB,GACnBC,mBAAoB,IAGT,GAAU,CACrBC,gBACE,WAACn3B,GAAD,OACA,SAACinB,GACC,OAAQjnB,EAAMi3B,kBAAkBhQ,IAAW,IAAIzoB,KAC7C,SAACG,GAAD,OAAgBqB,EAAMg3B,QAAQr4B,QAGpCy4B,iBACE,WAACp3B,GAAD,OACA,SAACiM,GACC,OAAQjM,EAAMk3B,mBAAmBjrB,IAAY,IAAIzN,KAC/C,SAACG,GAAD,OAAgBqB,EAAMg3B,QAAQr4B,QAGpC04B,cACE,WAACr3B,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAMg3B,QAAQr4B,IAAO,QAIrB,GAAY,GAEZ,GAAU,CACf24B,cADe,aACW30B,GAA2B,IAArChC,EAAqC,EAArCA,O,qLACH,OAAM,GAASzD,IAAT,gBAAsByF,EAAQskB,OAA9B,c,OAAjB7hB,E,OACAmyB,EAAWnyB,EAAS3K,KAAKA,KACzB8G,EAAWL,EAAc,UAAWq2B,GAC1C52B,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,oBACRK,MAAOF,EAAQskB,OACf3pB,MAAO,IAAEkB,IAAI+4B,EAAU,Q,4CAGrBC,mBAZe,aAYgB70B,GAA4B,IAAtChC,EAAsC,EAAtCA,O,qLACR,OAAM,GAASzD,IAAT,iBACXyF,EAAQsJ,QADG,uB,OAAjB7G,E,OAGAmyB,EAAWnyB,EAAS3K,KAAKA,KACzB8G,EAAWL,EAAc,UAAWq2B,GAC1C52B,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,qBACRK,MAAOF,EAAQsJ,QACf3O,MAAO,IAAEkB,IAAI+4B,EAAU,Q,6CC5DhB,GAAQ,CACnBE,WAAY,GACZC,QAAS,GACTC,eAAgB,OAGL,GAAU,CACrBC,cACE,WAAC53B,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAM03B,QAAQ/4B,IAAO,OAEhCk5B,YANqB,WAMT73B,GACV,OAAO,IAAExB,IAAIwB,EAAMy3B,YAAY,SAAC94B,GAAD,OAAgBqB,EAAM03B,QAAQ/4B,QAIpD,GAAY,CAMvBm5B,kBANuB,WAML93B,EAAOmU,GACvBnU,EAAM23B,eAAiBxjB,IAId,GAAU,CASf4jB,cATe,cAWe,IADhCp3B,EACgC,EADhCA,OAAQX,EACwB,EADxBA,MACV2C,EAAkC,uDAAxB,G,kLAGLA,EAAQuY,OAASlb,EAAM23B,gB,yCACnBzxB,QAAQhH,W,gBAIA,OAAM,GAAShC,IAAI,a,OAA9BkI,E,OAEA4yB,EAAW5yB,EAAS3K,KAAKA,KACzB8G,EAAWL,EAAc,UAAW82B,GAC1Cr3B,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,aACRlF,MAAO,IAAEkB,IAAIw5B,EAAU,QAEzBr3B,EAAO,oBAAqB,M,6CAIxBs3B,aAhCe,aAgCUt5B,GAAU,IAApBgC,EAAoB,EAApBA,O,qLACF,OAAM,GAASzD,IAAT,oBAA0ByB,I,OAA3CyG,E,OACAsyB,EAAUtyB,EAAS3K,KAAKA,KAExB8G,EAAWL,EAAc,UAAWw2B,GAC1C/2B,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,UACRK,MAAO60B,EAAQ/4B,GACfrB,MAAOo6B,I,6CCtDA,GAAQ,CACnBQ,SAAU,GACVC,MAAO,GACPC,aAAc,MACdC,aAAc,IAGH,GAAU,CACrBC,YACE,WAACt4B,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAMm4B,MAAMx5B,IAAO,OAE9B45B,UANqB,WAMXv4B,GACR,OAAO,IAAExB,IAAIwB,EAAMk4B,UAAU,SAACv5B,GAAD,OAAgBqB,EAAMm4B,MAAMx5B,OAE3D65B,UACE,WAACx4B,EAAOiB,GAAR,OACA,SAACtC,GACC,IAAMw5B,EAAQl3B,EAAQq3B,YAAY35B,GAClC,OAAc,OAAVw5B,EACK,GAAP,OAAUA,EAAMt7B,KAAhB,YAAwBs7B,EAAM5mB,SAEvB,KAGbknB,cACE,WAACz4B,EAAOiB,GAAR,OACA,SAACtC,GACC,IAAMw5B,EAAQl3B,EAAQq3B,YAAY35B,GAClC,OAAc,OAAVw5B,EACK,GAAP,OAAUA,EAAMt7B,KAAhB,YAAwBs7B,EAAM5mB,QAA9B,YAAyC4mB,EAAM3mB,WAA/C,YAA6D2mB,EAAM1mB,iBAE5D,KAGbinB,4BACE,WAAC14B,EAAOiB,GAAR,OACA,SAACtC,GACC,IAAMw5B,EAAQl3B,EAAQq3B,YAAY35B,GAClC,IAAKw5B,EACH,MAAO,GAET,OAAQA,EAAMQ,eAAiB,IAAI5xB,QACjC,SAACsxB,GACC,IAAMO,EACsB,OAA1BP,EAAaQ,UACbR,EAAaQ,SAAW,OAASlR,OAAO,cACpCmR,EACoB,OAAxBT,EAAaU,QACbV,EAAaU,OAAS,OAASpR,OAAO,cACxC,OAAOiR,GAAcE,QAMlB,GAAY,CAMvBE,gBANuB,WAMPh5B,EAAOmU,GACrBnU,EAAMo4B,aAAejkB,IAIZ,GAAU,CASf8kB,YATe,cAWe,IADhCt4B,EACgC,EADhCA,OAAQX,EACwB,EADxBA,MACV2C,EAAkC,uDAAxB,G,kLAGLA,EAAQuY,OAASlb,EAAMo4B,c,yCACnBlyB,QAAQhH,W,gBAIA,OAAM,GAAShC,IAAI,W,OAA9BkI,E,OACA8zB,EAAS9zB,EAAS3K,KAAKA,KACvB8G,EAAWL,EAAc,QAASg4B,GACxCv4B,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,WACRlF,MAAO,IAAEkB,IAAI06B,EAAQ,QAEvBv4B,EAAO,kBAAmB,M,6CAItBw4B,WA/Be,aA+BQx6B,GAAU,IAApBgC,EAAoB,EAApBA,O,qLACA,OAAM,GAASzD,IAAT,kBAAwByB,I,OAAzCyG,E,OACA+yB,EAAQ/yB,EAAS3K,KAAKA,KAEtB8G,EAAWL,EAAc,QAASi3B,GACxCx3B,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,QACRK,MAAOs1B,EAAMx5B,GACbrB,MAAO66B,I,6CCxHA,GAAQ,CACnBiB,UAAW,GACXC,oBAAqB,IAGV,GAAU,CACrBC,mBACE,WAACt5B,GAAD,OACA,SAACinB,GACC,OAAQjnB,EAAMq5B,oBAAoBpS,IAAW,IAAIzoB,KAC/C,SAACG,GAAD,OAAgBqB,EAAMo5B,UAAUz6B,SAK3B,GAAY,GAEZ,GAAU,CACf46B,gBADe,cAGe,IADhC54B,EACgC,EADhCA,OAAQX,EACwB,EADxBA,MACV2C,EAAkC,uDAAxB,G,qLAEO,OAAM,GAASzF,IAAT,iBAAuByF,EAAQskB,OAA/B,iB,OAAjB7hB,E,OACAo0B,EAAap0B,EAAS3K,KAAKA,KAC3B8G,EAAWL,EAAc,YAAas4B,GAC5C74B,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,sBACRK,MAAOF,EAAQskB,OACf3pB,MAAO,IAAEkB,IAAIg7B,EAAY,Q,6CCSlB,GAAQ,CAInB1L,YAAa,GAMb2L,sBAAuB,GAMvBC,yBAA0B,IAGf,GAAU,CAKrBC,kBACE,WAAC35B,GAAD,OACA,SAAC45B,GACC,OAAO55B,EAAM8tB,YAAY8L,KAU7BC,2BACE,WAAC75B,EAAOiB,GAAR,OACA,SAAC0G,EAAmBsf,EAAgBlf,GAClC,GAAIkf,EACF,OAAOhmB,EAAQ64B,kBAAkB7S,EAAQlf,GAE3C,OAAO9G,EAAQ84B,qBAAqBpyB,EAAWI,KAQnDgyB,qBACE,WAAC/5B,GAAD,OACA,SAAC2H,EAAmBI,GAClB,IAAMiyB,EAAiBh6B,EAAM05B,yBAAyB/xB,IAAc,GAC9DkiB,EAAe,IAAErrB,IAAIw7B,GAAgB,SAACr7B,GAAD,OAAQqB,EAAM8tB,YAAYnvB,MACrE,OAAO,IAAEgzB,KAAK9H,EAAc,CAAE9hB,cAQlC+xB,kBACE,WAAC95B,GAAD,OACA,SAACinB,EAAgBlf,GACf,IAAMiyB,EAAiBh6B,EAAMy5B,sBAAsBxS,IAAW,GACxD4C,EAAe,IAAErrB,IAAIw7B,GAAgB,SAACr7B,GAAD,OAAQqB,EAAM8tB,YAAYnvB,MACrE,OAAO,IAAEgzB,KAAK9H,EAAc,CAAE9hB,cAOlC8lB,uBACE,WAAC7tB,EAAOiB,GAAR,OACA,SAAC0G,GACC,IAAMqyB,EAAiBh6B,EAAM05B,yBAAyB/xB,IAAc,GACpE,OAAOqyB,EAAex7B,KAAI,SAACG,GACzB,OAAOqB,EAAM8tB,YAAYnvB,QAU/Bs7B,8BACE,WAACj6B,EAAOiB,GAAR,OACA,SAAC0G,GACC,IAAME,EAAqB5G,EAAQ4sB,uBAAuBlmB,GACpDuyB,EAAUryB,EAAId,QAAO,SAAC5I,GAAD,OACzB,IAAE6E,SAAS/B,EAAQysB,oBAAqBvvB,EAAEskB,gBAE5C,OAAO,IAAE1b,OAAOmzB,GAAS,SAAC/7B,GAAD,OAAQA,EAAEwkB,eAOvCwX,qBACE,WAACn6B,EAAOiB,GAAR,OACA,SAAC0G,GACC,IAAME,EACJ5G,EAAQg5B,8BAA8BtyB,GACxC,OAAOE,EAAId,QACT,SAAC5I,GAAD,OACEA,EAAEskB,cAAgB2J,GAAYI,WAC9BruB,EAAEuwB,sBAAwBtC,GAAYI,eAQ9CwB,oBACE,WAAChuB,EAAOiB,GAAR,OACA,SAACgmB,GACC,IAAM+S,EAAiBh6B,EAAMy5B,sBAAsBxS,IAAW,GAC9D,OAAO+S,EAAex7B,KAAI,SAACG,GACzB,OAAOqB,EAAM8tB,YAAYnvB,QAU/By7B,2BACE,WAACp6B,EAAOiB,GAAR,OACA,SAACgmB,GACC,IAAMpf,EAAqB5G,EAAQ+sB,oBAAoB/G,GACjDiT,EAAUryB,EAAId,QAAO,SAAC5I,GAAD,OACzB,IAAE6E,SAAS/B,EAAQysB,oBAAqBvvB,EAAEskB,gBAE5C,OAAO,IAAE1b,OAAOmzB,GAAS,SAAC/7B,GAAD,OAAQA,EAAEwkB,eAOvC0X,kBACE,WAACr6B,EAAOiB,GAAR,OACA,SAACgmB,GACC,IAAMpf,EAAqB5G,EAAQm5B,2BAA2BnT,GAC9D,OAAOpf,EAAId,QAAO,SAAC5I,GAAD,OAAOA,EAAEskB,cAAgB2J,GAAYI,gBAIhD,GAAY,CAQvB8N,wBARuB,WAQCt6B,EAAOinB,GAC7B,IAAMpf,EAAa3M,OAAO2L,OAAO7G,EAAM8tB,aACjCtZ,EAAM,IAAE1N,MAAMe,GAAKd,OAAO,CAAEkgB,WAAUzoB,IAAI,MAAMlB,QACtD,OAAImF,IAAIzC,EAAMy5B,sBAAuBxS,EAAQzS,IAS/C+lB,2BApBuB,WAoBIv6B,EAAO2H,GAChC,IAAME,EAAqB3M,OAAO2L,OAAO7G,EAAM8tB,aACzCtZ,EAAM,IAAE1N,MAAMe,GAAKd,OAAO,CAAEY,YAAWsf,OAAQ,IAAKzoB,IAAI,MAAMlB,QACpE,OAAImF,IAAIzC,EAAM05B,yBAA0B/xB,EAAW6M,KAI1C,GAAU,GCpNV,GAAQ,CACnBgmB,QAAS,IAGE,GAAU,CACrBC,cACE,WAACz6B,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAMw6B,QAAQ77B,MAId,GAAY,GACZ,GAAU,GAER,IACbqB,MAAA,GACAiB,QAAA,GACAd,UAAA,GACAM,QAAA,ICvBgBi6B,IAAlB,SAAkBA,GAChB,4BACA,wBACA,0BACA,8BACA,gCACA,8BACA,+BAPF,CAAkBA,QAAU,KAUrB,IAAM,GAAQ,CACnBC,YAAa,MACbC,kBAAmB,GACnBtE,KAAM,IAGK,GAAU,CACrBuE,WACE,WAAC76B,GAAD,OACA,SAACinB,GACC,OAAOjnB,EAAMs2B,KAAKrP,KAEtB6T,gBACE,WAAC96B,GAAD,OACA,SAAC2H,GACC,OAAQ3H,EAAM46B,kBAAkBjzB,IAAc,IAAInJ,KAChD,SAACG,GAAD,OAAgBqB,EAAMs2B,KAAK33B,SAItB,GAAY,CACvBo8B,eADuB,WACR/6B,EAAOmU,GACpBnU,EAAM26B,YAAcxmB,IAIX,GAAU,CACf6mB,UADe,aACiBr8B,GAAU,IAA9BgC,EAA8B,EAA9BA,OAAQC,EAAsB,EAAtBA,S,mLACT,OAAM,GAAS1D,IAAT,gBAAsByB,I,OAAvCyG,E,OACE7D,EAAW6D,EAAS3K,KAAKA,KAE/BkG,EAAO,WAAYY,GAEnBZ,EAAO,cAAe,CACpB6B,OAAQ,wBACR/H,KAAM8G,EAASusB,YACfhqB,SAAU,WAGRvC,EAAS05B,eACXt6B,EAAO,cAAe,CACpB6B,OAAQ,yBACR/H,KAAM8G,EAAS05B,cACfn3B,SAAU,W,SAIH,OAAMlD,EAAS,0BAA2B,CACnDqL,QAAS1K,EAAS+0B,KAAK33B,GAAIsN,QAC3BiP,MAAO,Q,OAFT9V,E,iBAIW,OAAMxE,EAAS,gBAAiB,CAAEqmB,OAAQtoB,I,QAArDyG,E,kECpDJ,SAAS81B,GAAiBC,GACxB,OAAO,IAAEr0B,MAAMq0B,GACZ38B,KAAI,SAACK,GAEJ,IAAMu8B,EAAQ,IAAErc,UAAUlgB,GAMpBw8B,EAAe,IAAEn+B,IAAIk+B,EAAO,uBAAwB,MACtDC,IACFD,EAAME,YAAcD,GAQtB,OAAQD,EAAMG,YACZ,IAAK,6BACHH,EAAM1sB,QAAU,IAAExR,IAAIk+B,EAAO,qBAAuBv8B,EAAEy8B,YACtD,MAEF,IAAK,SACHF,EAAM1sB,QAAU,IAAExR,IAAIk+B,EAAO,uBAAyBv8B,EAAEy8B,YACxD,MAEF,IAAK,wBACHF,EAAM1sB,QAAU,IAAExR,IAAIk+B,EAAO,oBAAsBv8B,EAAEy8B,YACrD,MAEF,QACEF,EAAM1sB,QAAU,IAAExR,IAAI2B,EAAG,oBAAsBA,EAAEy8B,YACjD,MASJ,IAAME,EAAWJ,EAAM1sB,QAAQ+sB,UAAU,EAAG,IACtCC,EAASN,EAAMz8B,GAAGsV,WAAW0nB,SAAS,GAAI,KAChDP,EAAMQ,YAAcJ,EAAW,IAAME,EACrC,OAAON,KAERp0B,OAAO,eACP1J,QAGE,IAAM,GAAQ,CACnBu+B,sBAAuB,GACvBC,yBAA0B,GAC1BC,YAAa,IAGF,GAAU,CACrBC,oBACE,WAACh8B,GAAD,OACA,SAACinB,GACC,IAAMkU,GACJn7B,EAAM67B,sBAAsB5U,IAAW,IACvCzoB,KAAI,SAACG,GAAD,OAAgBqB,EAAM+7B,YAAYp9B,MACxC,OAAOu8B,GAAiBC,KAG5Bc,uBACE,WAACj8B,GAAD,OACA,SAAC2H,GACC,IAAMwzB,GACJn7B,EAAM87B,yBAAyBn0B,IAAc,IAC7CnJ,KAAI,SAACG,GAAD,OAAgBqB,EAAM+7B,YAAYp9B,MACxC,OAAOu8B,GAAiBC,MAGjB,GAAY,CACvBe,eADuB,WACRl8B,EAAOoF,GACpB,IAAM+2B,EAAW/2B,EAAS3K,KAAK0hC,SAC/B,IAAKA,EAEH,OAIFn8B,EAAM+7B,YAAYI,EAASx9B,IAAMw9B,EAGjC,IAAMlV,EAASkV,EAASx5B,QAAQskB,OAChC,GAAIA,EAAQ,CACV,IAAMmV,EAAWp8B,EAAM67B,sBAAsB5U,IAAW,GACxD,OAAIxkB,IAAIzC,EAAM67B,sBAAuB5U,EAArC,yBAAiDmV,GAAjD,CAA2DD,EAASx9B,MAItE,IAAMgJ,EAAYw0B,EAASx5B,QAAQgF,UACnC,GAAIA,EAAW,CACb,IAAM,EAAW3H,EAAM87B,yBAAyBn0B,IAAc,GAC9D,OAAIlF,IAAIzC,EAAM87B,yBAA0Bn0B,EAAxC,yBACK,GADL,CAEEw0B,EAASx9B,SAMJ,GAAU,CACf09B,0BADe,aACuB15B,GAA2B,IAArChC,EAAqC,EAArCA,O,qLACf,OAAM,GAASzD,IAAT,gBACZyF,EAAQskB,OADI,mB,OAAjB7hB,E,OAGAk3B,EAAgBl3B,EAAS3K,KAAKA,KAC9B8G,EAAWL,EAAc,cAAeo7B,GAC9C37B,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,wBACRK,MAAOF,EAAQskB,OACf3pB,MAAO,IAAEkB,IAAI89B,EAAe,Q,4CAI1BC,6BAfe,aAiBnB55B,GAA8B,IAD5BhC,EAC4B,EAD5BA,O,qLAGe,OAAM,GAASzD,IAAT,mBACTyF,EAAQgF,UADC,mB,OAAjBvC,E,OAGAk3B,EAAgBl3B,EAAS3K,KAAKA,KAC9B8G,EAAWL,EAAc,cAAeo7B,GAC9C37B,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,2BACRK,MAAOF,EAAQgF,UACfrK,MAAO,IAAEkB,IAAI89B,EAAe,Q,6CCtJrB,GAAQ,CACnBrB,cAAe,GACfuB,uBAAwB,IAGb,GAAU,CACrBC,oBACE,WAACz8B,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAMi7B,cAAct8B,KAG/B+9B,qBACE,WAAC18B,GAAD,OACA,SAACinB,GACC,IAAM0V,EAAa38B,EAAMw8B,uBAAuBvV,GAChD,IAAK0V,EACH,OAAO,KAET,OAAO38B,EAAMi7B,cAAc0B,IAAe,OAG9CC,6BACE,WAAC58B,EAAOiB,GAAR,OACA,SAACgmB,GACC,IAAM4V,EAAW57B,EAAQy7B,qBAAqBzV,GAC9C,GAAI4V,EACF,OAAOA,EAASC,sBAElB,OAAO,KAGA,GAAY,CAQvBC,qBARuB,WAQF/8B,EAAOinB,GAC1B,IAAMpf,EAAuB3M,OAAO2L,OAAO7G,EAAMi7B,eAC3C+B,EAA6B,IAAEj2B,OAAOc,EAAK,CAAEof,WAC7CtoB,EAAK,IAAEmI,MAAMk2B,GAAWh2B,OAAO,gBAAgBi2B,OAAO3/B,QAC5D,OAAImF,IAAIzC,EAAMw8B,uBAAwBvV,EAAQtoB,KAGrC,GAAU,GAER,IACbqB,MAAA,GACAiB,QAAA,GACAd,UAAA,GACAM,QAAA,IC1DW,GAAQ,CACnBy8B,4BAA6B,GAC7BC,eAAgB,IAGL,GAAU,CACrBC,0BACE,WAACp9B,GAAD,OACA,SAAC2H,GACC,OAAQ3H,EAAMk9B,4BAA4Bv1B,IAAc,IAAInJ,KAC1D,SAACG,GAAD,OAAgBqB,EAAMm9B,eAAex+B,SAKhC,GAAY,GAEZ,GAAU,CACf0+B,qBADe,aAGnB16B,GAA8B,IAD5BhC,EAC4B,EAD5BA,OAAQX,EACoB,EADpBA,M,qLAGO,OAAM,GAAS9C,IAAT,oBACRyF,EAAQgF,UADA,sB,OAAjBvC,E,OAGAk4B,EAAkBl4B,EAAS3K,KAAKA,KAChC8G,EAAWL,EAAc,iBAAkBo8B,GACjD38B,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,8BACRK,MAAOF,EAAQgF,UACfrK,MAAO,IAAEkB,IAAI8+B,EAAiB,Q,6CC0FvB,GAAb,yDACyB,GAAAC,QAAU,EACV,GAAArD,QAAU,EACV,GAAAsD,UAAY,EACZ,GAAAC,QAAU,EACV,GAAAC,SAAW,EAG7B,IAAMC,GAAmB,CAC9B,GAAczD,QACd,GAAcsD,UACd,GAAcC,QACd,GAAcC,UAGV,GAAQ,OAAH,0OACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IAAmB,CAEtBE,MAAO,GACPC,SAAU,GACVC,aAAc,MACdC,UAAW,GACXC,qBAAsB,GACtBC,cAAe,KAGX,GAAU,OAAH,0OACR,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IAAqB,CAExBC,UAFwB,WAEdl+B,GACR,OAAO,IAAExB,IAAIwB,EAAM69B,UAAU,SAACl/B,GAAD,OAAgBqB,EAAM49B,MAAMj/B,OAG3Dw/B,YACE,WAACn+B,GAAD,OACA,SAACiM,GACC,OAAOjM,EAAM49B,MAAM3xB,KAQvBmyB,UACE,WAACp+B,GAAD,OACA,SAACrB,GACC,IAAMi/B,EAAQ59B,EAAM49B,MAAMj/B,GAC1B,IAAKi/B,EACH,OAAOpJ,GAASzuB,EAAKtB,QAAd,YAA6B9F,GAEtC,OAAOi/B,EAAM/gC,KAAKkJ,EAAKtB,UAS3B45B,cACE,WAACr+B,EAAOiB,GAAR,OACA,SAACtC,GACC,IAAM2/B,EAAkBr9B,EAAQs9B,eAAe5/B,GAC/C,OAAO,IAAEH,IAAI8/B,GAAQ,SAAC3hC,GAAD,OAAOA,EAAEE,KAAKkJ,EAAKtB,WAAS0O,KAAK,UAO1DqrB,mBACE,WAACx+B,GAAD,OACA,SAACiM,GACC,IAAMwyB,EAAez+B,EAAMg+B,qBAAqB/xB,GAChD,OAAO,IAAEzN,IAAIigC,GAAc,SAAC9/B,GAAD,OAAgBqB,EAAM+9B,UAAUp/B,QAM/D+/B,gBACE,WAAC1+B,GAAD,OACA,SAAC2+B,GACC,OAAO3+B,EAAM+9B,UAAUY,KAM3BC,cACE,WAAC5+B,GAAD,OACA,SAAC2+B,GACC,IAAMZ,EAAY/9B,EAAM+9B,UAAUY,GAClC,GAAIZ,EACF,OAAOA,EAAUlhC,KAEnB,MAAO,KAGXgiC,gBACE,WAAC7+B,GAAD,OACA,SAACgZ,GACC,IAAMxE,EAAgBxU,EAAMi+B,cAAcjlB,GAAY,IAAM,GAC5D,OAAOxE,EAAIvZ,QAAU,IAOzB6jC,YACE,WAAC9+B,EAAOiB,GAAR,OACA,SAAC+X,GACC,IAAMxE,EAAgBxU,EAAMi+B,cAAcjlB,GAAY,IAAM,GAC5D,OAAO,IAAExa,IAAIgW,GAAK,SAAC7V,GAAD,OAAuBqB,EAAM49B,MAAMj/B,QAQzDogC,iBACE,WAAC/+B,GAAD,OACA,SAACrB,GACC,IAAM6V,EAAgB,GAClB4E,EAASza,EACb,MAAOqB,EAAM49B,MAAMxkB,GAAS,CAC1B5E,EAAI6E,QAAQD,GACZA,EAASpZ,EAAM49B,MAAMxkB,GAAQJ,SAEZ,IAAfxE,EAAIvZ,QACNuZ,EAAI6E,QAAQ,GAEd,OAAO7E,IAQX+pB,eACE,WAACv+B,EAAOiB,GAAR,OACA,SAACtC,GACC,IAAM6V,EAAMvT,EAAQ89B,iBAAiBpgC,GACrC,OAAO,IAAEmI,MAAM0N,GACZhW,KAAI,SAACG,GAAD,OAAQqB,EAAM49B,MAAMj/B,MACxBykB,UACA9lB,YAIH,GAAY,OAAH,wPACVwE,GAEA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IAAuB,CAE1Bk9B,gBAF0B,WAEVh/B,EAAOmU,GACrBnU,EAAM89B,aAAe3pB,GASvB8qB,yBAZ0B,WAYDj/B,GACvB,OAAIyC,IACFzC,EACA,WACA,IAAE8G,MAAM5L,OAAO2L,OAAO7G,EAAM49B,QAAQxa,UAAU5kB,IAAI,MAAMlB,SAE1D,OAAImF,IAAIzC,EAAO,gBAAiB,IANJ,sBAQXA,EAAM69B,UARK,MAQ5B,IAAK,EAAL,qBAAiC,KAAtBl/B,EAAsB,QACzBi/B,EAAQ59B,EAAM49B,MAAMj/B,GACpBqa,EAAW4kB,EAAM5kB,UAAY,EACnC,IAAKhZ,EAAMi+B,cAAc7iC,eAAe4d,GAAW,CACjD,OAAIvW,IAAIzC,EAAMi+B,cAAejlB,EAAU,IACnCA,GAAYhZ,EAAM49B,MAAM5kB,IAC1B,OAAIvW,IAAIzC,EAAM49B,MAAM5kB,GAAW,aAAc,GAGjDhZ,EAAMi+B,cAAcjlB,GAAUzd,KAAKoD,GAC/Bqa,GACFhZ,EAAM49B,MAAM5kB,GAAUkmB,cAnBE,kCAyB1B,GAAU,OAAH,0OACR,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IAAqB,CAOlBC,WAPkB,aAOKxgC,GAAqB,IAA/BgC,EAA+B,EAA/BA,O,gLACX6T,EAAgB,IAAER,QAAQ,CAACrV,IAC3Bmc,EAAa,IAAEC,WAAWvG,EAAK,GAAMqpB,U,KAEvC/iB,EAAW7f,OAAS,G,iBAChB+f,EAASF,EAAW3H,KAAK,K,SACd,OAAM,GAASjW,IAAT,2BAAiC8d,I,OAAlD5V,E,OACA7D,EAAW6D,EAAS3K,KAAKA,KAC/BkG,EAAO,WAAYY,GACnBZ,EAAO,4B,6CAILy+B,YApBkB,cAsBY,IADhCz+B,EACgC,EADhCA,OAAQX,EACwB,EADxBA,MACV2C,EAAkC,uDAAxB,G,kLAELA,EAAQuY,OAASlb,EAAM89B,c,yCACnB53B,QAAQhH,W,gBAEA,OAAM,GAAShC,IAAT,W,OAAjBkI,E,OACAk5B,EAASl5B,EAAS3K,KAAKA,KACvB8G,EAAWL,EAAc,QAASo9B,GACxC39B,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,WACRlF,MAAO,IAAEkB,IAAI8/B,EAAQ,QAEvB39B,EAAO,kBAAmB,MAC1BA,EAAO,4B,6CAGH0+B,wBAvCkB,aAyCtB18B,GAA4C,IAD1ChC,EAC0C,EAD1CA,OAAQM,EACkC,EADlCA,Q,8KAIJq+B,EAAer+B,EAAQu9B,mBAAmB77B,EAAQsJ,S,KACpDqzB,EAAarkC,SAAW0H,EAAQuY,O,0DAInB,OAAM,GAAShe,IAAT,kBACVyF,EAAQsJ,QADE,gB,OAAjB7G,E,OAGAm6B,EAAan6B,EAAS3K,KAAKA,KAC3B8G,EAAWL,EAAc,YAAaq+B,GAC5C5+B,EAAO,WAAYY,GACnBZ,EAAO,cAAe,CACpB6B,OAAQ,uBACR/H,KAAM8G,EAASw8B,UACfj6B,SAAU,Y,+CAKD,IACb9C,WAAY,KACZhB,MAAA,GACAiB,QAAA,GACAd,UAAA,GACAM,QAAA,IC5aa,UAAImJ,OAAO,CACxBsG,MAAO,CACL5S,MAAOmK,OACP4H,MAAOc,OACPP,SAAUQ,QACVT,SAAUS,QACVX,SAAUW,QACVN,YAAaM,QACbP,WAAYO,QACZZ,MAAOnO,MACPgtB,SAAUle,OACVoe,aAAc9mB,OACdinB,oBAAqBjnB,OACrB+3B,eAAgBpvB,QAChBqvB,UAAW,CAAEt+B,KAAMgP,SAErBnG,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,oBACxB,eAAS,WAAY,CAAC,YACtB,eAAS,QAAS,CAAC,gBAAc,CAKpCsqB,iBALoC,aAKpB,WACVoL,EAAuB,GACtBv3B,KAAKq3B,gBACRE,EAAqBnkC,KAAK6wB,GAAY5O,SAKxC,GAAIrV,KAAKumB,sBAAwBtC,GAAYI,UAAW,CACtD,IAAMmT,EAAsB,IAAE5kB,WAAW6R,GAAqB,CAC5DR,GAAYI,YAEdkT,EAAuB,GAAH,sBACfA,GADe,eAEfC,IAMP,GAAIx3B,KAAKumB,sBAAwBtC,GAAYE,WAAY,CACvD,IAAM,EAAsB,IAAEvR,WAAW6R,GAAqB,CAC5DR,GAAYE,aAEdoT,EAAuB,GAAH,sBACfA,GADe,eAEf,IAOLv3B,KAAKomB,eAAiB,GAAc2L,SACpC/xB,KAAKomB,eAAiB,GAAcgP,UAEpCmC,EAAuB,GAAH,sBAAOA,GAAP,eAAgCjT,MAKpDtkB,KAAKomB,eAAiB,GAAciP,WACpCr1B,KAAKomB,eAAiB,GAAckP,SACpCt1B,KAAKomB,eAAiB,GAAcmP,WAEpCgC,EAAuB,GAAH,sBACfA,GADe,CAElBtT,GAAYU,WACZV,GAAYS,WACZT,GAAYgB,eACZhB,GAAYI,UACZJ,GAAYE,WACZF,GAAYW,aAKM,aAAlB5kB,KAAKkmB,WACPqR,EAAuB,GAAH,sBACfA,GADe,CAElBtT,GAAYU,WACZV,GAAYS,WACZT,GAAYgB,kBAKZjlB,KAAKkmB,UAA8B,aAAlBlmB,KAAKkmB,WACxBqR,EAAuB,GAAH,sBACfA,GADe,CAElBtT,GAAYI,UACZJ,GAAYY,UAIhB,IAAIkE,EAAU,IAAEpqB,MAAMqB,KAAKyjB,YACxBvoB,QAAO,SAACmqB,GAAD,OAAQ,IAAExqB,SAAS08B,EAAsBlS,EAAG7uB,OACnDH,KAAI,SAACgvB,GAAD,MAAS,CACZlwB,MAAOkwB,EAAG7uB,GACViS,KAAM4c,EAAG3wB,KAAK,EAAK4H,YAEpBnH,QAGoB,QAAnB6K,KAAKs3B,YACPvO,EAAU,IAAE1yB,IAAI0yB,GAAS,SAACv0B,GACR,IAAZA,EAAEW,QACJX,EAAEiU,KAAO,EAAK8Y,eAAekL,KAE/B,OAAOj4B,MAIX,OAAOu0B,GAQTqD,cA1GoC,aA2GlC,IAAMqL,EAAW,IAAEphC,IAAI2J,KAAKmsB,iBAAkB,SAC9C,MAAO,GAAP,sBACMnsB,KAAKqH,OAAS,IADpB,CAEE,SAAClM,GAAD,OAAO,IAAEN,SAAS48B,EAAUt8B,IAAMyC,EAAKxI,EAAE,+BC5JwX,MCOra,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC6wB,WAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIlmB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,eAAe,CAACmB,YAAY,sBAAsBjB,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,uBAAuB,MAAQT,EAAI23B,sBAAsB,SAAW,GAAG,cAAc,kBAAkB,MAAQ33B,EAAIsH,MAAM,SAAWtH,EAAIyH,SAAS,QAAUzH,EAAI2J,QAAQ,UAAY3J,EAAIwH,WAAW7G,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIrI,OAAS,SAASyI,EAAG,WAAW,CAACE,MAAM,CAAC,YAAY,SAASU,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,SAAS,CAACA,EAAG,qBAAqB,CAACM,IAAI,qBAAqBJ,MAAM,CAAC,WAAa,IAAIK,GAAG,CAAC,SAAW,SAASC,GAAQZ,EAAI43B,aAAeh3B,EAC5rBZ,EAAIrI,OAAS,UAAWyI,EAAG,aAAaA,EAAG,iBAAiB,CAACA,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,MAAQ,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIrI,OAAS,SAAS,CAACqI,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQ,IAAI,IAAI,IAAI,IAC/P,GAAkB,GCFlB,GAAS,WAAa,IAAIT,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,SAAS,CAACO,GAAG,CAAC,OAAS,SAASC,GAAQA,EAAOC,iBAAiB,OAAOb,EAAIqI,eAAe,CAACjI,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,UAAU,mBAAmBN,EAAIkK,MAAQ,OAAS,QAAQ5E,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAe,YAAE,CAACtK,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAIuD,cAAc,sBAAuBnD,EAAG,sBAAsB,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI63B,qBAAqBj3B,OAAYZ,EAAI6C,OAAO4C,MAAM,MAAM,MAAM,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,YAAYA,EAAG,eAAe,CAACM,IAAI,QAAQJ,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,GAAG,cAAc,SAAS,UAAY,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI0Z,YAAc,EACnzB1Z,EAAIqI,aAAc,cAAcrI,EAAIqI,WAAWrH,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAI2D,MAAsB,kBAARzC,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,YAAY,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAI83B,YAAY,QAAU93B,EAAIzC,QAAQ,eAAe,GAAG,QAAUyC,EAAI2J,QAAQ,KAAO3J,EAAI0Z,YAAY,iBAAiB1Z,EAAI4Z,SAAS,sBAAsB5Z,EAAI6Z,mBAAmB,eAAe,CACtd,yBAA0B,CAAC,GAAI,GAAI,GAAI,GAAI,MAC3C,aAAa,SAAUzQ,GAAQ,OAAQpJ,EAAI8K,WAAa,aAAe,KAAQnK,GAAG,CAAC,cAAc,CAAC,SAASC,GAAQZ,EAAI0Z,YAAY9Y,GAAQ,SAASA,GAAQ,OAAOZ,EAAIqI,cAAc,sBAAsB,SAASzH,GAAQZ,EAAI4Z,SAAShZ,GAAQ,wBAAwB,CAAC,SAASA,GAAQZ,EAAI4Z,SAAShZ,GAAQ,SAASA,GAAQ,OAAOZ,EAAIqI,cAAc,YAAYrI,EAAI+3B,kBAAkBzyB,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,SAAS9E,GAC7a,IAAI0I,EAAO1I,EAAI0I,KACrB,MAAO,CAAChJ,EAAG,uBAAuB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,SAAS,CAACf,IAAI,YAAY8P,GAAG,SAAS9E,GACpF,IAAI0I,EAAO1I,EAAI0I,KACrB,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIg4B,eAAe5uB,EAAK3S,KAAK,SAAS,KAAK,SAAS,IAAI,IAC9E,GAAkB,GCRlB,GAAS,WAAa,IAAIuJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,wBAAwBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,iBAAiB,CAACY,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIi4B,WAAW/2B,GAAKG,WAAW,iBAAiB,IAChd,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,GAAK,IAAI,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQT,EAAIi4B,WAAWtjC,KAAK,MAAQ,CAAC,SAAUyG,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,GAAK,IAAI,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIi4B,WAAW5uB,QAAQ,MAAQ,CAAC,SAAUjO,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,UAAW1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,GAAK,IAAI,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIi4B,WAAW3uB,YAAY3I,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,GAAK,IAAI,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAIi4B,WAAW1uB,iBAAiB5I,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQT,EAAIi4B,WAAWzqB,SAAS,MAAQ,kBAAkB,kBAAkB,GAAG,MAAQ,CAAC,SAAUpS,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAIi4B,WAAW3pB,aAAa3N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAIi4B,WAAW1pB,cAAc5N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,eAAgB1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIi4B,WAAW/sB,uBAAuBvK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,wBAAyB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,MAAQT,EAAIi4B,WAAW1qB,sBAAsB5M,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,uBAAwB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQT,EAAIi4B,WAAW1V,UAAU,MAAQ,CAAC,SAAUnnB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,SAAW,GAAG,MAAQ,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,YAAa1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAIi4B,WAAWC,SAAS,SAAW,GAAG,MAAQ,IAAIv3B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,GAAIZ,EAAIi4B,WAAa,GAAE73B,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,cAAcT,EAAIi4B,WAAWxd,WAAW9Z,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,QAAa,GAAGZ,EAAI6C,MAAM,IAAI,IAAI,IACvqG,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,wBAAwB,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAIsH,MAAM,MAAQtH,EAAIm4B,aAAa,SAAWn4B,EAAIyH,SAAS,KAAOzH,EAAIo4B,KAAK,kBAAkBp4B,EAAIq4B,eAAe,SAAWr4B,EAAIuH,SAAS,MAAQvH,EAAI6H,OAAOlH,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,QACxZ,GAAkB,GCuBP,UAAIc,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAO,CAACmK,OAAQpG,OAChBmO,MAAOnO,MACPi/B,KAAMnwB,OACNowB,eAAgBnwB,QAChBT,SAAUS,QACVX,SAAUW,QACVL,MAAOK,QACPowB,MAAO,CACLtf,SAAU,MACV/f,KAAM,CAACsG,OAAQpG,QAGjBm+B,eAAgBpvB,QAChBqwB,aAActwB,QAGhBnG,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,2BACxB,eAAS,WAAY,CAAC,YAAU,CASnCo2B,SATmC,aAWjC,IAAM5rB,EAAarM,KAAKq4B,MACpB,IAAExsB,QAAQ,CAAC7L,KAAKq4B,QAChB,IAAEzhB,UAAU4e,IAEZx1B,KAAKq3B,gBACPhrB,EAAI6E,QAAQ,GAEd,OAAO7E,GAOT6rB,aAzBmC,aAyBvB,WACJnP,EAAyB,IAAE1yB,IAAI2J,KAAKi4B,UAAU,SAACzhC,GAAD,OAClD,EAAK+hC,eAAe/hC,MAEtB,OAAOuyB,KAIX/mB,QAAS,CACPu2B,eADO,WACQ/hC,GACb,IAAIiS,EAAOzI,KAAKsc,sBAAsB9lB,EAAI,qBACrCA,GACuB,QAAtBwJ,KAAKs4B,eACP7vB,EAAOgkB,GAAKzsB,KAAK1D,SAGrB,MAAO,CAAEnH,MAAOqB,EAAIiS,YCtFgZ,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACO,iBAAA,OC0Ff,cAAIvH,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGT8O,SAAU,CAeRm2B,WAfQ,aAgBN,OAAOh4B,KAAK7K,MACR6K,KAAK7K,MACL,CACEqB,GAAI,EACJ9B,KAAM,GACN0U,QAAS,GACTC,WAAY,GACZC,gBAAiB,GACjBgE,qBAAsBgC,GACtBrE,sBAAuBqE,GACvB/B,SAAU,EACVc,YAAa,GACbC,aAAc,GACdgU,UAAW,GACXkW,OAAQ,GACRhe,UAAW,SAKrBxY,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAKg4B,aAAa,SAAC78B,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,SAKzD3G,WAAY,CACV2kB,oBACAC,yBCnLob,MCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACjlB,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKC,cAAA,OCHnC,cAAIlB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLmH,MAAO,KACP/B,OAAQ,MAERsgC,WAAY,OAGhBh2B,QAAS,CAKP4D,MALO,aAML5F,KAAKvG,MAAQ,KACbuG,KAAKg4B,WAAa,MAOdnyB,KAdC,a,+KAeA7F,KAAKg4B,W,mEAIS,OAAM,GAAiBrkB,KAAK,qBAAsB,CACjErhB,KAAM,CACJoC,KAAMsL,KAAKg4B,WAAWtjC,KACtB0U,QAASpJ,KAAKg4B,WAAW5uB,QACzBC,WAAYrJ,KAAKg4B,WAAW3uB,WAC5BC,gBAAiBtJ,KAAKg4B,WAAW1uB,gBACjC2B,sBAAuBjL,KAAKg4B,WAAW/sB,sBACvCqC,qBAAsBtN,KAAKg4B,WAAW1qB,qBACtCC,SAAUvN,KAAKg4B,WAAWzqB,SAC1Be,aAActO,KAAKg4B,WAAW1pB,aAC9BD,YAAarO,KAAKg4B,WAAW3pB,YAC7BiU,UAAWtiB,KAAKg4B,WAAW1V,UAC3B2V,SAAUj4B,KAAKg4B,WAAWC,SAC1Bzd,UAAWxa,KAAKg4B,WAAWxd,a,OAbzBvd,E,OAkBA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,yBAA0BY,GAEvCwa,EAAQta,EAAoBF,EAAU,cAC5C4G,KAAK8H,MAAM,QAAS8L,GAEpB5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV6kB,qBClFyb,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI54B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,wBAAwBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAUsG,EAAc,WAAEI,EAAG,iBAAiB,CAACY,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIi4B,WAAW/2B,GAAKG,WAAW,gBAAgBrB,EAAI6C,MAAM,IAC3e,GAAkB,GCsBP,UAAInB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAENhN,KAJwB,aAKtB,MAAO,CACLmH,MAAO,KACP/B,OAAQ,MACRsgC,WAAY,OAGhBn2B,SAAU,OAAF,UACH,eAAW,gBAAiB,CAAC,sBAElCG,QAAS,CAMD4D,MANC,a,iLAOL,OAAM5F,KAAK2I,OAAOlQ,SAAS,gCAAiCuH,KAAKxJ,I,OAC3Dse,EAAY/hB,OAAOyI,OAAO,GAAIwE,KAAK44B,iBAAiB54B,KAAKxJ,KAC/DwJ,KAAKg4B,WAAaljB,EAClB9U,KAAKvG,MAAQ,K,iDAQToM,KAlBC,a,6KAmBA7F,KAAKg4B,W,0DAKRh4B,KAAKvG,MAAQ,K,SACI,OAAM,GAAiBka,KAAK,qBAAsB,CACjErhB,KAAM,CACJkE,GAAIwJ,KAAKg4B,WAAWxhC,GACpB9B,KAAMsL,KAAKg4B,WAAWtjC,KACtB0U,QAASpJ,KAAKg4B,WAAW5uB,QACzBC,WAAYrJ,KAAKg4B,WAAW3uB,WAC5BC,gBAAiBtJ,KAAKg4B,WAAW1uB,gBACjC2B,sBAAuBjL,KAAKg4B,WAAW/sB,sBACvCqC,qBAAsBtN,KAAKg4B,WAAW1qB,qBACtCC,SAAUvN,KAAKg4B,WAAWzqB,SAC1Be,aAActO,KAAKg4B,WAAW1pB,aAC9BD,YAAarO,KAAKg4B,WAAW3pB,YAC7BzO,QAASI,KAAKg4B,WAAWp4B,QACzB4a,UAAWxa,KAAKg4B,WAAWxd,UAC3B8H,UAAWtiB,KAAKg4B,WAAW1V,UAC3B2V,SAAUj4B,KAAKg4B,WAAWC,Y,OAfxBh7B,E,OAkBA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,yBAA0BY,GAE7C4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV6kB,qBC1F0b,MCO1b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QC0DA,UAAIl3B,OAAO,CACxBsG,MAAO,CACL8C,WAAY5C,QACZgC,MAAOhC,SAGTE,QANwB,aAOtBnI,KAAKoI,YAELpI,KAAKoI,UAAY,IAAEwN,SAAS5V,KAAKoI,UAAW,MAG9C9V,KAZwB,aAatB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEPgd,UAAW,GACX/S,MAAO,GAGP+V,YAAa,EACbE,SAAU,GACVC,mBAAoB,IAIxB/X,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,gBAAiB,CAAC,mBAAoB,oBAAkB,CAEtE6U,YAFsE,aAIpE,IAAK1W,KAAKsD,cAAc,sBACtB,OAAO,MAGT,IAAKtD,KAAK6K,WAGR,OAAO,KAGT,QAAS7K,KAAK0D,OAGhBm1B,aAjBsE,aAkBpE,GAAI74B,KAAK6K,WAGP,OAAO,MAIT,OAAO7K,KAAKsD,cAAc,uBAG5Bu0B,YA5BsE,aA6BpE,OAAO,IAAExhC,IAAI2J,KAAKyW,UAAWzW,KAAK44B,mBAGpCt7B,QAhCsE,aAiCpE,IAAMA,EAAiB,CACrB,CACEmL,KAAM7K,EAAKxI,EAAE,eACbD,MAAO,QAET,CACEsT,KAAM7K,EAAKxI,EAAE,sBACbD,MAAO,eAET,CACEsT,KAAM7K,EAAKxI,EAAE,uBACbD,MAAO,iBAGP6K,KAAK64B,cACPv7B,EAAQ4T,QAAQ,CACdzI,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,KACP2hB,MAAO,QAGX,OAAOxZ,KAGX0E,QAAS,CAQP41B,qBARO,WAQchkB,GACnB,GAAI5T,KAAK6K,WAAY,CACnB,IAAMiuB,EAAO94B,KAAK44B,iBAAiBhlB,GACnC5T,KAAK83B,iBAAiBgB,OACjB,CACL94B,KAAKyW,UAAUvF,QAAQ0C,GACnB5T,KAAK4Z,mBAAqB,IAC5B5Z,KAAK4Z,mBAAqB,KAUhCke,iBAzBO,WAyBUgB,GACf94B,KAAK8H,MAAM,WAAYgxB,EAAKtiC,KAQ9BoP,MAlCO,aAkCF,WACH5F,KAAKyX,WAAU,WACb,EAAK/T,MAAQ,GACb,EAAK0E,YACJ,EAAKzG,MAAM+B,MAAc9B,YASxBwG,UA/CC,a,8KAgDLpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,KAEPqY,EAAO,GACbA,EAAK1e,KAAL,qBAAwB4M,KAAK2Z,WAC7B7H,EAAK1e,KAAL,uBAA0B4M,KAAKyZ,cAC/B3H,EAAK1e,KAAL,YAAe4M,KAAK0D,OAAS,K,kBAGV,OAAM,GAAiB3O,IACtC,uBAAyB+c,EAAK9G,KAAK,M,OAD/B/N,E,OAGN,GAAIA,GAAYA,EAAS3K,MAAQ2K,EAAS3K,KAAKA,KAAM,CAE/C2K,EAAS3K,KAAKwoB,OAChB9a,KAAK4Z,mBAAqB3c,EAAS3K,KAAKwoB,KAAKC,cAIzC8c,EAAc56B,EAAS3K,KAAKA,KAC5B8G,EAAWL,EAAc,aAAc8+B,GAC7C73B,KAAK2I,OAAOnQ,OAAO,yBAA0BY,GAG7C4G,KAAKyW,UAAY,IAAEpgB,IAAI4G,EAAS3K,KAAKA,KAAM,M,qDAG7C0N,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,sFAKrBoK,WAAY,CACVilB,uBACAC,2BCtPwb,MCOxb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAAC52B,SAAA,KAAME,UAAA,QAAUwV,cAAA,KAAWC,SAAA,KAAMhT,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UCe5E,cAAIxD,OAAO,CACxBsG,MAAO,CACL5S,MAAOmK,OAGP4H,MAAOc,OAGPX,MAAOnO,MAGPsO,SAAUS,QAGVV,UAAWU,QAIXyjB,YAAaxyB,MAKbgf,UAAWjQ,SAEb3V,KAzBwB,aA0BtB,MAAO,CACLoX,QAAS,MACThS,OAAQ,MAERigC,aAAc,IAGlB71B,MAAO,CACL3M,MADK,WACC+hB,GACJ,IAAKlX,KAAKkY,WAAahB,IAAWlX,KAAK23B,aAAc,CACnD33B,KAAK23B,aAAezgB,EACpB,OAGElX,KAAKkY,YAAchB,IACrBlX,KAAK23B,aAAe,IAGxBjgC,OAXK,WAWEwf,GAAe,WACpBlX,KAAKyX,WAAU,WACZ,EAAK9V,MAAMs3B,mBAA2BrzB,YAGrC+xB,aAhBD,WAgBc/jB,G,4KACb5T,KAAKkY,U,qBACHlY,KAAKg4B,W,iBAIDp4B,EAAUI,KAAKg4B,WAAWp4B,QAChCI,KAAK0J,QAAU,K,SACf,OAAM1J,KAAK2I,OAAOlQ,SAChB,mBACAuH,KAAKg4B,WAAWp4B,S,OAElBI,KAAK0J,QAAU,MACf1J,KAAK8H,MAAM,QAASlI,G,wBAEpBI,KAAK8H,MAAM,QAAS,G,0CAKxB9H,KAAK8H,MAAM,QAAS9H,KAAK23B,c,mDAG7B91B,SAAU,OAAF,oDACH,eAAS,WAAY,CAAC,YACtB,eAAW,QAAS,CAAC,eACrB,eAAW,gBAAiB,CAAC,mBAAoB,oBAAkB,CACtEm2B,WADsE,aAEpE,OAAOh4B,KAAK44B,iBAAiB54B,KAAK23B,eAAiB,MAErDD,sBAJsE,aAKpE,IAAK13B,KAAK7K,MACR,MAAO,GAET,GAAI6K,KAAKkY,UACP,OAAOlY,KAAKyY,UAAUzY,KAAK7K,OAE7B,OAAO6K,KAAK+3B,eAAe/3B,KAAK7K,UAGpC2e,WAAY,CACVolB,yBCvI8b,M,aCQ9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAAC/2B,QAAA,KAAKC,SAAA,KAAMC,aAAA,QAAawW,WAAA,KAAQ/T,YAAA,KAASC,WAAA,KAAQpC,cAAA,OC4DhE,cAAIlB,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,OACPmzB,SAAUle,OACVoe,aAAc9mB,OACdqnB,iBAAkBrnB,QAGpBuC,SAAU,CAeR8jB,YAfQ,aAgBN,IAAMwT,EACc,aAAlBn5B,KAAKkmB,SACDjC,GAAYI,UACZJ,GAAYU,WACZyU,GAAuBp5B,KAAK2mB,iBAE9BwS,EADAn5B,KAAK2mB,iBAET,OAAO3mB,KAAK7K,MACR6K,KAAK7K,MACJ,CACCqB,GAAI,EACJgJ,UAAW,EACXsf,OAAQ,EACRlf,QAAS,EACT0a,YAAa8e,EACb7S,oBAAqB,EACrBU,UAAW,GACXD,QAAS,KAIjBH,UArCQ,aAwCN,QAAS7mB,KAAK2lB,YAAYnvB,IAG5B6iC,eA3CQ,aA4CN,SACEr5B,KAAK2lB,aACL3lB,KAAK2lB,YAAY/lB,UAChBI,KAAK2lB,YAAYrL,cAAgB2J,GAAYI,WAC5CrkB,KAAK2lB,YAAYY,sBAAwBtC,GAAYI,aAI3DiV,iBApDQ,aAqDN,SACEt5B,KAAK2lB,aACL3lB,KAAK2lB,YAAY/lB,SACjBI,KAAK2lB,YAAYrL,cAAgB2J,GAAYE,YAC7CnkB,KAAK2lB,YAAYY,sBAAwBtC,GAAYE,aAIzDoV,sBA7DQ,aA8DN,OAAO,IAAE1+B,SAASypB,GAAoBtkB,KAAK2lB,YAAYrL,cAGzDkf,YAjEQ,aAkEN,OACE,IAAE3+B,SAASupB,GAAuBpkB,KAAK2lB,YAAYrL,cACnD,IAAEzf,SAASupB,GAAuBpkB,KAAK2lB,YAAYY,sBAIvDkT,aAxEQ,aAyEN,OACE,IAAE5+B,SAASqpB,GAAwBlkB,KAAK2lB,YAAYrL,cACpD,IAAEzf,SAASqpB,GAAwBlkB,KAAK2lB,YAAYY,sBAIxDmT,kBA/EQ,aAiFN,IAAK15B,KAAK2lB,YAAYrL,YACpB,OAAO,MAET,GAAI,IAAEzf,SAASypB,GAAoBtkB,KAAK2lB,YAAYrL,aAGlD,QAASta,KAAK2lB,YAAYY,oBAE5B,OAAO,MASTG,cAlGQ,aAmGN,GAAI1mB,KAAKu5B,sBACP,OAAO,EAET,OAAO,IAIXv3B,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAClB6K,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAK2lB,cAAc,SAACxqB,GAAD,OAAO,iBAAIA,EAAG1F,EAAKN,QAUxDyxB,iBAxBO,WAwBU+S,GACf,IAAMC,EAAiB,uBAAU55B,KAAK2lB,aACjC3lB,KAAK6mB,WAAa8S,IAAc35B,KAAK2lB,YAAYrL,cACpDsf,EAAeh6B,QAAU,GAE3Bg6B,EAAetf,YAAcqf,EAC7B35B,KAAK8H,MAAM,QAAS8xB,IAUtB9S,yBAxCO,WAwCkB6S,GACvB,IAAMC,EAAiB,uBAAU55B,KAAK2lB,aACjC3lB,KAAK6mB,YACR+S,EAAeh6B,QAAU,GAE3Bg6B,EAAerT,oBAAsBoT,EACrC35B,KAAK8H,MAAM,QAAS8xB,IAUtB7S,aAxDO,WAwDMnT,GACX,IAAMgmB,EAAiB,uBAAU55B,KAAK2lB,aACtCiU,EAAeh6B,QAAUgU,EACzB,IAAMimB,IAAmBD,EAAetf,YAClCwf,IAA2BF,EAAerT,oBAC5C3S,GAASimB,IAAmBC,IAC9BF,EAAerT,oBAAsBqT,EAAetf,aAEtDta,KAAK8H,MAAM,QAAS8xB,KAIxB9lB,WAAY,CACVimB,eACAC,sBACAze,uBACA0e,qBACAnhB,yBACAohB,+BCtRqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC13B,QAAA,KAAKE,QAAA,OCuBpB,cAAIjB,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACPzI,UAAWF,OACXwf,OAAQxf,OACR4mB,SAAUle,OACVoe,aAAc9mB,OACdwc,YAAa7T,QACbkyB,yBAA0BjhC,OAE5BiP,QAVwB,aAWtBnI,KAAKtI,OAASsI,KAAK7K,OAErB7C,KAbwB,aActB,MAAO,CACLoF,OAAQ,MACR6O,QAAS,GACTof,YAAa,KAEblsB,MAAO,OAGXoI,SAAU,OAAF,wBACH,eAAW,QAAS,CACrB,gBACA,sBACA,4BACA,CAMF4kB,YANE,aAOA,IAAMzwB,EAAIgK,KAAK2lB,YACf,QAAS3vB,KAAOA,EAAEskB,eAAiBtkB,EAAE4J,SAQvCw6B,gBAhBE,aAiBA,IAAKp6B,KAAK2lB,YACR,OAAO,MAET,OAAO,IAAE9qB,SAASmF,KAAKq6B,qBAAsBr6B,KAAK2lB,YAAY/lB,UAUhEy6B,qBA9BE,aA+BA,IAAMC,EAAkB,GACxB,GAAIt6B,KAAK8e,OAAQ,CAGf,IAAMzS,EAAM,IAAEhW,IAAI2J,KAAK6lB,oBAAoB7lB,KAAK8e,QAAS,WACzDwb,EAAgBlnC,KAAhB,MAAAknC,EAAe,eAASjuB,SACnB,GAAIrM,KAAKR,UAAW,CAIzB,IAAM,EAAM,IAAEnJ,IACZ2J,KAAK0lB,uBAAuB1lB,KAAKR,WACjC,WAEF86B,EAAgBlnC,KAAhB,MAAAknC,EAAe,eAAS,IAE1B,IAAMC,EAAiBv6B,KAAKm6B,0BAA4B,GACxDG,EAAgBlnC,KAAhB,MAAAknC,EAAe,eAASC,IACxB,OACE,IAAE57B,MAAM27B,GAGLrf,UAEAlgB,OACA5F,WAIT2M,MAAO,CACL3M,MADK,WACC6W,GACJhM,KAAKtI,OAASsU,GAEhBtU,OAJK,WAIEsU,GACLhM,KAAK8H,MAAM,QAASkE,KAGxBhK,QAAS,CAKP4D,MALO,aAML5F,KAAKuG,QAAU,OAASiZ,SACxBxf,KAAK2lB,YAAc,MAaf9f,KApBC,a,iLAqBA7F,KAAK2lB,Y,iDAIV,IAAK3lB,KAAKR,UAAW,CACbg7B,EAAcznC,OAAOyI,OAAO,GAAIwE,KAAK2lB,aAC3C3lB,KAAK8H,MAAM,QAAS0yB,GAEtBx6B,KAAKvG,MAAQ,K,kBAEM,OAAM,GAASka,KAAK,sBAAuB,CAC1DrhB,KAAM,CACJkN,UAAWQ,KAAKR,UAChBsf,OAAQ9e,KAAK8e,OACblf,QAASI,KAAK2lB,YAAY/lB,QAC1B0a,YAAata,KAAK2lB,YAAYrL,YAC9BiM,oBAAqBvmB,KAAK2lB,YAAYrL,YACtC2M,UAAWjnB,KAAK2lB,YAAYsB,WAAa,GACzCD,QAAShnB,KAAK2lB,YAAYqB,SAAW,GACrCzgB,QAASvG,KAAKuG,W,OATZtJ,E,OAaA7D,EAAW6D,EAAS3K,KAAKA,KACzBsnC,EAAiB7mC,OAAO2L,OAC5BtF,EAASusB,aACT,GAGF3lB,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAGrC4G,KAAK2I,OAAOnQ,OAAO,uBAAwByE,GAEvC+C,KAAK8e,QAMP9e,KAAK2I,OAAOnQ,OAAO,uBAAwB,CACzC6B,OAAQ,wBACRK,MAAOsF,KAAK8e,OACZ3pB,MAAOykC,EAAepjC,KAItBwJ,KAAKR,WAMPQ,KAAK2I,OAAOnQ,OAAO,uBAAwB,CACzC6B,OAAQ,2BACRK,MAAOsF,KAAKR,UACZrK,MAAOykC,EAAepjC,KAI1BwJ,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV2mB,sBCtO0b,M,aCO1b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACC,UAAA,KAAOl4B,QAAA,KAAKE,QAAA,OCyC3B,cAAIjB,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CACL6D,KAAME,MACN2lB,QAAS,mBAAM,KAEjBqH,SAAUle,OACVoe,aAAc9mB,QAGhBuC,SAAU,OAAF,sCACH,eAAS,QAAS,CAAC,gBACnB,eAAW,WAAY,CAAC,2BAAyB,CAMpD6f,aANoD,aASlD,OAAQ1hB,KAAK7K,MAAQ6K,KAAK7K,MAAQ,IAQpCgxB,SAjBoD,aAkBlD,OAAO,IAAExnB,MAAMqB,KAAK0hB,cAAgB,IACjCrrB,IAAI,WACJ0E,OACAkgB,UACA9lB,SAOLmxB,uBA7BoD,aA8BlD,GAAiC,IAA7BtmB,KAAK0hB,aAAa5uB,OACpB,OAAO,GAET,GAAsB,aAAlBkN,KAAKkmB,SACP,OAAO,GAET,OAAO,KAIXlkB,QAAS,CAMPqkB,eANO,WAMQrwB,GACb,IAAMkjB,EAAW,GAAH,sBAAOlZ,KAAK0hB,cAAZ,CAA0B1rB,IACxCgK,KAAK8H,MAAM,QAASoR,IAQtBsN,kBAhBO,WAgBW5zB,GAChB,IAAMsmB,EAAW,eAAIlZ,KAAK0hB,cAC1BxI,EAASllB,OAAOpB,EAAG,GACnBoN,KAAK8H,MAAM,QAASoR,KAIxBpF,WAAY,CACV2mB,mBACAE,2BC/Isb,MCOtb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAahC,KAAkB,GAAW,CAACx4B,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKqC,WAAA,KAAQC,YAAA,KAASC,cAAA,UCqFrE,cAAIxD,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACPS,MAAOV,OACPqZ,cAAerZ,QAGjB1V,KAPwB,aAQtB,MAAO,CACLmY,OAAQ,GACRzR,KAAM,QACN2K,aAAc,EACd4C,QAAS,OAASiZ,SAClBiC,eAAgB,GAChBD,QAAS,EACTE,aAAc,GACd1a,kBAAmB,GACnBvN,MAAO,OAIXqI,MAAO,CACL9I,KAAM,CACJkL,QADI,WACIgT,EAAQE,GACC,aAAXF,IACFlX,KAAKwhB,QAAU,GAEF,UAAXtK,IACFlX,KAAKwhB,QAAU,GAEF,UAAXtK,IACFlX,KAAKwhB,QAAU,GAEjBxhB,KAAK46B,qBAEP32B,UAAW,MAEbod,cAhBK,WAgBSnK,GACZlX,KAAKhH,KAAOke,GAAU,UAI1BrV,SAAU,OAAF,sCACH,eAAS,QAAS,CAAC,aAAc,qBACjC,eAAW,WAAY,CAAC,wBAAyB,oBAAkB,CAEtEyf,WAFsE,aAGpE,GAAkB,UAAdthB,KAAKhH,KACP,OAAOgH,KAAKwiB,gBAAgB5jB,QAAO,SAACxJ,GAAD,OAAOA,EAAEoB,KAAOyrB,GAAY4Y,UAEjE,OAAO76B,KAAKwiB,mBAIhBxgB,QAAS,CACP4D,MADO,aAEJ5F,KAAK2B,MAAMm5B,KAAeC,kBAE3B/6B,KAAKyK,OAAS,GACdzK,KAAKhH,KAAO,QACZgH,KAAK2D,aAAe,EACpB3D,KAAKuG,QAAU,OAASiZ,SACxBxf,KAAKyhB,eAAiB,GACtBzhB,KAAKwhB,QAAU,EACfxhB,KAAK46B,oBACL56B,KAAKgH,kBAAoB,GACzBhH,KAAKvG,MAAQ,MAGfoM,KAfO,aAeH,WACF,IAAK7F,KAAKg7B,WACR,OAEFh7B,KAAKvG,MAAQ,KACb,GACGka,KAAK,kBAAmB,CACvBrhB,KAAM,CACJ0G,KAAMgH,KAAKhH,KACXyR,OAAQzK,KAAKyK,OACb9G,aAAc3D,KAAK2D,aACnB4C,QAASvG,KAAKuG,QACdkb,eAAgBzhB,KAAKyhB,eACrBD,QAASxhB,KAAKwhB,QACdE,aAAc1hB,KAAK0hB,aACnB1a,kBAAmBhH,KAAKgH,qBAG3Bi0B,MAAK,SAACh+B,GACL,IAAM7D,EAAW6D,EAAS3K,KAAKA,KAC/B,EAAKqW,OAAOnQ,OAAO,iBAAkBY,GACrC,IAAM8hC,EAAenoC,OAAO8D,KAAKuC,EAAS0mB,SAAS,GAGlD,EAAKne,MAAMlD,YAAoB4U,eAAe6nB,GAE/C,EAAKt1B,QACL,EAAK+b,QACL,GAAOvuB,KAAK,CACVsB,KAAM,cACN2K,OAAQ,CAAE7I,GAAI0kC,QAGjBC,OAAM,SAACC,GACN,EAAK3hC,MAAQ2hC,MAInBzZ,MArDO,aAsDL3hB,KAAK4F,QACL5F,KAAK8H,MAAM,QAAS,QAGtBkzB,SA1DO,aA2DL,OAAQh7B,KAAK2B,MAAMm5B,KAAeE,YAQpCJ,kBAnEO,aAoEL,IAAIS,EAAU,GAEI,aAAdr7B,KAAKhH,OACPqiC,EAAU,CAACpX,GAAYI,YAEP,UAAdrkB,KAAKhH,OACPqiC,EAAU,CAACpX,GAAYW,UAAWX,GAAYS,aAE9B,UAAd1kB,KAAKhH,OACPqiC,EAAU,CAACpX,GAAYU,WAAYV,GAAYS,aAGjD1kB,KAAK0hB,aAAe2Z,EAAQhlC,KAAI,SAAC6lB,GAC/B,MAAO,CACLtc,QAAS,EACT0a,YAAa4B,EACbqK,oBAAqBrK,EACrBof,mBAAoB,SAM5BxnB,WAAY,CACV2kB,oBACA8C,oBACAnb,4BCxQoa,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAiBhC,KAAkB,GAAW,CAACje,QAAA,KAAKC,SAAA,KAAMC,aAAA,QAAaC,UAAA,QAAUE,QAAA,KAAKqW,WAAA,KAAQ/T,YAAA,KAASiT,SAAA,KAAMrV,QAAA,KAAKujB,WAAA,KAAQlhB,WAAA,KAAQC,YAAA,KAASC,cAAA,UC+E3G,cAAIxD,OAAO,CACxBsG,MAAO,CACL3C,OAAQ6C,SAEV3V,KAJwB,aAKtB,MAAO,CACL6uB,kBAAmB,MACnBF,mBAAoB,GACpBC,gBAAiB,KAGrBrf,SAAU,OAAF,wBACH,eAAW,OAAQ,CAAC,gBAAiB,6BAA2B,CAEnE25B,6BAFmE,aAGjE,IAAMhb,EAAgB,CAAE9rB,KAAM,0BACxB4rB,EAAYtgB,KAAKugB,wBAAwB,2BAG/C,OAAO,IAAElqB,IAAIiqB,GAAW,SAAC9pB,GACvB,GAAW,MAAPA,EACF,OAAOzD,OAAOyI,OAAO,GAAIglB,EAAe,CAItC9c,MAAO,CAAEE,iBAAkB,QAG/B,OAAO7Q,OAAOyI,OAAO,GAAIglB,EAAe,CACtC9c,MAAO,CAAEE,iBAAkBpN,WAKnCwL,QAAS,CACPof,kBADO,aAC4B,IAAjB/rB,EAAiB,uDAAF,GAC/B,OAAQA,GACN,IAAK,QACH2K,KAAKkhB,gBAAkB,QACvBlhB,KAAKihB,mBAAqB,KAAOrjB,EAAKxI,EAAE,0BACxC,MAEF,IAAK,WACH4K,KAAKkhB,gBAAkB,WACvBlhB,KAAKihB,mBAAqB,KAAOrjB,EAAKxI,EAAE,0BACxC,MAEF,IAAK,QACH4K,KAAKkhB,gBAAkB,QACvBlhB,KAAKihB,mBAAqB,gBAC1B,MAEF,QACEjhB,KAAKihB,mBAAqB,GAC1BjhB,KAAKkhB,gBAAkB,GACvB,MAGJlhB,KAAKmhB,kBAAoB,OAG7BrN,WAAY,CACV2nB,uBChL2a,MCO3a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAAChnB,SAAA,KAAMiM,cAAA,KAAWC,aAAA,KAAUC,iBAAAC,GAAA,KAAiBC,iBAAA,KAAcC,eAAAF,GAAA,KAAeG,cAAA,OC7BvG,IAAI,GAAS,WAAa,IAAIjhB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OACrFF,EAAIuD,cAAc,oBAClBvD,EAAIuD,cAAc,gBAClBvD,EAAIuD,cAAc,iBAClBvD,EAAIuD,cAAc,kBAClBvD,EAAIuD,cAAc,eAClBvD,EAAIuD,cAAc,eAClBvD,EAAIuD,cAAc,cAClBnD,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIqF,QAAQC,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,oBAAoB,CAACA,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQ,KAAKgF,MAAM,OAAO,KAAK,MAAM,aAAa,CAACzF,EAAI0F,GAAI1F,EAAwB,sBAAE,SAAS2F,EAAIhL,GAAO,OAAOyF,EAAG,cAAc,CAAC1K,IAAIiF,EAAM2F,MAAM,CAAC,GAAKqF,EAAI,MAAQ,KAAK,CAACvF,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,cAAc,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACmB,YAAY,aAAa,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,KAAKL,EAAG,MAAM,CAACmB,YAAY,+BAA+B,CAAEoE,EAAIhC,MAAMI,QAAU,EAAG3D,EAAG,YAAY,CAACE,MAAM,CAAC,GAAKqF,EAAIhC,MAAMI,WAAW3D,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAK,MAAM,MAAM,IAAI,MAAMN,EAAIuD,cAAc,eAAgBnD,EAAG,gBAAgB,CAACkF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAC72B,IAAIC,EAAKD,EAAIC,GACf,MAAO,CAACP,EAAG,cAAcJ,EAAI4F,GAAG,GAAGjF,GAAI,CAACP,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,cAAc,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,QAAQ,IAAI,OAAO,KAAK,MAAM,cAAcT,EAAI6C,KAAM7C,EAAIuD,cAAc,gBAAiBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,cAAe,OAAS,KAAK,CAACyL,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,gBAAgB,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,iBAAkBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,kBAAmB,CAACyL,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,kBAAkB,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,cAAenD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,YAAa,CAACyL,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,oBAAoB,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,cAAenD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,eAAgB,CAACyL,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,eAAe,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,cAAenD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,eAAgB,CAACyL,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,sBAAsB,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQ,IAAI,GAAGT,EAAI6C,MAAM,GAAG7C,EAAI6C,MAC9sD,GAAkB,GCXlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,WAAa,GAAG,IAAM,GAAG,MAAQN,EAAIS,GAAG,iBAAiB,eAAeT,EAAI+b,aAAapb,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,YAAY,KAAK,KAAKD,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,cAAc,CAACA,EAAG,YAAY,CAACY,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAI27B,KAAKz6B,GAAKG,WAAW,SAAS,CAACjB,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,IAAI,WAAaN,EAAI47B,cAAc,UAAY57B,EAAIP,YAAY,CAACO,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,OAAOL,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,SAAS,CAACmB,YAAY,YAAYjB,MAAM,CAAC,KAAO,GAAG,MAAQ,mBAAmB,CAACF,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,OAAOL,EAAG,qBAAqB,CAACY,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAI47B,cAAc16B,GAAKG,WAAW,mBAAmBjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,SAAS,MAAQ,GAAG,UAAYN,EAAI47B,eAAej7B,GAAG,CAAC,MAAQX,EAAI67B,kBAAkB,CAAC77B,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQ,GAAGL,EAAG,QAAQ,CAACmB,YAAY,iCAAiCjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,SAAW,OAAO,GAAGF,EAAG,QAAQ,CAACmB,YAAY,wBAAwBjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,cAAc,GAAGA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2BL,EAAG,kBAAkB,CAACE,MAAM,CAAC,QAAUN,EAAI87B,aAAa,aAAe97B,EAAI+7B,cAAc/6B,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAI+e,OAAO7d,GAAKG,WAAW,YAAYjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,SAAS,UAAYN,EAAI+e,QAAQpe,GAAG,CAAC,MAAQX,EAAIg8B,eAAe,CAACh8B,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQ,IAAI,IAAI,IAAI,GAAGL,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAUK,GAAG,CAAC,MAAQX,EAAIi8B,aAAa,CAAC77B,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,mBAAmBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,MAAM,IAAI,IAAI,IAAI,GAAGL,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAOL,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAI47B,cAAc,SAAW,IAAI56B,MAAM,CAAC5L,MAAO4K,EAAoB,iBAAEiB,SAAS,SAAUC,GAAMlB,EAAIk8B,iBAAiBh7B,GAAKG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAaN,EAAI47B,cAAc,MAAQ,CAAC,SAAUxgC,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,MAAQT,EAAIS,GAAG,qBAAqBE,GAAG,CAAC,OAASX,EAAIm8B,iBAAiBn7B,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAImmB,SAASjlB,GAAKG,WAAW,eAAe,GAAqB,aAAjBrB,EAAImmB,SAAyB/lB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,WAAaN,EAAI47B,cAAc,MAAQ57B,EAAIuhB,WAAW,MAAQvhB,EAAIS,GAAG,qBAAqB,YAAY,SAAU/L,GAAK,OAAOsL,EAAIwhB,eAAe9sB,EAAEC,OAAS,aAAa,KAAK,MAAQ,CAAC,SAAUyG,GAAK,OAAY,GAALA,GAAU4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIyhB,QAAQvgB,GAAKG,WAAW,cAAc,GAAGrB,EAAI6C,KAAuB,aAAjB7C,EAAImmB,SAAyB/lB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,kBAAkB,GAAG,WAAaN,EAAI47B,cAAc,MAAQ,qBAAqB,SAAW,GAAG,aAAe,GAAG,UAAY,GAAG,MAAQ,CAAC,SAAUxgC,GAAK,OAAOA,EAAErI,OAAS,GAAKiN,EAAIS,GAAG,oBAAsB,MAAQT,EAAIS,GAAG,yBAAyBO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAI0hB,eAAexgB,GAAKG,WAAW,qBAAqB,GAAGrB,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,QAAUN,EAAI+7B,aAAa,MAAQ,CAAC,SAAU3gC,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAI+D,QAAQ7C,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIm4B,aAAa,SAAWn4B,EAAIm4B,aAAaplC,OAAS,EAAE,MAAQiN,EAAIS,GAAG,yBAAyBO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIo8B,QAAQl7B,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAmB,KAAK,KAAOT,EAAIS,GAAG,oCAAoC,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIq8B,WAAWn7B,GAAKG,WAAW,iBAAiB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIwG,QAAQtF,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,SAAWN,EAAImmB,SAAS,WAAanmB,EAAIo8B,SAASp7B,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI2hB,aAAazgB,GAAKG,WAAW,mBAAmB,IAAI,IAAI,IAAI,IAAI,IAAI,IACxzK,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,WAAaN,EAAI+D,QAAQ,QAAU/D,EAAIqmB,aAAa,MAAQrmB,EAAIs8B,YAAYt7B,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIu8B,gBAAgBr7B,GAAKG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACmB,YAAY,SAASjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACY,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIq8B,WAAWn7B,GAAKG,WAAW,gBAAiBrB,EAAW,QAAEI,EAAG,sBAAsB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,cAAgB,GAAG,KAAO,KAAK,MAAQ,UAAUN,EAAI6C,KAAM7C,EAAU,OAAEI,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,SAAS,MAAQ,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,cAAcP,EAAI6C,KAAM7C,EAAgB,aAAEI,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,QAAQ,MAAQ,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,YAAYP,EAAI6C,MAAM,IAAI,IACt4B,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAM,YAAciM,WAAW,gBAAgBf,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,iBAAmB,KAAK,MAAQT,EAAIsH,MAAM,KAAOtH,EAAIo4B,KAAK,kBAAkBp4B,EAAIq4B,eAAe,iBAAiBr4B,EAAIw8B,cAAc,QAAUx8B,EAAI2J,SAAShJ,GAAG,CAAC,KAAOX,EAAIy8B,cAAcz7B,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAI08B,cAAcx7B,GAAKG,WAAW,oBAC7f,GAAkB,G,qCCiBP,UAAIK,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAO6S,OACPX,MAAOnO,MACPi/B,KAAMnwB,OACNowB,eAAgBnwB,QAChBs0B,cAAe,CAACrjC,MAAO8O,QACvB0B,QAASzB,SAEX3V,KAVwB,aAWtB,MAAO,CACLmqC,cAAe,KAGnB36B,MAAO,CAKL3M,MAAO,CACL8O,UAAW,KACXC,QAFK,WAEGgT,GACNlX,KAAKy8B,cAAgBvlB,IAIzBulB,cAZK,WAYSvlB,GACZlX,KAAK8H,MAAM,QAASoP,KAGxBlV,QAAS,CAcPw6B,aAdO,aAeL,GAA2B,KAAvBx8B,KAAKy8B,cAAsB,CAI7Bz8B,KAAK8H,MAAM,QAAS,IACpB,OAIF,IAAI40B,EAAgB18B,KAAKy8B,cACnB/wB,EAAQgxB,EAAcC,MAAM,KAElC,GAAqB,IAAjBjxB,EAAM5Y,OAAc,CAItB,IAAM8pC,EAAalxB,EAAM,GAAG8nB,SAAS,EAAG,KACxCkJ,EAAgB,OAAUG,QAAU,IAAMD,OACrC,GAAIlxB,EAAM5Y,OAAS,EAAG,CAI3B4Y,EAAM,GAAKA,EAAM,GAAG8nB,SAAS,EAAG,KAEhCkJ,EAAgBhxB,EAAMV,KAAK,KAG7BhL,KAAK8H,MAAM,QAAS40B,OC3F+Z,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC/5B,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,uBAAuBjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAImH,OAASnH,EAAIS,GAAG,mBAAmB,OAAOT,EAAI0F,GAAI1F,EAAa,WAAE,SAASgpB,EAAQn2B,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAI7C,EAAE0O,YAAY,OAAOjB,MAAM,CAAC,KAAON,EAAI+8B,OAAO,CAAC38B,EAAG,iBAAiB,CAACmB,YAAY,YAAYjB,MAAM,CAAC,MAAQN,EAAIg9B,eAAenqC,GAAG,MAAQm2B,EAAQ,WAAan2B,EAAI,GAAKmN,EAAIwH,YAChf3U,EAAI,GACJA,EAAImN,EAAIi9B,UAAUlqC,OAAS,GAC3BiN,EAAIg9B,eAAenqC,IAAMmN,EAAIg9B,eAAenqC,EAAI,GAAG,MAAQA,GAAKmN,EAAIi9B,UAAUlqC,OAAS,EAAIiN,EAAIqsB,cAAgB,IAAI1rB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIk9B,gBAAgBrqC,EAAG+N,QAAa,OAAM,IACrM,GAAkB,GC6BP,UAAIc,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAOmK,OACP+H,MAAOnO,MACPijC,QAAS78B,OACT+3B,eAAgB,CACdr+B,KAAMiP,QACN4W,QAAS,OAEXrX,SAAUS,QACVV,UAAWU,QAMXi1B,gBAAiBj1B,QAEjBqvB,UAAW,CACTt+B,KAAMgP,OACN6W,QAAS,WAEXse,mBAAoBn1B,QAEtB1V,KAzBwB,aA0BtB,MAAO,CACLyqC,eAAgB,CAAC,GACjBrzB,QAAS,OAGbvB,QA/BwB,aAgCtBnI,KAAKoI,aAEPvG,SAAU,OAAF,kEACH,eAAW,WAAY,CAAC,oBACxB,eAAW,QAAS,CACrB,YACA,cACA,cACA,sBAEC,eAAW,OAAQ,CAAC,6BACpB,eAAS,WAAY,CAAC,YAAU,CAMnCuqB,cANmC,aAOjC,IAAM/kB,EAAerH,KAAKqH,OAAS,GAC/BrH,KAAKk9B,iBACP71B,EAAMjU,KAAK4M,KAAKo9B,gBAElB,OAAO/1B,GAOTouB,MAlBmC,aAmBjC,OAAOz1B,KAAKg2B,YAAYh2B,KAAK7K,QAAU,MAQzC6nC,UA3BmC,aA2B1B,WACP,OAAO,IAAEr+B,MAAMqB,KAAK+8B,gBACjB1mC,KAAI,SAACG,EAAYkE,GAChB,IAAM2iC,EAAU,IAAEtoC,IAAI,EAAKgoC,eAAgBriC,EAAQ,GAC/CmW,EAAWra,EACTi/B,EAAQ,EAAKO,YAAYx/B,GAC3Bi/B,GAAS4H,IAAY7mC,IACvBqa,EAAW4kB,EAAM5kB,UAEnB,IAAIkY,EAAU,IAAEpqB,MAAM,EAAKg4B,YAAY9lB,IACpCjS,OAAO,EAAK0+B,cAAc,EAAKnB,UAC/B9lC,KAAI,SAACo/B,GAAD,MAAY,CACfhtB,KAAM,GAAF,OAAKgtB,EAAM/gC,KAAK,EAAK4H,SACzBnH,MAAOsgC,EAAMj/B,GACb8uB,KAAMmQ,EAAMnQ,MAAQ,WAErBiY,QAAQ,CAAC,OAAQ,SACjBpoC,QAEH,GAAI,EAAKgoC,mBAAoB,CAC3B,IAAM55B,EAAa,EAAKgd,wBACtB,EAAK4c,oBAEDK,EAAUj6B,EAAWzQ,OAAS,EAC9B2qC,EAAS,IAAE5iC,SAAS0I,EAAY,KAElCi6B,EAEFzU,EAAU,GACA0U,IACV1U,EAAU,IAAEnqB,OAAOmqB,GAAS,SAAC0M,GAC3B,OAAO,IAAE56B,SAAS0I,EAAYkyB,EAAMtgC,WAKrC,IAAE0F,SAAS,IAAExE,IAAI0yB,EAAS,SAAUvyB,GAGvCuyB,EAAQ7X,QAAQ,CACdzI,KAAM,EAAKi1B,SACXvoC,MAAO0b,EACPyU,KAAM,IALRyD,EAAQ7X,QAAQ,CAAEzI,KAAM,EAAKi1B,SAAUvoC,MAAOqB,EAAI8uB,KAAM,IAQ1D,OAASyD,EAAQj2B,OAAmB,KAAVi2B,KAE3B9N,UACA9lB,SAULuoC,SArFmC,aAsFjC,GAAuB,QAAnB19B,KAAKs3B,UACP,OAAO7K,GAAKzsB,KAAK1D,QAAQwP,WACpB,GAAuB,SAAnB9L,KAAKs3B,UACd,OAAO5K,GAAM1sB,KAAK1D,QAAQwP,WAE5B,OAAOugB,GAASrsB,KAAK1D,QAAQwP,YAO/BgxB,KAlGmC,aAmGjC,IAAMa,EAAQ39B,KAAKg9B,UAAUlqC,OAC7B,GAAI6qC,EAAQ,EACV,OAAO,GAET,GAAIA,EAAQ,IAAM,GAAKA,EAAQ,EAC7B,OAAO,GAAKA,EAEd,OAAO,KAGX77B,MAAO,CAKL3M,MAAO,CACL8O,UAAW,KACXC,QAFK,WAEGgT,GACN,IAAM7K,EAAMrM,KAAK42B,iBAAiB1f,GAC5B0mB,EAAa59B,KAAKg2B,YAAY9e,KAE9B0mB,GAAcA,EAAW7G,WAAa,GAG1C1qB,EAAIjZ,KAAK8jB,GAEX,OAAI5c,IAAI0F,KAAM,iBAAkBqM,KAQpC8vB,QAxBK,WAwBG0B,GACD79B,KAAKs9B,cAAcO,EAAnB79B,CAA+BA,KAAKy1B,QACvCz1B,KAAK8H,MAAM,QAAS,KAI1B9F,QAAS,CAMPo7B,eANO,WAMQjiC,GACb,IAAK6E,KAAKy1B,MAGR,OAAO,KAET,GAAIz1B,KAAKy1B,MAAMsB,YAAc/2B,KAAKy1B,MAAMsB,WAAa,EAEnD,OAAOn5B,EAAKxI,EAAE,kBAAkB0W,WAElC,OAAO,MAeTwxB,cA/BO,WA+BOnB,GAAe,WACrB52B,EAAK,SAALA,EAAMkwB,GAEV,IAAK0G,EACH,OAAO,KAIT,GAAI,IAAEthC,SAAS46B,EAAMwC,SAAUkE,GAC7B,OAAO,KAKT,OAAO,IAAE2B,KAAK,EAAKnH,YAAYlB,EAAMj/B,IAAK+O,IAE5C,OAAOA,GAGH6C,UAlDC,a,kKAmDLpI,KAAK0J,QAAU,K,SACf,OAAM1J,KAAK2I,OAAOlQ,SAAS,oBAAqB,CAAEsa,MAAO,Q,OACzD/S,KAAK0J,QAAU,M,iDAOjBuzB,gBA5DO,WA4DSrqC,EAAWskB,GACzB,GAAItkB,EAAI,IAAMskB,EAAQ,CACpBlX,KAAK8H,MAAM,QAAS9H,KAAK+8B,eAAenqC,EAAI,IAC5C,OAEFoN,KAAK8H,MAAM,QAASoP,OCxR6Z,MCOnb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAClO,iBAAA,KAAcxG,QAAA,KAAKE,QAAA,OCgBlC,cAAIjB,OAAO,CACxBsG,MAAO,CACL5S,MAAOmK,OACPwE,QAAS,CACP9K,KAAMsG,OACNuf,QAAS,GAGXuH,aAAc9mB,OAEd+8B,WAAYnjC,OAGd5G,KAbwB,aActB,MAAO,CACLoX,QAAS,MACTq0B,aAAc,MACdjf,OAAQ,EACRsd,WAAY,GACZE,gBAAiB,IAIrBz6B,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,gBAAc,CAEtCtC,KAFsC,aAGpC,OAAOS,KAAK0yB,WAAW1yB,KAAK8e,SAQ9Bkf,aAXsC,aAYpC,OAAkC,IAA3Bh+B,KAAKo8B,WAAWtpC,UAAkBkN,KAAKs8B,mBAGlDx6B,MAAO,CACL3M,MADK,WACC+hB,GAEJ,IAAKA,EAAQ,CACXlX,KAAK8e,OAAS,EACd9e,KAAKo8B,WAAa,KAGtBA,WARK,WAQMllB,GAELlX,KAAKg+B,aACPh+B,KAAKi+B,WAELj+B,KAAK8H,MAAM,QAAS,IAGxBhE,QAhBK,WAgBGkI,GACNhM,KAAKs8B,gBAAkBtwB,GAEzBswB,gBAnBK,WAmBWtwB,GAEVhM,KAAKg+B,aACPh+B,KAAKi+B,WAELj+B,KAAK8H,MAAM,QAAS,KAI1B9F,QAAS,CAMDi8B,SANC,a,4KAOLj+B,KAAK0J,QAAU,KACf1J,KAAK+9B,aAAe,M,SAGZv5B,E,+BAA8BxE,KAAKo8B,W,oBAAsBp8B,KAAKs8B,iB,SACnD,OAAM,GAASvnC,IAAIyP,G,OAA9BvH,E,OAGN,GAAwC,IAApCA,EAAS3K,KAAKwoB,KAAKC,aAAoB,CACnCpnB,EAASsJ,EAAS3K,KAAKA,KAAK,GAClC0N,KAAK8e,OAASnrB,EAAO6C,GACrBwJ,KAAK8H,MAAM,QAAS9H,KAAK8e,aAEzB9e,KAAK+9B,aAAe,K,qDAGtB/9B,KAAK2I,OAAOlQ,SAAS,gCAArB,M,QAGFuH,KAAK0J,QAAU,M,4DAGnBoK,WAAY,CACVoqB,mBACAC,oBC3Iqb,M,aCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAC37B,QAAA,KAAKiS,SAAA,KAAM2pB,qBAAA,KAAkB17B,QAAA,OC1B3D,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACmB,YAAY,UAAU,CAACnB,EAAG,qBAAqB,CAACE,MAAM,CAAC,eAAe,GAAG,cAAc,GAAG,kBAAkB,GAAG,QAAUN,EAAI2J,QAAQ,SAAW3J,EAAIgZ,SAAS,MAAQhZ,EAAIqsB,eAAerrB,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAIiG,cAAc/E,GAAKG,WAAW,mBAAoBrB,EAAa,UAAEI,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,GAAG,MAAQ,WAAW,CAACN,EAAIO,GAAG,cAAcP,EAAI6C,KAAM7C,EAAgB,aAAEI,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,GAAG,MAAQ,UAAU,CAACN,EAAIO,GAAG,YAAYP,EAAI6C,KAAM7C,EAAW,QAAEI,EAAG,sBAAsB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,cAAgB,GAAG,KAAO,KAAK,MAAQ,UAAUN,EAAI6C,MAAM,IACluB,GAAkB,GC8BP,UAAInB,OAAO,CACxBsG,MAAO,CACLgR,SAAU9Q,QACV9S,MAAOmK,OACP+H,MAAO,CACLrO,KAAME,MACN2lB,QAAS,mBAAM,MAGnBvsB,KATwB,aAUtB,MAAO,CACLoX,QAAS,MACTq0B,aAAc,MACdv+B,UAAW,EACXwG,cAAe,KAGnBnE,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,mBAAiB,CACzCie,QADyC,aAEvC,OAAO9f,KAAK6tB,cAAc7tB,KAAKR,YAOjC4sB,cATyC,aAUvC,IAAM/kB,EAAerH,KAAKqH,OAAS,GACnC,GAAIrH,KAAK+Y,UAAY/Y,KAAKR,WAAa,EACrC,MAAO,CAAC,SAACrE,GAAD,OAAOyC,EAAKxI,EAAE,oBAExB,OAAOiS,KAGXvF,MAAO,CACL3M,MADK,WACC+hB,GAEJ,GAAKA,GAcH,GAAIA,IAAWlX,KAAKR,UAAW,CAC7BQ,KAAKgG,cAAgB,GACrBhG,KAAKR,UAAY0X,EACjBlX,KAAK+9B,aAAe,WAjBX,CACX/9B,KAAKR,UAAY,EACbQ,KAAKgG,cAAclT,SAAWg6B,KAEhC9sB,KAAKgG,cAAgB,MAiB3BA,cAxBK,WAwBSkR,GACRA,EAAOpkB,SAAWg6B,GACpB9sB,KAAKq+B,cAELr+B,KAAK8H,MAAM,QAAS,KAI1B9F,QAAS,CACDq8B,YADC,a,4KAELr+B,KAAK0J,QAAU,KACf1J,KAAK+9B,aAAe,M,SAGZv5B,E,kCAAiCxE,KAAKgG,e,SAC3B,OAAM,GAASjR,IAAIyP,G,OAA9BvH,E,YAGkC,IAApCA,EAAS3K,KAAKwoB,KAAKC,c,iBACfpnB,EAASsJ,EAAS3K,KAAKA,KAAK,GAClC0N,KAAKR,UAAY7L,EAAO6C,G,UAGxB,OAAMwJ,KAAK2I,OAAOlQ,SAAS,qBAAsBuH,KAAKR,W,QACtDQ,KAAK8H,MAAM,QAAS9H,KAAKR,W,wBAEzBQ,KAAK+9B,aAAe,KACpB/9B,KAAK8H,MAAM,QAAS,G,6DAGtB9H,KAAK2I,OAAOlQ,SAAS,gCAArB,M,QAGFuH,KAAK0J,QAAU,M,8DC3HqZ,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC+K,SAAA,KAAM2pB,qBAAA,OCxBpC,IAAI,GAAS,WAAa,IAAIr+B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIsH,OAAS,GAAG,SAAWtH,EAAIyH,UAAY,MAAM,MAAQzH,EAAImH,OAASnH,EAAIS,GAAG,kBAAkB,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAIu+B,aAAa,aAAa,KAAK,YAAY,SAAUnjC,GAAK,OAAO4E,EAAIswB,UAAUl1B,EAAE3E,KAAO,QAAUuJ,EAAI2J,QAAQ,UAAY3J,EAAIwH,UAAU,oBAAoBxH,EAAIw+B,gBAAgB,aAAax+B,EAAIy+B,WAAW99B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,QAChgB,GAAkB,GCuBP,UAAIc,OAAO,CACxBsG,MAAO,CAELb,MAAOc,OAIPqwB,MAAO,CACLr/B,KAAME,MACN2lB,QAAS,mBAAM,KAGjBxX,MAAO,CACLrO,KAAME,MACN2lB,QAAS,mBAAM,KAGjBrX,SAAUS,QAEV9S,MAAOmK,OACPiI,UAAWU,QACXs2B,gBAAiBt2B,QACjBu2B,UAAWv2B,QAEXnE,QAASxE,OAETwf,OAAQxf,OAGRosB,YAAa,CACX1yB,KAAME,MACN2lB,QAAS,mBAAM,KAEjB4f,UAAWx2B,QACXyT,oBAAqBpc,OAErB24B,SAAU,CAAC34B,OAAQpG,QAErB5G,KAtCwB,aAuCtB,MAAO,CACLoX,QAAS,MACTg1B,cAAe,EACfC,KAAMr/B,SAGV6I,QA7CwB,aA8CtBnI,KAAKoI,YACLpI,KAAK4+B,2BAEP98B,MAAO,CACLgC,QADK,aAEH9D,KAAK4+B,4BAGT/8B,SAAU,OAAF,oDACH,eAAS,WAAY,CAAC,YACtB,eAAW,YAAa,CAAC,wBAAyB,qBAClD,eAAW,QAAS,CACrB,8BACA,cACA,YACA,YACA,wBACA,CAUFy8B,aAVE,aAUU,WAENO,EAAkB7+B,KAAKowB,UAAUxxB,QAAO,SAAC9K,GAAD,OAAeA,EAAE0mB,aAE7D,GAAIxa,KAAKq4B,OAASr4B,KAAKq4B,MAAMvlC,OAAS,EAOpC+rC,EAAkB7+B,KAAKq4B,WAClB,GAAIr4B,KAAK8e,OAAQ,CAMtB,IAAMggB,EAAe,IAAEzoC,IACrB2J,KAAKmxB,mBAAmBnxB,KAAK8e,QAC7B,WAEF+f,EAAkBA,EAAgBjgC,QAAO,SAACoxB,GACxC,OAAO8O,EAAajkC,SAASm1B,EAAMx5B,YAEhC,GAAIwJ,KAAKy1B,MAMdoJ,EAAkBA,EAAgBjgC,QAAO,SAAC9K,GAAD,OACvC,EAAKirC,qBAAqBjrC,EAAG,EAAK2hC,cAE/B,CAQDz1B,KAAKg/B,iBAAiBlsC,OAAS,IACjC+rC,EAAkBA,EAAgBjgC,QAAO,SAAC9K,GAAD,OACvC,EAAKmrC,sBAAsBnrC,EAAG,EAAKkrC,sBAKnCh/B,KAAK0b,sBACPmjB,EAAkBA,EAAgBjgC,QAAO,SAAC9K,GAAD,OACvC,EAAKorC,wBAAwBprC,EAAG,EAAK4nB,yBAevC1b,KAAK0rB,YAAY54B,OAAS,IAC5B+rC,EAAkBA,EAAgBjgC,QAChC,SAAC9K,GAAD,OAAQ,IAAE+G,SAAS,EAAK6wB,YAAa53B,EAAE0C,QAK3C,OAAO,IAAEqI,OAAOggC,EAAiB,SAGnCpJ,MAtFE,aAuFA,OAAOz1B,KAAKg2B,YAAYh2B,KAAK8D,UAQ/Bk7B,iBA/FE,aAgGA,OAAO,IAAErgC,MAAM,CAACqB,KAAKi4B,WAAWpsB,UAAUoP,UAAU9lB,WAGxD6M,QAAS,OAAF,wBACF,eAAW,QAAS,CAAC,iBAAe,CAMjCoG,UANiC,a,kKAOrCpI,KAAK0J,QAAU,K,SACf,OAAM1J,KAAK2I,OAAOlQ,SAAS,qB,OAC3BuH,KAAK4+B,0BACL5+B,KAAK0J,QAAU,M,iDAMjBk1B,wBAhBuC,aAgBhB,WAErB,IAAK5+B,KAAKy+B,UACR,OAIF,IAAMU,EACJn/B,KAAK7K,OAAS6K,KAAKs+B,aAAaR,MAAK,SAAChqC,GAAD,OAAOA,EAAE0C,KAAO,EAAKrB,SAC5D,GAAIgqC,EACF,OAIF,GAAIn/B,KAAKs+B,aAAaxrC,OAAS,EAC7B,OAIF,IAAMssC,EAAcC,KAAKC,MAAMD,KAAKE,SAAWv/B,KAAKs+B,aAAaxrC,QAC3D0sC,EAAcx/B,KAAKs+B,aAAac,GACtCp/B,KAAK8H,MAAM,QAAS03B,EAAYhpC,KAOlCuoC,qBA5CuC,WA4ClB/O,EAAcyF,GACjC,IAAMgK,EAAaz/B,KAAKi/B,sBAAsBjP,EAAOyF,EAAMwC,UACrDyH,EAAW1/B,KAAKk/B,wBACpBlP,EACAyF,EAAM/Z,qBAER,OAAO+jB,GAAcC,GAOvBT,sBAzDuC,WAyDjBjP,EAAciI,GAAkB,sBACzBj4B,KAAKuwB,4BAA4BP,EAAMx5B,KADd,MACpD,IAAK,EAAL,qBAAuE,KAA5D05B,EAA4D,QACrE,GAAI,IAAEyP,aAAazP,EAAa+H,SAAUA,GAAUnlC,OAAS,EAC3D,OAAO,MAHyC,8BAMpD,OAAO,OAWTosC,wBA1EuC,WA0EflP,EAAc4P,GAAmB,sBAC5B5/B,KAAKuwB,4BAA4BP,EAAMx5B,KADX,MACvD,IAAK,EAAL,qBAAuE,KAA5D05B,EAA4D,QAC/Dle,EAAoBke,EAAa5iB,qBACjC4E,EAAmB0tB,EACzB,GACE5/B,KAAK6R,sBAAsB,CAAEG,oBAAmBE,qBAEhD,OAAO,MAP4C,8BAUvD,OAAO,WC/Q0a,MCOnb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAClJ,iBAAA,OCwLf,cAAIvH,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACP6zB,aAAcx8B,OACdE,UAAWF,OACXwc,YAAa7T,SAAW,OAG1BE,QARwB,aAStBnI,KAAK27B,cAAgB37B,KAAKR,WAG5BlN,KAZwB,aAatB,MAAO,CACLoF,OAAQ,MACRgkC,KAAM,EACNjiC,MAAO,KAEPqlB,OAAQ,EACR6c,cAAe,EACfM,iBAAkB,GAClBxa,eAAgB,GAChByE,SAAU,QACV1E,QAAS,EACT1d,QAAS,EACT+3B,aAAc,EACdO,WAAY,GACZ71B,QAAS,GACTmb,aAAc,GACdya,QAASn8B,KAAK87B,eAIlBj6B,SAAU,OAAF,kEACH,eAAS,OAAQ,CAAC,UAClB,eAAW,WAAY,CAAC,oBACxB,eAAW,QAAS,CACrB,aACA,cACA,gBACA,yBACA,yBAEC,eAAS,QAAS,CAAC,qBAAmB,CAEzCyf,WAFyC,aAGvC,GAAsB,UAAlBthB,KAAKkmB,SACP,OAAOlmB,KAAKwiB,gBAAgB5jB,QAAO,SAACxJ,GAAD,OAAOA,EAAEoB,KAAOyrB,GAAY4Y,UAEjE,OAAO76B,KAAKwiB,iBAGdiT,MATyC,aAUvC,OAAOz1B,KAAKg2B,YAAYh2B,KAAK8D,UAG/B+7B,mBAbyC,aAcvC,OAAO7/B,KAAKy1B,MAAQz1B,KAAKy1B,MAAMoK,mBAAqB,GAGtDtgC,KAjByC,aAkBvC,OAAOS,KAAK0yB,WAAW1yB,KAAK8e,SAG9BgB,QArByC,aAsBvC,OAAO9f,KAAK6tB,cAAc7tB,KAAK27B,gBAOjCzD,aA7ByC,aAgCvC,GAAIl4B,KAAK87B,aACP,MAAO,CAAC97B,KAAK87B,cAKf,GAAI97B,KAAKy1B,MACP,OAAOz1B,KAAKy1B,MAAMwC,SAMpB,MAAO,MAIXn2B,MAAO,CAKL3M,MALK,WAKC6W,GACJhM,KAAKtI,OAASsU,GAQhBtU,OAdK,WAcEsU,GACLhM,KAAK8H,MAAM,QAASkE,IAStBksB,aAAc,CACZj0B,UAAW,KACXC,QAFY,WAEJgT,GACFA,GAAUA,EAAOpkB,OAAS,IAC5BkN,KAAKm8B,QAAUjlB,EAAO,OAM9BlV,QAAS,CAKP4D,MALO,aAML5F,KAAK07B,KAAO,EAEZ17B,KAAK8e,OAAS,EACd9e,KAAK67B,aAAe,EACpB77B,KAAKo8B,WAAa,GAClBp8B,KAAKuG,QAAU,OAASiZ,SACxBxf,KAAKm8B,QAAUn8B,KAAK87B,aACpB,GAAI97B,KAAKR,UAAW,CAClBQ,KAAK27B,cAAgB37B,KAAKR,UAC1BQ,KAAK47B,uBAEL57B,KAAK27B,cAAgB,EAEvB37B,KAAKyhB,eAAiB,IAclBma,gBAjCC,a,iLAkCL,OAAM57B,KAAK2I,OAAOlQ,SAAS,qBAAsBuH,KAAK27B,e,OAEtD37B,KAAKi8B,iBAAmBj8B,KAAK8f,QAAQrV,OACrCzK,KAAKyhB,eAAiBzhB,KAAK8f,QAAQ2B,eACnCzhB,KAAKwhB,QAAUxhB,KAAK8f,QAAQ0B,QAC5BxhB,KAAKkmB,SAAWlmB,KAAK8f,QAAQ9mB,KAEvB0oB,EAAe1hB,KAAK0lB,uBAAuB1lB,KAAK27B,eACtD37B,KAAK0hB,aAAL,eAAwBA,GACxB1hB,KAAK07B,KAAO,E,iDAURK,aArDC,a,iLAsDL,OAAM/7B,KAAK2I,OAAOlQ,SAAS,kBAAmBuH,KAAK8e,Q,OAEnD9e,KAAK27B,cAAgB37B,KAAKT,KAAKC,UAC/B,GAAIQ,KAAK8f,QAAS,CAChB9f,KAAKi8B,iBAAmBj8B,KAAK8f,QAAQrV,OACrCzK,KAAKyhB,eAAiBzhB,KAAK8f,QAAQ2B,eACnCzhB,KAAKwhB,QAAUxhB,KAAK8f,QAAQ0B,QAC5BxhB,KAAKkmB,SAAWlmB,KAAK8f,QAAQ9mB,KAGzB0oB,EAAe1hB,KAAK6lB,oBAAoB7lB,KAAK8e,QACnD9e,KAAK0hB,aAAL,eAAwBA,GAExB1hB,KAAK07B,KAAO,E,iDAQdM,WA3EO,aA4ELh8B,KAAKyhB,eAAiB,GAItBzhB,KAAKkmB,SAAW,QAChBlmB,KAAKwhB,QAAU,EACfxhB,KAAK46B,oBAEL56B,KAAK07B,KAAO,GAQdQ,gBA5FO,aA6FiB,aAAlBl8B,KAAKkmB,WACPlmB,KAAKwhB,QAAU,GAEK,UAAlBxhB,KAAKkmB,WACPlmB,KAAKwhB,QAAU,GAEK,UAAlBxhB,KAAKkmB,WACPlmB,KAAKwhB,QAAU,GAEjBxhB,KAAK46B,qBAQPA,kBA9GO,aA+GL,IAAIS,EAAU,GAEQ,aAAlBr7B,KAAKkmB,WACPmV,EAAU,CAACpX,GAAYI,YAEH,UAAlBrkB,KAAKkmB,WACPmV,EAAU,CAACpX,GAAYW,UAAWX,GAAYS,aAE1B,UAAlB1kB,KAAKkmB,WACPmV,EAAU,CAACpX,GAAYU,WAAYV,GAAYS,aAGjD1kB,KAAK0hB,aAAe2Z,EAAQhlC,KAAI,SAAC6lB,GAC/B,MAAO,CACLtc,QAAS,EACT0a,YAAa4B,EACbqK,oBAAqBrK,OASrBrW,KAxIC,a,4KAyIL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAASka,KAAK,eAAgB,CACnDrhB,KAAM,CACJ4zB,SAAUlmB,KAAKkmB,SACflgB,cAAehG,KAAKi8B,iBACpBxa,eAAgBzhB,KAAKyhB,eACrBD,QAASxhB,KAAKwhB,QACdhiB,UAAWQ,KAAK27B,cAChB73B,QAAS9D,KAAK8D,QACd+7B,mBAAoB7/B,KAAK6/B,mBACzB1D,QAASn8B,KAAKm8B,QACd51B,QAASvG,KAAKuG,QACdkE,OAAQzK,KAAKo8B,WACb1a,aAAc1hB,KAAK0hB,gB,OAZjBzkB,E,OAiBA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAAS+0B,MAAM,GACzCnuB,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAGrC4G,KAAKtI,OAAS,MAGdsI,KAAKoE,QAAQhR,KAAK,CAChBsB,KAAM,WACN2K,OAAQ,CAAE7I,GAAIod,K,qDAGhB5T,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACVgsB,mBACA5B,mBACAzF,oBACA0F,iBACAzF,sBACAqH,sBACAC,iBACAzE,uBCpgBmb,M,uCCOnb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAehC,KAAkB,GAAW,CAACp5B,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKsC,YAAA,KAAS2P,SAAA,KAAM/R,QAAA,KAAKujB,WAAA,KAAQga,YAAA,KAASC,mBAAA,KAAgBC,gBAAA,OCkF9F,cAAI1+B,OAAO,CACxBsG,MAAO,CACL3C,OAAQ6C,SAEVpG,SAAU,OAAF,wBACH,eAAW,OAAQ,CAAC,gBAAiB,6BAA2B,CAOnEu+B,qBAPmE,aAUjE,IAAM9f,EAAYtgB,KAAKugB,wBAAwB,mBAIzCC,EAAgB,CAAE9rB,KAAM,kBAG9B,OAAO,IAAE2B,IAAIiqB,GAAW,SAAC9pB,GACvB,GAAW,MAAPA,EACF,OAAOzD,OAAOyI,OAAO,GAAIglB,EAAe,CAItC9c,MAAO,CAAEI,QAAS,QAGtB,OAAO/Q,OAAOyI,OAAO,GAAIglB,EAAe,CACtC9c,MAAO,CAAEI,QAAStN,WAK1Bsd,WAAY,CACVusB,oBCzJma,MCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAAC5rB,SAAA,KAAMiM,cAAA,KAAWC,aAAA,KAAUC,iBAAAC,GAAA,KAAiBC,iBAAA,KAAcC,eAAAF,GAAA,KAAeG,cAAA,OC7BvG,IAAI,GAAS,WAAa,IAAIjhB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OACrFF,EAAIuD,cAAc,oBAClBvD,EAAIuD,cAAc,kBAClBvD,EAAIuD,cAAc,oBAClBvD,EAAIuD,cAAc,oBAClBvD,EAAIuD,cAAc,oBAClBnD,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIqF,QAAQC,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,oBAAoB,CAACA,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,QAAQ,KAAKgF,MAAM,OAAO,KAAK,MAAM,YAAY,CAACzF,EAAI0F,GAAI1F,EAA2B,yBAAE,SAAS2F,EAAIhL,GAAO,OAAOyF,EAAG,cAAc,CAAC1K,IAAIiF,EAAM2F,MAAM,CAAC,GAAKqF,EAAI,MAAQ,KAAK,CAACvF,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,cAAc,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACmB,YAAY,aAAa,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,KAAKL,EAAG,MAAM,CAACmB,YAAY,+BAA+B,CAAEoE,EAAIhC,MAAMM,WAAa,EAAG7D,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAKqF,EAAIhC,MAAMM,cAAc7D,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAK,MAAM,MAAM,IAAI,MAAMN,EAAIuD,cAAc,mBAAoBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,iBAAkB,CAACyL,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,iBAAiB,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,mBAAoBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,oBAAqB,CAACyL,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,gBAAgB,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,oBAAsBvD,EAAIuD,cAAc,iBAAkBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,yBAA0B,CAACyL,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,kBAAkB,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,QAAQ,IAAI,GAAGT,EAAI6C,MAAM,GAAG7C,EAAI6C,MACpuD,GAAkB,GC6EP,UAAInB,OAAO,CACxBsG,MAAO,CACL3C,OAAQ6C,SAEVpG,SAAU,OAAF,wBACH,eAAW,OAAQ,CAAC,gBAAiB,6BAA2B,CAOnEy+B,wBAPmE,aAUjE,IAAMhgB,EAAYtgB,KAAKugB,wBAAwB,oBAIzCC,EAAgB,CAAE9rB,KAAM,qBAG9B,OAAO,IAAE2B,IAAIiqB,GAAW,SAAC9pB,GACvB,GAAW,MAAPA,EACF,OAAOzD,OAAOyI,OAAO,GAAIglB,EAAe,CAItC9c,MAAO,CAAEM,WAAY,QAGzB,OAAOjR,OAAOyI,OAAO,GAAIglB,EAAe,CACtC9c,MAAO,CAAEM,WAAYxN,aCpHyY,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAACie,SAAA,KAAMiM,cAAA,KAAWC,aAAA,KAAUC,iBAAAC,GAAA,KAAiBC,iBAAA,KAAcC,eAAAF,GAAA,KAAeG,cAAA,OC7BvG,IAAI,GAAS,WAAa,IAAIjhB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIuD,cAAc,cAAenD,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIqF,QAAQC,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,oBAAoB,CAACA,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,UAAU,QAAQ,KAAKgF,MAAM,OAAO,KAAK,MAAM,YAAY,CAAEzF,EAAIuD,cAAc,+BAAgCnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,sBAAuB,CAACyL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,sBAAuBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,gBAAiB,CAACyL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,wBAAyBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,eAAgB,CAACyL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,yBAA0BnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,oBAAqB,CAACyL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,0BAA2BnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,yBAA0B,CAACyL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,0BAA2BnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,mBAAoB,CAACyL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,sBAAuBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,iBAAkB,CAACyL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,6BAA8BnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,uBAAwB,CAACyL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,2BAA4BnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,sBAAuB,CAACyL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,6BAA8BnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,yBAA0B,CAACyL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,0BAA2BnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,uBAAwB,CAACyL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,mBAAoBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,cAAe,CAACyL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,mBAAoBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,cAAe,CAACyL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,QAAQ,IAAI,GAAGT,EAAI6C,KAAM7C,EAAIuD,cAAc,yBAA0BnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,qBAAsB,CAACyL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,QAAQ,IAAI,GAAGT,EAAI6C,MAAM,GAAG7C,EAAI6C,MAC/8G,GAAkB,GC0KP,UAAInB,OAAO,CACxBsG,MAAO,CACL3C,OAAQ6C,SAEVpG,SAAU,OAAF,UACH,eAAW,OAAQ,CAAC,qBChLqZ,MCO5a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC6e,cAAA,KAAWC,aAAA,KAAUC,iBAAAC,GAAA,KAAiBE,eAAAF,GAAA,KAAeG,cAAA,OCiBpE,cAAIvf,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLuQ,QAAS,OAIbhB,SAAU,OAAF,wBACH,eAAS,OAAQ,CAAC,UAClB,eAAW,OAAQ,CAAC,mBAGzBiS,WAAY,CACVysB,mBACAC,uBACAC,2BACAC,oBACAC,+BC7D4Z,MCO5Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACn+B,QAAA,KAAKC,cAAA,KAAWqC,YAAA,KAASpC,QAAA,OC1BvD,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,qBAAqB,IACtI,GAAkB,GCUP,UAAIsB,OAAO,CACxBqS,WAAY,CAAE+X,uBCZoZ,MCOha,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACppB,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI1C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,KAAK,CAACmB,YAAY,kBAAkB,CAACvB,EAAIO,GAAG,sCAAsCH,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACA,EAAG,eAAe,CAACJ,EAAIO,GAAG,uBAAuBH,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,oOAAoOH,EAAG,cAAc,CAACA,EAAG,MAAM,CAACJ,EAAIO,GAAG,wBAAwBP,EAAIQ,GAAGR,EAAI6gC,yBAAyBzgC,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,kBAAkB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,gBAAgB,aAAaN,EAAI8gC,yBAAyB,eAAe9gC,EAAI+gC,2BAA2B,gBAAgB,aAAa,kBAAkB,IAAI//B,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAI6gC,qBAAqB3/B,GAAKG,WAAW,2BAA2B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,kBAAkB,MAAQ,CAAC,QAAS,SAAU,aAAc,mBAAmBU,MAAM,CAAC5L,MAAO4K,EAA4B,yBAAEiB,SAAS,SAAUC,GAAMlB,EAAI8gC,yBAAyB5/B,GAAKG,WAAW,+BAA+B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,sBAAsBU,MAAM,CAAC5L,MAAO4K,EAA8B,2BAAEiB,SAAS,SAAUC,GAAMlB,EAAI+gC,2BAA2B7/B,GAAKG,WAAW,iCAAiC,IAAI,GAAGjB,EAAG,MAAM,CAACmB,YAAY,yBAAyB,CAACnB,EAAG,QAAQ,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI6gC,qBAAuB,2BAA2B,CAAC7gC,EAAIO,GAAG,iBAAiBH,EAAG,QAAQ,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI6gC,qBAAuB,iBAAiB,CAAC7gC,EAAIO,GAAG,+BAA+BH,EAAG,QAAQ,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI6gC,qBAAuB,iBAAiB,CAAC7gC,EAAIO,GAAG,6BAA6BH,EAAG,QAAQ,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI6gC,qBAAuB,MAAM,CAAC7gC,EAAIO,GAAG,cAAc,IAAI,IAAI,IAAI,GAAGH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACA,EAAG,eAAe,CAACmB,YAAY,YAAY,CAACvB,EAAIO,GAAG,wBAAwBH,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,iQAAiQH,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACJ,EAAIO,GAAG,cAAcP,EAAIQ,GAAGR,EAAI6/B,gBAAgBz/B,EAAG,oBAAoB,CAACE,MAAM,CAAC,UAAY,EAAE,kBAAkB,YAAYU,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAI6/B,YAAY3+B,GAAKG,WAAW,iBAAiBjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI6/B,YAAc,KAAK,CAAC7/B,EAAIO,GAAG,iBAAiBH,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI6/B,YAAc,SAAS,CAAC7/B,EAAIO,GAAG,mBAAmBH,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI6/B,YAAc,OAAO,CAAC7/B,EAAIO,GAAG,SAASH,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI6/B,YAAc,UAAU,CAAC7/B,EAAIO,GAAG,2BAA2B,GAAGH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACJ,EAAIO,GAAG,cAAcP,EAAIQ,GAAGR,EAAIghC,oBAAoB5gC,EAAG,oBAAoB,CAACE,MAAM,CAAC,UAAY,EAAE,WAAa,IAAI,kBAAkB,YAAYU,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIghC,gBAAgB9/B,GAAKG,WAAW,qBAAqBjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIghC,gBAAkB,OAAO,CAAChhC,EAAIO,GAAG,yCAAyCH,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIghC,gBAAkB,SAAS,CAAChhC,EAAIO,GAAG,WAAWH,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIghC,gBAAkB,SAAS,CAAChhC,EAAIO,GAAG,iBAAiB,IAAI,IAAI,IAAI,IAAI,GAAGH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACmB,YAAY,eAAe,CAACnB,EAAG,eAAe,CAACmB,YAAY,YAAY,CAACvB,EAAIO,GAAG,uBAAuBH,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,6DAA6DH,EAAG,KAAK,CAACJ,EAAIO,GAAG,wBAAwBP,EAAIO,GAAG,gPAAkPH,EAAG,cAAc,CAACA,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQ,oBAAoB,wBAAwB,IAAIU,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIiE,WAAW/C,GAAKG,WAAW,gBAAgBjB,EAAG,eAAe,CAACE,MAAM,CAAC,WAAaN,EAAIiE,YAAYjD,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIihC,OAAO//B,GAAKG,WAAW,YAAYjB,EAAG,MAAM,CAACJ,EAAIO,GAAG,eAAeP,EAAIQ,GAAGR,EAAIiE,eAAe7D,EAAG,MAAM,CAACJ,EAAIO,GAAG,WAAWP,EAAIQ,GAAGR,EAAIihC,YAAY,IAAI,IAAI,GAAG7gC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACmB,YAAY,eAAe,CAACnB,EAAG,eAAe,CAACmB,YAAY,YAAY,CAACvB,EAAIO,GAAG,yBAAyBH,EAAG,kBAAkB,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAG,gBAAgBP,EAAIO,GAAG,iEAAiEH,EAAG,KAAK,CAACJ,EAAIO,GAAG,eAAeP,EAAIO,GAAG,QAAQH,EAAG,KAAK,CAACJ,EAAIO,GAAG,mBAAmBP,EAAIO,GAAG,4MAA8MH,EAAG,SAAS,CAACJ,EAAIO,GAAG,uBAAuBP,EAAIO,GAAG,+DAA+DH,EAAG,cAAc,CAACA,EAAG,qBAAqB,CAACE,MAAM,CAAC,oBAAoBN,EAAIm9B,iBAAiBn8B,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI4D,aAAa1C,GAAKG,WAAW,kBAAkBjB,EAAG,MAAM,CAACJ,EAAIO,GAAG,iBAAiBP,EAAIQ,GAAGR,EAAI4D,iBAAiBxD,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,qBAAqBU,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIm9B,gBAAgBj8B,GAAKG,WAAW,qBAAqBjB,EAAG,QAAQ,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI4D,aAAe,cAAc,CAAC5D,EAAIO,GAAG,SAASH,EAAG,QAAQ,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI4D,aAAe,OAAQ,CAAC5D,EAAIO,GAAG,mBAAmBH,EAAG,QAAQ,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI4D,aAAe,cAAc,CAAC5D,EAAIO,GAAG,gBAAgB,IAAI,IAAI,GAAGH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,2BAA2BU,MAAM,CAAC5L,MAAO4K,EAAqC,kCAAEiB,SAAS,SAAUC,GAAMlB,EAAIkhC,kCAAkChgC,GAAKG,WAAW,uCAAuCjB,EAAG,sBAAsB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,UAAY,GAAG,SAAWT,EAAIkhC,mCAAmClgC,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAI2Z,QAAQzY,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,KAAO,UAAUO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAImhC,OAAOjgC,GAAKG,WAAW,YAAYrB,EAAIO,GAAG,aAAaH,EAAG,SAAS,CAACmB,YAAY,YAAYjB,MAAM,CAAC,MAAQN,EAAImhC,WAAW,GAAG/gC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACA,EAAG,eAAe,CAACJ,EAAIO,GAAG,gBAAgBH,EAAG,cAAc,CAACA,EAAG,IAAI,CAACJ,EAAIO,GAAG,uQAAuQH,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,mDAAmD,MAAQ,CAAC,SAAUlF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIsO,YAAYpN,GAAKG,WAAW,kBAAkB,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACA,EAAG,eAAe,CAACJ,EAAIO,GAAG,wBAAwBH,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,+BAA+BjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAImL,UAAY,aACp/PnL,EAAIoL,uBAAyB,SAAU,CAACpL,EAAIO,GAAG,gBAAgBH,EAAG,QAAQ,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAImL,UAAY,aACxHnL,EAAIoL,uBAAyB,QAAS,CAACpL,EAAIO,GAAG,YAAYH,EAAG,QAAQ,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAImL,UAAY,aACnHnL,EAAIoL,uBAAyB,SAAU,CAACpL,EAAIO,GAAG,kBAAkBH,EAAG,QAAQ,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAImL,UAAY,aAC1HnL,EAAIoL,uBAAyB,QAAS,CAACpL,EAAIO,GAAG,aAAa,GAAGH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgBN,EAAIoL,wBAAwBzK,GAAG,CAAC,mBAAqB,SAASC,GAAQZ,EAAIoL,uBAAyBxK,IAASI,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAImL,UAAUjK,GAAKG,WAAW,gBAAgB,GAAIrB,EAAa,UAAEI,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,sBAAsB,CAACL,EAAG,mBAAmB,CAACE,MAAM,CAAC,UAAYN,EAAImL,UAAU,cAAgBnL,EAAIoL,2BAA2B,GAAGpL,EAAI6C,KAAM7C,EAAa,UAAEI,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,gBAAgB,CAACL,EAAG,aAAa,CAACE,MAAM,CAAC,UAAYN,EAAImL,UAAU,cAAgBnL,EAAIoL,2BAA2B,GAAGpL,EAAI6C,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACA,EAAG,eAAe,CAACmB,YAAY,YAAY,CAACvB,EAAIO,GAAG,2BAA2BH,EAAG,cAAc,CAACA,EAAG,MAAM,CAACJ,EAAIO,GAAG,kBAAkBP,EAAIQ,GAAGR,EAAIohC,eAAehhC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,cAAc,MAAQ,CAAC,SAAUlF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkBT,EAAIqhC,mBAAmB,YAAYrhC,EAAIshC,mBAAmB,UAAYthC,EAAIuhC,oBAAoB,SAAWvhC,EAAIwhC,mBAAmB,aAAaxhC,EAAIyhC,oBAAoB,mBAAmBzhC,EAAI0hC,2BAA2B1gC,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIohC,WAAWlgC,GAAKG,WAAW,iBAAiB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,aAAaU,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAIshC,mBAAmBpgC,GAAKG,WAAW,yBAAyB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAAEN,EAAsB,mBAAEI,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,oBAAoB,MAAQ,CAAC,EAAG,EAAG,IAAI,KAAO,kEAAkEU,MAAM,CAAC5L,MAAO4K,EAA6B,0BAAEiB,SAAS,SAAUC,GAAMlB,EAAI0hC,0BAA0BxgC,GAAKG,WAAW,+BAA+BrB,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,aAAaU,MAAM,CAAC5L,MAAO4K,EAAuB,oBAAEiB,SAAS,SAAUC,GAAMlB,EAAIuhC,oBAAoBrgC,GAAKG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,mBAAmBU,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAIqhC,mBAAmBngC,GAAKG,WAAW,yBAAyB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,aAAaU,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAIwhC,mBAAmBtgC,GAAKG,WAAW,yBAAyB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,cAAcU,MAAM,CAAC5L,MAAO4K,EAAuB,oBAAEiB,SAAS,SAAUC,GAAMlB,EAAIyhC,oBAAoBvgC,GAAKG,WAAW,0BAA0B,IAAI,IAAI,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACA,EAAG,eAAe,CAACmB,YAAY,YAAY,CAACvB,EAAIO,GAAG,oBAAoBH,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,MAAM,CAACJ,EAAIO,GAAG,kBAAkBP,EAAIQ,GAAGR,EAAI6nB,YAAYznB,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQ,iBAAiB,MAAQ,CAAC,SAAUlF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,MAAQT,EAAI2hC,mBAAmB,SAAW3hC,EAAI4hC,sBAAsB,UAAY5hC,EAAI6hC,uBAAuB,SAAW7hC,EAAI8hC,sBAAsB,wBAAwB9hC,EAAImI,sBAAsBnH,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAI6nB,QAAQ3mB,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,MAAM,CAACJ,EAAIO,GAAG,kBAAkBP,EAAIQ,GAAGR,EAAI2G,aAAavG,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQ,kBAAkB,SAAW,GAAG,MAAQ,CAAC,SAAUlF,GAAK,QAASA,EAAErI,QAAUiN,EAAIS,GAAG,oBAAsB,MAAQT,EAAI2hC,mBAAmB,SAAW3hC,EAAI4hC,sBAAsB,UAAY5hC,EAAI6hC,uBAAuB,SAAW7hC,EAAI8hC,sBAAsB,wBAAwB9hC,EAAImI,sBAAsBnH,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAI2G,SAASzF,GAAKG,WAAW,eAAe,IAAI,GAAGjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,SAASU,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAI2hC,mBAAmBzgC,GAAKG,WAAW,yBAAyB,GAAGjB,EAAG,QAAQ,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,aAAaU,MAAM,CAAC5L,MAAO4K,EAA0B,uBAAEiB,SAAS,SAAUC,GAAMlB,EAAI6hC,uBAAuB3gC,GAAKG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,YAAYU,MAAM,CAAC5L,MAAO4K,EAAyB,sBAAEiB,SAAS,SAAUC,GAAMlB,EAAI4hC,sBAAsB1gC,GAAKG,WAAW,4BAA4B,GAAGjB,EAAG,QAAQ,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,YAAYU,MAAM,CAAC5L,MAAO4K,EAAyB,sBAAEiB,SAAS,SAAUC,GAAMlB,EAAI8hC,sBAAsB5gC,GAAKG,WAAW,4BAA4B,GAAGjB,EAAG,QAAQ,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,iCAAiCU,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAImI,qBAAqBjH,GAAKG,WAAW,2BAA2B,IAAI,IAAI,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACA,EAAG,eAAe,CAACmB,YAAY,YAAY,CAACvB,EAAIO,GAAG,yBAAyBH,EAAG,cAAc,CAACJ,EAAIO,GAAG,gBAAgBP,EAAIQ,GAAGR,EAAIua,gBAAgBna,EAAG,cAAc,CAACA,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQ,eAAeU,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAIqmB,aAAanlB,GAAKG,WAAW,kBAAkBjB,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQ,aAAaU,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAImmB,SAASjlB,GAAKG,WAAW,cAAcjB,EAAG,oBAAoB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,sBAAsB,SAAWN,EAAImmB,SAAS,aAAenmB,EAAIqmB,cAAcrlB,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIua,YAAYrZ,GAAKG,WAAW,kBAAkB,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACA,EAAG,eAAe,CAACmB,YAAY,YAAY,CAACvB,EAAIO,GAAG,6BAA6BH,EAAG,cAAc,CAACJ,EAAIO,GAAG,gBAAgBP,EAAIQ,GAAGR,EAAI4f,eAAexf,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI4f,WAAa,CAAC,EAAG,EAAG,MAAM,CAAC5f,EAAIO,GAAG,yBAAyBH,EAAG,wBAAwB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,UAAY,GAAG,SAAW,GAAG,aAAaT,EAAI+hC,0BAA0B/gC,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAI4f,WAAW1e,GAAKG,WAAW,gBAAgBjB,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,cAAcU,MAAM,CAAC5L,MAAO4K,EAA4B,yBAAEiB,SAAS,SAAUC,GAAMlB,EAAI+hC,yBAAyB7gC,GAAKG,WAAW,+BAA+B,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACA,EAAG,eAAe,CAACmB,YAAY,YAAY,CAACvB,EAAIO,GAAG,kBAAkBH,EAAG,cAAc,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,aAAaU,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIgiC,gBAAgB9gC,GAAKG,WAAW,qBAAqBjB,EAAG,cAAc,CAACE,MAAM,CAAC,SAAWN,EAAIgiC,iBAAiBhhC,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIinB,QAAQ/lB,GAAKG,WAAW,cAAc,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACA,EAAG,eAAe,CAACmB,YAAY,YAAY,CAACvB,EAAIO,GAAG,8BAA8BH,EAAG,cAAc,CAACA,EAAG,IAAI,CAACJ,EAAIO,GAAG,uEAAuEH,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACY,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAIqmB,aAAanlB,GAAKG,WAAW,mBAAmB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,QAAUT,EAAIqmB,aAAa,oBAAoB,IAAIrlB,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAI+D,QAAQ7C,GAAKG,WAAW,aAAajB,EAAG,MAAM,CAACmB,YAAY,+BAA+B,CAACnB,EAAG,MAAM,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAG,eAAeP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIk2B,UAAUl2B,EAAI+D,aAAa3D,EAAG,MAAM,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAG,mBAAmBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIm2B,cAAcn2B,EAAI+D,UAAU,UAAU,GAAG3D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,mBAAmBU,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIiiC,eAAe/gC,GAAKG,WAAW,qBAAqB,GAAIrB,EAAkB,eAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,kGAAkGP,EAAI6C,MAAM,GAAGzC,EAAG,MAAM,CAACJ,EAAIO,GAAG,kBAAkBP,EAAIQ,GAAGR,EAAIkiC,YAAY9hC,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,QAAUT,EAAI+D,QAAQ,UAAY/D,EAAIiiC,gBAAgBjhC,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIkiC,QAAQhhC,GAAKG,WAAW,aAAajB,EAAG,sBAAsB,CAACE,MAAM,CAAC,QAAUN,EAAI+D,QAAQ,SAAW,GAAG,KAAO,sFAAsF,kBAAkB,IAAI/C,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAI8/B,mBAAmB5+B,GAAKG,WAAW,wBAAwBjB,EAAG,oBAAoB,CAACE,MAAM,CAAC,QAAUN,EAAI+D,SAAS/C,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIy2B,YAAYv1B,GAAKG,WAAW,kBAAkB,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACA,EAAG,eAAe,CAACmB,YAAY,YAAY,CAACvB,EAAIO,GAAG,oCAAoCH,EAAG,cAAc,CAACA,EAAG,IAAI,CAACJ,EAAIO,GAAG,uGAAuGH,EAAG,MAAM,CAACJ,EAAIO,GAAG,kBAAkBP,EAAIQ,GAAGR,EAAImiC,aAAa/hC,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,OAAST,EAAIoiC,YAAY,oBAAsBpiC,EAAIqiC,kBAAkBrhC,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAImiC,SAASjhC,GAAKG,WAAW,cAAcjB,EAAG,qBAAqB,CAACE,MAAM,CAAC,SAAW,IAAIU,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIoiC,YAAYlhC,GAAKG,WAAW,iBAAiBjB,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAON,EAAIqiC,iBAAiB,kBAAkB,IAAIrhC,MAAM,CAAC5L,MAAO4K,EAAoB,iBAAEiB,SAAS,SAAUC,GAAMlB,EAAIqiC,iBAAiBnhC,GAAKG,WAAW,uBAAuB,IAAI,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACA,EAAG,eAAe,CAACmB,YAAY,YAAY,CAACvB,EAAIO,GAAG,uBAAuBH,EAAG,cAAc,CAACJ,EAAIO,GAAG,mEAAmEH,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,WAAWU,MAAM,CAAC5L,MAAO4K,EAAuB,oBAAEiB,SAAS,SAAUC,GAAMlB,EAAIsiC,oBAAoBphC,GAAKG,WAAW,yBAAyBjB,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,SAAS,MAAQ,CAAC,UAAW,QAAS,SAASU,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAIuiC,mBAAmBrhC,GAAKG,WAAW,wBAAwBjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,aAAaK,GAAG,CAAC,MAAQX,EAAIwiC,eAAe,CAACxiC,EAAIO,GAAG,WAAW,IAAI,IAAI,IAAI,IAAI,IACpkV,GAAkB,GCLlB,GAAS,WAAa,IAAIP,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAAEJ,EAAS,MAAEI,EAAG,QAAQ,CAACmB,YAAY,kBAAkBjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAImH,UAAUnH,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAW,SAAE,SAAS7F,EAAMtH,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAI7C,EAAE0O,YAAY,sBAAsBjB,MAAM,CAAC,KAAO,KAAK,GAAK,GAAKN,EAAIgpB,QAAQj2B,SAAS,CAACqN,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIsH,OAAS,GAAG,MAAQtH,EAAIS,GAAG,+BAAiCT,EAAIyiC,MAAM5vC,IAAI,SAAWmN,EAAIyH,SAAS,MAAQzH,EAAIgpB,QAAQn2B,GAAG,aAAa,KAAK,YAAY,SAAUuI,GAAK,OAAOA,EAAEzG,KAAKqL,EAAIzD,UAAYoE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI0iC,iBAAiB7vC,KAAKmO,MAAM,CAAC5L,MAAO4K,EAAI2iC,WAAW9vC,GAAIoO,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAI2iC,WAAY9vC,EAAGqO,IAAMG,WAAW,oBAAoB,OAAM,IACzxB,GAAkB,G,aC2CP,UAAIK,OAAO,CACxBsG,MAAO,CAILb,MAAOc,OAWPX,MAAO,CACLrO,KAAME,MACN2lB,QAAS,mBAAM,KAQjB8jB,WAAY,CACV3pC,KAAMiP,QACN4W,QAAS,OAUXrX,SAAU,CACRxO,KAAMiP,QACN4W,QAAS,OAOX1pB,MAAO,CACL6D,KAAMsG,OACNyZ,SAAU,MAOZ/U,WAAY,CACVhL,KAAMsG,OACNyZ,SAAU,OAGd5Q,QA7DwB,aA8DtBnI,KAAK4iC,wBAAwB5iC,KAAK7K,QAEpC7C,KAhEwB,aAiEtB,MAAO,CACLkwC,MAAO,GACPE,WAAY,CAAC,GACb3Z,QAAS,KAGbjnB,MAAO,CACLkC,WADK,aAOHhE,KAAK0iC,WAAa,CAAC,GACnB1iC,KAAKyiC,iBAAiB,IAExBttC,MAVK,WAUCye,GACJ5T,KAAK4iC,wBAAwBhvB,KAGjC/R,SAAU,OAAF,wBACH,eAAS,WAAY,CAAC,YACtB,eAAW,UAAW,CACvB,cACA,iBACA,mBACA,6BAGJG,QAAS,CAKPygC,iBALO,WAKUI,GAUf7iC,KAAK0iC,WAAW5vC,OAAS+vC,EAAe,EAIxC7iC,KAAK8H,MAAM,QAAS,IAAEgtB,KAAK90B,KAAK0iC,aAAe,GAG/C1iC,KAAK8iC,iBAkBDF,wBAxCC,WAwCuBhvB,G,mLAC5B,OAAM5T,KAAK2I,OAAOlQ,SAAS,wBAAyB,CAClDuL,WAAY4P,EACZb,MAAO,Q,OAEH/B,EAAchR,KAAKgR,YAAY4C,GAC/BmvB,EAAgB/xB,EAAYgyB,QAAQhjC,KAAKgE,YAC/C,GAAI++B,EAAgB,EAAG,CAGrB/iC,KAAK0iC,WAAa,CAAC,GACnB1iC,KAAK8H,MAAM,QAAS,QAIpB9H,KAAK0iC,WAAa1xB,EAAY5a,MAC5B2sC,EAAgB,EAChB/xB,EAAYle,QAKhBkN,KAAK8iC,gB,iDAODA,cArEC,a,uMAyECG,EAAWjjC,KAAKkjC,eAAeljC,KAAKgE,YACpCm/B,E,CAAanjC,KAAKgE,Y,sBAAehE,KAAK0iC,a,SAO5C,OAAM3kC,QAAQ2B,IACZyjC,EAAU9sC,KAAI,SAACG,GACb,OAAO,EAAKmS,OAAOlQ,SAAS,gCAAiC,CAC3Dsa,MAAO,MACPlC,SAAUra,Q,OAKV4sC,EAAa,GACbC,EAAW,G,kBAKMF,G,yDAAZtyB,E,QACLyyB,EAAW,GAEbA,EADEtjC,KAAK2iC,WACI3iC,KAAKujC,iBAAiB1yB,GAEtB7Q,KAAKwjC,wBAAwB3yB,G,KAItCyyB,EAASxwC,QAAU,G,wDAMjB,EAAY,IAAEgiC,KAAKwO,GAAWtqC,KACpCqqC,EAASjwC,KAAK,GAGR2e,EAAS/R,KAAKkjC,eAAeryB,GAC7B,EAAK7Q,KAAKyjC,aAAa1xB,GAC7B,EAAG/Y,KAAO,EACVsqC,EAASpyB,QAAQlR,KAAKyjC,aAAa1xB,IAEnCqxB,EAAWhwC,KAAKkwC,G,kJAKlB,GAA0B,IAAtBF,EAAWtwC,OAAc,CAKrB4wC,EAAK1jC,KAAKyjC,aAAaR,GACvBU,EAAY,QAClBD,EAAG1qC,KAAO2qC,EAIVN,EAASjwC,KAAKuwC,GACdP,EAAWhwC,KAAK,CAACswC,IAKnB,MAAON,EAAWtwC,OAASkN,KAAK0iC,WAAW5vC,OACzCkN,KAAK0iC,WAAWtvC,KAAK,GAGvB4M,KAAK+oB,QAAUqa,EACfpjC,KAAKwiC,MAAQa,E,iEAOfI,aA1JO,WA0JM1xB,GACX,IAAME,EAAQlf,OAAOyI,OAAO,GAAIuW,GAChCE,EAAMzb,GAAK,EACXyb,EAAMvd,KAAO23B,GACb,OAAOpa,MCxSya,MCOlb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACjJ,iBAAA,KAAcxG,QAAA,KAAKE,QAAA,OCzBjD,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIsH,OAAS,GAAG,SAAWtH,EAAIyH,UAAY,MAAM,MAAQzH,EAAImH,OAASnH,EAAIS,GAAG,4BAA4B,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAI6jC,iBAAiB,aAAa,KAAK,YAAY,SAAUzoC,GAAK,OAAOA,EAAEzG,MAAQ,UAAYqL,EAAIwH,WAAW7G,GAAG,CAAC,MAAQX,EAAI8jC,sBACjY,GAAkB,GCkBP,UAAIpiC,OAAO,CACxBsG,MAAO,CACLjE,QAAS,CACP9K,KAAMsG,OACNyZ,SAAU,MAEZ5jB,MAAOmK,OACP4H,MAAOc,OACPX,MAAO,GACPG,SAAUS,QACVR,SAAUQ,QACVV,UAAWU,SAEbE,QAbwB,aActBnI,KAAKoI,aAEPtG,MAAO,CACLgC,QADK,WACGkI,GACFhM,KAAK8D,SACP9D,KAAKoI,cAIXvG,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,wBAAsB,CAC9C+hC,iBAD8C,aAE5C,OAAO,IAAE/kC,OACPmB,KAAKq2B,mBAAmBr2B,KAAK8D,UAAY,IACzC,SAACggC,GAAD,OAAmBA,EAAGpvC,WAI5BsN,QAAS,CACP6hC,kBADO,WACWE,GAChB/jC,KAAK8H,MAAM,QAASi8B,IAEtB37B,UAJO,aAKLpI,KAAK2I,OAAOlQ,SAAS,gCAAiC,CACpDqL,QAAS9D,KAAK8D,QACdiP,MAAO,YC1D4a,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC/J,iBAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIjJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIsH,OAAS,GAAG,SAAWtH,EAAIyH,UAAY,MAAM,MAAQzH,EAAImH,OAAS,WAAW,MAAQnH,EAAI5K,MAAM,MAAQ4K,EAAIikC,gBAAgB,aAAa,KAAK,YAAY,SAAU7oC,GAAK,OAAO4E,EAAIkkC,iBAAiB9oC,EAAE3E,KAAO,QAAUuJ,EAAI2J,QAAQ,UAAY3J,EAAIwH,UAAU,kBAAkBxH,EAAIq4B,eAAe,KAAOr4B,EAAIo4B,KAAK,SAAWp4B,EAAIuH,SAAS,YAAcvH,EAAImkC,YAAY,oBAAoBnkC,EAAIw+B,gBAAgB,aAAax+B,EAAIy+B,UAAU,eAAez+B,EAAIokC,YAAY,cAAcpkC,EAAIqkC,WAAW,oBAAoBrkC,EAAIskC,iBAAiB3jC,GAAG,CAAC,MAAQX,EAAIukC,oBACpqB,GAAkB,GC6BP,UAAI7iC,OAAO,CACxBsG,MAAO,CAELb,MAAOc,OAIPqwB,MAAO,CACLr/B,KAAME,MACN2lB,QAAS,mBAAM,KAQjB8jB,WAAY,CACV3pC,KAAMiP,QACN4W,QAAS,OAGXxX,MAAO,CACLrO,KAAME,MACN2lB,QAAS,mBAAM,KAGjBrX,SAAUS,QAEV9S,MAAOmK,OAGPosB,YAAa,CACX1yB,KAAME,MACN2lB,QAAS,mBAAM,KAIjB0lB,oBAAqB,CACnBvrC,KAAMiP,QACN4W,QAAS,OAEXse,mBAAoBn1B,OAEpBmwB,KAAMnwB,OACNowB,eAAgBnwB,QAChBV,UAAWU,QACXX,SAAUW,QACVi8B,YAAal8B,OACbu2B,gBAAiBt2B,QACjBu2B,UAAWv2B,QACXk8B,YAAan8B,OACbo8B,WAAYp8B,OACZq8B,gBAAiBr8B,QAEnB1V,KAvDwB,aAwDtB,MAAO,CACLoX,QAAS,QAGbvB,QA5DwB,aA6DtBnI,KAAKoI,aAEPtG,MAAO,CACL3M,MADK,aAEH6K,KAAKoI,cAGTvG,SAAU,OAAF,oDACH,eAAS,WAAY,CAAC,YACtB,eAAW,UAAW,CAAC,gBAAiB,sBACxC,eAAW,OAAQ,CAAC,6BAA2B,CAClDmiC,gBADkD,aACnC,WACTjb,EAA6B,GAM/BA,EADE/oB,KAAKq4B,MAAMvlC,OAAS,EACZkN,KAAKq4B,MAELr4B,KAAKwkC,cAGbxkC,KAAKukC,sBACPxb,EAAUA,EAAQnqB,QAAO,SAAC6lC,GAAD,OAAOA,EAAEC,qBAG/B1kC,KAAK2iC,aACR5Z,EAAUA,EAAQnqB,QAAO,SAAC6lC,GAAD,OAAQA,EAAEE,WAGrC,GAAI3kC,KAAKm9B,mBAAoB,CAC3B,IAAM55B,EAAavD,KAAKugB,wBACtBvgB,KAAKm9B,oBAEDK,EAAUj6B,EAAWzQ,OAAS,EAC9B2qC,EAAS,IAAE5iC,SAAS0I,EAAY,KAElCi6B,EAEFzU,EAAU,GACA0U,IACV1U,EAAU,IAAEnqB,OAAOmqB,GAAS,SAAC0b,GAC3B,OAAO,IAAE5pC,SAAS0I,EAAYkhC,EAAEjuC,QAKtC,OAAO,IAAEmI,MAAMoqB,GACZ7tB,QAAO,SAACupC,GAAD,OAAO,EAAK/Y,YAAY7wB,SAAS4pC,EAAEjuC,OAC1CqI,QAAO,SAAC4lC,GAAD,OAAOA,EAAE/vC,KAAK,EAAK4H,WAC1BnH,WAGP6M,QAAS,OAAF,wBACF,eAAW,UAAW,CAAC,qBAAmB,CAC7CsiC,gBAD6C,WAC7BptB,GACdlX,KAAK8H,MAAM,QAASoP,IAEhB9O,UAJuC,a,kKAK3CpI,KAAK0J,QAAU,K,SAEf,OAAM3L,QAAQ2B,IAAI,CAChBM,KAAK2I,OAAOlQ,SAAS,2BACrBuH,KAAK2I,OAAOlQ,SAAS,wBAAyB,CAC5CuL,WAAYhE,KAAK7K,U,OAIrB6K,KAAK0J,QAAU,M,qDChKqa,MCOtb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACV,iBAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIjJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,qBAAqB,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAIu+B,aAAa,MAAQv+B,EAAIsH,MAAM,SAAWtH,EAAI0H,SAAS,SAAW1H,EAAIyH,SAAS,KAAOzH,EAAIo4B,KAAK,kBAAkBp4B,EAAIq4B,gBAAgB13B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,QACnY,GAAkB,GCoBP,UAAIc,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAOmK,OACPwE,QAAS,CACP9K,KAAMsG,OACNyZ,SAAU,MAEZ1R,MAAOnO,MACPuO,SAAUQ,QACVT,SAAUS,QACVkwB,KAAMnwB,OACNowB,eAAgBnwB,SAElBpG,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,cAAe,cAAe,eAAa,CAOnEy8B,aAPmE,aAQjE,IAAMA,EAAe,GACrB,GAAIt+B,KAAKy1B,OAASz1B,KAAKy1B,MAAMoK,mBAAoB,CAC/C,IAAM7P,EAAQhwB,KAAKmwB,YAAYnwB,KAAKy1B,MAAMoK,oBAC1CvB,EAAalrC,KAAK,CAChB+B,MAAO66B,EAAMx5B,GACbiS,KAAMzI,KAAKqwB,UAAUL,EAAMx5B,MAG/B,OAAO8nC,GAGT7I,MAnBmE,aAoBjE,OAAOz1B,KAAKg2B,YAAYh2B,KAAK8D,YAGjChC,MAAO,CAMLgC,QAAS,CACPG,UAAW,KACXC,QAFO,aAGDlE,KAAKy1B,MACPz1B,KAAK8H,MAAM,QAAS9H,KAAKy1B,MAAMoK,oBAE/B7/B,KAAK8H,MAAM,QAAS,QCvE+Z,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACkB,iBAAA,OC4gBf,cAAIvH,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLsuC,qBAAsB,GACtBE,2BAA4B,KAC5BD,yBAA0B,QAC1BxyB,YAAa,GACbkc,eAAgB,EAChB4W,WAAY,OAAS3hB,SACrB6hB,mBAAoB,MACpBC,oBAAqB,MACrBF,mBAAoB,KACpBG,mBAAoB,MACpBC,oBAAqB,MACrBC,0BAA2B,GAC3Bv2B,UAAW,GACXC,uBAAwB,MACxBy0B,YAAa,MACbmB,gBAAiB,IACjB/8B,WAAY,IACZi+B,QAAS,EACTD,eAAgB,KAChBE,SAAU,EACVC,YAAa,GACbC,iBAAkB,EAClBpB,OAAQ,EACRqB,oBAAqB,kBACrBC,mBAAoB,OACpB5oB,QAAS,GACTunB,kCAAmC,MACnC3mB,YAAa,EACbqF,WAAY,EACZngB,UAAW,EACXolC,UAAW,EACXC,aAAc,KACdC,UAAW,EACXC,eAAgB,GAChBjmB,OAAQ,EACRhb,QAAS,EACTkhC,IAAK,EACLpd,QAAS,EACTlhB,SAAU,GACVg7B,mBAAoB,KACpBC,sBAAuB,MACvBC,uBAAwB,MACxBC,sBAAuB,MACvB35B,qBAAsB,MACtB8e,QAAS,GACT+a,gBAAiB,MACjBvL,YAAa,EACbpQ,aAAc,EACdF,SAAU,GACV2Z,mBAAoB,EACpBiC,yBAA0B,MAC1BZ,OAAQ,EACRv9B,aAAc,KACdu5B,gBAAiB,QAGrBr7B,SAAU,OAAF,sCACH,eAAS,QAAS,CAAC,aAAc,gBAAiB,sBAClD,eAAW,WAAY,CAAC,oBACxB,eAAW,QAAS,CAAC,YAAa,mBAEvCiS,WAAY,CACVmxB,gBACAlL,eACAmL,qBACA/G,iBACAxmB,iBACAwtB,oBACAC,uBACApF,iBACAzkB,uBACA0e,qBACAnhB,yBACA4f,sBACAD,qBAEFz2B,QAAS,CACPugC,aADO,aAELviC,KAAK2I,OAAOlQ,SAAZ,kCAC6BuH,KAAKsiC,oBAChCtiC,KAAKqiC,yBCtnByY,M,aCOlZ,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAehC,KAAkB,GAAW,CAAClgC,QAAA,KAAKC,SAAA,KAAMijC,cAAA,QAAc/iC,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKC,cAAA,KAAWC,QAAA,KAAKujB,WAAA,KAAQqf,WAAA,KAAQ3iC,cAAA,OCjCjH,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,KAAK,CAACF,EAAG,kBAAkB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,mBAAmBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,KAAKT,EAAIQ,GAAGR,EAAIvJ,IAAI,MAAM,GAAG2J,EAAG,YAAaJ,EAAI8I,SAAW9I,EAAI8C,QAAS1C,EAAG,qBAAqB,CAACE,MAAM,CAAC,KAAO,GAAG,OAAWN,EAAIS,GAAG,kBAAqB,KAAQT,EAAI8I,OAAS,GAAI,KAAQ9I,EAAI8I,OAAOH,MAAM3I,EAAIzD,QAAW,KAAMoE,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAIwlC,qBAAqB,CAACplC,EAAG,SAAS,CAACJ,EAAIO,GAAG,mBAAmB,GAAGP,EAAI6C,MAAM,GAAGzC,EAAG,SAAS,CAACA,EAAG,aAAa,CAACM,IAAI,OAAOJ,MAAM,CAAC,OAASN,EAAI8I,OAAO,MAAQ9I,EAAItG,SAAS0G,EAAG,iBAAiB,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,UAAYN,EAAIylC,OAAO9kC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI8F,UAAU,CAAC9F,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,MAAQ,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI0lC,gBAAgB,CAAC1lC,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQ,IAAI,IAAI,IACriC,GAAkB,GCDlB,GAAS,WAAa,IAAIT,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACM,IAAI,OAAOC,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAI2lC,YAAY,CAAE3lC,EAAW,QAAEI,EAAG,cAAc,CAACA,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,OAAO,GAAGN,EAAI6C,MAAO7C,EAAI8C,SAAW9C,EAAI8I,OAAQ1I,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQ,GAAG,eAAe,KAAK,CAACF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,UAAU,IAAI,GAAG0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,CAACT,EAAIgZ,WAAWhY,MAAM,CAAC5L,MAAO4K,EAAI8I,OAAa,OAAE7H,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAI8I,OAAQ,SAAU9I,EAAI4lC,GAAG1kC,KAAOG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,QAAU,CAACT,EAAI8I,OAAOrS,KAAKuK,MAAM,CAAC5L,MAAO4K,EAAI8I,OAAe,SAAE7H,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAI8I,OAAQ,WAAY5H,IAAMG,WAAW,sBAAsB,IAAI,GAAGjB,EAAG,QAAQJ,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAM,CAAEg7B,MAAOtxC,EAAEsxC,OAAQvlC,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAGlM,EAAEgI,QAAU,IAAMyD,EAAIS,GAAG,gBAAgB,MAAQ,CAACT,EAAIgZ,WAAWhY,MAAM,CAAC5L,MAAO4K,EAAI8I,OAAOH,MAAMpU,EAAEgI,QAAS0E,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAI8I,OAAOH,MAAOpU,EAAEgI,OAAwB,kBAAR2E,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,6BAA6B,MAAK,GAAGjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0BO,MAAM,CAAC5L,MAAO4K,EAAI8I,OAAsB,gBAAE7H,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAI8I,OAAQ,kBAAmB5H,IAAMG,WAAW,6BAA6B,IAAI,IAAI,GAAGrB,EAAI6C,MAAM,IAC9rD,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,OAAS,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAC/L,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,eAAeJ,EAAI4F,GAAG,CAACrE,YAAY,SAASjB,MAAM,CAAC,SAAW,GAAG,MAAQN,EAAI8lC,WAAW,cAAc,mBAAmBnlC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+lC,QAAQ,eAAe,SAASnlC,GAAQ,OAAOZ,EAAI+lC,SAAS/kC,MAAM,CAAC5L,MAAO4K,EAAuB,oBAAEiB,SAAS,SAAUC,GAAMlB,EAAIgmC,oBAAoB9kC,GAAKG,WAAW,wBAAwBV,UAAW,CAACP,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIimC,cAAc7lC,EAAG,WAAW,CAACE,MAAM,CAAC,YAAY,OAAOU,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIkmC,WAAWhlC,GAAKG,WAAW,eAAe,CAACjB,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,KAAK,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI8lC,gBAAgB,GAAG1lC,EAAG,SAAS,CAAGJ,EAAImmC,YAAwVnmC,EAAI6C,KAA/UzC,EAAG,cAAc,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIomC,UAAU,CAAChmC,EAAG,qBAAqB,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,YAAY,CAACN,EAAIO,GAAG,mBAAmB,IAAI,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIqmC,oBAAoB,QAAQ,IAAI,GAAarmC,EAAe,YAAEI,EAAG,MAAM,CAACA,EAAG,cAAc,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsmC,YAAY,SAAS,CAAEtmC,EAAsB,mBAAEI,EAAG,qBAAqB,CAA2B,OAAzBJ,EAAIumC,iBAA2BnmC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIwmC,aAAa,SAAS,CAACpmC,EAAG,SAAS,CAACJ,EAAIO,GAAG,6BAA6B,GAAGP,EAAI6C,KAA8B,MAAxB7C,EAAIumC,iBAA0BnmC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIymC,YAAY,CAACrmC,EAAG,SAAS,CAACJ,EAAIO,GAAG,2BAA2B,GAAGP,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAKzC,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,GAAGL,EAAG,qBAAqB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,YAAY,CAACN,EAAIO,GAAG,oBAAoB,IAAI,IAAI,GAAGP,EAAI6C,KAAO7C,EAAImmC,YAAk7BnmC,EAAI6C,KAAz6BzC,EAAG,MAAMJ,EAAI0F,GAAI1F,EAAW,SAAE,SAAS0mC,EAAW7zC,GAAG,OAAOuN,EAAG,cAAc,CAAC1K,IAAI7C,EAAE8N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsmC,YAAYI,EAAWjwC,OAAO,CAAGuJ,EAAI2mC,kBAAkBD,EAAWjwC,KAAQuJ,EAAI4mC,SAAwa5mC,EAAI6C,KAAlazC,EAAG,qBAAqB,CAAEsmC,EAAWjwC,IAAMuJ,EAAIumC,iBAAkBnmC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIwmC,aAAaE,EAAWjwC,OAAO,CAAC2J,EAAG,SAAS,CAACJ,EAAIO,GAAG,6BAA6B,GAAGP,EAAI6C,KAAM6jC,EAAWjwC,IAAMuJ,EAAIumC,iBAAkBnmC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIymC,YAAY,CAACrmC,EAAG,SAAS,CAACJ,EAAIO,GAAG,2BAA2B,GAAGP,EAAI6C,MAAM,GAAYzC,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGkmC,EAAW/9B,MAAM3I,EAAIzD,SAAS,QAAQ,GAAIyD,EAAI2mC,kBAAkBD,EAAWjwC,IAAK2J,EAAG,qBAAqB,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,YAAY,CAACN,EAAIO,GAAG,oBAAoB,IAAI,GAAGP,EAAI6C,MAAM,MAAK,IAAa,GAAGzC,EAAG,iBAAiB,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIymC,YAAY,CAACzmC,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQ,IAAI,IAAI,IAAI,IAC94F,GAAkB,GCwHP,UAAIiB,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CACL6D,KAAMsG,OACNuf,QAAS,MAGX3X,MAAO,CACLlO,KAAMgP,QAGR2+B,SAAU,CACR3tC,KAAMiP,QACN4W,QAAS,OAGX+nB,QAAS,CACP5tC,KAAME,MACN2lB,QAAS,mBAAM,KAGjBgoB,QAAS,CACP7tC,KAAMiP,QACN4W,QAAS,OAaXyY,UAAW,CAAEt+B,KAAMgP,SAGfG,QAvCkB,a,2KAwCtB,OAAMnI,KAAK8mC,aAAa,O,OACxB9mC,KAAK+mC,oBAAoB/mC,KAAK7K,O,iDAGhC7C,KA5CwB,aA6CtB,MAAO,CACL4zC,YAAa,KACbD,WAAY,MACZK,iBAAkB,KAClBU,gBAAiB,OAIrBnlC,SAAU,OAAF,oDACH,eAAS,WAAY,CAAC,YACtB,eAAS,SAAU,CAAC,iBACpB,eAAW,SAAU,CAAC,sBAAuB,uBAAqB,CAErEgkC,WAFqE,aAGnE,GAAI7lC,KAAKkH,MACP,OAAOlH,KAAKkH,MAEd,OAAOlH,KAAKiZ,MAAM7jB,EAAE,mBAAmB0W,YAGzCm7B,mBATqE,aAUnE,OAAQjnC,KAAK6mC,SAGfK,eAbqE,aAcnE,GAA8B,OAA1BlnC,KAAKsmC,iBACP,OAAO,KAET,OAAOtmC,KAAKmnC,YAAYnnC,KAAKsmC,mBAAqB,MAGpDP,oBApBqE,aAqBnE,IAAK/lC,KAAKsmC,iBACR,OAAQtmC,KAAKs3B,WACX,IAAK,MACH,OAAO7K,GAAKzsB,KAAK1D,QACnB,IAAK,UACH,OAAO+vB,GAASrsB,KAAK1D,QACvB,QACE,OAAO0D,KAAKiZ,MAAM7jB,EAAE,eAAe0W,WAIzC,IAAMusB,EAAQ,GACVxnB,EAAW7Q,KAAKsmC,iBACpB,MAAoB,OAAbz1B,EAAmB,CACxB,IAAMkB,EAAS/R,KAAKmnC,YAAYt2B,GAChC,GAAIkB,EAAQ,CACVsmB,EAAMnnB,QAAQa,EAAOrJ,MAAM1I,KAAK1D,SAChCuU,EAAWkB,EAAOlB,cAElBA,EAAW,KAGf,GAAIwnB,EAAMvlC,OAAS,EACjB,OAAOkV,OAAOhI,KAAKiZ,MAAM7jB,EAAE,gBAE7B,OAAOijC,EAAMrtB,KAAK,QAGpBo8B,cAjDqE,aAkDnE,GAA6B,OAAzBpnC,KAAKgnC,gBACP,OAAO,KAET,OAAOhnC,KAAKmnC,YAAYnnC,KAAKgnC,kBAG/BZ,mBAxDqE,aAyDnE,GAA2B,OAAvBpmC,KAAKonC,cACP,OAAOpnC,KAAKiZ,MAAM7jB,EAAE,eAAe0W,WAErC,OAAO9L,KAAKonC,cAAc1+B,MAAM1I,KAAK1D,SAGvCysB,QA/DqE,aA+D9D,WACL,OAAO/oB,KAAKqnC,oBAAoBrnC,KAAKgnC,iBAAiBpoC,QAAO,SAACiK,GAC5D,OAAQ,IAAEhO,SAAS,EAAK+rC,QAAS/9B,EAAOrS,QAI5CwvC,QArEqE,aAsEnE,IAAM3N,EAAQ,GACVxnB,EAAW7Q,KAAKsmC,iBACpB,MAAoB,OAAbz1B,EAAmB,CACxB,IAAMkB,EAAS/R,KAAKmnC,YAAYt2B,GAChC,GAAIkB,EAAQ,CACVsmB,EAAMnnB,QAAQa,EAAOrJ,MAAM1I,KAAK1D,SAChCuU,EAAWkB,EAAOlB,cAElBA,EAAW,KAGf,GAAIwnB,EAAMvlC,OAAS,EACjB,OAAQkN,KAAKs3B,WACX,IAAK,MACH,OAAO7K,GAAKzsB,KAAK1D,QACnB,IAAK,UACH,OAAO+vB,GAASrsB,KAAK1D,QACvB,QACE,OAAO0D,KAAKiZ,MAAM7jB,EAAE,eAAe0W,WAGzC,OAAOusB,EAAMrtB,KAAK,UAItBlJ,MAAO,CACL3M,MADK,WACC4M,GACJ/B,KAAK+mC,oBAAoBhlC,KAI7BC,QAAS,OAAF,wBACF,eAAW,SAAU,CAAC,kBAAgB,CAEzC+kC,oBAFyC,WAErBvwC,GAClBwJ,KAAKsmC,iBAAmB9vC,EACxB,GAAW,OAAPA,EAAa,CACfwJ,KAAKgnC,gBAAkB,KACvBhnC,KAAKkmC,YAAc,SACd,CACLlmC,KAAKkmC,YAAc,MACnB,IAAMr9B,EAAS7I,KAAKmnC,YAAY3wC,GAC5BqS,IACF7I,KAAKgnC,gBAAkBn+B,EAAOgI,YAKpCi1B,KAhByC,aAiBvC,GAAI9lC,KAAKimC,WACP,OAEFjmC,KAAK+mC,oBAAoB/mC,KAAK7K,OAC9B6K,KAAKimC,WAAa,MAGpBO,OAxByC,aAyBvCxmC,KAAKimC,WAAa,OAGpBE,KA5ByC,aA6BV,OAAzBnmC,KAAKgnC,kBACPhnC,KAAKkmC,YAAc,MAEjBlmC,KAAKonC,gBACPpnC,KAAKgnC,gBAAkBhnC,KAAKonC,cAAcv2B,WAI9Cw1B,YArCyC,WAqC7B7vC,GACV,GAAIwJ,KAAK0mC,kBAAkBlwC,GAAK,CAC9BwJ,KAAKgnC,gBAAkBxwC,EACvBwJ,KAAKkmC,YAAc,WAEnBlmC,KAAKumC,aAAa/vC,IAItB+vC,aA9CyC,WA8C5B/vC,GACXwJ,KAAK+mC,oBAAoBvwC,GACzBwJ,KAAK8H,MAAM,QAAStR,GACpBwJ,KAAKimC,WAAa,WC1U8Y,M,oDCQla,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAmBhC,KAAkB,GAAW,CAAC9jC,QAAA,KAAKC,SAAA,KAAMC,aAAA,QAAawW,WAAA,KAAQpE,SAAA,KAAMoM,MAAA,QAAMF,aAAA,KAAU2mB,mBAAA,KAAgBC,mBAAA,KAAgB3mB,iBAAAC,GAAA,KAAiBE,eAAAF,GAAA,KAAele,cAAA,KAAWqC,YAAA,KAASC,cAAA,QAAcuiC,YAAA,OCyBvK,cAAI/lC,OAAO,CACxBsG,MAAO,CACLtO,MAAO,CACLT,KAAMrC,OAERkS,OAAQ,CACN7P,KAAMjG,SAIJoV,QAVkB,a,kKAWtBnI,KAAK6C,QAAU,K,SACf,OAAM7C,KAAK8mC,e,OACX9mC,KAAK6C,QAAU,M,iDAGjBvQ,KAhBwB,aAiBtB,MAAO,CACLuQ,QAAS,OAIbhB,SAAU,OAAF,UACH,eAAW,WAAY,CAAC,eAG7BG,QAAS,OAAF,wBACF,eAAW,SAAU,CAAC,kBAAgB,CAEzC+W,SAFyC,WAEhC5d,GACP,QAASA,GAAK6E,KAAKiZ,MAAM7jB,EAAE,kBAAkB0W,YAG/CkvB,SANyC,aAOvC,IAAMF,EAAO96B,KAAK2B,MAAMm5B,KACxB,OAAOA,EAAKE,YAGd0K,OAXyC,aAYvC1lC,KAAK8H,MAAM,aAIfgM,WAAY,CACV2zB,qBC3G8Z,MCO9Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAACnlC,UAAA,QAAUmR,aAAA,KAAUjR,QAAA,KAAKC,cAAA,KAAWsV,SAAA,KAAMzT,mBAAA,KAAgB5B,QAAA,KAAKC,cAAA,OCgB9E,cAAIlB,OAAO,CACxBsG,MAAO,CACLvR,GAAI,CACFwC,KAAMsG,SAIV6I,QAPwB,aAQtBnI,KAAKoI,aAGP9V,KAXwB,aAYtB,MAAO,CACLuQ,QAAS,KACT2iC,MAAO,KACP/rC,MAAO,KAEPoP,OAAQ,OAIZhH,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAS,SAAU,CAAC,iBACpB,eAAW,SAAU,CAAC,yBAG3BC,MAAO,CACLtL,GADK,WACFuL,GACD/B,KAAKoI,cAITpG,QAAS,OAAF,wBACF,eAAW,SAAU,CACtB,eACA,eACA,cACA,gBACA,CAEIoG,UAFJ,a,4KAGgB3N,IAAZuF,KAAKxJ,I,gBACPwJ,KAAK6C,QAAU,K,SACf,OAAM9E,QAAQ2B,IAAI,CAACM,KAAK8mC,eAAgB9mC,KAAK0nC,YAAY1nC,KAAKxJ,M,OAC9DwJ,KAAK6C,QAAU,WACCpI,IAAZuF,KAAKxJ,KACPwJ,KAAK6I,OAAS9V,OAAOyI,OAAO,GAAIwE,KAAKmnC,YAAYnnC,KAAKxJ,M,iDAKtD+uC,gBAbJ,a,oLAeE,OAAMvlC,KAAK2nC,aAAa3nC,KAAKxJ,I,OACzBwJ,KAAK6I,QAAU7I,KAAK6I,OAAOgI,SAC7B,GAAOzd,KAAK,CACVsB,KAAM,aACN2K,OAAQ,CAAE7I,GAAIwR,OAAOhI,KAAK6I,OAAOgI,aAGnC,GAAOzd,KAAK,CAAEsB,KAAM,e,kDAGtBsL,KAAKvG,MAAL,K,yDAIJgsC,WA7BE,kBA8BgBhrC,IAAZuF,KAAKxJ,GACP,GAAOpD,KAAK,CAAEsB,KAAM,aAAc2K,OAAQ,CAAE7I,GAAIwR,OAAOhI,KAAKxJ,OAE5D,GAAOpD,KAAK,CAAEsB,KAAM,gBAIlBmR,KArCJ,a,wKAuCMi1B,EAAO96B,KAAK2B,MAAMm5B,K,GACnBA,EAAKE,W,mEAIR,OAAMh7B,KAAK4nC,WAAW5nC,KAAK6I,Q,OAC3B,GAAOzV,KAAK,CAAEsB,KAAM,aAAc2K,OAAQ,CAAE7I,GAAIwR,OAAOhI,KAAKxJ,O,mDAE5DwJ,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACV+zB,iBC1I8Z,MCO9Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAAC1lC,QAAA,KAAKC,SAAA,KAAMC,aAAA,QAAaI,cAAA,KAAWgS,SAAA,KAAM1P,WAAA,KAAQC,YAAA,KAASC,cAAA,UC9BxF,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,KAAK,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,GAAIT,EAAW,QAAEI,EAAG,cAAc,CAACA,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,OAAO,GAAGN,EAAI6C,KAAKzC,EAAG,SAAS,CAAEJ,EAAIuD,cAAc,wBAAyBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,eAAgB,CAACyL,EAAG,qBAAqB,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,IAAM,GAAG,KAAO,GAAG,MAAQ,KAAK,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAG,UAAU,IAAI,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,IAAI,GAAGT,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAW,SAAE,SAAS8I,EAAOjW,GAAG,OAAOuN,EAAG,cAAc,CAAC1K,IAAI7C,EAAEgY,MAAM,CAAE4P,UAAW3R,EAAON,iBAAkBlI,MAAM,CAAC,GAAK,CAAE3L,KAAM,aAAc2K,OAAQ,CAAE7I,GAAIqS,EAAOrS,OAAS,CAAC2J,EAAG,qBAAqB,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAG,kBAAkB,GAAGH,EAAG,sBAAsB,CAACE,MAAM,CAAC,gBAAgB,KAAK,CAACF,EAAG,oBAAoB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGsI,EAAOH,MAAM3I,EAAIzD,aAAa,IAAI,OAAM,IAAI,IAAI,IAC3iC,GAAkB,GC4CP,UAAImF,OAAO,CACxB0G,QADwB,aAEtBnI,KAAKoI,aAEP9V,KAJwB,aAKtB,MAAO,CACLoX,QAAS,QAGb7H,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAS,WAAY,CAAC,YACtB,eAAW,SAAU,CAAC,aAE3BG,QAAS,OAAF,wBACF,eAAW,SAAU,CAAC,kBAAgB,CACnCoG,UADmC,a,kKAEvCpI,KAAK0J,QAAU,K,SACf,OAAM1J,KAAK8mC,aAAa,O,OACxB9mC,KAAK0J,QAAU,M,qDChE6Y,MCO9Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAiBhC,KAAkB,GAAW,CAACvH,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUG,cAAA,KAAWgS,SAAA,KAAMoM,MAAA,QAAMF,aAAA,KAAU4mB,mBAAA,KAAgB3mB,iBAAAC,GAAA,KAAiBE,eAAAF,GAAA,KAAevc,mBAAA,KAAgBU,YAAA,KAASC,cAAA,UCnC7J,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,KAAK,CAACF,EAAG,kBAAkB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,MAAM,IAAI,GAAGL,EAAG,SAAS,CAACA,EAAG,aAAa,CAACM,IAAI,OAAOJ,MAAM,CAAC,OAASN,EAAI8I,OAAO,MAAQ9I,EAAItG,SAAS0G,EAAG,iBAAiB,CAACA,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,MAAQ,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+nC,eAAe,CAAC/nC,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAUK,GAAG,CAAC,MAAQX,EAAI8F,OAAO,CAAC9F,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,IAAI,IAAI,IAC1rB,GAAkB,GCahB,SAAUunC,KACd,MAAO,CACLvxC,GAAI,EACJkS,MAAO,GACP+B,OAAQ,EACRoG,SAAU,KACVtI,gBAAiB,OAIrB,IAAM,GAAQ,CACZy/B,OAAQ,MACRC,WAAY,GACZd,YAAa,GACbT,kBAAmB,IAGf,GAAU,CACdwB,QADc,WACNrwC,GACN,OAAO,IAAEgH,OACPhH,EAAMowC,WACH5xC,KAAI,SAACG,GAAD,OAAgBqB,EAAMsvC,YAAY3wC,MACtCoI,QAAO,SAACiK,GAAD,OAAuC,MAAnBA,EAAOgI,YACrC,WAGJw2B,oBAAqB,WAACxvC,GAAD,OAAW,SAACgZ,GAC/B,OAAOhZ,EAAMowC,WACV5xC,KAAI,SAACG,GAAD,OAAgBqB,EAAMsvC,YAAY3wC,MACtCoI,QAAO,SAACiK,GAAD,OAAoBA,EAAOgI,WAAaA,OAEpD61B,kBAAmB,WAAC7uC,GAAD,OAAW,SAACrB,GAC7B,GAAW,OAAPA,EACF,OAAO,KAET,OAAOqB,EAAM6uC,kBAAkBlwC,KAEjCsS,aAAc,WAACjR,GAAD,OAAW,SAACrB,GACxB,OAAOqB,EAAMsvC,YAAY3wC,MAIvB,GAAY,CAChB2xC,UADgB,WACNtwC,EAAYmU,GACpBnU,EAAMmwC,OAASh8B,GAEjBo8B,UAJgB,WAINvwC,EAAYgR,GACfhR,EAAMsvC,YAAYl0C,eAAe4V,EAAOrS,KAC3CqB,EAAMowC,WAAW70C,KAAKyV,EAAOrS,IAE/B,OAAI8D,IAAIzC,EAAMsvC,YAAat+B,EAAOrS,GAAIqS,GACd,OAApBA,EAAOgI,UACT,OAAIvW,IAAIzC,EAAM6uC,kBAAmB79B,EAAOgI,SAAU,OAGtDw3B,aAbgB,WAaHxwC,EAAYrB,GACvB,IAAMkE,EAAQ7C,EAAMowC,WAAWjF,QAAQxsC,IACxB,IAAXkE,GACF7C,EAAMowC,WAAWj0C,OAAO0G,EAAO,GAEjC,OAAI4tC,OAAOzwC,EAAMsvC,YAAa3wC,KAI5B,GAAU,CACRswC,aADQ,aACwB/zB,GAAc,IAA/Bva,EAA+B,EAA/BA,OAAQX,EAAuB,EAAvBA,M,gLACtBkb,GAASlb,EAAMmwC,Q,yCACXjqC,QAAQhH,W,gBAEA,OAAM,EAAIhC,IAAI,0B,OAAzBkI,E,OACAirC,EAAUjrC,EAAS3K,KAAKA,KAC9B41C,EAAQpsC,SAAQ,SAAC+M,GACfrQ,EAAO,YAAaqQ,MAEtBrQ,EAAO,YAAa,M,4CAEhBkvC,YAZQ,aAYgBlxC,GAAU,IAApBgC,EAAoB,EAApBA,O,iLACD,OAAM,EAAIzD,IAAJ,gCAAiCyB,I,OAAlDyG,E,OACNzE,EAAO,YAAayE,EAAS3K,KAAKA,M,4CAE9Bi2C,aAhBQ,aAgBiB1/B,GAAM,IAAhBrQ,EAAgB,EAAhBA,O,iLACF,OAAM,EAAImb,KAAK,yBAA0B,CAAErhB,KAAMuW,I,OAA5D5L,E,OACNzE,EAAO,YAAayE,EAAS3K,KAAKA,M,4CAE9Bs1C,WApBQ,aAoBe/+B,GAAM,IAAhBrQ,EAAgB,EAAhBA,O,0LAEE,OAAM,EAAIgwC,IAAJ,gCAAiC3/B,EAAOrS,IAAM,CACnElE,KAAMuW,I,OADF5L,E,OAGNzE,EAAO,YAAayE,EAAS3K,KAAKA,M,4EAE3ByL,QAAQ7C,OAAR,O,0DAGLysC,aA9BQ,aA8BiBnxC,GAAU,IAApBgC,EAAoB,EAApBA,O,oLAEjB,OAAM,EAAI8vC,OAAJ,gCAAoC9xC,I,OAC1CgC,EAAO,eAAgBhC,G,2EAEhBuH,QAAQ7C,OAAR,O,0DAKE,IACbrC,WAAY,KACZhB,MAAA,GACAiB,QAAA,GACAd,UAAA,GACAM,QAAA,IC9Fa,UAAImJ,OAAO,CACxB0G,QADwB,aAGlBnI,KAAK2E,OAAOjB,MAAMmN,WACpB7Q,KAAK6I,OAAOgI,SAAWnX,SAASsO,OAAOhI,KAAK2E,OAAOjB,MAAMmN,UAAW,MAGxEve,KAPwB,aAQtB,MAAO,CACLmH,MAAO,KACPoP,OAAQk/B,KACRvC,MAAO,QAGXxjC,QAAS,OAAF,wBACF,eAAW,SAAU,CAAC,kBAAgB,CACzC8lC,UADyC,aAEvC,GAAOrjC,QAEHoB,KAJmC,a,wKAMjCi1B,EAAO96B,KAAK2B,MAAMm5B,K,GACnBA,EAAKE,W,mEAIR,OAAMh7B,KAAKuoC,aAAavoC,KAAK6I,Q,OAC7B,GAAOzV,KAAK,CAAEsB,KAAM,e,mDAEpBsL,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV+zB,iBC/D6Z,MCO7Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAAC1lC,QAAA,KAAKC,SAAA,KAAMC,aAAA,QAAaI,cAAA,KAAWgS,SAAA,KAAM1P,WAAA,KAAQC,YAAA,KAASC,cAAA,UC9BxF,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAASF,EAAI8C,QAEuQ9C,EAAI6C,KAFlQzC,EAAG,cAAc,CAACA,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAI0oC,eAAgB1oC,EAAU,OAAEI,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACyK,MAAM,CAAE4P,UAAWza,EAAI8I,OAAON,kBAAmB,CAACxI,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI8I,OAAOH,MAAM3I,EAAIzD,SAAS,OAAO6D,EAAG,YAAaJ,EAAU,OAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK,CAAE3L,KAAM,aAAc2K,OAAQ,CAAE7I,GAAIuJ,EAAIvJ,OAAS,CAAC2J,EAAG,SAAS,CAACJ,EAAIO,GAAG,WAAW,GAAGP,EAAI6C,MAAM,GAAI7C,EAAW,QAAEI,EAAG,cAAc,CAACA,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,OAAO,GAAGN,EAAI6C,KAAM7C,EAAmB,gBAAEI,EAAG,SAAS,CAAEJ,EAAU,OAAEI,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,YAAagP,MAAO,CAAEmN,SAAU9Q,EAAIvJ,OAAS,CAAC2J,EAAG,qBAAqB,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,IAAM,GAAG,KAAO,GAAG,MAAQ,KAAK,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAG,UAAU,IAAI,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,IAAI,GAAGT,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAY,UAAE,SAASkS,EAAMrf,GAAG,OAAOuN,EAAG,cAAc,CAAC1K,IAAI7C,EAAEgY,MAAM,CAAE4P,UAAWvI,EAAM1J,iBAAkBlI,MAAM,CAAC,GAAK,CAAE3L,KAAM,aAAc2K,OAAQ,CAAE7I,GAAIyb,EAAMzb,OAAS,CAAC2J,EAAG,qBAAqB,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAG,kBAAkB,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG0R,EAAMvJ,MAAM3I,EAAIzD,aAAa,IAAI,OAAM,GAAGyD,EAAI6C,KAAM7C,EAAiB,cAAEI,EAAG,SAAS,CAACE,MAAM,CAAC,UAAY,KAAK,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,OAAS,KAAK,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAqBT,EAAe,YAAEI,EAAG,iBAAiB,CAACE,MAAM,CAAC,SAAWN,EAAIvJ,IAAI6O,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC3F,EAAG,cAAcJ,EAAI4F,GAAG,GAAGG,EAAUpF,IAAI,CAACP,EAAG,qBAAqB,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQ,GAAG,KAAO,KAAK,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAG,UAAU,IAAI,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQ,IAAI,OAAO,KAAK,MAAM,cAAcT,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAU,QAAE,SAAS6I,EAAMhW,GAAG,OAAOuN,EAAG,kBAAkB,CAAC1K,IAAI7C,EAAEyN,MAAM,CAAC,GAAKuI,EAAMpS,IAAI6O,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACliE,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,cAAcJ,EAAI4F,GAAG,CAACiF,MAAM,CAAE4P,UAAW5R,EAAML,kBAAmBxI,EAAI2oC,YAAchoC,OAAKjG,GAAW,CAAC0F,EAAG,qBAAqB,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAG,sBAAsB,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGqI,EAAM4f,SAAS,IAAIzoB,EAAIQ,GAAGqI,EAAMF,MAAM3I,EAAIzD,SAAS,QAAQ,IAAI,OAAO,KAAK,YAAW,GAAGyD,EAAI6C,MAAM,GAAG7C,EAAI6C,MAAM,IACtW,GAAkB,GCHlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAUN,EAAIS,GAAG,kBAAqB,KAAOT,EAAIvJ,GAAI,QAAUuJ,EAAI2J,QAAQ,YAAY,QAAQhJ,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,YAAY,KAAK,KAAKD,MAAe/F,EAAI6I,OAAS7I,EAAI4oC,aAAa71C,OAAS,EAAG,CAAC2C,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,YAAYA,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,MAAQ,iBAAmBN,EAAIvJ,GAAK,IAAI,gBAAgB,QAAQ,YAAY,QAAQ,WAAW,SAAS,IAAM,cAAc,GAAK,UAAUkK,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAI6oC,gBAAgBvjC,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,WAAW,MAAO,CAACpF,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,IAAI,CAACA,EAAG,OAAO,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI6I,MAAMF,MAAM3I,EAAIzD,SAAS,OAAOyD,EAAIO,GAAG,4FAA4FH,EAAG,IAAI,CAACJ,EAAIO,GAAG,uFAAuFkF,MAAM,OAAO,KAAK,MAAM,aAAa,CAACrF,EAAG,SAAS,CAACJ,EAAIO,GAAG,YAAYP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,MAAM,KAAKgF,MAAM,MAAM,MAAM,KAAK,MAAMzE,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,YAAY,CAACY,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAI6I,MAAM3H,GAAKG,WAAW,WAAYrB,EAAI4oC,aAAmB,OAAExoC,EAAG,QAAQ,CAACmB,YAAY,aAAa,CAACnB,EAAG,QAAQ,CAACmB,YAAY,iBAAiBjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,KAAK,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,MAAMT,EAAIQ,GAAGR,EAAI4oC,aAAa71C,QAAQ,SAASqN,EAAG,IAAI,CAACJ,EAAIO,GAAG,qFAAuFH,EAAG,iBAAiB,CAACmB,YAAY,QAAQ,CAACnB,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4BL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8BL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qCAAqCL,EAAG,QAAQJ,EAAI0F,GAAI1F,EAAgB,cAAE,SAAS8oC,GAAI,OAAO1oC,EAAG,KAAK,CAAC1K,IAAIozC,EAAGryC,IAAI,CAAC2J,EAAG,KAAK,CAACA,EAAG,wBAAwB,CAACE,MAAM,CAAC,SAAWwoC,EAAGC,UAAUzjC,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC3F,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,MAAQ,KAAKyF,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGsoC,EAAGC,UAAU,MAAM,OAAO,KAAK,SAAS,GAAG3oC,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIwhB,eAAesnB,EAAGE,gBAAgB5oC,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIwhB,eAAesnB,EAAGG,wBAAuB,MAAM,IAAI,GAAGjpC,EAAI6C,MAAM,IAC1mF,GAAkB,GCGhBqmC,GAAW,EAAAhrC,EAAMzI,OAAO,CAC5B0I,QAAS,GAAF,OAAK,EAAIE,SAASF,QAAlB,mBAETtB,EAAoBqsC,IACL,UCRX,GAAS,WAAa,IAAIlpC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAS,MAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAKN,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAM,CAAEg7B,MAAOtxC,EAAEsxC,OAAQvlC,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAGlM,EAAEgI,QAAU,IAAMyD,EAAIS,GAAG,eAAe,MAAQT,EAAI6I,MAAMF,MAAMpU,EAAEgI,QAAQ,MAAQ,CAAC,SAAUnB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,SAAW/Y,EAAEgI,OAAQqE,EAAQ,aAAa,MAAK,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQT,EAAI6I,MAAM4f,QAAQ,MAAQ,CAAC,SAAUrtB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,UAAW1M,EAAQ,eAAe,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQT,EAAI6I,MAAM8f,iBAAiBhoB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAI6I,MAAMG,SAAS,WAAW,GAAG,YAAY,IAAIrI,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQT,EAAI6I,MAAMwgB,iBAAiB,MAAQ,mBAAmB,kBAAkB,GAAG,MAAQ,CAAC,SAAUjuB,GAAK,QAASA,EAAErI,QAAUiN,EAAIS,GAAG,oBAAsB,MAAQ,GAAG,SAAW,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,mBAAoB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,MAAQT,EAAI6I,MAAMsgB,yBAAyB,MAAQ,2BAA2B,kBAAkB,GAAG,MAAQ,CAAC,SAAU/tB,GAAK,QAASA,EAAErI,QAAUiN,EAAIS,GAAG,oBAAsB,MAAQ,GAAG,SAAW,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,2BAA4B1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,MAAQT,EAAI6I,MAAMogB,0BAA0B,MAAQ,2BAA2B,kBAAkB,GAAG,MAAQ,CAAC,SAAU7tB,GAAK,QAASA,EAAErI,QAAUiN,EAAIS,GAAG,oBAAsB,MAAQ,GAAG,SAAW,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,4BAA6B1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,yBAAyB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,MAAQT,EAAI6I,MAAMsgC,uBAAuB,MAAQ,CAAC,SAAU/tC,GAAK,QAASA,EAAErI,QAAUiN,EAAIS,GAAG,oBAAsB,kBAAkB,GAAG,MAAQ,GAAG,SAAW,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,yBAA0B1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0CAA0C,cAAcT,EAAI6I,MAAMugC,kCAAkCzoC,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,mCAAoC1M,QAAa,GAAIZ,EAAuB,oBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gCAAgC,GAAGJ,EAAI6C,KAAM7C,EAAuB,oBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,MAAQT,EAAI6I,MAAMwgC,6BAA6B,MAAQ,8BAA8B,MAAQrpC,EAAIspC,0BAA0B,kBAAkB,GAAG,MAAQ,GAAG,SAAW,IAAI3oC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,+BAAgC1M,QAAa,GAAGZ,EAAI6C,KAAM7C,EAAiB,cAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAI6I,MAAM0gC,kBAAkB,MAAQ,CAACvpC,EAAIwpC,4BAA4B7oC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,oBAAqB1M,QAAa,GAAGZ,EAAI6C,KAAM7C,EAAiB,cAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAI6I,MAAM4gC,kBAAkB,MAAQ,CAACzpC,EAAI0pC,2BAA2B/oC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,oBAAqB1M,QAAa,GAAGZ,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,KAAK,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBT,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAM,CAAEg7B,MAAOtxC,EAAEsxC,OAAQvlC,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAGlM,EAAEgI,QAAU,IAAMyD,EAAIS,GAAG,cAAc,MAAQT,EAAI6I,MAAMH,KAAKnU,EAAEgI,QAAQ,KAAO,IAAI,OAAS,IAAIoE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,QAAU/Y,EAAEgI,OAAQqE,EAAQ,aAAa,OAAM,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,6BAA6B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,MAAQT,EAAI6I,MAAM+f,aAAajoB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,6BAA6B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,MAAQT,EAAI6I,MAAMggB,YAAYloB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAI2pC,WAAWzoC,GAAKG,WAAW,gBAAiBrB,EAAI6I,MAAoB,eAAEzI,EAAG,MAAM,CAACmB,YAAY,+BAA+B,CAACnB,EAAG,eAAe,CAACE,MAAM,CAAC,GAAKN,EAAI6I,MAAM+gC,wBAAwB5pC,EAAIO,GAAG,OAAOH,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAI6I,MAAMghC,eAAe,YAAY,OAAO,GAAG7pC,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAI8pC,WAAW5oC,GAAKG,WAAW,gBAAiBrB,EAAI6I,MAAoB,eAAEzI,EAAG,MAAM,CAACmB,YAAY,+BAA+B,CAACnB,EAAG,eAAe,CAACE,MAAM,CAAC,GAAKN,EAAI6I,MAAMkhC,wBAAwB/pC,EAAIO,GAAG,OAAOH,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAI6I,MAAMmhC,eAAe,YAAY,OAAO,GAAGhqC,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,SAAW,IAAMT,EAAIS,GAAG,mBAAmB,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAIiqC,cAAc/oC,GAAKG,WAAW,mBAAoBrB,EAAI6I,MAAuB,kBAAEzI,EAAG,MAAM,CAACmB,YAAY,+BAA+B,CAACnB,EAAG,eAAe,CAACE,MAAM,CAAC,GAAKN,EAAI6I,MAAMqhC,2BAA2BlqC,EAAIO,GAAG,OAAOH,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAI6I,MAAMshC,kBAAkB,YAAY,OAAO,GAAGnqC,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,SAAW,IAAMT,EAAIS,GAAG,mBAAmB,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIoqC,gBAAgBlpC,GAAKG,WAAW,qBAAsBrB,EAAI6I,MAAyB,oBAAEzI,EAAG,MAAM,CAACmB,YAAY,+BAA+B,CAACnB,EAAG,eAAe,CAACE,MAAM,CAAC,GAAKN,EAAI6I,MAAMwhC,6BAA6BrqC,EAAIO,GAAG,OAAOH,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAI6I,MAAMyhC,oBAAoB,YAAY,OAAO,GAAGtqC,EAAI6C,MAAM,IAAI,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,cAAcT,EAAI6I,MAAML,gBAAgB,KAAO,sEAAsE,kBAAkB,IAAI7H,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,QAAa,IAAI,IAAI,GAAGZ,EAAI6C,MACh5O,GAAkB,GCMJ0nC,GAOAC,GAQAC,IAflB,SAAkBF,GAChB,4BACA,gCACA,kCACA,6BAJF,CAAkBA,QAAkB,MAOpC,SAAkBC,GAChB,4BACA,gDACA,gCACA,kCACA,iDALF,CAAkBA,QAAmB,MAQrC,SAAkBC,GAChB,4BACA,kCACA,oCACA,2BAJF,CAAkBA,QAAe,KA+GjC,IAAM,GAAQ,CACZC,aAAc,MACd/jC,SAAU,GACVkC,MAAO,GAEP8hC,kBAAmB,MACnBC,cAAe,GACfC,WAAY,GAEZC,mBAAoB,MACpBC,qBAAsB,GACtBC,YAAa,GAEb7oB,cAAe,MACf+G,mBAAoB,GACpB+hB,yBAA0B,GAC1BC,sBAAuB,GACvBniB,mBAAoB,GACpBoiB,gBAAiB,GACjBC,yBAA0B,GAC1BhiB,WAAY,IAGR,GAAU,CAKd7gB,UALc,WAKJzQ,GACR,OAAOA,EAAM6O,SAASrQ,KAAI,SAACG,GAAD,OAAQqB,EAAM+Q,MAAMpS,OAMhDqyB,YACE,WAAChxB,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAM+Q,MAAMpS,KAOvB40C,mBACE,WAACvzC,GAAD,OACA,SAACkR,GACC,OAAOlR,EAAM6O,SACVrQ,KAAI,SAACG,GAAD,OAAQqB,EAAM+Q,MAAMpS,MACxBoI,QAAO,SAACgK,GAAD,OAAkBA,EAAMG,WAAaA,OAOnDsiC,eAlCc,WAkCCC,GACb,OAAO,IAAEj1C,IAAI,GAAMs0C,eAAe,SAACn0C,GAAD,OAAgB,GAAMo0C,WAAWp0C,OAOrE+0C,iBACE,WAAC1zC,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAM+yC,WAAWp0C,IAAO,OAOnCg1C,gBApDc,WAoDE3zC,GACd,OAAOA,EAAMizC,qBAAqBz0C,KAChC,SAACyyC,GAAD,OAAcjxC,EAAMkzC,YAAYjC,OAQpC2C,wBACE,WAAC5zC,GAAD,OACA,SAACixC,GACC,OAAOjxC,EAAMkzC,YAAYjC,KAO7B4C,wBACE,WAAC7zC,EAAOiB,GAAR,OACA,SAAC8uB,GACC,OAAO9uB,EAAQ0yC,gBAAgB5sC,QAAO,SAACiqC,GACrC,OAAOA,EAAGjhB,UAAYA,OAQ5B+jB,qBACE,WAAC9zC,GAAD,OACA,SAACrB,GACC,OAAO,IAAEgzB,KAAK3xB,EAAMqzC,iBAAiB,SAAC7lB,GAAD,OAAQA,EAAG7uB,KAAOA,OAO3Do1C,6BACE,WAAC/zC,GAAD,OACA,SAACrB,GACC,OAAO,IAAEgzB,KAAK3xB,EAAMszC,0BAA0B,SAAC32C,GAAD,OAAOA,EAAEgC,KAAOA,OAOlEq1C,2BACE,WAACh0C,GAAD,OACA,SAACrB,GACC,OAAO,IAAEgzB,KAAK3xB,EAAMozC,uBAAuB,SAACx2C,GAAD,OAAOA,EAAE+B,KAAOA,QAI3D,GAAY,OAAH,wBACVmD,GAAoB,CAMvBmyC,gBANuB,WAMPj0C,EAAOmU,GACrBnU,EAAM4yC,aAAez+B,GAOvB+/B,qBAduB,WAcFl0C,EAAOmU,GAC1BnU,EAAM6yC,kBAAoB1+B,GAO5BggC,sBAtBuB,WAsBDn0C,EAAOmU,GAC3BnU,EAAMgzC,mBAAqB7+B,GAO7B6X,iBA9BuB,WA8BNhsB,EAAOmU,GACtBnU,EAAMqqB,cAAgBlW,KAIpB,GAAU,CAOR+X,aAPQ,cASsB,IADhCvrB,EACgC,EADhCA,OAAQX,EACwB,EADxBA,MACV2C,EAAkC,uDAAxB,G,+KAEN3C,EAAMqqB,gBAAkB1nB,EAAQuY,O,yCAC3BhV,QAAQhH,QAAQ,O,gBAER,OAAM,GAAShC,IAAI,Y,OAA9BkI,E,YACFA,EAAS3K,MAAQ2K,EAAS3K,KAAKA,M,iBAC3B8G,EAAW6D,EAAS3K,KAAKA,KAM/BkG,EAAO,WAAYY,GACnBZ,EAAO,mBAAoB,M,yBACpBuF,QAAQhH,QAAQ,O,iCAIlBgH,QAAQ7C,U,6CAWX+wC,YAvCQ,aAuCuBl5B,GAAc,IAA/Bva,EAA+B,EAA/BA,OAAQX,EAAuB,EAAvBA,M,kLACrBkb,GAASlb,EAAM4yC,c,yCACX1sC,QAAQhH,W,gBAEA,OAAM,GAAShC,IAAT,W,OAAjBkI,E,OACAoL,EAASpL,EAAS3K,KAAKA,KACvB8G,EAAWL,EAAc,QAASsP,GACxC7P,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,WACRlF,MAAO,IAAEkB,IAAIgS,EAAQ,QAEvB7P,EAAO,kBAAmB,M,6CAStB0zC,WA5DQ,aA4De11C,GAAU,IAApBgC,EAAoB,EAApBA,O,mLACA,OAAM,GAASzD,IAAT,kBAAwByB,I,OAAzCyG,E,OACA7D,EAAWL,EAAc,QAASkE,EAAS3K,KAAKA,MACtDkG,EAAO,WAAYY,G,4CAQf+yC,kBAvEQ,aAuE6Bp5B,GAAc,IAA/Bva,EAA+B,EAA/BA,OAAQX,EAAuB,EAAvBA,M,kLAC3Bkb,GAASlb,EAAM4yC,c,yCACX1sC,QAAQhH,W,gBAEA,OAAM,GAAShC,IAAT,kB,OAAjBkI,E,OACA0rC,EAAe1rC,EAAS3K,KAAKA,KAC7B8G,EAAWL,EAAc,cAAe4vC,EAAc,YAC5DnwC,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,uBACRlF,MAAO,IAAEkB,IAAIsyC,EAAc,cAE7BnwC,EAAO,wBAAyB,M,6CAM5B4zC,iBAzFQ,aAyFqBtD,GAAgB,IAA1BtwC,EAA0B,EAA1BA,O,qLACN,OAAM,GAASzD,IAAT,yBAA+B+zC,I,OAAhD7rC,E,OACAovC,EAAM,IAAEt3C,IAAIkI,EAAU,YAAa,IACnC7D,EAAWL,EAAc,cAAeszC,EAAK,YACnD7zC,EAAO,WAAYY,G,4CAOfkzC,0BApGQ,aAoG8B1kB,GAAe,IAAzBpvB,EAAyB,EAAzBA,O,qLACf,OAAM,GAASzD,IAAT,kBAAwB6yB,EAAxB,mB,OAAjB3qB,E,OACN,GAAIA,EAAS3K,MAAQ2K,EAAS3K,KAAKA,KAAM,CACjCq2C,EAAe1rC,EAAS3K,KAAKA,KAC7B8G,EAAWL,EAAc,cAAe4vC,EAAc,YAC5DnwC,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,uBACRlF,MAAO,IAAEkB,IAAIsyC,EAAc,c,4CAS3B4D,iBArHQ,cAuHsB,IADhC/zC,EACgC,EADhCA,OAAQX,EACwB,EADxBA,MACV2C,EAAkC,uDAAxB,G,kLAELA,EAAQuY,OAASlb,EAAM6yC,mB,yCACnB3sC,QAAQhH,W,gBAGA,OAAM,GAAShC,IAAI,iB,OAA9BkI,E,OACAuvC,EAAc,IAAEz3C,IAAIkI,EAAU,YAAa,IAC3C7D,EAAWL,EAAc,aAAcyzC,GAE7Ch0C,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,gBACRlF,MAAO,IAAEkB,IAAIm2C,EAAa,QAE5Bh0C,EAAO,uBAAwB,M,6CAO3Bi0C,gBA7IQ,aA6IoBj2C,GAAU,IAApBgC,EAAoB,EAApBA,O,qLACL,OAAM,GAASzD,IAAT,wBAA8ByB,I,OAA/CyG,E,OACA2tC,EAAa3tC,EAAS3K,KAAKA,KAE3B8G,EAAWL,EAAc,aAAc6xC,GAC7CpyC,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,aACRK,MAAOkwC,EAAWp0C,GAClBrB,MAAOy1C,I,6CAKE,IACb/xC,WAAY,KACZhB,MAAA,GACAiB,QAAA,GACAd,UAAA,GACAM,QAAA,IC/cE,GAAS,WAAa,IAAIyH,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAI5K,MAAM,MAAQ4K,EAAImH,QAC/IlH,KAAKsH,SACFvH,EAAIS,GAAG,yBACPT,EAAIS,GAAG,4BAA4B,MAAQT,EAAI2sC,sBAAsB,MAAQ3sC,EAAIsH,MAAM,MAAQtH,EAAI6H,MAAM,SAAW7H,EAAIuH,SAAS,SAAWvH,EAAIyH,UAAU9G,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,KAAU0E,YAAYtF,EAAIuF,GAAG,CAAEtF,KAAiB,aAAE,CAACvK,IAAI,OAAO8P,GAAG,SAAS9E,GAC7R,IAAI0I,EAAO1I,EAAI0I,KACrB,MAAO,CAAChJ,EAAG,OAAO,CAACyK,MAAM,CACjB+hC,sBAAuB5sC,EAAI6sC,cAAczjC,EAAKhU,OAC9C03C,uBAAwB9sC,EAAI6sC,cAAczjC,EAAKhU,SAC9C,CAAC4K,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKV,MAAM,UAAU,MAAM,KAAK,SACxD,GAAkB,GC2BP,UAAIhH,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CAAC+D,MAAOoG,QACf+4B,MAAOn/B,MACPmO,MAAOnO,MACP0O,MAAOK,QACPX,SAAUW,QACVf,MAAOc,OACP8kC,aAAc5zC,MACd6zC,eAAgB9kC,QAChBT,SAAUS,SAEZpG,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAS,QAAS,CAAC,kBAAmB,8BAA4B,CACrE6qC,sBADqE,aAChD,WACflK,EACFxiC,KAAKq4B,MAAQr4B,KAAKq4B,MAAQr4B,KAAKkrC,gBAG7BlrC,KAAK+sC,iBACPvK,EAAQA,EAAM5jC,QAAO,SAACzD,GAAD,OAAgB,IAATA,EAAE3E,OAGhC,IAAMw2C,EAAe,IAAEtxC,QAAQ8mC,EAAO,cAEhCzZ,EAAU,GAXG,kBAYD/oB,KAAKmrC,0BAZJ,MAYnB,IAAK,EAAL,qBAAiD,KAAtC8B,EAAsC,QACzCC,EAAWF,EAAaC,EAAIz2C,IAElC,GAAI02C,GAAYA,EAASp6C,OAAS,EAAG,CAEnCi2B,EAAQ31B,KAAK,CAAE+5C,OAAQF,EAAIv4C,KAAKsL,KAAK1D,UACrCysB,EAAQ31B,KAAK,CAAEg6C,QAAS,OAGxBrkB,EAAQ31B,KAAR,MAAA21B,EAAO,eACFmkB,EAAS72C,KAAI,SAACgvB,GAAD,MAAyB,CACvC5c,KAAM4c,EAAG3wB,KAAK,EAAK4H,QACnBnH,MAAOkwB,EAAG7uB,WAxBC,8BA6BnB,OAAOuyB,KAGX/mB,QAAS,CACP4qC,cADO,WACOp2C,GACZ,OAAO,IAAEqE,SAASmF,KAAK8sC,cAAgB,GAAIt2C,OCrF+Y,M,aCQ5b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACyvB,WAAA,OCxB9B,IAAI,GAAS,WAAa,IAAIlmB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAM,GAAEI,EAAG,OAAO,CAAEJ,EAAW,QAAEI,EAAG,oBAAoB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,cAAgB,MAAMN,EAAI6C,KAAK7C,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIstC,cAAc,MAAM,GAAGttC,EAAI6C,MAChQ,GAAkB,GCaP,UAAInB,OAAO,CACxBsG,MAAO,CACLvR,GAAI,CACFwC,KAAMsG,SAGV6I,QANwB,aAOlBnI,KAAKxJ,IACPwJ,KAAKoI,aAGT9V,KAXwB,aAYtB,MAAO,CACLuQ,QAAS,QAGbhB,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAW,OAAQ,CAAC,gBAAc,CAErCmB,KAFqC,aAGnC,OAAOhD,KAAKstC,WAAWttC,KAAKxJ,KAG9B62C,aANqC,aAOnC,OAAIrtC,KAAKgD,KACA,GAAP,OAAUhD,KAAKgD,KAAKuqC,WAEZlhB,GAASrsB,KAAK1D,SAAW,gBAA1B,YAAiD0D,KAAKxJ,OAInEsL,MAAO,CACLtL,GADK,WACFod,GAKGA,IACG5T,KAAKstC,WAAW15B,IACnB5T,KAAKoI,eAKbpG,QAAS,CACDoG,UADC,a,kKAELpI,KAAK6C,QAAU,K,kBAEb,OAAM7C,KAAK2I,OAAOlQ,SAAS,iBAAkB,CAAEjC,GAAIwJ,KAAKxJ,K,gBAExDwJ,KAAK6C,QAAU,M,kFCjE6Y,MCOha,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACyB,mBAAA,OC6Pf,cAAI7C,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,OACPy6C,gBAAiBluC,QAGnBuC,SAAU,OAAF,kEACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,QAAS,YAAa,oBAC9C,eAAS,QAAS,CAAC,qBACnB,eAAS,OAAQ,CAAC,UAAQ,CAgB7B+G,MAhB6B,aAiB3B,IAAM4kC,GAAoBxtC,KAAKwtC,gBAAyC,EAAvBxtC,KAAKwtC,gBACtD,OAAOxtC,KAAK7K,MACR6K,KAAK7K,MACL,CACEqB,GAAI,EACJkS,MAAOikB,KACPlkB,KAAMkkB,KACN5jB,SAAUykC,EACVhlB,QAAS,EACTE,gBAAiB,GACjBU,iBAAkB,GAClBJ,0BAA2B,CAACuhB,GAAoBkD,mBAChDvE,uBAAwB,GACxBC,iCAAkC,MAClCC,6BAA8B,GAC9BlgB,yBAA0B,CAACohB,GAAmBoD,WAC9C/kB,YAAa,GACbC,WAAY,GACZghB,eAAgB,KAChBD,qBAAsB,EACtBI,eAAgB,KAChBD,qBAAsB,EACtBI,kBAAmB,KACnBD,wBAAyB,EACzBI,oBAAqB,KACrBD,0BAA2B,EAC3B7hC,gBAAiB,QAQzBolC,wBAnD6B,aAoD3B,IAAMnL,EAAQxiC,KAAKkrC,gBACb0C,EAAa5tC,KAAK4I,MAAMsgC,uBAC9B,OAAO1G,EAAM5jC,QAAO,SAACxJ,GAAD,OAAO,IAAEyF,SAAS+yC,EAAYx4C,EAAEoB,QAOtDq3C,cA7D6B,aA8D3B,IAAMC,EAAW9tC,KAAK2tC,wBACtB,OAAO,IAAE7P,KAAKgQ,EAAU,kBAQ1BC,oBAvE6B,aAwE3B,IAAMD,EAAW9tC,KAAK2tC,wBACtB,OAAO,IAAE7P,KAAKgQ,EAAU,mBAQ1BzE,0BAjF6B,aAiFJ,WACvB,MAAO,CACL,SAACluC,GACC,IAAK,EAAK4yC,oBACR,OAAO,KAET,OAAO5yC,EAAErI,OAAS,GAAK8K,EAAKxI,EAAE,qBAWpCy0C,WAAY,CACV90C,IADU,aAER,QAASiL,KAAK4I,MAAMkhC,sBAEtBxvC,IAJU,WAINnF,GACF6K,KAAKguC,qBAAqB,eAAgB74C,KAI9Cu0C,WAAY,CACV30C,IADU,aAER,QAASiL,KAAK4I,MAAM+gC,sBAEtBrvC,IAJU,WAINnF,GACF6K,KAAKguC,qBAAqB,eAAgB74C,KAI9C60C,cAAe,CACbj1C,IADa,aAEX,QAASiL,KAAK4I,MAAMqhC,yBAEtB3vC,IAJa,WAITnF,GACF6K,KAAKguC,qBAAqB,kBAAmB74C,KAIjDg1C,gBAAiB,CACfp1C,IADe,aAEb,QAASiL,KAAK4I,MAAMwhC,2BAEtB9vC,IAJe,WAIXnF,GACF6K,KAAKguC,qBAAqB,oBAAqB74C,OAKrD6M,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExB,GAAiB,WAAbgS,EAAuB,CACzB,IAAIuL,EAAQhlB,SAASvE,EAAO,IAGxBmK,OAAOqf,MAAMD,KACfA,EAAQ,GAEVjE,EAAgBiE,EAGlB,IAAM6K,EAAW,iBAAI,uBAAUvpB,KAAK4I,QAAQ,SAACzN,GAAD,OAC1C,iBAAIA,EAAG1F,EAAKglB,MAEdza,KAAK8H,MAAM,QAASyhB,IAQtBykB,qBArCO,WAqCcC,EAAgB/2B,GACnC,IAAMqS,EAAW,uBAAUvpB,KAAK4I,OAChC,GAAIsO,EAAQ,CACVqS,EAAS0kB,EAAS,YAAcjuC,KAAKgD,KAAKxM,GAC1C+yB,EAAS0kB,EAAS,MAAQ,OAASzuB,aAC9B,CACL+J,EAAS0kB,EAAS,YAAc,EAChC1kB,EAAS0kB,EAAS,MAAQ,KAE5BjuC,KAAK8H,MAAM,QAASyhB,IAGtBggB,0BAjDO,WAiDmBpuC,GAGxB,IAAM+yC,EAAUluC,KAAK4I,MAAM0gC,kBACrB6E,EAAUnuC,KAAK4I,MAAM4gC,kBAC3B,GAAI0E,GAAWC,GAAWD,EAAUC,EAClC,MAAO,KAAOvwC,EAAKxI,EAAE,qBAAqB0W,WAE5C,OAAO,MAGT29B,yBA5DO,WA4DkBtuC,GAGvB,IAAM+yC,EAAUluC,KAAK4I,MAAM0gC,kBACrB6E,EAAUnuC,KAAK4I,MAAM4gC,kBAC3B,GAAI0E,GAAWC,GAAWA,EAAUD,EAClC,MAAO,KAAOtwC,EAAKxI,EAAE,qBAAqB0W,WAE5C,OAAO,OAIXgI,WAAY,CACV2zB,kBACA2G,0BACAC,mBChf+a,MCO/a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC56B,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OC3B7D,IAAI,GAAS,WAAa,IAAI3T,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,wBAA0B,KAAOT,EAAI+oC,SAAS,QAAU/oC,EAAI2J,QAAQ,YAAY,QAAQhJ,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,YAAY,KAAK,KAAKD,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,kBAAkB,CAACY,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIgrC,YAAY9pC,GAAKG,WAAW,kBAAkB,IAChpB,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAIgrC,YAAYhC,WAAWhpC,EAAIzD,QAAQ,SAAW,OAAO,GAAG6D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6B,MAAQT,EAAIgrC,YAAY/B,cAAcjpC,EAAIzD,QAAQ,SAAW,OAAO,GAAG6D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kCAAkC,MAAQT,EAAIgrC,YAAYuD,mBAAmBvuC,EAAIzD,QAAQ,SAAW,OAAO,IAAI,IAAI,GAAG6D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAIgrC,YAAmB,QAAE/pC,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIgrC,YAAa,UAAW9pC,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,MAAQT,EAAIgrC,YAAYhjB,oBAAoB,MAAQ,2BAA2B,cAAchoB,EAAI6I,MAAM2lC,4BAA4B,kBAAkB,GAAG,MAAQ,CAAC,SAAUpzC,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,sBAAuB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,MAAQT,EAAIgrC,YAAY9iB,mBAAmB,MAAQ,2BAA2B,cAAcloB,EAAI6I,MAAMsgB,yBAAyB,kBAAkB,GAAG,MAAQ,CAAC,SAAU/tB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,qBAAsB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAIgrC,YAAYx0B,WAAW,MAAQ,mBAAmB,cAAcxW,EAAI6I,MAAMwgB,kBAAkB1oB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQ,2BAA2B,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIgrC,YAA+B,oBAAE/pC,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIgrC,YAAa,sBAAuB9pC,IAAMG,WAAW,sCAAsC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,MAAQT,EAAIgrC,YAAYhhB,oBAAoB,MAAQ,0BAA0B,SAAW,IAAIrpB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,sBAAuB1M,QAAa,IAAI,GAAIZ,EAAI6I,OAAS7I,EAAI6I,MAAMH,KAAMtI,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOL,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI6I,MAAM4f,SAAS,SAASroB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkBL,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI6I,MAAMH,KAAK1I,EAAIzD,SAAS,OAAkD6D,EAAG,MAAM,CAACmB,YAAY,sBAAsB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,OAEn5GL,EAAG,MAAM,CAACA,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAG,GAAGkoB,OAAQ1oB,EAAI6I,MAAM8f,iBAAkB1d,KAAK,OAAO,YAAqB,GAAGjL,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,gBAAgBT,EAAIgrC,YAAYpB,qBAAqB,eAAe,IAAIjpC,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIiuC,qBAAqB,eAAgBrtC,OAAaZ,EAAIgrC,YAA0B,eAAE5qC,EAAG,MAAM,CAACmB,YAAY,+BAA+B,CAACnB,EAAG,eAAe,CAACE,MAAM,CAAC,GAAKN,EAAIgrC,YAAYpB,wBAAwB5pC,EAAIO,GAAG,OAAOH,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIgrC,YAAYnB,eAAe,YAAY,OAAO,GAAG7pC,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,gBAAgBT,EAAIgrC,YAAYjB,qBAAqB,eAAe,IAAIppC,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIiuC,qBAAqB,eAAgBrtC,OAAaZ,EAAIgrC,YAA0B,eAAE5qC,EAAG,MAAM,CAACmB,YAAY,+BAA+B,CAACnB,EAAG,eAAe,CAACE,MAAM,CAAC,GAAKN,EAAIgrC,YAAYjB,wBAAwB/pC,EAAIO,GAAG,OAAOH,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIgrC,YAAYhB,eAAe,YAAY,OAAO,GAAGhqC,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,SAAW,IAAMT,EAAIS,GAAG,mBAAmB,gBAAgBT,EAAIgrC,YAAYd,wBAAwB,eAAe,IAAIvpC,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIiuC,qBAAqB,kBAAmBrtC,OAAaZ,EAAIgrC,YAA6B,kBAAE5qC,EAAG,MAAM,CAACmB,YAAY,+BAA+B,CAACnB,EAAG,eAAe,CAACE,MAAM,CAAC,GAAKN,EAAIgrC,YAAYd,2BAA2BlqC,EAAIO,GAAG,OAAOH,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIgrC,YAAYb,kBAAkB,YAAY,OAAO,GAAGnqC,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,SAAW,IAAMT,EAAIS,GAAG,mBAAmB,gBAAgBT,EAAIgrC,YAAYX,0BAA0B,eAAe,IAAI1pC,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIiuC,qBAAqB,oBAAqBrtC,OAAaZ,EAAIgrC,YAA+B,oBAAE5qC,EAAG,MAAM,CAACmB,YAAY,+BAA+B,CAACnB,EAAG,eAAe,CAACE,MAAM,CAAC,GAAKN,EAAIgrC,YAAYX,6BAA6BrqC,EAAIO,GAAG,OAAOH,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIgrC,YAAYV,oBAAoB,YAAY,OAAO,GAAGtqC,EAAI6C,MAAM,IAAI,IAC3rE,GAAkB,GC0MP,UAAInB,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGTT,KALwB,aAMtB,MAAO,CACLkzC,MAAO,QAIX3jC,SAAU,OAAF,8FACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,eACxB,eAAW,QAAS,CAAC,iBACrB,eAAS,QAAS,CAAC,qBAAsB,uBACzC,eAAS,QAAS,CACnB,qBACA,qBACA,gBAEC,eAAS,OAAQ,CAAC,UAAQ,CAgB7BkpC,YAhB6B,aAiB3B,OAAO/qC,KAAK7K,MACR6K,KAAK7K,MACL,CACE2zC,SAAU,EACVC,WAAY,GACZyF,YAAa,EACbxF,cAAe,GACfyF,iBAAkB,EAClBH,mBAAoB,GACpB1mB,QAAS,EACTG,oBAAqB,EACrBE,mBAAoB,EACpB1R,WAAY,EACZuT,qBAAsB,GACtBC,oBAAqB,GACrB6f,eAAgB,KAChBD,qBAAsB,EACtBI,eAAgB,KAChBD,qBAAsB,EACtBI,kBAAmB,KACnBD,wBAAyB,EACzBI,oBAAqB,KACrBD,0BAA2B,IAInCxiB,QA3C6B,aA4C3B,GAAI5nB,KAAK+qC,aAAe/qC,KAAK+qC,YAAYnjB,QACvC,OAAO5nB,KAAK+qC,YAAYnjB,QAE1B,OAAO,GAOThf,MAtD6B,aAuD3B,OAAO5I,KAAK6oB,YAAY7oB,KAAK+qC,YAAYnjB,YAI7C9lB,MAAO,CACL8lB,QAAS,CACP3jB,UAAW,KACXC,QAFO,WAEC0P,GACFA,GAEF5T,KAAK2I,OAAOlQ,SAAS,mBAAoBmb,MAMjD5R,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAClB6K,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAK+qC,cAAc,SAAC5vC,GAAD,OAAO,iBAAIA,EAAG1F,EAAKN,QAIxD64C,qBAlBO,WAkBcC,EAAgB94C,GACnC,IAAMu5C,EAAU,GAAH,OAAMT,EAAN,MACPU,EAAU,GAAH,OAAMV,EAAN,YACPW,EAA8B,uBAAU5uC,KAAK+qC,aACnD,GAAI51C,EAAO,CACTy5C,EAAeF,GAAW,OAASlvB,SACnCovB,EAAeD,GAAW3uC,KAAKgD,KAAKxM,OAC/B,CACLo4C,EAAeF,GAAW,KAC1BE,EAAeD,GAAW,EAE5B3uC,KAAK8H,MAAM,QAAS8mC,KAIxB96B,WAAY,CACV6D,iBACA02B,mBC5Uqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC56B,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OCG9C,cAAIjS,OAAO,CACxBsG,MAAO,CACL+gC,SAAU,CACR9vC,KAAMsG,OACNyZ,SAAU,OAGdzmB,KAPwB,aAQtB,MAAO,CACLoF,OAAQ,MACRgS,QAAS,MACTjQ,MAAO,KAEPsxC,YAAa,OAGjBlpC,SAAU,OAAF,UACH,eAAW,QAAS,CAAC,6BAE1BG,QAAS,CAKP4D,MALO,aAML5F,KAAKoI,aAODvC,KAbC,a,+KAcA7F,KAAK+qC,Y,iDAGV/qC,KAAKvG,MAAQ,K,SAILnH,EAAOS,OAAOyI,OAAO,GAAIwE,KAAK+qC,a,SACnB,OAAM,GAASp3B,KAAK,uBAAwB,CAAErhB,S,OAAzD2K,E,OACA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAGrC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,2DAQE2O,UArCC,a,0KAsCLpI,KAAK0J,QAAU,KACTd,EAAQ5I,KAAKyrC,wBAAwBzrC,KAAK8oC,UAC1C30B,EAASphB,OAAOyI,OAAO,GAAIoN,GACjC5I,KAAK+qC,YAAc52B,EACnBnU,KAAK0J,QAAU,M,kDAGnBoK,WAAY,CACV+6B,sBC/F2b,MCO3b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QCuFA,UAAIptC,OAAO,CACxBsG,MAAO,CACLvR,GAAI,CACFwC,KAAMsG,OACNyZ,SAAU,OAIdzmB,KARwB,aAStB,MAAO,CACLoF,OAAQ,MACRgS,QAAS,MACTjQ,MAAO,KAEPmP,MAAO,OAIX/G,SAAU,OAAF,kEACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,oBACxB,eAAW,QAAS,CAAC,iBACrB,eAAW,QAAS,CAAC,6BAA2B,CAMnD8mC,aANmD,aAOjD,OAAI3oC,KAAK4I,MACA5I,KAAK0rC,wBAAwB1rC,KAAK4I,MAAMpS,IAExC,MAKbwL,QAAS,CAKP4D,MALO,aAML5F,KAAKoI,aAODvC,KAbC,a,6KAcA7F,KAAK4I,M,mEAKI,OAAM,GAAS+K,KAAK,iBAAkB,CAAErhB,KAAM0N,KAAK4I,Q,OAAzDkmC,E,OACA11C,EAAW,IAAErE,IAAI+5C,EAAK,YAAa,IACzC9uC,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,2DASEmvC,YAjCC,a,oLAmCH,OAAM,GAASj1B,KAAK,iBAAkB,CAAErhB,KAAM,CAAEs1B,QAAS5nB,KAAKxJ,M,OAC9DwJ,KAAK2I,OAAOnQ,OAAO,yBAA0B,CAC3C6B,OAAQ,WACRlF,MAAO6K,KAAKxJ,KAEdwJ,KAAKtI,OAAS,M,mDAEdsI,KAAKvG,MAAL,K,0DAIE2O,UA9CC,a,wKA+CLpI,KAAK0J,QAAU,K,kBAIb,OAAM1J,KAAK2I,OAAOlQ,SAAS,mBAAoBuH,KAAKxJ,I,gBACpD,OAAMwJ,KAAK2I,OAAOlQ,SAAS,kCAAmCuH,KAAKxJ,I,OAG7Dse,EAAmB,IAAE8B,UAAU5W,KAAK6oB,YAAY7oB,KAAKxJ,KAC3DwJ,KAAK4I,MAAQkM,EACb9U,KAAK0J,QAAU,M,qDAEf1J,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACVi7B,aACAC,4BChNqb,M,aCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAC7sC,QAAA,KAAKK,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKusC,gBAAA,KAAalqC,WAAA,OC5BhE,IAAI,GAAS,WAAa,IAAIhF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,kBAAkB,YAAY,QAAQE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,YAAY,KAAK,KAAKD,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,YAAY,CAACE,MAAM,CAAC,gBAAkBN,EAAIgJ,UAAUhI,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAI6I,MAAM3H,GAAKG,WAAW,YAAY,IAC5mB,GAAkB,GC0BP,UAAIK,OAAO,CACxBsG,MAAO,CACLgB,SAAUzJ,QAGZhN,KALwB,aAMtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEPmP,MAAO,OAIX5G,QAAS,CAKP4D,MALO,aAML5F,KAAK4I,MAAQ,MAOT/C,KAbC,a,6KAcA7F,KAAK4I,M,mEAMI,OAAM,GAAS+K,KAAK,iBAAkB,CAChDrhB,KAAM0N,KAAK4I,Q,OADPkmC,E,OAKA11C,EAAW,IAAErE,IAAI+5C,EAAK,YAAa,IACzC9uC,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,uBAAwB,CACzC6B,OAAQ,WACRlF,MAAOpC,OAAO8D,KAAKuC,EAASwP,SAI9B5I,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACVi7B,gBClFob,MCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QCmFA,UAAIttC,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAGN6I,QALwB,aAMtBnI,KAAKoI,aAGP9V,KATwB,aAUtB,MAAO,CACLuQ,QAAS,KACTgG,OAAQ,OAIZhH,SAAU,OAAF,gFACH,eAAS,WAAY,CAAC,YACtB,eAAS,SAAU,CAAC,iBACpB,eAAW,SAAU,CAAC,yBACtB,eAAW,QAAS,CAAC,wBACrB,eAAW,OAAQ,CAAC,mBAAiB,CAExCupB,OAFwC,aAGtC,OAAOprB,KAAKsD,cAAc,yBAG5BolC,YANwC,aAOtC,OAAO1oC,KAAKsD,cAAc,2BAG5BggC,SAVwC,aAWtC,OAAO,IAAEzkC,OAAOmB,KAAKqnC,oBAAoBrnC,KAAKxJ,IAAK,WAGrD6R,OAdwC,aAetC,GAAmB,MAAfrI,KAAK6I,OACP,MAAO,GAET,OAAO,IAAEhK,OAAOmB,KAAKorC,mBAAmBprC,KAAKxJ,IAAK,YAGpD04C,gBArBwC,aAsBtC,OAA8B,IAAvBlvC,KAAKqI,OAAOvV,QAAgBkN,KAAKsjC,SAASxwC,OAAS,GAG5Dq8C,cAzBwC,aA0BtC,OAAgC,IAAzBnvC,KAAKsjC,SAASxwC,QAAgBkN,KAAKqI,OAAOvV,OAAS,GAG5D21C,YA7BwC,aA8BtC,IAAMpQ,EAAQ,GAGd,GAAoB,OAAhBr4B,KAAK6I,OACP,OAAOwvB,EAKLr4B,KAAK6I,OAAOH,OACd2vB,EAAMnnB,QAAQ,CACZzI,KAAMzI,KAAK6I,OAAOH,MAAM1I,KAAK1D,QAC7BkL,SAAU,OAMd,IAAIqJ,EAAW7Q,KAAK6I,OAAOgI,SAC3B,MAAoB,OAAbA,EAAmB,CACxB,IAAMkB,EAAS/R,KAAKmnC,YAAYt2B,GAChC,GAAIkB,EAAQ,CACVsmB,EAAMnnB,QAAQ,CACZzI,KAAMsJ,EAAOrJ,MAAM1I,KAAK1D,QACxB4C,GAAI,CACFxK,KAAM,aACN2K,OAAQ,CAAE7I,GAAIub,EAAOvb,OAGzBqa,EAAWkB,EAAOlB,UAGtBwnB,EAAMnnB,QAAQ,CACZzI,KAAMzI,KAAKiZ,MAAM7jB,EAAE,iBAAiB0W,WACpC5M,GAAI,CAAExK,KAAM,gBAEd,OAAO2jC,KAIXv2B,MAAO,CACLtL,GADK,WACFuL,GACD/B,KAAKoI,cAITpG,QAAS,OAAF,wBACF,eAAW,SAAU,CAAC,iBAAe,CAElCoG,UAFkC,a,sKAGlCpI,KAAKxJ,G,gBACPwJ,KAAK6C,QAAU,K,SACf,OAAM7C,KAAK0nC,YAAY1nC,KAAKxJ,I,OAC5BwJ,KAAK6C,QAAU,MACf7C,KAAK6I,OAAS7I,KAAKmnC,YAAYnnC,KAAKxJ,I,mDAK1Csd,WAAY,CACVs7B,mBACAC,qBCrN8Z,M,aCO9Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAoBhC,KAAkB,GAAW,CAACC,gBAAA,KAAantC,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUG,cAAA,KAAWgS,SAAA,KAAMoM,MAAA,QAAMF,aAAA,KAAU4mB,mBAAA,KAAgB3mB,iBAAAC,GAAA,KAAiBE,eAAAF,GAAA,KAAevc,mBAAA,KAAgBS,WAAA,KAAQic,cAAA,KAAWhc,YAAA,KAASC,cAAA,UCtC7L,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI01B,MAAM/gC,KAAKqL,EAAIzD,SAAS,OAAO6D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,uBAAuB,CAACE,MAAM,CAAC,WAAa,GAAG,QAAUN,EAAIvJ,IAAM,MAAM,IAAI,IAAI,IAC7V,GAAkB,GCDlB,GAAS,WAAa,IAAIuJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIqvB,SAAe,OAAEjvB,EAAG,SAAS,CAACE,MAAM,CAAC,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,OAAOL,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK,CAAE3L,KAAM,sBAAuB,MAAQ,KAAK,CAACyL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,eAAe,IAAI,GAAGP,EAAI0F,GAAI1F,EAAyB,uBAAE,SAASqvB,EAASmgB,GAAa,OAAOpvC,EAAG,cAAc,CAAC1K,IAAI85C,GAAa,CAACpvC,EAAG,QAAQ,CAACmB,YAAY,iBAAiBjB,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,qCAAqCjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQkvC,MAAgB,IAAI,GAAGpvC,EAAG,QAAQ,CAACmB,YAAY,eAAejB,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQ,GAAGT,EAAI0F,GAAG,GAAW,SAASopB,GAAS,OAAO1uB,EAAG,QAAQ,CAAC1K,IAAIo5B,EAAQr4B,GAAG6J,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGsuB,EAAQ2gB,MAAM,OAAOrvC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACr3C3L,KAAM,WACN2K,OAAQ,CAAE7I,GAAIq4B,EAAQ/P,WACpB,CAAC/e,EAAIO,GAAG,IAAIP,EAAIQ,GAAGsuB,EAAQuN,YAAY,QAAQ,GAAGj8B,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBuS,EAAQ3S,OAAQnc,EAAIujB,eAAe,OAAOnjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI02B,cAAc5H,EAAQ2H,cAAc,QAAQ,OAAM,OAAM,GAAGz2B,EAAI6C,MACzS,GAAkB,GCmEP,UAAInB,OAAO,CACxBsG,MAAO,CACLjE,QAASxE,QAGXhN,KALwB,aAMtB,MAAO,CACLoX,QAAS,QAIbvB,QAXwB,aAYtBnI,KAAKoI,aAGPvG,SAAU,OAAF,oDACH,eAAW,QAAS,CAAC,mBAAoB,mBACzC,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,kBAAgB,CAMtCutB,SANsC,aAOpC,IAAIA,EAAW,GACfA,EAAWpvB,KAAKivB,iBAAiBjvB,KAAK8D,SAEtCsrB,EAAW,IAAExwB,OAAOwwB,GAAU,SAACpW,GAAD,OAAQA,EAAEy2B,eACxC,OAAO,IAAE5wC,OAAOuwB,GAAU,SAACpW,GAAD,OAAOA,EAAEu2B,gBAOrCG,sBAlBsC,aAmBpC,OAAO,IAAEh0C,QAAQsE,KAAKovB,UAAU,SAACpW,GAAD,OAAOA,EAAEu2B,kBAI7CvtC,QAAS,CACPoG,UADO,aAELpI,KAAK2vC,yBAGPA,sBALO,aAML3vC,KAAK2I,OAAOlQ,SAAS,2BAA4B,CAC/CqL,QAAS9D,KAAK8D,YAIpBgQ,WAAY,KC3Hgb,MCO1b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAahC,KAAkB,GAAW,CAAC3R,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKqC,WAAA,KAAQC,YAAA,KAASC,cAAA,UCVrE,cAAIxD,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAGNoC,QALwB,aAMtBkuC,WAAW15C,OAAO25C,MAAO,MAG3BhuC,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAW,QAAS,CAAC,iBAAe,CAEvC4zB,MAFuC,aAGrC,OAAOz1B,KAAKg2B,YAAYh2B,KAAKxJ,OAIjCsd,WAAY,CACVg8B,2BCxCsa,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACttC,QAAA,KAAKC,cAAA,KAAWC,QAAA,OCzB9C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAU,OAAEI,EAAG,kBAAkBJ,EAAI6C,KAAKzC,EAAG,YAAYA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,WAAWU,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIgwC,QAAQ9uC,GAAKG,WAAW,eAAeoE,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBL,EAAG,YAAcJ,EAAIgwC,QAAwPhwC,EAAI6C,KAAnPzC,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,SAAS,cAAc,GAAG,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIqH,OAAuB,kBAARnG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,aAAsB,GAAGjB,EAAG,cAAc,CAAEJ,EAAW,QAAEI,EAAG,iBAAiB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,SAAW,KAAKN,EAAI6C,KAAO7C,EAAIgwC,QAQhuBhwC,EAAI6C,KARquBzC,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUN,EAAI2J,QAAQ,MAAQ3J,EAAIiwC,iBAAiB,OAASjwC,EAAIqH,OAAO,QAAUrH,EAAIzC,QAAQ,eAAe,CAAE,yBAA0B,CAAC,GAAI,GAAI,GAAI,MAAO,eAAeyC,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,SAAS9E,GACtsC,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAAEJ,EAAU,OAAEI,EAAG,kBAAkB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,IAAI6O,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAC1H,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,UAAU,KAAKK,GAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK3S,IAAI,MAAM,OAAO,KAAK,QAAQuJ,EAAI6C,MAAM,MAAM,CAACnN,IAAI,iBAAiB8P,GAAG,SAAS9E,GAC/N,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAACgL,EAAG,cAAc,CAACE,MAAM,CAAC,GAAKlL,IAAQ,CAACgL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,MAAQ,cAAc,CAACN,EAAIO,GAAG,kBAAkBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,MAAM,MAAM,CAAC/K,IAAI,kBAAkB8P,GAAG,SAAS9E,GACvO,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAACgL,EAAG,cAAc,CAACE,MAAM,CAAC,GAAKlL,IAAQ,CAACgL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,MAAQ,cAAc,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,MAAM,OAAO,KAAK,SAAkB,IAAI,IAAI,IAC/N,GAAkB,GCTlB,GAAS,WAAa,IAAIT,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,mBAAmBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,YAAY,CAACY,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAI01B,MAAMx0B,GAAKG,WAAW,YAAY,IACvb,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAKN,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAM,CAAEg7B,MAAOtxC,EAAEsxC,OAAQvlC,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAgB,KAAOT,EAAIS,GAAGlM,EAAEgI,QAAU,IAAI,MAAQyD,EAAI01B,MAAM/gC,KAAKJ,EAAEgI,QAAQ,MAAQ,CAAC,SAAUnB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,QAAU/Y,EAAEgI,OAAQqE,EAAQ,aAAa,MAAK,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAI01B,MAAM5kB,SAAS,UAAY,GAAG,aAAa,QAAQnQ,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,aAAa,MAAQT,EAAI01B,MAAMnQ,MAAM5kB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAM,KAAOiM,WAAW,SAASf,MAAM,CAAC,MAAQ,kBAAkB,MAAQN,EAAI01B,MAAM7+B,KAAK,MAAQ,CAAC,SAAUuE,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6B,MAAQT,EAAI01B,MAAM/Z,oBAAoB,kBAAkB,WAAWhb,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,sBAAuB1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAI01B,MAAMwC,SAAS,SAAW,GAAG,MAAQ,IAAIv3B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,GAAIZ,EAAS,MAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAI01B,MAAMoK,mBAAmB,SAAW9/B,EAAI01B,MAAMwC,SAAS,oBAAsBl4B,EAAI01B,MAAM/Z,qBAAqBhb,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,qBAAsB1M,QAAa,GAAGZ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,+BAA+B,MAAQT,EAAI01B,MAAMwa,uBAAuBvvC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,wBAAyB1M,EAAQ,eAAe,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAI01B,MAAMya,eAAexvC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,gBAAiB1M,EAAQ,eAAe,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,MAAQT,EAAI01B,MAAM0a,oBAAoB,SAAW,GAAG,MAAQ,IAAIzvC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,sBAAuB1M,QAAa,IAAI,IAAI,IAC95F,GAAkB,GC0HP,UAAIc,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CACL6D,KAAMjG,SAIV8O,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,eAAa,CAYxC4zB,MAZwC,aAatC,OAAOz1B,KAAK7K,MACR6K,KAAK7K,MACL,CACEqB,GAAI,EACJqa,SAAU,KACVyU,KAAM,EACN1uB,KAAM,GACNlC,KAAM,GACNgnB,oBAAqBpM,GACrB2oB,SAAU,CAAC,GAAclG,SACzB8N,mBAAoB,EACpBsQ,oBAAqB,GACrBC,KAAM,EACNC,eAAgB,EAChBJ,sBAAuB,GACvBC,cAAe,GACfI,qBAAsB,EACtBC,gBAAiB,MAK3BvuC,QAAS,CACPqL,OADO,WACA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAKy1B,QAAQ,SAACt6B,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,SAKpD3G,WAAY,CACVqqB,iBACA6B,iBACAtH,yBCtL+a,MCO/a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACl2B,QAAA,KAAKE,QAAA,KAAKC,cAAA,OCJzB,cAAIlB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLmjC,MAAO,KACP/9B,OAAQ,MACR+B,MAAO,OAGXuI,QAAS,CACP4D,MADO,aAEL5F,KAAKy1B,MAAQ,MAET5vB,KAJC,a,+KAKa,MAAd7F,KAAKy1B,O,iDAGTz1B,KAAKvG,MAAQ,K,kBAEM,OAAM,GAASka,KAAK,gBAAiB,CACpDrhB,KAAM,CACJoC,KAAMsL,KAAKy1B,MAAM/gC,KACjBujC,SAAUj4B,KAAKy1B,MAAMwC,SACrBvc,oBAAqB1b,KAAKy1B,MAAM/Z,oBAChC7K,SAAU7Q,KAAKy1B,MAAM5kB,SACrByU,KAAMtlB,KAAKy1B,MAAMnQ,KACjBua,mBAAoB7/B,KAAKy1B,MAAMoK,mBAC/BsQ,oBAAqBnwC,KAAKy1B,MAAM0a,oBAChCF,sBAAuBjwC,KAAKy1B,MAAMwa,sBAClCC,cAAelwC,KAAKy1B,MAAMya,iB,OAVxBjzC,E,OAcA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,wBAAyB,CAC1C6B,OAAQ,WACRlF,MAAOpC,OAAO8D,KAAKuC,EAASq8B,SAE9Bz1B,KAAK2I,OAAOnQ,OAAO,kCACnBwH,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV08B,gBCnEob,MCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIzwC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,mBAAmBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,YAAY,CAACY,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAI01B,MAAMx0B,GAAKG,WAAW,YAAY,IACxb,GAAkB,GCqBP,UAAIK,OAAO,CACxBsG,MAAO,CACLvR,GAAI,CACFwC,KAAMsG,OACNyZ,SAAU,OAGdzmB,KAPwB,aAQtB,MAAO,CACLoF,OAAQ,MACR+9B,MAAO,KACPh8B,MAAO,OAGXoI,SAAU,OAAF,UACH,eAAW,QAAS,CAAC,iBAE1BG,QAAS,CAKP4D,MALO,aAML,GAAI5F,KAAKxJ,GAAI,CACX,IAAM2d,EAASphB,OAAOyI,OAAO,GAAIwE,KAAKg2B,YAAYh2B,KAAKxJ,KACvDwJ,KAAKy1B,MAAQthB,OAEbnU,KAAKy1B,MAAQ,MAOX5vB,KAjBC,a,6KAkBA7F,KAAKy1B,M,iDAGVz1B,KAAKvG,MAAQ,K,kBAEM,OAAM,GAASka,KAAK,gBAAiB,CACpDrhB,KAAM,CACJkE,GAAIwJ,KAAKy1B,MAAMj/B,GACfqa,SAAU7Q,KAAKy1B,MAAM5kB,SACrByU,KAAMtlB,KAAKy1B,MAAMnQ,KACjB1uB,KAAMoJ,KAAKy1B,MAAM7+B,KACjBlC,KAAMsL,KAAKy1B,MAAM/gC,KACjBgnB,oBAAqB1b,KAAKy1B,MAAM/Z,oBAChCuc,SAAUj4B,KAAKy1B,MAAMwC,SACrB4H,mBAAoB7/B,KAAKy1B,MAAMoK,mBAC/BsQ,oBAAqBnwC,KAAKy1B,MAAM0a,oBAChCC,KAAMpwC,KAAKy1B,MAAM2a,KACjBH,sBAAuBjwC,KAAKy1B,MAAMwa,sBAClCC,cAAelwC,KAAKy1B,MAAMya,cAC1BG,eAAgBrwC,KAAKy1B,MAAM4a,kB,OAdzBpzC,E,OAiBA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,kCACnBwH,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV08B,gBCzFqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIzwC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAEJ,EAAI0wC,WAAiB,OAAEtwC,EAAG,qBAAqB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,SAAW,KAAKN,EAAI0F,GAAI1F,EAAc,YAAE,SAAS01B,GAAO,OAAOt1B,EAAG,oBAAoB,CAAC1K,IAAIggC,EAAMj/B,IAAI,CAAC2J,EAAG,2BAA2B,CAACE,MAAM,CAAC,MAAQ,mBAAmB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAAEN,EAAU,OAAEI,EAAG,kBAAkB,CAACE,MAAM,CAAC,GAAKo1B,EAAMj/B,MAAMuJ,EAAI6C,KAAKzC,EAAG,OAAO,CAACmB,YAAY,uBAAuB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGk1B,EAAM7+B,SAASmJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGk1B,EAAM/gC,KAAKqL,EAAIzD,SAAS,MAAM,GAAG6D,EAAG,QAAQ,CAACmB,YAAY,6BAA6BjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,MAAMP,EAAIQ,GAAGR,EAAI22B,gBAAgBjB,EAAMj/B,KAAK,uBAAuB,IAAI,GAAG2J,EAAG,4BAA4B,CAACA,EAAG,iBAAiB,CAACE,MAAM,CAAC,SAAWo1B,EAAMj/B,OAAO,IAAI,MAAK,GAAGuJ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,iBAAiB,CAAEN,EAAc,WAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,YAAYA,EAAG,eAAe,CAACE,MAAM,CAAC,cAAc,SAAS,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIqH,OAAuB,kBAARnG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,aAAa,GAAGrB,EAAI6C,KAAM7C,EAAI+tC,SAAe,OAAE3tC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,iBAAiB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQ,eAAeK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI2wC,YAAc3wC,EAAI8Q,UAAU,KAAO9Q,EAAI4wC,MAAMtrC,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACniD,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,MAAQ,GAAG,MAAQ,WAAWK,GAAI,CAACX,EAAIO,GAAG,SAASP,EAAIQ,GAAGR,EAAI+tC,SAASh7C,QAAQ,kBAAkB,KAAK,MAAM,YAAYiO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAI6wC,WAAW3vC,GAAKG,WAAW,eAAe,CAACjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQ,CAC7T,SAAUlF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,mBACpC,SAAUrF,GAAK,OAAQ4E,EAAI8wC,YAAYh2C,SAASkF,EAAI2wC,cAClD3wC,EAAIS,GAAG,yBAA4B,aAAa,QAAQO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAI2wC,YAAYzvC,GAAKG,WAAW,kBAAkB,IAAI,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQ,gBAAgB,MAAQ,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI+wC,cAAgB/wC,EAAI8Q,UAAU,KAAO9Q,EAAIgxC,SAAS1rC,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAC9Z,IAAIC,EAAKD,EAAIC,GAC/B,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAUK,GAAI,CAACX,EAAIO,GAAG,mBAAmBP,EAAIQ,GAAGR,EAAI+tC,SAASh7C,QAAQ,kBAAkB,KAAK,MAAM,YAAYiO,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAIixC,cAAc/vC,GAAKG,WAAW,kBAAkB,CAACjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,eAAeP,EAAI0F,GAAI1F,EAAY,UAAE,SAAS01B,GAAO,OAAOt1B,EAAG,MAAM,CAAC1K,IAAIggC,EAAMj/B,IAAI,CAACuJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGk1B,EAAM/gC,KAAKqL,EAAIzD,SAAS,WAAU,GAAG6D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQ,+CAA+C,MAAQ,CAC3jB,SAAUlF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,mBACpC,SAAUrF,GAAK,OAAQ4E,EAAI8wC,YAAYh2C,SAASkF,EAAI+wC,gBAClD/wC,EAAIS,GAAG,yBAA4B,aAAa,QAAQO,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAI+wC,cAAc7vC,GAAKG,WAAW,oBAAoB,IAAI,IAAI,IAAI,IAAI,IAAI,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAIkxC,kBAAwB,OAAE9wC,EAAG,eAAe,CAACE,MAAM,CAAC,aAAaN,EAAIqrB,OAAsB,MAAQrrB,EAAIkxC,kBAAkB,QAAUlxC,EAAIzC,QAAQ,OAASyC,EAAIqH,OAAO,KAAOrH,EAAIyK,KAAK,uBAAuBzK,EAAImxC,UAAU,kBAAkB,GAAG,sBAAsBnxC,EAAImxC,UAAU,eAAe,CAC3hBC,iBAAkBpxC,EAAIS,GAAG,4BACxBE,GAAG,CAAC,cAAc,SAASC,GAAQZ,EAAIyK,KAAK7J,IAAS0E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,SAAS9E,GACvG,IAAI0I,EAAO1I,EAAI0I,KACvB,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,kBAAkB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,OAAO,OAAO,KAAK,MAAMuK,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAI+tC,SAAS7sC,GAAKG,WAAW,cAAcrB,EAAI6C,MAAM,IAAI,IAAI,IAC/L,GAAkB,GC4HP,UAAInB,OAAO,CACxB/M,KAAM,iBACNqT,MAAO,CACL8I,SAAUvR,QAEZhN,KALwB,aAMtB,MAAO,CACL8U,OAAQ,GACRoD,KAAM,EACNkmC,YAAa1wC,KAAK6Q,SAClB+/B,WAAY,MACZI,cAAe,MACfF,cAAe,EACfhD,SAAU,KAGdjsC,SAAU,OAAF,kEACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,QAAS,CAAC,cAAe,kBAAmB,eACvD,eAAW,YAAa,CAAC,uBACzB,eAAS,WAAY,CAAC,YAAU,CACnCupB,OADmC,aAEjC,OAAOprB,KAAKsD,cAAc,iBAE5B6yB,OAJmC,aAKjC,OAAOn2B,KAAK22B,YAAY32B,KAAK6Q,WAG/BggC,YARmC,aASjC,OAAO,IAAEx6C,IAAI2J,KAAK8tC,SAAU,OAU9BkC,iBAnBmC,aAmBnB,WACd,OAAO,IAAErxC,MAAMqB,KAAKm2B,QACjB9/B,KAAI,SAACo/B,GAAD,OACH1iC,OAAOyI,OAAO,GAAIi6B,EAAO,CACvB2b,eAAgB3b,EAAM/gC,KAAK,EAAK4H,QAChC+0C,kBAAmB,EAAK7/B,kBACtBikB,EAAM/Z,qBAER4J,KAAMmQ,EAAMnQ,MAAQ,YAGvBiY,QAAQ,CAAC,OAAQ,mBACjBpoC,SAGLs7C,WAlCmC,aAmCjC,OAAO,IAAE7xC,OACPoB,KAAKgwC,kBACL,SAACx7C,GAAD,OAAcA,EAAEuiC,YAAcviC,EAAEuiC,WAAa,MAIjDka,kBAzCmC,aA0CjC,OAAO,IAAEryC,OACPoB,KAAKgwC,kBACL,SAACx7C,GAAD,OAAeA,EAAEuiC,YAAcviC,EAAEuiC,WAAa,MAIlDz5B,QAhDmC,aAiDjC,IAAM0b,EAAI,CACR,CACEvQ,KAAM,OACNtT,MAAO,OACPiqB,MAAO,SAET,CACE3W,KAAMzI,KAAKiZ,MAAM7jB,EAAE,eACnBD,MAAO,kBAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,qBACnBD,MAAO,qBAET,CACEsT,KAAM,eACNtT,MAAO,kBACPiqB,MAAO,SAET,CACE3W,KAAM,mBACNtT,MAAO,iBACPiqB,MAAO,UAGPpf,KAAKorB,QACPpS,EAAE9H,QAAQ,CACRzI,KAAMzI,KAAKiZ,MAAM7jB,EAAE,gBACnBD,MAAO,KACP2hB,MAAO,KACP+D,SAAU,QAGd,OAAO7B,GAGTs4B,WArFmC,aAsFjC,OAAOtxC,KAAKixC,kBAAkBn+C,OAAS,IAGzCo+C,UAzFmC,aA0FjC,OAAOlxC,KAAKixC,kBAAkBn+C,OAAS,MAG3CgP,MAAO,CACLsF,OADK,WACE8P,GAELlX,KAAKwK,KAAO,GAEdqG,SALK,WAKI+C,GACP5T,KAAK0wC,YAAc98B,GAErBo9B,cARK,aASHhxC,KAAK8wC,cAAgB,IAGzB9uC,QAAS,CACD2uC,KADC,a,mLAEY,OAAM,GAASh9B,KAAK,eAAgB,CACnDrhB,KAAM,CACJi/C,YAAavxC,KAAK6Q,SAClB6/B,YAAa1wC,KAAK0wC,YAClBc,SAAUxxC,KAAK6wC,e,OAJb5zC,E,OAOA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,kCACnBwH,KAAK8tC,SAAW,GAChB9tC,KAAK4wC,WAAa,M,iDAEdG,QAfC,a,mLAgBY,OAAM,GAASp9B,KAAK,kBAAmB,CACtDrhB,KAAM,CACJm/C,YAAazxC,KAAK6wC,YAClBa,WAAY1xC,KAAK8wC,iB,OAHf7zC,E,OAMA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,kCACnBwH,KAAK8tC,SAAW,GAChB9tC,KAAKgxC,cAAgB,M,kDAGzBl9B,WAAY,CACVqqB,iBACAwT,mBACAC,qBCxSob,M,oDCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAchC,KAAkB,GAAW,CAACzvC,QAAA,KAAKK,QAAA,KAAKsV,cAAA,KAAW+5B,mBAAA,KAAgBC,0BAAA,KAAuBC,yBAAA,KAAsBC,oBAAA,KAAiBtvC,QAAA,KAAKqC,WAAA,KAAQpC,cAAA,OCwC/H,cAAIlB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoX,QAAS,KACTtC,OAAQ,GACR2oC,QAAS,OAIb5nC,QATwB,aAUtBnI,KAAKoI,aAEPvG,SAAU,OAAF,8FACH,eAAW,OAAQ,CAAC,mBACpB,eAAS,WAAY,CAAC,YACtB,eAAS,QAAS,CAAC,aAAc,iBACjC,eAAW,YAAa,CAAC,qBACzB,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,eAAa,CACrCupB,OADqC,aAEnC,OAAOprB,KAAKsD,cAAc,iBAE5BhG,QAJqC,aAKnC,IAAM0b,EAAI,CACR,CACEvQ,KAAMzI,KAAKiZ,MAAM7jB,EAAE,cACnBD,MAAO,OACP2hB,MAAO,OAET,CACErO,KAAMzI,KAAKiZ,MAAM7jB,EAAE,wBACnBD,MAAO,SACP2hB,MAAO,OAET,CACErO,KAAMzI,KAAKiZ,MAAM7jB,EAAE,sBACnBD,MAAO,YACP2hB,MAAO,OAET,CACErO,KAAMzI,KAAKiZ,MAAM7jB,EAAE,0BACnBD,MAAO,aACP2hB,MAAO,QAGP9W,KAAKorB,QACPpS,EAAE9H,QAAQ,CACRzI,KAAMzI,KAAKiZ,MAAM7jB,EAAE,gBACnBD,MAAO,KACP2hB,MAAO,KACP+D,SAAU,QAGd,OAAO7B,GAETg3B,iBArCqC,aAqCrB,WACR7Z,EAASn2B,KAAK+1B,UACpB,OAAOI,EAAO9/B,KAAI,SAACo/B,GACjB,IAAMjhC,EAAIzB,OAAOyI,OAAO,GAAIi6B,GAC5BjhC,EAAEE,KAAOF,EAAEE,KAAK,EAAK4H,QACrB9H,EAAEgkC,OAAS,IAAEniC,IAAI7B,EAAEyjC,UAAU,SAACzhC,GAC5B,OAAO,EAAK8lB,sBAAsB9lB,EAAI,EAAKksB,gBAC1C1X,KAAK,MACRxW,EAAEy9C,UAAY,CAAEv9C,KAAM,iBAAkBgP,MAAO,CAAEI,QAAStP,EAAEgC,KAC5DhC,EAAE4iC,WAAa,CAAE1iC,KAAM,aAAc2K,OAAQ,CAAE7I,GAAIhC,EAAEgC,KACrD,IAAMsa,EAAM,EAAKC,gBAAgBvc,EAAEknB,qBAC/B5K,IACFtc,EAAEqJ,SAAWiT,EAAIpc,KAAK,EAAK4H,SAE7B,OAAO9H,QAKbwN,QAAS,CACDoG,UADC,a,6KAELpI,KAAK0J,QAAU,KACf3L,QAAQ2B,IAAI,CACVM,KAAK2I,OAAOlQ,SAAS,qBACrBuH,KAAK2I,OAAOlQ,SAAS,gCACpBwiC,MAAK,WACN,EAAKvxB,QAAU,S,iDAGnBwoC,KAVO,WAUFpuC,GACF9D,KAAK2B,MAAMwwC,WAAmBD,KAAKpuC,KAGxCgQ,WAAY,CACV89B,kBACAD,mBACAS,qBCnK6Z,MCO7Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAehC,KAAkB,GAAW,CAACjwC,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUG,cAAA,KAAWqV,cAAA,KAAWrD,SAAA,KAAM1P,WAAA,KAAQugC,WAAA,KAAQ3iC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UCjCnH,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,qBAAqB,CAACE,MAAM,CAAC,QAAUN,EAAIvJ,IAAI6O,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACjV,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,IAAM,GAAG,SAAW,GAAG,OAAS,GAAG,MAAQ,WAAWK,GAAI,CAACP,EAAG,SAAS,CAACJ,EAAIO,GAAG,cAAc,YAAYkF,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI01B,MAAM/gC,KAAKqL,EAAIzD,SAAS,MAAMyD,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,QAAQ,GAAGL,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUN,EAAI2J,QAAQ,QAAU3J,EAAIzC,QAAQ,MAAQyC,EAAIq3B,WAAW,iBAAiB,GAAG,sBAAsB,GAAG,eAAer3B,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACxgB,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACyK,MAAM,CAAE4P,UAAWrR,EAAKqR,YAAa,CAACra,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKzU,SAASyL,EAAG,KAAK,CAACA,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,OAAO,aAAa,IAAI,IAAI,IACxK,GAAkB,GCLlB,GAAS,WAAa,IAAIuJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,6BAA6BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,iBAAiB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,SAAW,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAIrL,KAAKuM,GAAKG,WAAW,WAAW,IAAI,IAAI,IAC1pB,GAAkB,GC0BP,UAAIK,OAAO,CACxBsG,MAAO,CAAC,WACRzV,KAFwB,aAGtB,MAAO,CACLoF,OAAQ,MACRhD,KAAM,GACN+E,MAAO,OAGXqI,MAAO,CACLpK,OADK,WACE26C,GACDA,GACFryC,KAAK4F,UAIX5D,QAAS,CACP4D,MADO,aAEL5F,KAAKtL,KAAO,IAERmR,KAJC,a,0KAKL7F,KAAKvG,MAAQ,K,kBAEM,OAAM,GAASka,KAAK,2BAA4B,CAC/DrhB,KAAM,CACJoC,KAAMsL,KAAKtL,KACXoP,QAAS9D,KAAK8D,W,OAHZ7G,E,OAMA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,uBAAwB,CACzC6B,OAAQ,uBACRK,MAAOsF,KAAK8D,QACZ3O,MAAOpC,OAAO8D,KAAKuC,EAASw8B,aAE9B51B,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,8DCjEob,MCOxb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC+I,QAAA,KAAKE,QAAA,KAAKC,cAAA,OCzBxC,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,6BAA6BE,GAAG,CAAC,KAAOX,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,SAAW,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAIrL,KAAKuM,GAAKG,WAAW,WAAW,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAIya,UAAUvZ,GAAKG,WAAW,gBAAgB,IAAI,IAAI,IAC7xB,GAAkB,GC8BP,UAAIK,OAAO,CACxBsG,MAAO,CACLvR,GAAI,CACFwC,KAAMsG,OACNyZ,SAAU,OAGdzmB,KAPwB,aAQtB,MAAO,CACLoF,OAAQ,MACR8+B,YAAa,EACb1yB,QAAS,EACTpP,KAAM,GACN8lB,UAAW,MACX/gB,MAAO,OAGXoI,SAAU,OAAF,UACH,eAAW,QAAS,CAAC,qBAE1BC,MAAO,CAMLpK,OANK,WAMEynB,GACL,GAAIA,GAAcnf,KAAKxJ,GAAI,CACzB,IAAM2d,EAASphB,OAAOyI,OAAO,GAAIwE,KAAKu2B,gBAAgBv2B,KAAKxJ,KACrDo/B,EAAYzhB,EAClBnU,KAAKw2B,YAAcx2B,KAAKxJ,GACxBwJ,KAAKtL,KAAOkhC,EAAUlhC,KACtBsL,KAAKwa,UAAYob,EAAUpb,aAIjCxY,QAAS,CACD6D,KADC,a,0KAEL7F,KAAKvG,MAAQ,K,kBAEM,OAAM,GAASka,KAAK,2BAA4B,CAC/DrhB,KAAM,CACJkE,GAAIwJ,KAAKw2B,YACT9hC,KAAMsL,KAAKtL,KACXoP,QAAS9D,KAAK8D,QACd0W,UAAWxa,KAAKwa,a,OALdvd,E,OASA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,8DCpFqb,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAC+I,QAAA,KAAKE,QAAA,KAAK4iC,WAAA,KAAQ3iC,cAAA,OCwBjC,cAAIlB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAENhN,KAJwB,aAKtB,MAAO,CACLoX,QAAS,QAGbvB,QATwB,aAUtBnI,KAAKoI,aAEPtG,MAAO,CACLtL,GADK,WACFwV,GACGhM,KAAKxJ,IACPwJ,KAAKoI,cAIXvG,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAW,QAAS,CAAC,qBAAsB,iBAAe,CAC7DvE,QAD6D,aAE3D,MAAO,CACL,CACEmL,KAAMzI,KAAKiZ,MAAM7jB,EAAE,cACnBD,MAAO,OACP2hB,MAAO,OAET,CACErO,KAAMzI,KAAKiZ,MAAM7jB,EAAE,iBACnBD,MAAO,KACP2hB,MAAO,SAIb2e,MAf6D,aAgB3D,OAAOz1B,KAAKg2B,YAAYh2B,KAAKxJ,KAE/B4gC,WAlB6D,aAmB3D,OAAO,IAAEv4B,OACPmB,KAAKq2B,mBAAmBr2B,KAAKxJ,KAAO,IACpC,SAACstC,GAAD,OAAmBA,EAAGpvC,WAI5BsN,QAAS,CACPoG,UADO,aACE,WACPpI,KAAK0J,QAAU,KACf1J,KAAK2I,OACFlQ,SAAS,gCAAiC,CACzCqL,QAAS9D,KAAKxJ,GACduc,MAAO,OAERkoB,MAAK,WACJ,EAAKvxB,QAAU,WAIvBoK,WAAY,CACVw+B,sBACAC,0BC/Gia,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAACpwC,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUG,cAAA,KAAWqV,cAAA,KAAWrD,SAAA,KAAMzP,YAAA,KAASC,cAAA,UC9BxF,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACnB,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,GAAG,KAAO,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,uBAAuBA,EAAG,YAAYA,EAAG,kBAAkBA,EAAG,cAAcqF,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,YAAYA,EAAG,eAAe,CAACE,MAAM,CAAC,cAAc,SAAS,YAAcN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIqH,OAAOnG,GAAKG,WAAW,aAAa,GAAGjB,EAAG,cAAc,CAACA,EAAG,eAAe,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIsrC,eAAe,QAAUtrC,EAAIzC,QAAQ,iBAAiB,GAAG,OAASyC,EAAIqH,OAAO,UAAW,QAAUrH,EAAIzD,OAAQ,eAAeyD,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,SAAS9E,GACh7B,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,uBAAuB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,SAAS,CAACf,IAAI,gBAAgB8P,GAAG,SAAS9E,GAC9F,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKzC,SAAS5T,QAAQ,QAAQ,CAAC2C,IAAI,eAAe8P,GAAG,SAAS9E,GACxF,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,qBAAqB,CAACE,MAAM,CAAC,KAAO,GAAG,UAAU,GAAG,OAASN,EAAIS,GAAG,kBAAoB,KAAOT,EAAIS,GAAG,uBAAyB,KAAKE,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAIyyC,iBAAiBrpC,EAAK3S,OAAO,CAAC2J,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,mBAAmB,OAAO,KAAK,SAAS,IAAI,IAAI,IAC9S,GAAkB,GCPlB,GAAS,WAAa,IAAIP,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,QAAQ,MAAQ,GAAG,KAAO,GAAG,GAAK,CAAE3L,KAAM,eAAgB,CAACqL,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,QAAQ,MAAQ,GAAG,KAAO,GAAG,GAAK,CAAE3L,KAAM,oBAAqB,CAACqL,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,QAAQ,MAAQ,GAAG,KAAO,GAAG,GAAK,CAAE3L,KAAM,qBAAsB,CAACqL,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,QAAQ,IAClhB,GAAkB,GCAlB,GAAS,GAKT,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC2B,QAAA,OCtB9B,IAAI,GAAS,WAAa,IAAIpC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,wBAAwBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,iBAAiB,CAACY,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAI6qC,WAAW3pC,GAAKG,WAAW,iBAAiB,IAChd,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAM,CAAEg7B,MAAOtxC,EAAEsxC,OAAQvlC,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAUN,EAAIS,GAAG,mBAAsB,KAAQT,EAAIS,GAAGlM,EAAEgI,QAAW,IAAK,MAAQyD,EAAI6qC,WAAWl2C,KAAKJ,EAAEgI,QAAQ,MAAQ,CAAC,SAAUnB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,QAAU/Y,EAAEgI,OAAQqE,EAAQ,aAAa,MAAKR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAI6qC,WAAWlkC,UAAUhG,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,IAAI,IAC5uB,GAAkB,GCDlB,GAAS,WAAa,IAAIZ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,OAAS,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,sBAAsB,CAACF,EAAG,kBAAkB,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAImH,OAASnH,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,WAAW,CAACE,MAAM,CAAC,YAAY,MAAM,WAAa,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACha,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,IAAM,GAAG,SAAW,GAAG,OAAS,GAAG,UAAU,GAAG,MAAQ,WAAWK,GAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,gBAAgB,QAAQS,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,gBAAgB,CAACM,IAAI,gBAAgBJ,MAAM,CAAC,YAAcN,EAAI5K,MAAM,WAAa,GAAG,gBAAgB,IAAIkQ,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,WAAW,MAAO,CAACpF,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,MAAQ,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIrI,OAAS,SAAS,CAACqI,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,UAAUK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI0yC,aAClqB1yC,EAAIrI,OAAS,SAAU,CAACqI,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,eAAe,SAASgF,MAAM,QAAQzE,MAAM,CAAC5L,MAAO4K,EAA2B,wBAAEiB,SAAS,SAAUC,GAAMlB,EAAI2yC,wBAAwBzxC,GAAKG,WAAW,8BAA8B,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAUN,EAAIzC,QAAQ,MAAQyC,EAAIsI,OAAO,iBAAiB,GAAG,UAAW,SAAWtI,EAAIzD,QAAS+I,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAK,qBAAuBsK,EAAIzD,OAAQiJ,GAAG,SAAS9E,GAC5c,IAAItL,EAAQsL,EAAItL,MAC9B,MAAO,CAACgL,EAAG,OAAO,CAACmB,YAAY,kBAAkB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGpL,SAAa,CAACM,IAAI,eAAe8P,GAAG,SAAS9E,GAC/F,IAAI0I,EAAO1I,EAAI0I,KAC7B,MAAO,CAAChJ,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,IAAIK,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAI4yC,kBAAkBxpC,EAAK3S,MAAM6O,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,WAAW,MAAO,CAACxF,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,MAAML,EAAG,aAAa,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,MAAMuJ,EAAIO,GAAG,QAAQkF,MAAM,OAAO,KAAK,OAAO,CAACrF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,mBAAmB,OAAO,KAAK,SAAS,IAAI,IAC/Y,GAAkB,GCRlB,GAAS,WAAa,IAAIP,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAU,OAAEI,EAAG,kBAAkBJ,EAAI6C,KAAKzC,EAAG,YAAYJ,EAAIgG,GAAG,aAAa5F,EAAG,YAAYA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIoK,eAAelJ,GAAKG,WAAW,sBAAsBoE,MAAM,OAAO,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBL,EAAG,YAAcJ,EAAIoK,eAAuWpK,EAAI6C,KAA3VzC,EAAG,eAAe,CAACM,IAAI,QAAQJ,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,GAAG,cAAc,SAAS,UAAY,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI0Z,YAAc,IAAI1Y,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAU,EAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,IAAqB,kBAARnJ,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,iBAA0B,GAAGjB,EAAG,cAAc,CAACJ,EAAIgG,GAAG,UAAS,WAAW,MAAO,CAAGhG,EAAI6yC,aAIjxB7yC,EAAI6C,KAJ2xBzC,EAAG,QAAQ,CAACmB,YAAY,QAAQvB,EAAI0F,GAAG,CACvjC,WACA,WACA,cACA,kBAAmB,SAASwoC,GAAQ,OAAO9tC,EAAG,QAAQ,CAAC1K,IAAIw4C,EAAO5tC,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAI8yC,kBAAkB5E,GAAQ,OAAS,KAAK,MAAQ,oBAAoB,CAACluC,EAAIO,GAAG,IAAIP,EAAIQ,GAAG0tC,GAAQ,QAAQ,MAAK,OAAgBluC,EAAkB,eAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAc,MAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,QAASnJ,IAAMG,WAAW,qBAAqB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,aAAa,OAAOU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,gBAAgB,MAAQ,CAC/2B,CAAEoI,KAAM,MAAOtT,MAAO,IACtB,CAAEsT,KAAM,eAAgBtT,MAAO,eAC/B,CAAEsT,KAAM,iBAAkBtT,MAAO,iBACjC,CAAEsT,KAAM,qBAAsBtT,MAAO,oBACrC,CACEsT,KAAM,uBACNtT,MAAO,sBAET,CAAEsT,KAAM,YAAatT,MAAO,eAAiB4L,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAqB,aAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,eAAgBnJ,IAAMG,WAAW,4BAA4B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,MAAQ,8BAA8B,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA+B,uBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,yBAA0BnJ,IAAMG,WAAW,sCAAsC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQ,mBAAmB,aAAa,MAAM,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,KAAO,SAAS,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAgB,QAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,UAAWnJ,IAAMG,WAAW,uBAAuB,IAAI,IAAI,GAAGrB,EAAI6C,KAAKzC,EAAG,eAAe,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIsI,OAAO,QAAUtI,EAAIzC,QAAQ,cAAcyC,EAAI8K,WAAW,iBAAiB,GAAG,OAAS9K,EAAIqK,SAAS0L,EAAE,aAAa/V,EAAI4qB,WAAW,KAAO5qB,EAAI0Z,YAAY,eAAe,CACn3C,yBAA0B,CAAC,GAAI,GAAI,GAAI,GAAI,OAC1C/Y,GAAG,CAAC,cAAc,SAASC,GAAQZ,EAAI0Z,YAAY9Y,IAAS0E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAChH,IAAI0I,EAAO1I,EAAI0I,KACrB,MAAO,CAAChJ,EAAG,kBAAkB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,SAAS,CAACf,IAAK,qBAAuBsK,EAAIzD,OAAQiJ,GAAG,SAAS9E,GACvG,IAAItL,EAAQsL,EAAItL,MACtB,MAAO,CAACgL,EAAG,OAAO,CAACmB,YAAY,kBAAkB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGpL,SAAa,CAACM,IAAI,mBAAmB8P,GAAG,SAAS9E,GAC3G,IAAI0I,EAAO1I,EAAI0I,KACrB,MAAO,CAAChJ,EAAG,sBAAsB,CAACE,MAAM,CAAC,KAAO,KAAK,MAAQ8I,EAAK2pC,YAAY,MAAQ/yC,EAAIgzC,YAAY5pC,EAAK2pC,oBAAoB,KAAK,MAAM/xC,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIizC,eAAe/xC,GAAKG,WAAW,qBAAqB,GAAIrB,EAAIsL,OAAc,QAAElL,EAAG,aAAaJ,EAAI6C,KAAM7C,EAAIsL,OAAc,QAAElL,EAAG,iBAAiB,CAACJ,EAAIgG,GAAG,YAAY,GAAGhG,EAAI6C,MAAM,IACpX,GAAkB,GCqJP,UAAInB,OAAO,CACxBsG,MAAO,CACL8C,WAAY5C,QAEZ9S,MAAO,CACL6D,KAAME,MACN2lB,QAAS,mBAAM,KAGjB6M,YAAa,CACX1yB,KAAME,MACN2lB,QAAS,mBAAM,KAGjB+zB,aAAc,CACZ55C,KAAMiP,QACN4W,QAAS,QAIbvsB,KApBwB,aAqBtB,MAAO,CACLoX,QAAS,MACTS,eAAgB,MAEhBC,SAAU,CACR0L,EAAG,GACHpN,MAAO,GACPK,SAAU,EACVyf,QAAS,EACTjS,WAAY,EACZ08B,uBAAwB,EACxBC,aAAc,IAGhBz5B,YAAa,EAEbu5B,eAAgB,KAIpBnxC,SAAU,OAAF,kEACH,eAAS,WAAY,CAAC,YACtB,eAAW,SAAU,CAAC,kBACtB,eAAW,QAAS,CAAC,eACrB,eAAW,OAAQ,CAAC,mBAAiB,CAExCupB,OAFwC,aAGtC,OAAQprB,KAAK6K,YAAc7K,KAAKsD,cAAc,2BAGhD6vC,QANwC,aAOtC,OAAQnzC,KAAK6K,YAAc7K,KAAKsD,cAAc,2BAQhD+E,OAfwC,aAelC,WACJ,OACE,IAAE1J,MAAMqB,KAAKsI,WAEVpN,QAAO,SAAC1G,GAAD,OAAO,IAAEqG,SAAS,EAAK6wB,YAAal3B,EAAEgC,OAE7CoI,QAAO,SAACpK,GACP,OAAO,IAAE4+C,MAAM,CACb,EAAKC,cAAc7+C,GACnB,EAAK8+C,eAAe9+C,GACpB,EAAK++C,kBAAkB/+C,GACvB,EAAKg/C,gBAAgBh/C,GACrB,EAAKi/C,4BAA4Bj/C,GACjC,EAAKk/C,oBAAoBl/C,QAG5B6B,KAAI,SAAC7B,GACJ,OAAOzB,OAAOyI,OAAO,GAAIhH,EAAG,CAC1Bs+C,YAAa,EAAKA,YAAYt+C,GAC9BqU,OAAQ,EAAKC,aAAatU,EAAEuU,eAG/B5T,SASPmI,QA9CwC,aA+CtC,IAAMA,EAAiB,CACrB,CAAEnI,MAAO,KAAMsT,KAAM7K,EAAKxI,EAAE,MAAO0hB,MAAO,OAAQsI,MAAO,SACzD,CACE3W,KAAM7K,EAAKxI,EAAE,eACbD,MAAO,SAAF,OAAW6K,KAAK1D,SAEvB,CACEmM,KAAM7K,EAAKxI,EAAE,iBACbD,MAAO,UACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,mBACbD,MAAO,gBAAF,OAAkB6K,KAAK1D,UAI3B0D,KAAK4yC,cACRt1C,EAAQlK,KAAK,CACXqV,KAAM7K,EAAKxI,EAAE,mBACbD,MAAO,cACP2hB,MAAO,SAIP9W,KAAKmzC,SACP71C,EAAQ4T,QAAQ,CAAE/b,MAAO,OAAQ2hB,MAAO,OAAQ+D,SAAU,QAG5D,OAAOvd,KAIXwE,MAAO,CACLqI,eADK,WACUkN,GACTA,EACFrX,KAAKsX,sBAELtX,KAAKuX,yBAITy7B,eATK,WASU3qC,GACbrI,KAAK8H,MAAM,QAAS,IAAEzR,IAAIgS,EAAQ,SAItCrG,QAAS,OAAF,wBACF,eAAW,SAAU,CAAC,kBAAgB,CAEzC4D,MAFyC,aAEpC,WACH5F,KAAKsX,sBACLtX,KAAKuX,wBACLvX,KAAKyX,WAAU,WACb,IAAM/T,EAAQ,EAAK/B,MAAM+B,MACrBA,GACFA,EAAM9B,YAKZ0V,oBAbyC,aAcvCtX,KAAKoK,SAAS0L,EAAI,IAGpByB,sBAjByC,aAkBvCvX,KAAKoK,SAAS1B,MAAQ,GACtB1I,KAAKoK,SAASrB,SAAW,EACzB/I,KAAKoK,SAASoe,QAAU,EACxBxoB,KAAKoK,SAASmM,WAAa,EAC3BvW,KAAKoK,SAAS6oC,uBAAyB,EACvCjzC,KAAKoK,SAAS8oC,aAAe,IAS/BK,kBAhCyC,WAgCvB3qC,GAChB,IAAK5I,KAAKoK,SAAS1B,MACjB,OAAO,KAET,IAAMtB,EAASpH,KAAKoK,SAAS1B,MAAMirC,cAC7BjrC,EAAQE,EAAMF,MAAM1I,KAAK1D,QAAQq3C,cACvC,GAAIjrC,EAAM7N,SAASuM,GACjB,OAAO,KAET,OAAO,OAQTisC,cAjDyC,WAiD3BzqC,GACZ,IAAK5I,KAAKoK,SAASrB,SACjB,OAAO,KAET,OAAOH,EAAMG,WAAa/I,KAAKoK,SAASrB,UAQ1C0qC,4BA7DyC,WA6Db7qC,GAC1B,IAAMgrC,EAAW5zC,KAAKoK,SAAS6oC,uBAC/B,IAAKW,EACH,OAAO,KAET,OAAO,IAAE/4C,SAAS+N,EAAMwgC,6BAA8BwK,IAQxDJ,gBA1EyC,WA0EzB5qC,GACd,IAAMgrC,EAAW5zC,KAAKoK,SAASmM,WAC/B,IAAKq9B,EACH,OAAO,KAET,OAAO,IAAE/4C,SAAS+N,EAAMwgB,iBAAkBwqB,IAQ5CN,eAvFyC,WAuF1B1qC,GACb,IAAK5I,KAAKoK,SAASoe,QACjB,OAAO,KAET,IAAMA,EAAU5f,EAAM4f,QACtB,GAAIA,IAAYxoB,KAAKoK,SAASoe,QAC5B,OAAO,KAET,OAAO,OAGTkrB,oBAlGyC,WAkGrB9qC,GAClB,IAAK5I,KAAKoK,SAAS8oC,aACjB,OAAO,KAET,OAAQlzC,KAAKoK,SAAS8oC,cACpB,IAAK,cACH,OAAQtqC,EAAM+gC,qBAChB,IAAK,gBACH,QAAS/gC,EAAM+gC,uBAAyB/gC,EAAMkhC,qBAChD,IAAK,mBACH,QACIlhC,EAAM+gC,wBACN/gC,EAAMkhC,uBACPlhC,EAAMqhC,wBAEX,IAAK,qBACH,QACIrhC,EAAM+gC,wBACN/gC,EAAMkhC,wBACNlhC,EAAMqhC,0BACPrhC,EAAMwhC,0BAEX,IAAK,YACH,QACIxhC,EAAM+gC,wBACN/gC,EAAMkhC,wBACNlhC,EAAMqhC,2BACNrhC,EAAMwhC,0BAGd,OAAO,OAOT0I,YAvIyC,WAuI7Bt+C,GAGV,IAFA,IAAImpC,EAAQ,EACNkW,EAAS,CAAC,WAAY,WAAY,cAAe,iBACvD,MAAqBA,EAArB,eAA6B,CAAxB,IAAM5F,EAAM,KACTx4C,EAAM,OAAH,OAAUw4C,EAAV,YACLz5C,EAAEiB,GAAO,IACXkoC,GAAgB,GAGpB,GAAc,IAAVA,EACF,OAAO,GAET,OAAQA,EAAQ,EAAO,KAMzBoV,YAzJyC,WAyJ7Be,GACV,GAAIA,GAAS,GACX,MAAO,iBAET,GAAIA,GAAS,GACX,MAAO,kBAET,GAAIA,GAAS,GACX,MAAO,kBAET,MAAO,OAQTjB,kBA3KyC,WA2KvB5E,GAChB,IAAMx4C,EAAM,OAAH,OAAUw4C,EAAV,YACH8F,EAAQ/zC,KAAKsI,UAAUxV,OACvBkhD,EAAW,IAAEp1C,OAAOoB,KAAKsI,WAAW,SAAC9T,GAAD,QAASA,EAAEiB,MAAM3C,OAC3D,OAAQkhD,EAAWD,EAAS,KAG9BppB,WAlLyC,WAkL9B/hB,GACT,IAAM0iB,EAAU,GACZtrB,KAAK6K,YACPygB,EAAQl4B,KAAK,cAEXwV,EAAML,iBACR+iB,EAAQl4B,KAAK,aAEf,OAAOk4B,KAIXxX,WAAY,CACV2zB,kBACA2H,mBACAC,qBCxfia,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAmBhC,KAAkB,GAAW,CAACjtC,SAAA,KAAMC,aAAA,QAAaC,UAAA,QAAUmR,aAAA,KAAUjR,QAAA,KAAKsV,cAAA,KAAWhT,YAAA,KAASs5B,qBAAA,KAAkB95B,mBAAA,KAAgB5B,QAAA,KAAKujB,WAAA,KAAQlhB,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UCrCzK,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI2I,WACzH,GAAkB,GCWP,UAAIjH,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAGNuC,SAAU,OAAF,sCACH,eAAW,QAAS,CAAC,iBACrB,eAAW,WAAY,CAAC,oBAAkB,CAE7C+G,MAF6C,aAG3C,OAAO5I,KAAK6oB,YAAY7oB,KAAKxJ,KAG/BkS,MAN6C,aAO3C,IAAK1I,KAAK4I,MAAO,CACf,IAAIqrC,EAAMj0C,KAAKuhB,eAAe8K,IAC9B4nB,EAAMA,EAAM,IAAMr2C,EAAKxI,EAAE,sBAAnB,aAAiD4K,KAAKxJ,GAAtD,MACN,OAAOy9C,EAET,OAAOj0C,KAAKuhB,eAAevhB,KAAK4I,MAAMF,YC/BsX,MCO9Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QC4DA,UAAIjH,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAO,CACL6D,KAAME,MACN2lB,QAAS,mBAAM,MAInBvsB,KATwB,aAUtB,MAAO,CACLoF,OAAQ,MAERg7C,wBAAyB,KAI7B7wC,SAAU,OAAF,oDACH,eAAS,WAAY,CAAC,YACtB,eAAW,QAAS,CAAC,iBACrB,eAAW,SAAU,CAAC,kBAAgB,CAEzCwG,OAFyC,aAEnC,WACJ,OAAO,IAAEhS,IAAI2J,KAAK7K,OAAO,SAACqB,GACxB,IAAMoS,EAAQ,EAAKigB,YAAYryB,GAC/B,OAAOzD,OAAOyI,OAAO,GAAIoN,EAAO,CAC9BC,OAAQ,EAAKC,aAAaF,EAAMG,gBAKtCzL,QAXyC,aAYvC,IAAMA,EAAiB,CACrB,CACEmL,KAAM7K,EAAKxI,EAAE,eACbD,MAAO,SAAW6K,KAAK1D,OACvB43C,MAAO,OAET,CACEzrC,KAAM7K,EAAKxI,EAAE,mBACbD,MAAO,gBAAF,OAAkB6K,KAAK1D,SAE9B,CACEmM,KAAM7K,EAAKxI,EAAE,iBACbD,MAAO,UACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,kBACbD,MAAO,UACPiqB,MAAO,SACPtI,MAAO,OACP+D,SAAU,QAId,OAAOvd,KAIXwE,MAAO,CACLpK,OADK,WACEy8C,GAAgB,WACrB,GAAIA,EAAS,CACXn0C,KAAK0yC,wBAA0B,GAC/B1yC,KAAKyX,WAAU,WACb,IAAM28B,EAAW,EAAKzyC,MAAM0yC,cAC5BD,EAASxuC,cAMjB5D,QAAS,CACPywC,WADO,aAELzyC,KAAK8H,MACH,QACA,IAAE/M,KAAF,yBAAWiF,KAAK7K,OAAhB,eAA0B6K,KAAK0yC,6BAInCC,kBARO,WAQW/qB,GAChB,IAAMtP,EAAS,IAAE3Z,MAAMqB,KAAKqI,QACzBnN,OAAO,CAAE1E,GAAIoxB,IACbvxB,IAAI,MACJlB,QACH6K,KAAK8H,MAAM,QAASwQ,KAIxBxE,WAAY,CACVwgC,iBACAC,iBCzKgb,MCOhb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAahC,KAAkB,GAAW,CAACpyC,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUwV,cAAA,KAAWe,WAAA,KAAQpE,SAAA,KAAM1P,WAAA,KAAQC,YAAA,KAASC,cAAA,UCK9E,cAAIxD,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGT8O,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,eAAa,CAgBxC+oC,WAhBwC,aAiBtC,OAAO5qC,KAAK7K,MACR6K,KAAK7K,MACL,CACEqB,GAAI,EACJ9B,KAAM,GACNgS,SAAU,OAKpB1E,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAChC,SAAbA,IACFhe,EAAQA,EAAMgM,QAEhBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAK4qC,aAAa,SAACzvC,GAAD,OAAO,iBAAIA,EAAG1F,EAAKN,SAKzD2e,WAAY,CACV0gC,iBC5Fob,MCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAChyC,QAAA,KAAKE,QAAA,KAAKC,cAAA,OCHzB,cAAIlB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEPmxC,WAAY,OAIhB5oC,QAAS,CAKP4D,MALO,aAML5F,KAAK4qC,WAAa,MAOd/kC,KAbC,a,+KAcA7F,KAAK4qC,W,iDAIV5qC,KAAKvG,MAAQ,K,kBAEM,OAAM,GAASka,KAAK,uBAAwB,CAC3DrhB,KAAM,CACJoC,KAAMsL,KAAK4qC,WAAWl2C,KACtBgS,SAAU1G,KAAK4qC,WAAWlkC,Y,OAHxBzJ,E,OAOA7D,EAAW,IAAErE,IAAIkI,EAAU,YAAa,IACxC2W,EAAQ7gB,OAAO8D,KAAKuC,EAASwxC,YAAY,GAC/C5qC,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,wBAAyB,CAC1C6B,OAAQ,gBACRlF,MAAOye,IAGT5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACV2gC,qBC3Eyb,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI10C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,uBAAuB,QAAUT,EAAI2J,SAAShJ,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,iBAAiB,CAACY,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAI6qC,WAAW3pC,GAAKG,WAAW,iBAAiB,IACve,GAAkB,GCuBP,UAAIK,OAAO,CACxBsG,MAAO,CACLvR,GAAI,CACFwC,KAAMsG,OACNyZ,SAAU,OAIdzmB,KARwB,aAStB,MAAO,CACLoF,OAAQ,MACRgS,QAAS,MACTjQ,MAAO,KAEPmxC,WAAY,OAIhB/oC,SAAU,OAAF,UACH,eAAW,QAAS,CAAC,sBAG1BG,QAAS,CAKD4D,MALC,a,wKAML5F,KAAK0J,QAAU,K,SACf,OAAM1J,KAAK2I,OAAOlQ,SAAS,wBAAyBuH,KAAKxJ,I,OACnD2d,EAASphB,OAAOyI,OAAO,GAAIwE,KAAKurC,iBAAiBvrC,KAAKxJ,KAC5DwJ,KAAK4qC,WAAaz2B,EAClBnU,KAAK0J,QAAU,M,iDAOX7D,KAjBC,a,6KAkBA7F,KAAK4qC,W,iDAGV5qC,KAAKvG,MAAQ,K,kBAGM,OAAM,GAASka,KAAK,sBAAuB,CAC1DrhB,KAAM,CACJkE,GAAIwJ,KAAK4qC,WAAWp0C,GACpB9B,KAAMsL,KAAK4qC,WAAWl2C,KACtBgS,SAAU1G,KAAK4qC,WAAWlkC,Y,OAJxBzJ,E,OAQA7D,EAAW,IAAErE,IAAIkI,EAAU,YAAa,IAC9C+C,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAErC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACV2gC,qBCzF0b,MCO1b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QCsDA,UAAIhzC,OAAO,CACxB0G,QADwB,aAEtBnI,KAAKoI,aAGP9V,KALwB,aAMtB,MAAO,CACL8U,OAAQ,GACRsC,QAAS,OAIb7H,SAAU,OAAF,oDACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,QAAS,CAAC,oBACrB,eAAS,WAAY,CAAC,YAAU,CAOnCvE,QAPmC,aAQjC,MAAO,CACL,CACEmL,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,KACPiqB,MAAO,SACPtI,MAAO,OACP+D,SAAU,OAEZ,CACEpS,KAAM7K,EAAKxI,EAAE,mBACbD,MAAO,QAAF,OAAU6K,KAAK1D,QACpB8iB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,6BACbD,MAAO,WACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,iBACbD,MAAO,UACPiqB,MAAO,SACPtI,MAAO,OACP+D,SAAU,WAMlB7Y,QAAS,CACDwwC,iBADC,WACgBkC,G,2KACrB,OAAM,GAAS/gC,KAAK,sBAAuB,CACzCrhB,KAAM,CACJkE,GAAIk+C,K,OAGR10C,KAAK2I,OAAOnQ,OAAO,yBAA0B,CAC3C6B,OAAQ,gBACRlF,MAAOu/C,I,iDAILtsC,UAbC,a,kKAcLpI,KAAK0J,QAAU,KACf1J,KAAK2I,OAAOlQ,SAAS,yBAA0B,CAAEsa,MAAO,QACxD/S,KAAK0J,QAAU,M,kDAInBoK,WAAY,CACV6gC,kBACAC,uBACAC,2BCnJka,MCOla,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAahC,KAAkB,GAAW,CAACzyC,SAAA,KAAME,UAAA,QAAUG,cAAA,KAAWqV,cAAA,KAAWrD,SAAA,KAAM1P,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UC/BtG,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACnB,EAAG,gBAAgB,CAACkF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,oBAAoBqF,MAAM,WAAW,IAC3P,GAAkB,GCgBP,UAAI/D,OAAO,CACxBqS,WAAY,CACV6gC,kBACAL,oBCpB6Z,MCO7Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC7xC,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI1C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAIuD,cAAc,2BAA4BnD,EAAG,uBAAuBJ,EAAI6C,KAAKzC,EAAG,YAAYA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,WAAWU,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIgwC,QAAQ9uC,GAAKG,WAAW,eAAeoE,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,YAAcJ,EAAIgwC,QAAwPhwC,EAAI6C,KAAnPzC,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,SAAS,cAAc,GAAG,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIqH,OAAuB,kBAARnG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,aAAsB,GAAGjB,EAAG,cAAc,CAAEJ,EAAW,QAAEI,EAAG,sBAAsB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,SAAW,KAAKN,EAAI6C,KAAO7C,EAAIgwC,QAIpvBhwC,EAAI6C,KAJyvBzC,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAI+0C,sBAAsB,OAAS/0C,EAAIqH,OAAO,QAAUrH,EAAIzC,QAAQ,eAAe,CAAE,yBAA0B,CAAC,GAAI,GAAI,GAAI,OAAQ+H,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,SAAS9E,GAChsC,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAAEJ,EAAIuD,cAAc,2BAA4BnD,EAAG,uBAAuB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,IAAI6O,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACjK,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,UAAU,KAAKK,GAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK3S,IAAI,MAAM,OAAO,KAAK,QAAQ2J,EAAG,MAAM,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK3S,IAAI,QAAQ,OAAO,KAAK,SAAkB,IAAI,IAAI,IAC5P,GAAkB,GCLlB,GAAS,WAAa,IAAIuJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,wBAAwBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,iBAAiB,CAACY,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAI69B,WAAW38B,GAAKG,WAAW,iBAAiB,IAChd,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAU,QAAQ,CAAGN,EAAIg1C,iBAAoah1C,EAAI6C,KAAtZzC,EAAG,QAAQ,CAACoE,YAAY,CAAC,OAAS,WAAWlE,MAAM,CAAC,KAAO,KAAK,GAAK,KAAKK,GAAG,CAAC,SAAW,SAASC,GAAQZ,EAAIi1C,uBAAyB,QAAQ,CAAEj1C,EAAI69B,WAAmB,SAAEz9B,EAAG,MAAM,CAACA,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOL,EAAG,MAAM,CAACmB,YAAY,mBAAmB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIk1C,mBAAmBl1C,EAAI69B,WAAW/sB,WAAW,SAAS9Q,EAAI6C,OAAiB7C,EAAoB,iBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAI69B,WAAW/sB,SAAS,UAAY,GAAG,aAAa,QAAQnQ,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,GAAGZ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,aAAa,MAAQT,EAAI69B,WAAWtY,MAAM5kB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAKN,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAM,CAAEg7B,MAAOtxC,EAAEsxC,OAAQvlC,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAqB,KAAOT,EAAIS,GAAGlM,EAAEgI,QAAU,IAAI,MAAQyD,EAAI69B,WAAWlpC,KAAKJ,EAAEgI,QAAQ,SAAW,GAAG,MAAQ,CAAC,SAAUnB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,QAAU/Y,EAAEgI,OAAQqE,EAAQ,aAAa,MAAK,GAAGR,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAM,KAAOiM,WAAW,SAASf,MAAM,CAAC,MAAQ,kBAAkB,MAAQN,EAAI69B,WAAWhnC,KAAK,MAAQ,CAAC,SAAUuE,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAI69B,WAAWliB,oBAAoB,kBAAkB,WAAW,aAAa,OAAOhb,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,sBAAuB1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAI69B,WAAWwS,KAAK,YAAcrwC,EAAIm1C,YAAY,MAAQ,CAC12E,SAAU/5C,GAAK,OAAQA,GACE,GAAvBA,EAAE2Q,WAAWhZ,QACU,GAAvBqI,EAAE2Q,WAAWhZ,QACbiN,EAAIS,GAAG,0BAA6BE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,mBAAmB,MAAQN,EAAI69B,WAAWyS,eAAe,YAAc,KAAK3vC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,iBAAkB1M,QAAa,GAAIZ,EAAI69B,WAAmB,SAAEz9B,EAAG,QAAQ,CAACmB,YAAY,wCAAwCjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,SAASP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,OAAOL,EAAG,MAAM,CAACmB,YAAY,2BAA2BiD,YAAY,CAAC,cAAc,gDAAgD,CAACpE,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ,aAAa,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIo1C,iBAAiBp1C,EAAIO,GAAG,KAAKH,EAAG,OAAO,CAACyK,MAAM7K,EAAIq1C,oBAAoB/0C,MAAM,CAAC,MAAQ,oBAAoB,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIs1C,uBAAuBt1C,EAAIO,GAAG,KAAKH,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIyR,kBAAkBxR,KAAK49B,WAAWliB,uBAAuB,CAAC3b,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIu1C,cAAc,IAAIv1C,EAAIQ,GAAGR,EAAIw1C,iBAAiBx1C,EAAIO,GAAG,KAAKH,EAAG,OAAO,CAACyK,MAAM7K,EAAIy1C,cAAcn1C,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,CAACT,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI01C,aAAa11C,EAAIO,GAAG,KAAKH,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,CAACT,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI21C,mBAAmB31C,EAAIO,GAAG,KAAKH,EAAG,OAAO,CAACJ,EAAIO,GAAG,YAAYP,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,EAAGJ,EAAI69B,WAAWpnC,IAAMuJ,EAAI41C,0BAA2Bx1C,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,MAAQT,EAAI69B,WAAWuS,qBAAqBzvC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,sBAAuB1M,QAAa,GAAGZ,EAAI6C,KAAM7C,EAAI69B,WAAWpnC,KAAOuJ,EAAI41C,0BAA2Bx1C,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,KAAKK,GAAG,CAAC,SAAW,SAASC,GAAQZ,EAAI41C,0BAA4B,QAAQ,CAACx1C,EAAG,MAAM,CAACmB,YAAY,wBAAwB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,OAAOL,EAAG,MAAM,CAACmB,YAAY,yBAAyBiD,YAAY,CAAC,cAAc,gDAAgD,CAACxE,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI69B,WAAWuS,qBAAqB,SAASpwC,EAAI6C,KAAKzC,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,wBAAwB,CAACvB,EAAIO,GAAG,uBAAuBH,EAAG,MAAM,CAACmB,YAAY,0BAA0B,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI69B,WAAW2S,iBAAiB,SAASpwC,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,wBAAwB,CAACvB,EAAIO,GAAG,kCAAkCH,EAAG,MAAM,CAACmB,YAAY,0BAA0B,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI69B,WAAWgY,gBAAgB,UAAU,IAAI,IAAI,IAAI,IACpnF,GAAkB,GC8LP,UAAIn0C,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGTT,KALwB,aAMtB,MAAO,CACL0iD,uBAAwB,MACxBW,0BAA2B,QAI/B9zC,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,eACxB,eAAW,YAAa,CACzB,kBACA,eACA,eACA,uBAEC,eAAW,gBAAiB,CAC7B,qBACA,4BACA,CAgBF+7B,WAhBE,aAiBA,OAAO59B,KAAK7K,MACR6K,KAAK7K,MACL,CACEqB,GAAI,EACJ9B,KAAM,GACNmc,SAAU,KACV6K,oBAAqBpM,GACrB8gC,KAAM,EACNC,eAAgB,EAChBE,gBAAiB,EACjBqF,eAAgB,EAChBzF,oBAAqB,KAI7B4E,iBAhCE,aAiCA,IAAK/0C,KAAK49B,WAAWpnC,GAEnB,OAAO,KAGT,OAAOwJ,KAAKg1C,wBAGdE,YAzCE,aA0CA,OAAO,OAAU11B,OAAO,UAG1B21B,aA7CE,aA8CA,OAAOn1C,KAAK61C,uBAAuB71C,KAAK49B,WAAW/sB,WAGrDwkC,mBAjDE,aAkDA,OAAOr1C,KAAK49B,WAAWhnC,MAGzBw+C,oBArDE,aAsDA,IAAKp1C,KAAK49B,WAAWhnC,KACnB,MAAO,QAET,MAAO,IAGT8+C,eA5DE,aA6DA,QAAS11C,KAAK49B,WAAWyS,gBAAkB,GAAK,GAC7CvkC,WACA0nB,SAAS,EAAG,MAGjBpjB,UAlEE,aAmEA,OAAOpQ,KAAK+Q,gBAAgB/Q,KAAK49B,WAAWliB,sBAG9C45B,aAtEE,aAuEA,IAAM1+C,EAAOoJ,KAAKmR,aAAanR,KAAK49B,WAAWliB,qBAC/C,OAAO9kB,GAAQ,MAGjB2+C,aA3EE,aA4EA,IAAM3+C,EAAOoJ,KAAKsR,aAAatR,KAAK49B,WAAWliB,qBAC/C,OAAO9kB,GAAQ,MAGjB6+C,SAhFE,aAiFA,GAAIz1C,KAAK49B,WAAWwS,KAClB,OAAOpwC,KAAK49B,WAAWwS,KAAKtkC,WAE9B,OAAO9L,KAAKk1C,aAGdM,cAvFE,aAwFA,GAAIx1C,KAAK49B,WAAWwS,KAClB,MAAO,gBAET,MAAO,MAIXpuC,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAK49B,aAAa,SAACziC,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,WC3U2W,MCOla,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACjY,QAAA,KAAKE,QAAA,KAAKC,cAAA,OCHzB,cAAIlB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLsrC,WAAY,KACZlmC,OAAQ,MACR+B,MAAO,OAGXuI,QAAS,CAKP4D,MALO,aAML5F,KAAK49B,WAAa,MAOd/3B,KAbC,a,6KAcA7F,KAAK49B,W,iDAIV59B,KAAKvG,MAAQ,K,kBAEM,OAAM,GAAiBka,KAAK,qBAAsB,CACjErhB,KAAM,CACJue,SAAU7Q,KAAK49B,WAAW/sB,UAAY,KACtCyU,KAAMtlB,KAAK49B,WAAWtY,KACtB1uB,KAAMoJ,KAAK49B,WAAWhnC,KACtBlC,KAAMsL,KAAK49B,WAAWlpC,KACtBgnB,oBAAqB1b,KAAK49B,WAAWliB,oBACrC00B,KAAMpwC,KAAK49B,WAAWwS,KACtBC,eAAgBrwC,KAAK49B,WAAWyS,eAChCF,oBAAqBnwC,KAAK49B,WAAWuS,uB,OATnClzC,E,OAYA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,yBAA0BY,GAC7C4G,KAAK2I,OAAOnQ,OAAO,gCAAiC,CAClD6B,OAAQ,gBACRlF,MAAOpC,OAAO8D,KAAKuC,EAASwkC,cAE9B59B,KAAK2I,OAAOnQ,OAAO,+CACnBwH,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVgiC,qBC5Eua,MCOva,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI/1C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,uBAAyBT,EAAIg2C,aAAar1C,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,YAAY,KAAK,KAAKD,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,iBAAiB,CAACY,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAIi2C,kBAAkB/0C,GAAKG,WAAW,wBAAwB,IACnnB,GAAkB,GCyBP,UAAIK,OAAO,CACxBsG,MAAO,CACLvR,GAAI,CACFwC,KAAMsG,OACNyZ,SAAU,OAGdzmB,KAPwB,aAQtB,MAAO,CACLoF,OAAQ,MACRs+C,kBAAmB,KACnBv8C,MAAO,OAGXoI,SAAU,OAAF,wBACH,eAAW,gBAAiB,CAAC,sBAAoB,CACpDk0C,YADoD,aAElD,IAAK/1C,KAAKg2C,kBACR,MAAO,GAET,MAAO,KAAP,OAAYh2C,KAAKg2C,kBAAkBx/C,OAGvCsL,MAAO,CAMLpK,OANK,WAMEynB,GACL,GAAIA,GAAcnf,KAAKxJ,GAAI,CACzB,IAAM2d,EAASphB,OAAOyI,OAAO,GAAIwE,KAAKi2C,iBAAiBj2C,KAAKxJ,KAC5DwJ,KAAKg2C,kBAAoB7hC,KAI/BnS,QAAS,CAKP4D,MALO,aAML5F,KAAKg2C,kBAAoB,MAOrBnwC,KAbC,a,6KAcA7F,KAAKg2C,kB,iDAGVh2C,KAAKvG,MAAQ,K,kBAEM,OAAM,GAAiBka,KAAK,qBAAsB,CACjErhB,KAAM,CACJkE,GAAIwJ,KAAKg2C,kBAAkBx/C,GAC3Bqa,SAAU7Q,KAAKg2C,kBAAkBnlC,SACjCyU,KAAMtlB,KAAKg2C,kBAAkB1wB,KAC7B1uB,KAAMoJ,KAAKg2C,kBAAkBp/C,KAC7BlC,KAAMsL,KAAKg2C,kBAAkBthD,KAC7BgnB,oBAAqB1b,KAAKg2C,kBAAkBt6B,oBAC5C00B,KAAMpwC,KAAKg2C,kBAAkB5F,KAC7BC,eAAgBrwC,KAAKg2C,kBAAkB3F,eACvCF,oBAAqBnwC,KAAKg2C,kBAAkB7F,uB,OAV1ClzC,E,OAeA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,yBAA0BY,GAC7C4G,KAAK2I,OAAOnQ,OAAO,+CAGnBwH,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVgiC,qBC5Gwa,MCOxa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI/1C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAEJ,EAAI0wC,WAAiB,OAAEtwC,EAAG,qBAAqB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,SAAW,KAAKN,EAAI0F,GAAI1F,EAAc,YAAE,SAAS69B,GAAY,OAAOz9B,EAAG,oBAAoB,CAAC1K,IAAImoC,EAAWpnC,IAAI,CAAC2J,EAAG,2BAA2B,CAACE,MAAM,CAAC,MAAQ,mBAAmB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,GAAG,QAAU,kBAAkB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAAEN,EAAIuD,cAAc,2BAA4BnD,EAAG,uBAAuB,CAACE,MAAM,CAAC,GAAKu9B,EAAWpnC,MAAMuJ,EAAI6C,KAAKzC,EAAG,OAAO,CAACmB,YAAY,uBAAuB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGq9B,EAAWhnC,SAASmJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGq9B,EAAWlpC,KAAKqL,EAAIzD,SAAS,MAAM,GAAG6D,EAAG,QAAQ,CAACmB,YAAY,6BAA6BjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,MAAMP,EAAIQ,GAAGR,EAAIm2C,qBAAqBtY,EAAWpnC,KAAK,4BAA4B,IAAI,GAAG2J,EAAG,4BAA4B,CAACA,EAAG,sBAAsB,CAACE,MAAM,CAAC,SAAWu9B,EAAWpnC,OAAO,IAAI,MAAK,GAAGuJ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,iBAAiB,CAAEN,EAAc,WAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,YAAYA,EAAG,eAAe,CAACE,MAAM,CAAC,cAAc,SAAS,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIqH,OAAuB,kBAARnG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,aAAa,GAAGrB,EAAI6C,KAAM7C,EAAI+tC,SAAe,OAAE3tC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,iBAAiB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQ,oBAAoBK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI2wC,YAAc3wC,EAAI8Q,UAAU,KAAO9Q,EAAI4wC,MAAMtrC,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAC3pD,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,MAAQ,GAAG,MAAQ,WAAWK,GAAI,CAACX,EAAIO,GAAG,SAASP,EAAIQ,GAAGR,EAAI+tC,SAASh7C,QAAQ,uBAAuB,KAAK,MAAM,YAAYiO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAI6wC,WAAW3vC,GAAKG,WAAW,eAAe,CAACjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQ,CACvU,SAAUlF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,mBACpC,SAAUrF,GAAK,OAAQ4E,EAAI8wC,YAAYh2C,SAASkF,EAAI2wC,cAClD3wC,EAAIS,GAAG,yBAA4B,aAAa,QAAQO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAI2wC,YAAYzvC,GAAKG,WAAW,kBAAkB,IAAI,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQ,qBAAqB,MAAQ,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI+wC,cAAgB/wC,EAAI8Q,UAAU,KAAO9Q,EAAIgxC,SAAS1rC,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACna,IAAIC,EAAKD,EAAIC,GAC/B,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAUK,GAAI,CAACX,EAAIO,GAAG,mBAAmBP,EAAIQ,GAAGR,EAAI+tC,SAASh7C,QAAQ,uBAAuB,KAAK,MAAM,YAAYiO,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAIixC,cAAc/vC,GAAKG,WAAW,kBAAkB,CAACjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,eAAeP,EAAI0F,GAAI1F,EAAY,UAAE,SAAS69B,GAAY,OAAOz9B,EAAG,MAAM,CAAC1K,IAAImoC,EAAWpnC,IAAI,CAACuJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGq9B,EAAWlpC,KAAKqL,EAAIzD,SAAS,WAAU,GAAG6D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQ,oDAAoD,MAAQ,CACzlB,SAAUlF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,mBACpC,SAAUrF,GAAK,OAAQ4E,EAAI8wC,YAAYh2C,SAASkF,EAAI+wC,gBAClD/wC,EAAIS,GAAG,yBAA4B,aAAa,QAAQO,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAI+wC,cAAc7vC,GAAKG,WAAW,oBAAoB,IAAI,IAAI,IAAI,IAAI,IAAI,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAIo2C,uBAA6B,OAAEh2C,EAAG,eAAe,CAACE,MAAM,CAAC,cAAc,GAAG,MAAQN,EAAIo2C,uBAAuB,QAAUp2C,EAAIzC,QAAQ,OAASyC,EAAIqH,OAAO,KAAOrH,EAAIyK,KAAK,uBAAuBzK,EAAImxC,UAAU,kBAAkB,GAAG,sBAAsBnxC,EAAImxC,UAAU,eAAe,CAC/gBC,iBAAkBpxC,EAAIS,GAAG,4BACxBE,GAAG,CAAC,cAAc,SAASC,GAAQZ,EAAIyK,KAAK7J,IAAS0E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,SAAS9E,GACvG,IAAI0I,EAAO1I,EAAI0I,KACvB,MAAO,CAAChJ,EAAG,KAAK,CAAEJ,EAAIuD,cAAc,2BAA4BnD,EAAG,uBAAuB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,MAAM2J,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAK3S,QAAQ,OAAO,KAAK,MAAMuK,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAI+tC,SAAS7sC,GAAKG,WAAW,cAAcrB,EAAI6C,MAAM,IAAI,IAAI,IACvR,GAAkB,GCoIP,UAAInB,OAAO,CACxB/M,KAAM,sBACNqT,MAAO,CACL8I,SAAUvR,QAEZhN,KALwB,aAMtB,MAAO,CACL8U,OAAQ,GACRoD,KAAM,EACNkmC,YAAa1wC,KAAK6Q,SAClB+/B,WAAY,MACZI,cAAe,MACfF,cAAe,EACfhD,SAAU,KAGdjsC,SAAU,OAAF,kEACH,eAAW,gBAAiB,CAC7B,mBACA,0BAEC,eAAW,YAAa,CAAC,uBACzB,eAAW,OAAQ,CAAC,mBACpB,eAAS,WAAY,CAAC,YAAU,CAEnCu0C,YAFmC,aAGjC,OAAOp2C,KAAKq2C,iBAAiBr2C,KAAK6Q,WAGpCggC,YANmC,aAOjC,OAAO,IAAEx6C,IAAI2J,KAAK8tC,SAAU,OAU9BgH,sBAjBmC,aAiBd,WACnB,OAAO,IAAEn2C,MAAMqB,KAAKo2C,aACjB//C,KAAI,SAACunC,GAAD,OACH7qC,OAAOyI,OAAO,GAAIoiC,EAAY,CAC5BwT,eAAgBxT,EAAWlpC,KAAK,EAAK4H,QACrC+0C,kBAAmB,EAAK7/B,kBACtBosB,EAAWliB,qBAEb4J,KAAMsY,EAAWtY,MAAQ,YAG5BiY,QAAQ,CAAC,OAAQ,mBACjBpoC,SAGLs7C,WAhCmC,aAiCjC,OAAO,IAAE7xC,OACPoB,KAAK80C,uBACL,SAACrgD,GAAD,OAAmBA,EAAEsiC,YAActiC,EAAEsiC,WAAa,MAItDof,uBAvCmC,aAwCjC,OAAO,IAAEv3C,OACPoB,KAAK80C,uBACL,SAACrgD,GAAD,OAAoBA,EAAEsiC,YAActiC,EAAEsiC,WAAa,MAOvDz5B,QAjDmC,aAkDjC,IAAM0b,EAAI,CACR,CACEvQ,KAAMzI,KAAKsD,cAAc,2BACrBtD,KAAKiZ,MAAM7jB,EAAE,gBACb,KACJD,MAAO,KACP2hB,MAAO,KACP+D,SAAU,OAEZ,CACEpS,KAAM,OACNtT,MAAO,OACPiqB,MAAO,SAET,CACE3W,KAAMzI,KAAKiZ,MAAM7jB,EAAE,eACnBD,MAAO,kBAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,qBACnBD,MAAO,qBAET,CACEsT,KAAM,eACNtT,MAAO,kBACPiqB,MAAO,SAET,CACE3W,KAAM,mBACNtT,MAAO,iBACPiqB,MAAO,UAGX,OAAOpG,GAGTs4B,WAtFmC,aAuFjC,OAAOtxC,KAAKm2C,uBAAuBrjD,OAAS,IAG9Co+C,UA1FmC,aA2FjC,OAAOlxC,KAAKm2C,uBAAuBrjD,OAAS,MAGhDgP,MAAO,CACLsF,OADK,WACE8P,GAELlX,KAAKwK,KAAO,GAEdqG,SALK,WAKI+C,GACP5T,KAAK0wC,YAAc98B,GAErBo9B,cARK,aASHhxC,KAAK8wC,cAAgB,IAGzB9uC,QAAS,CACD2uC,KADC,a,mLAEY,OAAM,GAAiBh9B,KAAK,oBAAqB,CAChErhB,KAAM,CACJi/C,YAAavxC,KAAK6Q,SAClB6/B,YAAa1wC,KAAK0wC,YAClBc,SAAUxxC,KAAK6wC,e,OAJb5zC,E,OAOA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,yBAA0BY,GAC7C4G,KAAK2I,OAAOnQ,OAAO,+CACnBwH,KAAK8tC,SAAW,GAChB9tC,KAAK4wC,WAAa,M,iDAEdG,QAfC,a,mLAgBY,OAAM,GAAiBp9B,KAAK,uBAAwB,CACnErhB,KAAM,CACJgkD,iBAAkBt2C,KAAK6wC,YACvB0F,gBAAiBv2C,KAAK8wC,iB,OAHpB7zC,E,OAMA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,yBAA0BY,GAC7C4G,KAAK2I,OAAOnQ,OAAO,+CACnBwH,KAAK8tC,SAAW,GAChB9tC,KAAKgxC,cAAgB,M,kDAGzBl9B,WAAY,CACV0iC,wBACAC,0BCnTua,MCOva,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAchC,KAAkB,GAAW,CAACt0C,QAAA,KAAKK,QAAA,KAAKsV,cAAA,KAAW+5B,mBAAA,KAAgBC,0BAAA,KAAuBC,yBAAA,KAAsBC,oBAAA,KAAiBtvC,QAAA,KAAKqC,WAAA,KAAQpC,cAAA,OCgC/H,cAAIlB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoX,QAAS,KACTtC,OAAQ,GACR2oC,QAAS,OAGb5nC,QARwB,aAStBnI,KAAKoI,aAEPvG,SAAU,OAAF,kEACH,eAAS,WAAY,CAAC,YACtB,eAAW,YAAa,CAAC,uBACzB,eAAW,gBAAiB,CAAC,oBAC7B,eAAW,OAAQ,CAAC,mBAAiB,CASxCizC,sBATwC,aASnB,WACnB,OAAO,IAAEn2C,MAAMqB,KAAK02C,gBACjBrgD,KAAI,SAACunC,GAAD,OACH7qC,OAAOyI,OAAO,GAAIoiC,EAAY,CAC5BwT,eAAgBxT,EAAWlpC,KAAK,EAAK4H,QACrC+0C,kBAAmB,EAAK7/B,kBACtBosB,EAAWliB,0BAIhB6hB,QAAQ,kBACRpoC,SAMLmI,QA1BwC,aA2BtC,IAAM0b,EAAI,CACR,CACEvQ,KAAMzI,KAAKsD,cAAc,2BACrBtD,KAAKiZ,MAAM7jB,EAAE,gBACb,KACJD,MAAO,KACP2hB,MAAO,KACP+D,SAAU,OAEZ,CACEpS,KAAM,OACNtT,MAAO,OACPiqB,MAAO,SAET,CACE3W,KAAMzI,KAAKiZ,MAAM7jB,EAAE,eACnBD,MAAO,kBAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,qBACnBD,MAAO,qBAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,2BACnBD,MAAO,uBAET,CACEsT,KAAM,eACNtT,MAAO,kBACPiqB,MAAO,SAET,CACE3W,KAAM,mBACNtT,MAAO,iBACPiqB,MAAO,UAGX,OAAOpG,KAGXhX,QAAS,CACDoG,UADC,a,kKAELpI,KAAK0J,QAAU,K,SACf,OAAM1J,KAAK2I,OAAOlQ,SAAS,kC,OAC3BuH,KAAK0J,QAAU,M,kDAGnBoK,WAAY,CACV6iC,uBACAH,wBACAC,0BC5Jka,MCOla,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAehC,KAAkB,GAAW,CAACt0C,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUG,cAAA,KAAWqV,cAAA,KAAWrD,SAAA,KAAM1P,WAAA,KAAQugC,WAAA,KAAQ3iC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UCjCnH,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAU,OAAEI,EAAG,4BAA4BJ,EAAI6C,KAAKzC,EAAG,YAAYA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIoK,eAAelJ,GAAKG,WAAW,sBAAsBoE,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8BL,EAAG,YAAYA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,SAAS,cAAc,GAAG,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAU,EAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,IAAqB,kBAARnJ,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,iBAAiB,GAAGjB,EAAG,cAAc,CAACmB,YAAY,SAAS,CAAEvB,EAAkB,eAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAKN,EAAIqK,SAASwsC,uBAAyB,EAAI,IAAI,CAACz2C,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0CAA0C,gBAAgBT,EAAIS,GAAG,QAAQO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA+B,uBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,yBAA0BnJ,IAAMG,WAAW,sCAAsC,GAAIrB,EAAIqK,SAA+B,uBAAEjK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mCAAmC,MAAQ,sBAAsB,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA0B,kBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,oBAAqBnJ,IAAMG,WAAW,iCAAiC,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAKN,EAAIqK,SAASysC,wBAA0B,EAAI,IAAI,CAAC12C,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2CAA2C,gBAAgBT,EAAIS,GAAG,QAAQO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAgC,wBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,0BAA2BnJ,IAAMG,WAAW,uCAAuC,GAAIrB,EAAIqK,SAAgC,wBAAEjK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,MAAQ,wBAAwB,aAAa,MAAM,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA2B,mBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,qBAAsBnJ,IAAMG,WAAW,kCAAkC,GAAGrB,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAKN,EAAIqK,SAAS0sC,qBAAuB,EAAI,IAAI,CAAC32C,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wCAAwC,gBAAgBT,EAAIS,GAAG,QAAQO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA6B,qBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,uBAAwBnJ,IAAMG,WAAW,oCAAoC,GAAIrB,EAAIqK,SAA6B,qBAAEjK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,MAAQ,oBAAoB,aAAa,MAAM,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAKN,EAAIqK,SAAS2sC,qBAAuB,EAAI,IAAI,CAAC52C,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wCAAwC,gBAAgBT,EAAIS,GAAG,QAAQO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA6B,qBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,uBAAwBnJ,IAAMG,WAAW,oCAAoC,GAAIrB,EAAIqK,SAA6B,qBAAEjK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,MAAQ,qBAAqB,aAAa,MAAM,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,aAAa,MAAQN,EAAIi3C,sBAAsB,UAAY,IAAIj2C,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wCAAwC,gBAAgBT,EAAIS,GAAG,QAAQO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA6B,qBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,uBAAwBnJ,IAAMG,WAAW,oCAAoC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,gBAAgBT,EAAIS,GAAG,QAAQO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA+B,uBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,yBAA0BnJ,IAAMG,WAAW,sCAAsC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uCAAuC,gBAAgBT,EAAIS,GAAG,QAAQO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA4B,oBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,sBAAuBnJ,IAAMG,WAAW,mCAAmC,IAAI,IAAI,GAAGrB,EAAI6C,KAAKzC,EAAG,qBAAqB,CAACE,MAAM,CAAC,SAAW,KAAKN,EAAI0F,GAAI1F,EAAmB,iBAAE,SAAS1L,GAAQ,OAAO8L,EAAG,oBAAoB,CAAC1K,IAAIpB,GAAQ,CAAC8L,EAAG,2BAA2B,CAACmB,YAAY,WAAW,CAACnB,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA4BnM,IAAS,KAAK8L,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIk3C,kBAAkB5iD,IAAS,QAAQ,KAAK8L,EAAG,4BAA4B,CAACA,EAAG,qBAAqB,CAACE,MAAM,CAAC,KAAO,GAAG,SAAW,KAAKN,EAAI0F,GAAI1F,EAAIm3C,oBAAoB7iD,IAAS,SAAS8iD,GAAU,OAAOh3C,EAAG,oBAAoB,CAAC1K,IAAI0hD,EAAS3gD,IAAI,CAAC2J,EAAG,2BAA2B,CAACmB,YAAY,WAAW,CAACnB,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG42C,EAASziD,KAAKqL,EAAIzD,SAAS,KAAK6D,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIq3C,iCAAiC/iD,GAAQ8iD,EAAS3gD,IAAK1D,QAAQ,QAAQ,KAAKqN,EAAG,4BAA4B,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUN,EAAIs3C,iBAAiBhjD,GAAQ,eAAe0L,EAAIS,GAAG,gBAAgB,MAAQT,EAAIq3C,iCAAiC/iD,GAAQ8iD,EAAS3gD,IAAI,qBAAqB,GAAG,sBAAsB,GAAG,MAAQ,IAAI6O,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACp+M,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAAC1K,IAAI0T,EAAK3S,GAAGoU,MAAM,CAAE4P,UAAWrR,EAAKmuC,iBAAkB,CAAEv3C,EAAU,OAAEI,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,4BAA4B,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,OAAO,GAAGuJ,EAAI6C,KAAKzC,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKmc,KAAOnc,EAAKmc,KAAO,IAAI,OAAOnlB,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKioC,mBAAmBjxC,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKouC,oBAAoBvsC,KAAK,UAAqB,SAAV3W,EAAmB8L,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKquC,wBAAwBxsC,KAAK,OAAO,OAAOjL,EAAI6C,KAAgB,SAAVvO,EAAmB8L,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKsuC,sBAAsBzsC,KAAK,OAAO,OAAOjL,EAAI6C,WAAW,KAAK,SAAS,IAAI,MAAK,IAAI,IAAI,MAAK,IAAI,IAAI,IAAI,IACroB,GAAkB,GCHlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,4BAA8B,KAAOT,EAAIvJ,IAAIkK,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,sBAAsB,CAACY,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAI23C,gBAAgBz2C,GAAKG,WAAW,sBAAsB,IAC1f,GAAkB,G,aCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAmC,YAAY,MAAQT,EAAI43C,cAAc,MAAQ53C,EAAI23C,gBAAgBrjD,QAAQqM,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,SAAU1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQ,8BAA8B,MAAQT,EAAI23C,gBAAgBE,YAAYl3C,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,aAAa,MAAQT,EAAI23C,gBAAgBpyB,MAAM5kB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,QAAa,IAAI,GAAGR,EAAG,QAAQJ,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAM,CAAEg7B,MAAOtxC,EAAEsxC,OAAQvlC,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAA0B,KAAOT,EAAIS,GAAGlM,EAAEgI,QAAU,IAAI,MAAQyD,EAAI23C,gBAAgBhjD,KAAKJ,EAAEgI,QAAQ,SAAW,GAAG,MAAQ,CAAC,SAAUnB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,QAAU/Y,EAAEgI,OAAQqE,EAAQ,aAAa,MAAK,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,MAAQT,EAAI23C,gBAAgBG,iBAAiB,MAAQ,CAAC,SAAU18C,GAAK,OAAOA,EAAErI,OAAS,GAAKiN,EAAIS,GAAG,oBAAsB,SAAW,GAAG,MAAQ,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,mBAAoB1M,QAAa,GAAkC,SAA9BZ,EAAI23C,gBAAgBrjD,OAAmB8L,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,MAAQT,EAAI23C,gBAAgBI,qBAAqB,MAAQ,CAAC,SAAU38C,GAAK,OAAOA,EAAErI,OAAS,GAAKiN,EAAIS,GAAG,oBAAsB,SAAW,GAAG,MAAQ,GAAG,kBAAkB,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,uBAAwB1M,QAAa,GAAGZ,EAAI6C,KAAoC,iBAA9B7C,EAAI23C,gBAAgBrjD,OAA2B8L,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wCAAwC,MAAQ,sBAAsB,MAAQT,EAAI23C,gBAAgBK,uBAAuB,MAAQ,CAAC,SAAU58C,GAAK,OAAOA,EAAErI,OAAS,GAAKiN,EAAIS,GAAG,oBAAsB,SAAW,GAAG,MAAQ,GAAG,kBAAkB,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,yBAA0B1M,QAAa,GAAGZ,EAAI6C,MAAM,GAAK7C,EAAIi4C,cAAgpBj4C,EAAI6C,KAAroBzC,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0CAA0C,cAAcT,EAAI23C,gBAAgBd,wBAAwBl2C,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,2BAA4B1M,QAAa,GAAIZ,EAAI23C,gBAAsC,uBAAEv3C,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mCAAmC,MAAQ,sBAAsB,MAAQT,EAAI23C,gBAAgBO,mBAAmBv3C,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,oBAAqB1M,QAAa,GAAGZ,EAAI6C,MAAM,GAAa7C,EAAiB,cAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wCAAwC,cAAcT,EAAI23C,gBAAgBZ,sBAAsBp2C,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,yBAA0B1M,QAAa,GAAIZ,EAAI23C,gBAAoC,qBAAEv3C,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,MAAQT,EAAI23C,gBAAgBQ,gBAAgB,kBAAkB,IAAIx3C,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,QAAa,GAAGZ,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAO7C,EAAIi4C,cAAypBj4C,EAAI6C,KAA9oBzC,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2CAA2C,cAAcT,EAAI23C,gBAAgBb,yBAAyBn2C,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,4BAA6B1M,QAAa,GAAIZ,EAAI23C,gBAAuC,wBAAEv3C,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,MAAQ,wBAAwB,MAAQT,EAAI23C,gBAAgBS,oBAAoBz3C,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,qBAAsB1M,QAAa,GAAGZ,EAAI6C,MAAM,GAAa7C,EAAiB,cAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wCAAwC,cAAcT,EAAI23C,gBAAgBX,sBAAsBr2C,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,yBAA0B1M,QAAa,GAAIZ,EAAI23C,gBAAoC,qBAAEv3C,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,MAAQ,qBAAqB,MAAQT,EAAI23C,gBAAgBU,gBAAgB,kBAAkB,IAAI13C,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,QAAa,GAAGZ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAQN,EAAmB,gBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,MAAQ,2BAA2B,MAAQT,EAAI23C,gBAAgBW,wBAAwB,MAAQ,CAAC,SAAUl9C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,0BAA2B1M,QAAa,GAAGZ,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAO7C,EAAIi4C,cAAgZj4C,EAAI6C,KAArYzC,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wCAAwC,cAAcT,EAAI23C,gBAAgBY,sBAAsB53C,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,yBAA0B1M,QAAa,GAAIZ,EAAI23C,gBAAoC,qBAAEv3C,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAON,EAAI6C,MAAM,GAAa7C,EAAyB,sBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uCAAuC,cAAcT,EAAI23C,gBAAgBa,qBAAqB73C,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,wBAAyB1M,QAAa,IAAI,GAAGZ,EAAI6C,KAAM7C,EAAyB,sBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,cAAcT,EAAI23C,gBAAgBc,wBAAwB93C,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,2BAA4B1M,QAAa,IAAI,GAAGZ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAI23C,gBAAgB7D,QAAQnzC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,SAAU1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kCAAkC,cAAcT,EAAI23C,gBAAgBJ,gBAAgB52C,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,iBAAkB1M,QAAa,IAAI,IAAI,IACxkO,GAAkB,GCDlB,GAAS,WAAa,IAAIZ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,mBAAmBH,EAAG,uBAAuB,CAACE,MAAM,CAAC,iBAAmBN,EAAI04C,kBAAkB/3C,GAAG,CAAC,KAAO,SAASC,GAAQ,OAAOZ,EAAI24C,SAAS/3C,QAAa,GAAGR,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAI5K,MAAM,QAAU4K,EAAIzC,QAAQ,eAAe,GAAG,sBAAsB,GAAG,qBAAqB,IAAI+H,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,WAAW,MAAO,CAACpF,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAI5K,MAAM,IAAM,SAASuL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,MAAWZ,EAAI0F,GAAI1F,EAAS,OAAE,SAASoJ,EAAKzO,GAAO,OAAOyF,EAAG,KAAK,CAAC1K,IAAIiF,GAAO,CAACyF,EAAG,KAAK,CAACmB,YAAY,kBAAkB,CAACnB,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,cAAc,GAAGH,EAAG,KAAK,CAACA,EAAG,wBAAwB,CAACY,MAAM,CAAC5L,MAAO4K,EAAI5K,MAAMuF,GAAQsG,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAI5K,MAAOuF,EAAOuG,IAAMG,WAAW,mBAAmB,GAAGjB,EAAG,KAAK,CAAEgJ,EAAKjC,MAAMnH,EAAIzD,QAAS6D,EAAG,MAAM,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKjC,MAAMnH,EAAIzD,SAAS,OAAOyD,EAAI6C,KAAKzC,EAAG,MAAM,CAACmB,YAAY,iBAAiBiD,YAAY,CAAC,YAAY,OAAO,cAAc,uBAAuB,CAACxE,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKzU,MAAM,KAAMyU,EAAe,WAAEhJ,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,UAAU,GAAG,MAAQ,YAAY,CAACN,EAAIO,GAAG,gBAAgBP,EAAI6C,MAAM,KAAKzC,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKnQ,SAASmH,EAAG,KAAK,CAAe,eAAbgJ,EAAKnQ,KAAuBmH,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKwvC,SAASC,WAAW,OAAO74C,EAAI6C,KAAmB,kBAAbuG,EAAKnQ,KAA0BmH,EAAG,OAAO,CAAgC,IAA9BgJ,EAAKwvC,SAASr+B,YAAmBna,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBnT,EAAKwvC,SAASr+B,YAAava,EAAI0jB,aAAc,OAAO1jB,EAAI6C,KAAoC,IAA9BuG,EAAKwvC,SAASr+B,YAAmBna,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,QAAQ,OAAOT,EAAI6C,OAAO7C,EAAI6C,OAAOzC,EAAG,KAAK,CAAGgJ,EAAK0vC,QAAoQ94C,EAAI6C,KAA/PzC,EAAG,qBAAqB,CAACE,MAAM,CAAC,KAAO,GAAG,UAAU,GAAG,OAASN,EAAIS,GAAG,kBAAoB,IAAM2I,EAAKjC,MAAMnH,EAAIzD,SAASoE,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAI+4C,YAAYp+C,MAAU,CAACyF,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,mBAAmB,IAAa,QAAO,KAAKkF,MAAM,WAAW,GAAGrF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,IAAI,CAACJ,EAAIO,GAAG,0EAA0EH,EAAG,IAAI,CAACJ,EAAIO,GAAG,OAAOH,EAAG,SAAS,CAACJ,EAAIO,GAAG,cAAcP,EAAIO,GAAG,sQAA0QH,EAAG,SAAS,CAACJ,EAAIO,GAAG,iFAAiFH,EAAG,IAAI,CAACJ,EAAIO,GAAG,OAAOH,EAAG,SAAS,CAACJ,EAAIO,GAAG,mBAAmBP,EAAIO,GAAG,yKAAyKH,EAAG,IAAI,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAG,iBAAiBP,EAAIO,GAAG,qHAAqH,IAAI,IAAI,IAAI,IAC/oG,GAAkB,G,wBCDlB,GAAS,WAAa,IAAIP,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,WAAa,QAAQ,MAAQ,eAAe,YAAY,SAASK,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,kBAAkB,CAACE,MAAM,CAAC,iBAAmBN,EAAI04C,kBAAkB13C,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIg5C,YAAY93C,GAAKG,WAAW,kBAAkB,IAClf,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAM,CAAEg7B,MAAOtxC,EAAEsxC,OAAQvlC,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAS,UAAaN,EAAIS,GAAGlM,EAAEgI,QAAW,IAAK,MAAQyD,EAAIg5C,YAAY7xC,MAAM5S,EAAEgI,QAAQ,MAAQ,CAAC,SAAUnB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,SAAW/Y,EAAEgI,OAAQqE,EAAQ,aAAa,MAAKR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACoE,YAAY,CAAC,cAAc,sBAAsBlE,MAAM,CAAC,MAAQ,oCAAoC,MAAQN,EAAIg5C,YAAYrkD,KAAK,MAAQ,CACrsB,SAAUyG,GAAK,QAASA,GAAK4E,EAAIS,GAAG,mBACpC,SAAUrF,GAAK,OAAO4E,EAAIi5C,SAAS79C,IAAM4E,EAAIS,GAAG,iBAChD,SAAUrF,GAAK,OAAO4E,EAAIk5C,eAAe99C,IAAM4E,EAAIS,GAAG,wBAA2B,SAAWT,EAAIm5C,cAAc,KAAO,uGAAuGx4C,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,aAAa,MAAQN,EAAIg5C,YAAY//C,KAAK,MAAQ+G,EAAIo5C,WAAW,MAAQ,CAAC,SAAUh+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,SAAWT,EAAIq5C,mBAAmB14C,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,QAAa,GAA4B,eAAxBZ,EAAIg5C,YAAY//C,KAAuBmH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,eAAe,MAAQN,EAAIg5C,YAAYJ,SAASC,UAAU,MAAQ74C,EAAIs5C,iBAAiB,MAAQ,CAAC,SAAUl+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,SAAWT,EAAIq5C,mBAAmB14C,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,qBAAsB1M,QAAa,GAAGZ,EAAI6C,KAA8B,kBAAxB7C,EAAIg5C,YAAY//C,KAA0BmH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQ,qBAAqB,MAAQN,EAAIg5C,YAAYJ,SAASr+B,aAAe,EAAE,kBAAkB,GAAG,aAAa,MAAM,SAAWva,EAAIq5C,kBAAkB,MAAQ,CAAC,SAAUj+C,GAAK,QAASA,GAAW,IAANA,GAAW4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,uBAAwB1M,QAAa,GAAGZ,EAAI6C,KACl3C,iBAAxB7C,EAAIg5C,YAAY//C,MAAmD,cAAxB+G,EAAIg5C,YAAY//C,KAC3DmH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ,sBAAsB,MAAQT,EAAIg5C,YAAYJ,SAASW,cAAc,MAAQ,CAAC,SAAUn+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,yBAA0B1M,QAAa,GAAGZ,EAAI6C,KAA8B,iBAAxB7C,EAAIg5C,YAAY//C,KAAyBmH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,2BAA2B,CAACE,MAAM,CAAC,MAAQ,kBAAkB,MAAQN,EAAIg5C,YAAYJ,SAASY,eAAe,MAAQ,CAAC,SAAUp+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,SAAW,GAAG,MAAQ,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,0BAA2B1M,QAAa,GAAGZ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ,WAAW,cAAcN,EAAIg5C,YAAYS,YAAY94C,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,eAAgB1M,QAAa,IAAI,IACx6B,GAAkB,G,aCGT84C,GAAmB,CAC9B,CAAE/kD,KAAM,wBACR,CAAEA,KAAM,sBACR,CAAEA,KAAM,oBACR,CAAEA,KAAM,kBACR,CAAEA,KAAM,mBACR,CAAEA,KAAM,gBAAiBglD,QAAS,MAClC,CAAEhlD,KAAM,mBAAoBglD,QAAS,MACrC,CAAEhlD,KAAM,iBACR,CAAEA,KAAM,aACR,CAAEA,KAAM,oBACR,CAAEA,KAAM,sBACR,CAAEA,KAAM,uBACR,CAAEA,KAAM,sBACR,CAAEA,KAAM,iBACR,CAAEA,KAAM,cACR,CAAEA,KAAM,qBACR,CAAEA,KAAM,uBACR,CAAEA,KAAM,gBACR,CAAEA,KAAM,YACR,CAAEA,KAAM,iBACR,CAAEA,KAAM,eACR,CAAEA,KAAM,6BACR,CAAEA,KAAM,iBACR,CAAEA,KAAM,cACR,CAAEA,KAAM,eACR,CAAEA,KAAM,yBACR,CAAEA,KAAM,2BACR,CAAEA,KAAM,yBACR,CAAEA,KAAM,cCtCN,GAAS,WAAa,IAAIqL,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,cAAc,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAI45C,WAAW,KAAO55C,EAAIo4B,KAAK,MAAQp4B,EAAIsH,MAAM,MAAQtH,EAAI6H,MAAM,SAAW7H,EAAI0H,SAAS,SAAW1H,EAAIuH,SAAS,SAAWvH,EAAIyH,SAAS,kBAAkBzH,EAAIq4B,gBAAgB13B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,QAC9Z,GAAkB,G,aCoBP,UAAIc,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACPmwB,KAAMnwB,OACNowB,eAAgBnwB,QAChB9S,MAAO,CAACmK,OAAQpG,OAChBoO,SAAUW,QACVL,MAAOK,QACPT,SAAUS,QACVR,SAAUQ,QACV8Q,SAAU9Q,QACVZ,MAAOnO,MACPm/B,MAAOn/B,OAGT5G,KAfwB,aAgBtB,MAAO,CAKLsnD,kBAAmB,CAAC,EAAG,IAAK,IAAK,IAAK,IAAM,KAM5CC,kBAAmB,CAAC,IAAM,IAAM,IAAM,MAI1Ch4C,SAAU,CACRi4C,cADQ,aAEN,OAAO95C,KAAKq4B,OAASr4B,KAAKq4B,MAAMvlC,OAAS,GAG3C6mD,WALQ,aAMN,IAAM5wB,EAAU,GAGZgxB,EAAU/5C,KAAK45C,kBAAkBvjD,KAAI,SAACV,GAAD,OAAW,IAAJA,KAC5CqK,KAAK85C,gBACPC,EAAU,IAAEpa,aAAaoa,EAAS/5C,KAAKq4B,QAEzCtP,EAAQ31B,KAAR,MAAA21B,EAAO,eACFgxB,EAAQ1jD,KAAI,SAAC2jD,GAAD,MAAqB,CAClC7kD,MAAO6kD,EACPvxC,KACa,IAAXuxC,EACIp8C,EAAKxI,EAAE,cAAc0W,WACrBkuC,EAAS,IAAM,IAAMp8C,EAAKxI,EAAE,oBAAoB0W,iBAK1D,IAAImuC,EAAWj6C,KAAK65C,kBAChB75C,KAAK85C,gBACPG,EAAW,IAAEta,aAAasa,EAAUj6C,KAAKq4B,QAE3CtP,EAAQ31B,KAAR,MAAA21B,EAAO,eACFkxB,EAAS5jD,KAAI,SAAC6jD,GAAD,MAAiB,CAC/B/kD,MAAO+kD,EACPzxC,MACgB,IAAbyxC,GAAkBC,QAAQ,GAA3B,KAGAv8C,EAAKxI,EAAE,sBAAsB0W,iBAInC,OAAOid,MC3Fqb,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC9C,WAAA,OC0Ff,cAAIxkB,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,OACPmmD,cAAejxC,QACfmxC,kBAAmBnxC,QACnBwwC,iBAAkBv/C,MAClBkhD,QAAS,CACPphD,KAAMiP,QACN4W,QAAS,QAIbvsB,KAZwB,aAatB,MAAO,CACL+mD,iBAAkB,CAChB,sBACA,kBACA,4BACA,wBACA,4BACA,+BACA,yBACA,sBACA,qBACA,qBACA,6BAKNx3C,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,eAAa,CAgBxCk3C,YAhBwC,aAiBtC,IAAM59C,EAAI6E,KAAK7K,MACX6K,KAAK7K,MACL,CACET,KAAM,GACNwS,MAAO,CAAEolB,GAAI,GAAIC,GAAI,GAAIC,GAAI,IAC7BxzB,KAAM,YACN2/C,SAAU,GACVa,WAAY,OAElB,OAAOr+C,GAGTk/C,wBA7BwC,aA8BtC,OAAOr6C,KAAK+4C,YAAY7xC,MAAMolB,IAGhC6sB,WAjCwC,aAkCtC,OAAO,IAAE9iD,IAAIojD,GAAkB,WAInC33C,MAAO,CACLu4C,wBADK,WACmBnjC,EAAQE,GAC9B,GAAIpX,KAAKo6C,QACP,OAG4B,KAA1Bp6C,KAAK+4C,YAAYrkD,OACnBsL,KAAK+4C,YAAYrkD,KAAO,uBAAUwiB,IAEhC,uBAAUE,KAAYpX,KAAK+4C,YAAYrkD,OACzCsL,KAAK+4C,YAAYrkD,KAAO,uBAAUwiB,MAKxClV,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAK+4C,cAAc,SAAC59C,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,QAIxDu+B,SAtBO,WAsBE7jD,GAEP,IAAMmlD,EAAa,sBAASt6C,KAAKy4C,iBAAkBtjD,GACnD,OAAQmlD,GAGVrB,eA5BO,WA4BQ9jD,GACb,MAAO,SAASolD,KAAKplD,KAIzB2e,WAAY,CACV0mC,4BACAvgB,wBCxOqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACxmB,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKujB,WAAA,KAAQtjB,cAAA,OCF3C,cAAIlB,OAAO,CACxBsG,MAAO,CACL0wC,iBAAkBv/C,OAEpB5G,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MAERqhD,YAAa,OAGjB/2C,QAAS,CAKP4D,MALO,aAML5F,KAAK+4C,YAAc,MAOrBlzC,KAbO,aAcL,IAAK7F,KAAK+4C,YACR,OAGF,IAAMuB,EAAa,IAAEz/C,SACnBmF,KAAKy4C,iBACLz4C,KAAK+4C,YAAYrkD,MAEnB,GAAI4lD,EACF,OAGFt6C,KAAK8H,MAAM,OAAQ9H,KAAK+4C,aACxB/4C,KAAKtI,OAAS,QAGlBoc,WAAY,CACV2mC,sBCnE0b,MCO1b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI16C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,eAAe,YAAY,SAASK,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,kBAAkB,CAACE,MAAM,CAAC,iBAAiB,GAAG,sBAAsB,GAAG,QAAU,IAAIU,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIg5C,YAAY93C,GAAKG,WAAW,kBAAkB,IAChf,GAAkB,GCyBP,UAAIK,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAETT,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MAERqhD,YAAa,OAGjB/2C,QAAS,CAKP4D,MALO,aAML5F,KAAK+4C,YAAchmD,OAAOyI,OAAO,GAAIwE,KAAK7K,QAO5C0Q,KAbO,aAcL,IAAK7F,KAAK+4C,YACR,OAGF/4C,KAAK8H,MAAM,QAAS9H,KAAK+4C,aACzB/4C,KAAKtI,OAAS,QAGlBoc,WAAY,CACV2mC,sBC5D2b,MCO3b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QCkHA,UAAIh5C,OAAO,CACxBsG,MAAO,CACL5S,MAAO+D,OAET5G,KAJwB,aAKtB,MAAO,CACLooD,YAAa,QAGjB74C,SAAU,OAAF,oDACH,eAAS,WAAY,CAAC,YACtB,eAAS,QAAS,CAAC,gBACnB,eAAW,WAAY,CAAC,2BAAyB,CAKpDvE,QALoD,aAMlD,MAAO,CACL,CAAEnI,MAAO,QAASsT,KAAM,IACxB,CAAEtT,MAAO,OAAQsT,KAAM,IACvB,CAAEtT,MAAO,OAAQsT,KAAM,QACvB,CAAEtT,MAAO,OAAQsT,KAAM,QACvB,CAAEtT,MAAO,WAAYsT,KAAM,QAC3B,CAAEtT,MAAO,SAAUsT,KAAM,MAS7BgwC,iBArBoD,aAsBlD,OAAO,IAAEpiD,IAAI2J,KAAK7K,OAAS,GAAI,WAInC6M,QAAS,CACP02C,SADO,WACEiC,GAEP,IAAMzhC,EAAW,GAAH,sBAAOlZ,KAAK7K,OAAZ,CAAmBwlD,IACjC36C,KAAK8H,MAAM,QAASoR,IAGtB4/B,YAPO,WAOKp+C,GACV,IAAMwe,EAAW,eAAIlZ,KAAK7K,OAC1B+jB,EAASllB,OAAO0G,EAAO,GACvBsF,KAAK8H,MAAM,QAASoR,KAIxBpF,WAAY,CACV8mC,wBACAC,UAAA,KACAC,4BC3Lub,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAahC,KAAkB,GAAW,CAACpgB,UAAA,KAAOt4B,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKsV,cAAA,KAAWrD,SAAA,KAAM/R,QAAA,KAAKsC,YAAA,KAASC,cAAA,UC0O1E,cAAIxD,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGTT,KALwB,aAMtB,MAAO,CACLooD,YAAa,QAIjB74C,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,eACxB,eAAS,QAAS,CAAC,eAAa,CAgBnC61C,gBAhBmC,aAiBjC,OAAO13C,KAAK7K,MACR6K,KAAK7K,MACL,CACEd,OAAQ,QACRujD,WAAY,EACZtyB,KAAM,EACN5wB,KAAM,GACNkiD,uBAAwB,MACxBqB,kBAAmB,EACnBK,qBAAsB,MACtB/B,gBAAiB,EACjBM,wBAAyB,MACzBsB,mBAAoBnrB,GAAgB3X,QACpC0hC,qBAAsB,MACtBqB,gBAAiB7lB,GAAWld,QAC5ByhC,qBAAsB,MACtBoB,gBAAiB,EACjBG,wBAAyB,EACzB0C,uBAAwB,GACxBjD,qBAAsB,GACtBC,uBAAwB,GACxBF,iBAAkB73C,KAAKsiB,UACvBuxB,OAAQ,GACR2E,uBAAwB,MACxBD,oBAAqB,MACrBjB,eAAgB,QAQxBU,cAlDmC,aAmDjC,OAAOh4C,KAAK03C,gBAAgBrjD,SAAWutB,GAAsBI,OAQ/Dg5B,sBA3DmC,aA4DjC,OACEh7C,KAAK03C,gBAAgBrjD,SAAWutB,GAAsBG,eAQ1Dg1B,qBArEmC,aAsEjC,QAAS/2C,KAAK03C,gBAAgBX,sBAOhCkE,gBA7EmC,aA8EjC,OAAOj7C,KAAK03C,gBAAgBU,kBAAoB7lB,GAAW2oB,UAQ7DrE,wBAtFmC,aAuFjC,QAAS72C,KAAK03C,gBAAgBb,yBAMhCc,cA7FmC,aA8FjC,OAAO91B,GAA0BxrB,KAAI,SAAC9B,GAAD,MAAQ,CAC3CY,MAAOZ,EACPkU,KAAM7K,EAAKxI,EAAE,0BAA4Bb,UAK/CuN,MAAO,CACLi1C,qBADK,WACgBoE,GACfA,EACFn7C,KAAKqN,OAAO,kBAAmBklB,GAAW2oB,UAE1Cl7C,KAAKqN,OAAO,kBAAmBklB,GAAWld,UAI9CwhC,wBATK,WASmBsE,GAClBA,EACFn7C,KAAKqN,OAAO,mBAAoB2f,GAAgBE,QAEhDltB,KAAKqN,OAAO,mBAAoB2f,GAAgB3X,WAKtDrT,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAK03C,kBAAkB,SAACv8C,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,SAK9D3G,WAAY,CACV2kB,oBACA2iB,qBACA1iB,yBCvayb,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACjlB,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKujB,WAAA,KAAQtjB,cAAA,OCH3C,cAAIlB,OAAO,CACxBsG,MAAO,CACLvR,GAAI,CACFwC,KAAMsG,OACNyZ,SAAU,OAGdzmB,KAPwB,aAQtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEPi+C,gBAAiB,OAGrB71C,SAAU,OAAF,UACH,eAAS,QAAS,CAAC,sBAExBG,QAAS,CAKP4D,MALO,aAKF,WACH,GAAI5F,KAAKxJ,GAAI,CACX,IAAM6F,EAAQ,IAAEmtB,KAAKxpB,KAAKgjB,kBAAkB,SAACq4B,GAAD,OAAQA,EAAG7kD,KAAO,EAAKA,MAC7D2d,EAASphB,OAAOyI,OAAO,GAAIa,GACjC2D,KAAK03C,gBAAkBvjC,OAEvBnU,KAAK03C,gBAAkB,MASrB7xC,KApBC,a,mLAqBwB,OAAzB7F,KAAK03C,iB,iDAGT13C,KAAKvG,MAAQ,K,kBAGM,OAAM,GAASka,KAAK,4BAA6B,CAChErhB,KAAM,CACJkE,GAAIwJ,KAAK03C,gBAAgBlhD,GACzBnC,OAAQ2L,KAAK03C,gBAAgBrjD,OAC7BujD,WAAY53C,KAAK03C,gBAAgBE,WACjCtyB,KAAMtlB,KAAK03C,gBAAgBpyB,KAC3B5wB,KAAMsL,KAAK03C,gBAAgBhjD,KAC3BkiD,uBAAwB52C,KAAK03C,gBAAgBd,uBAC7CqB,kBAAmBj4C,KAAK03C,gBAAgBO,kBACxCK,qBAAsBt4C,KAAK03C,gBAAgBY,qBAC3C/B,gBAAiBv2C,KAAK03C,gBAAgBnB,gBACtCM,wBACE72C,KAAK03C,gBAAgBb,wBACvBsB,mBAAoBn4C,KAAK03C,gBAAgBS,mBACzCpB,qBAAsB/2C,KAAK03C,gBAAgBX,qBAC3CqB,gBAAiBp4C,KAAK03C,gBAAgBU,gBACtCtB,qBAAsB92C,KAAK03C,gBAAgBZ,qBAC3CoB,gBAAiBl4C,KAAK03C,gBAAgBQ,gBACtCG,wBACEr4C,KAAK03C,gBAAgBW,wBACvBP,qBAAsB93C,KAAK03C,gBAAgBI,qBAC3CC,uBAAwB/3C,KAAK03C,gBAAgBK,uBAC7CF,iBAAkB73C,KAAK03C,gBAAgBG,iBACvChE,OAAQ7zC,KAAK03C,gBAAgB7D,OAC7B2E,uBAAwBx4C,KAAK03C,gBAAgBc,uBAC7CD,oBAAqBv4C,KAAK03C,gBAAgBa,oBAC1CjB,eAAgBt3C,KAAK03C,gBAAgBJ,kB,OA1BnCr6C,E,OAoCAulC,EAAQ,IAAEztC,IAAIkI,EAAU,6BACxBq+C,EAAc,IAAE/iC,MAAMxlB,OAAO2L,OAAO8jC,IACpC5vC,EAAI,IAAE2oD,UAAUv7C,KAAKgjB,iBAAkB,CAAExsB,GAAI8kD,EAAY9kD,KAC/DwJ,KAAK2I,OAAOnQ,OAAO,kBAAmB,CACpC6B,OAAQ,mBACRK,MAAO9H,EACPuC,MAAOmmD,IAITt7C,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV0nC,0BC1H+b,MCO/b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIz7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,6BAA6BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,sBAAsB,CAACY,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAI23C,gBAAgBz2C,GAAKG,WAAW,sBAAsB,IACze,GAAkB,GCsBP,UAAIK,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEPi+C,gBAAiB,OAGrB11C,QAAS,CAKP4D,MALO,aAML5F,KAAK03C,gBAAkB,MAQnB7xC,KAdC,a,+KAeuB,MAAxB7F,KAAK03C,iB,iDAGT13C,KAAKvG,MAAQ,K,kBAGM,OAAM,GAASka,KAAK,4BAA6B,CAChErhB,KAAM,CACJ+B,OAAQ2L,KAAK03C,gBAAgBrjD,OAC7BujD,WAAY53C,KAAK03C,gBAAgBE,WACjCtyB,KAAMtlB,KAAK03C,gBAAgBpyB,KAC3B5wB,KAAMsL,KAAK03C,gBAAgBhjD,KAC3BkiD,uBAAwB52C,KAAK03C,gBAAgBd,uBAC7CqB,kBAAmBj4C,KAAK03C,gBAAgBO,kBACxCK,qBAAsBt4C,KAAK03C,gBAAgBY,qBAC3C/B,gBAAiBv2C,KAAK03C,gBAAgBnB,gBACtCM,wBACE72C,KAAK03C,gBAAgBb,wBACvBsB,mBAAoBn4C,KAAK03C,gBAAgBS,mBACzCpB,qBAAsB/2C,KAAK03C,gBAAgBX,qBAC3CqB,gBAAiBp4C,KAAK03C,gBAAgBU,gBACtCtB,qBAAsB92C,KAAK03C,gBAAgBZ,qBAC3CoB,gBAAiBl4C,KAAK03C,gBAAgBQ,gBACtCG,wBACEr4C,KAAK03C,gBAAgBW,wBACvBP,qBAAsB93C,KAAK03C,gBAAgBI,qBAC3CC,uBAAwB/3C,KAAK03C,gBAAgBK,uBAC7CF,iBAAkB73C,KAAK03C,gBAAgBG,iBACvChE,OAAQ7zC,KAAK03C,gBAAgB7D,OAC7B2E,uBAAwBx4C,KAAK03C,gBAAgBc,uBAC7CD,oBAAqBv4C,KAAK03C,gBAAgBa,oBAC1CjB,eAAgBt3C,KAAK03C,gBAAgBJ,kB,OAzBnCr6C,E,OAkCAulC,EAAQ,IAAEztC,IAAIkI,EAAU,6BAC9B+C,KAAK2I,OAAOnQ,OAAO,wBAAyB,CAC1C6B,OAAQ,mBACRlF,MAAOpC,OAAO2L,OAAO8jC,KAIvBxiC,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV0nC,0BCrG8b,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QC+MA,UAAI/5C,OAAO,CACxB0G,QADwB,aAElB,IAAE8D,QAAQjM,KAAK6V,mBACjB7V,KAAK6V,gBAAkB,IAAEe,UAAU5W,KAAKoK,YAI5C9X,KAPwB,aAQtB,MAAO,CACL6X,eAAgB,MAEhB0L,gBAAiB,GACjBzL,SAAU,CACR0L,EAAG,GAEH8gC,uBAAwB,KACxBqB,uBAAmBx9C,EACnBo8C,wBAAyB,KACzBsB,mBAAoB,EACpBpB,qBAAsB,KACtBqB,gBAAiB,EACjBtB,qBAAsB,KACtBoB,gBAAiB,EACjBI,qBAAsB,KACtBE,uBAAwB,KACxBD,oBAAqB,KACrBkD,gBAAiB,MAKvB55C,SAAU,OAAF,kEACH,eAAS,WAAY,CAAC,YACtB,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,mBAAoB,2BAAyB,CAEnEupB,OAFmE,aAGjE,OAAOprB,KAAKsD,cAAc,6BAO5Bo4C,gBAVmE,aAUpD,WACb,OAAO,IAAE98C,OACPijB,IACA,SAACxtB,GAAD,OAAoB,EAAK4iD,kBAAkB5iD,GAAU,MAezD4iD,kBA5BmE,aA6BjE,OAAO,IAAE0E,QAAQ37C,KAAK47C,yBAA0B,WAQlDA,yBArCmE,aAqC3C,WACtB,OAAO,IAAEh9C,OAAOoB,KAAKgjB,kBAAkB,SAAC64B,GACtC,OAAO,IAAEzI,MAAM,CACb,EAAK0I,sBAAsBD,GAC3B,EAAKE,4BAA4BF,GACjC,EAAKG,6BAA6BH,GAClC,EAAKI,0BAA0BJ,GAC/B,EAAKK,0BAA0BL,GAC/B,EAAKM,+BAA+BN,GACG,OAAvC,EAAKzxC,SAASkuC,sBACZuD,EAAIvD,uBAAyB,EAAKluC,SAASkuC,qBACJ,OAAzC,EAAKluC,SAASouC,wBACZqD,EAAIrD,yBAA2B,EAAKpuC,SAASouC,uBACT,OAAtC,EAAKpuC,SAASmuC,qBACZsD,EAAItD,sBAAwB,EAAKnuC,SAASmuC,0BAKlD6D,2BAxDmE,aAwDzC,WACxB,OAAO,IAAEz9C,MAAMqB,KAAK47C,0BACjBvlD,KAAI,SAACglD,GAAD,OACHtoD,OAAOyI,OACL,CACE41C,eAAgBiK,EAAG3mD,KAAK,EAAK4H,QAC7Bi7C,oBAAqB8D,EAAGxD,iBAAiBxhD,KAAI,SAACjB,GAAD,OAC3CwI,EAAKxI,EAAE,2BAA6BA,MAEtCqiD,sBAAuB4D,EAAGvD,qBAAqBzhD,KAAI,SAACG,GAAD,OACjD,EAAK8lB,sBAAsB9lB,EAAI,wBAEjCghD,wBAAyB6D,EAAGtD,uBAAuB1hD,KACjD,SAACG,GAAD,OACE,EAAK8lB,sBAAsB9lB,EAAI,2BAGrC6kD,MAGHx8C,OAAO,kBACP1J,SAkBLknD,wBA/FmE,aAgGjE,OAAO,IAAE19C,MAAMqB,KAAKo8C,4BACjBv9C,OAAO,QACPnD,QAAQ,UACRJ,WAAU,SAACghD,GAAD,OACT,IAAE5gD,QAAQ4gD,EAAS,iBAEpBnnD,SAML6hD,sBA5GmE,aA6GjE,OAAO,IAAE3gD,IAAIojD,GAAkB,WAInC33C,MAAO,CAKLqI,eALK,WAKUkN,GACRA,GACHrX,KAAKuX,0BAKXvV,QAAS,CAGPo1C,iCAHO,WAG0B/iD,GAC/B,OAAO2L,KAAKq8C,wBAAwBppD,eAAeoB,GAC/C2L,KAAKq8C,wBAAwBhoD,GAC7B,IAGNgjD,iBATO,WASUhjD,GACf,IAAM2kB,EAAW,CACf,CACEvQ,KAAMzI,KAAKiZ,MAAM7jB,EAAE,aACnBD,MAAO,OACPiqB,MAAO,SAET,CACE3W,KAAMzI,KAAKiZ,MAAM7jB,EAAE,wBACnBD,MAAO,kBAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,oCACnBD,MAAO,wBAII,UAAXd,EACF2kB,EAAE5lB,KAAK,CACLqV,KAAMzI,KAAKiZ,MAAM7jB,EAAE,iCACnBD,MAAO,0BAGT6jB,EAAE5lB,KAAK,CACLqV,KAAMzI,KAAKiZ,MAAM7jB,EAAE,wCACnBD,MAAO,4BAIP6K,KAAKsD,cAAc,6BACrB0V,EAAE9H,QAAQ,CACRzI,KAAMzI,KAAKiZ,MAAM7jB,EAAE,gBACnBD,MAAO,KACPonD,KAAM,KACN1hC,SAAU,MACVuE,MAAO,WAIX,OAAOpG,GAQTk+B,oBAxDO,WAwDa7iD,GAAc,WAChC,OAAO,IAAEsK,MAAMqB,KAAK47C,0BACjBh9C,OAAO,CAAEvK,WACTgC,IAAI,cACJ0E,OACA1E,KAAI,SAACG,GAAD,OAAQ,IAAEgzB,KAAK,EAAKzG,sBAAuB,CAAEvsB,UACjDykB,UACApc,OAAO,QACP1J,SAGLoiB,sBAnEO,aAoELvX,KAAKoK,SAAWrX,OAAOyI,OAAOwE,KAAKoK,SAAUpK,KAAK6V,kBAOpDimC,sBA3EO,WA2EeD,GACpB,IAAK77C,KAAKoK,SAAS0L,EACjB,OAAO,KAGT,IAAM1O,EAASpH,KAAKoK,SAAS0L,EAAE69B,cACzBj/C,EAAOmnD,EAAInnD,KAAKsL,KAAK1D,QAAQq3C,cAC7BwD,EAAWn3C,KAAKsc,sBACpBu/B,EAAIjE,WACJ,+BACAjE,cACF,GAAIj/C,EAAKmG,SAASuM,IAAW+vC,EAASt8C,SAASuM,GAC7C,OAAO,KAGT,OAAO,OAQT20C,4BAlGO,WAkGqBF,GAC1B,IAAMW,EAAOx8C,KAAKoK,SAASwsC,uBACrB/Y,EAAa79B,KAAKoK,SAAS6tC,kBAEjC,GAAa,OAATuE,EACF,OAAO,KAGT,GAAIX,EAAIjF,yBAA2B4F,EACjC,OAAO,MAGT,GAAIA,QAAuB/hD,IAAfojC,EACV,OAAOge,EAAI5D,oBAAsBpa,EAGnC,OAAO,MAQTme,6BA1HO,WA0HsBH,GAC3B,IAAMY,EAAOz8C,KAAKoK,SAASysC,wBACrB6F,EAAc18C,KAAKoK,SAAS+tC,mBAElC,GAAa,OAATsE,EACF,OAAO,KAGT,GAAIZ,EAAIhF,0BAA4B4F,EAClC,OAAO,MAGT,GAAIA,GAAQC,EAAc,EACxB,OAAOb,EAAI1D,qBAAuBuE,EAGpC,OAAO,MAQTT,0BAlJO,WAkJmBJ,GACxB,IAAMc,EAAO38C,KAAKoK,SAAS0sC,qBACrBjZ,EAAa79B,KAAKoK,SAAS8tC,gBAEjC,GAAa,OAATyE,EACF,OAAO,KAGT,GAAId,EAAI/E,uBAAyB6F,EAC/B,OAAO,MAGT,GAAIA,GAAQ9e,EAAa,EACvB,OAAOge,EAAI3D,kBAAoBra,EAGjC,OAAO,MAQTqe,0BA1KO,WA0KmBL,GACxB,IAAMc,EAAO38C,KAAKoK,SAAS2sC,qBACrB2F,EAAc18C,KAAKoK,SAASguC,gBAElC,GAAa,OAATuE,EACF,OAAO,KAGT,GAAId,EAAI9E,uBAAyB4F,EAC/B,OAAO,MAGT,GAAIA,GAAQD,EAAc,EACxB,OAAOb,EAAIzD,kBAAoBsE,EAGjC,OAAO,MAQTP,+BAlMO,WAkMwBN,GAC7B,IAAMe,EAAoB58C,KAAKoK,SAASqxC,gBACxC,IAAKmB,EAEH,OAAO,KAGT,IAAMC,EAAc,IAAExmD,IAAIwlD,EAAIhI,OAAQ,QACtC,OAAO,IAAEh5C,SAASgiD,EAAaD,KAInC9oC,WAAY,CACVgpC,6BACAC,+BCjlBua,MCOva,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAqBhC,KAAkB,GAAW,CAAC36C,SAAA,KAAME,UAAA,QAAUmR,aAAA,KAAUmF,SAAA,KAAMpW,QAAA,KAAKC,cAAA,KAAWqV,cAAA,KAAW+5B,mBAAA,KAAgBC,0BAAA,KAAuBC,yBAAA,KAAsBC,oBAAA,KAAiBtvC,QAAA,KAAKujB,WAAA,KAAQlhB,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UCvChN,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAIuD,cAAc,0BAA2BnD,EAAG,qBAAqB,CAACE,MAAM,CAAC,gBAAkBN,EAAIi9C,kBAAkB,YAAcj9C,EAAIk9C,kBAAkBl9C,EAAI6C,OAAO4C,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwBL,EAAG,YAAYA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,SAAS,cAAc,GAAG,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIqH,OAAuB,kBAARnG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,aAAa,GAAGjB,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,kBAAkB,YAAYU,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAIi9C,kBAAkB/7C,GAAKG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAUN,EAAIzC,QAAQ,MAAQyC,EAAI0R,YAAY,OAAS1R,EAAIqH,OAAO,UAAW,QAAUrH,EAAIzD,OAAQ,qBAAqB,GAAG,sBAAsB,IAAI+I,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAC3yC,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,SAAS,CAACf,IAAI,YAAY8P,GAAG,SAAS9E,GACzF,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAACgL,EAAG,OAAO,CAACyK,MAAM,CACP,YAAazV,IAAU4K,EAAIk9C,eAC3B,mBAAoB9nD,IAAU4K,EAAIk9C,iBACjC,CAACl9C,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,OAASrL,IAAQ,WAAW,KAAK,SAAS,IAAI,IAAI,IAAI,IAAI,IACnG,GAAkB,GCRlB,GAAS,WAAa,IAAI4K,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,uBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI6F,SAAS,KAAO,SAASjF,GAAQ,OAAOZ,EAAI8F,SAAS9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,gBAAgB,CAACY,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAIqQ,UAAUnP,GAAKG,WAAW,gBAAgB,IACjgB,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAAGJ,EAAIg1C,iBAA6Yh1C,EAAI6C,KAA/XzC,EAAG,QAAQ,CAACoE,YAAY,CAAC,OAAS,WAAWlE,MAAM,CAAC,KAAO,MAAMK,GAAG,CAAC,SAAW,SAASC,GAAQZ,EAAIi1C,uBAAyB,QAAQ,CAAEj1C,EAAIqQ,UAAkB,SAAEjQ,EAAG,MAAM,CAACA,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAOL,EAAG,MAAM,CAACmB,YAAY,mBAAmB,CAACnB,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAKN,EAAIqQ,UAAUS,aAAa,KAAK9Q,EAAI6C,OAAiB7C,EAAoB,iBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,MAAQT,EAAIqQ,UAAUS,SAAS,eAAiB,WAAW,mBAAqB,CAAC9Q,EAAIqQ,UAAU5Z,IAAI,UAAY,GAAG,aAAa,QAAQkK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,GAAGZ,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAM,CAAEg7B,MAAOtxC,EAAEsxC,OAAQvlC,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAoB,KAAOT,EAAIS,GAAGlM,EAAEgI,QAAU,IAAI,MAAQyD,EAAIqQ,UAAU1b,KAAKJ,EAAEgI,QAAQ,MAAQ,CAAC,SAAUnB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,QAAU/Y,EAAEgI,OAAQqE,EAAQ,aAAa,MAAKR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIm9C,YAAY,MAAQn9C,EAAIqQ,UAAUpX,KAAK,MAAQ,CAAC,SAAUmC,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIqQ,UAAUxZ,MAAM8J,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQT,EAAIqQ,UAAU+sC,aAAaz8C,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,EAAQ,aAAa,IAAI,IAAI,IAAI,IACzhE,GAAkB,GCsFP,UAAIc,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,OAEPqqD,gBAAiB99C,OACjB+9C,YAAar1C,QAGf1V,KARwB,aAStB,MAAO,CACL0iD,uBAAwB,QAI5BnzC,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,eACxB,eAAS,WAAY,CAAC,YAAU,CAgBnCuO,UAhBmC,aAiBjC,OAAOpQ,KAAK7K,MACR6K,KAAK7K,MACL,CACEqB,GAAI,EACJ9B,KAAMi4B,KACN3zB,KAAM,GACNpC,KAAM,GACNumD,YAAa,GACbtsC,SAAUvB,GACV6C,KAAM,KAId4iC,iBA9BmC,aA+BjC,IAAK/0C,KAAKoQ,UAAU5Z,GAElB,OAAO,KAGT,OAAOwJ,KAAKg1C,wBAMdkI,YA1CmC,aA2CjC,IAAMn0B,EAAU,CACd,CACE5zB,MAAO,UACPsT,KAAM7K,EAAKxI,EAAE,gBAEf,CACED,MAAO,WACPsT,KAAM7K,EAAKxI,EAAE,iBAEf,CACED,MAAO,WACPsT,KAAM7K,EAAKxI,EAAE,iBAEf,CACED,MAAO,UACPsT,KAAM7K,EAAKxI,EAAE,iBAGjB,OAAO2zB,KAIX/mB,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAKoQ,YAAY,SAACjV,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,WC1L2W,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACjY,QAAA,KAAKE,QAAA,KAAKujB,WAAA,KAAQtjB,cAAA,OCHjC,cAAIlB,OAAO,CACxBsG,MAAO,CACLq1C,gBAAiB99C,OACjB+9C,YAAar1C,QAGf1V,KANwB,aAOtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEP2W,UAAW,OAIfpO,QAAS,CAKP4D,MALO,aAMA5F,KAAKo9C,iBAAoBp9C,KAAKq9C,YAGjCr9C,KAAKoQ,UAAY,CACf5Z,GAAI,EACJ9B,KAAMi4B,KACN3zB,KAAMgH,KAAKq9C,aAAe,GAC1BzmD,KAAM,GACNumD,YAAa,GACbtsC,SAAU7Q,KAAKo9C,iBAAmB9tC,GAClC6C,KAAM,IATRnS,KAAKoQ,UAAY,MAkBfvK,KAzBC,a,6KA0BA7F,KAAKoQ,U,iDAIVpQ,KAAKvG,MAAQ,K,kBAEM,OAAM,GAAaka,KAAK,qBAAsB,CAC7DrhB,KAAM,CACJoC,KAAMsL,KAAKoQ,UAAU1b,KACrBsE,KAAMgH,KAAKoQ,UAAUpX,KACrBpC,KAAMoJ,KAAKoQ,UAAUxZ,KACrBumD,YAAan9C,KAAKoQ,UAAU+sC,YAC5BtsC,SAAU7Q,KAAKoQ,UAAUS,SACzBsB,KAAMnS,KAAKoQ,UAAU+B,Q,OAPnBlV,E,OAUA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,qBAAsBY,GACzC4G,KAAK2I,OAAOnQ,OAAO,4BAA6B,CAC9C6B,OAAQ,eACRlF,MAAOpC,OAAO8D,KAAKuC,EAASgX,aAE9BpQ,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVwpC,oBC7Fsa,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIv9C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAUN,EAAIS,GAAG,sBAAyB,KAAOT,EAAIvJ,GAAI,QAAUuJ,EAAI2J,SAAShJ,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI6F,SAAS,KAAO,SAASjF,GAAQ,OAAOZ,EAAI8F,SAAS9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,gBAAgB,CAACY,MAAM,CAAC5L,MAAO4K,EAAoB,iBAAEiB,SAAS,SAAUC,GAAMlB,EAAIw9C,iBAAiBt8C,GAAKG,WAAW,uBAAuB,IACjkB,GAAkB,GCwBP,UAAIK,OAAO,CACxBsG,MAAO,CACLvR,GAAI,CACFwC,KAAMsG,OACNyZ,SAAU,OAIdzmB,KARwB,aAStB,MAAO,CACLoF,OAAQ,MACRgS,QAAS,MACTjQ,MAAO,KAEP8jD,iBAAkB,OAItB17C,SAAU,OAAF,UACH,eAAW,YAAa,CAAC,qBAG9BG,QAAS,CAKD4D,MALC,a,wKAML5F,KAAK0J,QAAU,K,SACf,OAAM1J,KAAK2I,OAAOlQ,SAAS,2BAA4BuH,KAAKxJ,I,OACtD2d,EAASphB,OAAOyI,OAAO,GAAIwE,KAAK+Q,gBAAgB/Q,KAAKxJ,KAC3DwJ,KAAKu9C,iBAAmBppC,EACxBnU,KAAK0J,QAAU,M,iDAOX7D,KAjBC,a,6KAkBA7F,KAAKu9C,iB,iDAGVv9C,KAAKvG,MAAQ,K,kBAEM,OAAM,GAAaka,KAAK,qBAAsB,CAC7DrhB,KAAM,CACJkE,GAAIwJ,KAAKu9C,iBAAiB/mD,GAC1B9B,KAAMsL,KAAKu9C,iBAAiB7oD,KAC5BsE,KAAMgH,KAAKu9C,iBAAiBvkD,KAC5BpC,KAAMoJ,KAAKu9C,iBAAiB3mD,KAC5BumD,YAAan9C,KAAKu9C,iBAAiBJ,YACnCtsC,SAAU7Q,KAAKu9C,iBAAiB1sC,Y,OAP9B5T,E,OAYA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,qBAAsBY,GAGzC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACVwpC,oBC9Fua,MCOva,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QC2DA,UAAI77C,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACL0qD,kBAAmB1tC,GACnBlI,OAAQ,KAIZvF,SAAU,OAAF,oDACH,eAAS,WAAY,CAAC,YACtB,eAAW,YAAa,CAAC,6BACzB,eAAW,OAAQ,CAAC,mBAAiB,CAOxC4P,YAPwC,aAQtC,IAAIZ,EAA0B7Q,KAAKg9C,kBAC9Bh9C,KAAKg9C,oBACRnsC,EAAW,MAEb,OAAO7Q,KAAK4Q,wBAAwBC,IAQtCvT,QApBwC,aAqBtC,IAAM0b,EAAI,CACR,CACEvQ,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,OACP2hB,MAAO,OACPsI,MAAO,SACPvE,SAAU,OAEZ,CACEpS,KAAM7K,EAAKxI,EAAE,MACbD,MAAO,KACP2hB,MAAO,OACPsI,MAAO,SAET,CACE3W,KAAMzI,KAAKiZ,MAAM7jB,EAAE,kBACnBD,MAAO,QAAF,OAAU6K,KAAK1D,SAEtB,CACEmM,KAAM7K,EAAKxI,EAAE,kBACbD,MAAO,QAET,CACEsT,KAAM7K,EAAKxI,EAAE,kBACbD,MAAO,OACPiqB,MAAO,UAET,CACE3W,KAAM7K,EAAKxI,EAAE,yBACbD,MAAO,cACPiqB,MAAO,WAGX,OAAOpG,GAOTikC,eA7DwC,aA8DtC,IAAMza,EAAQ,IAAEnsC,IAAI2J,KAAKyR,aAAe,GAAI,QACtCX,EAAM,IAAEnS,MAAM6jC,GACjBmZ,UACAW,UACAkB,MAAM,IAAE1oB,MACR2oB,OACAtoD,QACH,OAAO2b,GAAO,aAIlBgD,WAAY,CACV4pC,uBACAC,yBCnKia,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAchC,KAAkB,GAAW,CAACv7C,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKC,cAAA,KAAWqV,cAAA,KAAWpV,QAAA,KAAKqC,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UChC1G,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAU,OAAEI,EAAG,oBAAoBJ,EAAI6C,OAAO4C,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsBL,EAAG,YAAYA,EAAG,eAAe,CAACE,MAAM,CAAC,cAAc,SAAS,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIqH,OAAuB,kBAARnG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,aAAa,GAAGjB,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAI8vB,SAAS,QAAU9vB,EAAI2J,QAAQ,OAAS3J,EAAIqH,OAAO,QAAUrH,EAAIzC,QAAQ,eAAeyC,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACp0B,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAAEJ,EAAU,OAAEI,EAAG,KAAK,CAACA,EAAG,oBAAoB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,OAAO,GAAGuJ,EAAI6C,KAAKzC,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAKy0C,SAAS,GAAGz9C,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKzU,SAASyL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKuS,wBAAyB3b,EAAU,OAAEI,EAAG,KAAK,CAACA,EAAG,qBAAqB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,GAAG,UAAU,GAAG,OAASN,EAAIS,GAAG,kBAAoB,IAAMT,EAAIS,GAAG,oBAAsB,KAAKE,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAI89C,cAAc10C,EAAK3S,OAAO,CAAC2J,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,WAAW,IAAI,GAAGP,EAAI6C,eAAe,IAAI,IAAI,IACrjB,GAAkB,GCHlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,qBAAqBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,cAAc,CAACY,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIwvB,QAAQtuB,GAAKG,WAAW,cAAc,IACjc,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAIwvB,QAAQquB,MAAMl9C,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAIwvB,QAAQ76B,KAAK,MAAQ,CAAC,SAAUyG,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIwvB,QAAQ7T,oBAAoB,kBAAkB,UAAU,kBAAkB,WAAW,aAAa,OAAOhb,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,sBAAuB1M,QAAa,IAAI,IAC/1B,GAAkB,GCuCP,UAAIc,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CACL6D,KAAMjG,SAIV8O,SAAU,CAeR0tB,QAfQ,aAgBN,OAAOvvB,KAAK7K,MACR6K,KAAK7K,MACL,CACET,KAAM,GACNgnB,oBAAqBpM,GACrBsuC,KAAM,OAASp+B,YAKzBxd,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAKuvB,UAAU,SAACp0B,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,WC3F6X,MCOjb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACjY,QAAA,KAAKE,QAAA,KAAKC,cAAA,OCLzB,cAAIlB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEP81B,QAAS,OAGbvtB,QAAS,CAKP4D,MALO,aAML5F,KAAKuvB,QAAU,MAOX1pB,KAbC,a,+KAce,MAAhB7F,KAAKuvB,S,iDAGTvvB,KAAKvG,MAAQ,K,kBAGM,OAAM,GAASka,KAAK,kBAAmB,CACtDrhB,KAAM,CACJoC,KAAMsL,KAAKuvB,QAAQ76B,KACnBgnB,oBAAqB1b,KAAKuvB,QAAQ7T,oBAClCkiC,KAAM59C,KAAKuvB,QAAQquB,Q,OAJjB3gD,E,OAOA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,wBAAyB,CAC1C6B,OAAQ,aACRlF,MAAOpC,OAAO8D,KAAKuC,EAASm2B,WAG9BvvB,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVgqC,kBCtEsb,MCOtb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI/9C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,qBAAqBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,cAAc,CAACY,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIg+C,eAAe98C,GAAKG,WAAW,qBAAqB,IACvd,GAAkB,GCoBP,UAAIK,OAAO,CACxBsG,MAAO,CACLvR,GAAI,CACFwC,KAAMsG,OACNyZ,SAAU,KACV8F,QAAS,IAGbvsB,KARwB,aAStB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEPskD,eAAgB,OAGpBl8C,SAAU,OAAF,UACH,eAAW,QAAS,CAAC,mBAE1BC,MAAO,CAMLpK,OANK,WAMEynB,GACL,GAAIA,GAAcnf,KAAKxJ,GAAI,CACzB,IAAM2d,EAASphB,OAAOyI,OAAO,GAAIwE,KAAKyvB,cAAczvB,KAAKxJ,KACzDwJ,KAAK+9C,eAAiB5pC,KAI5BnS,QAAS,CAKP4D,MALO,aAML5F,KAAK+9C,eAAiB,MAMlBl4C,KAZC,a,6KAaA7F,KAAK+9C,e,iDAGV/9C,KAAKvG,MAAQ,K,kBAGM,OAAM,GAASka,KAAK,kBAAmB,CACtDrhB,KAAM,CACJkE,GAAIwJ,KAAK+9C,eAAevnD,GACxB9B,KAAMsL,KAAK+9C,eAAerpD,KAC1BgnB,oBAAqB1b,KAAK+9C,eAAeriC,oBACzCkiC,KAAM59C,KAAK+9C,eAAeH,Q,OALxB3gD,E,OASA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAErC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVgqC,kBC3Fub,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QC6CA,UAAIr8C,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACL8U,OAAQ,GACRgY,MAAO,GACP3lB,MAAO,KACPiQ,QAAS,OAGbvB,QATwB,aAUtBnI,KAAKoI,aAEPvG,SAAU,OAAF,kEACH,eAAS,WAAY,CAAC,YACtB,eAAW,OAAQ,CAAC,mBACpB,eAAW,YAAa,CAAC,qBACzB,eAAW,QAAS,CAAC,iBAAe,CAEvCupB,OAFuC,aAGrC,OAAOprB,KAAKsD,cAAc,yBAE5BhG,QALuC,aAMrC,IAAM0b,EAAI,CACR,CACEvQ,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,QAET,CACEsT,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,QAET,CACEsT,KAAM7K,EAAKxI,EAAE,qBACbD,MAAO,wBAIX,GAAI6K,KAAKorB,OAAQ,CACfpS,EAAE9H,QAAQ,CACRzI,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,KACPonD,KAAM,KACN1hC,SAAU,QAEZ7B,EAAE5lB,KAAK,CAAEqV,KAAM7K,EAAKxI,EAAE,kBAAkB0W,aAG1C,OAAOkN,GAET6W,SAjCuC,aAiC/B,WACAA,EAAW7vB,KAAK0vB,YACtB,OAAOG,EAASx5B,KAAI,SAACk5B,GACnB,IAAMvW,EAAIjmB,OAAOyI,OAAO,GAAI+zB,GACtBze,EAAM,EAAKC,gBAAgBiI,EAAE0C,qBAC/B5K,IACFkI,EAAE0C,oBAAsB5K,EAAIpc,KAAK,EAAK4H,SAExC,OAAO0c,QAIbhX,QAAS,CACDoG,UADC,a,kKAELpI,KAAK0J,QAAU,K,SACf,MAAM,CAAC1J,KAAK2I,OAAOlQ,SAAS,wB,OAC5BuH,KAAK0J,QAAU,M,iDAEjBm0C,cANO,WAMOG,GAAS,WACrB,GACGrqC,KAAK,kBAAmB,CACvBrhB,KAAM,CACJkE,GAAIwnD,KAGP/iB,MAAK,WACJ,EAAKtyB,OAAOnQ,OAAO,yBAA0B,CAC3C6B,OAAQ,aACRlF,MAAO6oD,OAGV7iB,OAAM,SAAC1hC,GACN,EAAKA,MAAQA,OAIrBqa,WAAY,CACVmqC,oBACAC,wBCtJ+Z,MCO/Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAahC,KAAkB,GAAW,CAAC97C,SAAA,KAAME,UAAA,QAAUG,cAAA,KAAWqV,cAAA,KAAWrD,SAAA,KAAM1P,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UC/BtG,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAIuD,cAAc,mBAAoB,CAAC7N,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,8BAA8BqF,MAAM,MAAM,MAAM,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8BL,EAAG,YAAYA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,GAAG,cAAc,SAAS,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIqH,OAAuB,kBAARnG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,aAAa,GAAGjB,EAAG,cAAc,CAACA,EAAG,2BAA2B,CAACmB,YAAY,OAAOjB,MAAM,CAAC,WAAa,EAAE,OAASN,EAAIqH,WAAW,IAAI,IAAI,IACryB,GAAkB,GCDlB,GAAS,WAAa,IAAIrH,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,6BAA6BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,UAAY,EAAE,kBAAkB,WAAW,kBAAkB,YAAYU,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAI6/B,YAAY3+B,GAAKG,WAAW,kBAAkB,GAAGrB,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAM,CAAEg7B,MAAOtxC,EAAE6pD,OAAQ99C,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,SAAW,GAAG,MAAQ,CAAC,SAAUlF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,MAAQT,EAAIS,GAAG,wBAA0B,KAAOT,EAAIS,GAAGlM,EAAEgI,QAAU,KAAKyE,MAAM,CAAC5L,MAAO4K,EAAIrL,KAAKJ,EAAEgI,QAAS0E,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIrL,KAAMJ,EAAEgI,OAAwB,kBAAR2E,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,qBAAqB,OAAM,IAAI,IAC9kC,GAAkB,GCGhBg9C,GAAa,EAAAngD,EAAMzI,OAAO,CAC9B0I,QAAS,GAAF,OAAK,EAAIE,SAASF,QAAlB,qBAETtB,EAAoBwhD,IACL,UCsCA,UAAI38C,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KACP/E,KAAM,GACNsE,KAAM,WACN4mC,YAAa,MAIjB/9B,SAAU,OAAF,UACH,eAAW,WAAY,CAAC,eAG7BG,QAAS,CAKP4D,MALO,aAML5F,KAAK4/B,YAAc,IACnB5/B,KAAKtL,KAAO,GACZsL,KAAKvG,MAAQ,MAOToM,KAfC,a,0KAgBL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAWka,KAAK,0BAA2B,CAChErhB,KAAM,CACJoC,KAAMsL,KAAKtL,KACXkrC,YAAa5/B,KAAK4/B,e,OAHhB3iC,E,OAMA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,mBAAoBY,GACvC4G,KAAK2I,OAAOnQ,OAAO,0BAA2B,CAC5C6B,OAAQ,cACRlF,MAAOpC,OAAO8D,KAAKuC,EAAS6pC,YAI9BjjC,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,8DChG0b,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC+I,QAAA,KAAKE,QAAA,KAAKC,cAAA,OCzBxC,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAIs+C,qBAA2B,OAAEl+C,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIs+C,qBAAqB,OAASt+C,EAAIqH,OAAO,sBAAsBrH,EAAIu+C,YAAY,uBAAuBv+C,EAAIu+C,YAAY,eAAe,CAAEC,oBAAqB,EAAE,EAAG,GAAI,GAAI,GAAI,OAAQl5C,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,SAAS9E,GACld,IAAI43B,EAAQ53B,EAAI43B,MAChB,MAAO,CAAEt4B,EAAIs+C,qBAA2B,OAAEl+C,EAAG,qBAAqB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,SAAW,KAAKN,EAAI0F,GAAG,GAAQ,SAASg/B,GAAG,OAAOtkC,EAAG,oBAAoB,CAAC1K,IAAIgvC,EAAEjuC,IAAI,CAAC2J,EAAG,2BAA2B,CAACE,MAAM,CAAC,MAAQ,mBAAmB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,GAAG,QAAU,kBAAkB,CAC7RN,EAAIy+C,oBAAoB,gBAAiB,WAAY/Z,EAAEtyB,MACvDhS,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,4BAA4B,CAACE,MAAM,CAAC,WAAaokC,EAAEjuC,OAAO,GAAGuJ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAAEokC,EAAkB,iBAAEtkC,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,MAAQ,OAAO,MAAQN,EAAIS,GAAG,sCAAsC,CAACT,EAAIO,GAAG,gBAAgBP,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACyK,MAAM,CAAE4P,UAAWiqB,EAAEE,QAAStkC,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGkkC,EAAE2M,gBAAgB,QAAQ,IAAI,GAAGjxC,EAAG,4BAA4B,CAAEJ,EAAIuD,cAAc,gBAAiB,WAAYmhC,EAAEjuC,IAAK2J,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACmB,YAAY,eAAe,CAAEmjC,EAAQ,OAAEtkC,EAAG,qBAAqB,CAACE,MAAM,CAAC,OAAS,mCACvnBokC,EAAE2M,eACF,IAAI,UAAU,GAAG,KAAO,GAAG,MAAQ,UAAU1wC,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAI0+C,eAAeha,EAAEjuC,OAAO,CAAC2J,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,YAAYP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,KAAKT,EAAIQ,GAAGkkC,EAAE2M,gBAAgB,MAAM,GAAGrxC,EAAI6C,KAAO6hC,EAAEE,OAEd5kC,EAAI6C,KAFkBzC,EAAG,qBAAqB,CAACE,MAAM,CAAC,OAAS,iCAClUokC,EAAE2M,eACF,IAAI,UAAU,GAAG,KAAO,GAAG,MAAQ,SAAS1wC,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAI2+C,aAAaja,EAAEjuC,OAAO,CAAC2J,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,kBAAkBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,KAAKT,EAAIQ,GAAGkkC,EAAE2M,gBAAgB,MAAM,IAAa,IAAI,GAAGrxC,EAAI6C,KAAKzC,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,EAAE,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAIS,GAAG,+BAAiCikC,EAAEzrC,SAASmH,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,EAAE,MAAQN,EAAIS,GAAG,4BAA4B,MAAQikC,EAAEka,YAAala,EAAkB,iBAAEtkC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,EAAE,MAAQN,EAAIS,GAAG,oCAAoC,MAAQikC,EAAEma,oBAAoB7+C,EAAI6C,KAAM6hC,EAAe,cAAEtkC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,EAAE,MAAQN,EAAIS,GAAG,iCAAiC,MAAQikC,EAAEoa,iBAAiB9+C,EAAI6C,KAAM6hC,EAAkB,iBAAEtkC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,EAAE,MAAQN,EAAIS,GAAG,oCAAoC,MAAQikC,EAAEqa,oBAAoB/+C,EAAI6C,KAAM6hC,EAAkB,iBAAEtkC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,EAAE,MAAQN,EAAIS,GAAG,oCAAoC,MAAQikC,EAAEsa,oBAAoBh/C,EAAI6C,KAAM6hC,EAAc,aAAEtkC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,EAAE,MAAQN,EAAIS,GAAG,gCAAgC,MAAQikC,EAAEua,gBAAgBj/C,EAAI6C,KAAM6hC,EAAgB,eAAEtkC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,EAAE,MAAQN,EAAIS,GAAG,kCAAkC,MAAQikC,EAAEwa,kBAAkBl/C,EAAI6C,MAAM,GAAGzC,EAAG,2BAA2B,CAACE,MAAM,CAAC,WAAaokC,EAAEjuC,GAAG,MAAQuJ,EAAIm/C,MAAQ,KAAMn/C,EAAkB,eAAEI,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAIo/C,eAAe1a,GAAItkC,EAAG,4BAA4B,CAACE,MAAM,CAAC,iBAAmBokC,EAAEjuC,MAAMuJ,EAAI6C,MAAM,IAAI,GAAG7C,EAAI6C,MAAM,IAAI,MAAK,GAAG7C,EAAI6C,SAAS,KAAK,MAAM,cAAc7C,EAAI6C,MAAM,IAAI,IACpuD,GAAkB,GCTlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiCE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC3F,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,UAAU,GAAG,MAAQ,WAAWyF,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,KAAMT,EAAkB,eAAEI,EAAG,OAAO,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAG,MAAMP,EAAIQ,GAAGR,EAAIS,GAAG,+BAAiCT,EAAIk9C,iBAAiB,SAASl9C,EAAI6C,MAAM,QAAQ7B,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,2LAA6L,GAAGH,EAAG,aAAaA,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,iBAAiB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gCAAgC,MAAQT,EAAIq/C,YAAY,YAAY,SAAUjkD,GAAK,OAAO4E,EAAIS,GAAG,0BAA4B6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAC/zC,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAAiC2I,IAAO,QAAQ,CAAC1T,IAAI,YAAY8P,GAAG,SAAS9E,GAC9G,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAAiC2I,IAAO,UAAUpI,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAIs/C,aAAap+C,GAAKG,WAAW,mBAAmB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,CAAC,SAAUlF,GAAK,OAAOA,EAAI,GAAK4E,EAAIkZ,MAAM7jB,EAAE,oBAAsB,MAAQ2K,EAAIS,GAAG,+BAA+B,KAAO,UAAUO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIu/C,YAAYv/C,EAAI4lC,GAAG1kC,IAAMG,WAAW,kBAAkB,GAAGrB,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAM,CAAEg7B,MAAOtxC,EAAE6pD,OAAQ99C,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,SAAW,GAAG,MAAQN,EAAIS,GAAG,8BAAgC,KAAOT,EAAIS,GAAGlM,EAAEgI,QAAU,KAAKyE,MAAM,CAAC5L,MAAO4K,EAAIw/C,WAAWjrD,EAAEgI,QAAS0E,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIw/C,WAAYjrD,EAAEgI,OAAwB,kBAAR2E,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,2BAA2B,MAAKjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,MAAQ,CAAC,SAAUrF,GAAK,OAAOA,EAAI,GAAK4E,EAAIS,GAAG,oBAAsB,SAAW,GAAG,KAAO,UAAUO,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAI4+C,SAAS5+C,EAAI4lC,GAAG1kC,IAAMG,WAAW,eAAe,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qCAAqCO,MAAM,CAAC5L,MAAO4K,EAAoB,iBAAEiB,SAAS,SAAUC,GAAMlB,EAAI6+C,iBAAiB39C,GAAKG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kCAAkCO,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAI8+C,cAAc59C,GAAKG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qCAAqCO,MAAM,CAAC5L,MAAO4K,EAAoB,iBAAEiB,SAAS,SAAUC,GAAMlB,EAAI++C,iBAAiB79C,GAAKG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qCAAqCO,MAAM,CAAC5L,MAAO4K,EAAoB,iBAAEiB,SAAS,SAAUC,GAAMlB,EAAIg/C,iBAAiB99C,GAAKG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mCAAmCO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIk/C,eAAeh+C,GAAKG,WAAW,qBAAqB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiCO,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAIi/C,aAAa/9C,GAAKG,WAAW,mBAAmB,IAAI,IAAI,IAAI,IAAI,IACvmF,GAAkB,GCkIP,UAAIK,OAAO,CACxBsG,MAAO,CACLy3C,iBAAkBlgD,QAGpBhN,KALwB,aAMtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KACP2lD,YAAa,CAAC,WAAY,WAAY,QAAS,OAAQ,QAAS,QAEhEC,aAAc,QACdC,YAAa,EACbC,WAAY,GACZX,iBAAkB,MAClBC,cAAe,MACfC,iBAAkB,MAClBC,iBAAkB,MAClBE,eAAgB,MAChBD,aAAc,MACdL,SAAU,IAId98C,SAAU,OAAF,oDACH,eAAW,UAAW,CAAC,iBAAkB,qBACzC,eAAS,WAAY,CAAC,aACtB,eAAW,WAAY,CAAC,eAAa,CAExC49C,eAFwC,aAGtC,OAAOz/C,KAAKkjC,eAAeljC,KAAKw/C,mBASlCvC,eAZwC,aAatC,IAAMyC,EAAW1/C,KAAK2/C,gBAAgB3/C,KAAKw/C,mBAAqB,GAC1Dhd,EAAQ,IAAEnsC,IAAIqpD,EAAU,QACxBE,EAAa,IAAEjhD,MAAM6jC,GACxBmZ,UACAW,UACAkB,MAAM,IAAE1oB,MACR2oB,OACAtoD,QACH,OAAOyqD,GAAc,WAIzB99C,MAAO,CACLu9C,aAAc,CACZp7C,UAAW,KACXC,QAFY,aAGVlE,KAAK6/C,oBAKX79C,QAAS,CAKP4D,MALO,aAML,GAAI5F,KAAKy/C,eAAgB,CACvBz/C,KAAK4+C,iBAAmB5+C,KAAKy/C,eAAeb,iBAC5C5+C,KAAK6+C,cAAgB7+C,KAAKy/C,eAAeZ,cACzC7+C,KAAK8+C,iBAAmB9+C,KAAKy/C,eAAeX,iBAC5C9+C,KAAK++C,iBAAmB/+C,KAAKy/C,eAAeV,iBAC5C/+C,KAAKi/C,eAAiBj/C,KAAKy/C,eAAeR,eAC1Cj/C,KAAKg/C,aAAeh/C,KAAKy/C,eAAeT,aAG1Ch/C,KAAKq/C,aAAer/C,KAAKi9C,eACzBj9C,KAAKs/C,YAAc,GAOfz5C,KAvBC,a,0KAwBL7F,KAAKvG,MAAQ,K,kBAIE,OAAM,GAAWka,KAAK,2BAA4B,CAC7DrhB,KAAM,CACJwtD,kBAAmB9/C,KAAKw/C,iBACxBO,aAAc//C,KAAKq/C,aACnBC,YAAat/C,KAAKs/C,YAClBC,WAAYv/C,KAAKu/C,WACjBX,iBAAkB5+C,KAAK4+C,iBACvBC,cAAe7+C,KAAK6+C,cACpBC,iBAAkB9+C,KAAK8+C,iBACvBC,iBAAkB/+C,KAAK++C,iBACvBE,eAAgBj/C,KAAKi/C,eACrBD,aAAch/C,KAAKg/C,aACnBL,SAAU3+C,KAAK2+C,Y,OAZblhD,E,OAiBArE,EAAW,IAAErE,IAAI0I,EAAM,aAC7BuC,KAAK2I,OAAOnQ,OAAO,mBAAoBY,GAGvC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,2DAQJomD,eA3DO,aA4DL7/C,KAAKu/C,WAAWjzB,GAAKtkB,OACnBhI,KAAKiZ,MAAM7jB,EAAE,+BAAiC4K,KAAKq/C,aAAc,OAEnEr/C,KAAKu/C,WAAWhzB,GAAKvkB,OACnBhI,KAAKiZ,MAAM7jB,EAAE,+BAAiC4K,KAAKq/C,aAAc,OAEnEr/C,KAAKu/C,WAAW/yB,GAAKxkB,OACnBhI,KAAKiZ,MAAM7jB,EAAE,+BAAiC4K,KAAKq/C,aAAc,WCvQ0X,MCO/b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAACl9C,QAAA,KAAKsR,aAAA,KAAUjR,QAAA,KAAKsC,YAAA,KAAS2P,SAAA,KAAM/R,QAAA,KAAKujB,WAAA,KAAQtjB,cAAA,OC9B9E,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,4BAA4B,QAAUT,EAAI2J,SAAShJ,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,sBAAsB,CAACY,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAIkjC,SAAShiC,GAAKG,WAAW,eAAe,IAC3e,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACJ,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAM,CAAEg7B,MAAOtxC,EAAEsxC,OAAQvlC,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAGlM,EAAEgI,QAAU,IAAMyD,EAAIS,GAAG,wBAAwB,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIkjC,SAASvuC,KAAKJ,EAAEgI,QAAS0E,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIkjC,SAASvuC,KAAMJ,EAAEgI,OAAwB,kBAAR2E,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,8BAA8B,MAA4B,aAAtBrB,EAAIkjC,SAASjqC,KAAqBmH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIkjC,SAASrD,YAAY,UAAY,EAAE,eAAiB,WAAW,eAAiB,YAAYl/B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,QAAa,GAAGZ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kCAAkC,MAAQT,EAAIkjC,SAASpyB,SAAS,KAAO,kEAAkE,YAAc,CAAC9Q,EAAIkjC,SAASzsC,IAAI,UAAY,GAAG,kBAAkB,IAAIkK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAIkjC,SAASjqC,KAAK,MAAQ+G,EAAIq/C,YAAY,YAAY,SAAUjkD,GAAK,OAAO4E,EAAIS,GAAG,0BAA4BE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,KAAU0E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAC9jD,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAAiC2I,IAAO,QAAQ,CAAC1T,IAAI,YAAY8P,GAAG,SAAS9E,GAC9G,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAAiC2I,IAAO,aAAa,GAAGhJ,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,MAAQT,EAAIkjC,SAAS0b,UAAUj+C,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,IAAI,IAAI,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,cAAcT,EAAIkjC,SAAS2b,kBAAkBl+C,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,qBAAsB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,cAAcT,EAAIkjC,SAAS4b,eAAen+C,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,cAAcT,EAAIkjC,SAAS6b,kBAAkBp+C,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,qBAAsB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,cAAcT,EAAIkjC,SAAS8b,kBAAkBr+C,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,qBAAsB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kCAAkC,cAAcT,EAAIkjC,SAASgc,gBAAgBv+C,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,mBAAoB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gCAAgC,cAAcT,EAAIkjC,SAAS+b,cAAct+C,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,iBAAkB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,cAAcT,EAAIkjC,SAASyB,kBAAkBhkC,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,qBAAsB1M,QAAa,IAAI,IAAI,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6B,MAAQT,EAAIkjC,SAAS+c,WAAWt/C,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,YAAa1M,QAAa,IAAI,IAAI,IAAI,IAChwE,GAAkB,GCmJP,UAAIc,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGTT,KALwB,aAMtB,MAAO,CACL8sD,YAAa,CAAC,WAAY,WAAY,OAAQ,QAAS,QAAS,QAChEvuC,SAAU,IAIdhP,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,UAAW,YACjC,eAAW,WAAY,CAAC,eAAa,CAgBxCohC,SAhBwC,aAiBtC,OAAOjjC,KAAK7K,MACR6K,KAAK7K,MACL,CACEqB,GAAI,EACJwC,KAAM,WACNtE,KAAM,GACNkrC,YAAa,EACbgf,iBAAkB,MAClBC,cAAe,KACfC,iBAAkB,KAClBC,iBAAkB,MAClBkB,cAAe,MACfjB,aAAc,KACdta,iBAAkB,KAClBia,SAAU,EACV9tC,SAAU,KACV8zB,OAAQ,MACRqb,UAAW,OAKrBl+C,MAAO,CACL+O,SADK,WACIqvC,GACP,QAAczlD,IAAVylD,EAAqB,CACvBlgD,KAAKijC,SAASpyB,SAAW,EACzB7Q,KAAKijC,SAASyB,iBAAmB,UAEjC1kC,KAAKijC,SAASpyB,SAAWqvC,IAK/Bl+C,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExB,GAAiB,WAAbgS,EAAuB,CACzB,IAAIuL,EAAQhlB,SAASvE,EAAO,IAGxBmK,OAAOqf,MAAMD,KACfA,EAAQ,GAEVjE,EAAgBiE,EAElB1e,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAKijC,WAAW,SAAC9nC,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,SAKvD3G,WAAY,CACVqxB,uBCzPyb,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC1xB,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKujB,WAAA,KAAQtjB,cAAA,OCF3C,cAAIlB,OAAO,CACxBsG,MAAO,CACL/D,WAAY1E,QAGdhN,KALwB,aAMtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KACPiQ,QAAS,MACTu5B,SAAU,OAIdphC,SAAU,OAAF,UACH,eAAW,UAAW,CAAC,oBAG5BG,QAAS,CAKD4D,MALC,a,wKAML5F,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,kBAEX,OAAMuG,KAAK2I,OAAOlQ,SAAS,wBAAyB,CAClDsa,MAAO,KACP/O,WAAYhE,KAAKgE,a,OAEb8Q,EAAY,IAAE8B,UAAU5W,KAAKkjC,eAAeljC,KAAKgE,aACvDhE,KAAKijC,SAAWnuB,E,mDAEhB9U,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,oFAQb7D,KA1BC,a,0KA2BL7F,KAAKvG,MAAQ,K,GAERuG,KAAKijC,S,mEAMK,OAAM,GAAWtvB,KAAK,qBAAsB,CACvDrhB,KAAM,CACJwtD,kBAAmB9/C,KAAKijC,SAASzsC,GACjCqa,SAAU7Q,KAAKijC,SAASpyB,SACxBnc,KAAMsL,KAAKijC,SAASvuC,KACpBsE,KAAMgH,KAAKijC,SAASjqC,KACpB4mC,YAAa5/B,KAAKijC,SAASrD,YAC3Bgf,iBAAkB5+C,KAAKijC,SAAS2b,iBAChCC,cAAe7+C,KAAKijC,SAAS4b,cAC7BC,iBAAkB9+C,KAAKijC,SAAS6b,iBAChCC,iBAAkB/+C,KAAKijC,SAAS8b,iBAChCE,eAAgBj/C,KAAKijC,SAASgc,eAC9BD,aAAch/C,KAAKijC,SAAS+b,aAC5Bta,iBAAkB1kC,KAAKijC,SAASyB,iBAChCia,SAAU3+C,KAAKijC,SAAS0b,SACxBqB,UAAWhgD,KAAKijC,SAAS+c,a,OAfvBviD,E,OAoBArE,EAAW,IAAErE,IAAI0I,EAAM,aAC7BuC,KAAK2I,OAAOnQ,OAAO,mBAAoBY,GAGvC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVqsC,0BC7G+b,MCO/b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QC+JA,UAAI1+C,OAAO,CACxB/M,KAAM,2BAENqT,MAAO,CACL/D,WAAY1E,OACZ8H,OAAQY,OACRk3C,MAAO,CACLlmD,KAAMsG,OACNuf,QAAS,IAIbvsB,KAZwB,aAatB,MAAO,IAGTuP,SAAU,OAAF,oDACH,eAAW,OAAQ,CAAC,mBACpB,eAAS,WAAY,CAAC,YACtB,eAAW,UAAW,CAAC,iBAAkB,qBAAmB,CAE/DohC,SAF+D,aAG7D,OAAOjjC,KAAKkjC,eAAeljC,KAAKgE,aAGlCo8C,WAN+D,aAO7D,IAAMA,EAAapgD,KAAK2/C,gBAAgB3/C,KAAKgE,YAC7C,OAAO,IAAE9I,OAAOklD,EAAY,CAAE5pD,GAAI,KAGpC6nD,qBAX+D,aAW3C,WAClB,OAAO,IAAE1/C,MAAMqB,KAAKogD,YACjB/pD,KAAI,SAACouC,GACJ,OAAO,OAAP,wBACKA,GAAC,CACJ2M,eAAgB3M,EAAE/vC,KAAK,EAAK4H,aAG/BihC,QAAQ,CAAC,mBACTpoC,SAQLmpD,YA5B+D,aA6B7D,GAAmB,IAAft+C,KAAKk/C,MACP,OAAO,KAET,OAAOl/C,KAAKq+C,qBAAqBvrD,OAAS,MAI9CgP,MAAO,CACLkC,WAAY,CACVC,UAAW,KACXC,QAFU,WAEF0P,GACN5T,KAAKqgD,mBAKXr+C,QAAS,CAMPw8C,oBANO,WAOL8B,EACA/hD,EACA4T,GAEA,IAAMouC,EAAUpuC,EAAKwqB,MAAM,KAAKtmC,IAAIiJ,QAFxB,kBAISihD,GAJT,MAIZ,IAAK,EAAL,qBAA8B,KAAnBC,EAAmB,QAC5B,GAAIxgD,KAAKsD,cAAcg9C,EAAe/hD,EAAYiiD,GAChD,OAAO,MANC,8BAUZ,OAAO,OAGTH,cAtBO,aAuBLrgD,KAAK2I,OAAOlQ,SAAS,gCAAiC,CACpDsa,MAAO,MACPlC,SAAU7Q,KAAKgE,cAIb06C,aA7BC,WA6BY16C,G,mLACJ,OAAM,GAAW2P,KAAK,mBAAoB,CACrDrhB,KAAM,CAAEwtD,kBAAmB97C,K,OADvBvG,E,OAIArE,EAAW,IAAErE,IAAI0I,EAAM,aAC7BuC,KAAK2I,OAAOnQ,OAAO,mBAAoBY,G,iDAGnCqlD,eAtCC,WAsCcz6C,G,mLACN,OAAM,GAAW2P,KAAK,qBAAsB,CACvDrhB,KAAM,CAAEwtD,kBAAmB97C,K,OADvBvG,E,OAIArE,EAAW,IAAErE,IAAI0I,EAAM,aAC7BuC,KAAK2I,OAAOnQ,OAAO,mBAAoBY,G,iDAGzC+lD,eA/CO,WA+CQ1a,GACb,IAAKA,EACH,OAAO,MAGT,GAAIA,EAAEE,QAAqB,SAAXF,EAAEzrC,KAChB,OAAO,MAGT,OAAOgH,KAAKw+C,oBAAoB,kBAAmB,WAAY/Z,EAAEtyB,QAIrE2B,WAAY,CACV2sC,6BACAC,gCC/S8b,M,aCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAACl+C,QAAA,KAAKm+C,iBAAA,KAAc9O,mBAAA,KAAgBC,0BAAA,KAAuBC,yBAAA,KAAsBC,oBAAA,KAAiBv9B,SAAA,KAAM/R,QAAA,OCUtH,cAAIjB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACL8U,OAAQ,KAIZvF,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAS,WAAY,CAAC,YACtB,eAAW,UAAW,CAAC,0BAA2B,sBAGvDiS,WAAY,CACV8sC,4BACAC,+BCvDua,MCOva,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAACz+C,SAAA,KAAME,UAAA,QAAUG,cAAA,KAAWsC,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UC7BrF,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACnB,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAU,OAAEI,EAAG,kBAAkBJ,EAAI6C,KAAKzC,EAAG,YAAYA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAI+gD,YAAY7/C,GAAKG,WAAW,mBAAmBoE,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBL,EAAG,YAAYA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,SAAS,cAAc,GAAG,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIqH,OAAuB,kBAARnG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,aAAa,GAAGjB,EAAG,cAAc,CAACA,EAAG,eAAe,CAACmB,YAAY,kBAAkBjB,MAAM,CAAC,MAAQN,EAAIgxB,OAAO,OAAShxB,EAAIqH,OAAO,QAAUrH,EAAIzC,QAAQ,eAAeyC,EAAIS,GAAG,gBAAgB,aAAa,SAAU2I,GAAQ,OAAQA,EAAKqR,UAAY,YAAc,KAAQnV,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAU,OAAE,CAACtK,IAAI,UAAU8P,GAAG,SAAS9E,GACnnC,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,kBAAkB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,SAAS,MAAM,KAAK,SAAS,IAAI,IAAI,IAChF,GAAkB,G,0BCHlB,GAAS,WAAa,IAAIuJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,kBAAkB,QAAUT,EAAI2J,SAAShJ,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,YAAY,CAACY,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAIghD,aAAa9/C,GAAKG,WAAW,mBAAmB,IACne,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,GAAK,IAAI,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQT,EAAIiwB,MAAMt7B,KAAK,MAAQ,CAAC,SAAUsX,GAAO,QAASA,GAAOjM,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,GAAK,IAAI,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIiwB,MAAM5mB,QAAQ,MAAQ,CAAC,SAAU4C,GAAO,QAASA,GAAOjM,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,UAAW1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,GAAK,IAAI,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIiwB,MAAM3mB,WAAW,MAAQ,CAAC,SAAU2C,GAAO,QAASA,GAAOjM,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,GAAK,IAAI,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAIiwB,MAAM1mB,iBAAiB5I,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,EAAQ,aAAa,IAAI,GAAGR,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAIiwB,MAAM3hB,aAAa3N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAIiwB,MAAM1hB,cAAc5N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,eAAgB1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIiwB,MAAMQ,eAAe9vB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,gBAAiB1M,QAAa,GAAIZ,EAAIiwB,MAAQ,GAAE7vB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,cAAcT,EAAIiwB,MAAMxV,WAAW9Z,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,QAAa,GAAGZ,EAAI6C,MAAM,IAAI,IAC5hE,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,mBAAmBH,EAAG,6BAA6B,CAACO,GAAG,CAAC,KAAO,SAASC,GAAQ,OAAOZ,EAAIihD,gBAAgBrgD,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIywB,cAAc,QAAUzwB,EAAIzC,QAAQ,sBAAsB,IAAI+H,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAChhB,IAAI0I,EAAO1I,EAAI0I,KACXzO,EAAQ+F,EAAI/F,MAChB,MAAO,CAACyF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,8BAA8B,CAACY,MAAM,CAAC5L,MAAO4K,EAAIywB,cAAc91B,GAAQsG,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIywB,cAAe91B,EAAOuG,IAAMG,WAAW,2BAA2B,GAAGjB,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAKunB,aAAa,GAAGvwB,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAKynB,WAAW,GAAGzwB,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIyR,kBAAkBrI,EAAKmE,0BAA0BnN,EAAG,KAAKJ,EAAI0F,GAAI0D,EAAa,UAAE,SAASgzB,GAAS,OAAOh8B,EAAG,OAAO,CAAC1K,IAAI0mC,GAAS,CAACp8B,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsB6f,EAASp8B,EAAI2iB,cAAc,UAAS,GAAGviB,EAAG,KAAK,CAACA,EAAG,qBAAqB,CAACE,MAAM,CAAC,KAAO,GAAG,UAAU,GAAG,MAAQN,EAAIS,GAAG,kBAAoB,IAAI,OAAST,EAAIS,GAAG,wBAAwBE,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAIkhD,mBAAmB93C,MAAS,CAAChJ,EAAG,SAAS,CAACJ,EAAIO,GAAG,aAAa,IAAI,aAAa,IAAI,IACrzB,GAAkB,GCJlB,GAAS,WAAa,IAAIP,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,6BAA6B,YAAY,OAAOE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,wBAAwB,CAACY,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAImwB,aAAajvB,GAAKG,WAAW,mBAAmB,IAC1c,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAImwB,aAAaQ,UAAUhwB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQT,EAAImwB,aAAaU,QAAQlwB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,SAAU1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,kBAAkB,UAAU,kBAAkB,WAAW,MAAQN,EAAImwB,aAAa5iB,qBAAqB,aAAa,MAAM,SAAW,IAAI5M,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,uBAAwB1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAImwB,aAAa+H,SAAS,SAAW,GAAG,MAAQ,IAAIv3B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,IAAI,IAAI,IAC5jC,GAAkB,GCwDP,UAAIc,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGT8O,SAAU,CAeRquB,aAfQ,aAgBN,OACElwB,KAAK7K,OAAS,CACZqB,GAAI,EACJyrC,QAAS,EACTvR,SAAU,KACVE,OAAQ,KACRtjB,qBAAsBgC,GACtB2oB,SAAU,CAAC,GAAclG,YAMjC/vB,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAClB6K,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAKkwB,eAAe,SAAC/0B,GAAD,OAAO,iBAAIA,EAAG1F,EAAKN,SAK3D2e,WAAY,CACV4kB,yBC/G2b,MCO3b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACl2B,QAAA,KAAKE,QAAA,OCJpB,cAAIjB,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAETT,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MACRw4B,aAAc,OAGlBluB,QAAS,CAKP4D,MALO,aAML,IAAMuO,EAASphB,OAAOyI,OAAO,GAAIwE,KAAK7K,OACtC6K,KAAKkwB,aAAe/b,GAOtBtO,KAdO,aAeL7F,KAAK8H,MAAM,QAAS9H,KAAKkwB,cACzBlwB,KAAKtI,OAAS,QAGlBoc,WAAY,CACVotC,4BClDic,MCOjc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAInhD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,6BAA6B,cAAc,UAAU,YAAY,OAAOE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,wBAAwB,CAACY,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAImwB,aAAajvB,GAAKG,WAAW,mBAAmB,IACje,GAAkB,GCmBP,UAAIK,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MACRw4B,aAAc,OAGlBluB,QAAS,CAKP4D,MALO,aAML5F,KAAKkwB,aAAe,MAOtBrqB,KAbO,aAcL7F,KAAK8H,MAAM,OAAQ9H,KAAKkwB,cACxBlwB,KAAKtI,OAAS,QAGlBoc,WAAY,CACVotC,4BC9Cgc,MCOhc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QCoCA,UAAIz/C,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CACL6D,KAAME,QAGV5G,KANwB,aAOtB,MAAO,CACL6uD,oBAAqB,CACnB3qD,GAAI,EACJyrC,QAAS,EACTvR,SAAU,KACVE,OAAQ,KACRtjB,qBAAsBgC,GACtB2oB,SAAU,CAAC,GAAclG,YAI/BlwB,SAAU,OAAF,oDACH,eAAS,QAAS,CAAC,iBACnB,eAAW,YAAa,CAAC,uBACzB,eAAW,WAAY,CAAC,2BAAyB,CACpDvE,QADoD,aAElD,IAAM0b,EAAI,CACR,CACEvQ,KAAMzI,KAAKiZ,MAAM7jB,EAAE,gBACnBD,MAAO,OACP2hB,MAAO,OACP+D,SAAU,OAEZ,CACEpS,KAAMzI,KAAKiZ,MAAM7jB,EAAE,mBACnBD,MAAO,WACP2hB,MAAO,SAET,CACErO,KAAMzI,KAAKiZ,MAAM7jB,EAAE,iBACnBD,MAAO,SACP2hB,MAAO,SAET,CACErO,KAAM,YACNtT,MAAO,wBAET,CACEsT,KAAM7K,EAAKxI,EAAE,wBACbD,MAAO,UAET,CAAEA,MAAO,SAAU2hB,MAAO,QAAS+D,SAAU,QAE/C,OAAO7B,GAETwX,cA/BoD,aAgClD,OAAQxwB,KAAK7K,OAAS,MAG1B6M,QAAS,CACPg/C,gBADO,WACS9wB,GACTA,IACHA,EAAelwB,KAAKmhD,qBAEtB,IAAMC,EAAmB,GAAH,sBAAOphD,KAAKwwB,eAAZ,CAA2BN,IACjDlwB,KAAK8H,MAAM,QAASs5C,IAEtBH,mBARO,WAQYzqD,GACjB,IAAM4qD,EAAmB,eAAIphD,KAAKwwB,eAC5B91B,EAAQ0mD,EAAiBpe,QAAQxsC,GACvC4qD,EAAiBptD,OAAO0G,EAAO,GAC/BsF,KAAK8H,MAAM,QAASs5C,KAGxBttC,WAAY,CACVutC,+BACAC,iCC/H6b,MCO7b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACl/C,SAAA,KAAMI,QAAA,KAAKsV,cAAA,KAAWrD,SAAA,KAAMzP,YAAA,KAASC,cAAA,UC+CpD,cAAIxD,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGT8O,SAAU,CAeRmuB,MAfQ,aAgBN,OAAOhwB,KAAK7K,MACR6K,KAAK7K,MACL,CACET,KAAM,GACN0U,QAAS,GACTC,WAAY,GACZC,gBAAiB,GACjBgF,aAAc,GACdD,YAAa,GACbmiB,cAAe,GACfhW,UAAW,SAKrBxY,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAKgwB,QAAQ,SAAC70B,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,SAKpD3G,WAAY,CACVytC,8BCvI+a,MCO/a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAC9tC,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKC,cAAA,OCFnC,cAAIlB,OAAO,CACxBsG,MAAO,CACLvR,GAAI,CACFwC,KAAMsG,OACNyZ,SAAU,OAIdzmB,KARwB,aAStB,MAAO,CACLoF,OAAQ,MACRgS,QAAS,MACTjQ,MAAO,KAEPsnD,aAAc,OAIlBl/C,SAAU,OAAF,UACH,eAAW,QAAS,CAAC,iBAG1BG,QAAS,OAAF,wBACF,eAAW,QAAS,CAAC,gBAAc,CAMtC4D,MANsC,aAOpC5F,KAAKoI,aAODvC,KAdgC,a,6KAe/B7F,KAAK+gD,a,iDAGV/gD,KAAKvG,MAAQ,K,kBAIM,OAAM,GAASka,KAAK,gBAAiB,CACpDrhB,KAAM,CACJkE,GAAIwJ,KAAK+gD,aAAavqD,GACtB9B,KAAMsL,KAAK+gD,aAAarsD,KACxB0U,QAASpJ,KAAK+gD,aAAa33C,QAC3BC,WAAYrJ,KAAK+gD,aAAa13C,WAC9BC,gBAAiBtJ,KAAK+gD,aAAaz3C,gBACnCgF,aAActO,KAAK+gD,aAAazyC,aAChCD,YAAarO,KAAK+gD,aAAa1yC,YAC/BmM,UAAWxa,KAAK+gD,aAAavmC,UAC7BgW,cAAexwB,KAAK+gD,aAAavwB,iB,OAV/BvzB,E,OAaA7D,EAAW,IAAErE,IAAIkI,EAAU,YAAa,IAC9C+C,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAGrC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,2DAQE2O,UAjDgC,a,wKAkDpCpI,KAAK0J,QAAU,K,SACf,OAAM1J,KAAKgxB,WAAWhxB,KAAKxJ,I,OACrB2d,EAASphB,OAAOyI,OAAO,GAAIwE,KAAKmwB,YAAYnwB,KAAKxJ,KACvDwJ,KAAK+gD,aAAe5sC,EACpBnU,KAAK0J,QAAU,M,mDAInBoK,WAAY,CACV0tC,gBC1Gqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIzhD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,mBAAmBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,YAAY,CAACY,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAIiwB,MAAM/uB,GAAKG,WAAW,YAAY,IACvb,GAAkB,GCqBP,UAAIK,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEPu2B,MAAO,OAIXhuB,QAAS,CAKP4D,MALO,aAML5F,KAAKgwB,MAAQ,MAOTnqB,KAbC,a,6KAcA7F,KAAKgwB,M,iDAGVhwB,KAAKvG,MAAQ,K,kBAIM,OAAM,GAASka,KAAK,gBAAiB,CACpDrhB,KAAM,CACJoC,KAAMsL,KAAKgwB,MAAMt7B,KACjB0U,QAASpJ,KAAKgwB,MAAM5mB,QACpBC,WAAYrJ,KAAKgwB,MAAM3mB,WACvBC,gBAAiBtJ,KAAKgwB,MAAM1mB,gBAC5BgF,aAActO,KAAKgwB,MAAM1hB,aACzBD,YAAarO,KAAKgwB,MAAM3hB,YACxBmiB,cAAexwB,KAAKgwB,MAAMQ,iB,OARxBvzB,E,OAYA7D,EAAW,IAAErE,IAAIkI,EAAU,YAAa,IAC9C+C,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,wBAAyB,CAC1C6B,OAAQ,WACRlF,MAAOpC,OAAO8D,KAAKuC,EAAS42B,SAI9BhwB,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACV0tC,gBCjFob,MCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QCkCA,UAAI//C,OAAO,CACxB0G,QADwB,aAEtBnI,KAAK2I,OAAOlQ,SAAS,oBAAqB,CAAEsa,MAAO,SAGrDzgB,KALwB,aAMtB,MAAO,CACL8U,OAAQ,GACR05C,YAAa,QAIjBj/C,SAAU,OAAF,8FACH,eAAS,WAAY,CAAC,YACtB,eAAS,QAAS,CAAC,iBACnB,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CACrB,8BACA,YACA,eAEC,eAAW,YAAa,CAAC,uBAAqB,CAEjDupB,OAFiD,aAG/C,OAAOprB,KAAKsD,cAAc,iBAG5BhG,QANiD,aAO/C,IAAM0b,EAAW,CACf,CACEvQ,KAAM7K,EAAKxI,EAAE,eACbD,MAAO,QAET,CACEsT,KAAM7K,EAAKxI,EAAE,oBACbD,MAAO,oBAET,CACEsT,KAAM7K,EAAKxI,EAAE,wBACbD,MAAO,iBAGP6K,KAAKorB,QACPpS,EAAE9H,QAAQ,CACRzI,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,KACP2hB,MAAO,MACP+D,SAAU,QAGd,OAAO7B,GAGT+X,OAhCiD,aAgC3C,WACAA,EAAS/wB,KAAKowB,UACbpwB,KAAK8gD,cACR/vB,EAASA,EAAOnyB,QAAO,SAAC9K,GAAD,OAAeA,EAAE0mB,cAE1C,OAAOuW,EAAO16B,KAAI,SAACvC,GACjB,IAAMY,EAAO,EAAK27B,UAAUv8B,EAAE0C,IACxBirD,EAAK,EAAKlxB,4BAA4Bz8B,EAAE0C,IACxCkrD,EAAmB,IAAE/iD,MAAM8iD,GAC9BprD,IAAI,wBACJ0E,OACA1E,KAAI,SAACG,GAAD,OAAQ,EAAKgb,kBAAkBhb,MACnCrB,QACA6V,KAAK,OACF22C,EAAe,IAAEhjD,MAAM8iD,GAC1BG,QAAQ,YACR7mD,OACA1E,KAAI,SAACG,GAAD,OAAgB,EAAK8lB,sBAAsB9lB,EAAI,EAAKksB,gBACxDvtB,QACA6V,KAAK,MACR,OAAOjY,OAAOyI,OAAO,GAAI1H,EAAG,CAC1BY,OACAgtD,mBACAC,uBAMR7tC,WAAY,CACV+tC,mBACAC,qBCzI6Z,MCO7Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAahC,KAAkB,GAAW,CAAC1/C,SAAA,KAAME,UAAA,QAAUmR,aAAA,KAAUhR,cAAA,KAAWqV,cAAA,KAAW/S,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UC/B1G,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACnB,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,GAAG,KAAO,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,YAAYA,EAAG,kBAAkBA,EAAG,cAAcqF,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,OAAOL,EAAG,YAAYA,EAAG,eAAe,CAACE,MAAM,CAAC,cAAc,SAAS,YAAcN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIqH,OAAOnG,GAAKG,WAAW,aAAa,GAAGjB,EAAG,cAAc,CAAEJ,EAAW,QAAEI,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,MAAMN,EAAI6C,KAAO7C,EAAI2J,QAqBmD3J,EAAI6C,KArB9CzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAW,CAACF,EAAG,QAAQ,CAACmB,YAAY,eAAejB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,qFAAqFH,EAAG,KAAK,CAACJ,EAAIO,GAAG,YAAYP,EAAIO,GAAG,UAAUH,EAAG,SAAS,CAACJ,EAAIO,GAAG,YAAYP,EAAIO,GAAG,2RAA2RH,EAAG,QAAQJ,EAAI0F,GAAG,CACjyC,WACA,WACA,cACA,kBAAmB,SAASwoC,GAAQ,OAAO9tC,EAAG,oBAAoB,CAAC1K,IAAIw4C,EAAO3sC,YAAY,OAAOjB,MAAM,CAAC,MAAQN,EAAI8yC,kBAAkB5E,GAAQ,OAAS,KAAK,MAAQ,oBAAoB,CAACluC,EAAIO,GAAG,IAAIP,EAAIQ,GAAG0tC,GAAQ,UAAS,GAAG9tC,EAAG,QAAQ,CAACmB,YAAY,SAAS,CAACnB,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,CAC/R,CAAEoI,KAAM,MAAOtT,MAAO,IACtB,CAAEsT,KAAM,WAAYtT,MAAO,YAC3B,CAAEsT,KAAM,eAAgBtT,MAAO,eAC/B,CAAEsT,KAAM,iBAAkBtT,MAAO,iBACjC,CACEsT,KAAM,qBACNtT,MAAO,oBAET,CACEsT,KAAM,uBACNtT,MAAO,sBAET,CAAEsT,KAAM,YAAatT,MAAO,cAAgB,YAAY,OAAO,aAAa,QAAQ,MAAQ,cAAc4L,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIgiD,WAAW9gD,GAAKG,WAAW,iBAAiB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIiiD,qBAAqB,QAAUjiD,EAAIzC,QAAQ,iBAAiB,GAAG,OAASyC,EAAIqH,OAAO,eAAe,CACzY,yBAA0B,CAAC,GAAI,GAAI,GAAI,GAAI,MAC3C,eAAerH,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACrF,IAAI0I,EAAO1I,EAAI0I,KAC3B,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAK2/B,aAAa3oC,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAK84C,yBAAyB9hD,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,wBAAwB,CAACE,MAAM,CAAC,SAAW8I,EAAK2/B,UAAUzjC,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC3F,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,MAAQ,GAAG,MAAQ,GAAG,MAAS8I,EAAKye,QAAkB,GAAR,QAAa9hB,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAImiD,aAAaniD,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKye,SAAS,MAAM,OAAO,KAAK,SAAS,GAAGznB,EAAG,KAAK,CAACyK,MAAM,CAAE,YAA6B,GAAhBzB,EAAKye,UAAgB,CAACznB,EAAG,aAAa,CAACE,MAAM,CAAC,OAAS8I,MAAS,GAAGhJ,EAAG,KAAK,CAACA,EAAG,sBAAsB,CAACE,MAAM,CAAC,MAAQ8I,EAAK2pC,YAAY,MAAQ/yC,EAAIgzC,YAAY5pC,EAAK2pC,iBAAiB,SAAS,KAAK,MAAM,eAAe,IAAI,IAAa,IAAI,IAAI,IACtyB,GAAkB,GCtBlB,GAAS,WAAa,IAAI/yC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAU,OAAEI,EAAG,OAAO,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,GAAKN,EAAI4nB,OAAOC,WAAY7nB,EAAyB,sBAAEI,EAAG,SAASJ,EAAIoiD,GAAG,GAAG,SAASpiD,EAAIqiD,UAAU,OAAO,CAACriD,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIsiD,uBAAuB,OAAOtiD,EAAI6C,KAAM7C,EAA0B,uBAAEI,EAAG,SAASJ,EAAIoiD,GAAG,GAAG,SAASpiD,EAAIqiD,UAAU,OAAO,CAACriD,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuiD,wBAAwB,OAAOviD,EAAI6C,KAAM7C,EAAiB,cAAEI,EAAG,SAASJ,EAAIoiD,GAAG,GAAG,SAASpiD,EAAIqiD,UAAU,OAAO,CAACriD,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIwiD,eAAe,OAAOxiD,EAAI6C,KAAO7C,EAAIyiD,MAAuEziD,EAAI6C,KAApEzC,EAAG,8BAA8B,CAACE,MAAM,CAAC,OAASN,EAAI4nB,WAAoB,GAAG5nB,EAAI6C,MACjqB,GAAkB,GC8BP,UAAInB,OAAO,CACxBsG,MAAO,CAKL4f,OAAQ,CACN3uB,KAAMjG,OACNgmB,SAAU,KACV8F,QAAS,aACP,MAAO,KASX2jC,MAAOv6C,QAOPw6C,KAAMx6C,SAGRpG,SAAU,OAAF,sCACH,eAAW,QAAS,CAAC,iBACrB,eAAW,WAAY,CAAC,2BAAyB,CAMpD+G,MANoD,aAOlD,IAAK5I,KAAK2nB,OACR,OAAO,KAET,OAAO3nB,KAAK6oB,YAAY7oB,KAAK2nB,OAAOC,UAOtCy6B,sBAjBoD,aAkBlD,GAAIriD,KAAKwiD,MAEP,MAAO,GAGT,IAAKxiD,KAAK2nB,OAAOM,mBAEf,MAAO,GAGT,GAAIjoB,KAAK2nB,OAAOM,qBAAuBqiB,GAAmBoD,YAEnD1tC,KAAKyiD,KACR,MAAO,GAIX,OAAOziD,KAAKsc,sBACVtc,KAAK2nB,OAAOM,mBACZ,6BAQJq6B,uBA7CoD,aA8ClD,GAAItiD,KAAKwiD,MAEP,MAAO,GAGT,IAAKxiD,KAAK2nB,OAAOM,mBAEf,MAAO,GAGT,GACEjoB,KAAK2nB,OAAOI,sBACZwiB,GAAoBkD,oBAGfztC,KAAKyiD,KACR,MAAO,GAIX,OAAOziD,KAAKsc,sBACVtc,KAAK2nB,OAAOI,oBACZ,6BAQJw6B,cA5EoD,aA6ElD,GAAIviD,KAAKwiD,MAEP,MAAO,GAGT,IAAKxiD,KAAK2nB,OAAOQ,gBAEf,MAAO,GAGT,GAAInoB,KAAK4I,MAAO,CACd,IAAM85C,EAAe,CAAC1iD,KAAK2nB,OAAOQ,iBAC5Bw6B,EAAoB,IAAE31C,QAC1B01C,EACA1iD,KAAK4I,MAAMwgB,kBAEb,GAAIu5B,IAGG3iD,KAAKyiD,KACR,MAAO,GAKb,OAAOziD,KAAKsc,sBACVtc,KAAK2nB,OAAOQ,gBACZ,qBAIJi6B,UA5GoD,aA6GlD,MAAO,CACLl7C,MAAO,KACP07C,OAAQ,KACRh4C,MAAO,gBAKbkJ,WAAY,CACVoW,+BACAqqB,iBCrL8Z,MCO9Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC37B,SAAA,OCwHf,cAAInX,OAAO,CACxB0G,QADwB,aAEtBnI,KAAKoI,aAEP9V,KAJwB,aAKtB,MAAO,CACLoX,QAAS,KACTtC,OAAQ,GACR26C,WAAY,KAGhBlgD,SAAU,OAAF,oDACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,WACxB,eAAW,QAAS,CAAC,YAAa,kBAAmB,iBAAe,CAMvE8mC,aANuE,aAM3D,WACJjpC,EAAqBM,KAAKwrC,gBAChC,OAAO,IAAE7sC,MAAMe,GACZrJ,KAAI,SAACwyC,GAAD,OACH91C,OAAOyI,OAAO,GAAIqtC,EAAI,CACpBiK,YAAa,EAAKA,YAAYjK,GAC9BoZ,qBAAsBpZ,EAAGE,WAAW,EAAKzsC,aAG5CuC,OAAO,YACP1J,SAQLmI,QAxBuE,aAyBrE,IAAM0b,EAAI,CACR,CACEvQ,KAAM7K,EAAKxI,EAAE,wBACbD,MAAO,YAET,CACEsT,KAAM7K,EAAKxI,EAAE,0BACbD,MAAO,uBACP2hB,MAAO,OAET,CACErO,KAAM7K,EAAKxI,EAAE,uBACbD,MAAO,UACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,qBACbD,MAAO,uBACP2hB,MAAO,OAET,CACErO,KAAM7K,EAAKxI,EAAE,mBACbD,MAAO,cACP2hB,MAAO,KAGX,OAAOkC,GAOTgpC,qBA1DuE,aA2DrE,IAAM35C,EAASrI,KAAK2oC,aAEhBv+B,EAAgB,KACpB,OAAQpK,KAAK+hD,YACX,IAAK,WACH33C,EAAW,CAAEwd,QAAS,GACtB,MACF,IAAK,cACHxd,EAAW,WAACy+B,GAAD,OAAsBA,EAAGc,sBACpC,MACF,IAAK,gBACHv/B,EAAW,WAACy+B,GAAD,QACPA,EAAGc,uBAAyBd,EAAGiB,sBACnC,MACF,IAAK,mBACH1/B,EAAW,WAACy+B,GAAD,QACPA,EAAGc,wBACHd,EAAGiB,uBACJjB,EAAGoB,yBACN,MACF,IAAK,qBACH7/B,EAAW,WAACy+B,GAAD,QACPA,EAAGc,wBACHd,EAAGiB,wBACHjB,EAAGoB,0BACJpB,EAAGuB,2BACN,MACF,IAAK,YACHhgC,EAAW,WAACy+B,GAAD,QACPA,EAAGc,wBACHd,EAAGiB,wBACHjB,EAAGoB,2BACHpB,EAAGuB,2BACP,MAGJ,GAAIhgC,EACF,OAAO,IAAExL,OAAOyJ,EAAQ+B,GAE1B,OAAO/B,GAOT65C,SAzGuE,aA0GrE,GAAmB,SAAfliD,KAAKof,MACP,MAAO,iBAET,MAAO,mBAIXpd,QAAS,CAKDoG,UALC,a,kKAMLpI,KAAK0J,QAAU,K,SACf,OAAM1J,KAAK2I,OAAOlQ,SAAS,0BAA2B,M,OACtDuH,KAAK0J,QAAU,M,iDAOjBopC,YAfO,WAeKjK,GAGV,IAFA,IAAIlL,EAAQ,EACNkW,EAAS,CAAC,WAAY,WAAY,cAAe,iBACvD,MAAqBA,EAArB,eAA6B,CAAxB,IAAM5F,EAAM,KACTx4C,EAAM,OAAH,OAAUw4C,EAAV,YACLpF,EAAGpzC,GAAO,IACZkoC,GAAgB,GAGpB,GAAc,IAAVA,EACF,OAAO,GAET,OAAQA,EAAQ,EAAO,KAMzBoV,YAjCO,WAiCKe,GACV,GAAIA,GAAS,GACX,MAAO,iBAET,GAAIA,GAAS,GACX,MAAO,kBAET,GAAIA,GAAS,GACX,MAAO,kBAET,MAAO,OAQTjB,kBAnDO,WAmDW5E,GAChB,IAAMx4C,EAAM,OAAH,OAAUw4C,EAAV,YACH8F,EAAQ/zC,KAAK2oC,aAAa71C,OAC1BkhD,EAAW,IAAEp1C,OAAOoB,KAAK2oC,cAAc,SAACE,GAAD,QAAUA,EAAGpzC,MAAM3C,OAChE,OAAQkhD,EAAWD,EAAS,MAGhCjgC,WAAY,CACV+uC,cACAlO,kBACA3F,4BC3Uma,MCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAmBhC,KAAkB,GAAW,CAAC7sC,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKC,cAAA,KAAWqV,cAAA,KAAWrD,SAAA,KAAM2pB,qBAAA,KAAkB95B,mBAAA,KAAgB5B,QAAA,KAAKujB,WAAA,KAAQlhB,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UCrC/J,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACA,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,SAAW,GAAG,KAAO,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAIuD,cAAc,4BAA6BnD,EAAG,0BAA0BJ,EAAI6C,OAAO4C,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4BL,EAAG,YAAYA,EAAG,eAAe,CAACE,MAAM,CAAC,cAAc,SAAS,cAAc,GAAG,eAAe,GAAG,UAAY,GAAG,MAAQN,EAAIS,GAAG,WAAWO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIqH,OAAuB,kBAARnG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,aAAa,GAAGjB,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAAEN,EAAkB,eAAEI,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,UAAU,CAACN,EAAIO,GAAG,0HAA0HH,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI+iD,sBAAsB/iD,EAAIO,GAAG,+DAA+DH,EAAG,MAAMA,EAAG,MAAMJ,EAAIO,GAAG,uJAAuJP,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUN,EAAIzC,QAAQ,MAAQyC,EAAIgjD,eAAe,OAAShjD,EAAIqH,OAAO,eAAerH,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACngD,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACyK,MAAM,CAAE4P,UAAWrR,EAAKqR,YAAa,CAACra,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,0BAA0B,CAACE,MAAM,CAAC,WAAW8I,EAAK1T,QAAQ,GAAG0K,EAAG,KAAK,CAACmB,YAAY,OAAO,CAACvB,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAK1T,QAAQ0K,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAK1R,QAAQ60B,OAAOnsB,EAAG,KAAK,CAACA,EAAG,OAAO,CAACyK,MAAM,CAC/P,YAAazB,EAAK1R,QAAQ80B,IAAMpjB,EAAK1R,QAAQ60B,KAC5C,CAACvsB,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK1R,QAAQ80B,IAAI,SAASpsB,EAAG,KAAK,CAACA,EAAG,OAAO,CAACyK,MAAM,CACxE,YAAazB,EAAK1R,QAAQ+0B,IAAMrjB,EAAK1R,QAAQ60B,GAC7C,eACEnjB,EAAK1R,QAAQ+0B,IAAMrjB,EAAK1R,QAAQ80B,IAChCpjB,EAAK1R,QAAQ+0B,IAAMrjB,EAAK1R,QAAQ60B,KACjC,CAACvsB,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK1R,QAAQ+0B,IAAI,SAASrsB,EAAG,KAAK,CAACmB,YAAY,eAAe,CAAE6H,EAAmB,eAAEhJ,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,WAAW,CAACN,EAAIO,GAAG,gBAAgBP,EAAI6C,MAAM,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IACxP,GAAkB,G,0BCIhBvL,GAAiB,EAAgBA,eAIjC2rD,GAAc,EAAgB1rD,mBAI9BC,GAAkB,EAAgBA,gBAE3B0rD,GACsC,GAkC7C,GAAQ,CACZ3mD,OAAQsB,EAAKtB,QAAU,IAAQvH,IAAIiuD,KAAgB3rD,GACnD6rD,kBAAmB,CACjB32B,GAAI,CACFjwB,OAAQ,KACR5H,KAAM,aACNkxC,MAAO,KACPtgB,KAAM,GAERkH,GAAI,CACFlwB,OAAQ,KACR5H,KAAM,gBACNkxC,MAAO,KACPtgB,KAAM,GAERgH,GAAI,CACFhwB,OAAQ,KACR5H,KAAM,UACNkxC,MAAO,MACPtgB,KAAM,IAGV69B,cAAe,IAKX,GAAU,CACdC,SADc,WACLvrD,GACP,OAAOA,EAAMqrD,kBAAkBrrD,EAAMyE,SAEvC+mD,UAJc,WAIJxrD,GACR,IAAIwrD,EAAwBtwD,OAAO8D,KAAKgB,EAAMqrD,mBAAmB7sD,KAC/D,SAACO,GAAD,OAAUiB,EAAMqrD,kBAAkBtsD,MAEpCysD,EAAY,IAAExkD,OAAOwkD,GAAW,SAAC/uD,GAAD,OAC9BA,EAAEgI,SAAWzE,EAAMyE,OAAS,EAAIhI,EAAEgxB,QAEpC,OAAO+9B,GAETnnD,QAbc,WAaNrE,GACN,OAAO9E,OAAO8D,KAAKgB,EAAMqrD,oBAE3BI,cAhBc,WAgBAzrD,GACZ,OAAOA,EAAMqrD,kBAAkBrrD,EAAMyE,QAAQspC,OAAS,OAExDxmB,MAnBc,WAmBRvnB,GACJ,OAAOA,EAAMqrD,kBAAkBrrD,EAAMyE,QAAQspC,MAAQ,QAAU,QAEjErkB,eAAgB,WAAC1pB,GAAD,OAAW,SAAC8iD,GAC1B,IAAKA,EACH,MAAO,QAET,OAAOA,EAAM9iD,EAAMyE,UAiCrBggB,sBACE,WAACzkB,EAAOiB,EAASokB,GAAjB,OACA,SAAC1mB,EAAY+sD,GAEX,QAAW9oD,IAAPjE,QAAmCiE,IAAf8oD,EACtB,MAAO,GAKT,GAA0B,kBAAfA,EAAyB,CAClC,IAAMC,EAAkBD,EAAW5mB,MAAM,KACrC8mB,EAAa,GACbC,EAAe,GACnB,GAAIF,EAAgB1wD,OAAS,EAAG,CAC9B2wD,EAAaD,EAAgB,GAC7BE,EAAeF,EAAgB,GAC/B,IAAKtmC,EAAUjqB,eAAewwD,GAC5B,MAAO,mBAAP,OAA0BA,GAE5B,IAAKvmC,EAAUumC,GAAYxwD,eAAeywD,GACxC,MAAO,uBAAP,OAA8BD,EAA9B,YAA4CC,GAE9CH,EAAarmC,EAAUumC,GAAYC,OAC9B,CACL,IAAKxmC,EAAUjqB,eAAeswD,GAC5B,MAAO,uBAAP,OAA8BA,GAEhCA,EAAarmC,EAAUqmC,IAI3B,GAAIrqD,MAAMC,QAAQoqD,IAAeA,EAAWzwD,OAAS,EAAG,CACtD,IAAMqW,EAAO,IAAEqgB,KACb+5B,GAIA,SAACp6C,GAAD,OAAUA,EAAK3S,GAAGsV,aAAetV,EAAGsV,cAEtC,OAAO3C,EAAKzU,KAAKmD,EAAMyE,QAGzB,MAAO,KAGXymD,eAzGc,WAyGClrD,GACb,OAAO9E,OAAO2L,OAAO7G,EAAMsrD,gBAAkB,IAG/CQ,kBA7Gc,WA6GI9rD,GAChB,OAAO9E,OAAO8D,KAAKgB,EAAMsrD,gBAAkB,IAG7CzuC,yBACE,WAAC7c,GAAD,OACA,SAACgW,GAEC,GAAkB,YAAdA,EACF,OAAOA,EAGT,MAAwB,OAAjBhW,EAAMyE,OAAkB,UAAY,aAI3C,GAAY,OAAH,wBACV3C,GAAoB,CAMvBiqD,UANuB,WAMb/rD,EAAOvD,GACfuD,EAAMyE,OAAShI,EACfsJ,EAAKtB,OAAShI,EACd,IAAMuvD,EAAOhsD,EAAMqrD,kBAAkB5uD,GACrC,IAAQgG,IAAI0oD,GAAa1uD,EAAG,CAAEwvD,SAAU,WACxC,IAAQxpD,IAAI/C,GAAiBssD,EAAKje,MAAO,CAAEke,SAAU,YASvDC,6BApBuB,WAoBMlsD,GAG3B,IAFA,IAAMmsD,EAAY,EAAQ,QAAQA,UAC5B7nD,EAAW,GACjB,MAAkBpJ,OAAO2L,OACvB7G,EAAMsrD,eADR,eAE4B,CAFvB,IAAMxlD,EAAG,KAGZ,GAAIA,EAAI6c,UAIN,SAGF,IADA,IAAM/kB,EAAMkI,EAAIlI,IAChB,MAAqB1C,OAAO8D,KAAK8G,EAAIlG,SAArC,eAA+C,CAA1C,IAAM6E,EAAM,KACVH,EAASlJ,eAAeqJ,KAC3BH,EAASG,GAAU,IAErBH,EAASG,GAAQ7G,GAAOkI,EAAIlG,QAAQ6E,IAGxC,IAAK,IAAL,MAAqBvJ,OAAO8D,KAAKsF,GAAjC,eAA4C,CAAvC,IAAM,EAAM,KACfyB,EAAKqmD,iBACH,EACAlxD,OAAOyI,OAAOoC,EAAKzB,SAAS,GAAS6nD,EAAU7nD,EAAS,MAG5D,OAAOA,KAIL,GAAU,CAKR+nD,iBALQ,cAK0B,IAAf1rD,EAAe,EAAfA,OAAQX,EAAO,EAAPA,M,8KACzBssD,EAAW,IAAQpvD,IAAIiuD,IACzBmB,KAActsD,EAAMqrD,kBAAkBiB,GACxC3rD,EAAO,YAAa2rD,GAEpB3rD,EAAO,YAAanB,IAGhB+sD,EAAS,EAAAnmD,EAAMzI,OAAO,CAC1B0I,QAAS,GAAF,OAAK+kD,GAAL,8BACP3lD,QAAS,K,SAEC,OAAM8mD,EAAOrvD,IAAI,oB,OAAvB+5C,E,OACA11C,EAAW,IAAErE,IAAI+5C,EAAK,YAAa,IACzCt2C,EAAO,WAAYY,GACnBZ,EAAO,gC,6CAII,IACbK,WAAY,KACZhB,MAAA,GACAiB,QAAA,GACAd,UAAA,GACAM,QAAA,ICnSE,GAAS,WAAa,IAAIyH,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,2BAA2BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,gCAAgCjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,OAAO,CAACyK,MAAM,CAAE,aAAc7K,EAAIskD,eAAgB,CAACtkD,EAAIO,GAAGP,EAAIQ,GAAGR,EAAItK,UAAU0K,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,UAAU,MAAQ,CAACN,EAAIukD,iBAAiB,KAAO,4EAA4E,UAAY,IAAIvjD,MAAM,CAAC5L,MAAO4K,EAAO,IAAEiB,SAAS,SAAUC,GAAMlB,EAAItK,IAAoB,kBAARwL,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,UAAU,GAAIrB,EAAIwkD,YAAkB,OAAEpkD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,mBAAmB,CAACvB,EAAIO,GAAG,kBAAkBP,EAAI0F,GAAI1F,EAAe,aAAE,SAASykD,GAAG,OAAOrkD,EAAG,MAAM,CAAC1K,IAAI+uD,EAAEljD,YAAY,OAAO,CAACnB,EAAG,OAAO,CAACyK,MAAM,CAAE,YAAa45C,GAAKzkD,EAAItK,MAAO,CAACsK,EAAIO,GAAG,IAAIP,EAAIQ,GAAGikD,GAAG,aAAY,GAAGzkD,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAMtW,EAAEsxC,MAAQ,QAAU,QAAQvlC,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAGlM,EAAEgI,QAAQ,MAAQ,CAAC,SAAUnB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,UAAYT,EAAIskD,cAActjD,MAAM,CAAC5L,MAAO4K,EAAItI,QAAQnD,EAAEgI,QAAS0E,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAItI,QAASnD,EAAEgI,OAAwB,kBAAR2E,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,wBAAwB,OAAM,IAAI,IACjkD,GAAkB,GCGhBqjD,GAAiB,EAAAxmD,EAAMzI,OAAO,CAClC0I,QAAS,GAAF,OAAK,EAAIE,SAASF,QAAlB,yBAETtB,EAAoB6nD,IACL,UCmDA,UAAIhjD,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KACP+rC,MAAO,KAEP/vC,IAAK,GACLgC,QAASk1B,KACT+3B,qBAAsB,EACtBC,eAAgB,KAChBC,QAAS,KAGb/iD,SAAU,OAAF,wBACH,eAAW,WAAY,CACxB,YACA,iBACA,uBACA,CAMFwiD,aANE,aAOA,OAA0C,OAAnCrkD,KAAKskD,gBAAgBtkD,KAAKvK,MAQnC8uD,YAfE,aAeS,WACT,GAAIvkD,KAAKvK,IAAI3C,OAAS,EACpB,MAAO,GAGT,IAAM+xD,EAAW,IAAEjmD,OAAOoB,KAAK2jD,mBAAmB,SAACa,GAAD,OAChDA,EAAEpyC,WAAW,EAAK3c,QAEpBovD,EAASj5C,OACT,OAAO,IAAEk5C,KAAKD,EAAU,OAI5B7iD,QAAS,CAMP4D,MANO,aAOL5F,KAAKwlC,MAAQ,KACbxlC,KAAKvK,IAAM,GACXuK,KAAKvI,QAAU,CAAE60B,GAAI,GAAIC,GAAI,GAAIC,GAAI,IACrCxsB,KAAK0kD,qBAAuB,EAC5B1kD,KAAK2kD,eAAiB,MAOlB9+C,KAlBC,a,0KAmBL7F,KAAKvG,MAAQ,K,kBAEC,OAAM,GAAeka,KAAK,yBAA0B,CAC9DrhB,KAAM,CACJmD,IAAKuK,KAAKvK,IACVgC,QAASuI,KAAKvI,QACditD,qBAAsB1kD,KAAK0kD,qBAC3BC,eAAgB3kD,KAAK2kD,kB,OALnB7V,E,OAQA11C,EAAW,IAAErE,IAAI+5C,EAAK,YAAa,IACzC9uC,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,yCAGnBwH,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,2DAUJ6qD,gBA9CO,WA8CSS,GACdA,EAASA,GAAU,GACnB,GAAIA,EAAOjyD,OAAS,EAClB,MAAO,YAET,GAAIiyD,EAAO/hB,QAAQ,MAAQ,EACzB,MAAO,wBAET,GAAI,IAAEnoC,SAASmF,KAAK2jD,kBAAmBoB,GACrC,MAAO,qBAET,GAAI,MAAMxK,KAAKwK,GACb,MAAO,sCAET,IAAMF,EAAW,IAAEjmD,OAAOoB,KAAK2jD,mBAAmB,SAACqB,GACjD,IAAMC,EAAsB,GAAH,OAAMD,EAAN,KACnBE,EAAiB,GAAH,OAAMH,EAAN,KACpB,GAAIC,EAAY5yC,WAAW8yC,GACzB,OAAO,KAET,GAAIH,EAAO3yC,WAAW6yC,GACpB,OAAO,QAERr5C,OACH,GAAIi5C,EAAS/xD,OAAS,EACpB,MAAO,uBAAP,OAA8B+xD,EAAS75C,KAAK,OAE9C,OAAO,SCnLia,M,aCQ1a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,WACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACxI,QAAA,KAAKE,QAAA,KAAKC,cAAA,OC1BxC,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,2BAA2BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,uBAAuBjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIolD,SAAS,OAAOplD,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAMtW,EAAEsxC,MAAQ,QAAU,QAAQvlC,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAGlM,EAAEgI,QAAQ,MAAQ,CAAC,SAAUnB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAItI,QAAQnD,EAAEgI,QAAS0E,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAItI,QAASnD,EAAEgI,OAAwB,kBAAR2E,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,wBAAwB,MAAKjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6BO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIqlD,WAAWnkD,GAAKG,WAAW,gBAAiBrB,EAAc,WAAEI,EAAG,MAAM,CAACmB,YAAY,cAAc,CAACnB,EAAG,eAAe,CAACE,MAAM,CAAC,GAAKN,EAAI2kD,wBAAyB3kD,EAAkB,eAAEI,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAI4kD,eAAe,YAAY,MAAM5kD,EAAI6C,MAAM,GAAG7C,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAIya,UAAUvZ,GAAKG,WAAW,gBAAgB,IAAI,IAAI,GAAGrB,EAAI6C,MAC1/C,GAAkB,GCyDP,UAAInB,OAAO,CACxBsG,MAAO,CACLo9C,QAAS,CACPnsD,KAAMgP,OACN+Q,SAAU,OAIdzmB,KARwB,aAStB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEPhC,QAASk1B,KACTy4B,WAAY,MACZV,qBAAsB,EACtBC,eAAgB,KAChBnqC,UAAW,QAIf3Y,SAAU,OAAF,sCACH,eAAS,OAAQ,CAAC,UAClB,eAAS,WAAY,CAAC,mBACtB,eAAW,WAAY,CAAC,eAG7BC,MAAO,CACLsjD,WADK,WACMluC,GACT,GAAIA,EAAQ,CACVlX,KAAK2kD,eAAiB,OAASnlC,SAC/Bxf,KAAK0kD,qBAAuB1kD,KAAKgD,KAAKxM,OACjC,CACLwJ,KAAK2kD,eAAiB,KACtB3kD,KAAK0kD,qBAAuB,KAKlC1iD,QAAS,CAKP4D,MALO,aAML,IAAMy/C,EAAWrlD,KAAKmjD,cAAcnjD,KAAKmlD,SACzC,GAAIE,EAAU,CACZrlD,KAAKvI,QAAU,IAAEmf,UAAUyuC,EAAS5tD,SACpCuI,KAAKolD,aAAeC,EAASV,eAC7B3kD,KAAK0kD,qBAAuBW,EAASX,qBACrC1kD,KAAK2kD,eAAiBU,EAASV,eAC/B3kD,KAAKwa,UAAY6qC,EAAS7qC,cACrB,CACL8qC,MAAM,gBAAkBtlD,KAAKmlD,SAC7BnlD,KAAKtI,OAAS,QAQZmO,KAvBC,a,0KAwBL7F,KAAKvG,MAAQ,K,kBAGC,OAAM,GAAeka,KAAK,yBAA0B,CAC9DrhB,KAAM,CACJmD,IAAKuK,KAAKmlD,QACV1tD,QAASuI,KAAKvI,QACditD,qBAAsB1kD,KAAK0kD,qBAC3BC,eAAgB3kD,KAAK2kD,eACrBnqC,UAAWxa,KAAKwa,a,OANds0B,E,OASA11C,EAAW,IAAErE,IAAI+5C,EAAK,YAAa,IACzC9uC,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,yCAGnBwH,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACVu6B,mBClJ2a,M,aCQ3a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,WACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAC56B,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKC,cAAA,OCyEnC,cAAIlB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACL8U,OAAQ,KAIZvF,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,YAAa,oBACrC,eAAW,OAAQ,CAAC,mBAAiB,CAExC0jD,gBAFwC,aAGtC,OAAOrvD,OAAO2H,SAAS2nD,UAGzB1C,kBANwC,aAOtC,OAAIG,GACK,IAAIwC,IAAIxC,IAA2BuC,SAEnCtvD,OAAO2H,SAAS2nD,UAI3BE,eAdwC,aAetC,OAAO1lD,KAAKulD,kBAAoBvlD,KAAK8iD,mBAQvCxlD,QAvBwC,aAwBtC,IAAM0b,EAAI,CACR,CACEvQ,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,OACPiqB,MAAO,SACPvE,SAAU,OAEZ,CAAEpS,KAAM,MAAOtT,MAAO,MAAOiqB,MAAO,SACpC,CAAE3W,KAAM7K,EAAKxI,EAAE,MAAOD,MAAO,cAC7B,CAAEsT,KAAM7K,EAAKxI,EAAE,MAAOD,MAAO,aAAciqB,MAAO,SAClD,CAAE3W,KAAM7K,EAAKxI,EAAE,MAAOD,MAAO,aAAciqB,MAAO,SAClD,CACE3W,KAAM,WACNtT,MAAO,iBACPiqB,MAAO,WAGX,OAAOpG,KAIXlF,WAAY,CACV6xC,0BACAC,8BC5Jqa,M,aCQra,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,WACA,MAIa,MAAiB,QAgBhC,KAAkB,GAAW,CAAClrB,UAAA,KAAOt4B,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKC,cAAA,KAAWqV,cAAA,KAAWrD,SAAA,KAAM/R,QAAA,KAAKqC,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UCnCvH,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,SAAW,GAAG,KAAO,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAe,YAAEI,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAI8lD,eAAenlD,GAAG,CAAC,cAAgB,SAASC,GAAQ,OAAOZ,EAAI+lD,gBAAgB/lD,EAAI6C,OAAO4C,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,GAAGL,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAIgmD,OAAO,YAAY,OAAO,aAAa,OAAO,eAAe,IAAIhlD,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAIimD,kBAAkB/kD,GAAKG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,cAAc,SAAS,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIqH,OAAuB,kBAARnG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,aAAa,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUN,EAAIzC,QAAQ,MAAQyC,EAAIkmD,KAAK,OAASlmD,EAAIqH,OAAO,eAAerH,EAAIS,GAAG,gBAAgB,qBAAqBT,EAAImmD,YAAY,sBAAsBnmD,EAAImmD,aAAa7gD,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACv6C,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,2BAA2B,CAACE,MAAM,CAAC,MAAQN,EAAI8lD,cAAc,IAAM18C,GAAMzI,GAAG,CAAC,cAAgB,SAASC,GAAQ,OAAOZ,EAAI+lD,oBAAoB,KAAK,SAAS,IAAI,IAAI,IAAI,IAAI,IAClL,GAAkB,GCHlB,GAAS,WAAa,IAAI/lD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,4BAA4BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,YAAY,KAAK,KAAKD,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAUsG,EAAe,YAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,iBAAiB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,SAAS,CAACN,EAAIO,GAAG,8JAA8JP,EAAIQ,GAAGR,EAAIomD,YAAY3vD,IAAI,uCAAuC,GAAG2J,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQ,KAAK,MAAQN,EAAIomD,YAAY3vD,MAAM2J,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQ,QAAQ,MAAQN,EAAIomD,YAAYC,SAAUrmD,EAAY,SAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,OAAO,KAAO,yIACtkCN,EAAIomD,YAAYntD,KAChB,MAAM+H,MAAM,CAAC5L,MAAO4K,EAAIomD,YAAgB,KAAEnlD,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIomD,YAAa,OAAQllD,IAAMG,WAAW,uBAAuB,GAAGrB,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAMtW,EAAEsxC,MAAQ,QAAU,QAAQvlC,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,CAAC,SAAUlF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,MAAQT,EAAIS,GAAGlM,EAAEgI,SAASyE,MAAM,CAAC5L,MAAO4K,EAAIomD,YAAYzxD,KAAKJ,EAAEgI,QAAS0E,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIomD,YAAYzxD,KAAMJ,EAAEgI,OAAwB,kBAAR2E,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,iCAAiC,MAAMrB,EAAY,SAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,uBAAuBU,MAAM,CAAC5L,MAAO4K,EAAIomD,YAAgB,KAAEnlD,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIomD,YAAa,OAAQpmD,EAAI4lC,GAAG1kC,KAAOG,WAAW,uBAAuB,GAAGrB,EAAI6C,MAAM,GAAG7C,EAAI6C,MAAM,IACl3B,GAAkB,GCkEP,UAAInB,OAAO,CACxBsG,MAAO,CACLq+C,MAAO,CACLptD,KAAMjG,OACNgmB,SAAU,MAEZwS,IAAK,CACHvyB,KAAMjG,OACNgmB,SAAU,OAIdzmB,KAZwB,aAatB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEP0sD,YAAa,OAIjBtkD,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,eAAa,CAMxCwkD,SANwC,aAOtC,OAAOrmD,KAAKomD,OAASpmD,KAAKomD,MAAME,SAOlCC,SAdwC,aAetC,OAAOvmD,KAAKomD,OAASpmD,KAAKomD,MAAMI,WAIpCxkD,QAAS,CAOP4D,MAPO,aAQD5F,KAAKurB,MACPvrB,KAAKmmD,YAAc,IAAEvvC,UAAU5W,KAAKurB,OAQlC1lB,KAjBC,a,kKAkBL7F,KAAKvG,MAAQ,K,kBAGX,OAAM,GAAeka,KAAK,yBAA0B,CAClDrhB,KAAM,CACJ8zD,MAAOpmD,KAAKmmD,YAAYC,MACxB5vD,GAAIwJ,KAAKmmD,YAAY3vD,GACrBwC,KAAMgH,KAAKmmD,YAAYntD,KACvBtE,KAAMsL,KAAKmmD,YAAYzxD,KACvB4wB,KAAMtlB,KAAKmmD,YAAY7gC,Q,OAG3BtlB,KAAK8H,MAAM,iBACX9H,KAAKtI,OAAS,M,mDAEdsI,KAAKvG,MAAL,K,6DC/Iwa,MCO5a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACihC,UAAA,KAAOl4B,QAAA,KAAKE,QAAA,KAAKC,cAAA,OC1B/C,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,4BAA4BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,iBAAiB,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQ,QAAQ,MAAQN,EAAIwrB,IAAI66B,SAASjmD,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQ,KAAK,MAAQ,OAAQN,EAAY,SAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,QAAQU,MAAM,CAAC5L,MAAO4K,EAAIwrB,IAAQ,KAAEvqB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIwrB,IAAK,OAAQtqB,IAAMG,WAAW,eAAe,GAAGrB,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAMtW,EAAEsxC,MAAQ,QAAU,QAAQvlC,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,CAAC,SAAUlF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,MAAQT,EAAIS,GAAGlM,EAAEgI,SAASyE,MAAM,CAAC5L,MAAO4K,EAAIwrB,IAAI72B,KAAKJ,EAAEgI,QAAS0E,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIwrB,IAAI72B,KAAMJ,EAAEgI,OAAwB,kBAAR2E,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,yBAAyB,MAAMrB,EAAY,SAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,uBAAuBU,MAAM,CAAC5L,MAAO4K,EAAIwrB,IAAQ,KAAEvqB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIwrB,IAAK,OAAQxrB,EAAI4lC,GAAG1kC,KAAOG,WAAW,eAAe,GAAGrB,EAAI6C,MAAM,IAAI,IACp4C,GAAkB,GC6CP,UAAInB,OAAO,CACxBsG,MAAO,CACLq+C,MAAO,CACLptD,KAAMjG,OACNgmB,SAAU,OAIdzmB,KARwB,aAStB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEP8xB,IAAK,CACH66B,MAAO,GACPptD,KAAM,GACNssB,KAAM,EACN5wB,KAAMi4B,QAKZ9qB,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,eAAa,CAMxCwkD,SANwC,aAOtC,OAAOrmD,KAAKomD,OAASpmD,KAAKomD,MAAME,SAOlCC,SAdwC,aAetC,OAAOvmD,KAAKomD,OAASpmD,KAAKomD,MAAMI,WAIpCxkD,QAAS,CAMP4D,MANO,aAOL5F,KAAKurB,IAAM,CACT66B,MAAOpmD,KAAKomD,MAAM1xD,KAClBsE,KAAM,GACNssB,KAAM,EACN5wB,KAAMi4B,OAQJ9mB,KAnBC,a,wKAoBL7F,KAAKvG,MAAQ,KAEPgtD,EAAS,CACbL,MAAOpmD,KAAKurB,IAAI66B,MAChBptD,KAAMgH,KAAKurB,IAAIvyB,KACftE,KAAMsL,KAAKurB,IAAI72B,KACf4wB,KAAMtlB,KAAKurB,IAAIjG,M,kBAIf,OAAM,GAAe3R,KAAK,wBAAyB,CAAErhB,KAAMm0D,I,OAQ3DzmD,KAAK2I,OAAOlQ,SAAS,qBACrBuH,KAAK2I,OAAOlQ,SAAS,sBACrBuH,KAAK2I,OAAOlQ,SAAS,qBACrBuH,KAAK2I,OAAOlQ,SAAS,yBACrBuH,KAAK2I,OAAOlQ,SAAS,wBACrBuH,KAAK2I,OAAOlQ,SAAS,sBAGrBuH,KAAK8H,MAAM,gBAAiB2+C,GAG5BzmD,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,8DC3Iua,MCO3a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC+I,QAAA,KAAKE,QAAA,KAAKC,cAAA,OCgDzB,cAAIlB,OAAO,CACxB0G,QADwB,aAEtBnI,KAAK0mD,kBAGPp0D,KALwB,aAMtB,MAAO,CAKL0zD,kBAAmB,GACnBD,OAAQ,GACRE,KAAM,GACN7+C,OAAQ,KAIZvF,SAAU,OAAF,wBACH,eAAW,OAAQ,CAAC,mBAAiB,CAMxCgkD,cANwC,aAOtC,OAAO,IAAEr8B,KAAKxpB,KAAK+lD,OAAQ,CAAErxD,KAAMsL,KAAKgmD,qBAAwB,MASlEtvC,YAhBwC,aAiBtC,OACE1W,KAAKsD,cAAc,gCACnBtD,KAAK6lD,eACL7lD,KAAK6lD,cAAcnvC,aAQvB6vC,SA5BwC,aA6BtC,OAAOvmD,KAAK6lD,eAAiB7lD,KAAK6lD,cAAcW,SAQlDH,SArCwC,aAsCtC,OAAOrmD,KAAK6lD,eAAiB7lD,KAAK6lD,cAAcS,SAQlDhpD,QA9CwC,aA+CtC,IAAM0b,EAAW,CACf,CACEvQ,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,OACPiqB,MAAO,SACPvE,SAAU,OAEZ,CAAEpS,KAAM7K,EAAKxI,EAAE,MAAOD,MAAO,KAAMiqB,MAAO,WAGxCpf,KAAKumD,UACPvtC,EAAE5lB,KAAK,CAAEqV,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,SAGhD6jB,EAAE5lB,KAAK,CAAEqV,KAAM7K,EAAKxI,EAAE,MAAOD,MAAO,YACpC6jB,EAAE5lB,KAAK,CAAEqV,KAAM7K,EAAKxI,EAAE,MAAOD,MAAO,YACpC6jB,EAAE5lB,KAAK,CAAEqV,KAAM7K,EAAKxI,EAAE,MAAOD,MAAO,YAEhC6K,KAAKqmD,UACPrtC,EAAE5lB,KAAK,CAAEqV,KAAM7K,EAAKxI,EAAE,iBAAkBD,MAAO,SAGjD,OAAO6jB,GAOTktC,YA5EwC,aA6EtC,OAAOlmD,KAAKimD,KAAKnzD,OAAS,MAI9BgP,MAAO,CACLkkD,kBADK,aAEHhmD,KAAK8lD,cAIT9jD,QAAS,CAMD0kD,eANC,a,0KAOL1mD,KAAKimD,KAAO,GACZjmD,KAAK+lD,OAAS,G,SACG,OAAM,GAAehxD,IAAI,iB,OAApCkI,E,OACA8oD,EAAS,IAAEhxD,IAAIkI,EAAU,YAAa,IAC5C+C,KAAK+lD,OAAS,IAAElnD,OAAOknD,EAAQ,QAC3B/lD,KAAK+lD,QAAU/lD,KAAK+lD,OAAOjzD,OAAS,IACtCkN,KAAKgmD,kBAAoBhmD,KAAK+lD,OAAO,GAAGrxD,M,iDAStCoxD,UAtBC,a,0KAuBL9lD,KAAKimD,KAAO,G,SACK,OAAM,GAAelxD,IAAf,wBACJiL,KAAKgmD,kBADD,U,OAAjB/oD,E,OAGAgpD,EAAc,IAAElxD,IAAIkI,EAAU,YAAa,IACjD+C,KAAKimD,KAAO,IAAE1oB,QAAQ0oB,EAAM,CAAC,OAAQ,OAAQ,S,kDAIjDnyC,WAAY,CACV6yC,4BACAC,8BCrNqa,MCOra,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAchC,KAAkB,GAAW,CAAC59C,iBAAA,KAAc5G,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKC,cAAA,KAAWqV,cAAA,KAAWpV,QAAA,KAAKC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UChChH,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAU,OAAEI,EAAG,yBAAyBJ,EAAI6C,KAAKzC,EAAG,YAAYA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAI+gD,YAAY7/C,GAAKG,WAAW,mBAAmBoE,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4BL,EAAG,YAAYA,EAAG,eAAe,CAACE,MAAM,CAAC,cAAc,SAAS,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIqH,OAAuB,kBAARnG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,aAAa,GAAGjB,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAI8mD,QAAQ,OAAS9mD,EAAIqH,OAAO,QAAUrH,EAAIzC,QAAQ,eAAeyC,EAAIS,GAAG,gBAAgB,eAAe,IAAI6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACpgC,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAAC1K,IAAI0T,EAAK3S,GAAGoU,MAAM,CAAE4P,UAAWrR,EAAKqR,YAAa,CAAEza,EAAU,OAAEI,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,yBAAyB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,OAAO,GAAGuJ,EAAI6C,KAAKzC,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKsB,WAAWtK,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK29C,aAAa,GAAG3mD,EAAG,KAAK,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ8I,EAAKT,MAAM,OAAS,OAAO,GAAGvI,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK49C,wBAAwB,GAAG5mD,EAAG,KAAK,CAACA,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,eAAe,SAAW8I,EAAK3S,GAAG,MAAQ,OAAO,GAAG2J,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,GAAG,GAAK,CAClmB3L,KAAM,mBACN2K,OAAQ,CAAE7I,GAAI2S,EAAK3S,OACjB,CAAC2J,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,mBAAmB,IAAI,aAAa,GAAGP,EAAIgG,GAAG,YAAY,IAAI,IAC1H,GAAkB,GCNlB,GAAS,WAAa,IAAIhG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,2BAA2BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,mBAAmB,CAACY,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAIinD,aAAa/lD,GAAKG,WAAW,kBAAkBjB,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,cAAc,mBAAmB,IAC1iB,GAAkB,GCDlB,GAAS,WAAa,IAAIN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACM,IAAI,SAASJ,MAAM,CAAC,MAAQN,EAAIinD,aAAav8C,OAAO,MAAQ1K,EAAIS,GAAG,wBAAwB,MAAQ,CAAC,SAAUrF,GAAK,OAAOA,EAAI,GAAK4E,EAAIS,GAAG,oBAAsB,SAAW,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,SAAU1M,EAAQ,eAAe,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIinD,aAAat+C,MAAM,MAAQ3I,EAAIS,GAAG,gBAAgB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,SAAW,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,QAAS1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIinD,aAAqB,SAAEhmD,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIinD,aAAc,WAAY/lD,IAAMG,WAAW,4BAA4B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qCAAqC,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAIinD,aAAgC,oBAAEhmD,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIinD,aAAc,sBAAuB/lD,IAAMG,WAAW,uCAAuC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIinD,aAAaC,QAAQ,KAAO,IAAI,MAAQlnD,EAAIS,GAAG,sBAAsBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,UAAW1M,EAAQ,aAAa,IAAI,GAAIZ,EAAIinD,aAAaxwD,IAAMuJ,EAAIuD,cAAc,6BAA8BnD,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,cAAcN,EAAIinD,aAAaxsC,UAAU,MAAQza,EAAIS,GAAG,mBAAmBE,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,YAAa1M,QAAa,IAAI,GAAGZ,EAAI6C,MAAM,IACx6D,GAAkB,GCiEP,UAAInB,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGT8O,SAAU,OAAF,wBACH,eAAW,OAAQ,CAAC,mBAAiB,CAgBxCmlD,aAhBwC,aAiBtC,IAAME,EAAQ,OAAS1nC,SACvB,OAAOxf,KAAK7K,MACR6K,KAAK7K,MACL,CACEsV,OAAQ,EACR/B,MAAO,GACPu+C,QAAS,GACTH,SAAUI,EACVH,oBAAqBG,EACrB1sC,UAAW,UAKrBxY,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAEP,WAAbgS,IACFsH,EAAgB/gB,SAASvE,EAAO,KAElC6K,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAKgnD,eAAe,SAAC7rD,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,WC5H6X,MCOtb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAChH,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OCL9C,cAAIjS,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MAERsvD,aAAc,KACdvtD,MAAO,OAGXuI,QAAS,CAKP4D,MALO,aAML5F,KAAKgnD,aAAe,MAQhBnhD,KAdC,a,iLAeqB,OAAtB7F,KAAKgnD,c,iDAGThnD,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAiBka,KAAK,wBAAyB,CACpErhB,KAAM,CACJmY,OAAQzK,KAAKgnD,aAAav8C,OAC1B/B,MAAO1I,KAAKgnD,aAAat+C,MACzBu+C,QAASjnD,KAAKgnD,aAAaC,QAC3BH,SAAU9mD,KAAKgnD,aAAaF,SAC5BC,oBAAqB/mD,KAAKgnD,aAAaD,oBACvCvsC,UAAWxa,KAAKgnD,aAAaxsC,a,OAP3Bvd,E,OAWA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAAS4tD,cAAc,GACjDhnD,KAAK2I,OAAOnQ,OAAO,yBAA0BY,GAC7C4G,KAAK2I,OAAOnQ,OAAO,gCAAiC,CAClD6B,OAAQ,kBACRlF,MAAOpC,OAAO8D,KAAKuC,EAAS4tD,gBAI7BhnD,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAE/C5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVqzC,uBCjF2b,MCO3b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpnD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,0BAA0B,QAAUT,EAAI2J,SAAShJ,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,mBAAmB,CAACY,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAIinD,aAAa/lD,GAAKG,WAAW,kBAAmBrB,EAAgB,aAAEI,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,cAAc,eAAe,SAAWN,EAAIvJ,MAAMuJ,EAAI6C,MAAM,IAC/mB,GAAkB,GC4BP,UAAInB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAENhN,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MACRgS,QAAS,MAETs9C,aAAc,KACdvtD,MAAO,OAGXoI,SAAU,OAAF,UACH,eAAW,gBAAiB,CAAC,wBAElCG,QAAS,CAKD4D,MALC,a,wKAML5F,KAAK0J,QAAU,K,SACf,OAAM1J,KAAK2I,OAAOlQ,SAAS,kCAAmCuH,KAAKxJ,I,OAC7D2d,EAASphB,OAAOyI,OAAO,GAAIwE,KAAKonD,mBAAmBpnD,KAAKxJ,KAC9DwJ,KAAKgnD,aAAe7yC,EACpBnU,KAAK0J,QAAU,M,iDAQX7D,KAlBC,a,+KAmBqB,OAAtB7F,KAAKgnD,c,iDAGThnD,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAiBka,KAAK,wBAAyB,CACpErhB,KAAM,CACJkE,GAAIwJ,KAAKgnD,aAAaxwD,GACtBiU,OAAQzK,KAAKgnD,aAAav8C,OAC1B/B,MAAO1I,KAAKgnD,aAAat+C,MACzBo+C,SAAU9mD,KAAKgnD,aAAaF,SAC5BC,oBAAqB/mD,KAAKgnD,aAAaD,oBACvCE,QAASjnD,KAAKgnD,aAAaC,QAC3BzsC,UAAWxa,KAAKgnD,aAAaxsC,a,OAR3Bvd,E,OAYA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,yBAA0BY,GAE7C4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVqzC,uBC5F4b,MCO5b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QC6DA,UAAI1lD,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACL8U,OAAQ,GACR05C,YAAa,QAGjB34C,QAPwB,aAWtBnI,KAAK2I,OAAOlQ,SAAS,mCAAoC,CAAEsa,MAAO,SAEpElR,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,gBAAiB,CAAC,sBAAoB,CAEpDupB,OAFoD,aAGlD,OAAOprB,KAAKsD,cAAc,8BAO5BujD,QAVoD,aAWlD,IAAMnnD,EAAsBM,KAAKqnD,iBAC7BR,EAAU,IAAEloD,MAAMe,GACjBM,KAAK8gD,cACR+F,EAAUA,EAAQjoD,OAAO,CAAE4b,UAAW,SAExC,OAAOqsC,EAAQtpB,QAAQ,CAAC,SAAU,YAAa,CAAC,OAAQ,SAASpoC,SAGnEmI,QAnBoD,aAoBlD,IAAM0b,EAAI,CACR,CACEvQ,KAAM7K,EAAKxI,EAAE,wBACbD,MAAO,SACP2hB,MAAO,MACPsI,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,oBACbD,MAAO,WACP2hB,MAAO,OAET,CACErO,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,QACP2hB,MAAO,OAET,CACErO,KAAM7K,EAAKxI,EAAE,qCACbD,MAAO,sBACP2hB,MAAO,OAET,CACErO,KAAM7K,EAAKxI,EAAE,qBACb0hB,MAAO,OAET,CAAErO,KAAM7K,EAAKxI,EAAE,iBAAkB0hB,MAAO,QAGtC9W,KAAKorB,QACPpS,EAAE9H,QAAQ,CACRzI,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,KACP2hB,MAAO,OAIX,OAAOkC,KAGXlF,WAAY,CACVwzC,yBACAC,6BC5Joa,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAehC,KAAkB,GAAW,CAACplD,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUmR,aAAA,KAAUhR,cAAA,KAAWqV,cAAA,KAAWrD,SAAA,KAAM1P,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UCjCrH,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,kBAAkB,IACnI,GAAkB,GCUP,UAAIsB,OAAO,CACxBqS,WAAY,CAAEwH,oBCZiZ,MCO7Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC7Y,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI1C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACnB,EAAG,uBAAuB,IAC9J,GAAkB,GCUP,UAAIsB,OAAO,CACxBqS,WAAY,CACVolB,yBCbma,MCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACz2B,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI1C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAIuD,cAAc,+BAAgC,CAAC7N,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,6BAA6BqF,MAAM,MAAM,MAAM,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8B,GAAGL,EAAG,cAAcJ,EAAI0F,GAAI1F,EAAsB,oBAAE,SAASyiC,EAAMoV,GAAY,OAAOz3C,EAAG,QAAQ,CAAC1K,IAAI,MAAQmiD,GAAY,CAACz3C,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBs7B,EAAY73C,EAAIorC,2BAA2B,OAAOhrC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUN,EAAIzC,QAAQ,MAAQklC,EAAM,qBAAqB,GAAG,sBAAsB,GAAG,MAAQ,IAAIn9B,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACn4B,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAAC1K,IAAI0T,EAAK3S,IAAI,CAAEuJ,EAAIuD,cAAc,+BAAgCnD,EAAG,KAAK,CAACA,EAAG,2BAA2B,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,OAAO,GAAGuJ,EAAI6C,KAAKzC,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKzU,KAAKqL,EAAIzD,YAAY6D,EAAG,KAAK,CAACmB,YAAY,eAAe,CAAE6H,EAAoB,gBAAEhJ,EAAG,OAAO,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,YAAY,CAACN,EAAIO,GAAG,YAAY,GAAGP,EAAI6C,OAAOzC,EAAG,KAAK,CAACmB,YAAY,eAAe,CAAE6H,EAAU,MAAEhJ,EAAG,OAAO,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,YAAY,CAACN,EAAIO,GAAG,YAAY,GAAGP,EAAI6C,OAAOzC,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,sBAAsB,CAACE,MAAM,CAAC,kBAAkB8I,MAAS,GAAGhJ,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKmc,eAAe,KAAK,SAAS,IAAI,MAAK,IAAI,IAAI,IAC5qB,GAAkB,GCHlB,GAAS,WAAa,IAAIvlB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,0BAA0BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,qBAAqB,CAACY,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIynD,eAAevmD,GAAKG,WAAW,qBAAqB,IACle,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQJ,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAM,CAAEg7B,MAAOtxC,EAAEsxC,OAAQvlC,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA6B,KAAOT,EAAIS,GAAGlM,EAAEgI,QAAU,IAAI,MAAQyD,EAAIynD,eAAe9yD,KAAKJ,EAAEgI,QAAQ,MAAQ,CAAC,SAAUnB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,QAAU/Y,EAAEgI,OAAQqE,EAAQ,aAAa,MAAK,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIynD,eAAe5P,WAAW,MAAQ,iCAAiC,MAAQ,CAAC,SAAUz8C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kCAAkC,cAAcT,EAAIynD,eAAeC,iBAAiB/mD,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,aAAa,MAAQT,EAAIynD,eAAeliC,MAAM5kB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,cAAcT,EAAIynD,eAAeE,OAAOhnD,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,QAAS1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,cAAcT,EAAIynD,eAAeG,gBAAgBjnD,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,iBAAkB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gCAAgC,cAAcT,EAAIynD,eAAe3Z,eAAentC,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,gBAAiB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,cAAcT,EAAIynD,eAAeI,gBAAgBlnD,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,iBAAkB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kCAAkC,cAAcT,EAAIynD,eAAeK,iBAAiBnnD,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mCAAmC,cAAcT,EAAIynD,eAAeM,kBAAkBpnD,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,mBAAoB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8CAA8C,cAAcT,EAAIynD,eAAeO,6BAA6BrnD,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,8BAA+B1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gCAAgC,cAAcT,EAAIynD,eAAeQ,eAAetnD,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,gBAAiB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mCAAmC,cAAcT,EAAIynD,eAAeS,kBAAkBvnD,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,mBAAoB1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,QAAQ,CAACF,EAAG,QAAQ,CAACmB,YAAY,cAAc,CAACnB,EAAG,sBAAsB,CAACE,MAAM,CAAC,kBAAkBN,EAAIynD,mBAAmB,IAAI,IAAI,IACvjH,GAAkB,GCDlB,GAAS,WAAa,IAAIznD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAkB,eAAEI,EAAG,MAAM,CAAEJ,EAAIynD,eAA6B,eAAErnD,EAAG,OAAO,CAACmB,YAAY,QAAQ,CAACnB,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,UAAU,MAAQN,EAAIS,GAAG,iCAAiC,MAAQ,KAAK,CAACT,EAAIO,GAAG,gBAAgB,GAAGP,EAAI6C,KAAM7C,EAAIynD,eAAe3Z,eAAiB9tC,EAAIynD,eAAeI,eAAgBznD,EAAG,OAAO,CAACmB,YAAY,QAAQ,CAACnB,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAIynD,eAAeI,eAAiB,UAAY,OAAO,MAAQ7nD,EAAIS,GAAG,gCAAgC,MAAQ,KAAK,CAACT,EAAIO,GAAG,sBAAsB,GAAGP,EAAI6C,KAAM7C,EAAIynD,eAAeK,iBAAmB9nD,EAAIynD,eAAeM,iBAAkB3nD,EAAG,OAAO,CAACmB,YAAY,QAAQ,CAACnB,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAIynD,eAAeM,iBAAmB,UAAY,OAAO,MAAQ/nD,EAAIS,GAAG,kCAAkC,MAAQ,KAAK,CAACT,EAAIO,GAAG,iBAAiB,GAAGP,EAAI6C,KAAM7C,EAAIynD,eAA4B,cAAErnD,EAAG,OAAO,CAACmB,YAAY,QAAQ,CAACnB,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,UAAU,MAAQ,GAAG,MAAQN,EAAIS,GAAG,kCAAkC,CAACT,EAAIO,GAAG,qBAAqB,GAAGP,EAAI6C,KAAM7C,EAAIynD,eAA0C,4BAAErnD,EAAG,OAAO,CAACmB,YAAY,QAAQ,CAACnB,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,OAAO,MAAQN,EAAIS,GAAG,8CAA8C,MAAQ,KAAK,CAACT,EAAIO,GAAG,qBAAqB,GAAGP,EAAI6C,OAAO7C,EAAI6C,MACt0C,GAAkB,GCqDP,UAAInB,OAAO,CACxBsG,MAAO,CACLy/C,eAAgBz0D,UCxDya,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC0hB,SAAA,OCgHf,cAAIhT,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CACL6D,KAAMjG,SAGV8O,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,eAAa,CAgBxC2lD,eAhBwC,aAiBtC,OAAOxnD,KAAK7K,MACR6K,KAAK7K,MACL,CACEqB,GAAI,EACJ9B,KAAM,CAAE43B,GAAI,GAAIC,GAAI,GAAIC,GAAI,IAC5BorB,WAAY,EACZtyB,KAAM,EACNoiC,MAAO,MACPC,eAAgB,MAChBF,gBAAiB,MACjB5Z,cAAe,MACf+Z,eAAgB,MAChBC,gBAAiB,MACjBC,iBAAkB,MAClBC,4BAA6B,MAC7BC,cAAe,MACfC,iBAAkB,UAK5BjmD,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAG7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExB,GAAiB,WAAbgS,EAAuB,CACzB,IAAIuL,EAAQhlB,SAASvE,EAAO,IAGxBmK,OAAOqf,MAAMD,KACfA,EAAQ,GAEVjE,EAAgBiE,EAIlB,IAAMwpC,EAAY,iBAAI,uBAAUloD,KAAKwnD,iBAAiB,SAACrsD,GAAD,OACpD,iBAAIA,EAAG1F,EAAKglB,MAGF,kBAARhlB,GAA4BN,IAE9B+yD,EAAUN,eAAiB,OAGjB,mBAARnyD,GAA4BN,IAE9B+yD,EAAUra,cAAgB,MAGhB,oBAARp4C,GAA8BN,IAEhC+yD,EAAUJ,iBAAmB,OAGnB,qBAARryD,GAA8BN,IAEhC+yD,EAAUL,gBAAkB,MAK9B7nD,KAAK8H,MAAM,QAASogD,KAGxBp0C,WAAY,CACVq0C,0BC/Owb,MCOxb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAC10C,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKC,cAAA,OCJnC,cAAIlB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MACR8vD,eAAgB,KAChB/tD,MAAO,OAGXuI,QAAS,CAKP4D,MALO,aAML5F,KAAKwnD,eAAiB,MAOlB3hD,KAbC,a,kKAcL7F,KAAKvG,MAAQ,K,kBAGX,OAAM,GAASka,KAAK,0BAA2B,CAC7CrhB,KAAM,CACJoC,KAAMsL,KAAKwnD,eAAe9yD,KAC1BkjD,WAAY53C,KAAKwnD,eAAe5P,WAChCtyB,KAAMtlB,KAAKwnD,eAAeliC,KAC1BoiC,MAAO1nD,KAAKwnD,eAAeE,MAC3BC,eAAgB3nD,KAAKwnD,eAAeG,eACpCF,gBAAiBznD,KAAKwnD,eAAeC,gBACrC5Z,cAAe7tC,KAAKwnD,eAAe3Z,cACnC+Z,eAAgB5nD,KAAKwnD,eAAeI,eACpCC,gBAAiB7nD,KAAKwnD,eAAeK,gBACrCC,iBAAkB9nD,KAAKwnD,eAAeM,iBACtCC,4BACE/nD,KAAKwnD,eAAeO,4BACtBC,cAAehoD,KAAKwnD,eAAeQ,cACnCC,iBAAkBjoD,KAAKwnD,eAAeS,oB,OAK1CjoD,KAAK2I,OAAOlQ,SAAS,qBAAsB,CAAEsa,MAAO,OAGpD/S,KAAKtI,OAAS,M,mDAEdsI,KAAKvG,MAAL,K,2DAINqa,WAAY,CACVs0C,yBC7E6b,MCO7b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIroD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,0BAA0BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,qBAAqB,CAACY,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIynD,eAAevmD,GAAKG,WAAW,qBAAqB,IACne,GAAkB,GCsBP,UAAIK,OAAO,CACxBsG,MAAO,CACLvR,GAAI,CACFwC,KAAMsG,OACNyZ,SAAU,MACV8F,QAAS,IAGbvsB,KARwB,aAStB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEP+tD,eAAgB,OAGpB3lD,SAAU,OAAF,UACH,eAAW,QAAS,CAAC,0BAE1BC,MAAO,CACLpK,OADK,WACEynB,GACL,GAAIA,EAAY,CAEd,IAAMhL,EAASphB,OAAOyI,OAAO,GAAIwE,KAAK2rC,qBAAqB3rC,KAAKxJ,KAChEwJ,KAAKwnD,eAAiBrzC,KAI5BnS,QAAS,CAKP4D,MALO,aAML5F,KAAKwnD,eAAiB,MAOlB3hD,KAbC,a,kKAcL7F,KAAKvG,MAAQ,K,kBAGX,OAAM,GAASka,KAAK,0BAA2B,CAC7CrhB,KAAM,CACJkE,GAAIwJ,KAAKwnD,eAAehxD,GACxB9B,KAAMsL,KAAKwnD,eAAe9yD,KAC1BkjD,WAAY53C,KAAKwnD,eAAe5P,WAChCtyB,KAAMtlB,KAAKwnD,eAAeliC,KAC1BoiC,MAAO1nD,KAAKwnD,eAAeE,MAC3BC,eAAgB3nD,KAAKwnD,eAAeG,eACpCF,gBAAiBznD,KAAKwnD,eAAeC,gBACrC5Z,cAAe7tC,KAAKwnD,eAAe3Z,cACnC+Z,eAAgB5nD,KAAKwnD,eAAeI,eACpCC,gBAAiB7nD,KAAKwnD,eAAeK,gBACrCC,iBAAkB9nD,KAAKwnD,eAAeM,iBACtCC,4BACE/nD,KAAKwnD,eAAeO,4BACtBC,cAAehoD,KAAKwnD,eAAeQ,cACnCC,iBAAkBjoD,KAAKwnD,eAAeS,oB,OAK1CjoD,KAAK2I,OAAOlQ,SAAS,qBAAsB,CAAEsa,MAAO,OAGpD/S,KAAKtI,OAAS,M,mDAEdsI,KAAKvG,MAAL,K,2DAINqa,WAAY,CAAEs0C,yBClGkb,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QCoDA,UAAI3mD,OAAO,CACxBI,SAAU,OAAF,kEACH,eAAW,WAAY,CAAC,2BACxB,eAAW,OAAQ,CAAC,mBACpB,eAAS,QAAS,CAAC,kBAAmB,8BACtC,eAAS,WAAY,CAAC,YAAU,CACnCvE,QADmC,aAEjC,IAAM0b,EAAI,CACR,CACEvQ,KAAM7K,EAAKxI,EAAE,2BACbD,MAAO,kBAET,CACEsT,KAAM7K,EAAKxI,EAAE,kCACbD,MAAO,kBACPiqB,MAAO,SACPtI,MAAO,MAET,CACErO,KAAM7K,EAAKxI,EAAE,wBACbD,MAAO,QACPiqB,MAAO,SACPtI,MAAO,MAET,CACErO,KAAM,WACNtT,MAAO,KACPiqB,MAAO,SACPtI,MAAO,OAET,CACErO,KAAM7K,EAAKxI,EAAE,aACbD,MAAO,OACPiqB,MAAO,QACPtI,MAAO,OAIP9W,KAAKsD,cAAc,gCACrB0V,EAAE9H,QAAQ,CACRzI,KAAM,OACNtT,MAAO,OACP2hB,MAAO,KACPsI,MAAO,KAIX,OAAOpG,GAETqvC,mBA5CmC,aA4CjB,WAChB,OAAO,IAAE1pD,MAAMqB,KAAKkrC,iBACjB70C,KAAI,SAACgvB,GAAD,OAAwB,+BACxBA,GAAE,CACL+rB,eAAgB/rB,EAAG3wB,KAAK,EAAK4H,aAE9BuC,OAAO,CAAC,OAAQ,mBAChBnD,QAAQ,cACRvG,WAGP2e,WAAY,CACVw0C,wBAAA,GACAC,4BACAJ,0BCrIua,MCOva,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAahC,KAAkB,GAAW,CAAC/lD,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKC,cAAA,KAAWqV,cAAA,KAAWrD,SAAA,KAAM/R,QAAA,KAAKsC,YAAA,KAASC,cAAA,UC/B7F,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACnB,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAU,OAAEI,EAAG,iBAAiBJ,EAAI6C,OAAO4C,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmBL,EAAG,YAAYA,EAAG,eAAe,CAACE,MAAM,CAAC,cAAc,SAAS,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIqH,OAAuB,kBAARnG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,aAAa,GAAGjB,EAAG,MAAM,CAACmB,YAAY,sBAAsB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,UAAY,IAAIU,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAIyoD,aAAavnD,GAAKG,WAAW,mBAAmB,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,QAAQJ,EAAI0F,GAAI1F,EAAgB,cAAE,SAASgD,EAAM/J,GAAM,OAAOmH,EAAG,QAAQ,CAAC1K,IAAIuD,EAAKqH,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA4BxH,IAAO,OAAOmH,EAAG,eAAe,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ0C,EAAM,QAAUhD,EAAIzC,QAAQ,qBAAqB,GAAG,sBAAsB,GAAG,eAAeyC,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,SAAS9E,GAClzC,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAAEJ,EAAIozC,UAAYhqC,EAAKs/C,SAAUtoD,EAAG,iBAAiB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,MAAMuJ,EAAI6C,MAAM,OAAO,KAAK,SAAS,MAAK,IAAI,IAAI,IAAI,IACzI,GAAkB,G,aCHlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,iBAAiB,WAAa,IAAIE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,WAAW,CAACY,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAI2oD,KAAKznD,GAAKG,WAAW,WAAW,IAClc,GAAkB,GCGhBunD,GAAU,EAAA1qD,EAAMzI,OAAO,CAC3B0I,QAAS,GAAF,OAAK,EAAIE,SAASF,QAAlB,kBAETtB,EAAoB+rD,IACL,UCRX,GAAS,WAAa,IAAI5oD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,GAAK,IAAI,KAAO,OAAO,CAACF,EAAG,yBAAyB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAI2oD,KAAKnqD,WAAW,SAAWwB,EAAI2oD,KAAKlyD,GAAK,EAAE,MAAQ,CAAC,SAAU2E,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,QAAa,IAAI,GAAGR,EAAG,QAAQ,CAACJ,EAAI0F,GAAI1F,EAAa,WAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEgI,OAAOsO,MAAM,CAAEg7B,MAAOtxC,EAAEsxC,OAAQvlC,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,QAAU,KAAOT,EAAIS,GAAGlM,EAAEgI,QAAU,IAAI,MAAQyD,EAAI2oD,KAAKh0D,KAAKJ,EAAEgI,QAAQ,MAAQ,CAAC,SAAUnB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,QAAU/Y,EAAEgI,OAAQqE,EAAQ,aAAa,MAAKR,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,cAAcT,EAAI2oD,KAAKE,mBAAmBloD,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,oBAAqB1M,QAAa,IAAI,GAAGZ,EAAI0F,GAAI1F,EAAsB,oBAAE,SAAS8oD,EAAY5a,GAAQ,OAAO9tC,EAAG,QAAQ,CAAC1K,IAAIw4C,EAAO5tC,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,cAAc,GAAGJ,EAAI0F,GAAG,GAAc,SAASqjD,GAAM,OAAO3oD,EAAG,QAAQ,CAAC1K,IAAIqzD,EAAKtyD,GAAG6J,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQyoD,EAAKrzD,IAAI,cAAcsK,EAAI2oD,KAAKE,kBAAoB,CAACE,EAAKtyD,IAAMuJ,EAAI2oD,KAAKK,cAAc,SAAWhpD,EAAI2oD,KAAKE,kBAAkB,MAAQE,EAAKtyD,GAAG,MAAQ,GAAG,eAAe,IAAIkK,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,gBAAiB1M,QAAa,OAAM,OAAM,IAChuD,GAAkB,GCDlB,GAAS,WAAa,IAAIZ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,mBAAmB,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAIipD,kBAAkB,MAAQjpD,EAAIsH,MAAM,SAAWtH,EAAIyH,SAAS,SAAWzH,EAAIuH,SAAS,MAAQvH,EAAI6H,MAAM,UAAY7H,EAAIwH,WAAW7G,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,IAAS,OAAS,SAASA,GAAQ,OAAOZ,EAAI+H,MAAM,SAAUnH,QACrb,GAAkB,GCYJsoD,IAAlB,SAAkBA,GAChB,qBACA,mBACA,6BACA,iCAJF,CAAkBA,QAAc,KAOzB,IAAMC,GAAqB,CAChCD,GAAeE,OACfF,GAAejnC,MACfinC,GAAeG,WACfH,GAAeI,iBA+CX,GAAQ,CACZnnC,cAAe,MACfnf,MAAO,GACP8lD,YAAa,GACbS,mBAAoB,GACpBC,mBAAoB,GAEpBvmD,KAAM,IAGF,GAAU,CAIdsqC,WACE,WAACz1C,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAMmL,KAAKxM,IAAO,OAM7BgzD,WACE,WAAC3xD,GAAD,OACA,SAACrB,GACC,OAAO,IAAEgzB,KAAK3xB,EAAMkL,OAAS,GAAI,CAAEvM,SAcvCizD,mBACE,WAAC5xD,EAAOiB,GAAR,OACA,SAACkK,GACC,IAAM0mD,EAA0B,GAChC,IAAK1mD,EACH,OAAO0mD,EAHqB,sBAKb1mD,EAAKD,OAAS,IALD,MAK9B,IAAK,EAAL,qBAAmC,KAAxB4mD,EAAwB,QAC3BjB,EAAO,IAAEl/B,KAAK3xB,EAAMkL,OAAS,GAAI,CAAEvM,GAAImzD,EAAGC,SAChD,GAAIlB,EAAM,CAQR,IAAIjzD,EAAM,GAEV,OAAQk0D,EAAGprD,YACT,KAAK0qD,GAAeE,OAGlB1zD,EAAM,WACN,MACF,QACEA,EAAM,GAAH,OAAMk0D,EAAGprD,WAAT,YAAuBorD,EAAGE,eAAiB,IAAMF,EAAGnrD,UAI3D,IAAMsrD,EAAcpB,EAAKE,kBAAoB,IAAMF,EAAKK,cAGpDgB,EAA6BD,EAIjC,GAAI,IAAEE,IAAIN,EAAQj0D,GAAM,CACtB,IAAMw0D,EAAkBP,EAAOj0D,GACP,MAApBw0D,GAAuC,MAAZF,EAG7BA,EAAU,IACD,IAAE5wD,QAAQ8wD,IAAoB,IAAE9wD,QAAQ4wD,KAGjDA,EAAU,IAAEhvD,KAAF,yBAAWgvD,GAAX,eAAuBE,MAGrCP,EAAOj0D,GAAOs0D,IA/CY,8BAkD9B,OAAOL,IAUXQ,uBACE,WAACryD,EAAOiB,GAAR,OACA,SAACkK,EAAYzE,GACX,IAAKyE,EACH,MAAO,GAKT,GAAIlK,EAAQqxD,cAAcnnD,GACxB,MAAO,CAAC,KAGV,OAAO,IAAErE,MAAMqE,EAAKD,OACjBnE,OAAO,CAAEL,eACTlI,KAAI,SAACszD,GAAD,OAASA,EAAGE,eAAiB,IAAMF,EAAGnrD,YAC1CrJ,UAUPi1D,+BACE,WAACvyD,EAAOiB,GAAR,OACA,SAACkK,EAAYs9C,GACX,IAAKt9C,EACH,MAAO,GAKT,IAAMqnD,EAAS,IAAE79C,SAAS8zC,GACtBA,EACAzoD,EAAM0xD,mBAAmBjJ,GACxB+J,GACH7wD,QAAQC,MAAR,8BAAqC6mD,IAGvC,IAAMhgC,EAAoC,GAd2B,kBAepDtd,EAAKD,OAAS,IAfsC,MAerE,IAAK,EAAL,qBAAmC,KAAxB4mD,EAAwB,QAC3BjB,EAAa,IAAEl/B,KAAK3xB,EAAMkL,OAAS,GAAI,CAAEvM,GAAImzD,EAAGC,SAClDlB,IACEA,EAAKE,kBACPtoC,EAAUltB,KAAK,KACN,IAAEyH,SAAS6tD,EAAKK,cAAesB,KACpCV,EAAGE,eACLvpC,EAAUltB,KAAK,KAEfktB,EAAUltB,KAAKu2D,EAAGnrD,aAxB2C,8BA8BrE,OAAO,IAAEG,MAAM2hB,GAAWvlB,OAAO5F,UAQrCg1D,cACE,WAACtyD,EAAOiB,GAAR,OACA,SAACkK,GACC,IAAKA,EACH,OAAO,MAET,OACE,IAAErE,MAAMqE,EAAKD,OACVnE,OAAO,CAAEL,WAAY0qD,GAAeE,SACpC9yD,IAAI,UACJA,IAAIyC,EAAQ0wD,YACZ5qD,OAAO,CAAEgqD,kBAAmB,OAC5BzzD,QAAQrC,OAAS,KAKtB,GAAY,OAAH,wBACV6G,GAAoB,CAEvBkqB,iBAFuB,WAENhsB,EAAOmU,GACtBnU,EAAMqqB,cAAgBlW,GAQxBs+C,iBAXuB,WAWNzyD,GACfA,EAAMyxD,mBAAqB,IAAE3qD,MAAM9G,EAAMgxD,aACtCxvD,MAAM,MACNiC,UAAU,OACVnG,QACH0C,EAAM0xD,mBAAqB,IAAE5qD,MAAM9G,EAAMgxD,aACtCxvD,MAAM,OACNiC,UAAU,MACVnG,SAULo1D,QA7BuB,WA6Bf1yD,EAAOmU,GACb,IAAMjJ,EAAQ,IAAE8I,QAAQ,CAACG,IADM,kBAEZjJ,GAFY,MAE/B,IAAK,EAAL,qBAA0B,KAAf2lD,EAAe,QAClB91D,EAAI,IAAE2oD,UAAU1jD,EAAMkL,MAAO,CAAEvM,GAAIkyD,EAAKlyD,KAC1C5D,GAAK,EACPiF,EAAMkL,MAAM/O,OAAOpB,EAAG,EAAG81D,GAEzB7wD,EAAMkL,MAAM3P,KAAKs1D,IAPU,kCAa7B,GAAU,CACR3kC,aADQ,cAGsB,IADhClsB,EACgC,EADhCA,MAAOW,EACyB,EADzBA,OACTgC,EAAkC,uDAAxB,G,gLAGLA,EAAQuY,OAASlb,EAAMqqB,e,0DAIX,OAAM,GAAQntB,IAAI,Y,OAA7BkI,E,OACA7D,EAAW,IAAErE,IAAIkI,EAAU,aACjCzE,EAAO,WAAYY,GACnBZ,EAAO,mBAAoB,MAC3BA,EAAO,oB,4CAQHgyD,UAtBQ,cAwB6C,IADvDhyD,EACuD,EADvDA,OAAQX,EAC+C,EAD/CA,MACV2C,EAAyD,uDAA/C,G,gLAEN6R,EAAgB,IAAER,QAAQ,CAACrR,EAAQhE,KACjC6kB,EAAc,IAAEhlB,IAAIwB,EAAMmL,KAAM,MACjCxI,EAAQuY,QACX1G,EAAM,IAAEuG,WAAWvG,EAAKgP,I,KAGtBhP,EAAIvZ,OAAS,G,iBACT+f,EAASxG,EAAIrB,KAAK,K,SACP,OAAM,GAAQjW,IAAR,2BAAgC8d,I,OAAjD5V,E,OACA7D,EAAW,IAAErE,IAAIkI,EAAU,YAAa,IAC9CzE,EAAO,WAAYY,G,8CAKnB,GAAQ,CACZP,WAAY,KACZhB,MAAA,GACAiB,QAAA,GACAd,UAAA,GACAM,QAAA,IAEa,MCrUA,UAAImJ,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAO,CAAC6S,OAAQ9O,OAChBmO,MAAOnO,MACPsO,SAAUS,QACVX,SAAUW,QACVL,MAAOK,QACPV,UAAWU,SAEbpG,SAAU,OAAF,wBACH,eAAS,QAAS,CAAC,eAAa,CAEnCmnD,kBAFmC,aAGjC,OAAO,IAAE3yD,IAAI6yD,IAAoB,SAAC9zD,GAAD,MAAwB,CACvDqT,KAAM7K,EAAKxI,EAAE,0BAA4BA,GACzCD,MAAOC,WCtC+Z,MCO1a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC6wB,WAAA,OCqDf,cAAIxkB,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGT8O,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,eACxB,eAAS,OAAQ,CAAC,iBAAe,CAgBpC6mD,KAhBoC,aAiBlC,OAAO1oD,KAAK7K,MACR6K,KAAK7K,MACL,CACEqB,GAAI,EACJ9B,KAAM,GACN6J,WAAY,SACZqqD,kBAAmB,MACnBG,cAAe,KAIvB0B,mBA5BoC,aA6BlC,OAAO,IAAE9rD,MAAMqB,KAAK6oD,aACjBxyD,KAAI,SAAC8E,GAAD,OAAOpI,OAAOyI,OAAO,GAAIL,EAAG,CAAE8yC,OAAQjmC,OAAO7M,EAAE3E,IAAIk0D,OAAO,EAAG,QACjE7rD,OAAO,MACPnD,QAAQ,UACRvG,WAIP6M,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAK0oD,OAAO,SAACvtD,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,SAKnD3G,WAAY,CACV62C,6BChJ4Z,MCO5Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACl3C,aAAA,KAAUjR,QAAA,KAAKsC,YAAA,KAASpC,QAAA,KAAKC,cAAA,OCJ5C,cAAIlB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KACPivD,KAAM,OAGV1mD,QAAS,CAKP4D,MALO,aAML5F,KAAK0oD,KAAO,KACZ1oD,KAAKvG,MAAQ,MAOToM,KAdC,a,uLAgBH7F,KAAKvG,MAAQ,K,SACI,OAAM,GAAQka,KAAK,eAAgB,CAClDrhB,KAAM,CACJoC,KAAMsL,KAAK0oD,KAAKh0D,KAChB6J,WAAYyB,KAAK0oD,KAAKnqD,WACtBqqD,kBAAmB5oD,KAAK0oD,KAAKE,kBAC7BG,cAAe/oD,KAAK0oD,KAAKK,iB,OALvB9rD,E,OAUA7D,EAAW,IAAErE,IAAIkI,EAAU,YAAa,IACxC2tD,EAAY,IAAE71D,IAAIqE,EAAU,OAAQ,IACpC2J,EAAgBhQ,OAAO2L,OAAOksD,IAAc,GAClD5qD,KAAK2I,OAAOnQ,OAAO,eAAgBuK,GAGnC/C,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV+2C,eCvEia,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI9qD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,iBAAiB,QAAUT,EAAI2J,QAAQ,WAAa,IAAIhJ,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,WAAW,CAACY,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAI2oD,KAAKznD,GAAKG,WAAW,WAAW,IACzd,GAAkB,GCwBP,UAAIK,OAAO,CACxBsG,MAAO,CACLvR,GAAI,CACFwC,KAAMsG,OACNyZ,SAAU,OAGdzmB,KAPwB,aAQtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KACPivD,KAAM,KACNh/C,QAAS,QAIb7H,SAAU,OAAF,UACH,eAAS,OAAQ,CAAC,WAGvBG,QAAS,CAKP4D,MALO,aAML,IAAMkP,EAAY/hB,OAAOyI,OAAO,GAAI,IAAEguB,KAAKxpB,KAAK+C,MAAO,CAAEvM,GAAIwJ,KAAKxJ,MAClEwJ,KAAK0oD,KAAO5zC,EACZ9U,KAAKvG,MAAQ,MAOToM,KAfC,a,iLAgBA7F,KAAK0oD,K,0DAKR1oD,KAAKvG,MAAQ,K,SAGI,OAAM,GAAQka,KAAK,eAAgB,CAClDrhB,KAAM,CACJkE,GAAIwJ,KAAK0oD,KAAKlyD,GACd9B,KAAMsL,KAAK0oD,KAAKh0D,KAChBk0D,kBAAmB5oD,KAAK0oD,KAAKE,kBAC7BG,cAAe/oD,KAAK0oD,KAAKK,iB,OALvB9rD,E,OAUA7D,EAAW,IAAErE,IAAIkI,EAAU,YAAa,IACxC2tD,EAAY,IAAE71D,IAAIqE,EAAU,OAAQ,IACpC2J,EAAgBhQ,OAAO2L,OAAOksD,IAAc,GAClD5qD,KAAK2I,OAAOnQ,OAAO,eAAgBuK,GAGnC/C,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV+2C,eC5Fka,MCOla,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI9qD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIsH,OAAS,GAAG,SAAWtH,EAAIyH,UAAY,MAAM,MAAQzH,EAAImH,OAAS,aAAa,MAAQnH,EAAI5K,MAAM,MAAQ4K,EAAI+qD,kBAAkB,aAAa,KAAK,YAAY,SAAU3vD,GAAK,OAAOA,EAAE1F,KAAO,UAAYsK,EAAIwH,UAAU,kBAAkBxH,EAAIq4B,eAAe,KAAOr4B,EAAIo4B,KAAK,SAAWp4B,EAAIuH,SAAS,YAAcvH,EAAImkC,YAAY,oBAAoBnkC,EAAIw+B,gBAAgB,aAAax+B,EAAIy+B,UAAU,eAAez+B,EAAIokC,YAAY,cAAcpkC,EAAIqkC,WAAW,oBAAoBrkC,EAAIskC,iBAAiB3jC,GAAG,CAAC,MAAQX,EAAIgrD,sBAC7nB,GAAkB,GC4BP,UAAItpD,OAAO,CACxBsG,MAAO,CAELb,MAAOc,OAGPX,MAAO,CACLrO,KAAME,MACN2lB,QAAS,mBAAM,KAGjBrX,SAAUS,QAEV9S,MAAOmK,OAGP64B,KAAMnwB,OACNowB,eAAgBnwB,QAChBV,UAAWU,QACXX,SAAUW,QACVi8B,YAAal8B,OACbu2B,gBAAiBt2B,QACjBu2B,UAAWv2B,QACXk8B,YAAan8B,OACbo8B,WAAYp8B,OACZq8B,gBAAiBr8B,QAEnBnG,SAAU,OAAF,wBACH,eAAS,OAAQ,CAAC,iBAAe,CACpCipD,kBADoC,aAElC,OAAO,IAAEjsD,OAAOmB,KAAK6oD,YAAa,UAGtC7mD,QAAS,CACP+oD,kBADO,WACW7zC,GAChBlX,KAAK8H,MAAM,QAASoP,OChEgZ,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAClO,iBAAA,OC0Cf,cAAIvH,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACL8U,OAAQ,GACRohD,aAAc,IAGlB3mD,SAAU,OAAF,kEACH,eAAW,OAAQ,CAAC,mBACpB,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,oBACxB,eAAS,OAAQ,CAAC,WAAS,CAE9BupB,OAF8B,aAG5B,OAAOprB,KAAKsD,cAAc,sBAG5B6vC,QAN8B,aAO5B,OAAOnzC,KAAKsD,cAAc,sBAG5B0nD,aAV8B,aAUlB,WACV,OAAO,IAAErsD,MAAMqB,KAAK+C,OAAS,IAC1B1M,KAAI,SAACrB,GACJ,OAAOjC,OAAOyI,OAAO,GAAIxG,EAAG,CAC1Bo8C,eAAgB,EAAK7vB,eAAevsB,EAAEN,MACtCu2D,mBAAoBj2D,EAAE4zD,kBAClBhrD,EAAKxI,EAAE,OACPJ,EAAE+zD,cAAcj2D,YAGvB8L,QACC,SAAC5J,GAAD,OAG6C,IAF3CA,EAAEo8C,eACCuC,cACA3Q,QAAQ,EAAK57B,OAAOusC,kBAE1B/0C,QAAO,SAAC5J,GACP,IAAK,EAAKwzD,cAAgBxzD,EAAE4zD,kBAC1B,OAAO,KAGT,GAAI5zD,EAAE+zD,gBAAkB,GACtB,OAAO,MAGT,OAAO/zD,EAAE+zD,cAAcluD,SAAS,EAAK2tD,iBAEtC9sD,QAAQ,cACRvG,SAGLmI,QAzC8B,aA0C5B,IAAM0b,EAAI,CACR,CACEvQ,KAAM7K,EAAKxI,EAAE,QACbD,MAAO,kBAET,CACEsT,KAAM7K,EAAKxI,EAAE,sBACbD,MAAO,qBACPiqB,MAAO,UAIPpf,KAAKorB,QACPpS,EAAE9H,QAAQ,CACRzI,KAAM,KACNtT,MAAO,KACP2hB,MAAO,OACP+D,SAAU,QAId,OAAO7B,KAGXhX,QAAS,GACT8R,WAAY,CACVo3C,iBACAC,kBACAC,yBClJ4Z,MCO5Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAchC,KAAkB,GAAW,CAAChpD,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKC,cAAA,KAAWqV,cAAA,KAAWpV,QAAA,KAAKqC,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UChC1G,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,KAAK,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqBL,EAAG,YAAYA,EAAG,eAAe,CAACE,MAAM,CAAC,UAAY,GAAG,eAAe,GAAG,cAAc,IAAIU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAe,OAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,SAAUnJ,IAAMG,WAAW,sBAAsB,GAAGjB,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,aAAa,kBAAkB,GAAG,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA2B,mBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,qBAAsBnJ,IAAMG,WAAW,kCAAkC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,WAAW,kBAAkB,GAAG,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA4B,oBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,sBAAuBnJ,IAAMG,WAAW,mCAAmC,GAAIrB,EAAIiD,MAAgC,MAAxBjD,EAAIiD,KAAKqoD,YAAqBlrD,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,sBAAsB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIiD,KAAKqoD,gBAAgB,GAAGtrD,EAAI6C,KAAM7C,EAAIiD,MAA0C,MAAlCjD,EAAIiD,KAAKsoD,sBAA+BnrD,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,gCAAgC,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIiD,KAAKsoD,0BAA0B,GAAGvrD,EAAI6C,MAAM,GAAGzC,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUN,EAAIzC,QAAQ,MAAQyC,EAAIwrD,cAAc,QAAUxrD,EAAI2J,QAAQ,eAAe,GAAG,KAAO3J,EAAI0Z,YAAY,iBAAiB1Z,EAAI4Z,SAAS,sBAAsB5Z,EAAI6Z,mBAAmB,eAAe7Z,EAAIyrD,YAAY,eAAezrD,EAAIS,GAAG,iBAAiBE,GAAG,CAAC,cAAc,CAAC,SAASC,GAAQZ,EAAI0Z,YAAY9Y,GAAQ,SAASA,GAAQ,OAAOZ,EAAIqI,cAAc,sBAAsB,SAASzH,GAAQZ,EAAI4Z,SAAShZ,GAAQ,wBAAwB,CAAC,SAASA,GAAQZ,EAAI4Z,SAAShZ,GAAQ,SAASA,GAAQ,OAAOZ,EAAIqI,eAAe/C,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,mBAAmB8P,GAAG,SAAS9E,GAC5nE,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAKgqB,kBAAkB,CAAC19B,IAAI,kBAAkB8P,GAAG,SAAS9E,GAC5F,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAACgL,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGpL,SAAa,CAACM,IAAI,eAAe8P,GAAG,SAAS9E,GAC7E,IAAI0I,EAAO1I,EAAI0I,KACXhU,EAAQsL,EAAItL,MAChB,MAAO,CAAGgU,EAAKsiD,gBAAmR1rD,EAAI6C,KAAtQzC,EAAG,QAAQ,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQwI,EAAKsiD,gBAAkB,QAAQ,CAAC1rD,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,YAAY,KAAKL,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,mBAAmB,CAACN,EAAIO,GAAG,wBAAwB,GAAa6I,EAAoB,gBAAEhJ,EAAG,QAAQ,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQwI,EAAKsiD,gBAAkB,SAAS,CAAC1rD,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,YAAY,KAAKL,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,mBAAmB,CAACN,EAAIO,GAAG,sBAAsB,GAAGP,EAAI6C,KAAMuG,EAAoB,gBAAEhJ,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGpL,MAAU4K,EAAI6C,SAAS,KAAK,QAAQzC,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,eAAe,CAAEvB,EAAa,UAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,SAAS,KAAO,gDAAkDN,EAAIqL,cAAc,CAACjL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,mBAAmBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,MAAM,GAAGT,EAAI6C,MAAM,IAAI,IAAI,IAAI,IAAI,IACvgC,GAAkB,GCRlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,iBAAiB,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAIs4B,MAAM,QAAUt4B,EAAI2J,QAAQ,eAAe3J,EAAIqH,OAAO,cAAc,GAAG,SAAWrH,EAAIuH,SAAS,MAAQvH,EAAIuH,SAAS,cAAcvH,EAAIuH,SAAS,kBAAkBvH,EAAIuH,SAAS,eAAevH,EAAI4H,YAAY,cAAc5H,EAAI2H,WAAW,UAAY3H,EAAIwH,WAAW7G,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,IAAS,qBAAqB,SAASA,GAAQZ,EAAIqH,OAAOzG,GAAQ,sBAAsB,SAASA,GAAQZ,EAAIqH,OAAOzG,OACnnB,GAAkB,GC2BP,UAAIc,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAO,CAACmK,OAAQpG,OAChBoO,SAAUW,QACVN,YAAaM,QACbV,UAAWU,QACXP,WAAYO,SAGdE,QAVwB,aAWtBnI,KAAKoI,YAELpI,KAAKoI,UAAY,IAAEwN,SAAS5V,KAAKoI,UAAW,MAG9C9V,KAhBwB,aAiBtB,MAAO,CACLoX,QAAS,MACTtC,OAAQ,GACRmkD,cAAe,KAInB1pD,SAAU,OAAF,wBACH,eAAW,OAAQ,CAAC,gBAAc,CAKrCw2B,MALqC,aAQnC,IAAMyV,EAAmB,IAAEz3C,IAAI,IAAEwV,QAAQ,CAAC7L,KAAK7K,QAAS6K,KAAKstC,YACvDoe,EAAkB,IAAEzwC,QAAQ,IAAE0wC,MAAM7d,EAAU9tC,KAAKurD,gBACnDlzB,EAAQ,IAAEhiC,IAAIq1D,GAAiB,SAACE,GACpC,MAAO,CAAEz2D,MAAOy2D,EAAEp1D,GAAIiS,KAAMmjD,EAAE1qD,aAEhC,OAAO,IAAEq8B,QAAQlF,EAAO,WAI5Bv2B,MAAO,CAKC3M,MALD,WAKO+hB,G,2KACV,OAAMlX,KAAK2I,OAAOlQ,SAAS,iBAAkB,CAAEjC,GAAI0gB,I,iDAOrD9P,OAbK,WAaEykD,GACL7rD,KAAKoI,cAITpG,QAAS,CAMDoG,UANC,a,wKAOLpI,KAAK0J,QAAU,K,kBAEI,OAAM,GAAQ3U,IAAR,0BAA+BiL,KAAKoH,S,OAArDnK,E,OACN+C,KAAKurD,cAAgB,IAAEx2D,IAAIkI,EAAU,YAAa,I,gBAElD+C,KAAK0J,QAAU,M,kFCpG6Y,MCOha,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACV,iBAAA,OC8Gf,cAAIvH,OAAO,CACxB0G,QADwB,aAEtBnI,KAAKoI,YAELpI,KAAKoI,UAAY,IAAEwN,SAAS5V,KAAKoI,UAAW,MAE9C9V,KANwB,aAOtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEP2Q,SAAU,CACR0hD,OAAQ,EACRC,mBAAoB,GACpBC,oBAAqB,IAGvBT,cAAe,GAGf9xC,YAAa,EACbG,mBAAoB,EACpBD,SAAU,KAGd9X,SAAU,OAAF,oDACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CAAC,oBACxB,eAAW,OAAQ,CAAC,gBAAc,CAOrCuJ,YAPqC,aAQnC,OAAOG,GAAsBvL,KAAKoK,WAOpC6hD,UAfqC,aAgBnC,OAAOjsD,KAAKsD,cAAc,0BAG5BkoD,YAnBqC,aAoBnC,IAAMU,EAAO,CACX3N,oBAAqB,CAAC,GAAI,GAAI,GAAI,GAAI,KACtCpN,iBAAkBnxC,KAAKiZ,MAAM7jB,EAAE,2BAEjC,OAAO82D,GAGT5uD,QA3BqC,aA4BnC,IAAM0b,EAAW,CACf,CACEvQ,KAAM7K,EAAKxI,EAAE,QACbD,MAAO,cACP2hB,MAAO,QAET,CACErO,KAAM7K,EAAKxI,EAAE,mBACbD,MAAO,cAET,CACEsT,KAAM7K,EAAKxI,EAAE,4BACbD,MAAO,mBAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,yBACnBD,MAAO,iBAET,CACEA,MAAO,YAIX,OAAO6jB,GAEThW,KArDqC,aAsDnC,OAAOhD,KAAKstC,WAAWttC,KAAKoK,SAAS0hD,WAIzChqD,MAAO,CAKLsJ,YALK,WAKO8L,GACVlX,KAAKyZ,YAAc,EACnBzZ,KAAKoI,cAITpG,QAAS,CAMDoG,UANC,a,qLAOLpI,KAAK0J,QAAU,KAEToI,EAAO,GACbA,EAAK1e,KAAL,qBAAwB4M,KAAK2Z,WAC7B7H,EAAK1e,KAAL,uBAA0B4M,KAAKyZ,cAC/B3H,EAAK1e,KAAK4M,KAAKoL,a,SAGP5G,E,8BAA6BsN,EAAK9G,KAAK,M,SACjC,OAAM,GAAQjW,IAAIyP,G,OAAxBsqC,E,OACN9uC,KAAK4Z,mBAAqB,IAAE7kB,IAAI+5C,EAAK,yBAA0B,GACzDqd,EAAU,IAAEp3D,IAAI+5C,EAAK,YAAa,IACxC9uC,KAAKurD,cAAgB,IAAEl1D,IAAI81D,GAAS,SAACn3D,GACnC,OAAOjC,OAAOyI,OAAOxG,EAAG,CACtB0iD,gBACE,EAAKn2B,eAAevsB,EAAE0iD,kBAAoB95C,EAAKxI,EAAE,MACnDq2D,gBAAiB,W,qDAIrBzrD,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,sFAKrBoK,WAAY,CACVs4C,mBCzQma,M,aCQna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,WACA,MAIa,MAAiB,QAehC,KAAkB,GAAW,CAACjqD,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKC,cAAA,KAAWqV,cAAA,KAAWrD,SAAA,KAAM/R,QAAA,KAAKqC,WAAA,KAAQC,YAAA,KAASC,cAAA,UClC1G,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAU,OAAEI,EAAG,gBAAgB,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIssD,eAAe1rD,OAAYZ,EAAI6C,KAAKzC,EAAG,YAAYA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAuB,eAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,iBAAkBnJ,IAAMG,WAAW,+BAA+BoE,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmBL,EAAG,YAAYA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,SAAS,cAAc,GAAG,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAU,EAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,IAAqB,kBAARnJ,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,iBAAiB,GAAGjB,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,yBAAyB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,cAAcT,EAAIqK,SAAS7L,WAAW,UAAY,IAAIwC,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAe,OAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,SAAUnJ,IAAMG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUN,EAAIzC,QAAQ,MAAQyC,EAAIusD,MAAM,QAAUvsD,EAAI2J,QAAQ,eAAe,GAAG,KAAO3J,EAAI0Z,YAAY,iBAAiB1Z,EAAI4Z,SAAS,sBAAsB5Z,EAAI6Z,mBAAmB,eAAe7Z,EAAIyrD,YAAY,aAAa,SAAUriD,GAAQ,OAAQA,EAAKqR,UAAY,YAAc,IAAO,eAAeza,EAAIS,GAAG,iBAAiBE,GAAG,CAAC,cAAc,CAAC,SAASC,GAAQZ,EAAI0Z,YAAY9Y,GAAQ,SAASA,GAAQ,OAAOZ,EAAIqI,cAAc,sBAAsB,SAASzH,GAAQZ,EAAI4Z,SAAShZ,GAAQ,wBAAwB,CAAC,SAASA,GAAQZ,EAAI4Z,SAAShZ,GAAQ,SAASA,GAAQ,OAAOZ,EAAIqI,eAAe/C,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,SAASwC,GAAO,MAAO,CAAC5H,EAAG,iBAAiB,CAACE,MAAM,CAAC,GAAK0H,EAAMoB,KAAK3S,SAAS,CAACf,IAAI,mBAAmB8P,GAAG,SAAS9E,GACxzE,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAACgL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQlL,EAAM,YAAY,UAAU,KAAK,SAAS,GAAI4K,EAAa,UAAEI,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,SAAS,KAAO,0CAA4CN,EAAIqL,cAAc,CAACjL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,mBAAmBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,MAAM,IAAI,GAAGT,EAAI6C,MAAM,IAAI,IAAI,IAAI,IACja,GAAkB,GCHlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,kBAAkBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,WAAW,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIssD,eAAe1rD,KAAUI,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAIiD,KAAK/B,GAAKG,WAAW,WAAW,IACnf,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAAEN,EAAIiD,KAAO,GAAE7C,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,QAAQ,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,sBAAsB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIiD,KAAKqoD,YAAY,YAAY,OAAO,GAAGlrD,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,gCAAgC,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIiD,KAAKsoD,sBAAsB,YAAY,OAAO,IAAI,IAAI,GAAGvrD,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQT,EAAIiD,KAAK9B,SAAS,SAAWnB,EAAIiD,KAAKxM,GAAK,EAAE,MAAQ,CACrrB,SAAU2E,GAAK,QAASA,GAAK4E,EAAIS,GAAG,mBACpC,SAAUrF,GAAK,OAAQA,GAAKA,EAAErI,OAAS,GAAMiN,EAAIS,GAAG,wBAAyB,CAAEm9B,MAAO,OAAWj9B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAIiD,KAAKmC,SAAS,MAAQ,CAAC,SAAUhK,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAIiD,KAAKuqC,SAAS,MAAQ,CAAC,SAAUpyC,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,MAAQT,EAAIiD,KAAKupD,MAAM,MAAQ,CAAC,SAAUpxD,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,QAAS1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIiD,KAAKwpD,WAAW9rD,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,YAAa1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,KAAO,WAAW,MAAQN,EAAIS,GAAG,iBAAiB,MAAQT,EAAIiD,KAAK3B,SAAS,MAAQ,CAACtB,EAAI0sD,mBAAmB/rD,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,KAAO,WAAW,MAAQN,EAAIS,GAAG,6BAA6B,MAAQT,EAAIiD,KAAK0pD,qBAAqB,MAAQ,CAAC3sD,EAAI0sD,iBAAkB1sD,EAAI4sD,oBAAoBjsD,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,uBAAwB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIiD,KAAKD,OAAOrC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,QAAS1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAIiD,KAAK4pD,QAAQ,KAAO,IAAI,OAAS,IAAIlsD,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,UAAW1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,cAAcT,EAAIiD,KAAKwX,WAAW9Z,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,QAAa,GAAIZ,EAAIiD,KAAc,UAAE7C,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAIiD,KAAK6pD,cAAc,MAAQ,CAAC,SAAU1xD,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,KAAO,IAAI,YAAY,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,gBAAiB1M,EAAQ,aAAa,GAAGZ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,cAAcT,EAAIiD,KAAK8pD,aAAapsD,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,gBAAiB1M,QAAa,GAAIZ,EAAIiD,KAAgB,YAAE7C,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAIiD,KAAK+pD,gBAAgB,MAAQ,CAAC,SAAU5xD,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,kBAAmB1M,EAAQ,aAAa,GAAGZ,EAAI6C,KAAM7C,EAAyB,sBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAIiD,KAAKgqD,kBAAkB,MAAQ,CAAC,SAAU7xD,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,oBAAqB1M,EAAQ,aAAa,GAAGZ,EAAI6C,MAAM,IAC9+G,GAAkB,GCHlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmBL,EAAG,oBAAoB,CAACO,GAAG,CAAC,KAAO,SAASC,GAAQ,OAAOZ,EAAIktD,YAAYtsD,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAImtD,oBAAoB,QAAUntD,EAAIzC,QAAQ,sBAAsB,IAAI+H,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAC3hB,IAAI0I,EAAO1I,EAAI0I,KACXzO,EAAQ+F,EAAI/F,MAChB,MAAO,CAACyF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKgkD,yBAAyBhtD,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKikD,aAAajtD,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKkkD,eAAeltD,EAAG,KAAK,CAACA,EAAG,qBAAqB,CAACE,MAAM,CAAC,KAAO,GAAG,UAAU,GAAG,MAAQN,EAAIS,GAAG,kBAAoB,IAAI,OAAST,EAAIS,GAAG,wBAAwBE,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAIutD,eAAe5yD,MAAU,CAACyF,EAAG,SAAS,CAACJ,EAAIO,GAAG,aAAa,IAAI,aAAa,IAAI,IAC/Z,GAAkB,GCJlB,GAAS,WAAa,IAAIP,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,iBAAiB,cAAc,UAAU,YAAY,OAAOE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,eAAe,CAACY,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAI2oD,KAAKznD,GAAKG,WAAW,WAAW,IACpb,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,yBAAyB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAIwtD,SAAShvD,WAAW,MAAQ,CAAC,SAAUpD,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIytD,iBAAiB7sD,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQT,EAAIwtD,SAAS3D,OAAO,cAAc7pD,EAAIwtD,SAAShvD,WAAW,MAAQ,CAAC,SAAUpD,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,SAAU1M,QAAa,IAAI,GAAKZ,EAAI0tD,SAA6Q1tD,EAAI6C,KAAvQzC,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAI2tD,SAAS,cAAc3tD,EAAIwtD,SAAS1D,gBAAgBnpD,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,iBAAkB1M,QAAa,IAAI,GAAYR,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,EAAGN,EAAIwtD,SAAS1D,gBAAkB9pD,EAAI4tD,kBAAmBxtD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,MAAQT,EAAIwtD,SAAS/uD,SAAS,MAAQ,CAAC,SAAUrD,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,GAAGZ,EAAI6C,MAAO7C,EAAIwtD,SAAS1D,gBAAkB9pD,EAAI6tD,QAASztD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIwtD,SAAS/uD,SAAS,MAAQ,CAAC,SAAUrD,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,GAAGZ,EAAI6C,MAAO7C,EAAIwtD,SAAS1D,gBAAkB9pD,EAAI8tD,aAAc1tD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAIwtD,SAAS/uD,SAAS,MAAQ,CAAC,SAAUrD,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,aAAa,OAAOE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,WAAY1M,QAAa,GAAGZ,EAAI6C,MAAM,IAAI,IAC1gE,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,iBAAiB,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAI+tD,YAAY,MAAQ/tD,EAAIsH,MAAM,SAAWtH,EAAIyH,SAAS,SAAWzH,EAAIuH,SAAS,MAAQvH,EAAI6H,MAAM,UAAY7H,EAAIwH,WAAW7G,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,IAAS,OAAS,SAASA,GAAQ,OAAOZ,EAAI+H,MAAM,SAAUnH,QAC7a,GAAkB,GCqBP,UAAIc,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAO,CAACmK,OAAQpG,OAChBmO,MAAOnO,MACPsO,SAAUS,QACVX,SAAUW,QACVL,MAAOK,QACPV,UAAWU,QAKX1J,WAAYyJ,QAEdnG,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,oBACxB,eAAW,OAAQ,CAAC,cACpB,eAAS,OAAQ,CAAC,WAAS,CAM9BisD,YAN8B,aAMnB,WACL/qD,EAAgB/C,KAAK+C,MACrB/C,KAAKzB,aACPwE,EAAQ,IAAEnE,OAAOmE,EAAO,CAAExE,WAAYyB,KAAKzB,cAE7C,OAAO,IAAElI,IAAI0M,GAAO,SAAC/N,GAAD,MAAQ,CAC1BG,MAAOH,EAAEwB,GACTiS,KAAM,EAAK8Y,eAAevsB,EAAEN,eCrDgY,MCOha,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACuxB,WAAA,OCwDf,cAAIxkB,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGT8O,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,oBAAkB,CAgB7C0rD,SAhB6C,aAiB3C,OACEvtD,KAAK7K,OAAS,CACZqB,GAAI,EACJs1D,OAAQ,EACRlC,OAAQ,EACRrrD,WAAY0qD,GAAeE,OAC3BU,eAAgB,MAChBrrD,SAAU,IAQhBD,WAhC6C,aAiC3C,OAAOyB,KAAKutD,SAAShvD,YAQvBmvD,SAzC6C,aA0C3C,IAAMhuD,EAAM9B,EAAKxI,EAAE,OAAO0W,WAC1B,OAAQ9L,KAAKzB,YACX,KAAK0qD,GAAejnC,MAClB,OAAOtiB,EAAM,IAAM9B,EAAKxI,EAAE,gBAAgB0W,WAC5C,KAAKm9C,GAAeG,WAClB,OAAO1pD,EAAM,IAAM9B,EAAKxI,EAAE,qBAAqB0W,WACjD,KAAKm9C,GAAeI,gBAClB,OAAO3pD,EAAM,IAAM9B,EAAKxI,EAAE,0BAA0B0W,WAExD,MAAO,IAGT2hD,SAtD6C,aAuD3C,OAAOztD,KAAKzB,aAAe0qD,GAAeE,QAG5CyE,QA1D6C,aA2D3C,OAAO5tD,KAAKzB,aAAe0qD,GAAejnC,OAG5C6rC,aA9D6C,aA+D3C,OAAO7tD,KAAKzB,aAAe0qD,GAAeG,YAG5CuE,kBAlE6C,aAmE3C,OAAO3tD,KAAKzB,aAAe0qD,GAAeI,mBAI9CrnD,QAAS,CAMPqL,OANO,WAMA5X,EAAaN,GAClB,IAAMw0D,EAAK,iBAAI,uBAAU3pD,KAAKutD,WAAW,SAACpyD,GAAD,OAAO,iBAAIA,EAAG1F,EAAKN,MAC5D6K,KAAK8H,MAAM,QAAS6hD,IAStB6D,iBAjBO,WAiBUO,GACf,IAAMpE,EAAe,uBAAU3pD,KAAKutD,UACpC5D,EAAGprD,WAAawvD,EAGhBpE,EAAGE,eAAiB,MACpBF,EAAGC,OAAS,EACZD,EAAGnrD,SAAW,EACdwB,KAAK8H,MAAM,QAAS6hD,KAIxB71C,WAAY,CACVqqB,iBACAgH,oBACA6oB,gBACArD,6BC7Lga,MCOha,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACl3C,aAAA,KAAUjR,QAAA,KAAKE,QAAA,OCL9B,cAAIjB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MACRgxD,KAAM,OAGV1mD,QAAS,CAKP4D,MALO,aAML5F,KAAK0oD,KAAO,MAOd7iD,KAbO,aAcL7F,KAAK8H,MAAM,OAAQ9H,KAAK0oD,MACxB1oD,KAAKtI,OAAS,QAGlBoc,WAAY,CACVm6C,mBC9Cqa,MCOra,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QC2BA,UAAIxsD,OAAO,CACxBsG,MAAO,CACL5S,MAAO+D,OAGT2I,SAAU,OAAF,gFACH,eAAW,WAAY,CAAC,oBACxB,eAAW,OAAQ,CAAC,gBACpB,eAAW,QAAS,CAAC,mBACrB,eAAW,gBAAiB,CAAC,wBAC7B,eAAW,UAAW,CAAC,sBAAoB,CAS9CqrD,oBAT8C,aAS3B,WACjB,OAAO,IAAE72D,IAAI2J,KAAK7K,OAAS,IAAI,SAACw0D,GAC9B,IAAMwD,EAAuBvvD,EAC1BxI,EAAE,0BAA4Bu0D,EAAGprD,YACjCuN,WACCuhD,EAAa,GACbD,EAAW,GACT1E,EAAa,EAAKc,WAAWG,EAAGC,QAClClB,IACF0E,EAAW,EAAK7rC,eAAemnC,EAAKh0D,OAGtC,OAAQi1D,EAAGprD,YACT,KAAK0qD,GAAejnC,MAClBqrC,EAAa,EAAKn3B,cAAcyzB,EAAGnrD,UACnC,MACF,KAAKyqD,GAAeG,WAClBiE,EAAa,EAAKpY,mBAAmB0U,EAAGnrD,UACxC,MACF,KAAKyqD,GAAeI,gBAClBgE,EAAa,EAAKppB,iBAAiB0lB,EAAGnrD,UACtC,MAGAmrD,EAAGE,iBACLwD,EAAazvD,EAAKxI,EAAE,OAAO0W,YAG7B,OAAO/Y,OAAOyI,OAAO,GAAImuD,EAAI,CAC3BwD,uBACAE,aACAD,iBAQN9vD,QAhD8C,aAiD5C,IAAM0b,EAAI,CACR,CAAEvQ,KAAM7K,EAAKxI,EAAE,mBAAoBD,MAAO,wBAC1C,CAAEsT,KAAM7K,EAAKxI,EAAE,iBAAkBD,MAAO,YACxC,CAAEsT,KAAM7K,EAAKxI,EAAE,mBAAoBD,MAAO,gBAC1C,CAAEsT,KAAM,GAAItT,MAAO,KAAM2hB,MAAO,QAAS+D,SAAU,QAErD,OAAO7B,KAIXhX,QAAS,CAMPirD,YANO,WAMKtD,GACV,IAAMuE,EAAYluD,KAAK7K,MAAQ6K,KAAK7K,MAAQ,GAC5C+4D,EAAS96D,KAAKu2D,GACd3pD,KAAK8H,MAAM,QAASomD,IAQtBZ,eAjBO,WAiBQ5yD,GACb,IAAMwzD,EAAW,eAAIluD,KAAK7K,OAC1B+4D,EAASl6D,OAAO0G,EAAO,GACvBsF,KAAK8H,MAAM,QAASomD,KAGxBp6C,WAAY,CACVq6C,wBC1Iia,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAC/rD,SAAA,KAAMI,QAAA,KAAKsV,cAAA,KAAWrD,SAAA,KAAMzP,YAAA,KAASC,cAAA,UC8HpD,cAAIxD,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGT8O,SAAU,CAeRmB,KAfQ,aAgBN,IAAMkkD,EAAQ,OAAS1nC,SACvB,OAAOxf,KAAK7K,MACR6K,KAAK7K,MACL,CACE+L,SAAU,GACViE,SAAU,GACVooC,SAAU,GACVgf,MAAO,GACPC,UAAW,GACXI,QAAS,GACTvrD,SAAU,GACVqrD,qBAAsB,GACtB3pD,MAAO,GACP+pD,YAAa,MACbxB,sBAAuBpE,EACvB1sC,UAAW,MACXqyC,cAAe,GACfE,gBAAiB,GACjBC,kBAAmB,KAI3BoB,SAtCQ,aAuCN,QAASpuD,KAAKgD,KAAKwX,WAAaxa,KAAKgD,KAAK8pD,cAG5CuB,sBA1CQ,aA2CN,IAAKruD,KAAKouD,SAER,OAAO,MAGT,GAAgC,KAA5BpuD,KAAKgD,KAAK6pD,eAAsD,KAA9B7sD,KAAKgD,KAAK+pD,gBAI9C,OAAO,KAGT,OAAO,QAIX/qD,QAAS,CAQPyqD,iBARO,WAQUtxD,GACf,GAAI6E,KAAKgD,MAAQhD,KAAKgD,KAAKxM,GAAK,EAC9B,OAAO,KAET,QAAS2E,GAAKyC,EAAKxI,EAAE,kBAAkB0W,YAUzC6gD,kBAtBO,WAsBWxxD,GAChB,GAAI6E,KAAKgD,MAAQhD,KAAKgD,KAAK3B,SACzB,OACElG,IAAM6E,KAAKgD,KAAK3B,UAChBzD,EAAKxI,EAAE,gCAAgC0W,WAG3C,OAAO,MAaTuB,OA1CO,WA0CA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAKgD,OAAO,SAAC7H,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,SAKnD3G,WAAY,CACVw6C,oBCjR4Z,MCO5Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC76C,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OCL9C,cAAIjS,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KACPuJ,KAAM,OAGVhB,QAAS,CAKP4D,MALO,aAML5F,KAAKgD,KAAO,KACZhD,KAAKvG,MAAQ,MAOToM,KAdC,a,+KAeA7F,KAAKgD,K,0DAKRhD,KAAKvG,MAAQ,K,SACI,OAAM,GAAQka,KAAK,gBAAiB,CACnDrhB,KAAM0N,KAAKgD,O,OADP/F,E,OAKA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,gBAAiBY,GAG9Bwa,EAAQta,EAAoBF,EAAU,QAC5C4G,KAAK8H,MAAM,QAAS8L,GAGpB5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVy6C,eCvEia,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIxuD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,iBAAiB,QAAUT,EAAI2J,SAAShJ,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,WAAW,CAACY,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAIiD,KAAK/B,GAAKG,WAAW,WAAW,IACzc,GAAkB,GCsBP,UAAIK,OAAO,CACxBsG,MAAO,CACLvR,GAAI,CACFwC,KAAMsG,OACNyZ,SAAU,OAGdzmB,KAPwB,aAQtB,MAAO,CACLmH,MAAO,KACP/B,OAAQ,MACRgS,QAAS,MACT1G,KAAM,OAGVnB,SAAU,OAAF,UACH,eAAW,OAAQ,CAAC,gBAEzBG,QAAS,CAKD4D,MALC,a,wKAML5F,KAAK0J,QAAU,K,SACf,OAAM1J,KAAK2I,OAAOlQ,SAAS,iBAAkB,CAC3CjC,GAAIwJ,KAAKxJ,GACTuc,MAAO,O,OAEHoB,EAASphB,OAAOyI,OAAO,GAAIwE,KAAKstC,WAAWttC,KAAKxJ,KACtDwJ,KAAKgD,KAAOmR,EACZnU,KAAK0J,QAAU,M,iDAOX7D,KApBC,a,6KAqBA7F,KAAKgD,K,0DAKRhD,KAAKvG,MAAQ,K,SACI,OAAM,GAAQka,KAAK,gBAAiB,CACnDrhB,KAAM,CACJw5D,OAAQ9rD,KAAKxJ,GACb2O,SAAUnF,KAAKgD,KAAKmC,SACpBooC,SAAUvtC,KAAKgD,KAAKuqC,SACpBgf,MAAOvsD,KAAKgD,KAAKupD,MACjBC,UAAWxsD,KAAKgD,KAAKwpD,UACrBI,QAAS5sD,KAAKgD,KAAK4pD,QACnBvrD,SAAUrB,KAAKgD,KAAK3B,SACpBqrD,qBAAsB1sD,KAAKgD,KAAK0pD,qBAChC3pD,MAAO/C,KAAKgD,KAAKD,MACjB+pD,YAAa9sD,KAAKgD,KAAK8pD,YACvBtyC,UAAWxa,KAAKgD,KAAKwX,UACrBqyC,cAAe7sD,KAAKgD,KAAK6pD,cACzBE,gBAAiB/sD,KAAKgD,KAAK+pD,gBAC3BC,kBAAmBhtD,KAAKgD,KAAKgqD,qB,OAf3B/vD,E,OAoBA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,gBAAiBY,GAGpC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVy6C,eCnGka,MCOla,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QCgFA,UAAI9sD,OAAO,CACxB0G,QADwB,aAEtBnI,KAAKoI,YAELpI,KAAKoI,UAAY,IAAEwN,SAAS5V,KAAKoI,UAAW,MAG9C9V,KAPwB,aAQtB,MAAO,CACLoX,QAAS,MAGT+P,YAAa,EACbG,mBAAoB,EACpBD,SAAU,GAEVvP,SAAU,CACR0L,EAAG,GACH04C,eAAgB,MAChBjwD,WAAY,GACZqrD,OAAQ,GAEV6E,QAAS,KAIb5sD,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,OAAQ,CAAC,gBAAc,CAErCyqD,MAFqC,aAGnC,OAAO,IAAEj2D,IAAI2J,KAAKyuD,SAAW,GAAIzuD,KAAKstC,aAGxCke,YANqC,aAOnC,IAAMU,EAAO,CACX3N,oBAAqB,CAAC,EAAG,GAAI,GAAI,KACjCpN,iBAAkBnxC,KAAKiZ,MAAM7jB,EAAE,2BAEjC,OAAO82D,GAST9gD,YApBqC,aAqBnC,OAAOG,GAAsBvL,KAAKoK,WAGpC9M,QAxBqC,aAyBnC,IAAM0b,EAAW,CACf,CACEvQ,KAAM7K,EAAKxI,EAAE,iBACbD,MAAO,YAET,CACEsT,KAAM7K,EAAKxI,EAAE,mBACbD,MAAO,YAET,CACEsT,KAAM7K,EAAKxI,EAAE,mBACbD,MAAO,YAET,CACEsT,KAAM7K,EAAKxI,EAAE,cACbD,MAAO,SAET,CACEsT,KAAM7K,EAAKxI,EAAE,oBACbD,MAAO,gBAIP6K,KAAKmzC,SACPn6B,EAAE9H,QAAQ,CACR/b,MAAO,KACPsT,KAAM7K,EAAKxI,EAAE,gBACb0hB,MAAO,OACP+D,SAAU,QAGd,OAAO7B,GAOToS,OA/DqC,aAgEnC,OAAOprB,KAAKsD,cAAc,sBAO5B6vC,QAvEqC,aAwEnC,OAAOnzC,KAAKsD,cAAc,sBAO5B2oD,UA/EqC,aAgFnC,OAAOjsD,KAAKsD,cAAc,wBAI9BxB,MAAO,CAKLsJ,YALK,WAKO8L,GACVlX,KAAKyZ,YAAc,EACnBzZ,KAAKoI,cAITpG,QAAS,CAMPqqD,eANO,WAMQz4C,GACb5T,KAAKyuD,QAAQv9C,QAAQ0C,GACjB5T,KAAK4Z,mBAAqB,IAC5B5Z,KAAK4Z,mBAAqB,IAIxBxR,UAbC,a,8KAcLpI,KAAK0J,QAAU,KAEToI,EAAO,GACbA,EAAK1e,KAAL,qBAAwB4M,KAAK2Z,WAC7B7H,EAAK1e,KAAL,uBAA0B4M,KAAKyZ,cAC/B3H,EAAK1e,KAAK4M,KAAKoL,a,kBAGI,OAAM,GAAQrW,IAAR,wBAA6B+c,EAAK9G,KAAK,O,OAAxD/N,E,OACN+C,KAAK4Z,mBACH,IAAE7kB,IAAIkI,EAAU,2BAA6B,EAEzCqvD,EAAQ,IAAEv3D,IAAIkI,EAAU,YAAa,IAC3C+C,KAAKyuD,QAAU,IAAEp4D,IAAIi2D,EAAO,MACtBlzD,EAAWL,EAAc,OAAQuzD,GACvCtsD,KAAK2I,OAAOnQ,OAAO,gBAAiBY,G,kBAEpC4G,KAAK0J,QAAU,M,oFAKrBoK,WAAY,CACV46C,iBACAC,kBACAhE,0BACAqD,mBCrQ4Z,MCO5Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAiBhC,KAAkB,GAAW,CAAC7rD,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUmR,aAAA,KAAUjR,QAAA,KAAKC,cAAA,KAAWqV,cAAA,KAAWrD,SAAA,KAAM/R,QAAA,KAAKqC,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UCnC/H,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAEJ,EAAW,QAAEI,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,MAAMN,EAAI6C,KAAO7C,EAAI2J,QAAmD3J,EAAI6C,KAA9CzC,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAKN,EAAIvJ,MAAiBuJ,EAAI2J,QAAgsB3J,EAAI6C,KAA3rBzC,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,sBAAsB,CAACE,MAAM,CAAC,UAAYN,EAAI+f,QAAQtpB,GAAG,MAAQ,OAAO,GAAGuJ,EAAI0F,GAAI1F,EAAc,YAAE,SAAS6uD,GAAI,OAAOzuD,EAAG,QAAQ,CAAC1K,IAAIm5D,EAAGzyB,QAAQ97B,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBsyC,EAAGzyB,QAAS,sBAAsB,QAAQ,GAAGh8B,EAAG,cAAc,CAACA,EAAG,QAAQJ,EAAI0F,GAAImpD,EAAQ,OAAE,SAASrvD,GAAM,OAAOY,EAAG,QAAQ,CAAC1K,IAAI8J,EAAK/I,GAAG6J,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,GAAKd,EAAK/I,GAAG,MAAQ+I,EAAK/I,KAAOuJ,EAAIvJ,GAAK,iBAAmB,OAAO,MAAK,IAAI,IAAI,IAAI,OAAM,IAAI,IAAa,IACp8B,GAAkB,GCDlB,GAAS,WAAa,IAAIuJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,sBAAsBjB,MAAM,CAAC,MAAQ,KAAK,CAAEN,EAAIR,MAAQQ,EAAI+f,QAAS3f,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,gBAAgBjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI+f,QAAQrV,QAAQ,QAAQ,GAAGtK,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,IAAIT,EAAIQ,GAAGR,EAAIR,KAAKkL,WAAWtK,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIk2B,UAAUl2B,EAAIR,KAAKuE,UAAU,SAAS3D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,GAAG,GAAK,CAAE3L,KAAM,cAAe,CAACqL,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,GAAG,GAAK,CAAE3L,KAAM,uBAAwB,CAACqL,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,QAAQ,IAAI,IAAI,IAAI,GAAGT,EAAI6C,MAAM,IACrgC,GAAkB,GCoCP,UAAInB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAENuC,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,aAAc,YAAa,mBAAiB,CACpEtC,KADoE,aAElE,OAAOS,KAAK0yB,WAAW1yB,KAAKxJ,KAE9BspB,QAJoE,aAKlE,IAAK9f,KAAKT,KACR,OAAO,KAET,OAAOS,KAAK6tB,cAAc7tB,KAAKT,KAAKC,gBClD6Y,M,aCOnb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC2C,QAAA,KAAK0sD,cAAA,KAAWrsD,QAAA,KAAKC,cAAA,KAAWC,QAAA,OC3B9D,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,UAAYN,EAAIR,KAAKuvD,QAAQ,UAAY/uD,EAAIR,KAAKuvD,QAAU,GAAK,EAAE,GAAK/uD,EAAIb,GAAG,MAAQa,EAAIgvD,QAAQ,CAAC5uD,EAAG,eAAe,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIR,KAAKkL,WAAWtK,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIk2B,UAAUl2B,EAAIR,KAAKuE,UAAU,OAAO3D,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,SAAWN,EAAIR,KAAKyvD,SAAS,oBAAsBjvD,EAAIR,KAAK0vD,wBAAwB,GAAG9uD,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAAEN,EAAIR,KAAY,QAAEY,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,OAAOT,EAAI6C,KAAO7C,EAAIR,KAAKuvD,QAAmE/uD,EAAI6C,KAA9DzC,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,eAAe,SAAkBL,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIR,KAAKgH,YAAY,GAAIxG,EAAIR,KAAe,WAAEY,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,OAAOT,EAAI6C,KAAM7C,EAAIR,KAAe,WAAEY,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIR,KAAK2vD,eAAe,GAAGnvD,EAAI6C,KAAM7C,EAAIR,KAAgB,YAAEY,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAOT,EAAI6C,KAAM7C,EAAIR,KAAgB,YAAEY,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIR,KAAK4vD,gBAAgB,GAAGpvD,EAAI6C,MAAM,IAAI,IAAI,IAC1rD,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAIivD,SAAU,uBAAuB,KAAMjvD,EAAc,WAAEI,EAAG,OAAO,CAACJ,EAAIO,GAAG,MAAMP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAIkvD,oBAAqB,6BAA6B,SAASlvD,EAAI6C,QAC1U,GAAkB,GCkBP,UAAInB,OAAO,CACxBsG,MAAO,CACLinD,SAAU1vD,OACV2vD,oBAAqB3vD,QAGvBuC,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CAEpDutD,WAFoD,aAGlD,OAAOpvD,KAAKgvD,WAAaz8B,GAAW2oB,cC7B+Y,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QCoDA,UAAIz5C,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJyvD,MAAO/mD,OACPqnD,SAAUpnD,SAGZpG,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,aAAc,eAAa,CAEnDtC,KAFmD,aAGjD,OAAOS,KAAK0yB,WAAW1yB,KAAKxJ,KAG9B0I,GANmD,aAOjD,GAAIc,KAAKqvD,SACP,OAEF,MAAO,CAAE36D,KAAM,WAAY2K,OAAQ,CAAE7I,GAAIwJ,KAAKT,KAAK/I,QAIvDsd,WAAY,CACVw7C,sBC9Fqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACltD,SAAA,KAAMijC,cAAA,QAAc/iC,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKE,QAAA,OC5B5E,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,gBAAgB,CAACE,MAAM,CAAC,WAAaN,EAAIwvD,cAAc,UAAYxvD,EAAIvJ,GAAG,eAAe,IAAIuK,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAIyvD,kBAAkBvuD,GAAKG,WAAW,uBAAuBrB,EAAI0F,GAAI1F,EAAc,YAAE,SAAS6uD,GAAI,OAAOzuD,EAAG,QAAQ,CAAC1K,IAAIm5D,EAAGzyB,QAAQ97B,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,UAAU,OAAS,SAAS,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBsyC,EAAGzyB,QAASp8B,EAAI2iB,cAAc,OAAQ3iB,EAAe,YAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,IAAM,GAAG,SAAW,GAAG,OAAS,GAAG,KAAO,GAAG,MAAQ,GAAG,MAAQ,UAAUK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI0vD,eAAeb,EAAGzyB,YAAY,CAACh8B,EAAG,SAAS,CAACJ,EAAIO,GAAG,cAAc,GAAGP,EAAI6C,MAAM,GAAGzC,EAAG,cAAc,CAACA,EAAG,QAAQJ,EAAI0F,GAAImpD,EAAQ,OAAE,SAASrvD,GAAM,OAAOY,EAAG,QAAQ,CAAC1K,IAAI8J,EAAK/I,GAAG6J,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,GAAKd,EAAK/I,GAAG,SAAW,OAAO,MAAK,IAAI,IAAI,IAAI,OAAM,IAAI,IAAI,IACplC,GAAkB,GC2DP,UAAIiL,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJoX,YAAazO,SAEf3V,KALwB,aAMtB,MAAO,CACLi9D,cAAe,GAAcx9B,QAC7By9B,kBAAmB,QAGvB3tD,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,kBAAmB,eACxC,eAAS,QAAS,CAAC,iBAAe,CACrC6tD,MADqC,aAEnC,OAAO1vD,KAAK2yB,gBAAgB3yB,KAAKxJ,KAAQ,IAE3Cm5D,WAJqC,aAI3B,WACR,OAAOn6B,GAAiBn/B,KAAI,SAAC8lC,GAAD,MAAc,CACxCA,UACAuzB,MAAO,EAAKA,MAAM9wD,QAAO,SAACpK,GAAD,OAAOA,EAAE2nC,UAAYA,MAAY,UAIhEn6B,QAAS,CACPytD,eADO,WACQtzB,GACbn8B,KAAKuvD,cAAgBpzB,EACrBn8B,KAAKwvD,kBAAoB,OAG7B17C,WAAY,CACVusB,iBACAuvB,sBC7Fia,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAahC,KAAkB,GAAW,CAACztD,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKC,cAAA,KAAWgS,SAAA,KAAM/R,QAAA,KAAKsC,YAAA,KAASC,cAAA,UC/BvF,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAMN,EAAI0F,GAAI1F,EAAoB,kBAAE,SAAS4lB,GAAa,OAAOxlB,EAAG,qBAAqB,CAAC1K,IAAIkwB,EAAYnvB,GAAG6J,MAAM,CAAC,YAAcslB,EAAY,MAAQ5lB,EAAIkK,YAAW,GAAG9J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAMN,EAAI0F,GAAI1F,EAAqB,mBAAE,SAAS4lB,GAAa,OAAOxlB,EAAG,qBAAqB,CAAC1K,IAAIkwB,EAAYnvB,GAAG6J,MAAM,CAAC,YAAcslB,EAAY,MAAQ5lB,EAAIkK,YAAW,IAAI,IACvhB,GAAkB,GCDlB,GAAS,WAAa,IAAIlK,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQX,EAAI8vD,SAAS,CAAC1vD,EAAG,eAAe,CAACA,EAAG,kBAAkB,CAACE,MAAM,CAAC,YAAcN,EAAI4lB,gBAAgB,GAAK5lB,EAAIkK,QAAUlK,EAAI4lB,YAAYqB,UAAWjnB,EAAI4lB,YAAYsB,UAA27BlnB,EAAI6C,KAAn7BzC,EAAG,cAAc,CAAEJ,EAAI4lB,YAAYqB,SAAWjnB,EAAI4lB,YAAYqB,QAAQl0B,OAAQqN,EAAG,MAAM,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOL,EAAG,iBAAiB,CAACE,MAAM,CAAC,QAAUN,EAAI4lB,YAAYqB,YAAY,GAAGjnB,EAAI6C,KAAKzC,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAaN,EAAI4lB,YAAY2V,mBAAmB,mBAAmB,MAA6C,MAAtCv7B,EAAI4lB,YAAYmqC,mBAA4B3vD,EAAG,MAAM,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sCAAsCL,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAI4lB,YAAYmqC,mBAAmB,aAAa/vD,EAAIS,GAAG,YAAY,cAAcT,EAAIS,GAAG,mBAAmB,GAAGT,EAAI6C,KAAM7C,EAAI4lB,YAAYsB,WAAalnB,EAAI4lB,YAAYsB,UAAUn0B,OAAQqN,EAAG,MAAM,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIgwD,SAAS,WAAYhwD,EAAI4lB,YAAYsB,UAAUn0B,SAAS,QAAQiN,EAAI0F,GAAI1F,EAAI4lB,YAAqB,WAAE,SAASmF,GAAU,OAAO3qB,EAAG,uBAAuB,CAAC1K,IAAIq1B,EAASR,WAAWjqB,MAAM,CAAC,SAAWyqB,SAAe,GAAG/qB,EAAI6C,MAAM,GAAYzC,EAAG,oBAAoB,CAACM,IAAI,uBAAuB,IAC5xC,GAAkB,GCDlB,GAAS,WAAa,IAAIV,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAKN,EAAI0F,GAAI1F,EAAqB,mBAAE,SAAS4nB,EAAO/0B,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAI7C,EAAEyN,MAAM,CAAC,KAAO,OAAO,CAAEsnB,EAAiB,WAAExnB,EAAG,SAAS,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBqL,EAAOJ,kBAAmBxnB,EAAIwiB,yBAA0B,QAAQxiB,EAAI6C,KAAKzC,EAAG,aAAa,CAACyK,MAAM,CAAE4P,UAAWmN,EAAOqoC,SAAU3vD,MAAM,CAAC,OAASsnB,MAAW,MAAK,IAC9c,GAAkB,GC6BP,UAAIlmB,OAAO,CACxBsG,MAAO,CACLif,QAAS,CACPhuB,KAAME,MACN2lB,QAAS,mBAAM,KAEjBoxC,WAAYhoD,QACZioD,WAAYjoD,QACZkoD,SAAUloD,QACVu6C,MAAOv6C,SAETpG,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,4BAA0B,CAEhDuuD,kBAFgD,aAE/B,WACXppC,EAAU,IAAEpQ,UAAU5W,KAAKgnB,SAAW,IAEtChnB,KAAKiwD,aACPjpC,EAAU,IAAEpoB,OAAOooB,GAAS,SAACxyB,GAAD,OAC1B,IAAEqG,SAASqa,GAAgC1gB,EAAE+yB,uBAI7CvnB,KAAKkwD,aACPlpC,EAAU,IAAEpoB,OAAOooB,GAAS,SAACxyB,GAAD,OAC1B,IAAEqG,SAASua,GAAgC5gB,EAAE+yB,uBAIjD,OAAOP,EAAQ3wB,KAAI,SAAC7B,GAClB,IAAIw7D,EAAU,MACVK,EAAa,MACjB,GAA4B,IAAxB77D,EAAE+yB,kBAAyB,CAG7B8oC,EAAa,MACbL,EAAU,UACL,CAILK,GAAc,EAAKF,SACnBH,GAAW,IAAEn1D,SACXqa,GACA1gB,EAAE+yB,mBAGN,OAAOx0B,OAAOyI,OAAOhH,EAAG,CAAEw7D,UAASK,qBAIzCv8C,WAAY,CACVoW,+BACA24B,iBCpFka,MCOla,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACrgD,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,YAAY,QAAQ,WAAa,IAAIU,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAAErB,EAAe,YAAEI,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,cAAc,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI0Y,UAAU1Y,EAAI4lB,YAAY/lB,UAAU,IAAIG,EAAIQ,GAAGR,EAAIS,GAAG,YAAY,OAAOL,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI4hB,WAAW,CAACxhB,EAAG,SAAS,CAACJ,EAAIO,GAAG,sBAAsB,IAAI,GAAGH,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAIuc,sBAAsBvc,EAAI4lB,YAAYrL,YAAava,EAAI0jB,eACjvB1jB,EAAI4lB,YAAYY,qBAChBxmB,EAAI4lB,YAAYY,qBAAuBxmB,EAAI4lB,YAAYrL,YACvDna,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAIuc,sBAAsBvc,EAAI4lB,YAAYY,oBAAqBxmB,EAAI0jB,eAAe1jB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,KAAO,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsBL,EAAG,YAAaJ,EAAIuD,cAAc,gBAAiBnD,EAAG,kBAAkB,CAACE,MAAM,CAAC,GAAKN,EAAI4lB,YAAY/lB,SAASyF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAChiB,IAAIC,EAAKD,EAAIC,GACvB,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAKK,GAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,MAAM,OAAO,KAAK,MAAM,aAAaT,EAAI6C,MAAM,GAAGzC,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUN,EAAI4lB,YAAY/lB,YAAY,IAAI,IAAI,GAAIG,EAAoB,iBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,KAAO,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIgwD,SAAS,WAAYhwD,EAAI4lB,YAAYsB,UAAUn0B,SAAS,OAAOqN,EAAG,YAAYA,EAAG,iCAAiC,CAACE,MAAM,CAAC,UAAYN,EAAI4lB,YAAYnmB,UAAU,OAASO,EAAI4lB,YAAY7G,OAAO,QAAU/e,EAAI4lB,YAAY/lB,SAASmB,MAAM,CAAC5L,MAAO4K,EAAI4lB,YAAqB,UAAE3kB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAI4lB,YAAa,YAAa1kB,IAAMG,WAAW,4BAA4B,GAAGjB,EAAG,cAAc,CAACA,EAAG,4BAA4B,CAACY,MAAM,CAAC5L,MAAO4K,EAAI4lB,YAAqB,UAAE3kB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAI4lB,YAAa,YAAa1kB,IAAMG,WAAW,4BAA4B,IAAI,IAAI,GAAGrB,EAAI6C,KAAM7C,EAAkB,eAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,KAAO,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,GAAGL,EAAG,cAAc,CAACA,EAAG,eAAe,CAACY,MAAM,CAAC5L,MAAO4K,EAAI4lB,YAAmB,QAAE3kB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAI4lB,YAAa,UAAW1kB,IAAMG,WAAW,0BAA0B,IAAI,IAAI,GAAGrB,EAAI6C,KAAM7C,EAAI4lB,YAAY2V,mBAAyB,OAAEn7B,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,KAAO,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,GAAGL,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAaN,EAAI4lB,YAAY2V,uBAAuB,IAAI,GAAGv7B,EAAI6C,MAAM,IAAI,IAAI,GAAG7C,EAAI6C,MAAM,IACj5D,GAAkB,GCNlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC3F,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAKyF,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,MAAM,QAAQO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI+Z,cAAc9Z,KAAKJ,UAAU,OAAQG,EAAQ,KAAEI,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,KAAKT,EAAIQ,GAAGR,EAAIR,KAAKkL,QAAQ,OAAO1K,EAAI6C,KAAO7C,EAAIR,KAAoJQ,EAAI6C,KAAlJzC,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,KAAKT,EAAIQ,GAAGR,EAAI+f,QAAQrV,QAAQ,OAAgBtK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACY,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAIknB,UAAUhmB,GAAKG,WAAW,gBAAgB,IAAI,IAAI,IAC/rC,GAAkB,GCgDP,UAAIK,OAAO,CACxBsG,MAAO,CACL5S,MAAO+D,MACPsG,UAAWF,OACXwf,OAAQxf,OACRM,QAASN,QAGXhN,KARwB,aAStB,MAAO,CACLoF,OAAQ,MACRuvB,UAAW,GAEXxtB,MAAO,OAIXoI,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,gBAAiB,aAAc,mBAAiB,CAExEtC,KAFwE,aAGtE,OAAOS,KAAK0yB,WAAW1yB,KAAK8e,SAG9BgB,QANwE,aAOtE,OAAO9f,KAAK6tB,cAAc7tB,KAAKR,cAInCsC,MAAO,CACL3M,MADK,WACC4M,GACJ/B,KAAKinB,UAAYllB,IAIrBC,QAAS,CAOP4D,MAPO,aAQL5F,KAAKinB,UAAajnB,KAAK7K,OAAS,IAQ5B0Q,KAhBC,a,0KAiBL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAASka,KAAK,gCAAiC,CACpErhB,KAAM,CACJkN,UAAWQ,KAAKR,UAChBsf,OAAQ9e,KAAK8e,OACblf,QAASI,KAAKJ,QACdqnB,UAAWjnB,KAAKinB,a,OALdhqB,E,OAUA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,uBAAwByE,GAG3C+C,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACVkmB,yBC/Hoc,MCOpc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAC73B,QAAA,KAAKK,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,OC1B9C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAEJ,EAAIia,MAAoB,eAAE7Z,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,+BAA+B,MAAQT,EAAIia,MAAME,oBAAoB/Z,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,sCAAsC,MAAQT,EAAIia,MAAMI,0BAA0B,GAAGra,EAAI6C,KAAM7C,EAAIia,MAAoB,eAAE7Z,EAAG,aAAaJ,EAAI6C,KAAKzC,EAAG,QAAQ,CAAEJ,EAAIia,MAAoB,eAAE7Z,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gCAAgC,OAAOT,EAAI6C,KAAKzC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,eAAe,MAAQT,EAAIia,MAAMtlB,QAAQyL,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIia,MAAM5Q,WAAWjJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIia,MAAM3Q,cAAclJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAIia,MAAM1Q,mBAAoBvJ,EAAIia,MAAMjP,QAAc,OAAE5K,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAIia,MAAMjP,WAAWhL,EAAI6C,MAAM,GAAGzC,EAAG,aAAaA,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIia,MAAM9L,cAAc/N,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAIia,MAAM3L,eAAelO,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAIia,MAAM1L,gBAAgBnO,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIia,MAAMjL,eAAe,GAAG5O,EAAG,aAAaA,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,iBAAiB,MAAQT,EAAIuc,sBAAsBvc,EAAIia,MAAMzM,SAAUxN,EAAIuwD,YAAYnwD,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIyR,kBAAkBzR,EAAIia,MAAM/O,0BAA0B9K,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,oBAAoB,MAAQT,EAAIyR,kBAAkBzR,EAAIia,MAAM1M,yBAA0BvN,EAAIia,MAAa,QAAE7Z,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIia,MAAM5K,WAAWrP,EAAI6C,MAAM,IAAI,IAC7xE,GAAkB,GCmHP,UAAInB,OAAO,CACxBsG,MAAO,CACLnI,QAASN,QAGXuC,SAAU,OAAF,8FACH,eAAW,WAAY,CAAC,2BACxB,eAAW,YAAa,CAAC,uBACzB,eAAS,UAAW,CAAC,aACrB,eAAS,QAAS,CAAC,gBACnB,eAAW,QAAS,CAAC,iBACrB,eAAS,WAAY,CAAC,YAAU,CACnCmY,MADmC,aAEjC,OAAOha,KAAK4a,YAAY5a,KAAKJ,cCjImZ,MCOlb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC4C,QAAA,KAAKsC,YAAA,KAASpC,QAAA,OCzB5C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAKN,EAAI0F,GAAI1F,EAAkB,gBAAE,SAASwwD,EAAG71D,GAAO,OAAOyF,EAAG,QAAQ,CAAC1K,IAAIiF,EAAM2F,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBi0C,EAAGhmC,eAAgBxqB,EAAIoiB,gBAAgB,OAAOhiB,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI8qB,aAAa0lC,EAAGjmC,aAAa,OAAQimC,EAAGzlC,SAAsB,cAAE3qB,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8BT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGgwD,EAAGzlC,SAASC,eAAe,OAAOhrB,EAAI6C,KAAM2tD,EAAGzlC,SAAoB,YAAE3qB,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0BT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGgwD,EAAGzlC,SAASzc,aAAa,OAAOtO,EAAI6C,KAAM2tD,EAAGzlC,SAAqB,aAAE3qB,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2BT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGgwD,EAAGzlC,SAASxc,cAAc,OAAOvO,EAAI6C,UAAS,IAChgC,GAAkB,GC+BP,UAAInB,OAAO,CACxBsG,MAAO,CACL5S,MAAO+D,OAET2I,SAAU,OAAF,oDACH,eAAS,QAAS,CAAC,mBACnB,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,iBAAkB,kBAAgB,CAC1D0Y,eAD0D,aAC5C,WACNi2C,EAAOxwD,KAAK7K,OAAS,GAC3B,OAAOq7D,EAAIn6D,KAAI,SAACk6D,GACd,OAAOx9D,OAAOyI,OAAO,GAAI+0D,EAAI,CAC3BzlC,SAAU,EAAKG,eAAeslC,EAAGjmC,sBC5CwZ,MCO/b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC9nB,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAUN,EAAIzC,QAAQ,MAAQyC,EAAIinB,QAAQ,eAAejnB,EAAIS,GAAG,gBAAgB,qBAAqB,GAAG,sBAAsB,IAAI6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACnT,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACyK,MAAM,CAAEolD,QAAS7mD,EAAK6mD,UAAW,CAAC7vD,EAAG,KAAK,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,GAAK8I,EAAKye,YAAY,GAAGznB,EAAG,KAAK,CAACA,EAAG,8BAA8B,CAACE,MAAM,CAAC,OAAS8I,MAAS,GAAGhJ,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKie,sBAAsBjnB,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKke,qBAAqBlnB,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKme,aAAannB,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKsnD,8BACxV,GAAkB,GC+BP,UAAIhvD,OAAO,CACxBsG,MAAO,CACL5S,MAAO+D,OAGT2I,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,2BAAyB,CAMpDmlB,QANoD,aAM7C,WACCA,EAAWhnB,KAAK7K,OAAS,GAC/B,OAAO6xB,EAAQ3wB,KAAI,SAAC7B,GAClB,OAAOzB,OAAOyI,OAAO,GAAIhH,EAAG,CAC1B4yB,kBAAmB,EAAK9K,sBACtB9nB,EAAEuzB,oBACF,4BAEFT,SAAU,EAAKhL,sBACb9nB,EAAE2zB,gBACF,oBAEFd,iBAAkB,EAAK/K,sBACrB9nB,EAAEyzB,mBACF,4BAEFwoC,gBAC0B,IAAxBj8D,EAAE+yB,kBACE,GACA,EAAKjL,sBACH9nB,EAAE+yB,kBACF,gCAERyoC,QAAS,IAAEn1D,SACTya,GACA9gB,EAAE+yB,yBAWVjqB,QA1CoD,aA2ClD,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,eAAgBD,MAAO,WACtC,CAAEA,MAAO,4BACT,CACEsT,KAAM7K,EAAKxI,EAAE,4BACbD,MAAO,qBAET,CACEsT,KAAM7K,EAAKxI,EAAE,2BACbD,MAAO,oBAET,CACEsT,KAAM7K,EAAKxI,EAAE,mBACbD,MAAO,YAET,CACEsT,KAAM7K,EAAKxI,EAAE,sBACbD,MAAO,uBAKf2e,WAAY,CACVoW,+BACAqqB,iBC5Gga,MCOha,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACz8B,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI/X,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIkmD,KAAW,OAAE9lD,EAAG,MAAM,CAACA,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOL,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAUN,EAAIzC,QAAQ,MAAQyC,EAAIkmD,KAAK,qBAAqB,GAAG,eAAe,GAAG,sBAAsB,GAAG,eAAelmD,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAC3b,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACyK,MAAM,CAAEC,WAAY1B,EAAKs+C,iBAAkB/mD,GAAG,CAAC,MAAQ,SAASC,GAAQwI,EAAKs+C,iBAAkB1nD,EAAI2wD,UAAUvnD,MAAqB,CAAChJ,EAAG,KAAK,CAACE,MAAM,CAAC,QAAU8I,EAAKwnD,UAAY,EAAI,IAAI,CAAGxnD,EAAKynD,SAAkD7wD,EAAI6C,KAA5CzC,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKjC,UAAoBiC,EAAa,SAAEhJ,EAAG,MAAM,CAACmB,YAAY,QAAQ,CAACnB,EAAG,MAAM,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKjC,UAAWiC,EAAa,SAAEhJ,EAAG,KAAKJ,EAAI0F,GAAI0D,EAA6B,0BAAE,SAAS0nD,EAAGj+D,GAAG,OAAOuN,EAAG,KAAK,CAAC1K,IAAI7C,GAAG,CAACmN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBu0C,EAAGC,iBAAkB,0BAA2B,UAAS,GAAG/wD,EAAI6C,OAAO7C,EAAI6C,OAAQuG,EAAc,UAAEhJ,EAAG,KAAK,CAAiC,GAA/BgJ,EAAKwnD,UAAUI,aAAmB5wD,EAAG,MAAM,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ8I,EAAKwnD,UAAUI,iBAAiB,GAAGhxD,EAAI6C,KAAwC,GAAlCuG,EAAKwnD,UAAUK,gBAAsB7wD,EAAG,MAAM,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ8I,EAAKwnD,UAAUK,oBAAoB,GAAGjxD,EAAI6C,KACx2BuG,EAAKwnD,UAAUM,oBACf9nD,EAAKwnD,UAAUM,mBAAmBn+D,OAClCqN,EAAG,MAAM,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIkd,oBAAoB9T,EAAKwnD,UAAUM,qBAAqB,OAAOlxD,EAAI6C,KAAMuG,EAAKwnD,UAAe,MAAExwD,EAAG,MAAM,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKwnD,UAAUO,OAAO,OAAOnxD,EAAI6C,OAAO7C,EAAI6C,KAAO7C,EAAIoxD,gBAA8KpxD,EAAI6C,KAAjKzC,EAAG,KAAK,CAACmB,YAAY,eAAe,CAAE6H,EAAS,KAAEhJ,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ8I,EAAKioD,UAAU,UAAU,KAAK,CAACrxD,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKkoD,MAAM,OAAOtxD,EAAI6C,MAAM,SAAkB,KAAK,MAAM,cAAc,GAAG7C,EAAI6C,MAC9c,GAAkB,GCoGP,UAAInB,OAAO,CACxBsG,MAAO,CAIL+L,WAAY5a,MAOZi4D,gBAAiBlpD,SAGnBpG,SAAU,OAAF,kEACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,wBAAyB,oBACjD,eAAW,QAAS,CAAC,0BACrB,eAAW,QAAS,CAAC,yBAAuB,CAO/CokD,KAP+C,aAO3C,WACF,IAAKjmD,KAAK8T,WACR,MAAO,GAKT,IAAMw9C,EAAkC,IAAEj7D,IACvC2J,KAAK8T,YAAc,IACpB,SAAC86C,GACC,IAAMpH,EAAiC,EAAK7b,qBAC1CijB,EAAGkC,kBAEC5pD,EAAQ,EAAKqa,eAAeimC,EAAe9yD,MAC3C28D,EAAOzC,EAAG2C,YAAc,kBAAoB,kBAC5CH,EAAa5J,EAAeS,iBAE9B2G,EAAG2C,YACH,UACA,QAHA,OAIJ,MAAO,CACLrqD,QACAugD,gBAAiBD,EAAeC,gBAChC4J,OACAD,YAEA5J,iBACAoJ,SAAU,MACVD,UAAW/B,MAOX3I,EAAO,IAAE/qD,OAAOo2D,EAAS,CAAE7J,gBAAiB,OAK5Czc,EAA2B,IAAErsC,MAAM2yD,GACtC1yD,OAAO,CAAE6oD,gBAAiB,OAC1BpxD,IAAI,aACJ4kB,UACA9lB,QAGC61C,EAAyBl4C,OAAS,GACpCmzD,EAAK7yD,KAAK,CACR8T,MAAOtJ,EAAKxI,EAAE,kCAAkC0W,WAChDulD,KAAM,kBACND,UAAW,OACX3J,gBAAiB,KACjBmJ,SAAU,MACV5lB,6BAIJ,OAAOib,GAQT3oD,QAzE+C,aA0E7C,IAAMA,EAAiB,CACrB,CACEmL,KAAM7K,EAAKxI,EAAE,qBACbD,MAAO,SAET,CACEsT,KAAM7K,EAAKxI,EAAE,SACbD,MAAO,OAGN6K,KAAKmxD,iBACR7zD,EAAQlK,KAAK,CACXqV,KAAM7K,EAAKxI,EAAE,sBACbD,MAAO,cACPiqB,MAAO,WAGX,OAAO9hB,KAIX0E,QAAS,CAKP0uD,UALO,WAKGnlC,GACRA,EAAIqlC,UAAYrlC,EAAIqlC,aClO6Y,MCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC94C,cAAA,KAAWrD,SAAA,OC4G1B,cAAIhT,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoF,OAAQ,MACR+5B,cAAe,IAGnB5vB,SAAU,OAAF,kEACH,eAAS,QAAS,CAAC,gBACnB,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,aAAc,YAAa,uBAChD,eAAW,OAAQ,CAAC,mBAAiB,CAExCtC,KAFwC,aAGtC,OAAOS,KAAK0yB,WAAW1yB,KAAK2lB,YAAY7G,SAG1C6G,YANwC,aAOtC,OAAO3lB,KAAKwxB,kBAAkBxxB,KAAKyxB,gBAAkB,MAGvDzX,MAVwC,aAWtC,IAAKha,KAAK2lB,YACR,OAAO,KAET,OAAO3lB,KAAK4a,YAAY5a,KAAK2lB,YAAY/lB,UAG3Cy5B,eAjBwC,aAkBtC,IAAKr5B,KAAK2lB,YACR,OAAO,MAET,OAAO3lB,KAAK2lB,YAAYY,sBAAwBtC,GAAYI,WAG9DiV,iBAxBwC,aAyBtC,IAAKt5B,KAAK2lB,YACR,OAAO,MAET,OAAO3lB,KAAK2lB,YAAYY,sBAAwBtC,GAAYE,cAIhEniB,QAAS,CAKP8jC,KALO,WAKFrU,GACHzxB,KAAKyxB,cAAgBA,EACrBzxB,KAAKtI,OAAS,MAMhBiqB,MAbO,aAcL3hB,KAAKtI,OAAS,QAGlBoc,WAAY,CACV09C,gBACAr2C,mBACAs2C,kCACAC,6BACAC,gBACAC,sBCtMub,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAchC,KAAkB,GAAW,CAACzvD,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKqW,WAAA,KAAQpE,SAAA,KAAM/R,QAAA,KAAKqC,WAAA,KAAQC,YAAA,KAASC,cAAA,UChC5F,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAI4lB,YAAYrL,YAAava,EAAI0jB,aAAa,KAC3N1jB,EAAI4lB,YAAYY,qBAChBxmB,EAAI4lB,YAAYY,qBAAuBxmB,EAAI4lB,YAAYrL,YACvDna,EAAG,OAAO,CAACJ,EAAIO,GAAG,MAAMP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAI4lB,YAAYY,oBAAqBxmB,EAAI0jB,aAAa,SAAS1jB,EAAI6C,KAAKzC,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI0Y,UAAU1Y,EAAI4lB,YAAY/lB,UAAU,UACnO,GAAkB,GCqBP,UAAI6B,OAAO,CACxBsG,MAAO,CACL4d,YAAa,CACX3sB,KAAMjG,SAGV8O,SAAU,OAAF,sCACH,eAAS,QAAS,CAAC,gBACnB,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,iBClC6Z,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QCoCA,UAAIJ,OAAO,CACxBsG,MAAO,CACL4d,YAAa5yB,OACbkX,MAAOhC,SAGT3V,KANwB,aAOtB,MAAO,CACL8nD,QAAS,QAIbv4C,SAAU,OAAF,oDACH,eAAS,QAAS,CAAC,gBAAiB,gBACpC,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,eAAgB,eAAa,CAErDjC,QAFqD,aAGnD,OAAOI,KAAK2lB,YAAY/lB,SAG1BJ,UANqD,aAOnD,OAAOQ,KAAK2lB,YAAYnmB,WAG1Bsf,OAVqD,aAWnD,OAAO9e,KAAK2lB,YAAY7G,UAI5B9c,QAAS,CACP6tD,OADO,aAED7vD,KAAK2lB,aAAe3lB,KAAK2lB,YAAYnvB,IACtCwJ,KAAK2B,MAAMkwD,kBAA0B/rB,KAAK9lC,KAAK2lB,YAAYnvB,MAKlEsd,WAAY,CACVg+C,kBACAC,qBACAC,mBACA9lC,wBACA0lC,sBCjGwb,MCOxb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACxvD,SAAA,KAAME,UAAA,QAAUC,WAAA,UCO/B,cAAId,OAAO,CACxBsG,MAAO,CACLvI,UAAWF,OACXwf,OAAQxf,OACR2K,MAAOhC,SAGTpG,SAAU,OAAF,wBACH,eAAW,QAAS,CACrB,6BACA,mCACA,CAMFowD,oBANE,aAOA,OAAIjyD,KAAK8e,OACA9e,KAAKiyB,2BAA2BjyB,KAAK8e,QAErC9e,KAAK8xB,8BAA8B9xB,KAAKR,UAAWQ,KAAK8e,SAInEozC,iBAdE,aAeA,OAAO,IAAEtzD,OAAOoB,KAAKiyD,qBAAqB,SAACj8D,GACzC,OAAO,IAAE6E,SAASqqB,GAAkBlvB,EAAEskB,iBAI1C63C,kBApBE,aAqBA,OAAO,IAAEvzD,OAAOoB,KAAKiyD,qBAAqB,SAACj8D,GACzC,OAAO,IAAE6E,SAASsqB,GAAmBnvB,EAAEskB,mBAI7CxG,WAAY,CACVs+C,yBCtEyb,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC5vD,QAAA,KAAKE,QAAA,OC6BpB,cAAIjB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAENuC,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,aAAc,kBAAmB,mBAAiB,CAC1E6H,QAD0E,aAIxE,OAAQ1J,KAAKT,OAASS,KAAK8f,SAE7BvgB,KAN0E,aAOxE,OAAOS,KAAK0yB,WAAW1yB,KAAKxJ,KAE9BspB,QAT0E,aAUxE,IAAK9f,KAAKT,KACR,OAAO,KAET,OAAOS,KAAK6tB,cAAc7tB,KAAKT,KAAKC,YAEtCkwD,MAf0E,aAgBxE,IAAK1vD,KAAK8f,QACR,MAAO,GAET,OAAO9f,KAAK2yB,gBAAgB3yB,KAAK8f,QAAQtpB,KAAQ,IAEnDm5D,WArB0E,aAqBhE,WACR,OAAOn6B,GAAiBn/B,KAAI,SAAC8lC,GAAD,MAAc,CACxCA,UACAuzB,MAAO,EAAKA,MAAM9wD,QAAO,SAACpK,GAAD,OAAOA,EAAE2nC,UAAYA,MAAY,UAIhEroB,WAAY,CACVu+C,iBACAzC,mBACA0C,iBACAC,0BC3Fqa,MCOra,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAACnwD,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKC,cAAA,KAAW6B,mBAAA,KAAgB5B,QAAA,KAAKsC,YAAA,KAASC,cAAA,UC9B5F,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACnB,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAI4E,QAAQjE,GAAG,CAAC,aAAeX,EAAIyyD,iBAAiB,IAC1N,GAAkB,G,aCDlB,GAAS,WAAa,IAAIzyD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACO,GAAG,CAAC,OAAS,SAASC,GAAQA,EAAOC,iBAAiB,OAAOb,EAAIqI,UAAU3U,MAAM,KAAMqN,cAAc,CAACX,EAAG,SAAS,CAACE,MAAM,CAAC,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,YAAY,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,GAAG,mBAAmBN,EAAIkK,MAAQ,OAAS,QAAQ5E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,YAAYA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIoK,eAAelJ,GAAKG,WAAW,sBAAsBoE,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACmB,YAAY,WAAW,CAACnB,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,eAAeP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,MAAM,GAAGL,EAAG,YAAcJ,EAAIoK,eAAoTpK,EAAI6C,KAAxSzC,EAAG,eAAe,CAACM,IAAI,QAAQJ,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,GAAG,cAAc,SAAS,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAU,EAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,IAAqB,kBAARnJ,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,gBAAyBrB,EAAIgG,GAAG,WAAW,GAAG5F,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAUsG,EAAkB,eAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAU,gBAAgB,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQ,qBAAqB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,kBAAkB,GAAG,gBAAgB,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAgB,QAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,UAAWnJ,IAAMG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAyB,iBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,mBAAoBnJ,IAAMG,WAAW,gCAAgC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA4B,oBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,sBAAuBnJ,IAAMG,WAAW,mCAAmC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAkB,UAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,YAAanJ,IAAMG,WAAW,yBAAyB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,UAAY,GAAG,kBAAkB,GAAG,KAAOT,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAe,OAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,SAAUnJ,IAAMG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,UAAY,GAAG,kBAAkB,IAAIU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6B,UAAY,GAAG,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,UAAY,GAAG,aAAa,MAAM,uBAAuB,aAAaO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAgB,QAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,UAAWnJ,IAAMG,WAAW,uBAAuB,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAKN,EAAIqK,SAAS+b,SAASrzB,OAAS,EAAI,IAAI,CAACqN,EAAG,sBAAsB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,SAAW,GAAG,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,uBAAwBrB,EAAIqK,SAAS+b,SAASrzB,OAAS,EAAGqN,EAAG,MAAM,CAACA,EAAG,gBAAgB,CAACmB,YAAY,YAAYjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,2BAA2B,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,SAASL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,SAAS,IAAI,GAAGT,EAAI6C,MAAM,GAAI7C,EAAIqK,SAAS+b,SAAe,OAAEhmB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQ,mBAAmB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAoB,YAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,cAAenJ,IAAMG,WAAW,2BAA2B,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAKN,EAAIqK,SAAS+b,SAASrzB,OAAS,EAAI,IAAI,CAACqN,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAgB,QAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,UAAWnJ,IAAMG,WAAW,uBAAuB,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,aAAa,UAAY,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAuB,eAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,iBAAkBnJ,IAAMG,WAAW,8BAA8B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,WAAW,UAAY,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,OAAOL,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,aAAa,aAAa,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,MAAQ,2BAA2B,kBAAkB,GAAG,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA4B,oBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,sBAAuBnJ,IAAMG,WAAW,mCAAmC,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,UAAY,GAAG,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,uBAAwBrB,EAAIqK,SAAS1D,SAAS5T,OAAS,EAAGqN,EAAG,MAAM,CAACA,EAAG,gBAAgB,CAACmB,YAAY,YAAYjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,2BAA2B,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,SAASL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,SAAS,IAAI,GAAGT,EAAI6C,MAAM,GAAI7C,EAAIqK,SAAS1D,SAAe,OAAEvG,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mCAAmC,MAAQ,+BAA+B,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA4B,oBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,sBAAuBnJ,IAAMG,WAAW,mCAAmC,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQ,mBAAmB,aAAa,MAAM,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,OAAS,QAAQ,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA8B,sBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,wBAAyBnJ,IAAMG,WAAW,qCAAqC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,OAAS,QAAQ,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiC,yBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,2BAA4BnJ,IAAMG,WAAW,wCAAwC,IAAI,IAAI,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACmB,YAAY,aAAajB,MAAM,CAAC,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAIzC,QAAQ,QAAUyC,EAAI2J,QAAQ,eAAe,GAAG,KAAO3J,EAAIyK,KAAKC,OAAO,iBAAiB1K,EAAIyK,KAAKE,KAAK,sBAAsB3K,EAAIyK,KAAKG,YAAY,eAAe,CACn1T,yBAA0B,CAAC,GAAI,GAAI,GAAI,GAAI,MAC3C,eAAe5K,EAAIS,GAAG,gBAAgB,MAAQ,IAAIE,GAAG,CAAC,cAAc,SAASC,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,SAAU7J,IAAS,sBAAsB,SAASA,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,OAAQ7J,IAAS,wBAAwB,SAASA,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,OAAQ7J,IAAS,YAAYZ,EAAI0yD,UAAUptD,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,eAAe8P,GAAG,SAAS9E,GACxX,IAAItL,EAAQsL,EAAItL,MAC9B,MAAO,CAACgL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQlL,QAAY,CAACM,IAAI,gBAAgB8P,GAAG,SAAS9E,GACjE,IAAItL,EAAQsL,EAAItL,MAC9B,MAAO,CAAC4K,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBnnB,EAAO,uBAAuB,QAAQ,CAACM,IAAI,kBAAkB8P,GAAG,SAAS9E,GAC/G,IAAItL,EAAQsL,EAAItL,MAC9B,MAAO,CAAC4K,EAAIO,GAAG,IAAIP,EAAIQ,GAAGpL,EAAM6V,KAAK,OAAO,QAAQ,CAACvV,IAAI,kBAAkB8P,GAAG,SAAS9E,GACzE,IAAItL,EAAQsL,EAAItL,MAC9B,MAAO,CAAC4K,EAAIO,GAAG,IAAIP,EAAIQ,GAAGpL,EAAM6V,KAAK,OAAO,SAAS,KAAK,SAAS,GAAIjL,EAAa,UAAEI,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,SAAS,KAAO,2CAA6CN,EAAIqL,cAAc,CAACjL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,mBAAmBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,MAAM,IAAI,GAAGT,EAAI6C,MAAM,IAAI,IAAI,IAAI,IACzZ,GAAkB,GCiWP,UAAInB,OAAO,CACxBsG,MAAO,CAMLtE,MAAO1Q,OAMPkX,MAAOhC,SAGTE,QAhBwB,aAiBlBnI,KAAKyD,OACPzD,KAAK2V,eAIP3V,KAAKoI,YAMLpI,KAAKoI,UAAY,IAAEwN,SAAS5V,KAAKoI,UAAW,KAG5CpI,KAAK2V,aAAe,IAAEC,SAAS5V,KAAK2V,aAAc,MAGpDrjB,KAlCwB,aAmCtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KACP0Q,eAAgB,MAEhB0L,gBAAiB,GACjBzL,SAAU,CACR0L,EAAG,GAEHo6C,WAAY,MACZwC,UAAW,MACXC,aAAc,MACdC,iBAAkB,MAClBC,oBAAqB,MAErB7D,SAAU,EACV7yB,QAAS,EACTjW,SAAU,GAEVzb,OAAQ,GACRzE,cAAe,GAEflC,QAAS,EACT2C,WAAY,EAEZw7B,QAAS,EACT9b,SAAU,GACV2sC,cAAe,MACfx4C,YAAa,EAEb5T,SAAU,GACV4P,cAAe,MACfy8C,oBAAqB,EACrBx8C,WAAY,EAEZy8C,eAAgB,GAChBC,gBAAiB,GAEjBC,gBAAiB,GAEjBC,sBAAuB,EACvBC,yBAA0B,GAG5BjH,QAAS,GAET3hD,KAAM,CACJC,OAAQ,EACRC,KAAM,GACNC,YAAa,KAKnB9I,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CAAC,2BAAyB,CAMpD8U,kBANoD,aAOlD,OAAO,IAAE3J,QAAQhN,KAAKoK,SAAUpK,KAAK6V,kBASvCzK,YAhBoD,aAiB9C,IAAEa,QAAQjM,KAAK6V,mBACjB7V,KAAK6V,gBAAkB,IAAEe,UAAU5W,KAAKoK,WAE1C,IAAMyM,EAAKjK,GAAgB5M,KAAKoK,SAAUpK,KAAK6V,iBAC/C,OAAOtK,GAAsBsL,EAAI7W,KAAKwK,OAOxCyhD,UA5BoD,aA6BlD,OAAOjsD,KAAKsD,cAAc,qBAQ5BhG,QArCoD,aAsClD,MAAO,CACL,CACEmL,KAAM7K,EAAKxI,EAAE,yBACbD,MAAO,gBACP2hB,MAAO,SAET,CAAErO,KAAM7K,EAAKxI,EAAE,4BAA6BD,MAAO,UACnD,CAAEsT,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,WACvC,CAAEsT,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,YACvC,CAAEsT,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,cACvC,CAAEsT,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,kBAK7C2M,MAAO,CAWL2B,MAXK,WAWC,GACJzD,KAAK2V,gBAMPvK,YAlBK,WAkBO8L,GACVlX,KAAKoI,aAOPgC,SAAU,CACR+M,KAAM,KACNlT,UAAW,MACXC,QAHQ,WAGAgT,EAAQE,GACVpX,KAAKwK,KAAKG,YAAc,GAAK3K,KAAKwK,KAAKC,OAAS,IAClDzK,KAAKwK,KAAKC,OAAS,KASzBN,eAxCK,WAwCUkN,GACTA,EACFrX,KAAKsX,sBAELtX,KAAKuX,0BAKXvV,QAAS,CAIP2T,aAJO,aAKLzJ,GAAgBlM,KAAKyD,MAAOzD,KAAKoK,SAAUpK,KAAKwK,MAC3CxK,KAAK2W,mBAAyC,KAApB3W,KAAKoK,SAAS0L,IAC3C9V,KAAKmK,eAAiB,OASpB/B,UAhBC,a,0KAiBLpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAGL+K,E,wBAAuBxE,KAAKoL,a,SACrB,OAAM,GAASrW,IAAIyP,G,OAA1B/G,E,OACNuC,KAAKwK,KAAKG,YAAc,IAAE5V,IAAI0I,EAAM,yBAA0B,GAC9DuC,KAAKmsD,QAAU,IAAEp3D,IAAI0I,EAAM,YAAa,IACxCuC,KAAK8H,MAAM,eAAgB9H,KAAKoL,a,qDAEhCpL,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,qFASnB9D,MAtCO,aAuCL5F,KAAKsX,sBACLtX,KAAKuX,yBAGPD,oBA3CO,aA4CLtX,KAAKoK,SAAS0L,EAAI,IAGpByB,sBA/CO,aAgDLvX,KAAKoK,SAAWrX,OAAOyI,OAAOwE,KAAKoK,SAAUpK,KAAK6V,kBAOpD48C,SAvDO,WAuDElzD,GACP,GAAOnM,KAAK,CACVsB,KAAM,WACN2K,OAAQ,CAAE7I,GAAIwR,OAAOzI,EAAK/I,SAKhCsd,WAAY,CACV2kB,oBACA0F,iBACAzF,sBACA/gB,iBACAqoB,iBACAzkB,0BClnBkb,MCOlb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAoBhC,KAAkB,GAAW,CAACpZ,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUmR,aAAA,KAAUjR,QAAA,KAAKsV,cAAA,KAAWC,SAAA,KAAMtD,SAAA,KAAMuD,UAAA,KAAOC,eAAA,KAAYvV,QAAA,KAAKqC,WAAA,KAAQugC,WAAA,KAAQ3iC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UC3BtI,cAAIxD,OAAO,CACxBO,QAAS,CASPwwD,aATO,WASM9uD,GACG,KAAVA,IACFA,EAAQ,IAAH,OAAO2vD,UAAU3vD,KAExB,IAAM4vD,EAAU,GAAH,OAAMtzD,KAAK2E,OAAOwN,MAAlB,OAAyBzO,GAClC1D,KAAK2E,OAAOC,WAAa0uD,GAC3BtzD,KAAKoE,QAAQ2sC,QAAQuiB,KAK3Bx/C,WAAY,CACVy/C,mBCjC4Z,MCO5Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC9wD,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI1C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAQ,KAAEI,EAAG,MAAM,CAACA,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAKN,EAAIvJ,MAAM2J,EAAG,cAAc,CAAEJ,EAAQ,KAAEI,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,oBAAqB2K,OAAQ,CAAE7I,GAAIuJ,EAAIvJ,OAAS,CAACuJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI+f,QAAQrV,QAAQ,QAAQ,GAAGtK,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,SAAWN,EAAIR,KAAKyvD,SAAS,oBAAsBjvD,EAAIR,KAAK0vD,wBAAwB,GAAG9uD,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAAEN,EAAIR,KAAY,QAAEY,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmBT,EAAI6C,KAAO7C,EAAIR,KAAKuvD,QAA0D/uD,EAAI6C,KAArDzC,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAA6BL,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIR,KAAKgH,WAAWxG,EAAIO,GAAG,MAAMH,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,eAAe,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIyzD,KAAK,IAAIzzD,EAAIQ,GAAGR,EAAIS,GAAG,cAAc,OAAO,IAAI,GAAGL,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,aAAa,KAAK,CAAEN,EAAIR,KAAe,WAAEY,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,OAAOT,EAAI6C,KAAM7C,EAAIR,KAAe,WAAEY,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIR,KAAK2vD,eAAe,GAAGnvD,EAAI6C,KAAM7C,EAAIR,KAAwB,oBAAEY,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,OAAOT,EAAI6C,KAAM7C,EAAIR,KAAwB,oBAAEY,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBvc,EAAIR,KAAK0vD,oBAAqB,6BAA8B,OAAOlvD,EAAI6C,KAAM7C,EAAIR,KAAgB,YAAEY,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAOT,EAAI6C,KAAM7C,EAAIR,KAAgB,YAAEY,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIR,KAAK4vD,gBAAgB,GAAGpvD,EAAI6C,MAAM,IAAI,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,OAASN,EAAIvJ,GAAG,QAAUuJ,EAAIR,KAAKuE,YAAY,IAAI,GAAG/D,EAAI6C,KAAKzC,EAAG,aAAaA,EAAG,sBAAsB,CAACE,MAAM,CAAC,UAAYN,EAAIR,KAAKC,UAAU,OAASO,EAAIR,KAAK/I,MAAM2J,EAAG,QAAQ,CAAEJ,EAAIiH,kBAAwB,OAAE7G,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,OAAOL,EAAG,2BAA2B,CAACE,MAAM,CAAC,UAAYN,EAAIR,KAAKC,cAAc,GAAGO,EAAI6C,KAAKzC,EAAG,sBAAsB,CAACE,MAAM,CAAC,UAAYN,EAAIR,KAAKC,UAAU,OAASO,EAAIvJ,GAAG,KAAO,GAAG,GAAK,KAAwB,UAAlBuJ,EAAIR,KAAKvG,KAAkBmH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,uBAAuB,CAACE,MAAM,CAAC,OAASN,EAAIR,KAAK/I,OAAO,GAAGuJ,EAAI6C,MAAM,GAAGzC,EAAG,aAAaA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,sBAAsB,CAACE,MAAM,CAAC,OAASN,EAAIvJ,OAAO,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,OAASN,EAAIvJ,GAAG,UAAYuJ,EAAIR,KAAKC,cAAc,GAAGW,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,uBAAuB,CAACE,MAAM,CAAC,UAAYN,EAAIR,KAAKC,cAAc,GAAGW,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,UAAYN,EAAIR,KAAKC,UAAU,OAASO,EAAIvJ,OAAO,IAAI,IAAI,IAAI,GAAGuJ,EAAI6C,MACrkH,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,qBAAqB,CAACE,MAAM,CAAC,UAAYN,EAAIP,UAAU,OAASO,EAAI+e,OAAO,OAAS,aAAatZ,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,GAAGL,EAAG,cAAc,CAACA,EAAG,mBAAmB,CAACE,MAAM,CAAC,OAASN,EAAIizB,WAAW,IAAI,IACje,GAAkB,GCDlB,GAAS,WAAa,IAAIjzB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,GAAG,yBAAyB,MAAM,KAAON,EAAI0zD,SAASC,KAAKruD,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACrP,IAAIC,EAAKD,EAAIC,GACTL,EAAQI,EAAIJ,MAChB,MAAO,CAACF,EAAG,qBAAqBJ,EAAIoiD,GAAG,CAAC9hD,MAAM,CAAC,IAAM,GAAG,SAAW,GAAG,OAAS,GAAG,MAAQ,SAAS,aAAaN,EAAIqvD,WAAW,aAAe,QAAQ,MAAQrvD,EAAIS,GAAG,2CAA2CE,GAAG,CAAC,QAAUA,EAAGizD,OAAOtuD,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,WAAW,MAAO,CAACxF,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0CAA0C,OAAOgF,MAAM,OAAO,KAAK,OAAO,qBAAqBnF,EAAM,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAG,cAAc,QAAQS,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAI6zD,SAAS3yD,GAAKG,WAAW,aAAa,CAACjB,EAAG,SAASJ,EAAI0F,GAAI1F,EAAc,YAAE,SAASo3C,GAAU,OAAOh3C,EAAG,SAAS,CAAC1K,IAAI0hD,EAAS3gD,GAAG6J,MAAM,CAAC,WAAW,GAAG,KAAON,EAAI0zD,SAASC,KAAKruD,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACxuB,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,cAAcJ,EAAI4F,GAAG,GAAGjF,GAAI,CAACP,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG42C,EAASziD,KAAKqL,EAAIzD,SAAS,QAAQ,GAAG6D,EAAG,qBAAqB,CAAGJ,EAAIujD,cAA8EvjD,EAAI6C,KAAnEzC,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,sBAAgCP,EAAiB,cAAEI,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,qBAAqBP,EAAI6C,MAAM,IAAI,OAAO,KAAK,OAAO,CAACzC,EAAG,SAASJ,EAAI0F,GAAI0xC,EAAkB,WAAE,SAAS0c,EAAGjhE,GAAG,OAAOuN,EAAG,cAAc,CAAC1K,IAAI7C,EAAE8N,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+zD,gBAAgBD,EAAGE,OAAQF,EAAGr5D,YAAY,CAAC2F,EAAG,oBAAoB,CAAE0zD,EAAO,KAAE1zD,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAGP,EAAIQ,GAAGszD,EAAGxC,SAAStxD,EAAI6C,KAAK7C,EAAIO,GAAG,IAAIP,EAAIQ,GAAGszD,EAAG3sD,OAAO,MAAM,IAAI,MAAK,IAAI,MAAK,IAAI,GAAG/G,EAAG,uBAAuB,CAACE,MAAM,CAAC,UAAYN,EAAIP,UAAU,OAASO,EAAI+e,OAAO,SAAW/e,EAAImmB,SAAS,aAAenmB,EAAIqmB,aAAa,eAAe,IAAIrlB,MAAM,CAAC5L,MAAO4K,EAA4B,yBAAEiB,SAAS,SAAUC,GAAMlB,EAAIi0D,yBAAyB/yD,GAAKG,WAAW,8BAA+BrB,EAAU,OAAEI,EAAG,mBAAmB,CAACE,MAAM,CAAC,OAASN,EAAI+e,QAAQ/d,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAIk0D,qBAAqBhzD,GAAKG,WAAW,0BAA0BrB,EAAI6C,KAAKzC,EAAG,uBAAuB,CAACE,MAAM,CAAC,OAASN,EAAI+e,OAAO,UAAY/e,EAAIP,UAAU,6BAA+BO,EAAIm0D,mBAAmBnzD,MAAM,CAAC5L,MAAO4K,EAA4B,yBAAEiB,SAAS,SAAUC,GAAMlB,EAAIo0D,yBAAyBlzD,GAAKG,WAAW,8BAA8BjB,EAAG,2BAA2B,CAACE,MAAM,CAAC,OAASN,EAAI+e,OAAO,UAAY/e,EAAIP,UAAU,eAAe,IAAIuB,MAAM,CAAC5L,MAAO4K,EAAgC,6BAAEiB,SAAS,SAAUC,GAAMlB,EAAIq0D,6BAA6BnzD,GAAKG,WAAW,mCAAmC,IACrtD,GAAkB,GCNlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAASN,EAAIs0D,gBAEzIt0D,EAAIwhB,eAAexhB,EAAIs0D,gBAAgB3/D,MADvCqL,EAAIS,GAAG,qCACsC,eAAe,GAAG,YAAY,QAAQE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,kBAAkB,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIwG,QAAQtF,GAAKG,WAAW,cAAc,GAAKrB,EAAIu0D,6BAA0Tv0D,EAAI6C,KAAhSzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2CAA2C,MAAQ,0BAA0BO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAI23C,gBAAgBz2C,GAAKG,WAAW,sBAAsB,GAAarB,EAAIw0D,aAAmB,OAAEx0D,EAAI0F,GAAI1F,EAAgB,cAAE,SAAS46C,EAAM/nD,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAI,QAAU7C,EAAEyN,MAAM,CAAC,KAAO,OAAO,CAAiB,iBAAfs6C,EAAM3hD,KAAyBmH,EAAG,cAAc,CAACE,MAAM,CAAC,OAASN,EAAI+e,OAAO,UAAY/e,EAAIP,WAAWuB,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,yBAAf+3C,EAAM3hD,KAAiCmH,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,wBAAwB,CAACY,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,4BAA4B,GAAGjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQs6C,EAAMnB,WAC/iD,CAAC,SAAUr+C,GAAK,OAAQA,GAAKA,EAAErI,OAAS,GAAMiN,EAAIS,GAAG,oBACrD,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,4BAA4B,GAAGrB,EAAI6C,KAAqB,uBAAf+3C,EAAM3hD,KAA+BmH,EAAG,sBAAsB,CAACE,MAAM,CAAC,MAAQs6C,EAAMnB,WAAa,CAAC,SAAUr+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAwB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,0BAAf+3C,EAAM3hD,KAAkCmH,EAAG,wBAAwB,CAACE,MAAM,CAAC,UAAYN,EAAIP,UAAU,MAAQm7C,EAAMnB,WAAa,CAAC,SAAUr+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAwB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,aAAf+3C,EAAM3hD,KAAqBmH,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQs6C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,MAAQq+C,EAAMnB,WAAa,CAAC,SAAUr+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAwB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,cAAf+3C,EAAM3hD,KAAsBmH,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQs6C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,MAAQq+C,EAAMnB,WAAa,CAAC,SAAUr+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAwB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAsB,kBAARuM,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,2BAA2BrB,EAAI6C,KAAqB,cAAf+3C,EAAM3hD,KAAsBmH,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQs6C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,MAAQq+C,EAAMnB,WAAa,CAAC,SAAUr+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAwB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,qBAAf+3C,EAAM3hD,KAA6BmH,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQs6C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,MAAQq+C,EAAMnB,WAAa,CAAC,SAAUr+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAwB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,sBAAf+3C,EAAM3hD,KAA8BmH,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQs6C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,kBAAkBq+C,EAAMnB,WAAa,gBAAa/+C,EAAU,UAAY,GAAGsG,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAoB,iBAAd+3C,EAAM3hD,KAAyBmH,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQs6C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,UAAYyD,EAAIP,UAAU,OAASO,EAAI+e,OAAO,WAAa67B,EAAMhC,SAASW,cAAc,MAAQqB,EAAMhC,SAASY,eAAe,SAAWoB,EAAMnB,YAAYz4C,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAoB,cAAd+3C,EAAM3hD,KAAsBmH,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQs6C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,UAAYyD,EAAIP,UAAU,OAASO,EAAI+e,OAAO,WAAa67B,EAAMhC,SAASW,cAAc,MAAQqB,EAAMnB,WAAa,CAAC,SAAUr+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAwB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,gBAAf+3C,EAAM3hD,KAAwBmH,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQs6C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,MAAQq+C,EAAMhC,SAASC,UAAU,MAAQ+B,EAAMnB,WAAa,CAAC,SAAUr+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAwB,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,kBAAf+3C,EAAM3hD,KAA0BmH,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQs6C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,MAAQq+C,EAAMnB,WAAa,CAAC,SAAUr+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAwB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,qBAAf+3C,EAAM3hD,KAA6BmH,EAAG,mBAAmB,CAACE,MAAM,CAAC,OAASN,EAAI+e,OAAO,UAAY/e,EAAIP,WAAWuB,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,wBAAf+3C,EAAM3hD,KAAgCmH,EAAG,sBAAsB,CAACE,MAAM,CAAC,MAAQs6C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,UAAYyD,EAAIP,WAAWuB,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,uBAAf+3C,EAAM3hD,KAA+BmH,EAAG,qBAAqB,CAACE,MAAM,CAAC,UAAY,GAAG,kBAAkB,GAAG,SAAWs6C,EAAMnB,YAAYz4C,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAC/0J,kBAAf+3C,EAAM3hD,MAA2C,gBAAf2hD,EAAM3hD,KACxCmH,EAAG,gBAAgB,CAACE,MAAM,CAAC,UAAYN,EAAIP,UAAU,MAAQm7C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,MAAQq+C,EAAMnB,WAAa,CAAC,SAAUr+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAwB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,8BAAf+3C,EAAM3hD,KAAsCmH,EAAG,4BAA4B,CAACE,MAAM,CAAC,OAASN,EAAI+e,OAAO,UAAY/e,EAAIP,UAAU,MAAQm7C,EAAMzzC,MAAMnH,EAAIzD,SAASyE,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,kBAAf+3C,EAAM3hD,KAA0BmH,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQs6C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,OAASyD,EAAI+e,OAAO,UAAY/e,EAAIP,WAAWuB,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,qBAAf+3C,EAAM3hD,KAA6BmH,EAAG,uBAAuB,CAACE,MAAM,CAAC,OAASN,EAAI+e,OAAO,UAAY/e,EAAIP,WAAWuB,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,mBAAf+3C,EAAM3hD,KAA2BmH,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQs6C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,iBAAmBq+C,EAAMhC,SAASr+B,YAAY,OAASva,EAAI+e,OAAO,UAAY/e,EAAIP,UAAU,SAAWO,EAAImmB,SAAS,aAAenmB,EAAIqmB,cAAcrlB,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,4BAAf+3C,EAAM3hD,KAAoCmH,EAAG,0BAA0B,CAACE,MAAM,CAAC,UAAYN,EAAIP,UAAU,MAAQm7C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,MAAQq+C,EAAMnB,WAAa,CAAC,SAAUr+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAwB,GAAG,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,0BAAf+3C,EAAM3hD,KAAkCmH,EAAG,0BAA0B,CAACE,MAAM,CAAC,UAAYN,EAAIP,UAAU,MAAQm7C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,MAAQq+C,EAAMnB,WAAa,CAAC,SAAUr+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAwB,GAAG,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,kBAAf+3C,EAAM3hD,KAA0BmH,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQs6C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,OAASyD,EAAI+e,OAAO,QAAU/e,EAAI+D,QAAQ,MAAQ62C,EAAMnB,WAAa,CAAC,SAAUr+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAwB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,uBAAf+3C,EAAM3hD,KAA+BmH,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQs6C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,MAAQq+C,EAAMnB,WAAa,CAAC,SAAUr+C,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAwB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,wBAAf+3C,EAAM3hD,KAAgCmH,EAAG,sBAAsB,CAACE,MAAM,CAAC,QAAUN,EAAIR,KAAKuE,SAAS/C,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,oBAAf+3C,EAAM3hD,KAA4BmH,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQs6C,EAAMzzC,MAAMnH,EAAIzD,QAAQ,UAAYyD,EAAIS,GAAG,eAAe,WAAaT,EAAIS,GAAG,cAAc,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,KAAqB,eAAf+3C,EAAM3hD,KAAuBmH,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ,CAAC,SAAUlF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAIy0D,UAAU7Z,EAAMjmD,MAAOsM,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIy0D,UAAW7Z,EAAMjmD,KAAMuM,IAAMG,WAAW,2BAA2BrB,EAAI6C,MAAM,MAAK7C,EAAI6C,KAAM7C,EAAuB,oBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoBO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAI00D,eAAexzD,GAAKG,WAAW,qBAAqB,GAAGrB,EAAI6C,KAAM7C,EAAkB,eAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,sBAAsB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,UAAYT,EAAIP,UAAU,MAAQ,CAAC,SAAUrE,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAI20D,YAAYzzD,GAAKG,WAAW,kBAAkB,GAAGrB,EAAI6C,KAAM7C,EAAwB,qBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACY,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI4D,aAAa1C,GAAKG,WAAW,mBAAmB,GAAGrB,EAAI6C,KAAM7C,EAA0B,uBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qCAAqCO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIoG,gBAAgBlF,GAAKG,WAAW,sBAAsB,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,UAAUO,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAImxD,MAAsB,kBAARjwD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,YAAY,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,kBAAkB,IAAI,IAAI,IACv1K,GAAkB,GCPlB,GAAS,WAAa,IAAIN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,MAAQT,EAAI+yB,cAAc6hC,eAAe,MAAQ,CAAC,SAAUx5D,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,iBAAkB1M,QAAa,GAAKZ,EAAI60D,gBAAoI70D,EAAI6C,KAAvHzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,UAAU,CAACN,EAAIO,GAAG,gCAAgC,GAAcP,EAAI80D,mBAAiK90D,EAAI6C,KAAjJzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,UAAU,CAACN,EAAIO,GAAG,0DAA0D,GAAYH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,OAAOT,EAAI0F,GAAI1F,EAAuB,qBAAE,SAAS4lB,GAAa,OAAOxlB,EAAG,aAAa,CAAC1K,IAAIkwB,EAAYnvB,GAAG6J,MAAM,CAAC,MAAQN,EAAI0Y,UAAUkN,EAAY/lB,SAAS,MAAQ+lB,EAAY/lB,QAAQ,eAAe,OAAO,MAAQ,IAAImB,MAAM,CAAC5L,MAAO4K,EAAI+yB,cAA2B,cAAE9xB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAI+yB,cAAe,gBAAiB7xB,IAAMG,WAAW,qCAAoC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,OAAOT,EAAI0F,GAAI1F,EAAuB,qBAAE,SAAS4lB,GAAa,OAAOxlB,EAAG,aAAa,CAAC1K,IAAIkwB,EAAYnvB,GAAG6J,MAAM,CAAC,MAAQN,EAAI0Y,UAAUkN,EAAY/lB,SAAS,MAAQ+lB,EAAY/lB,QAAQ,eAAe,OAAO,MAAQ,IAAImB,MAAM,CAAC5L,MAAO4K,EAAI+yB,cAA6B,gBAAE9xB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAI+yB,cAAe,kBAAmB7xB,IAAMG,WAAW,uCAAsC,GAAIrB,EAAIiH,kBAAwB,OAAE7G,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,QAAQ,GAAGL,EAAG,cAAc,CAACA,EAAG,2BAA2B,CAACE,MAAM,CAAC,UAAYN,EAAIR,KAAKC,UAAU,KAAO,OAAO,IAAI,IAAI,GAAGO,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kCAAkC,MAAQT,EAAI+yB,cAAc6B,sBAAsB,MAAQ,CAAC,SAAUx5B,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,wBAAyB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,MAAQT,EAAI+yB,cAAcgiC,YAAY,MAAQ,CAAC,SAAU35D,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,KAAO,IAAI,YAAY,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,cAAe1M,EAAQ,aAAa,IAAI,IAAI,IAC12F,GAAkB,GCDlB,GAAS,WAAa,IAAIZ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIiH,kBAAwB,OAAE7G,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+BL,EAAG,KAAK,CAACmB,YAAY,eAAenB,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wCAAwCL,EAAG,QAAQ,CAACJ,EAAI0F,GAAI1F,EAAqB,mBAAE,SAASic,GAAiB,OAAO7b,EAAG,KAAK,CAAC1K,IAAIumB,EAAgBxlB,GAAGoU,MAAM,CAAE4P,UAAWwB,EAAgBxB,YAAa,CAACra,EAAG,KAAK,CAACA,EAAG,uBAAuB,CAACE,MAAM,CAAC,WAAa,GAAG,QAAU2b,MAAoB,GAAG7b,EAAG,KAAK,CAACmB,YAAY,cAAc,CAAE0a,EAAgBL,SAAW,EAAGxb,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGyb,EAAgBL,UAAU,OAAO5b,EAAI6C,OAAOzC,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ2b,EAAgB+B,oBAAoB,QAAQhe,EAAc,WAAEI,EAAG,KAAK,CAACmB,YAAY,QAAQ,CAACnB,EAAG,MAAMA,EAAG,KAAK,CAACmB,YAAY,aAAajB,MAAM,CAAC,QAAU,MAAM,CAACF,EAAG,OAAO,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iCAAiC,OAAOL,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIg1D,+BAA+B,KAAKh1D,EAAI6C,MAAM,KAAK7C,EAAI6C,MAC1qC,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAOJ,EAAI0F,GAAI1F,EAAqB,mBAAE,SAAShK,EAASnD,GAAG,OAAOuN,EAAG,OAAO,CAAC1K,IAAI7C,GAAG,CAACmN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAImH,MAAMnR,IAAW,KAAMgK,EAAc,WAAEI,EAAG,0BAA0B,CAACE,MAAM,CAAC,OAAStK,KAAYgK,EAAI6C,MAAM,MAAK,IAC1T,GAAkB,GCqBP,UAAInB,OAAO,CACxBsG,MAAO,CACLsE,IAAK,CAAC/M,OAAQpG,OACd87D,QAAS,CAACjiE,OAAQmG,OAClBsG,UAAWF,OAEX21D,mBAAoBhtD,QACpBitD,WAAYjtD,SAEdpG,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CACrB,wBACA,iCACA,CACFmF,kBADE,aAEA,GAAIhH,KAAKqM,IAAK,CACZ,IAAMA,EAAM,IAAER,QAAQ,CAAC7L,KAAKqM,MAC5B,OAAO,IAAEhW,IAAIgW,EAAKrM,KAAKgd,uBAEzB,GAAIhd,KAAKg1D,QACP,OAAO,IAAEnpD,QAAQ,CAAC7L,KAAKg1D,UAEzB,GAAIh1D,KAAKR,UACP,OAAOQ,KAAKm1D,4BAA4Bn1D,KAAKR,YAAc,GAE7D,MAAO,MAGXwC,QAAS,CACPkF,MADO,WACD+X,GACJ,OAAQA,EAAG/C,QACT,KAAKQ,GAAsBa,MACzB,OAAOvd,KAAKo1D,UAAUn2C,GACxB,KAAKvC,GAAsBc,SACzB,OAAOxd,KAAKq1D,cAAcp2C,GAC5B,QACE,KAAMA,EAAGtY,aAAe3G,KAAKi1D,mBAC3B,MAAO,GAAP,OAAUh2C,EAAG/X,MAAb,cAAwB+X,EAAGtY,aAE7B,OAAOsY,EAAG/X,QAGhBkuD,UAdO,WAcGn2C,GACR,IAAMq2C,EAAKt1D,KAAKsc,sBAAsB2C,EAAG9C,OAAQ,sBACjD,OAAOm5C,GAETD,cAlBO,WAkBOp2C,GACZ,IAAIjT,EAAMpO,EAAKxI,EAAE,qBAAqB0W,WACtC,GAAsB,IAAlBmT,EAAG5C,WAAkB,CACvB,IAAMi5C,EAAKt1D,KAAKsc,sBACd2C,EAAG5C,WACH,oBAEFrQ,EAAMA,EAAM,MAAQspD,EAChBr2C,EAAG1C,sBAAwB,IAC7BvQ,GAAY,KAAH,OAAQiT,EAAG1C,wBAEtBvQ,GAAY,KAEd,OAAOA,IAGX8H,WAAY,CACVyL,8BCtFwa,MCOxa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QC8BA,UAAI9d,OAAO,CACxBsG,MAAO,CACLsE,IAAK,CAAC/M,OAAQpG,OACd87D,QAAS,CAACjiE,OAAQmG,OAClBsG,UAAWF,QAEbuC,SAAU,OAAF,oDACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CACrB,4BACA,wBACA,+BACA,CACFmF,kBADE,aAEA,GAAIhH,KAAKqM,IAAK,CACZ,IAAMA,EAAM,IAAER,QAAQ,CAAC7L,KAAKqM,MAC5B,OAAO,IAAEhW,IAAIgW,EAAKrM,KAAKgd,uBAEzB,GAAIhd,KAAKg1D,QACP,OAAO,IAAEnpD,QAAQ,CAAC7L,KAAKg1D,UAEzB,GAAIh1D,KAAKR,UACP,OAAOQ,KAAK4c,0BAA0B5c,KAAKR,YAAc,GAE3D,MAAO,IAETu1D,2BAdE,aAeA,IAAMQ,EAAyB,IAAE32D,OAAOoB,KAAKgH,kBAAmB,CAC9D,YACA,QAEF,OAAO,IAAE+V,IACP,IAAE1mB,IACAk/D,GACA,SAACv5C,GAAD,OAAqBA,EAAgBJ,sBAI3C45C,WA1BE,aA2BA,GAAIx1D,KAAKgH,kBAAkBlU,OAAS,EAClC,OAAO,KAET,OAAO,IAAEgrC,KAAK99B,KAAKgH,mBAAmB,SAACiY,GAAD,OAAQA,EAAGtD,SAAW,QAGhE3Z,QAAS,CACPyzD,cADO,WACOvuD,GACZ,OAAO,IAAEwuD,SAASxuD,EAAO,CAAEpU,OAAQ,OAGvCghB,WAAY,CACV6hD,2BCpG4a,MCO5a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC1mB,gBAAA,OCkFf,cAAIxtC,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CACL6D,KAAMjG,QAER+rB,OAAQxf,OACRE,UAAWF,QAGbhN,KATwB,aAUtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEP8M,QAAS,GACTouD,eAAgB,GAChBiB,cAAe,GACfC,gBAAiB,GACjBlhC,sBAAuB,EACvBmgC,YAAa,GACbF,gBAAiB,OAIrB/yD,SAAU,OAAF,oDACH,eAAW,QAAS,CAAC,uBACrB,eAAS,QAAS,CAAC,gBACnB,eAAW,QAAS,CACrB,aACA,4BACA,YACA,gCACA,CAEFixB,cAFE,aAGA,OAAO9yB,KAAK7K,MACR6K,KAAK7K,MACL,CACEqB,GAAI,EACJsoB,OAAQ9e,KAAK8e,OACb82C,cAAe,GACfC,gBAAiB,GACjBlhC,sBAAuB,EACvBmhC,gBAAiB,GACjBvvD,QAAS,GACTmZ,aAAc,GACdi1C,eAAgB,GAChBG,YAAa,KAGrBv1D,KAlBE,aAmBA,OAAOS,KAAK0yB,WAAW1yB,KAAK8e,SAG9BmzC,oBAtBE,aAuBA,OAAOjyD,KAAKiyB,2BAA2BjyB,KAAK8e,SAG9C9X,kBA1BE,aA2BA,OAAOhH,KAAK4c,0BAA0B5c,KAAKR,YAO7Cq1D,mBAlCE,aAmCA,OACsE,IAApE,IAAEl1B,aAAa3/B,KAAK41D,cAAe51D,KAAK61D,iBAAiB/iE,UAK/DgP,MAAO,CAKL3M,MALK,WAKC6W,GACJhM,KAAKtI,OAASsU,GAQhBtU,OAdK,WAcEsU,GACLhM,KAAK8H,MAAM,QAASkE,KAIxBhK,QAAS,CAKP4D,MALO,aAML5F,KAAK41D,cAAgB,GACrB51D,KAAK61D,gBAAkB,GACvB71D,KAAK20B,sBAAwB,EAC7B30B,KAAK20D,eAAiB,GACtB30D,KAAK80D,YAAc,IAarBznD,OAvBO,WAuBA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAG7CsH,EAAgBtlB,EAEH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAIxB,IAAM40D,EAAmB,iBAAI,uBAAU/1D,KAAK8yB,gBAAgB,SAAC33B,GAAD,OAC1D,iBAAIA,EAAG1F,EAAKglB,MAEdza,KAAK8H,MAAM,QAASiuD,KAIxBjiD,WAAY,CACVkiD,+BC9Oub,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAchC,KAAkB,GAAW,CAACt7B,UAAA,KAAOt4B,SAAA,KAAME,UAAA,QAAUmR,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,KAAU1O,YAAA,KAASC,cAAA,UChCvG,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAU,iBAAiBN,EAAI0F,GAAI1F,EAAgB,cAAE,SAAS4lB,EAAY/yB,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAIkwB,EAAYnvB,GAAG6J,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,UAAU,MAAQ,KAAK,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI+Z,cAAc6L,EAAY/lB,UAAU,QAAQ,GAAGO,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,uBAAuB,GAAG,MAAQslB,EAAYqB,SAAStmB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIk2D,kBAAkBrjE,EAAG,UAAW+N,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kCAAkC,MAAQmlB,EAAYmqC,mBAAmB,UAAY/vD,EAAIS,GAAG,YAAY,WAAaT,EAAIS,GAAG,eAAe,IAAM,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIk2D,kBAAkBrjE,EAAG,qBAAsB+N,QAAa,IAAI,GAAGR,EAAG,yBAAyB,CAACE,MAAM,CAAC,QAAUslB,EAAYqB,QAAQ,UAAYjnB,EAAIP,UAAU,MAAQmmB,EAAY2V,oBAAoB56B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIk2D,kBAAkBrjE,EAAG,qBAAsB+N,QAAa,IAAI,IAAI,MAAK,IAC1uC,GAAkB,GCDlB,GAAS,WAAa,IAAIZ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIm2D,aAAmB,OAAE/1D,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,SAAWT,EAAIo2D,8BAA8Bp1D,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAIq2D,mBAAmBn1D,GAAKG,WAAW,yBAAyB,IAAI,GAAGjB,EAAG,QAAQJ,EAAI0F,GAAI1F,EAA8B,4BAAE,SAASgpB,EAAQ6uB,GAAY,OAAOz3C,EAAG,QAAQ,CAAC1K,IAAI,MAAQmiD,EAAWv3C,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,4BAA4B,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBs7B,EAAY,mCAAmC,OAAO73C,EAAI0F,GAAG,GAAU,SAAS4wD,EAAOzjE,GAAG,OAAOuN,EAAG,MAAM,CAAC1K,IAAI,aAAe7C,GAAG,CAACuN,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIu2D,iBAAiBD,EAAOr9D,KAAKxC,IAAI,UAAYuJ,EAAIP,UAAU,iBAAmB62D,EAAOr9D,KAAKxC,GAAG,uBAAyBuJ,EAAImpC,uBAAuB,QAAUnpC,EAAImuC,QAAQ,QAAUnuC,EAAIouC,QAAQ,YAAcpuC,EAAIw2D,YAAY,YAAcx2D,EAAIy2D,YAAY,QAAUH,EAAOI,QAAQ,SAAWJ,EAAOr9D,KAAKyuD,iBAAmB1nD,EAAIq2D,oBAAoB11D,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI22D,kBAAkBL,EAAOr9D,KAAKxC,GAAImK,QAAa,OAAM,MAAK,IAAI,GAAGZ,EAAI6C,MACxzC,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,SAAW,UAAUE,GAAG,CAAC,OAASX,EAAIymC,OAAO,MAAQzmC,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,yBAAyB,CAACE,MAAM,CAAC,MAAQN,EAAI+wD,iBAAiB,SAAW,OAAO,GAAI/wD,EAAIynD,eAAeK,iBAAmB9nD,EAAIynD,eAAeG,eAAgBxnD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,8BAA8B,CAACE,MAAM,CAAC,YAAcN,EAAIw2D,YAAY,YAAcx2D,EAAIy2D,gBAAgB,GAAGz2D,EAAI6C,KAAM7C,EAAIynD,eAA8B,gBAAErnD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,4BAA4B,CAACE,MAAM,CAAC,SAAW,IAAIU,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIixD,gBAAgB/vD,GAAKG,WAAW,sBAAsB,GAAGrB,EAAI6C,KAAM7C,EAAIynD,eAA4B,cAAErnD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIynD,eAAeI,eACriC,CAAC,SAAUzsD,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBACrC,GAAG,MAAQT,EAAIS,GAAG,oBAAoBO,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAIgxD,aAAa9vD,GAAKG,WAAW,mBAAmB,GAAGrB,EAAI6C,KAAM7C,EAAIynD,eAA0C,4BAAErnD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,UAAYN,EAAIP,UAAU,MAAQO,EAAIS,GAAG,4BAA4B,MAAQT,EAAIynD,eAAeO,4BACvX,CAAC,SAAU5sD,GAAK,OAAOA,EAAErI,QAAUiN,EAAIS,GAAG,oBAC1C,GAAG,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAIkxD,mBAAmBhwD,GAAKG,WAAW,yBAAyB,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAIynD,eAA4B,cAAErnD,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,SAAS,MAAQT,EAAIynD,eAAeQ,cACxT,CAAC,SAAU7sD,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBACrC,IAAIO,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAImxD,MAAsB,kBAARjwD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,WAAWrB,EAAI6C,MAAM,GAAK7C,EAAI02D,QAAuI12D,EAAI6C,KAAlIzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,YAAY,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,GAAaT,EAAI42D,gBAAkB52D,EAAI62D,mBAAoBz2D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,YAAY,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8B,GAAGT,EAAI6C,MAAM,IAAI,GAAGzC,EAAG,MAAM,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,SAAWN,EAAI0H,SAAS,MAAQ1H,EAAI82D,WAAW,eAAe,IAAIxxD,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,QAAQ8P,GAAG,WAAW,MAAO,CAACpF,EAAG,OAAO,CAACyK,MAAM,CACtpB,mBAAoB7K,EAAI+2D,UACxB,kBAAmB/2D,EAAI02D,UAAY12D,EAAI+2D,UACvC,cAAe/2D,EAAI+2D,YAAc/2D,EAAI02D,QACrC,cAAe12D,EAAI+2D,WAAa/2D,EAAI02D,QACpC,iBAAkB12D,EAAI+2D,WAAa/2D,EAAI02D,UACtC,CAAC12D,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIynD,eAAe9yD,KAAKqL,EAAIzD,SAAS,KAAMyD,EAAgB,aAAEI,EAAG,OAAO,CAACJ,EAAIO,GAAG,OAAOH,EAAG,OAAO,CAACyK,MAAM,CAAE,cAAe7K,EAAIg3D,UAAW,CAAC52D,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIgxD,iBAAiB,GAAGhxD,EAAIO,GAAG,SAASP,EAAI6C,KAAM7C,EAAmB,gBAAEI,EAAG,OAAO,CAACJ,EAAIO,GAAG,OAAOH,EAAG,OAAO,CAACyK,MAAM,CAAE,cAAe7K,EAAIg3D,UAAW,CAAC52D,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIixD,oBAAoB,GAAGjxD,EAAIO,GAAG,SAASP,EAAI6C,SAAS4C,MAAM,QAAQzE,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAI+2D,UAAU71D,GAAKG,WAAW,eAAejB,EAAG,MAAM,CAACyK,MAAM,CACziB,cAAe7K,EAAIg3D,QACnB,OAAQ,KACR,eAAgB,OACf,CAAEh3D,EAAiB,cAAEI,EAAG,MAAM,CAACJ,EAAIO,GAAG,QAAQP,EAAIQ,GAAGR,EAAIi3D,cAAcj3D,EAAI6C,KAAM7C,EAAqB,kBAAEI,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIk3D,kBAAkBl3D,EAAI6C,KAAM7C,EAAIkxD,mBAAyB,OAAE9wD,EAAG,MAAM,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIkd,oBAAoBld,EAAIkxD,qBAAqB,OAAOlxD,EAAI6C,KAAM7C,EAAS,MAAEI,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAImxD,UAAUnxD,EAAI6C,KAAM7C,EAAmB,gBAAEI,EAAG,MAAM,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mCAAmC,OAAOT,EAAI6C,KAAM7C,EAAI42D,gBAAkB52D,EAAI62D,mBAAoBz2D,EAAG,MAAM,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,MAAQ,UAAU,CAACN,EAAIO,GAAG,+BAA+BP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,MAAM,GAAGT,EAAI6C,KAAM7C,EAAI+2D,YAAc/2D,EAAI02D,QAASt2D,EAAG,MAAM,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,MAAQ,UAAU,CAACN,EAAIO,GAAG,+BAA+BP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,MAAM,GAAGT,EAAI6C,QAAQ,IAAI,IAC72B,GAAkB,GCjBlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAI5K,MAAM,MAAQ4K,EAAIm3D,uBAAuB,YAAY,SAAUj4C,GAAM,OAAOA,EAAG/X,OAAS,aAAa,SAAU+X,GAAM,OAAOA,EAAGzoB,IAAM,MAAQuJ,EAAIsH,MAAM,MAAQtH,EAAImH,OAASnH,EAAIS,GAAG,8BAA8B,SAAWT,EAAIyH,UAAY,MAAM,SAAWzH,EAAIuH,SAAS,MAAQ,IAAI5G,GAAG,CAAC,MAAQX,EAAIo3D,8BACpa,GAAkB,GCoBP,UAAI11D,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CAAC+D,MAAOoG,QACf4H,MAAOc,OACPR,SAAUS,QACVzI,UAAWF,OACXgI,SAAUW,QACVZ,MAAOnO,MAMPs1D,eAAgBvmD,SAElBpG,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,+BAA6B,CACrDq1D,uBADqD,aAEnD,IAAInuC,EAA6B/oB,KAAK4c,0BACpC5c,KAAKR,WAEFQ,KAAKwuD,iBACRzlC,EAAU,IAAEnqB,OAAOmqB,EAAS,CAAEvO,UAAW,SAE3C,OAAOuO,KAGX/mB,QAAS,CACPm1D,0BADO,WACmBjgD,GAExBlX,KAAK8H,MAAM,QAASoP,OCnDqZ,MCO3a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC+O,WAAA,OCqJf,cAAIxkB,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,OACPyM,UAAWF,OACXwxD,iBAAkBxxD,OAClBm3D,QAASxuD,QACTimC,QAAS5uC,OACT6uC,QAAS7uC,OACTi3D,YAAaxjE,OACbyjE,YAAazjE,OACb0U,SAAUQ,SAEZ3V,KAZwB,aAatB,MAAO,CACLoF,OAAQ,MACRo/D,UAAW,MAEX9F,gBAAiB,EACjBD,aAAc,EACdG,MAAO,GACPD,mBAAoB,GACpBxJ,gBAAiB,QAGrB5lD,SAAU,OAAF,gFACH,eAAS,QAAS,CAAC,kBAAmB,8BACtC,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,0BACrB,eAAW,QAAS,CAAC,yBAAuB,CAM/C2lD,eAN+C,aAO7C,OAAOxnD,KAAK2rC,qBAAqB3rC,KAAK8wD,mBAQxClZ,WAf+C,aAgB7C,IAAK53C,KAAKwnD,eACR,OAAO,EAET,OAAOxnD,KAAKwnD,eAAe5P,YAQ7Bwf,sBA3B+C,aA4B7C,GAAIp3D,KAAKyH,SACP,OAAO,MAGT,IAAM4d,EAAKrlB,KAAKwnD,eAChB,IAAKniC,EACH,OAAO,MAET,GAAIA,EAAGwoB,eAAiBxoB,EAAGuiC,eACzB,OAAO,KAET,GAAIviC,EAAGwiC,iBAAmBxiC,EAAGyiC,iBAC3B,OAAO,KAET,GAAIziC,EAAG2iC,cACL,OAAO,KAET,GAAI3iC,EAAG0iC,4BACL,OAAO,KAET,OAAO,OAOTsP,cAvD+C,aAwD7C,IAAKr3D,KAAKg3D,UACR,OAAO,MAET,OAAOh3D,KAAK22D,iBAAmB32D,KAAK+wD,cAOtCiG,UAlE+C,aAmE7C,GAA8B,IAA1Bh3D,KAAK8wD,iBACP,MAAO,GAET,IAAIwG,EAAQ,IACRt3D,KAAKkuC,SAAWluC,KAAKmuC,WACvBmpB,GAAQ,IAAIC,KAAKC,cAAeh4C,QAAQxf,KAAKkuC,SAAW,GAAK,MAE3DluC,KAAKmuC,QACPmpB,EACEA,EAAQ,OAAQ,IAAIC,KAAKC,cAAeh4C,OAAOxf,KAAKmuC,QAAU,KACvDnuC,KAAKkuC,UACdopB,GAAgB,KAElB,OAAOA,GAOTX,eAvF+C,aAwF7C,GAA8B,IAA1B32D,KAAK8wD,iBACP,OAAO,MAET,GACE9wD,KAAKkuC,SACLluC,KAAK+wD,cACL/wD,KAAK+wD,aAAe/wD,KAAKkuC,QAEzB,OAAO,KAET,GAAIluC,KAAKmuC,SAAWnuC,KAAK+wD,aAAe/wD,KAAKmuC,QAC3C,OAAO,KAET,OAAO,OAOTspB,kBA5G+C,aA6G7C,IAAKz3D,KAAKi3D,cACR,OAAO,MAET,OAAOj3D,KAAK42D,qBAAuB52D,KAAKgxD,iBAO1CiG,cAvH+C,aAwH7C,IAAIK,EAAQ,GACNjyC,EAAKrlB,KAAKwnD,eAChB,IAAKniC,EACH,OAAOiyC,EAET,IAAKjyC,EAAGsiC,eACN,OAAO2P,EAET,IAAKt3D,KAAKy2D,QACR,OAAOa,EAELt3D,KAAKu2D,cACPe,EAAQt3D,KAAKu2D,YAAY7hE,KAAKsL,KAAK1D,QAAU,OAE3C0D,KAAKw2D,cACPc,GAAgBt3D,KAAKw2D,YAAY9hE,KAAKsL,KAAK1D,SAE7C,OAAOg7D,GAOTV,mBAhJ+C,aAiJ7C,IAAMvxC,EAAKrlB,KAAKwnD,eAChB,IAAKniC,EACH,OAAO,MAET,IAAKA,EAAGsiC,eACN,OAAO,MAET,IAAK3nD,KAAKy2D,QACR,OAAO,MAET,GACEz2D,KAAKu2D,aACLv2D,KAAKgxD,iBACLhxD,KAAKgxD,gBAAkBhxD,KAAKu2D,YAAYmB,aAExC,OAAO,KAET,GACE13D,KAAKw2D,aACLx2D,KAAKgxD,iBACLhxD,KAAKgxD,gBAAkBhxD,KAAKw2D,YAAYmB,aAExC,OAAO,KAET,OAAO,OAMTd,WA/K+C,aAgL7C,GAAI72D,KAAK82D,UAAW,CAClB,IAAK92D,KAAKy2D,QACR,MAAO,MAET,MAAO,QAET,IAAKz2D,KAAKy2D,QACR,MAAO,OAET,MAAO,IAOTM,QAhM+C,aAiM7C,OACE/2D,KAAK42D,oBACL52D,KAAK22D,gBACJ32D,KAAK82D,YAAc92D,KAAKy2D,WAK/B30D,MAAO,CAKL3M,MAAO,CACL8O,UAAW,KACXC,QAFK,WAEGysD,GACN,GAAIA,EAAW,CACb3wD,KAAKgxD,gBAAkBhxD,KAAK7K,MAAM67D,gBAClChxD,KAAK+wD,aAAe/wD,KAAK7K,MAAM47D,aAC/B/wD,KAAKkxD,MAAQlxD,KAAK7K,MAAM+7D,MACxBlxD,KAAKixD,mBAAL,eAA8BjxD,KAAK7K,MAAM87D,oBACzCjxD,KAAKynD,gBAAkBznD,KAAK7K,MAAMsyD,gBAClCznD,KAAK82D,UAAY,SACZ,CACL92D,KAAK82D,UAAY,MACjB92D,KAAK4F,WAeXkxD,UAhCK,WAgCKc,GACR,GAAIA,EACF,GAAI53D,KAAKo3D,sBACPp3D,KAAKtI,OAAS,SACT,CACLsI,KAAK4F,QACL5F,KAAK6F,YAGP7F,KAAK8H,MAAM,QAAS,QAK1B9F,QAAS,CAMPwkC,OANO,aAOLxmC,KAAK82D,UAAY,MACjB92D,KAAKgxD,gBAAkB,EACvBhxD,KAAK+wD,aAAe,EACpB/wD,KAAKixD,mBAAqB,GAC1BjxD,KAAKkxD,MAAQ,GACblxD,KAAKynD,gBAAkB,MACvBznD,KAAK8H,MAAM,QAAS,OAStBlC,MAtBO,aAuBL5F,KAAKgxD,gBAAkB,EACvBhxD,KAAK+wD,aAAe,EACpB/wD,KAAKkxD,MAAQ,GACblxD,KAAKixD,mBAAqB,GAC1BjxD,KAAKynD,gBAAkB,OAQnB5hD,KAnCC,a,wKAoCCgyD,EAAe,CACnB/G,iBAAkB9wD,KAAK8wD,iBACvBlZ,WAAY53C,KAAK43C,WACjBoZ,gBAAiBhxD,KAAKgxD,gBACtBD,aAAc/wD,KAAK+wD,aACnBG,MAAOlxD,KAAKkxD,MACZD,mBAAoB,eAAIjxD,KAAKixD,oBAC7BxJ,gBAAiBznD,KAAKynD,iBAIxBznD,KAAKtI,OAAS,MACdsI,KAAK8H,MAAM,QAAS+vD,G,kDAGxB/jD,WAAY,CACVs6B,0BACA0pB,8BCrf6b,MCO7b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACp9B,UAAA,KAAOjnB,aAAA,KAAUjR,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKgR,aAAA,OCqChD,cAAIjS,OAAO,CACxBsG,MAAO,CACL5S,MAAO+D,MACP8tB,QAAS9tB,MACTsG,UAAWF,QAGbhN,KAPwB,aAQtB,MAAO,CACL8jE,mBAAoB,QAIxBv0D,SAAU,OAAF,kEACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,wBAAyB,qBAC5C,eAAW,QAAS,CACrB,cACA,uBACA,gCACA,CAOFiS,WAPE,aAQA,OAAO9T,KAAK7K,MACP6K,KAAK7K,MACL,IASPmhE,iBAnBE,aAoBA,OACE,IAAE33D,MAAMqB,KAAK8T,YAIVpY,QAAQ,oBAERJ,WAAU,SAACwY,GAAD,OAAqCA,EAAW,MAC1D3e,SAYP4iE,2BAxCE,aAwCwB,WAClBv1B,EAAQxiC,KAAKkrC,gBAGbniB,EAAU,IAAEpqB,MAAM6jC,GACrB5jC,QAAO,SAACymB,GAAD,OAAkB,IAAVA,EAAG7uB,MAClBH,KAAI,SAAC2C,GAGJ,IAAIy9D,EAAU,IAAE57D,SAAS,EAAKquC,uBAAwBlwC,EAAKxC,IAIvD,EAAK4/D,oBAAsBp9D,EAAKyuD,kBAClCgP,EAAU,MAGZ,MAAO,CACLz9D,OACAy9D,cAGHthE,QAIGsG,EAAS,IAAEC,QAAQqtB,GAAS,SAACstC,GAAD,OAAYA,EAAOr9D,KAAK4+C,cACpDjkD,EAAS,IAAE2H,UAAUG,GAAQ,SAACstB,GAClC,OAAO,IAAEwU,QACPxU,EACA,CACE,SAACv0B,GAAD,OAAQA,EAAEiiE,QAAU,EAAI,GACxB,SAACjiE,GAAD,OAAOA,EAAEwE,KAAKssB,MACd,SAAC9wB,GAAD,OAAOA,EAAEwE,KAAKtE,KAAK,EAAK4H,UAE1B,CAAC,OAAQ,MAAO,WAGpB,OAAO3I,GAQTuiE,aAtFE,aAsFU,WACV,OAAO,IAAEv3D,MAAOqB,KAAKgnB,SAAW,IAC7BpoB,QAAO,SAACpK,GAAD,OACN,IAAEqG,SAASqa,GAAgC1gB,EAAE+yB,sBAE9ClxB,KAAI,SAAC7B,GAAD,OAAe,EAAKq0B,YAAYr0B,EAAEozB,YACtCzyB,SAQLghE,6BApGE,aAqGA,OAAO,IAAEr4B,KAAK99B,KAAKk2D,aAAc,CAC/B/sB,iCAAkC,QAQtCD,uBA9GE,aA+GA,OAAO,IAAEvqC,MAAMqB,KAAKk2D,cACjB7/D,KAAI,SAACuS,GACJ,OAAOA,EAAMsgC,0BAEdr9B,UACA9Q,OACAkgB,UACA9lB,SAOL+4C,QA7HE,aA8HA,IAAM8pB,EAAM,IAAEr5D,MAAMqB,KAAKk2D,cACtB7/D,KAAI,SAACuS,GAAD,OAAkBA,EAAM0gC,qBAC5BruB,UACA+8C,MACA7iE,QACH,OAAO6iE,GAAO,GAMhB7pB,QAzIE,aA0IA,IAAM8pB,EAAM,IAAEt5D,MAAMqB,KAAKk2D,cACtB7/D,KAAI,SAACuS,GAAD,OAAkBA,EAAM4gC,qBAC5BvuB,UACAg9C,MACA9iE,QACH,OAAO8iE,GAAO,GAOhBC,2BAtJE,aAsJwB,WAClBC,EAAS,IAAEx5D,MAAMqB,KAAKk2D,cACzB7/D,KAAI,SAACuS,GAAD,OAAkBA,EAAMwgC,gCAC5Bv9B,UACA9Q,OACAkgB,UACA5kB,KAAI,SAACG,GAAD,OAAgB,EAAKq1C,2BAA2Br1C,MACpDrB,QACH,OAAOgjE,GAAU,IAOnB5B,YArKE,aAsKA,IAAMyB,EAAM,IAAEr5D,MAAMqB,KAAKk4D,4BACtBr5D,QAAO,SAACpK,GAAD,OAA6BA,EAAEijE,gBACtCn/C,QACApjB,QACH,OAAO6iE,GAAO,MAOhBxB,YAjLE,aAkLA,IAAMyB,EAAM,IAAEt5D,MAAMqB,KAAKk4D,4BACtBr5D,QAAO,SAACpK,GAAD,OAA6BA,EAAEkjE,gBACtC7iC,OACA3/B,QACH,OAAO8iE,GAAO,QAIlBn2D,MAAO,CAMLo0D,aANK,aAOCl2D,KAAKm2D,+BACPn2D,KAAKo2D,mBAAqB,OAS9BA,mBAjBK,WAiBc3iE,GACjB,IAAMmH,EAAY,uBAAUoF,KAAK8T,YAI3BskD,EAAM,IAAEx5D,OAAOoB,KAAKkrC,gBAAiB,CAAEuc,gBAAiB,OACxD4Q,EAAQ,IAAEhiE,IAAI+hE,EAAK,MACzB,IAAEE,OAAO19D,GAAW,SAACg0D,GAAD,OAAQ,IAAE/zD,SAASw9D,EAAOzJ,EAAGkC,qBAIjD,GAAIr9D,EAAO,uBACoB2kE,GADpB,MACT,IAAK,EAAL,qBAAkC,KAAvB5Q,EAAuB,QAChC5sD,EAAUxH,KAAK,CACb09D,iBAAkBtJ,EAAehxD,GACjCohD,WAAY4P,EAAe5P,WAC3BoZ,gBAAiB,EACjBD,aAAc,EACdE,mBAAoB,GACpBC,MAAO,GACPzJ,gBAAiB,QATZ,+BAgBXznD,KAAK8H,MAAM,QAASlN,KAIxBoH,QAAS,CAOP00D,kBAPO,WAQL5F,EACAyH,GAEA,IAAM39D,EAAY,eAAI,uBAAUoF,KAAK8T,aAC/BlhB,EAAI,IAAE2oD,UACV3gD,GACA,SAACyqD,GAAD,OAAcyL,IAAqBzL,EAASyL,oBAE1CyH,GACS,IAAP3lE,EAEFgI,EAAUxH,KAAKmlE,GAGf,OAAIj+D,IAAIM,EAAWhI,EAAG2lE,IAER,IAAP3lE,GAET,OAAI01C,OAAO1tC,EAAWhI,GAGxBoN,KAAK8H,MAAM,QAASlN,KAIxBkZ,WAAY,CACV0kD,8BClW4b,MCO5b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC/kD,aAAA,KAAUjR,QAAA,KAAKE,QAAA,OCmC9B,cAAIjB,OAAO,CACxBsG,MAAO,CACL5S,MAAO+D,MACP4lB,OAAQxf,OACRE,UAAWF,QAGbuC,SAAU,OAAF,wBACH,eAAW,QAAS,CACrB,oBACA,uBACA,mBACA,CAEF6f,aAFE,aAGA,GAAI1hB,KAAK7K,OAAS6K,KAAK7K,MAAMrC,OAAS,EACpC,OAAOkN,KAAK7K,MAGd,IAAIusB,EAA8B,GAC9B1hB,KAAK8e,OACP4C,EAAe,IAAE9K,UAAU5W,KAAKkyB,kBAAkBlyB,KAAK8e,SAC9C9e,KAAKR,YACdkiB,EAAe,IAAE9K,UAAU5W,KAAKgyB,qBAAqBhyB,KAAKR,aAG5DkiB,EAAe,IAAErrB,IAAIqrB,GAAc,SAAC1rB,GAElCA,EAAEslC,mBAAqB,GAIvBtlC,EAAEgxB,QAAU,IAAE3wB,IAAIL,EAAEgxB,SAAS,SAACxyB,GACxB,IAAEqG,SAAS6a,GAAyBlhB,EAAE+yB,qBACxC/yB,EAAE+yB,kBAAoB,GAExB,OAAO/yB,KAET,OAAOwB,KAGT,OAAO0rB,KAIX1f,QAAS,CACPi0D,kBADO,WACWrjE,EAAW6C,EAAaN,GAExC,IAAMsjE,EAAkB,uBAAUz4D,KAAK0hB,cAGvC,iBAAI+2C,EAAgB7lE,IAAI,SAACoD,GACvB,iBAAIA,EAAGP,EAAKN,MAGd6K,KAAK8H,MAAM,QAAS2wD,KAIxB3kD,WAAY,CACVimB,eACA2+B,6BCzH0b,MCO1b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACt2D,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKE,QAAA,KAAKsC,YAAA,KAASC,cAAA,UC5BjE,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAMJ,EAAI0F,GAAI1F,EAAgB,cAAE,SAAS4lB,GAAa,OAAOxlB,EAAG,QAAQ,CAAC1K,IAAIkwB,EAAYnvB,IAAI,CAAC2J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,YAAcslB,MAAgB,GAAGxlB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,cAAc,CAACY,MAAM,CAAC5L,MAAOwwB,EAAmB,QAAE3kB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKsb,EAAa,UAAW1kB,IAAMG,WAAW,0BAA0B,IAAI,MAAK,IACle,GAAkB,GCuBP,UAAIK,OAAO,CACxBsG,MAAO,CACL5S,MAAO+D,MACPsG,UAAWF,OACXwf,OAAQxf,QAGV6I,QAPwB,aAQtBnI,KAAK24D,6BAGPrmE,KAXwB,aAYtB,MAAO,CACLovB,aAAc,KAIlB7f,SAAU,OAAF,oDACH,eAAW,QAAS,CAAC,oBAAqB,0BAC1C,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,gBAAiB,gBAAc,CAQrD+2D,mBARqD,aASnD,OAAO,IAAEj6D,MAAMqB,KAAK0hB,cAAgB,IACjCrrB,KAAI,SAACL,GAAD,OAAoBA,EAAEgxB,SAAW,MACrCnb,UACAxV,KAAI,SAAC7B,GAAD,OAAeA,EAAE+yB,qBACrBpyB,WAIP2M,MAAO,CACLgd,OADK,WACElL,GACL5T,KAAK24D,6BAEPn5D,UAJK,WAIKoU,GACR5T,KAAK24D,6BAEPC,mBAPK,aAQH54D,KAAK8H,MAAM,QAAS9H,KAAK0hB,gBAI7B1f,QAAS,CAUP22D,0BAVO,aAWD34D,KAAK8e,OACP9e,KAAK0hB,aAAL,eAAwB1hB,KAAKkyB,kBAAkBlyB,KAAK8e,SAC3C9e,KAAKR,UACdQ,KAAK0hB,aAAL,eAAwB1hB,KAAKgyB,qBAAqBhyB,KAAKR,YAEvDQ,KAAK0hB,aAAe,KAK1B5N,WAAY,CACVimB,eACAi4B,sBChGoa,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACxvD,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,iBAAiB,MAAQT,EAAIs4B,MAAM,SAAWt4B,EAAIyH,SAAS,MAAQzH,EAAIsH,MAAM,UAAYtH,EAAIwH,WAAW7G,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,QAC7S,GAAkB,GCkBP,UAAIc,OAAO,CACxBsG,MAAO,CACLvI,UAAWF,OACX4H,MAAOc,OACPR,SAAUS,QACVV,UAAWU,QACXZ,MAAOnO,OAET2I,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,kBAAmB,eAAa,CAMxD6tD,MANwD,aAOtD,OAAO1vD,KAAK2yB,gBAAgB3yB,KAAKR,YAAc,IAOjD64B,MAdwD,aAcnD,WACH,OAAO,IAAEhiC,IAAI2J,KAAK0vD,OAAO,SAACnwD,GAAD,MAAW,CAClCpK,MAAOoK,EAAK/I,GACZiS,KAAM,GAAF,OAAKlJ,EAAKkL,OAAV,cAAsB,EAAKwrB,UAAU12B,EAAKuE,iBAIpDhC,MAAO,CAKLtC,UAAW,CACTyE,UAAW,KACXC,QAFS,WAEDg3B,GACFA,GACFl7B,KAAKoI,eAKbpG,QAAS,CAMDoG,UANC,a,2KAOL,OAAMpI,KAAK2I,OAAOlQ,SAAS,qBAAsBuH,KAAKR,W,oDCtE+W,MCOva,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACymB,WAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIlmB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,2BAA2B,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,cAAc,MAAQT,EAAIs4B,OAAOt3B,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAI84D,eAAe53D,GAAKG,WAAW,qBAAqB,GAAGjB,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,SAAS,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAI+4D,cAAclhB,WAAY,wBAAwB,OAAOz3C,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAI+4D,cAAc/H,iBAAiB,IAAI,IAC/mB,GAAkB,GC+BP,UAAItvD,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAOpC,OACPyM,UAAW,CACTxG,KAAMsG,OACNyZ,SAAU,MAEZ+F,OAAQ,CACN9lB,KAAMsG,OACNuf,QAAS,GAEX+4B,WAAY,CACV5+C,KAAMsG,OACNyZ,SAAU,MAEZA,SAAU9Q,QACVowB,MAAOn/B,OAGT5G,KApBwB,aAqBtB,MAAO,CACLumE,eAAgB,IAIpBh3D,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CACrB,+BACA,+CACA,CAgBFi3D,cAhBE,aAiBA,OAAO94D,KAAK7K,MACR6K,KAAK7K,MACL,CACEqB,GAAI,EACJgJ,UAAWQ,KAAKR,UAChBsf,OAAQ9e,KAAK8e,OACb84B,WAAY53C,KAAK43C,WACjBmZ,aAAc,EACdgI,eAAgB,EAChBC,oBAAqB,EAOrBC,WAAY,KAUpBD,oBA3CE,aA4CA,IAAME,EAAkBl5D,KAAKy0B,6BAA6Bz0B,KAAK8e,QAC/D,GAAIo6C,EAAkB,EACpB,OAAOA,EAET,OAAOl5D,KAAK8c,0CAA0C9c,KAAKR,cAI/DsC,MAAO,CAKL+2D,eALK,WAKUM,GACb,IAAM5sC,EAAKx5B,OAAOyI,OAAO,GAAIwE,KAAK84D,eAE5BM,EAAeD,EAAY,GAAKA,EAAY,EAClD,GAAIC,EAAc,CAChB7sC,EAAGysC,oBAAsBh5D,KAAKg5D,oBAC9BzsC,EAAGwsC,eAAiBI,EAGpBA,EAAY5sC,EAAGysC,oBAAsBG,EACrCA,EAA0C,IAA9B95B,KAAKg6B,MAAMF,EAAY,KACnC5sC,EAAGwkC,aAAeoI,OAElB5sC,EAAGwkC,aAAeoI,EAGpBn5D,KAAK8H,MAAM,QAASykB,KAIxBvqB,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAK84D,gBAAgB,SAAC39D,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,SAK5D3G,WAAY,CACV0mC,+BCpKub,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC5hC,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,cAAc,MAAQT,EAAIu5D,WAAWvI,aAAa,MAAQhxD,EAAIsH,OAAO3G,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,eAAgB1M,QAAa,GAAGR,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,SAAS,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAIu5D,WAAW1hB,WAAY,wBAAwB,OAAOz3C,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIu5D,WAAWvI,iBAAiB,IAAI,IAC9lB,GAAkB,GC8BP,UAAItvD,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAOpC,OACPyM,UAAW,CACTxG,KAAMsG,OACNyZ,SAAU,MAEZ+F,OAAQ,CACN9lB,KAAMsG,OACNuf,QAAS,GAEX+4B,WAAY,CACV5+C,KAAMsG,OACNyZ,SAAU,MAEZ1R,MAAOnO,OAGT2I,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CAgBpDy3D,WAhBoD,aAiBlD,OAAOt5D,KAAK7K,MACR6K,KAAK7K,MACL,CACEqB,GAAI,EACJgJ,UAAWQ,KAAKR,UAChBsf,OAAQ9e,KAAK8e,OACb84B,WAAY53C,KAAK43C,WACjBmZ,aAAc,EAOdwI,OAAQ,OAKlBv3D,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAKs5D,aAAa,SAACn+D,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,WCzG6X,MCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC7B,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAU,kBAAkB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,UAAYN,EAAIP,UAAU,OAASO,EAAI+e,OAAO,MAAQ,CAAC,SAAU3jB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIy5D,eAAe74D,KAAUI,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIH,QAAQqB,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAAEN,EAAe,YAAEI,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAI4lB,YAAYmqC,mBAAmB,MAAQ/vD,EAAIS,GAAG,kCAAkC,UAAYT,EAAIS,GAAG,YAAY,WAAaT,EAAIS,GAAG,gBAAgBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,qBAAsB1M,OAAYZ,EAAI6C,MAAM,IAAI,IAC50B,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAI5K,MAAM,MAAQ4K,EAAIgpB,QAAQ,MAAQhpB,EAAImH,OAASnH,EAAI05D,aAAa,SAAW15D,EAAIyH,SAAS,UAAYzH,EAAIwH,UAAU,MAAQxH,EAAIsH,MAAM,oBAAoB,IAAI3G,GAAG,CAAC,MAAQX,EAAIgnB,iBAChT,GAAkB,GCuBP,UAAItlB,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAOmK,OACP+4B,MAAO,CACLr/B,KAAME,MACN2lB,QAAS,mBAAM,KAEjBrf,UAAWF,OACXwf,OAAQxf,OACRkI,SAAUS,QACVV,UAAWU,QACXyxD,eAAgBzxD,QAChBZ,MAAOnO,OAET2I,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,QAAS,gBAC5B,eAAW,QAAS,CACrB,sBACA,yBACA,cACA,eACA,CACF43D,aADE,aAEA,GAAIz5D,KAAK05D,eACP,OAAO15D,KAAKsc,sBACV2H,GAAYI,UACZrkB,KAAKyjB,YAGT,OAAO7lB,EAAKxI,EAAE,kBAAkB0W,YAElC4V,aAVE,aAWA,IAAIA,EAA8B,GAC9B1hB,KAAK8e,OACP4C,EAAe1hB,KAAK6lB,oBAAoB7lB,KAAK8e,QACpC9e,KAAKR,YACdkiB,EAAe1hB,KAAK0lB,uBAAuB1lB,KAAKR,YAE9CQ,KAAK05D,iBACPh4C,EAAe,IAAE9iB,OAAO8iB,EAAc,CACpCpH,YAAa2J,GAAYI,aAG7B,OAAO3C,GAETqH,QAxBE,aAwBK,WACDrP,EAAmB,GACnB1Z,KAAKq4B,MAAMvlC,OAAS,EACtB4mB,EAAU1Z,KAAKq4B,MACNr4B,KAAK0hB,aAAa5uB,SAC3B4mB,EAAU,IAAErjB,IAAI2J,KAAK0hB,cAAc,SAAC1rB,GAAD,OAAO,EAAK4kB,YAAY5kB,EAAE4J,aAE/D,OAAO,IAAEjB,MAAM+a,GACZrjB,KAAI,SAACL,GAAD,MAAQ,CAAEb,MAAOa,EAAEQ,GAAIiS,KAAM,EAAKgQ,UAAUziB,EAAEQ,QAClDqI,OAAO,QACP1J,WAGP6M,QAAS,CACP+kB,aADO,WACM7P,GAEXlX,KAAK8H,MAAM,QAASoP,OCvF6Z,MCOnb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAClO,iBAAA,OCUf,cAAIvH,OAAO,CACxBsG,MAAO,CACL+W,OAAQxf,OACRE,UAAWF,OACXnK,MAAOpC,QAETT,KANwB,aAOtB,MAAO,CACLsN,QAAS,IAGbiC,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,gCAA8B,CACtD8jB,YADsD,aAEpD,OAAO3lB,KAAK7K,MAAQ6K,KAAK7K,MAAQ,QAGrC2M,MAAO,CAKLtC,UALK,aAMHQ,KAAKJ,QAAU,GAMjBkf,OAZK,aAaH9e,KAAKJ,QAAU,GAOjBzK,MApBK,WAoBC+hB,GACCA,EAEMA,EAAOtX,SAAWsX,EAAOtX,UAAYI,KAAKJ,UACnDI,KAAKJ,QAAUsX,EAAOtX,SAFtBI,KAAKJ,QAAU,IAMrBoC,QAAS,CASPw3D,eATO,WASQG,GACb,GAAIA,EAAY,CACd,IAAMh0C,EAAc3lB,KAAK0xB,2BACvB1xB,KAAKR,UACLQ,KAAK8e,OACL66C,GAEF35D,KAAK8H,MAAM,QAAS6d,QAEpB3lB,KAAK8H,MAAM,QAAS,OAGxBuF,OArBO,WAqBA5X,EAAaN,GACd6K,KAAK2lB,aACP3lB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAK2lB,cAAc,SAACxqB,GAAD,OAAO,iBAAIA,EAAG1F,EAAKN,SAK5D2e,WAAY,CACV8lD,oBC7G6a,MCO7a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACp3D,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,0BAA0B,CAACE,MAAM,CAAC,UAAYN,EAAIP,UAAU,MAAQO,EAAIsH,MAAM,kBAAkB,IAAItG,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAI2Y,WAAWzX,GAAKG,WAAW,gBAAiBrB,EAAI2Y,YAAc3Y,EAAI5K,MAAOgL,EAAG,sBAAsB,CAACE,MAAM,CAAC,MAAQN,EAAI5K,OAAOuL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,OAAYZ,EAAI6C,MAAM,IACld,GAAkB,GCuBP,UAAInB,OAAO,CACxBsG,MAAO,CACLvI,UAAWF,OACXnK,MAAOpC,OACPsU,MAAOnO,OAGT5G,KAPwB,aAQtB,MAAO,CACLomB,WAAY,IAIhB7W,SAAU,OAAF,UACH,eAAW,QAAS,CAAC,2BAG1BC,MAAO,CACL3M,MADK,WACC+hB,GACCA,IACHlX,KAAK0Y,WAAa,IAItBA,WAPK,WAOMliB,GAEJA,GACHwJ,KAAK8H,MAAM,QAAS,MAKtB,IAAMgN,EAAY/hB,OAAOyI,OAAO,GAAIwE,KAAKgd,sBAAsBxmB,IAC/DwJ,KAAK8H,MAAM,QAASgN,KAIxBhB,WAAY,CACVoL,uBACA44C,8BC/Dya,MCOza,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI/3D,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQT,EAAIsyB,QAAQwnC,eAAe,MAAQ,CAAC,SAAU1+D,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,iBAAkB1M,EAAQ,aAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIsyB,QAAQynC,UAAU,MAAQ/5D,EAAIS,GAAG,qBAAqB,MAAQ,CAAC,EAAG,EAAG,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,YAAa1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAIsyB,QAAQzyB,QAAQ,UAAYG,EAAIP,UAAU,OAASO,EAAI+e,OAAO,MAAQ,CAAC,SAAU3jB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,UAAW1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,MAAQT,EAAIsyB,QAAQ0nC,2BAA2B,kBAAkB,YAAYr5D,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,6BAA8B1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAIsyB,QAAQ2nC,aAAa,MAAQ,CAAC,SAAU7+D,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,eAAgB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,yBAAyB,MAAM,cAAc,GAAG,WAAW,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAC5tD,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,eAAeJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAIsyB,QAAQ4nC,aAAa,eAAe,cAAc,SAAW,IAAIv5D,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,eAAgB1M,MAAWD,SAAUK,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAIm6D,aAAaj5D,GAAKG,WAAW,iBAAiB,CAAErB,EAAgB,aAAEI,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIsyB,QAAQ4nC,aAAa,OAAS,QAAQv5D,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,eAAgB1M,IAAS,eAAe,SAASA,GAAQZ,EAAIm6D,aAAe,UAAUn6D,EAAI6C,MAAM,IAAI,GAAI7C,EAAW,QAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,QAAUN,EAAI+D,QAAQ,MAAQ/D,EAAIsyB,QAAQ8nC,qBAAqBz5D,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,sBAAuB1M,QAAa,GAAGZ,EAAI6C,MAAM,IAC7zB,GAAkB,GCuGP,UAAInB,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,OACPyM,UAAWF,OACXwf,OAAQxf,QAGVhN,KAPwB,aAQtB,MAAO,CACL4nE,aAAc,QAIlBr4D,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,aAAc,iBAAe,CAErDtC,KAFqD,aAGnD,OAAOS,KAAK0yB,WAAW1yB,KAAK8e,SAG9Bhb,QANqD,aAOnD,OAAI9D,KAAKT,KACAS,KAAKT,KAAKuE,QAEV,GAkBXuuB,QA5BqD,aA6BnD,OAAOryB,KAAK7K,MACR6K,KAAK7K,MACL,CACEqK,UAAWQ,KAAKR,UAChBsf,OAAQ9e,KAAK8e,OACblf,QAAS,EACTkE,QAAS,iBAAI9D,KAAM,eAAgB,GACnC65D,eAAgB,GAChBtzD,QAAS,GACTuzD,UAAW,EACXp6C,aAAc,GACdq6C,2BAA4BzqD,GAC5B8qD,cAAe,GACfJ,aAAc,GACdC,aAAc,GACdE,oBAAqB,EACrBE,SAAU,GACVC,eAAgB,GAChBC,gBAAiB,EACjBC,gBAAiB,EACjBC,kBAAmB,EACnBC,aAAc,GACdC,aAAc,GACdC,SAAU,UAKpB54D,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAKqyB,UAAU,SAACl3B,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,SAKtD3G,WAAY,CACVoxB,qBACA/G,iBACAy7B,oBC3Mib,M,0BCOjb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACp3D,QAAA,KAAKq4D,SAAA,KAAMn4D,QAAA,KAAKujB,WAAA,KAAQtjB,cAAA,KAAWm4D,eAAA,OCwWlD,cAAIr5D,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACP6W,OAAQxf,OACRE,UAAWF,OACXg1D,6BAA8Bh1D,QAGhChN,KARwB,aAStB,MAAO,CACLmH,MAAO,KACP/B,OAAQ,MAER6O,QAAS,OAASiZ,SAClBk4B,gBAAiB13C,KAAKs0D,6BACtB3wD,aAAc,EACdwC,gBAAiB,GACjB+qD,MAAO,GACPsD,UAAW,GACXC,eAAgB,MAChBC,YAAa,IAIjB7yD,SAAU,OAAF,kEACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,wBAAyB,oBACjD,eAAS,QAAS,CAAC,mBAAoB,mBACvC,eAAW,QAAS,CACrB,aACA,gBACA,+BACA,+CACA,CAEFie,QAFE,aAGA,OAAO9f,KAAK6tB,cAAc7tB,KAAKR,YAGjCD,KANE,aAOA,OAAOS,KAAK0yB,WAAW1yB,KAAK8e,SAG9BoH,SAVE,aAWA,GAAIlmB,KAAK8f,QACP,OAAO9f,KAAK8f,QAAQ9mB,KAEtB,MAAO,IAGTotB,aAjBE,aAkBA,GAAIpmB,KAAKT,KACP,OAAOS,KAAKT,KAAK48B,QAEnB,OAAO,GAGT4+B,qBAxBE,aAyBA,OAAO,IAAEx9B,QAAQv9B,KAAKgjB,iBAAkB,CAAC,QAAUhjB,KAAK1D,QAAS,CAAC,SAGpE0+D,wBA5BE,aA6BA,OAAO,IAAExxC,KAAKxpB,KAAKgjB,iBAAkB,CAAExsB,GAAIwJ,KAAK03C,mBAGlDY,qBAhCE,aAiCA,IAAKt4C,KAAKg7D,wBACR,OAAO,MAET,OAAOh7D,KAAKg7D,wBAAwB1iB,sBAGtCC,oBAvCE,aAwCA,IAAKv4C,KAAKg7D,wBACR,OAAO,MAET,OAAOh7D,KAAKg7D,wBAAwBziB,qBAGtCC,uBA9CE,aA+CA,IAAKx4C,KAAKg7D,wBACR,OAAO,MAET,OAAOh7D,KAAKg7D,wBAAwBxiB,wBAGtC+b,aArDE,aAsDA,GAAIv0D,KAAKg7D,wBACP,OAAOh7D,KAAKg7D,wBAAwBnnB,OAEtC,MAAO,IAGT/vC,QA5DE,aA6DA,GAAI9D,KAAKT,KACP,OAAOS,KAAKT,KAAKuE,QAEnB,OAAO,GAGTuwD,gBAnEE,aAoEA,OAAO,IAAE7qC,KAAKxpB,KAAKgjB,iBAAkB,CACnCxsB,GAAIwJ,KAAKs0D,kCAKfxyD,MAAO,CACLpK,OADK,WACEsU,GACLhM,KAAK8H,MAAM,QAASkE,IAGtB7W,MALK,WAKC6W,GACJhM,KAAKtI,OAASsU,GAGhBsoD,6BATK,WASwBtoD,GAC3BhM,KAAK03C,gBAAkB1rC,GAGzBusC,oBAbK,WAae0iB,GACdA,IACFj7D,KAAKy0D,eAAiB,OAI1BA,eAnBK,WAmBUyG,GACRA,IACHl7D,KAAK00D,YAAc,KAKzB1yD,QAAS,CAKD6D,KALC,a,8KAML7F,KAAKvG,MAAQ,K,kBAIM,OAAM,GAASka,KAAK,4BAA6B,CAChErhB,KAAM,CACJwsB,OAAQ9e,KAAK8e,OACbtf,UAAWQ,KAAKR,UAChB+G,QAASvG,KAAKuG,QACd2V,OAAQlc,KAAK03C,gBACb/zC,aAAc3D,KAAK2D,aACnBwC,gBAAiBnG,KAAKmG,gBACtB+qD,MAAOlxD,KAAKkxD,MACZuD,eAAgBz0D,KAAKy0D,eACrBC,YAAa10D,KAAK00D,YAClBF,UAAWx0D,KAAKw0D,a,OAXdv3D,E,OAgBA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAG/B46B,EAAW/2B,EAAS3K,KAAK0hC,SAC/B,GAAIA,EAAU,CACNpgB,EAAQogB,EAASx9B,GACtBwJ,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAIjD5T,KAAK2I,OAAOnQ,OAAO,uBAAwByE,GAGvC+C,KAAKm7D,eAAe,CAAC,mBACvBn7D,KAAK2I,OAAOnQ,OAAO,6BAA8BwH,KAAK8e,QAIpD9e,KAAKm7D,eAAe,CAAC,qBACnBn7D,KAAK8e,OACP9e,KAAK2I,OAAOnQ,OAAO,gCAAiCwH,KAAK8e,QAEzD9e,KAAK2I,OAAOnQ,OACV,mCACAwH,KAAKR,YAOTQ,KAAKm7D,eAAe,CAAC,qBAAsB,0BAE3Cn7D,KAAK2I,OAAOnQ,OACV,2CACAwH,KAAKR,WAKTQ,KAAK2hB,Q,qDAEL3hB,KAAKvG,MAAL,K,2DAQJmM,MA7EO,aA8EL5F,KAAKuG,QAAU,OAASiZ,SACxBxf,KAAK03C,gBAAkB13C,KAAKs0D,8BAAgC,EAC5Dt0D,KAAKkxD,MAAQ,GACTlxD,KAAK8f,QACP9f,KAAK2D,aAAe3D,KAAK8f,QAAQlc,iBAEjC5D,KAAK2D,aAAe,EAEtB3D,KAAKmG,gBAAkB,GACvBnG,KAAKw0D,UAAY,GACjBx0D,KAAK00D,YAAc,EACnB10D,KAAKy0D,eAAiB,OAGxB9yC,MA5FO,aA6FL3hB,KAAKtI,OAAS,OAOhByjE,eApGO,WAoGQC,GACb,IAAMC,EAAqB,IAAEhlE,IAAI2J,KAAKu0D,aAAc,QAC9C+G,EAAe,IAAEzvD,QAAQ,CAACuvD,IAC1BG,EAAU,IAAE57B,aAAa07B,EAAUC,GACzC,OAAOC,EAAQzoE,OAAS,IAG5BghB,WAAY,CACVqqB,iBACAq9B,qBACAC,wBACAC,oBACAC,uBACA57B,sBACA67B,qBACAC,kBACAz2B,uBACApF,iBACAvF,mBACAqhC,6BACAlC,iBACAmC,yBACA37C,yBACAlB,uBACA44C,2BACAkE,kBCtoB0b,M,aCO1b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACvoD,aAAA,KAAUjR,QAAA,KAAKy5D,UAAA,KAAOv5D,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OC5BpE,IAAI,GAAS,WAAa,IAAI3T,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,uBAAuB,eAAe,GAAG,YAAY,SAASE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIwvC,YAAYtuC,GAAKG,WAAW,kBAAkB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,SAAS,CAACM,IAAI,OAAOJ,MAAM,CAAC,yBAAyB,MAAM,cAAc,GAAG,eAAeN,EAAIyvC,KAAK,WAAa,mBAAmB,WAAW,GAAG,YAAY,QAAQ,YAAY,SAAS9uC,GAAG,CAAC,qBAAqB,SAASC,GAAQZ,EAAIyvC,KAAK7uC,GAAQ,sBAAsB,SAASA,GAAQZ,EAAIyvC,KAAK7uC,IAAS0E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACjjC,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,eAAeJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,MAAQN,EAAIyvC,KAAK,MAAQzvC,EAAIS,GAAG,uBAAuB,eAAe,cAAc,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,SAAW,KAAKE,UAAW,CAACP,EAAG,gBAAgB,CAACE,MAAM,CAAC,aAAa,GAAG,OAAS,OAAO,MAAQ,WAAWK,GAAG,CAAC,eAAe,SAASC,GAAQ,OAAOZ,EAAI4B,MAAMu6D,KAAKr2D,KAAK9F,EAAIyvC,QAAQzuC,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAIyvC,KAAKvuC,GAAKG,WAAW,WAAW,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6B,MAAQ,qBAAqB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAIo8D,cAAcl7D,GAAKG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,QAAUN,EAAIR,KAAKuE,SAAS/C,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIy2B,YAAYv1B,GAAKG,WAAW,kBAAkB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,SAAS,KAAO,KAAKO,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAImxD,MAAsB,kBAARjwD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,YAAY,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,cAAc,cAAc,IAAI,IAAI,IACt0C,GAAkB,GCuFP,UAAIoB,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACP6W,OAAQxf,QAGVhN,KANwB,aAOtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEP8M,QAAS,OAASiZ,SAClB+vB,YAAa,GACb4sB,cAAe,EACfjL,MAAO,GACP1hB,KAAM,GACNhZ,YAAa,IAIjB30B,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,gBAAc,CAEtCtC,KAFsC,aAGpC,OAAOS,KAAK0yB,WAAW1yB,KAAK8e,WAIhChd,MAAO,CAKL3M,MALK,WAKC6W,GACJhM,KAAKtI,OAASsU,GAQhBtU,OAdK,WAcEsU,GACLhM,KAAK8H,MAAM,QAASkE,KAIxBhK,QAAS,CAKP4D,MALO,aAML5F,KAAKuvC,YAAc,GACnBvvC,KAAKm8D,cAAgB,EACrBn8D,KAAKwvC,KAAO,GACZxvC,KAAKuG,QAAU,OAASiZ,SACxBxf,KAAKkxD,MAAQ,GACblxD,KAAKw2B,YAAc,GAOf3wB,KAlBC,a,4KAmBL7F,KAAKvG,MAAQ,K,kBAEM,OAAM,GAASka,KAAK,uBAAwB,CAC3DrhB,KAAM,CACJwsB,OAAQ9e,KAAK8e,OACbywB,YAAavvC,KAAKuvC,YAClBrzB,OAAQlc,KAAKm8D,cACb3sB,KAAMxvC,KAAKwvC,KACX0hB,MAAOlxD,KAAKkxD,MACZ3qD,QAASvG,KAAKuG,QACdiwB,YAAax2B,KAAKw2B,e,OARhBv5B,E,OAYA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAASy1B,SAAS,GAC5C7uB,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,wBAAyB,CAC1C6B,OAAQ,oBACRK,MAAOsF,KAAK8e,OACZ3pB,MAAOye,IAIR5T,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAG/C5T,KAAK2I,OAAOnQ,OAAO,uBAAwByE,GAG3C+C,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACVoxB,wBClMsb,MCOtb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAC1iC,QAAA,KAAKq4D,SAAA,KAAMn4D,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,KAAUonD,eAAA,OC8GpD,cAAIr5D,OAAO,CACxBsG,MAAO,CACLvI,UAAWF,OACXwf,OAAQxf,OACRjL,OAAQ,CAAC2T,OAAQ9O,QAGnB5G,KAPwB,aAQtB,MAAO,CACLshE,SAAU,MAKVI,yBAA0B,MAC1BoI,oBAAqB,MACrBjI,yBAA0B,MAC1BC,6BAA8B,MAC9BH,qBAAsB,MAKtBC,kBAAmB,IAIvBryD,SAAU,OAAF,kEACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,mBACxB,eAAW,QAAS,CAAC,aAAc,mBACnC,eAAS,QAAS,CACnB,wBACA,mBACA,eACA,CAEFie,QAFE,aAGA,OAAO9f,KAAK6tB,cAAc7tB,KAAKR,YAGjCD,KANE,aAOA,OAAOS,KAAK0yB,WAAW1yB,KAAK8e,SAG9BoH,SAVE,aAWA,GAAIlmB,KAAKT,KACP,OAAOS,KAAKT,KAAKvG,KAEnB,GAAIgH,KAAK8f,QACP,OAAO9f,KAAK8f,QAAQ9mB,KAEtB,MAAO,IAGTotB,aApBE,aAqBA,GAAIpmB,KAAKT,KACP,OAAOS,KAAKT,KAAK48B,QAEnB,OAAO,GAGTizB,WA3BE,aA4BA,GAAIpvD,KAAKT,KACP,OAAOS,KAAKT,KAAKyvD,WAAaz8B,GAAW2oB,SAE3C,GAAIl7C,KAAK8f,QACP,OAAO9f,KAAK8f,QAAQkvC,WAAahiC,GAAgBqvC,OAEnD,OAAO,OAOTC,WAzCE,aAyCQ,WACFA,EAAat8D,KAAK+iB,sBAClBw5C,EAAe,IAAE7gE,QAAQsE,KAAKw8D,cAAc,SAAC3I,GAAD,OAAQA,EAAGjc,cAC7D,OAAO,IAAEj5C,MAAM29D,GACZjmE,KAAI,SAAC8gD,GAAD,OACHpkD,OAAOyI,OAAO27C,EAAU,CACtBslB,UAAWF,EAAaplB,EAAS3gD,KAAO,QAG3CoI,QAAO,SAACu4C,GAAD,OAAcA,EAASslB,UAAU3pE,OAAS,KACjD+L,OAAO,CAAC,OAAQ,SAACs4C,GAAD,OAAcA,EAASziD,KAAK,EAAK4H,WACjDnH,SAOLqnE,aA3DE,aA2DU,WACNnkC,EAAQ,GAAH,sBAAOr4B,KAAK08D,gBAAZ,eAA+B18D,KAAK28D,mBAEzC38D,KAAK3L,SAEPgkC,EAAQA,EAAMz5B,QAAO,SAACi1D,GACpB,IAAM+I,EAAc,IAAE/wD,QAAQ,CAACgoD,EAAGx/D,QAAU,KACtCwoE,EAAmB,IAAEhxD,QAAQ,CAAC,EAAKxX,SACnCsrC,EAAe,IAAEA,aAAai9B,EAAaC,GACjD,OAAOl9B,EAAa7sC,OAAS,MAKjCulC,EAAQA,EAAMz5B,QAAO,SAACi1D,GAAD,OACnB,IAAEh5D,SAASg5D,EAAGhc,iBAAkB,EAAK3xB,aAInC,IAAErrB,SAAS,IAAEgR,QAAQ,CAAC7L,KAAK3L,SAAUutB,GAAsBI,SAC7DqW,EAAQA,EAAMz5B,QAAO,SAACi1D,GAAD,OACnB,IAAEh5D,SAASg5D,EAAG/b,qBAAsB,EAAKv4C,KAAK48B,aAMhD,IAAEthC,SACA,IAAEgR,QAAQ,CAAC7L,KAAK3L,SAChButB,GAAsBG,iBAGxBsW,EAAQA,EAAMz5B,QAAO,SAACi1D,GAAD,OACnB,IAAEh5D,SAASg5D,EAAG9b,uBAAwB,EAAKj4B,QAAQqc,aAKvD9D,EAAQA,EAAMz5B,QAAO,SAACuK,GAAD,OAAWA,EAAKmuC,kBAGrCjf,EAAQA,EAAMz5B,QAAO,SAACi1D,GAAD,OACnBA,EAAGiJ,WAAYjJ,EAAGiJ,UAAU,EAAKv9D,SAKnC84B,EAAQA,EAAMhiC,KAAI,SAACw9D,GACjBA,EAAGjc,WAAaic,EAAGjc,YAAc,EACjCic,EAAGvuC,KAAOuuC,EAAGvuC,MAAQ,IACrB,OAAOuuC,KAITx7B,EAAQ,IAAEx5B,OAAOw5B,EAAO,CAAC,OAAQ,UAEjC,OAAOA,GAQTskC,iBA3HE,aA2Hc,WACRn6B,EAAQxiC,KAAKgjB,iBACnB,OAAO,IAAE3sB,IAAImsC,GAAO,SAACqZ,GACnB,MAAO,CACL30C,MAAO20C,EAAInnD,KAAK,EAAK4H,QACrBs7C,WAAYiE,EAAIjE,YAAc,EAC9BvjD,OAAQwnD,EAAIxnD,aAAUoG,EACtB6qB,KAAMu2B,EAAIv2B,MAAQ,IAClByuC,OAAQ,oCACRv5D,QAASqhD,EAAIrlD,GACbqhD,iBAAkBgE,EAAIhE,iBACtBC,qBAAsB+D,EAAI/D,qBAC1BC,uBAAwB8D,EAAI9D,uBAC5BT,eAAgBuE,EAAIvE,gBAAkB,WAW5ColB,eAnJE,aAoJA,MAAO,CACL,CACErL,KAAM,UACNnqD,MAAOtJ,EAAKxI,EAAE,kBAAkB0W,WAChCioD,OAAQ,aACRv5D,QAAS,2BACTo9C,WAAY,EACZtyB,KAAM,GACNjxB,OAAQ,CAAC,gBAAiB,SAC1ByjD,qBAAsBtiB,GACtBuiB,uBAAwB1qB,GACxBwqB,iBAAkB73C,KAAKsiB,UACvBg1B,eAAgB,OAElB,CACE+Z,KAAM,UACNnqD,MAAOtJ,EAAKxI,EAAE,4BAA4B0W,WAC1CioD,OAAQ,aACRv5D,QAAS,+BACTo9C,WAAY,EACZtyB,KAAM,GACNjxB,OAAQ,CAAC,gBAAiB,SAC1ByjD,qBAAsBtiB,GACtBuiB,uBAAwB1qB,GACxBwqB,iBAAkB73C,KAAKsiB,UACvBg1B,eAAgB,OAElB,CACEpwC,MAAOtJ,EAAKxI,EAAE,oBAAoB0W,WAClCioD,OAAQ,aACRv5D,QAAS,uBACTo9C,WAAY,EACZtyB,KAAM,GACNjxB,OAAQ,QACRyjD,qBAAsBtiB,GACtBuiB,uBAAwB,GACxBF,iBAAkB73C,KAAKsiB,UACvBg1B,eAAgB,WAMxBt1C,QAAS,CAOP8xD,gBAPO,WAOSC,EAAgBv5D,GAE9BwF,KAAK4zD,SAAW,MAEhB5zD,KAAK+zD,GAAQv5D,IASfuiE,kCApBO,WAoB2BvmE,GAChCwJ,KAAKk0D,kBAAoB19D,EACzBwJ,KAAKm0D,yBAA2B,MASlC6I,WA/BO,WA+BIC,GACTj9D,KAAKi9D,GAAW,OAIpBnpD,WAAY,CACVopD,oBACAviC,wBACAwiC,wBACA99C,+BCpZsa,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAAC5K,SAAA,KAAMoM,MAAA,QAAMF,aAAA,KAAU2mB,mBAAA,KAAgB1mB,iBAAAC,GAAA,KAAiBE,eAAAF,GAAA,KAAeg6C,SAAA,OC7BpG,IAAI,GAAS,WAAa,IAAI96D,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIizB,OAAO,QAAUjzB,EAAIzC,QAAQ,UAAU,cAAc,eAAeyC,EAAIS,GAAG,gBAAgB,qBAAqB,GAAG,sBAAsB,IAAI6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAC/T,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACE,MAAM,CAAC,mBAAmB8I,EAAKiqB,WAAW,eAAejqB,EAAK3O,SAAW2O,EAAK3O,QAAQ0hB,OAAS/S,EAAK3O,QAAQ0hB,OAAS,IAAI,CAAC/b,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK5C,YAAY,GAAGpG,EAAG,KAAK,CAACA,EAAG,sBAAsB,CAACE,MAAM,CAAC,MAAQ8I,MAAS,aACzP,GAAkB,GCHlB,GAAS,WAAa,IAAIpJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAGJ,EAAIq9D,cAAc,CAACC,IAAI,YAAYh9D,MAAM,CAAC,MAAQN,EAAIu9D,SAASn9D,EAAG,MAAM,CAACmB,YAAY,oCAAoC,CAACnB,EAAG,eAAe,CAACE,MAAM,CAAC,GAAKN,EAAIu9D,MAAMxR,UAAU/rD,EAAIO,GAAG,OAAOH,EAAG,OAAO,CAACO,GAAG,CAAC,SAAW,SAASC,GAAQZ,EAAIw9D,aAAex9D,EAAIw9D,eAAe,CAACp9D,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIu9D,MAAMnqC,YAAY,YAAY,OAAO,GAAIpzB,EAAe,YAAEI,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIu9D,SAASv9D,EAAI6C,MAAM,IAAI,IACjhB,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACmB,YAAY,QAAQ,CAACnB,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIu9D,MAAMlqC,eAAejzB,EAAG,qBAAqB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,oBAAoB,CAACA,EAAG,2BAA2B,CAACE,MAAM,CAAC,cAAc,0BAA0B,CAACN,EAAIO,GAAG,qFAAqFH,EAAG,4BAA4B,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAG,oBAAoBH,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAG,YAAYH,EAAG,SAAS,CAACJ,EAAIO,GAAG,sCAAsCP,EAAIQ,GAAGR,EAAIu9D,MAAMlqC,YAAY,YAAYjzB,EAAG,KAAK,CAACJ,EAAIO,GAAG,6CAA6CH,EAAG,SAAS,CAACJ,EAAIO,GAAG,iCAAiCH,EAAG,MAAM,CAACmB,YAAY,SAAS,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIu9D,UAAUn9D,EAAG,IAAI,CAACJ,EAAIO,GAAG,+CAA+CH,EAAG,SAAS,CAACJ,EAAIO,GAAG,WAAWP,EAAIO,GAAG,8CAA8C,IAAI,IAAI,IACh+B,GAAkB,GCsCP,UAAImB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,CACRrH,QADQ,aAEN,OAAOwF,KAAKs9D,MAAM9iE,YC7CyZ,MCO7a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACoe,SAAA,KAAMi5B,mBAAA,KAAgBC,0BAAA,KAAuBC,yBAAA,KAAsBC,oBAAA,OC3BjG,IAAI,GAAS,WAAa,IAAIjyC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,MAAM,GAAGL,EAAG,OAAO,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGP,KAAKyY,UAAU1Y,EAAIvF,QAAQoF,UAAU,MAAM,GAAGO,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,OAAO,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,QAAQL,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIvF,QAAQu2D,iBAAiB,GAAG5wD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,OAAO,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8B,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQgjE,eAAe,OAAQz9D,EAAIvF,QAAa,MAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,OAAO,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,UAAU,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ02D,OAAO,OAAOnxD,EAAI6C,KAAM7C,EAAIvF,QAAmB,YAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,OAAO,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQiE,aAAa,OAAOsB,EAAI6C,MAAM,IAAI,GAAG7C,EAAI6C,MAC32C,GAAkB,GCsCP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,eAAa,CACrCrH,QADqC,aAEnC,OAAOwF,KAAKs9D,MAAM9iE,aC9C2Z,MCO/a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACoe,SAAA,KAAMpW,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,OC1B/C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAS,MAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,qBAAqBH,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI+Z,cAAc/Z,EAAIia,MAAMxjB,SAAS,IAAI,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,QAAUN,EAAIinB,YAAY,IAAI,IAAI,GAAGjnB,EAAI6C,MAC3f,GAAkB,GCsBP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,gBACnB,eAAW,QAAS,CACrB,gBACA,oBACA,cACA,mBACA,CACFrH,QADE,aAEA,OAAOwF,KAAKs9D,MAAM9iE,SAEpBwsB,QAJE,aAKA,OAAOhnB,KAAKxF,QAAQwsB,SAEtBhN,MAPE,aAQA,OAAOha,KAAK4a,YAAY5a,KAAKxF,QAAQoF,YAGzCkU,WAAY,CACVg+C,qBC/C2a,MCO3a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACl5C,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAS,MAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,6BAA6BH,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI+Z,cAAc/Z,EAAIia,MAAMxjB,SAAS,IAAI,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,QAAUN,EAAIinB,YAAY,IAAI,IAAI,GAAGjnB,EAAI6C,MACngB,GAAkB,GCsBP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,gBACnB,eAAW,QAAS,CACrB,gBACA,oBACA,cACA,mBACA,CACFrH,QADE,aAEA,OAAOwF,KAAKs9D,MAAM9iE,SAEpBwsB,QAJE,aAKA,OAAOhnB,KAAKxF,QAAQwsB,SAEtBhN,MAPE,aAQA,OAAOha,KAAK4a,YAAY5a,KAAKxF,QAAQoF,YAGzCkU,WAAY,CACVg+C,qBC/C8a,MCO9a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACl5C,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAOL,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI09D,aAAa,OAAQ19D,EAAW,QAAEI,EAAG,OAAO,CAACmB,YAAY,aAAa,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAI8uB,QAAQ0gB,eAAepvC,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI8uB,QAAQ2gB,MAAM,MAAM,GAAGzvC,EAAI6C,MAAM,IAAI,GAAI7C,EAAW,QAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kCAAkCT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBvc,EAAI8uB,QAAQ6uC,qBAAsB39D,EAAIqiB,sBAAuB,OAAQriB,EAAI8uB,QAAyB,kBAAE1uB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iCAAiCT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI8uB,QAAQ8uC,mBAAmB,OAAO59D,EAAI6C,MAAM,GAAG7C,EAAI6C,MAAM,IACpmC,GAAkB,GC2CP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,mBACrB,eAAS,QAAS,CAAC,eAAgB,yBAAuB,CAC7DrH,QAD6D,aAE3D,IAAKwF,KAAKs9D,MACR,OAAO,KAET,OAAOt9D,KAAKs9D,MAAM9iE,SAEpBijE,YAP6D,aAQ3D,IAAKz9D,KAAK6uB,QACR,OAAO,KAET,OAAO7uB,KAAKsc,sBAAsBtc,KAAK6uB,QAAQ3S,OAAQlc,KAAKsjB,eAE9Ds6C,UAb6D,aAc3D,IAAK59D,KAAKs9D,MAAMO,gBACd,MAAO,GAET,OAAO,IAAEtlD,MAAMvY,KAAKs9D,MAAMO,gBAAgBC,aAAe,IAE3DjvC,QAnB6D,aAoB3D,IAAK7uB,KAAK49D,UACR,OAAO,KAET,OAAO59D,KAAKkvB,cAAclvB,KAAK49D,gBC1E6Y,MCO9a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAChlD,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAU,OAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,IAAI,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAKN,EAAI0F,GAAI1F,EAAc,YAAE,SAASiwB,GAAO,OAAO7vB,EAAG,QAAQ,CAAC1K,IAAIu6B,EAAMx5B,GAAG6J,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,OAAO,CAACmB,YAAY,oBAAoB,CAAE0uB,EAAM+tC,cAAgB/tC,EAAMguC,oBAAqB79D,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,OAAOT,EAAI6C,KAAMotB,EAAMguC,sBAAwBhuC,EAAM+tC,YAAa59D,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,OAAOT,EAAI6C,KAAMotB,EAAMguC,qBAAuBhuC,EAAM+tC,YAAa59D,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,MAAMT,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,OAAOT,EAAI6C,KAAOotB,EAAM+tC,aAAgB/tC,EAAMguC,oBAAiFj+D,EAAI6C,KAAhEzC,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,SAAkBT,EAAIO,GAAG,MAAMH,EAAG,OAAO,CAACmB,YAAY,uBAAuB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIswB,UAAUL,EAAMiS,UAAU,YAAW,IAAI,GAAGliC,EAAI6C,MAC/oC,GAAkB,GCyCP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,YAAa,gBAAc,CACnDrH,QADmD,aAEjD,OAAOwF,KAAKs9D,MAAM9iE,SAEpBskB,OAJmD,aAKjD,OAAO9e,KAAKxF,QAAQskB,QAEtBvf,KAPmD,aAQjD,OAAOS,KAAK0yB,WAAW1yB,KAAK8e,SAE9BuS,WAVmD,aAWjD,OAAOrxB,KAAKxF,QAAQ62B,gBC1DwZ,MCO9a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACzY,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,wBAAyBP,EAAIk+D,mBAAyB,OAAE99D,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIk+D,mBAAmBjzD,KAAK,OAAO,OAAOjL,EAAI6C,KAAM7C,EAAIvF,QAAkB,WAAE2F,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOT,EAAI6C,KAAM7C,EAAIvF,QAAkB,WAAE2F,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,OAAOT,EAAI6C,KAAM7C,EAAIvF,QAAe,QAAE2F,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,YAAY,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAIvF,QAAQ2hC,QAAS,sBAAsB,OAAOp8B,EAAI6C,KAAM7C,EAAQ,KAAEI,EAAG,OAAO,CAACmB,YAAY,aAAa,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIR,KAAKkL,QAAQ,OAAO1K,EAAI6C,MAAM,IAAI,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAAEN,EAAQ,KAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIk2B,UAAUl2B,EAAIR,KAAKuE,UAAU,OAAO/D,EAAI6C,KAAM7C,EAAIvF,QAAyB,kBAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,gCAAgCT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ0jE,mBAAmB,OAAOn+D,EAAI6C,KAAM7C,EAAIvF,QAAkB,WAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ2jE,YAAY,OAAOp+D,EAAI6C,KAAM7C,EAAIvF,QAAmB,YAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAOL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIvF,QAAQ+0C,gBAAgB,GAAGxvC,EAAI6C,KAAM7C,EAAIvF,QAAe,QAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIvF,QAAQ4jE,YAAY,GAAGr+D,EAAI6C,KAAM7C,EAAIvF,QAAgB,SAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIvF,QAAQ6jE,aAAa,GAAGt+D,EAAI6C,KAAM7C,EAAIvF,QAAmB,YAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIvF,QAAQ+0C,gBAAgB,GAAGxvC,EAAI6C,KAAM7C,EAAIvF,QAAkB,WAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,OAAOL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIvF,QAAQ8jE,eAAe,GAAGv+D,EAAI6C,KAAM7C,EAAIvF,QAAkB,WAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ+jE,YAAY,OAAOx+D,EAAI6C,KAAM7C,EAAIvF,QAAiB,UAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kCAAkC,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQgkE,WAAW,OAAOz+D,EAAI6C,KAAM7C,EAAIvF,QAAQwsB,SAAWjnB,EAAIvF,QAAQwsB,QAAQl0B,OAAQqN,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOL,EAAG,iBAAiB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,QAAUN,EAAIvF,QAAQwsB,YAAY,GAAGjnB,EAAI6C,KAAM7C,EAAIvF,QAA0B,mBAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAaN,EAAIvF,QAAQ8gC,mBAAmB,mBAAmB,OAAO,GAAGv7B,EAAI6C,KAAM7C,EAAIvF,QAAkB,WAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kCAAkC,SAAST,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQikE,YAAY,OAAO1+D,EAAI6C,KAAM7C,EAAIvF,QAAgB,SAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQkkE,UAAU,OAAO3+D,EAAI6C,KAAM7C,EAA0B,uBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOL,EAAG,MAAM,CAACmB,YAAY,QAAQ,CAAiC,GAA/BvB,EAAIvF,QAAQmkE,gBAAsBx+D,EAAG,MAAM,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,OAAOT,EAAI6C,KAAM7C,EAAIvF,QAAe,QAAE2F,EAAG,MAAM,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQokE,SAAS,OAAO7+D,EAAI6C,KAAM7C,EAAIvF,QAAe,QAAE2F,EAAG,MAAM,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,YAAYL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIvF,QAAQqkE,YAAY,GAAG9+D,EAAI6C,KAAM7C,EAAIvF,QAAiB,UAAE2F,EAAG,MAAM,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQskE,WAAW,OAAO/+D,EAAI6C,KAAM7C,EAAIvF,QAAiB,UAAE2F,EAAG,MAAM,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQukE,WAAW,OAAOh/D,EAAI6C,SAAS7C,EAAI6C,KAAM7C,EAAIvF,QAAa,MAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,UAAU,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ02D,OAAO,OAAOnxD,EAAI6C,MAAM,IAAI,GAAG7C,EAAI6C,MAC7yJ,GAAkB,GCDTo8D,GAA6B,CACxCC,GAAI,CACF3yC,GAAI,yCACJC,GAAI,mCACJC,GAAI,oCAEN0yC,GAAI,CACF5yC,GAAI,iBACJC,GAAI,YACJC,GAAI,aAEN2yC,GAAI,CACF7yC,GAAI,eACJC,GAAI,aACJC,GAAI,cAEN4yC,GAAI,CACF9yC,GAAI,kCACJC,GAAI,mBACJC,GAAI,oBAEN6yC,GAAI,CACF/yC,GAAI,UACJC,GAAI,UACJC,GAAI,WAEN8yC,IAAK,CACHhzC,GAAI,aACJC,GAAI,YACJC,GAAI,aAEN+yC,IAAK,CACHjzC,GAAI,oCACJC,GAAI,wBACJC,GAAI,yBAENgzC,IAAK,CACHlzC,GAAI,YACJC,GAAI,gBACJC,GAAI,iBAENizC,IAAK,CACHnzC,GAAI,qBACJC,GAAI,YACJC,GAAI,aAENkzC,IAAK,CACHpzC,GAAI,eACJC,GAAI,QACJC,GAAI,SAENmzC,IAAK,CACHrzC,GAAI,kBACJC,GAAI,YACJC,GAAI,aAENozC,IAAK,CACHtzC,GAAI,sCACJC,GAAI,mCACJC,GAAI,oCAENqzC,IAAK,CACHvzC,GAAI,wDACJC,GAAI,iCACJC,GAAI,kCAENszC,IAAK,CACHxzC,GAAI,kCACJC,GAAI,2BACJC,GAAI,4BAENuzC,IAAK,CACHzzC,GAAI,iDACJC,GAAI,0BACJC,GAAI,2BAENwzC,IAAK,CACH1zC,GAAI,iDACJC,GAAI,gCACJC,GAAI,gCAENyzC,IAAK,CACH3zC,GAAI,qCACJC,GAAI,sBACJC,GAAI,uBAEN0zC,IAAK,CACH5zC,GAAI,gDACJC,GAAI,iCACJC,GAAI,kCAEN2zC,IAAK,CACH7zC,GAAI,oBACJC,GAAI,mBACJC,GAAI,oBAEN4zC,IAAK,CACH9zC,GAAI,4CACJC,GAAI,0BACJC,GAAI,2BAEN6zC,IAAK,CACH/zC,GAAI,+CACJC,GAAI,mCACJC,GAAI,oCAEN8zC,IAAK,CACHh0C,GAAI,aACJC,GAAI,UACJC,GAAI,eAEN+zC,IAAK,CACHj0C,GAAI,sBACJC,GAAI,cACJC,GAAI,gBAENg0C,IAAK,CACHl0C,GAAI,4CACJC,GAAI,6BACJC,GAAI,8BAENi0C,IAAK,CACHn0C,GAAI,iBACJC,GAAI,eACJC,GAAI,gBAENk0C,IAAK,CACHp0C,GAAI,qBACJC,GAAI,mBACJC,GAAI,oBAENm0C,IAAK,CACHr0C,GAAI,kDACJC,GAAI,wCACJC,GAAI,yCAENo0C,IAAK,CACHt0C,GAAI,iEACJC,GAAI,iCACJC,GAAI,mCAENq0C,IAAK,CACHv0C,GAAI,sCACJC,GAAI,+BACJC,GAAI,kCAENs0C,IAAK,CACHx0C,GAAI,kCACJC,GAAI,4BACJC,GAAI,gCAENu0C,IAAK,CACHz0C,GAAI,8BACJC,GAAI,gBACJC,GAAI,kBAENw0C,IAAK,CACH10C,GAAI,+BACJC,GAAI,eACJC,GAAI,oBAENy0C,IAAK,CACH30C,GAAI,sCACJC,GAAI,4BACJC,GAAI,iCAEN00C,IAAK,CACH50C,GAAI,mDACJC,GAAI,uBACJC,GAAI,uBAEN20C,IAAK,CACH70C,GAAI,yBACJC,GAAI,uBACJC,GAAI,uBAEN40C,IAAK,CACH90C,GAAI,2CACJC,GAAI,+BACJC,GAAI,oCAEN60C,IAAK,CACH/0C,GAAI,uBACJC,GAAI,cACJC,GAAI,gBAIK80C,GAAgB,CAC3BC,IAAK,CACHj1C,GAAI,UACJC,GAAI,QACJC,GAAI,SAENg1C,IAAK,CACHl1C,GAAI,YACJC,GAAI,QACJC,GAAI,SAENi1C,IAAK,CACHn1C,GAAI,uBACJC,GAAI,eACJC,GAAI,gBAENk1C,IAAK,CACHp1C,GAAI,UACJC,GAAI,MACJC,GAAI,OAENm1C,IAAK,CACHr1C,GAAI,qBACJC,GAAI,gBACJC,GAAI,iBAENo1C,IAAK,CACHt1C,GAAI,oBACJC,GAAI,aACJC,GAAI,cAENq1C,IAAK,CACHv1C,GAAI,SACJC,GAAI,OACJC,GAAI,QAENs1C,IAAK,CACHx1C,GAAI,eACJC,GAAI,UACJC,GAAI,WAENu1C,IAAK,CACHz1C,GAAI,kBACJC,GAAI,UACJC,GAAI,WAENw1C,IAAK,CACH11C,GAAI,yBACJC,GAAI,UACJC,GAAI,WAENy1C,IAAK,CACH31C,GAAI,WACJC,GAAI,UACJC,GAAI,aAEN01C,IAAK,CACH51C,GAAI,4BACJC,GAAI,cACJC,GAAI,kBAEN21C,IAAK,CACH71C,GAAI,mBACJC,GAAI,cACJC,GAAI,0BAEN41C,IAAK,CACH91C,GAAI,2BACJC,GAAI,kBACJC,GAAI,qBAEN61C,IAAK,CACH/1C,GAAI,yBACJC,GAAI,mBACJC,GAAI,0BAEN81C,IAAK,CACHh2C,GAAI,0BACJC,GAAI,kBACJC,GAAI,gCAEN+1C,IAAK,CACHj2C,GAAI,2BACJC,GAAI,WACJC,GAAI,aAENg2C,IAAK,CACHl2C,GAAI,cACJC,GAAI,QACJC,GAAI,WAIKi2C,GAAqB,CAChC,IAAO,CACLn2C,GAAI,2BACJC,GAAI,eACJC,GAAI,gBAEN,IAAO,CAAEF,GAAI,UAAWC,GAAI,MAAOC,GAAI,OACvC,IAAO,CAAEF,GAAI,8BAA+BC,GAAI,WAAYC,GAAI,YAChE,IAAO,CACLF,GAAI,wCACJC,GAAI,WACJC,GAAI,YAEN,IAAO,CAAEF,GAAI,YAAaC,GAAI,QAASC,GAAI,SAC3C,IAAO,CAAEF,GAAI,YAAaC,GAAI,YAAaC,GAAI,aAC/C,IAAO,CAAEF,GAAI,eAAgBC,GAAI,MAAOC,GAAI,OAC5C,IAAO,CAAEF,GAAI,yBAA0BC,GAAI,MAAOC,GAAI,OACtD,IAAO,CACLF,GAAI,iCACJC,GAAI,YACJC,GAAI,aAEN,IAAO,CACLF,GAAI,eACJC,GAAI,sBACJC,GAAI,uBAEN,IAAO,CAAEF,GAAI,iBAAkBC,GAAI,aAAcC,GAAI,cACrD,IAAO,CAAEF,GAAI,oBAAqBC,GAAI,UAAWC,GAAI,cACrD,IAAO,CACLF,GAAI,wBACJC,GAAI,kBACJC,GAAI,mBAEN,IAAO,CAAEF,GAAI,yBAA0BC,GAAI,aAAcC,GAAI,cAC7D,IAAO,CACLF,GAAI,gCACJC,GAAI,WACJC,GAAI,kBAEN,IAAO,CACLF,GAAI,iCACJC,GAAI,YACJC,GAAI,cAEN,IAAO,CACLF,GAAI,0BACJC,GAAI,mBACJC,GAAI,oBAEN,IAAO,CAAEF,GAAI,cAAeC,GAAI,gBAAiBC,GAAI,iBACrD,IAAO,CAAEF,GAAI,sBAAuBC,GAAI,eAAgBC,GAAI,iBCrL/C,UAAI/qB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,oDACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,aAAc,eAAa,CAEnDrH,QAFmD,aAGjD,OAAO,IAAEzF,IAAIiL,KAAM,gBAAiB,KAGtCT,KANmD,aAOjD,OAAOS,KAAK0yB,WAAW1yB,KAAKxF,QAAQskB,SAGtC4jD,uBAVmD,aAWjD,IAAK1iE,KAAKxF,QACR,OAAO,MAET,GAAIwF,KAAKxF,QAAQokE,QACf,OAAO,KAET,GAAqC,IAAjC5+D,KAAKxF,QAAQmkE,gBACf,OAAO,KAET,OAAO,OAGTV,mBAvBmD,aAuBjC,WACV0E,EAAe,IAAE5tE,IAAIiL,KAAKxF,QAAS,eAAgB,MACnD+jE,EAAa,IAAExpE,IAAIiL,KAAKxF,QAAS,aAAc,MAC/C4jE,EAAU,IAAErpE,IAAIiL,KAAKxF,QAAS,UAAW,MACzC+0C,EAAc,IAAEx6C,IAAIiL,KAAKxF,QAAS,cAAe,MACjD8jE,EAAa,IAAEvpE,IAAIiL,KAAKxF,QAAS,aAAc,MAErD,IAAKmoE,EAAc,CACjB,GAAIvE,EACF,MAAO,CAACxgE,EAAKxI,EAAE,qBAAqB0W,YAEtC,GAAIyjC,EACF,MAAO,CAAC3xC,EAAKxI,EAAE,oBAAoB0W,YAErC,GAAIwyD,EACF,MAAO,CAAC1gE,EAAKxI,EAAE,mBAAmB0W,YAEpC,MAAO,CAAC,WAGV,IAAM02B,EAAQmgC,EAAa72D,WAAW6wB,MAAM,KAC5C,OAAO,IAAEh+B,MAAM6jC,GACZnsC,KAAI,SAACjB,GACJ,IAAM4D,EAAOypE,GAAmBrtE,GAChC,OAAI4D,EACKA,EAAK,EAAKsD,QAEV,QAGVnH,WAGP2e,WAAY,CACVg+C,kBACAF,sBCxNsa,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACh5C,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAQ,KAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,GAAK,CAAE3L,KAAM,WAAY2K,OAAQ,CAAE7I,GAAIuJ,EAAI+e,WAAa,CAAC/e,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAQT,EAAQ,KAAEI,EAAG,OAAO,CAACmB,YAAY,mBAAmB,CAACnB,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,YAAY,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAIR,KAAK48B,QAASp8B,EAAI2iB,cAAc,QAAQ,GAAG3iB,EAAI6C,KAAM7C,EAAQ,KAAEI,EAAG,OAAO,CAACmB,YAAY,aAAa,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIR,KAAKkL,QAAQ,OAAO1K,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACmB,YAAY,aAAajB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI6wD,UAAY7wD,EAAI6wD,YAAY,CAACzwD,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI6wD,SAAW,cAAgB,iBAAiB,QAAQ,IAAI,IAAI,GAAGzwD,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIk2B,UAAUl2B,EAAIvF,QAAQsJ,UAAU,OAAQ/D,EAAIvF,QAA0B,mBAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI6iE,sBAAsB,OAAO7iE,EAAI6C,MAAM,GAAGzC,EAAG,sBAAsB,CAAEJ,EAAIvF,QAAoB,aAAE2F,EAAG,QAAQ,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAO4K,EAAY,SAAEqB,WAAW,aAAaf,MAAM,CAAC,aAAa,KAAKN,EAAI0F,GAAI1F,EAAIvF,QAAoB,cAAE,SAASmrB,EAAY/yB,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAI7C,EAAE0O,YAAY,OAAOjB,MAAM,CAAC,KAAO,KAAK,GAAK,KAAK,aAAa,KAAK,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,YAAcslB,MAAgB,MAAK,GAAG5lB,EAAI6C,MAAM,IAAI,GAAG7C,EAAI6C,MACtzD,GAAkB,GCmEP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAETT,KAJwB,aAKtB,MAAO,CACLs+D,SAAU,QAGd/uD,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CACrB,eACA,aACA,YACA,cACA,gBACA,YACA,gBACA,gCAEC,eAAS,QAAS,CAAC,gBAAiB,aAAc,iBAAe,CACpEghE,iBADoE,aAElE,OAAO7iE,KAAKiyB,2BAA2BjyB,KAAK8e,SAE9CgB,QAJoE,aAKlE,OAAO9f,KAAK6tB,cAAc7tB,KAAKxF,QAAQgF,YAAc,IAEvDhF,QAPoE,aAQlE,OAAOwF,KAAKs9D,MAAM9iE,SAEpBskB,OAVoE,aAWlE,OAAO9e,KAAKs9D,MAAMO,gBAAgBiF,QAAQ,IAE5CrtC,MAboE,aAclE,GAAIz1B,KAAKxF,QAAQsJ,QACf,OAAO9D,KAAKg2B,YAAYh2B,KAAKxF,QAAQsJ,SAChC,GAAI9D,KAAKxF,QAAQ2zB,MAAQnuB,KAAKxF,QAAQ2zB,KAAKrqB,QAEhD,OAAO9D,KAAKg2B,YAAYh2B,KAAKxF,QAAQ2zB,KAAKrqB,SAE5C,OAAO,MAET8+D,qBAtBoE,aAuBlE,OAAO5iE,KAAKqwB,UAAUrwB,KAAKxF,QAAQqlC,qBAErCtgC,KAzBoE,aA0BlE,OAAOS,KAAK0yB,WAAW1yB,KAAK8e,WAGhChL,WAAY,CACVs+C,yBCvHqa,M,aCOra,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACjwD,QAAA,KAAKyW,SAAA,KAAMpW,QAAA,KAAKugE,kBAAA,QAAkBtuD,SAAA,KAAM/R,QAAA,OC5BtE,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,MAAM,GAAGT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGP,KAAKqwB,UAAUtwB,EAAIvF,QAAQynC,UAAU,KAAMliC,EAAIvF,QAAmB,YAAE2F,EAAG,OAAO,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,cAAcP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,MAAM,GAAGT,EAAI6C,KAAM7C,EAAIvF,QAA2B,oBAAE2F,EAAG,OAAO,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,eAAeP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,MAAM,GAAGT,EAAI6C,MAAM,IAAI,IAAI,GAAG7C,EAAI6C,MACtyB,GAAkB,GCyBP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,eAAa,CACrCrH,QADqC,aAEnC,OAAOwF,KAAKs9D,MAAM9iE,aCjCsZ,MCO1a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACoe,SAAA,KAAMpW,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,OC1B/C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,GAAKN,EAAIuD,cAAc,oBACtP,CAAE5O,KAAM,kBAAmB2K,OAAQ,CAAE7I,GAAIuJ,EAAIkgB,qBAC7CxlB,IAAY,CAAC0F,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,MAAM,IAAI,GAAIT,EAAIuD,cAAc,oBAAqBnD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,iBAAiB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,OAAS,SAAS,GAAK,CAAE3L,KAAM,mBAAoB2K,OAAQ,CAAE7I,GAAIuJ,EAAIkgB,gBAAkB,MAAQ,KAAK,CAAC9f,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,eAAe,IAAI,GAAGP,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIyR,kBAAkBzR,EAAIvF,QAAQiM,aAAa,OAAOtG,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,OAAOL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIvF,QAAQ4L,eAAe,GAAIrG,EAAIvF,QAAkB,WAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ6L,YAAY,OAAOtG,EAAI6C,KAAM7C,EAAgB,aAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIijE,cAAc,OAAOjjE,EAAI6C,KAAM7C,EAAc,WAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIkjE,YAAY,OAAOljE,EAAI6C,KAAM7C,EAAe,YAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAImjE,aAAa,OAAOnjE,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ8L,aAAa,QAAQ,IAAI,IACjoD,GAAkB,GCgEP,UAAI7E,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,8FACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,QAAS,CAAC,oBAAqB,eAC1C,eAAW,YAAa,CAAC,uBACzB,eAAW,QAAS,CAAC,iBACrB,eAAW,UAAW,CAAC,iBACvB,eAAS,WAAY,CAAC,YAAU,CACnCrH,QADmC,aAEjC,OAAOwF,KAAKs9D,MAAM9iE,SAGpBylB,cALmC,aAMjC,IACGjgB,KAAKs9D,MAAMO,kBACX79D,KAAKs9D,MAAMO,gBAAgBsF,eAE5B,OAAO,EAET,OAAO,IAAE5qD,MAAMvY,KAAKs9D,MAAMO,gBAAgBsF,iBAAmB,GAG/DD,YAfmC,aAgBjC,IAAKljE,KAAKxF,QACR,MAAO,GAET,OAAO,IAAEmE,MAAMqB,KAAKxF,QAAQuM,WAAa,IACtC1Q,IAAI2J,KAAKyY,WACTwC,UACA9lB,QACA6V,KAAK,OAGVi4D,WA1BmC,aA0BzB,WACR,IAAKjjE,KAAKxF,QACR,MAAO,GAET,OAAO,IAAEmE,MAAMqB,KAAKxF,QAAQkM,UAAY,IACrCrQ,KAAI,SAACG,GAAD,OAAQ,EAAKqyB,YAAYryB,GAAIkS,MAAM,EAAKpM,WAC5C2e,UACA9lB,QACA6V,KAAK,OAGVg4D,aArCmC,aAqCvB,WACV,IAAKhjE,KAAKxF,QACR,MAAO,GAET,OAAO,IAAEnE,IAAI2J,KAAKxF,QAAQmlB,YAAY,SAACnpB,GAAD,OAAQ,EAAKwT,YAAYxT,MAAKwU,KAClE,SAIN8I,WAAY,KC3Hka,MCO5a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC3R,QAAA,KAAKyW,SAAA,KAAMpW,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,OC3BpD,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAI23C,gBAAgBX,qBAAuB,UAAY,KAAK,CAACh3C,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAIvF,QAAQ0hB,OAAQnc,EAAIijB,mBAAmB,OAAQjjB,EAAI23C,iBAAmB33C,EAAI23C,gBAAgBX,qBAAsB52C,EAAG,OAAO,CAACmB,YAAY,QAAQ,CAACnB,EAAG,SAAS,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQL,EAAG,kBAAkB,CAACE,MAAM,CAAC,SAAWN,EAAI23C,gBAAgBU,gBAAgB,oBAAsBr4C,EAAI23C,gBAAgBW,4BAA4B,GAAGt4C,EAAI6C,MAAM,IAAI,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAON,EAAI0F,GAAI1F,EAAU,QAAE,SAAS46C,GAAO,OAAOx6C,EAAG,aAAa,CAAC1K,IAAIklD,EAAMjmD,KAAK2L,MAAM,CAAC,MAAQs6C,EAAMjB,QAAU,GAAKiB,EAAMzzC,MAAMnH,EAAIzD,UAAU,CAAgB,oBAAdq+C,EAAM3hD,KAA4BmH,EAAG,OAAO,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQs6C,EAAMxlD,UAAU,GAAG4K,EAAI6C,KAAoB,YAAd+3C,EAAM3hD,KAAoBmH,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGo6C,EAAMxlD,OAAO,OAAO4K,EAAI6C,KAAoB,aAAd+3C,EAAM3hD,KAAqBmH,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGo6C,EAAMxlD,OAAO,OAAO4K,EAAI6C,KAAoB,aAAd+3C,EAAM3hD,KAAqBmH,EAAG,OAAO,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQs6C,EAAMxlD,UAAU,GAAG4K,EAAI6C,KAAoB,qBAAd+3C,EAAM3hD,KAA6BmH,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKs6C,EAAMxlD,SAAS4K,EAAI6C,KAAoB,uBAAd+3C,EAAM3hD,KAA+BmH,EAAG,OAAO,CAAEJ,EAAI2yB,WAAWioB,EAAMxlD,OAAQgL,EAAG,OAAO,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,WAAY2K,OAAQ,CAAE7I,GAAImkD,EAAMxlD,UAAY,CAAC4K,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI2yB,WAAWioB,EAAMxlD,OAAOsV,QAAQ,QAAQ,GAAGtK,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,YAAY,SAAST,EAAI6C,KAAoB,sBAAd+3C,EAAM3hD,KAA8BmH,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKs6C,EAAMxlD,SAAS4K,EAAI6C,KAAoB,iBAAd+3C,EAAM3hD,KAAyBmH,EAAG,OAAO,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKs6C,EAAMxlD,UAAU,GAAG4K,EAAI6C,KAAoB,gBAAd+3C,EAAM3hD,KAAwBmH,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,sBAAsB,CAACE,MAAM,CAAC,QAAUs6C,EAAMxlD,UAAU,GAAGgL,EAAG,QAAQ,CAACmB,YAAY,WAAWjB,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAAEN,EAAmB,gBAAEI,EAAG,6BAA6B,CAACE,MAAM,CAAC,GAAKN,EAAIqjE,gBAAgB5sE,MAAMuJ,EAAI6C,MAAM,IAAI,GAAG7C,EAAI6C,KAAoB,eAAd+3C,EAAM3hD,KAAuBmH,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBq+B,EAAMxlD,MAAOwlD,EAAMhC,SAASC,YAAY,OAAO74C,EAAI6C,KAAoB,iBAAd+3C,EAAM3hD,MAAyC,eAAd2hD,EAAM3hD,KAAuBmH,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI0Y,UAAUkiC,EAAMxlD,QAAQ,OAAO4K,EAAI6C,KAAoB,kBAAd+3C,EAAM3hD,MAA4B2hD,EAAMxlD,MAAOgL,EAAG,OAAO,CAACA,EAAG,qBAAqB,CAACE,MAAM,CAAC,YAAcs6C,EAAMxlD,UAAU,GAAG4K,EAAI6C,KAAoB,6BAAd+3C,EAAM3hD,MAAuC2hD,EAAMxlD,MAAOgL,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI0Y,UAAUkiC,EAAMxlD,MAAMyK,UAAU,KAAKO,EAAG,SAAS,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mCAAmC,QAAQL,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQs6C,EAAMxlD,MAAM26D,mBAAmB,aAAa/vD,EAAIS,GAAG,YAAY,cAAcT,EAAIS,GAAG,mBAAmB,GAAGT,EAAI6C,KAAoB,2BAAd+3C,EAAM3hD,KAAmCmH,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIkd,oBAAoB09B,EAAMxlD,QAAQ,OAAO4K,EAAI6C,KAAoB,wBAAd+3C,EAAM3hD,MAAkC2hD,EAAMxlD,MAAOgL,EAAG,MAAM,CAACA,EAAG,sBAAsB,CAACE,MAAM,CAAC,QAAUs6C,EAAMxlD,UAAU,GAAG4K,EAAI6C,KAAoB,sBAAd+3C,EAAM3hD,MAAgC2hD,EAAMxlD,MAAOgL,EAAG,MAAM,CAACA,EAAG,sBAAsB,CAACE,MAAM,CAAC,QAAUs6C,EAAMxlD,UAAU,GAAG4K,EAAI6C,KAAoB,yBAAd+3C,EAAM3hD,MAAmC2hD,EAAMxlD,MAAOgL,EAAG,MAAM,CAAEw6C,EAAW,MAAEx6C,EAAG,sBAAsB,CAACE,MAAM,CAAC,QAAUs6C,EAAMxlD,SAAS4K,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAoB,yBAAd+3C,EAAM3hD,KAAiCmH,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIkd,oBAAoB09B,EAAMxlD,QAAQ,OAAO4K,EAAI6C,KAAoB,iBAAd+3C,EAAM3hD,KAAyBmH,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIswB,UAAUsqB,EAAMxlD,QAAQ,OAAO4K,EAAI6C,KAAoB,mBAAd+3C,EAAM3hD,KAA2BmH,EAAG,OAAO,CAAEw6C,EAAW,MAAEx6C,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmBT,EAAI6C,KAAO+3C,EAAMxlD,MAAyD4K,EAAI6C,KAAtDzC,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAA6BT,EAAI6C,KAAoB,cAAd+3C,EAAM3hD,KAAsBmH,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGo6C,EAAMxlD,OAAO,OAAO4K,EAAI6C,KAAoB,uBAAd+3C,EAAM3hD,KAA+BmH,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIswB,UAAUsqB,EAAMxlD,QAAQ,OAAO4K,EAAI6C,KAAoB,sBAAd+3C,EAAM3hD,MAAgC2hD,EAAMxlD,MAAOgL,EAAG,OAAO,CAACA,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKs6C,EAAMxlD,UAAU,GAAG4K,EAAI6C,KAAoB,oBAAd+3C,EAAM3hD,KAA4BmH,EAAG,MAAMJ,EAAI0F,GAAIk1C,EAAW,OAAE,SAASh1B,EAAY/yB,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAI,cAAgB7C,EAAE0O,YAAY,OAAOjB,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI0Y,UAAUkN,EAAY/lB,UAAU,OAAOO,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,QAAUslB,EAAYqB,YAAY,IAAI,MAAK,GAAGjnB,EAAI6C,KAAoB,oBAAd+3C,EAAM3hD,KAA4BmH,EAAG,MAAM,CAAEw6C,EAAW,MAAEx6C,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAKN,EAAI0F,GAAIk1C,EAAW,OAAE,SAASh1B,GAAa,OAAOxlB,EAAG,QAAQ,CAAC1K,IAAIkwB,EAAYnvB,GAAG6J,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI0Y,UAAUkN,EAAY/lB,UAAU,KAAKO,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAaslB,EAAY2V,mBAAmB,mBAAmB,OAAO,MAAK,GAAGv7B,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAoB,iBAAd+3C,EAAM3hD,KAAyBmH,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAAEs6C,EAAMxlD,MAAoB,eAAEgL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kCAAkC,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGo6C,EAAMxlD,MAAMw/D,gBAAgB,OAAO50D,EAAI6C,KAAM+3C,EAAMxlD,MAA2B,sBAAEgL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mCAAmC,OAAOL,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQs6C,EAAMxlD,MAAMw/B,0BAA0B,GAAG50B,EAAI6C,KAC7gL+3C,EAAMxlD,MAAMygE,eAAiBjb,EAAMxlD,MAAMygE,cAAc9iE,OACvDqN,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI0Y,UAAUkiC,EAAMxlD,MAAMygE,gBAAgB,OAAO71D,EAAI6C,KAC3K+3C,EAAMxlD,MAAM0gE,iBACZlb,EAAMxlD,MAAM0gE,gBAAgB/iE,OAC5BqN,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI0Y,UAAUkiC,EAAMxlD,MAAM0gE,kBAAkB,OAAO91D,EAAI6C,KAAM+3C,EAAMxlD,MAAiB,YAAEgL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGo6C,EAAMxlD,MAAM2/D,aAAa,OAAO/0D,EAAI6C,MAAM,IAAI,GAAG7C,EAAI6C,KAAoB,iBAAd+3C,EAAM3hD,KAAyBmH,EAAG,OAAO,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQs6C,EAAMxlD,MAAM47D,gBAAiBpW,EAAMxlD,MAAoB,eAAEgL,EAAG,OAAO,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAG,MAAMP,EAAIQ,IAAwC,KAAnCo6C,EAAMxlD,MAAM4jE,gBAAkB,IAAU5e,QAAQ,IAAI,OAAOh6C,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQs6C,EAAMxlD,MAAM6jE,uBAAuBj5D,EAAIO,GAAG,QAAQ,GAAGP,EAAI6C,KAAKzC,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBq+B,EAAMxlD,MAAMyiD,WAAY,wBAAyB,QAAQ,GAAG73C,EAAI6C,KAAoB,cAAd+3C,EAAM3hD,KAAsBmH,EAAG,OAAO,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQs6C,EAAMxlD,MAAM47D,gBAAgB5wD,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBq+B,EAAMxlD,MAAMyiD,WAAY,wBAAyB,QAAQ,GAAG73C,EAAI6C,MAAM,MAAK,IAAI,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAIvF,QAAa,MAAE2F,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,WAAW,CAACT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ02D,OAAO,OAAOnxD,EAAI6C,KAAM7C,EAAI23C,gBAAgB2rB,sBAAwBtjE,EAAIvF,QAAQmJ,aAAcxD,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,CAACL,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAIvF,QAAQmJ,iBAAiB,GAAG5D,EAAI6C,KAAM7C,EAAIvF,QAAuB,gBAAE2F,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sCAAsC,CAACT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ2L,iBAAiB,OAAOpG,EAAI6C,KAAM7C,EAAI23C,gBAAmC,oBAAEv3C,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,CAACL,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIvF,QAAQi6D,eAAe,aAAa10D,EAAIS,GAAG,eAAe,cAAcT,EAAIS,GAAG,kBAAkB,GAAGT,EAAI6C,KAAM7C,EAAa,UAAEI,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,CAACT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIujE,UAAU74D,QAAQ,OAAO1K,EAAI6C,KAAM7C,EAAIujE,WAAavjE,EAAIujE,UAAUx/D,QAAS3D,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,CAACL,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAIujE,UAAUx/D,YAAY,GAAG/D,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,cAAc,SAAWN,EAAIu9D,MAAM9mE,OAAO,IAAI,IAAI,IAC/6E,GAAkB,GCNlB,GAAS,WAAa,IAAIuJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIsyB,QAAQwnC,gBAAgB,OAAO15D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIsyB,QAAQynC,WAAW,OAAO35D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI0Y,UAAU1Y,EAAIsyB,QAAQzyB,UAAU,OAAOO,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qCAAqC,QAAQL,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAIsyB,QAAQ0nC,+BAA+B,GAAG55D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,QAAQL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIsyB,QAAQ2nC,iBAAiB,GAAG75D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIsyB,QAAQ4nC,cAAc,OAAQl6D,EAAIsyB,QAA2B,oBAAElyB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,gCAAgCT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI02B,cAAc12B,EAAIsyB,QAAQ8nC,sBAAsB,OAAOp6D,EAAI6C,MAAM,GAAG7C,EAAI6C,MAC7zC,GAAkB,GC0CP,UAAInB,OAAO,CACxBsG,MAAO,CACLsqB,QAAS,CACPr5B,KAAMjG,OACNgmB,SAAU,OAIdlX,SAAU,OAAF,UACH,eAAW,QAAS,CAAC,YAAa,qBCpDoZ,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACW,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAIsyB,UAAYtyB,EAAIsyB,QAAQgoC,SAAU,CAAC5kE,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC3F,EAAG,QAAQJ,EAAI4F,GAAG,CAACrE,YAAY,OAAOjB,MAAM,CAAC,MAAQ,SAAS,UAAU,KAAKyF,EAAUpF,IAAI,CAACX,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,UAAU,MAAM,KAAK,MAAMO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAUsG,EAAW,QAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,UAAYN,EAAIsyB,QAAQ7yB,UAAU,MAAQO,EAAIS,GAAG,uBAAuB,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIsyB,QAAe,QAAErxB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIsyB,QAAS,UAAWpxB,IAAMG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAIs6D,SAASp5D,GAAKG,WAAW,eAAe,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyBO,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI26D,aAA6B,kBAARz5D,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,mBAAmB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ,8BAA8B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIw6D,gBAAgBt5D,GAAKG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ,qBAAqB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIy6D,gBAAgBv5D,GAAKG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,kBAAkB,YAAYO,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAI06D,kBAAkBx5D,GAAKG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,IAAI,YAAY,GAAG,MAAQN,EAAIS,GAAG,yBAAyBO,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI46D,aAA6B,kBAAR15D,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,mBAAmB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,iBAAiB,SAAWN,EAAIvJ,OAAO,IAAI,GAAGuJ,EAAI6C,MAAM,IACxzF,GAAkB,GC6FP,UAAInB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAENhN,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEPmG,QAAS,EACTy6D,SAAU,OAAS76C,SACnBk7C,aAAc,GACdH,gBAAiB,EACjBC,gBAAiB,EACjBC,kBAAmBnrD,GACnBqrD,aAAc,KAGlB94D,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,aAAc,cAAe,mBAAiB,CACtEwwB,QADsE,aAEpE,OAAOryB,KAAKsyB,cAActyB,KAAKxJ,KAEjC+I,KAJsE,aAKpE,GAAIS,KAAKqyB,QACP,OAAOryB,KAAK0yB,WAAW1yB,KAAKqyB,QAAQvT,QAEtC,OAAO,MAET9E,MAVsE,aAWpE,GAAIha,KAAKqyB,QACP,OAAOryB,KAAK4a,YAAY5a,KAAKqyB,QAAQzyB,SAEvC,OAAO,QAGXoC,QAAS,CACP4D,MADO,aAEL5F,KAAKJ,QAAU,EACfI,KAAKq6D,SAAW,OAAS76C,SACrBxf,KAAKga,MACPha,KAAK06D,aAAL,UAAuB16D,KAAKga,MAAMtlB,KAAlC,YAA0CsL,KAAKga,MAAM5Q,SAErDpJ,KAAK06D,aAAe,GAGlB16D,KAAKqyB,QACPryB,KAAKy6D,kBAAoBz6D,KAAKqyB,QAAQ0nC,2BAEtC/5D,KAAKy6D,kBAAoB,EAG3Bz6D,KAAKu6D,gBAAkB,EACvBv6D,KAAKw6D,gBAAkB,EACvBx6D,KAAK26D,aAAe,IAEhB90D,KApBC,a,+KAqBe,MAAhB7F,KAAKqyB,S,iDAGTryB,KAAKvG,MAAQ,K,kBAGM,OAAM,GAASka,KAAK,2BAA4B,CAC/DrhB,KAAM,CACJkE,GAAIwJ,KAAKxJ,GACTgJ,UAAWQ,KAAKqyB,QAAQ7yB,UACxBsf,OAAQ9e,KAAKqyB,QAAQvT,OACrBu7C,SAAUr6D,KAAKq6D,SACfE,gBAAiBv6D,KAAKu6D,gBACtBD,eAAgBt6D,KAAKq6D,SACrBG,gBAAiBx6D,KAAKw6D,gBACtBC,kBAAmBz6D,KAAKy6D,kBACxBC,aAAc16D,KAAK06D,aACnBC,aAAc36D,KAAK26D,gB,OAXjB19D,E,OAgBA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAGrC4G,KAAK2I,OAAOnQ,OAAO,uBAAwByE,GAC3C+C,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV8lD,oBCzLgc,MCOhc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACz3D,QAAA,KAAKK,QAAA,KAAKE,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OC3BxD,IAAI,GAAS,WAAa,IAAI3T,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAKN,EAAI0F,GAAI1F,EAAqB,mBAAE,SAASwjE,EAAK/sE,GAAI,OAAO2J,EAAG,QAAQ,CAAC1K,IAAIe,GAAI,CAAC2J,EAAG,0BAA0B,CAACE,MAAM,CAAC,OAASkjE,GAAMl+D,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC3F,EAAG,SAASJ,EAAI4F,GAAG,GAAGG,EAAUpF,IAAI,CAACP,EAAG,cAAc,CAACmB,YAAY,gBAAgB,CAACnB,EAAG,MAAM,CAACmB,YAAY,iCAAiC,CAACnB,EAAG,uBAAuB,CAACE,MAAM,CAAC,QAAUkjE,MAAS,GAAGpjE,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQkjE,EAAK3nD,qBAAqB,IAAI,OAAO,KAAK,SAAS,MAAK,IAC7lB,GAAkB,GC8BP,UAAIna,OAAO,CACxBsG,MAAO,CACLsE,IAAK,CAAC/M,OAAQpG,OACd87D,QAAS,CAACjiE,OAAQmG,OAClBsG,UAAWF,OAEX21D,mBAAoBhtD,SAEtBpG,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CACrB,wBACA,iCACA,CACFmF,kBADE,aAEA,GAAIhH,KAAKqM,IAAK,CACZ,IAAMA,EAAM,IAAER,QAAQ,CAAC7L,KAAKqM,MAC5B,OAAO,IAAEhW,IAAIgW,EAAKrM,KAAKgd,uBAEzB,GAAIhd,KAAKg1D,QACP,OAAO,IAAEnpD,QAAQ,CAAC7L,KAAKg1D,UAEzB,GAAIh1D,KAAKR,UACP,OAAOQ,KAAKm1D,4BAA4Bn1D,KAAKR,YAAc,GAE7D,MAAO,MAGXwC,QAAS,CACPozD,UADO,WACGn2C,GACR,IAAMq2C,EAAKt1D,KAAKsc,sBAAsB2C,EAAG9C,OAAQ,sBACjD,OAAOm5C,GAETD,cALO,WAKOp2C,GACZ,IAAIjT,EAAMpO,EAAKxI,EAAE,qBAAqB0W,WACtC,GAAsB,IAAlBmT,EAAG5C,WAAkB,CACvB,IAAMi5C,EAAKt1D,KAAKsc,sBACd2C,EAAG5C,WACH,oBAEFrQ,EAAMA,EAAM,MAAQspD,EAChBr2C,EAAG1C,sBAAwB,IAC7BvQ,GAAY,KAAH,OAAQiT,EAAG1C,wBAEtBvQ,GAAY,KAEd,OAAOA,IAGX8H,WAAY,CACV6hD,wBACAp2C,8BClFua,MCOva,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACnd,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKE,QAAA,OCsVpC,cAAIjB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAGT8O,SAAU,OAAF,gFACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,2BACxB,eAAW,YAAa,CAAC,uBACzB,eAAS,QAAS,CACnB,mBACA,gBACA,wBAEC,eAAW,QAAS,CACrB,aACA,YACA,YACA,sBACA,mBACA,CAMF61C,gBANE,aAOA,GAAI13C,KAAKs9D,OAASt9D,KAAKs9D,MAAM9iE,SAAWwF,KAAKs9D,MAAM9iE,QAAQ0hB,OACzD,OAAO,IAAEsN,KAAKxpB,KAAKgjB,iBAAkB,CAAExsB,GAAIwJ,KAAKs9D,MAAM9iE,QAAQ0hB,SAEhE,OAAO,MAQT23B,OAlBE,aAkBI,WACJ,IAAK7zC,KAAK03C,gBACR,MAAO,GAGT,IAAM7D,EAAS7zC,KAAK03C,gBAAgB7D,QAAU,GAC9C,OAAOA,EAAOx9C,KAAI,SAACskD,GACjB,IAAM6oB,EAAM,IAAEh6C,KAAKiwB,GAAkB,CAAE/kD,KAAMimD,EAAM3hD,OAEnD,OAAOjG,OAAOyI,OAAO,GAAIm/C,EAAO,CAC9BxlD,MAAO,IAAEJ,IAAI,EAAKy/D,UAAW7Z,EAAMjmD,MACnCglD,WAAc,OAAH8pB,QAAG,IAAHA,OAAG,EAAHA,EAAK9pB,eAKtB8a,UAlCE,aAmCA,IAAKx0D,KAAKxF,QACR,MAAO,GAET,OAAOwF,KAAKxF,QAAQg6D,WAAa,IAGnCxvB,IAzCE,aA0CA,IAAKhlC,KAAKw0D,UACR,OAAO,KAET,GAAIx0D,KAAKw0D,UAAU2E,UACjB,OAAOn5D,KAAKw0D,UAAU2E,UAExB,GAAIn5D,KAAKw0D,UAAUiP,cACjB,OAAOzjE,KAAKw0D,UAAUiP,cAExB,OAAO,MAGTjpE,QAtDE,aAuDA,OAAOwF,KAAKs9D,MAAM9iE,SAGpB4oE,gBA1DE,aA2DA,IAAM5sE,EAAK,IAAEzB,IAAIiL,KAAM,sCAAuC,GAC9D,OAAOA,KAAKsyB,cAAc97B,IAG5B8sE,UA/DE,aAgEA,IAAKtjE,KAAKxF,QAAQk6D,YAChB,OAAO,KAET,OAAO10D,KAAK0yB,WAAW1yB,KAAKxF,QAAQk6D,gBAIxC1yD,QAAS,CAOP0hE,kBAPO,WAOW/oB,GAChB,QAA2BlgD,IAAvB,eAAOkgD,EAAMxlD,QAAuC,OAAhBwlD,EAAMxlD,MAC5C,OAAO,KAET,OAAO,QAIX2e,WAAY,CACVw7C,mBACAwC,kBACA6R,uBACAvR,sBACAwR,8BACAhS,mBACAiS,0BCje4a,MCO5a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACjrD,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,OAAOL,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI09D,aAAa,OAAOt9D,EAAG,OAAO,CAACmB,YAAY,aAAa,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIvF,QAAQ+0C,eAAepvC,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQg1C,MAAM,MAAM,IAAI,IAAI,GAAGrvC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI+jE,kBAAkB,UAAU,GAAG3jE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAAEN,EAAIvF,QAAa,MAAE2F,EAAG,OAAO,CAACmB,YAAY,mBAAmB,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,UAAU,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ02D,OAAO,OAAOnxD,EAAI6C,QAAQ,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAIu9D,MAAQ,GAAEn9D,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,UAAU,SAAWN,EAAIu9D,MAAM9mE,MAAMuJ,EAAI6C,MAAM,IAAI,IAAI,GAAG7C,EAAI6C,MAC1xC,GAAkB,GCkDP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,kBACnB,eAAW,QAAS,CAAC,mBAAiB,CACzCrH,QADyC,aAEvC,IAAKwF,KAAKs9D,MACR,OAAO,KAET,OAAOt9D,KAAKs9D,MAAM9iE,SAEpBijE,YAPyC,aAQvC,IAAKz9D,KAAKxF,QACR,OAAO,KAET,OAAOwF,KAAKsc,sBAAsBtc,KAAKxF,QAAQ0hB,OAAQlc,KAAKsjB,eAE9DwgD,iBAbyC,aAcvC,OAAO9jE,KAAKy2B,cAAcz2B,KAAKxF,QAAQg8B,kBCxE+X,MCOxa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC5d,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,OAAOL,EAAG,OAAO,CAACmB,YAAY,aAAa,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQiQ,QAAQ,QAAQ,IAAI,GAAGtK,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA6BT,EAAIvF,QAAQxB,OAAO,KAA2B,UAArB+G,EAAIvF,QAAQxB,KAAkBmH,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAIvF,QAAQgnB,QAASzhB,EAAIyiB,kBAAkB,MAAMriB,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4BT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIgkE,iBAAiB,OAAOhkE,EAAI6C,UAAU,GAAI7C,EAAIvF,QAAyB,kBAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,OAAOL,EAAG,sBAAsB,CAACE,MAAM,CAAC,QAAUN,EAAIvF,QAAQwM,sBAAsB,IAAI,GAAGjH,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAIvF,QAAe,SAAE,SAASwf,EAAMpnB,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAI,QAAU7C,EAAEyN,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBtC,EAAMM,YAAava,EAAI0jB,aAAa,OAAO1jB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGyZ,EAAMtlB,MAAM,IAAIqL,EAAIQ,GAAGyZ,EAAM5Q,SAAS,KAAM4Q,EAAe,UAAE7Z,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIgwD,SAAS,WAAY/1C,EAAMiN,UAAUn0B,SAAS,OAAOiN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIikE,sBAAsBhqD,EAAMiN,YAAY,OAAOlnB,EAAI6C,SAAUoX,EAAa,QAAE7Z,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqBL,EAAG,iBAAiB,CAACE,MAAM,CAAC,QAAU2Z,EAAMgN,YAAY,GAAGjnB,EAAI6C,MAAM,OAAM,GAAG7C,EAAI6C,MACh9D,GAAkB,GC6DP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,gFACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,kBACrB,eAAS,QAAS,CACnB,aACA,kBACA,eACA,mBAEC,eAAW,QAAS,CAAC,iBAAe,CACvCrH,QADuC,aAErC,OAAOwF,KAAKs9D,MAAM9iE,SAEpBupE,gBAJuC,aAIxB,WACb,OAAQ/jE,KAAKxF,QAAQinB,gBAAkB,IACpCprB,KAAI,SAACG,GACJ,OAAO,EAAK8lB,sBAAsB9lB,EAAI,EAAKgtB,iBAE5CxY,KAAK,SAGZhJ,QAAS,CACPgiE,sBADO,WACezpD,GAAc,WAClC,OAAO,IAAElkB,IAAIkkB,GAAgB,SAACg2C,GAC5B,IAAM77D,EAAO,EAAKm2B,aAAa0lC,EAAGjmC,YAC5BtxB,EAAO,EAAKsjB,sBAChBi0C,EAAGhmC,eACH,EAAKpI,eAEP,MAAO,GAAP,OAAUztB,EAAV,aAAmBsE,EAAnB,QACCgS,KAAK,QAGZ8I,WAAY,CACVg+C,kBACA+R,0BCtG2a,MCO3a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACjrD,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIvF,SAAWuF,EAAIia,MAAO7Z,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,MAAM,GAAGL,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAIvF,QAAQ8f,YAAava,EAAI0jB,aAAa,OAAOtjB,EAAG,OAAO,CAACmB,YAAY,aAAa,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI+Z,cAAc/Z,EAAIH,UAAU,KAAMG,EAAIia,MAAgB,WAAE7Z,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIia,MAAM9L,YAAY,OAAOnO,EAAI6C,QAAQ,IAAI,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAAEN,EAAIia,MAAgB,WAAE7Z,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIia,MAAMjL,YAAY,SAAShP,EAAI6C,KAAM7C,EAAIia,MAAiB,YAAE7Z,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIia,MAAM3L,aAAa,SAAStO,EAAI6C,KAAM7C,EAAIia,MAAkB,aAAE7Z,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIia,MAAM1L,cAAc,OAAOvO,EAAI6C,QAAQ,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAAEN,EAAIia,MAA0B,qBAAE7Z,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIyR,kBAAkBzR,EAAIia,MAAM1M,uBAAuB,SAASvN,EAAI6C,KAAM7C,EAAIia,MAA2B,sBAAE7Z,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIyR,kBAAkBzR,EAAIia,MAAM/O,wBAAwB,OAAOlL,EAAI6C,QAAQ,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAAEN,EAAIvF,QAAQysB,WAAalnB,EAAIvF,QAAQysB,UAAUn0B,OAAQqN,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuBT,EAAI0F,GAAI1F,EAAIvF,QAAiB,WAAE,SAASswB,GAAU,OAAO3qB,EAAG,uBAAuB,CAAC1K,IAAIq1B,EAASR,WAAWjqB,MAAM,CAAC,SAAWyqB,SAAe,GAAG/qB,EAAI6C,MAAM,IAAI,GAAG7C,EAAI6C,MACtrE,GAAkB,GCwEP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAGT8O,SAAU,OAAF,gFACH,eAAS,QAAS,CAAC,aAAc,mBACjC,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,gBAAiB,iBACtC,eAAS,UAAW,CAAC,aACrB,eAAW,YAAa,CAAC,uBAAqB,CAEjDrH,QAFiD,aAG/C,OAAOwF,KAAKs9D,MAAM9iE,SAGpBwf,MANiD,aAO/C,OAAOha,KAAK4a,YAAY5a,KAAKJ,UAG/BA,QAViD,aAW/C,IAAKI,KAAKs9D,MAAMO,gBACd,OAAO,EAET,OAAO,IAAEtlD,MAAMvY,KAAKs9D,MAAMO,gBAAgB13C,WAAa,KAI3DrS,WAAY,CACVoY,2BCtGkb,MCOlb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACtT,SAAA,KAAMpW,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,OC1B/C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,iBAAiBP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAIvF,QAAQ8f,YAAava,EAAI0jB,gBAAgBtjB,EAAG,OAAO,CAACmB,YAAY,aAAa,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAG,YAAYP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI+Z,cAAc/Z,EAAIH,UAAU,KAAMG,EAAIvF,QAAkB,WAAE2F,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ0T,YAAY,OAAOnO,EAAI6C,KAAM7C,EAAIvF,QAAe,QAAE2F,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAG,kBAAkBP,EAAI6C,QAAQ,IAAI,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAAEN,EAAIvF,QAAkB,WAAE2F,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQuU,YAAY,SAAShP,EAAI6C,KAAM7C,EAAIvF,QAAmB,YAAE2F,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ6T,aAAa,SAAStO,EAAI6C,KAAM7C,EAAIvF,QAAoB,aAAE2F,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ8T,cAAc,OAAOvO,EAAI6C,QAAQ,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIyR,kBAAkBzR,EAAIvF,QAAQ8S,uBAAuB,SAASnN,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIyR,kBAAkBzR,EAAIvF,QAAQyQ,wBAAwB,UAAU,GAAGlL,EAAI0F,GAAI1F,EAAIvF,QAAsB,gBAAE,SAASswB,EAASl4B,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAI,WAAa7C,EAAEyN,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAG,iBAAiBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI8qB,aAAaC,EAASR,aAAa,KAAKvqB,EAAIQ,GAAGR,EAAIuc,sBAAsBwO,EAASP,eAAgBxqB,EAAIoiB,gBAAgB,WAAW,OAAM,GAAGpiB,EAAI6C,MACthE,GAAkB,GCsEP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,gFACH,eAAS,QAAS,CAAC,aAAc,mBACjC,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,gBAAiB,kBACtC,eAAS,UAAW,CAAC,aACrB,eAAW,YAAa,CAAC,uBAAqB,CACjDrH,QADiD,aAE/C,OAAOwF,KAAKs9D,MAAM9iE,SAEpBoF,QAJiD,aAK/C,IAAKI,KAAKs9D,MAAMO,gBACd,OAAO,EAET,OAAO,IAAEtlD,MAAMvY,KAAKs9D,MAAMO,gBAAgB13C,WAAa,OCxFmX,MCO5a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACvN,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,MAAM,GAAGL,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQ,GAAG,GAAK,CAC9a3L,KAAM,cACN2K,OAAQ,CAAE7I,GAAIuJ,EAAIvF,QAAQypE,qBACxB,CAAClkE,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIvF,QAAQ0pE,0BAA0B,IAAI,IAAI,GAAGnkE,EAAI6C,MAC5E,GAAkB,GCsBP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,CACRrH,QADQ,aAEN,OAAOwF,KAAKs9D,MAAM9iE,UAGtBsZ,WAAY,CACVyL,8BCpCqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAC3G,SAAA,KAAMpW,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,OC1B/C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gCAAgC,OAAOL,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBvc,EAAIvF,QAAQ2pE,SAAU,uCAAwC,QAAQ,IAAI,GAAGhkE,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kCAAkC,CAACT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAGT,EAAIqkE,eAAe,OAAOjkE,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,+BAA+B,CAACL,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIvF,QAAQ6pE,4BAA4B,GAAItkE,EAAIvF,QAAqB,cAAE2F,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sCAAsC,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIvF,QAAQ8pE,kBAAkB,GAAGvkE,EAAI6C,MAAM,IAAI,IAAI,GAAG7C,EAAI6C,MAC/gC,GAAkB,GC6CP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CAEpDrH,QAFoD,aAGlD,OAAOwF,KAAKs9D,MAAM9iE,SAAW,IAO/B4pE,aAVoD,aAWlD,IAAMG,EAAM,IAAExvE,IAAIiL,KAAKxF,QAAS,sBAAuB,GACvD,GAAI+pE,EAAM,EACR,MAAO,yBACF,GAAIA,EAAM,EACf,MAAO,8BAGT,MAAO,8BCrE0a,MCOnb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC3rD,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,MAAM,IAAI,IAAI,GAAGL,EAAG,sBAAsB,CAACE,MAAM,CAAC,QAAUN,EAAIvF,YAAY,GAAGuF,EAAI6C,MACrc,GAAkB,GCkBP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,CACRrH,QADQ,aAEN,OAAOwF,KAAKs9D,MAAM9iE,UAGtBsZ,WAAY,CACV+vD,0BC7Bsb,MCOtb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACjrD,SAAA,KAAMpW,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,OC1B/C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,MAAM,GAAGT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIswB,UAAUtwB,EAAIvF,QAAQynC,UAAU,MAAOliC,EAAIvF,QAAmB,YAAE2F,EAAG,OAAO,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,cAAcP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,MAAM,GAAGT,EAAI6C,KAAM7C,EAAIvF,QAA2B,oBAAE2F,EAAG,OAAO,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,eAAeP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,MAAM,GAAGT,EAAI6C,MAAM,IAAI,IAAI,GAAG7C,EAAI6C,MAC5yB,GAAkB,GCyBP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,eAAa,CACrCrH,QADqC,aAEnC,OAAOwF,KAAKs9D,MAAM9iE,aCjC0Z,MCO9a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACoe,SAAA,KAAMpW,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,OC1B/C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ+2D,YAAcxxD,EAAIS,GAAG,+BAAiCT,EAAIS,GAAG,kCAAkC,QAAQ,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAAEN,EAAIvF,SAAWuF,EAAIvF,QAAQs2D,iBAAkB3wD,EAAG,+BAA+B,CAACE,MAAM,CAAC,UAAYN,EAAIvF,WAAWuF,EAAI6C,MAAM,IAAI,IAAI,GAAG7C,EAAI6C,MACvlB,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAa,UAAEI,EAAG,MAAM,CAAGJ,EAAI4wD,UAAUlJ,gBAA4K1nD,EAAI6C,KAA/JzC,EAAG,OAAO,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBvc,EAAI4wD,UAAUG,iBAAkB,0BAA2B,OAAiB/wD,EAAI4wD,UAAyB,gBAAExwD,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBvc,EAAI4wD,UAAUG,iBAAkB,0BAA2B,OAAO/wD,EAAI6C,KAAM7C,EAAI4wD,UAAUM,mBAAyB,OAAE9wD,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIkd,oBAAoBld,EAAI4wD,UAAUM,qBAAqB,OAAOlxD,EAAI6C,KAAM7C,EAAI4wD,UAAsB,aAAExwD,EAAG,OAAO,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAI4wD,UAAUI,iBAAiB,GAAGhxD,EAAI6C,KAAM7C,EAAI4wD,UAAyB,gBAAExwD,EAAG,OAAO,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAI4wD,UAAUK,oBAAoB,GAAGjxD,EAAI6C,KAAM7C,EAAI4wD,UAAe,MAAExwD,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI4wD,UAAUO,OAAO,OAAOnxD,EAAI6C,OAAO7C,EAAI6C,MACx7B,GAAkB,GCsCP,UAAInB,OAAO,CACxBsG,MAAO,CACL4oD,UAAW,CACT33D,KAAMjG,OACNgmB,SAAU,OAGdlX,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,0BACrB,eAAW,QAAS,CAAC,yBAAuB,CAC/C2lD,eAD+C,aAE7C,IAAKxnD,KAAK2wD,UACR,OAAO,KAET,OAAO3wD,KAAK2rC,qBAAqB3rC,KAAK2wD,UAAUG,uBCtD8X,MCOhb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QCYA,UAAIrvD,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,oBACxB,eAAW,QAAS,CAAC,0BACrB,eAAS,QAAS,CAAC,sBAAoB,CAC1CrH,QAD0C,aAExC,OAAOwF,KAAKs9D,MAAM9iE,WAGtBsZ,WAAY,CACV0wD,mCC3Cyb,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC5rD,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,OAAQT,EAAIvF,QAAkB,WAAE2F,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOT,EAAI6C,KAAM7C,EAAIvF,QAAkB,WAAE2F,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,OAAOT,EAAI6C,MAAM,IAAI,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIiK,YAAYjK,EAAIvF,QAAQsP,YAAY,OAAO3J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAIvF,QAAW,IAAE2F,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQT,EAAI6C,KAAK7C,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQiqE,KAAK,KAAM1kE,EAAIvF,QAAW,IAAE2F,EAAG,SAAS,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQT,EAAI6C,KAAK7C,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQkqE,KAAK,OAAOvkE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI4kE,aAAa5kE,EAAIvF,QAAQslD,oBAAoB,QAAQ,GAAG3/C,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,QAAQL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAI6kE,oBAAoB,IAAI,IAAI,GAAG7kE,EAAI6C,MAC3+C,GAAkB,GC4CP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,sCACH,eAAW,UAAW,CAAC,eAAgB,cACvC,eAAW,UAAW,CAAC,iBAAe,CACzCrH,QADyC,aAEvC,OAAOwF,KAAKs9D,MAAM9iE,SAEpBoqE,gBAJyC,aAKvC,IAAMC,EAAoB,KAAO7kE,KAAKxF,QAAQsqE,YAC3CC,IAAI/kE,KAAKxF,QAAQwqE,4BAA6B,SAC9CxlD,SACH,OAAOqlD,OC3DwZ,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACjsD,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,gCAAiCP,EAAIklE,cAAoB,OAAE9kE,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIklE,cAAcj6D,KAAK,OAAO,OAAOjL,EAAI6C,KAAKzC,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAIvF,QAAQ0qE,eAAgB,wBAAwB,OAAO/kE,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,YAAY,KAAO,KAAK,CAACN,EAAIO,GAAG,WAAYP,EAAIvF,QAAU,GAAE2F,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,YAAY,KAAO,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,OAAO,KAAKT,EAAIQ,GAAGR,EAAIvF,QAAQhE,IAAI,OAAOuJ,EAAI6C,MAAM,IAAI,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAAEN,EAAIvF,QAAkB,WAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ4hC,YAAY,OAAOr8B,EAAI6C,KAAM7C,EAAIvF,QAAQwsB,SAAWjnB,EAAIvF,QAAQwsB,QAAQl0B,OAAQqN,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAON,EAAI0F,GAAI1F,EAAIvF,QAAe,SAAE,SAASmtB,EAAO/0B,GAAG,OAAOuN,EAAG,MAAM,CAAC1K,IAAI7C,GAAG,CAACuN,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQL,EAAG,aAAa,CAACE,MAAM,CAAC,OAASsnB,MAAW,MAAK,GAAG5nB,EAAI6C,KAAM7C,EAAIvF,QAAwB,iBAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACA,EAAG,MAAM,CAACJ,EAAIO,GAAG,wBAAwBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ2qE,kBAAkB,OAAOplE,EAAI6C,KAAM7C,EAAiB,cAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIqlE,eAAe,OAAOrlE,EAAI6C,KAAM7C,EAAIvF,QAAgB,SAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ6qE,UAAU,OAAOtlE,EAAI6C,KAAM7C,EAAIvF,QAAgB,SAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQL,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAIvF,QAAQ8qE,aAAa,GAAGvlE,EAAI6C,KAAM7C,EAAIvF,QAAkB,WAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,QAAQL,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAIvF,QAAQojC,eAAe,GAAG79B,EAAI6C,KAAM7C,EAAIvF,QAAgB,SAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,QAAQL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIvF,QAAQ+qE,aAAa,GAAGxlE,EAAI6C,KAAM7C,EAAIvF,QAAuB,gBAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQgrE,iBAAiB,OAAOzlE,EAAI6C,KAAM7C,EAAIvF,QAAe,QAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,UAAU,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQoyD,SAAS,OAAO7sD,EAAI6C,MAAM,IAAI,GAAG7C,EAAI6C,MACn0F,GAAkB,GCwFP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAGT8O,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,2BAAyB,CAEpDrH,QAFoD,aAGlD,OAAO,IAAEzF,IAAIiL,KAAM,gBAAiB,KAGtColE,cANoD,aAOlD,IAAKplE,KAAKxF,UAAYwF,KAAKxF,QAAQirE,QACjC,MAAO,GAET,IAAMC,EAAOpE,GAActhE,KAAKxF,QAAQirE,SACxC,IAAKC,EACH,OAAO1lE,KAAKxF,QAAQirE,QAEtB,OAAOC,EAAK1lE,KAAK1D,SAGnB2oE,cAjBoD,aAiBvC,WACX,IAAKjlE,KAAKxF,UAAYwF,KAAKxF,QAAQmrE,OACjC,MAAO,GAET,IAAMnjC,EAAQxiC,KAAKxF,QAAQmrE,OAAO75D,WAAW6wB,MAAM,KACnD,OAAO,IAAEh+B,MAAM6jC,GACZnsC,KAAI,SAACjB,GACJ,IAAM4D,EAAOgmE,GAA2B5pE,GACxC,OAAI4D,EACKA,EAAK,EAAKsD,QAEV+vB,GAAS,EAAK/vB,WAGxBnH,WAIP2e,WAAY,CACV+uC,iBCpIob,MCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACjqC,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,mCAAoCP,EAAgB,aAAEI,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI6lE,cAAc,OAAO7lE,EAAI6C,KAAKzC,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAIvF,QAAQ0qE,eAAgB,wBAAwB,OAAO/kE,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,YAAY,KAAO,KAAK,CAACN,EAAIO,GAAG,WAAYP,EAAIvF,QAAU,GAAE2F,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,YAAY,KAAO,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,OAAO,KAAKT,EAAIQ,GAAGR,EAAIvF,QAAQhE,IAAI,OAAOuJ,EAAI6C,MAAM,IAAI,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAAEN,EAAIvF,QAAkB,WAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ4hC,YAAY,OAAOr8B,EAAI6C,KAAM7C,EAAIvF,QAAQwsB,SAAWjnB,EAAIvF,QAAQwsB,QAAQl0B,OAAQqN,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAON,EAAI0F,GAAI1F,EAAIvF,QAAe,SAAE,SAASmtB,EAAO/0B,GAAG,OAAOuN,EAAG,MAAM,CAAC1K,IAAI7C,GAAG,CAACuN,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQL,EAAG,aAAa,CAACE,MAAM,CAAC,OAASsnB,MAAW,MAAK,GAAG5nB,EAAI6C,KAAM7C,EAAIvF,QAAwB,iBAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ2qE,kBAAkB,OAAOplE,EAAI6C,KAAM7C,EAAIvF,QAAgB,SAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ6qE,UAAU,OAAOtlE,EAAI6C,KAAM7C,EAAIvF,QAAgB,SAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQL,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAIvF,QAAQ8qE,aAAa,GAAGvlE,EAAI6C,KAAM7C,EAAIvF,QAAkB,WAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,QAAQL,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAIvF,QAAQojC,eAAe,GAAG79B,EAAI6C,KAAM7C,EAAIvF,QAAgB,SAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,QAAQL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIvF,QAAQ+qE,aAAa,GAAGxlE,EAAI6C,KAAM7C,EAAIvF,QAAmB,YAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQqrE,aAAa,OAAO9lE,EAAI6C,KAAM7C,EAAIvF,QAAuB,gBAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQgrE,iBAAiB,OAAOzlE,EAAI6C,KAAM7C,EAAiB,cAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIqlE,eAAe,OAAOrlE,EAAI6C,KAAM7C,EAAIvF,QAAe,QAAE2F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,UAAU,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQoyD,SAAS,OAAO7sD,EAAI6C,MAAM,IAAI,GAAG7C,EAAI6C,MAC7/F,GAAkB,GC6FP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAGT8O,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,2BAAyB,CAEpDrH,QAFoD,aAGlD,OAAO,IAAEzF,IAAIiL,KAAM,gBAAiB,KAGtColE,cANoD,aAOlD,IAAKplE,KAAKxF,UAAYwF,KAAKxF,QAAQirE,QACjC,MAAO,GAET,IAAMC,EAAOpE,GAActhE,KAAKxF,QAAQirE,SACxC,IAAKC,EACH,OAAO1lE,KAAKxF,QAAQirE,QAEtB,OAAOC,EAAK1lE,KAAK1D,SAGnBspE,aAjBoD,aAkBlD,IAAMD,EAAS,IAAE5wE,IAAIiL,KAAM,iBAAkB,MAC7C,IAAK2lE,EACH,MAAO,GAET,IAAMG,EAA4B,IAAE/wE,IAClCiqE,GACA2G,EACAt5C,IAEF,GAAIy5C,EACF,OAAOA,EAAQ9lE,KAAK1D,QAEtB,MAAO,MAIXwX,WAAY,CACV+uC,iBCxIub,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACjqC,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,QAAQ,IAAI,GAAGL,EAAG,uBAAuB,CAACE,MAAM,CAAC,QAAUN,EAAIsyB,WAAWlyB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,iBAAiB,SAAWN,EAAIsyB,QAAQ77B,OAAO,IAAI,IAAI,GAAGuJ,EAAI6C,MAC3iB,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,QAAQL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIsyB,QAAQgoC,aAAa,GAAGl6D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIsyB,QAAQwnC,gBAAgB,OAAO15D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIsyB,QAAQynC,WAAW,OAAO35D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI0Y,UAAU1Y,EAAIsyB,QAAQzyB,UAAU,OAAOO,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,QAAQL,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAIsyB,QAAQooC,sBAAsB,GAAGt6D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBvc,EAAIsyB,QAAQkoC,gBAAiB,gCAAiC,OAAOp6D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIsyB,QAAQqoC,cAAc,OAAOv6D,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAIsyB,QAAQmoC,gBAAiB,uBAAuB,OAAQz6D,EAAIsyB,QAAoB,aAAElyB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,UAAU,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIsyB,QAAQsoC,cAAc,OAAO56D,EAAI6C,MAAM,GAAG7C,EAAI6C,MACxpD,GAAkB,GCyDP,UAAInB,OAAO,CACxBsG,MAAO,CACLsqB,QAAS,CACPr5B,KAAMjG,OACNgmB,SAAU,OAIdlX,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,iBCpEka,MCO1b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACW,QAAA,KAAKE,QAAA,OCKpB,cAAIjB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAGT8O,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,mBAAiB,CAEzCwwB,QAFyC,aAGvC,IAAM77B,EAAK,IAAEzB,IAAIiL,KAAM,sCAAuC,GAC9D,OAAOA,KAAKsyB,cAAc97B,MAI9Bsd,WAAY,CACViyD,2BC5Cqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACntD,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIswB,UAAUtwB,EAAIvF,QAAQynC,UAAU,KAAKliC,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,KAAKT,EAAIQ,GAAGR,EAAIuc,sBAAuBvc,EAAIvF,QAAQwrE,qBAAsBjmE,EAAIwjB,sBAAuB,MAAM,IAAI,IAAI,GAAGxjB,EAAI6C,MACtgB,GAAkB,GCsBP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,oDACH,eAAW,QAAS,CAAC,eACrB,eAAS,QAAS,CAAC,yBACnB,eAAW,WAAY,CAAC,2BAAyB,CACpDrH,QADoD,aAElD,OAAOwF,KAAKs9D,MAAM9iE,aChC0Z,MCO9a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACoe,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,gBAAgBP,EAAIQ,GAAGR,EAAI09D,aAAa,IAAI19D,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAOL,EAAG,OAAO,CAACmB,YAAY,aAAa,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAG,kBAAkBP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIvF,QAAQ+0C,eAAepvC,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQg1C,MAAM,MAAM,IAAI,IAAI,GAAGrvC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI02B,cAAc12B,EAAIvF,QAAQg8B,cAAc,UAAU,GAAGr2B,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAAEN,EAAIvF,QAAa,MAAE2F,EAAG,OAAO,CAACmB,YAAY,mBAAmB,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,UAAU,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ02D,OAAO,OAAOnxD,EAAI6C,QAAQ,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAIu9D,MAAQ,GAAEn9D,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,UAAU,SAAWN,EAAIu9D,MAAM9mE,MAAMuJ,EAAI6C,MAAM,IAAI,IAAI,GAAG7C,EAAI6C,MAC7wC,GAAkB,GCoDP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,gBAAiB,mBACtC,eAAS,QAAS,CAAC,kBAAgB,CACtCrH,QADsC,aAEpC,IAAKwF,KAAKs9D,MACR,OAAO,KAET,OAAOt9D,KAAKs9D,MAAM9iE,SAEpBijE,YAPsC,aAQpC,IAAKz9D,KAAK6uB,QACR,OAAO,KAET,OAAO7uB,KAAKsc,sBAAsBtc,KAAK6uB,QAAQ3S,OAAQlc,KAAKsjB,eAE9Ds6C,UAbsC,aAcpC,IAAK59D,KAAKs9D,MAAMO,gBACd,MAAO,GAET,OAAO,IAAEtlD,MAAMvY,KAAKs9D,MAAMO,gBAAgBC,aAAe,IAE3DjvC,QAnBsC,aAoBpC,IAAK7uB,KAAK49D,UACR,OAAO,KAET,OAAO59D,KAAKkvB,cAAclvB,KAAK49D,gBCnFiZ,MCOlb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAChlD,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,MAAM,GAAGT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIswB,UAAUtwB,EAAIvF,QAAQynC,UAAU,KAAK9hC,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,eAAe,IAAI,IAAI,GAAGP,EAAI6C,MAClf,GAAkB,GCmBP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,cAAe,eAAa,CACpDrH,QADoD,aAElD,OAAOwF,KAAKs9D,MAAM9iE,SAEpBw1B,MAJoD,aAKlD,OAAOhwB,KAAKmwB,YAAYnwB,KAAKxF,QAAQynC,cC/BgY,MCOva,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACrpB,SAAA,KAAMpW,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,OC1B/C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIvF,SAAWuF,EAAIia,MAAO7Z,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIgwD,SAAS,WAAYhwD,EAAIvF,QAAQysB,UAAUn0B,SAAS,MAAM,GAAGqN,EAAG,OAAO,CAACmB,YAAY,aAAa,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI+Z,cAAc/Z,EAAIH,UAAU,QAAQ,IAAI,GAAGO,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAON,EAAI0F,GAAI1F,EAAIvF,QAAiB,WAAE,SAASswB,GAAU,OAAO3qB,EAAG,uBAAuB,CAAC1K,IAAIq1B,EAASR,WAAWjqB,MAAM,CAAC,SAAWyqB,QAAc,IAAI,IAAI,GAAG/qB,EAAI6C,MAC9xB,GAAkB,GCkCP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAGT8O,SAAU,OAAF,gFACH,eAAS,QAAS,CAAC,aAAc,mBACjC,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,gBAAiB,iBACtC,eAAS,UAAW,CAAC,aACrB,eAAW,YAAa,CAAC,uBAAqB,CAEjDrH,QAFiD,aAG/C,OAAOwF,KAAKs9D,MAAM9iE,SAGpBwf,MANiD,aAO/C,OAAOha,KAAK4a,YAAY5a,KAAKJ,UAG/BA,QAViD,aAW/C,OAAOI,KAAKxF,QAAQoF,WAIxBkU,WAAY,CACVoY,2BC7Dqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACtT,SAAA,KAAMpW,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,OC1B/C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,qBAAqBH,EAAG,OAAO,CAACmB,YAAY,aAAa,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAG,YAAYP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI+Z,cAAc/Z,EAAIvF,QAAQhE,KAAK,KAAKuJ,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAIvF,QAAQ8f,YAAata,KAAKyjB,aAAa,MAAO1jB,EAAIvF,QAAkB,WAAE2F,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQT,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIvF,QAAQ0T,YAAY,OAAOnO,EAAI6C,QAAQ,IAAI,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAAEN,EAAIvF,QAAkB,WAAE2F,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQuU,YAAY,SAAShP,EAAI6C,KAAM7C,EAAIvF,QAAmB,YAAE2F,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ6T,aAAa,SAAStO,EAAI6C,KAAM7C,EAAIvF,QAAoB,aAAE2F,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIvF,QAAQ8T,cAAc,OAAOvO,EAAI6C,QAAQ,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIyR,kBAAkBzR,EAAIvF,QAAQ8S,uBAAuB,SAASnN,EAAG,OAAO,CAACA,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIyR,kBAAkBzR,EAAIvF,QAAQyQ,wBAAwB,UAAU,IAAI,GAAGlL,EAAI6C,MACjmD,GAAkB,GCiDP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,kEACH,eAAW,WAAY,CAAC,2BACxB,eAAW,YAAa,CAAC,uBACzB,eAAW,QAAS,CAAC,mBACrB,eAAS,QAAS,CAAC,gBAAc,CACpCrH,QADoC,aAElC,OAAOwF,KAAKs9D,MAAM9iE,aC5DwZ,MCO5a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACoe,SAAA,KAAMpW,QAAA,KAAKE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAmB,gBAAEI,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAAGN,EAAIvF,QAAQggB,UAAmFza,EAAI6C,KAA5EzC,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,mBAA6BP,EAAIvF,QAAiB,UAAE2F,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,kBAAkBP,EAAI6C,KAAK7C,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,MAAM,GAAIT,EAAIvF,QAAiB,UAAE2F,EAAG,uBAAuB,CAACE,MAAM,CAAC,QAAUN,EAAIvF,WAAWuF,EAAI6C,MAAM,IAAI,GAAK7C,EAAIvF,QAAQggB,UAAqEza,EAAI6C,KAA9DzC,EAAG,sBAAsB,CAACE,MAAM,CAAC,QAAUN,EAAIvF,YAAqB,GAAGuF,EAAI6C,MAChvB,GAAkB,GCyBP,UAAInB,OAAO,CACxBsG,MAAO,CACLu1D,MAAOvqE,QAET8O,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,2BAAyB,CACjDrH,QADiD,aAE/C,OAAOwF,KAAKs9D,MAAM9iE,SAEpB4iB,kBAJiD,aAK/C,IAAKpd,KAAKs9D,MAAMO,gBACd,MAAO,GAET,OAAO,IAAEtlD,MAAMvY,KAAKs9D,MAAMO,gBAAgB5M,qBAAuB,IAEnEj1C,gBAViD,aAW/C,IAAKhc,KAAKod,kBACR,OAAO,KAET,OAAOpd,KAAKgd,sBAAsBhd,KAAKod,sBAG3CtJ,WAAY,CACV+vD,uBACAlO,2BClDsb,MCOtb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAC/8C,SAAA,KAAMpW,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,OC0B/C,sBAOA,OACA,cAEA,KAVA,aAWA,OACA,oBAGA,UACA,cADA,aAEA,6DACA,sCAEA,6BAGA,YACA,sBACA,gBAGA,+BACA,2BACA,8BACA,8BACA,8BACA,sBACA,qBACA,0BACA,4BACA,4BACA,wBACA,2BACA,kCACA,4BACA,qCACA,mCACA,sCACA,8BACA,yCACA,iBACA,oCACA,uCACA,qCACA,8BACA,kCACA,uBACA,qCACA,4BACA,yCC5GuX,MCOnX,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QCUA,UAAIjB,OAAO,CACxBsG,MAAO,CACLirB,OAAQ95B,OAEV2I,SAAU,CAIRvE,QAJQ,aAKN,MAAO,CACL,CACEmL,KAAMzI,KAAKiZ,MAAM7jB,EAAE,oBACnBD,MAAO,cACP2hB,MAAO,QACP+D,SAAU,MAEZ,CACEpS,KAAMzI,KAAKiZ,MAAM7jB,EAAE,WACnBD,MAAO,GACP0lB,SAAU,UAKlB/G,WAAY,CACVmyD,0BCrDoa,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACnuD,cAAA,OCMf,cAAIrW,OAAO,CACxBsG,MAAO,CACL+W,OAAQxf,OACRE,UAAWF,OACX4mE,WAAYj+D,SAEd3V,KANwB,aAOtB,MAAO,CACLoX,QAAS,QAGbvB,QAXwB,aAYtBnI,KAAKoI,aAEPtG,MAAO,CACLgd,OADK,WACE9S,GACLhM,KAAKoI,cAGTvG,SAAU,OAAF,sCACH,eAAW,QAAS,CAAC,yBACrB,eAAS,QAAS,CAAC,mBAAoB,kBAAgB,CAC1DmxB,OAD0D,aAExD,OAAOhzB,KAAK6zB,oBAAoB7zB,KAAK8e,WAGzC9c,QAAS,CACDoG,UADC,a,kKAELpI,KAAK0J,QAAU,K,SACf,OAAM1J,KAAK2I,OAAOlQ,SAAS,kCAAmC,CAC5DqmB,OAAQ9e,KAAK8e,OACb/L,MAAO,Q,OAET/S,KAAK0J,QAAU,M,kDAGnBoK,WAAY,CACVqyD,oBACAC,yBCnE8Z,MCO9Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAChkE,SAAA,KAAME,UAAA,QAAU0C,YAAA,KAASC,cAAA,UC1BvD,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIsmE,YAAkB,OAAElmE,EAAG,SAAS,CAACE,MAAM,CAAC,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,KAAK,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,OAAOL,EAAG,YAAaJ,EAAmB,gBAAEI,EAAG,WAAW,CAACE,MAAM,CAAC,eAAe,GAAG,MAAQN,EAAIS,GAAG,qBAAqBO,MAAM,CAAC5L,MAAO4K,EAAoB,iBAAEiB,SAAS,SAAUC,GAAMlB,EAAIumE,iBAAiBrlE,GAAKG,WAAW,sBAAsBrB,EAAI6C,MAAM,GAAGzC,EAAG,cAAcJ,EAAI0F,GAAI1F,EAAY,UAAE,SAAS8uB,GAAS,OAAO1uB,EAAG,QAAQ,CAAC1K,IAAIo5B,EAAQr4B,GAAGoU,MAAM,CAAE,iBAAkB7K,EAAIwmE,OAAO13C,IAAWxuB,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQwuB,EAAQ0gB,gBAAgB,GAAGpvC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAGP,EAAIQ,GAAGsuB,EAAQ2gB,SAASrvC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBuS,EAAQ3S,OAAQnc,EAAIujB,eAAe,OAAOnjB,EAAG,QAAQ,CAACmB,YAAY,eAAejB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI02B,cAAc5H,EAAQ2H,cAAc,OAAOr2B,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,UAAYwuB,EAAQr4B,OAAO,GAAG2J,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAUN,EAAIS,GAAG,kBAAqB,IAAOT,EAAIS,GAAG,oBAAsB,IAAMT,EAAIS,GAAG,kBAAkB,GAAKT,EAAIS,GAAG,mBAAmB,KAAO,IAAIE,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAIymC,OAAO3X,MAAY,CAAC1uB,EAAG,SAAS,CAACJ,EAAIO,GAAG,YAAYH,EAAG,MAAM,CAACE,MAAM,CAAC,KAAO,QAAQmmE,KAAK,QAAQ,CAACrmE,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAIuc,sBAAsBuS,EAAQ3S,OAAQnc,EAAIujB,iBAAiBnjB,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,kBAAkB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQwuB,EAAQ0gB,gBAAgB,GAAGpvC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,gBAAgB,MAAQquB,EAAQ2gB,QAAQrvC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAI02B,cAAc5H,EAAQ2H,gBAAgBr2B,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,SAAS,MAAQquB,EAAQqiC,UAAU,GAAG/wD,EAAG,aAAaA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACA,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,MAAQ,4BAA4B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAI29D,qBAAqBz8D,GAAKG,WAAW,0BAA0BjB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6B,KAAO,KAAKO,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAI49D,kBAAkB18D,GAAKG,WAAW,wBAAwB,IAAI,IAAI,IAAI,IAAI,IAAI,MAAK,GAAKrB,EAAIqvB,SAASt8B,OAA2MiN,EAAI6C,KAAvMzC,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,qDAAqDjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,QAAQ,IAAI,IAAa,GAAGT,EAAI6C,MACl/F,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,uBAAuBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACnQ,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAKK,GAAI,CAACP,EAAG,SAAS,CAACJ,EAAIO,GAAG,WAAW,QAAQS,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIwvC,YAAYtuC,GAAKG,WAAW,kBAAkB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,SAAS,CAACM,IAAI,OAAOJ,MAAM,CAAC,yBAAyB,MAAM,cAAc,GAAG,eAAeN,EAAIyvC,KAAK,WAAa,mBAAmB,WAAW,GAAG,YAAY,QAAQ,YAAY,SAAS9uC,GAAG,CAAC,qBAAqB,SAASC,GAAQZ,EAAIyvC,KAAK7uC,GAAQ,sBAAsB,SAASA,GAAQZ,EAAIyvC,KAAK7uC,IAAS0E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAC95B,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,eAAeJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,eAAe,cAAc,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAIyvC,KAAKvuC,GAAKG,WAAW,SAASV,UAAW,CAACP,EAAG,gBAAgB,CAACE,MAAM,CAAC,aAAa,GAAG,OAAS,OAAO,MAAQ,WAAWK,GAAG,CAAC,eAAe,SAASC,GAAQ,OAAOZ,EAAI4B,MAAMu6D,KAAKr2D,KAAK9F,EAAIyvC,QAAQzuC,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAIyvC,KAAKvuC,GAAKG,WAAW,WAAW,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,QAAUN,EAAIR,KAAKuE,SAAS/C,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIy2B,YAAYv1B,GAAKG,WAAW,kBAAkB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,SAAS,KAAO,KAAKO,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAImxD,MAAsB,kBAARjwD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,YAAY,IAAI,IAAI,IAC13B,GAAkB,GCyEP,UAAIK,OAAO,CACxBsG,MAAO,CACL61D,UAAW,CACT7kD,SAAU,KACV/f,KAAMsG,SAIVhN,KARwB,aAStB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAGPqlB,OAAQ,EACRywB,YAAa,GACbC,KAAM,GACNhZ,YAAa,EACb06B,MAAO,KAIXrvD,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,aAAc,mBAAiB,CAEvDgtB,QAFuD,aAGrD,OAAO7uB,KAAKkvB,cAAclvB,KAAK49D,YAGjCr+D,KANuD,aAOrD,OAAOS,KAAK0yB,WAAW1yB,KAAK6uB,QAAQ/P,WAIxC9c,QAAS,CAKP4D,MALO,aAML,GAAI5F,KAAK6uB,QAAS,CAChB7uB,KAAK8e,OAAS9e,KAAK6uB,QAAQ/P,OAC3B9e,KAAKuvC,YAAcvvC,KAAK6uB,QAAQ0gB,YAAYmb,OAAO,EAAG,IACtD1qD,KAAKwvC,KAAOxvC,KAAK6uB,QAAQ2gB,KACzBxvC,KAAKw2B,YAAcx2B,KAAK6uB,QAAQ2H,YAChCx2B,KAAKkxD,MAAQlxD,KAAK6uB,QAAQqiC,QAQxBrrD,KAnBC,a,0KAoBL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAASka,KAAK,sBAAuB,CAC1DrhB,KAAM,CACJsrE,UAAW59D,KAAK49D,UAChB9+C,OAAQ9e,KAAK8e,OACbywB,YAAavvC,KAAKuvC,YAClBC,KAAMxvC,KAAKwvC,KACXhZ,YAAax2B,KAAKw2B,YAClB06B,MAAOlxD,KAAKkxD,S,OAPVj0D,E,OAYA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAGrC4G,KAAK2I,OAAOnQ,OAAO,uBAAwByE,GAG3C+C,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACVoxB,wBClK6b,MCO7b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAAC/iC,QAAA,KAAKK,QAAA,KAAKiS,SAAA,KAAMomD,SAAA,KAAMn4D,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,KAAUonD,eAAA,OC0F/D,cAAIr5D,OAAO,CACxBsG,MAAO,CACL+W,OAAQxf,QAEVhN,KAJwB,aAKtB,MAAO,CACLorE,qBAAsB,EACtBC,kBAAmB,GACnB8I,cAAe,GACf/8D,QAAS,MACT48D,iBAAkB,QAGtBzkE,SAAU,OAAF,oDACH,eAAW,QAAS,CAAC,kBAAmB,aAAc,mBACtD,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,kBAAgB,CAKtCwkE,YALsC,aAMpC,IAAIj3C,EAAW,GAEbA,EADEpvB,KAAK8e,OACI9e,KAAKgvB,gBAAgBhvB,KAAK8e,QAE1B9e,KAAKymE,cAGlBr3C,EAAW,IAAExwB,OAAOwwB,GAAU,SAACpW,GAAD,OAAQA,EAAEy2B,eACxC,OAAO,IAAE5wC,OAAOuwB,GAAU,SAACpW,GAAD,OAAOA,EAAEu2B,gBAOrCngB,SArBsC,aAqB9B,WACFA,EAAWpvB,KAAKqmE,YAGfrmE,KAAKsmE,mBACRl3C,EAAWA,EAASxwB,QAAO,SAACiwB,GAAD,OAAa,EAAK63C,WAAW73C,OAG1D,OAAOO,GAMTu3C,gBAnCsC,aAmCvB,WACPC,EAAe5mE,KAAKqmE,YAAYznE,QAAO,SAACiwB,GAAD,OAC3C,EAAK03C,OAAO13C,MAEd,OAAO+3C,EAAa9zE,OAAS,KAGjCkP,QAAS,CACP0kE,WADO,WACI73C,GACT,OAAOA,EAAQ0gB,aAAe,OAAS/vB,UAEzC+mD,OAJO,WAIA13C,GACL,OAAQ7uB,KAAK0mE,WAAW73C,IAEpB2X,OAPC,WAOM3X,G,mLACM,OAAM,GAASlb,KAAT,kBAAiC,CACtDrhB,KAAM,CACJsrE,UAAW/uC,EAAQr4B,GACnBsoB,OAAQ+P,EAAQ/P,OAChB4+C,qBAAsB19D,KAAK09D,qBAC3BC,kBAAmB39D,KAAK29D,qB,OALtB1gE,E,OAQA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,uBAAwByE,G,kDAG/C6W,WAAY,CACV+yD,8BCxMyb,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAehC,KAAkB,GAAW,CAACzkE,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKsC,YAAA,KAAS2P,SAAA,KAAM/R,QAAA,KAAKqC,WAAA,KAAQugC,WAAA,KAAQ5xB,aAAA,KAAU1O,YAAA,KAASC,cAAA,UCjC1G,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,uBAAuB,CAACE,MAAM,CAAC,QAAUN,EAAI+D,QAAQ,OAAS/D,EAAI+e,QAAQzZ,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAC9N,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,SAASJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,KAAO,KAAKK,GAAI,CAACP,EAAG,eAAe,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAAEN,EAAIR,MAAQQ,EAAIR,KAAKsgC,mBAAoB1/B,EAAG,cAAc,CAACA,EAAG,oBAAoB,CAACA,EAAG,OAAO,CAACmB,YAAY,qBAAqB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOL,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIswB,UAAUtwB,EAAIR,KAAKsgC,qBAAqB,UAAU,GAAG9/B,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAc,YAAE,SAASiwB,GAAO,OAAO7vB,EAAG,cAAc,CAAC1K,IAAIu6B,EAAMx5B,GAAG+N,YAAY,CAAC,aAAa,QAAQlE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,qBAAqB,CAACA,EAAG,MAAM,CAACmB,YAAY,gCAAgC,CAAE0uB,EAAyB,oBAAE7vB,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,iBAAiBP,EAAI6C,KAAMotB,EAAiB,YAAE7vB,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,cAAcP,EAAI6C,MAAM,KAAKzC,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIswB,UAAUL,EAAMiS,UAAU,QAAQ,IAAI,OAAM,IAAI,WACx9B,GAAkB,GCHlB,GAAS,WAAa,IAAIliC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,aAAa,IAAI6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,YAAY,KAAK,KAAKD,MAAc,CAACrQ,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,qBAAqB,CAACE,MAAM,CAAC,OAASN,EAAI+e,OAAO,QAAU/e,EAAI+D,aAAa0B,MAAM,OAAO,KAAK,OAAO,CAACrF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIsxB,WAAW,QAAUtxB,EAAIzC,QAAQ,eAAeyC,EAAIS,GAAG,gBAAgB,qBAAqB,GAAG,eAAe,GAAG,sBAAsB,IAAI6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACvoB,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,sBAAsB,CAACE,MAAM,CAAC,YAAc8I,EAAK3S,GAAG,QAAU2S,EAAK84B,QAAQ,OAASliC,EAAI+e,WAAW,GAAG3e,EAAG,KAAK,CAACmB,YAAY,eAAe,CAAE6H,EAAwB,oBAAEhJ,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,iBAAiBP,EAAI6C,MAAM,GAAGzC,EAAG,KAAK,CAACmB,YAAY,eAAe,CAAE6H,EAAgB,YAAEhJ,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,cAAcP,EAAI6C,MAAM,GAAGzC,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIswB,UAAUlnB,EAAK84B,aAAa9hC,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,wBAAwB,CAACE,MAAM,CAAC,OAASN,EAAI+e,OAAO,QAAU3V,EAAK84B,YAAY,aAAa,IACzlB,GAAkB,GCHlB,GAAS,WAAa,IAAIliC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,sBAAsB,YAAcT,EAAI0mB,YAAY,YAAY,OAAO/lB,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,QAAQ,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIwG,QAAQtF,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,QAAUT,EAAI+D,QAAQ,YAAc/D,EAAI+mE,iBAAiB/lE,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIkiC,QAAQhhC,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoBO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIg+D,YAAY98D,GAAKG,WAAW,iBAAiBjB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6BO,MAAM,CAAC5L,MAAO4K,EAAuB,oBAAEiB,SAAS,SAAUC,GAAMlB,EAAIi+D,oBAAoB/8D,GAAKG,WAAW,0BAA0B,IAAI,IAAI,IACxuC,GAAkB,GC+CP,UAAIK,OAAO,CACxBsG,MAAO,CACLjE,QAASxE,OACTwf,OAAQxf,QAGVhN,KANwB,aAOtB,MAAO,CACLoF,OAAQ,MAERuqC,QAAS,EACT87B,YAAa,MACbC,oBAAqB,MACrBz3D,QAAS,OAASiZ,SAClB/lB,MAAO,OAIXoI,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,wBAAsB,CAC9CilE,gBAD8C,aAE5C,OAAQ9mE,KAAKmxB,mBAAmBnxB,KAAK8e,SAAW,IAAIzoB,KAClD,SAAC0wE,GAAD,OAAQA,EAAG9kC,YAGfxb,YAN8C,aAO5C,QAASzmB,KAAKiiC,WAIlBjgC,QAAS,CAMP4D,MANO,aAOL5F,KAAKiiC,QAAU,EACfjiC,KAAK+9D,YAAc,MACnB/9D,KAAKg+D,oBAAsB,MAC3Bh+D,KAAKuG,QAAU,OAASiZ,UAQpB3Z,KAlBC,a,0KAmBL7F,KAAKvG,MAAQ,K,kBAEM,OAAM,GAASka,KAAK,2BAA4B,CAC/DrhB,KAAM,CACJwsB,OAAQ9e,KAAK8e,OACbmjB,QAASjiC,KAAKiiC,QACd87B,YAAa/9D,KAAK+9D,YAClBC,oBAAqBh+D,KAAKg+D,oBAC1Bz3D,QAASvG,KAAKuG,W,OANZtJ,E,OAUA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,wBAAyB,CAC1C6B,OAAQ,sBACRK,MAAOsF,KAAK8e,OACZ3pB,MAAOpC,OAAO8D,KAAKuC,EAAS63B,aAE9BjxB,KAAK2I,OAAOnQ,OAAO,uBAAwByE,GAE3C+C,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACVksB,oBC9Hwb,MCOxb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACvsB,aAAA,KAAUjR,QAAA,KAAKE,QAAA,OCzB7C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,uBAAuB,YAAY,OAAOE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,QAAQ,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIwG,QAAQtF,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIkiC,QAAQ,SAAW,OAAO,GAAG9hC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoBO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIg+D,YAAY98D,GAAKG,WAAW,iBAAiBjB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6BO,MAAM,CAAC5L,MAAO4K,EAAuB,oBAAEiB,SAAS,SAAUC,GAAMlB,EAAIi+D,oBAAoB/8D,GAAKG,WAAW,0BAA0B,IAAI,IAAI,IAC3lC,GAAkB,GC8CP,UAAIK,OAAO,CACxBsG,MAAO,CACLi/D,YAAa1nE,OACb2iC,QAAS3iC,OACTwf,OAAQxf,QAEVhN,KANwB,aAOtB,MAAO,CACLoF,OAAQ,MAERqmE,YAAa,MACbC,oBAAqB,MACrBz3D,QAAS,OAASiZ,SAClB/lB,MAAO,OAGXoI,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,wBAAsB,CAC9CovB,UAD8C,aACrC,WACP,OAAOjxB,KAAKmxB,mBAAmBnxB,KAAK8e,QAAQ0K,MAC1C,SAACu9C,GAAD,OAAQA,EAAGvwE,KAAO,EAAKwwE,kBAI7BhlE,QAAS,OAAF,wBACF,eAAW,QAAS,CAAC,qBAAmB,CAO3C4D,MAP2C,aAQzC,IAAMkP,EAAY/hB,OAAOyI,OAAO,GAAIwE,KAAKixB,WACzCjxB,KAAK+9D,YAAcjpD,EAAUipD,YAC7B/9D,KAAKg+D,oBAAsBlpD,EAAUkpD,oBACrCh+D,KAAKuG,QAAU,OAASiZ,UAQpB3Z,KAnBqC,a,0KAoBzC7F,KAAKvG,MAAQ,K,kBAEM,OAAM,GAAS+uC,IAAI,2BAA4B,CAC9Dl2C,KAAM,CACJkE,GAAIwJ,KAAKgnE,YACTloD,OAAQ9e,KAAK8e,OACbmjB,QAASjiC,KAAKiiC,QACd87B,YAAa/9D,KAAK+9D,YAClBC,oBAAqBh+D,KAAKg+D,oBAC1Bz3D,QAASvG,KAAKuG,W,OAPZtJ,E,OAUA7D,EAAW6D,EAAS3K,KAAKA,KAE/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,uBAAwByE,GAE3C+C,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,6DAINqa,WAAY,CACVksB,oBCpHyb,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACvsB,aAAA,KAAUjR,QAAA,KAAKE,QAAA,OCzB7C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,OAAS,GAAG,MAAQN,EAAIS,GAAG,yBAAyB,YAAY,OAAOE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,QAAQ,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIwG,QAAQtF,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIkiC,QAAQhhC,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACmB,YAAY,QAAQjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ,4BAA4B,kBAAkB,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAIimE,qBAAqB/kE,GAAKG,WAAW,2BAA2B,IAAI,IAAI,IAC7pC,GAAkB,GC8CP,UAAIK,OAAO,CACxBsG,MAAO,CACL+W,OAAQxf,OACR2iC,QAAS3iC,QAEXhN,KALwB,aAMtB,MAAO,CACLoF,OAAQ,MACRsuE,qBAAsB,EACtBz/D,QAAS,OAASiZ,SAClB/lB,MAAO,OAGXuI,QAAS,CAOP4D,MAPO,aAQL5F,KAAKgmE,qBAAuB,EAC5BhmE,KAAKuG,QAAU,OAASiZ,UAQpB3Z,KAjBC,a,0KAkBL7F,KAAKvG,MAAQ,K,kBAEM,OAAM,GAASka,KAAK,2BAA4B,CAC/DrhB,KAAM,CACJwsB,OAAQ9e,KAAK8e,OACbmjB,QAASjiC,KAAKiiC,QACd+jC,qBAAsBhmE,KAAKgmE,qBAC3Bz/D,QAASvG,KAAKuG,W,OALZtJ,E,OAQA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,uBAAwByE,G,UAE3C,OAAM+C,KAAK2I,OAAOlQ,SAAS,wBAAyB,CAClDqmB,OAAQ9e,KAAK8e,S,QAGf9e,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVksB,oBCvG2b,MCO3b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACx9B,QAAA,KAAKE,QAAA,OC+BpB,cAAIjB,OAAO,CACxBsG,MAAO,CACLjE,QAASxE,OACTwf,OAAQxf,QAEVuC,SAAU,OAAF,sCACH,eAAS,QAAS,CAAC,YAAa,yBAChC,eAAW,QAAS,CACrB,qBACA,YACA,0BACA,CACFvE,QADE,aAEA,IAAM0b,EAAI,CACR,CACEvQ,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,KACP2hB,MAAO,KACPsI,MAAO,SACPvE,SAAU,OAEZ,CACEpS,KAAM7K,EAAKxI,EAAE,4BACbD,MAAO,KACP2hB,MAAO,KACPsI,MAAO,SACPvE,SAAU,OAEZ,CACEpS,KAAM7K,EAAKxI,EAAE,mBACbD,MAAO,KACP2hB,MAAO,KACPsI,MAAO,SACPvE,SAAU,OAEZ,CACEpS,KAAM7K,EAAKxI,EAAE,eACbD,MAAO,MAET,CACEsT,KAAM7K,EAAKxI,EAAE,kBACb0hB,MAAO,KACPsI,MAAO,SACPvE,SAAU,QAGd,OAAO7B,GAETqY,WArCE,aAsCA,OAAOrxB,KAAKmxB,mBAAmBnxB,KAAK8e,WAGxC3W,QApDwB,aAqDtBnI,KAAKoI,aAEPpG,QAAS,CACP2f,MADO,aAEL3hB,KAAK8H,MAAM,QAAS,QAEtBM,UAJO,aAKLpI,KAAK2I,OAAOlQ,SAAS,wBAAyB,CAAEqmB,OAAQ9e,KAAK8e,WAGjEhL,WAAY,CACVmzD,sBACAC,uBACAlnC,iBACAmnC,4BC1H0b,MCO1b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACrvD,cAAA,KAAWrD,SAAA,OCgC1B,cAAIhT,OAAO,CACxBsG,MAAO,CACL+W,OAAQxf,OACRwE,QAASxE,QAGX6I,QANwB,aAOtBnI,KAAKoI,aAGPvG,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,aAAc,qBAAsB,eAAa,CAEzEtC,KAFyE,aAGvE,OAAOS,KAAK0yB,WAAW1yB,KAAK8e,SAG9BuS,WANyE,aAOvE,GAAoD,IAAhDrxB,KAAKmxB,mBAAmBnxB,KAAK8e,QAAQhsB,OACvC,MAAO,GAET,OAAO,IAAEkN,KAAKmxB,mBAAmBnxB,KAAK8e,SACnCjgB,QAAO,SAAC/K,GAAD,OAAQA,EAAEiqE,eACjB5oE,WAIP6M,QAAS,CACDoG,UADC,a,2KAEL,OAAMpI,KAAK2I,OAAOlQ,SAAS,wBAAyB,CAClDqmB,OAAQ9e,KAAK8e,S,kDAKnBhL,WAAY,CACVszD,2BC5Fob,MCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAAChlE,SAAA,KAAMG,WAAA,QAAWkS,SAAA,KAAMoM,MAAA,QAAMF,aAAA,KAAU2mB,mBAAA,KAAgB1mB,iBAAAC,GAAA,KAAiBE,eAAAF,GAAA,OC9BtG,IAAI,GAAS,WAAa,IAAI9gB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAY,SAAEI,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACnB,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,aAAa,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,OAAOL,EAAG,QAAQ,CAACmB,YAAY,YAAYjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI0Y,UAAU1Y,EAAI20B,SAASkhC,mBAAmBz1D,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI0Y,UAAU1Y,EAAI20B,SAASmhC,sBAAsB,GAAI91D,EAAI20B,SAAuB,eAAEv0B,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kCAAkC,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI20B,SAASigC,oBAAoB,GAAG50D,EAAI6C,KAAM7C,EAAI20B,SAA8B,sBAAEv0B,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8B,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAI20B,SAASC,0BAA0B,IAAI,GAAG50B,EAAI6C,KAAM7C,EAAI20B,SAAoB,YAAEv0B,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI20B,SAASogC,iBAAiB,GAAG/0D,EAAI6C,KAAM7C,EAAI20B,SAAwB,gBAAEv0B,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,aAAaL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI20B,SAASohC,qBAAqB,GAAG/1D,EAAI6C,MAAM,GAAG7C,EAAI6C,MAC5jE,GAAkB,GCmDP,UAAInB,OAAO,CACxBsG,MAAO,CACL+W,OAAQxf,QAEVuC,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,gBACnB,eAAW,QAAS,CAAC,uBAAwB,eAAa,CAE7D6yB,SAF6D,aAG3D,OAAO10B,KAAKu0B,qBAAqBv0B,KAAK8e,aC9DgY,MCOxa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACtc,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIs4B,MAAY,OAAEl4B,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAON,EAAI+8B,KAAK,GAAK/8B,EAAIsnE,KAAK,CAAClnE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,eAAe,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,OAAOL,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIs4B,MAAM,QAAUt4B,EAAIzC,QAAQ,qBAAqB,GAAG,sBAAsB,IAAI+H,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,kBAAkB8P,GAAG,SAAS9E,GACnhB,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAAC4K,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBnnB,EAAO,wBAAwB,QAAQ,CAACM,IAAI,sBAAsB8P,GAAG,SAAS9E,GAClI,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAACgL,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQlL,QAAY,CAACM,IAAI,kBAAkB8P,GAAG,SAAS9E,GACvF,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAACgL,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQlL,QAAY,CAACM,IAAI,qBAAqB8P,GAAG,SAAS9E,GAC1F,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAACgL,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQlL,SAAa,KAAK,SAAS,IAAI,IAAI,GAAG4K,EAAI6C,MAC9E,GAAkB,GC0CP,UAAInB,OAAO,CACxBsG,MAAO,CACL+W,OAAQxf,OACRE,UAAWF,OACXw9B,KAAMx9B,OACN+nE,GAAI/nE,QAGNhN,KARwB,aAStB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEP4+B,MAAO,KAIXx2B,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CAEpDvE,QAFoD,aAGlD,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,yBAA0BD,MAAO,cAChD,CACEsT,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,iBACPiqB,MAAO,SAET,CAAE3W,KAAM7K,EAAKxI,EAAE,YAAaD,MAAO,aAAciqB,MAAO,SACxD,CAAE3W,KAAM7K,EAAKxI,EAAE,eAAgBD,MAAO,gBAAiBiqB,MAAO,WAIlE5a,IAfoD,aAgBlD,GAAIxE,KAAK8e,OACP,MAAO,UAAP,OAAiB9e,KAAK8e,OAAtB,oBAEF,MAAO,aAAP,OAAoB9e,KAAKR,UAAzB,uBAIJsC,MAAO,CACL0C,IAAK,CACHP,UAAW,KACXC,QAFG,aAGDlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,wKAELpI,KAAK0J,QAAU,K,kBAED,OAAM,GAAS3U,IAAIiL,KAAKwE,K,OAA9BsqC,E,OACN9uC,KAAKq4B,MAAQ,IAAEtjC,IAAI+5C,EAAK,YAAa,I,mDAErC9uC,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,uFC9GoZ,MCOva,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKsV,cAAA,OC3B9D,IAAI,GAAS,WAAa,IAAI/X,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAIuD,cAAc,gBAAiBnD,EAAG,uBAAuB,CAACE,MAAM,CAAC,UAAYN,EAAIP,UAAU,OAASO,EAAI+e,OAAO,SAAW/e,EAAImmB,SAAS,aAAenmB,EAAIqmB,cAAc/gB,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAC1b,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,IAAM,GAAG,SAAW,GAAG,OAAS,GAAG,MAAQ,WAAWK,GAAI,CAACP,EAAG,SAAS,CAACJ,EAAIO,GAAG,cAAc,OAAO,KAAK,MAAM,cAAcP,EAAI6C,OAAO4C,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBL,EAAG,YAAYA,EAAG,aAAa,CAACE,MAAM,CAAC,eAAe,GAAG,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAI+gD,YAAY7/C,GAAKG,WAAW,kBAAkB,GAAGjB,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIunE,qBAAqB,QAAUvnE,EAAIzC,QAAQ,OAAS,YAAY,sBAAsB,IAAI+H,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAASwC,GAAO,MAAO,CAAC5H,EAAG,KAAK,CAACmB,YAAY,aAAasJ,MAAM,CAAE4P,UAAWzS,EAAMoB,KAAKqR,WAAY9Z,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+lC,KAAK/9B,EAAMoB,KAAK3S,OAAO,CAAC2J,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGwH,EAAMoB,KAAKo+D,cAAcpnE,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGwH,EAAMoB,KAAKhE,aAAahF,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGwH,EAAMoB,KAAKkF,gBAAgBlO,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGwH,EAAMoB,KAAKmF,2BAA2B,GAAGnO,EAAG,oBAAoB,CAACM,IAAI,uBAAuB,IACliC,GAAkB,GC6DP,UAAIgB,OAAO,CACxBsG,MAAO,CACLvI,UAAWF,OACXwf,OAAQxf,OACR8mB,aAAc9mB,QAEhBhN,KANwB,aAOtB,MAAO,CACLwuD,YAAa,QAGjBj/C,SAAU,OAAF,8FACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,QAAS,CACrB,YACA,sBACA,yBACA,iBAEC,eAAS,QAAS,CAAC,gBACnB,eAAW,WAAY,CAAC,2BACxB,eAAW,WAAY,CAAC,WACxB,eAAW,QAAS,CAAC,aAAc,mBAAiB,CACvDie,QADuD,aAErD,OAAO9f,KAAK6tB,cAAc7tB,KAAKR,YAEjCD,KAJuD,aAKrD,OAAOS,KAAK0yB,WAAW1yB,KAAK8e,SAE9BoH,SAPuD,aAQrD,GAAIlmB,KAAK8f,QACP,OAAO9f,KAAK8f,QAAQ9mB,KAEtB,MAAO,IAITwuE,WAfuD,aAgBrD,GAAIxnE,KAAKT,KACP,OAAOS,KAAKT,KAAK48B,QAEnB,GAAIn8B,KAAK8f,QACP,OAAO9f,KAAK8f,QAAQ2nD,oBAEtB,MAAO,IAET/lD,aAxBuD,aAyBrD,OAAI1hB,KAAK8e,OACA9e,KAAK6lB,oBAAoB7lB,KAAK8e,QAE9B9e,KAAK0lB,uBAAuB1lB,KAAKR,YAG5ClC,QA/BuD,aAgCrD,IAAM0b,EAAI,CACR,CACEvQ,KAAMzI,KAAKiZ,MAAM7jB,EAAE,sBACnBD,MAAO,aAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,eACnBD,MAAO,QAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,sBACnBD,MAAO,eAET,CACEsT,KAAMzI,KAAKiZ,MAAM7jB,EAAE,uBACnBD,MAAO,iBAGX,OAAO6jB,GAETsuD,qBApDuD,aAoDnC,WACd5lD,EAAe1hB,KAAK0hB,aACnB1hB,KAAK8gD,cACRp/B,EAAeA,EAAa9iB,QAAO,SAAC5I,GAAD,OAAqBA,EAAEwkB,cAG5D,OAAOkH,EAAarrB,KAAI,SAACL,GACvB,IAAMgkB,EAAQ,EAAKY,YAAY5kB,EAAE4J,SAC7B2nE,EAAY,EAAKjrD,sBACnBtmB,EAAEskB,YACF,EAAKmJ,YAEP,GAAIztB,EAAEskB,cAAgBtkB,EAAEuwB,oBAAqB,CAC3C,IAAMmhD,EAAe,EAAKprD,sBACxBtmB,EAAEuwB,oBACF,EAAK9C,YAEP8jD,EAAY,GAAH,OAAMA,EAAN,cAAqBG,EAArB,MAEX,OAAO30E,OAAOyI,OAAO,GAAIxF,EAAG,CAC1BuxE,YACApiE,SAAU,EAAKsT,UAAUziB,EAAE4J,SAC3ByO,YAAa2L,EAAM3L,YACnBC,aAAc0L,EAAM1L,qBAK5BtM,QAAS,CACP8jC,KADO,WACFrU,GACFzxB,KAAK2B,MAAMkwD,kBAA0B/rB,KAAKrU,KAG/C3d,WAAY,CACV6mB,wBACAo3B,wBC7Kub,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAahC,KAAkB,GAAW,CAAC5vD,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUmR,aAAA,KAAUqE,cAAA,KAAWrD,SAAA,KAAM1P,WAAA,KAAQC,YAAA,KAASC,cAAA,UC/B/F,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAiB,cAAE,CAACtK,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,2BAA2B,CAACE,MAAM,CAAC,OAASN,EAAI+e,OAAO,UAAY/e,EAAIP,aAAaW,EAAG,YAAaJ,EAAe,YAAEI,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAI+gD,YAAY7/C,GAAKG,WAAW,iBAAiBrB,EAAI6C,OAAO4C,MAAM,MAAM,MAAM,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iCAAiC,GAAGL,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAI4nE,2BAA2B,QAAU5nE,EAAIzC,QAAQ,eAAe,GAAG,sBAAsB,GAAG,eAAeyC,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACn3B,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACyK,MAAM,CAAE4P,UAAWrR,EAAKqR,YAAa,CAACra,EAAG,KAAK,CAACA,EAAG,4BAA4B,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,GAAG,UAAYuJ,EAAIP,cAAc,GAAGW,EAAG,KAAK,CAACA,EAAG,uBAAuB,CAACE,MAAM,CAAC,QAAU8I,EAAK,WAAa,OAAO,GAAGhJ,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIyR,kBAAkBrI,EAAKuS,yBAAyBvb,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKwS,aAAaxb,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ8I,EAAKyS,qBAAqB,GAAGzb,EAAG,KAAK,CAACA,EAAG,qBAAqB,CAACE,MAAM,CAAC,KAAO,GAAG,UAAU,GAAG,OAASN,EAAIS,GAAG,kBAAoB,IAAM2I,EAAKjC,OAAOxG,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAI6nE,sBAAsBz+D,MAAS,CAAChJ,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,mBAAmB,IAAI,GAAGH,EAAG,KAAK,CAACA,EAAG,0BAA0B,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,OAAO,aAAa,IAAI,IACvyB,GAAkB,GCkEP,UAAIiL,OAAO,CACxBsG,MAAO,CACLvI,UAAWF,OACXwf,OAAQ,CACND,QAAS,EACT7lB,KAAMsG,SAIV6I,QATwB,aAUtBnI,KAAKoI,aAGP9V,KAbwB,aActB,MAAO,CACLwuD,YAAa,QAIjBj/C,SAAU,OAAF,oDACH,eAAS,WAAY,CAAC,YACtB,eAAW,QAAS,CACrB,4BACA,yBAEC,eAAW,YAAa,CAAC,uBAAqB,CAEjDvE,QAFiD,aAG/C,MAAO,CACL,CAAEnI,MAAO,OAAQsT,KAAM7K,EAAKxI,EAAE,gBAAiB0hB,MAAO,MACtD,CAAE3hB,MAAO,QAASsT,KAAM7K,EAAKxI,EAAE,4BAC/B,CAAED,MAAO,sBAAuBsT,KAAM7K,EAAKxI,EAAE,sBAC7C,CACED,MAAO,WACPsT,KAAM7K,EAAKxI,EAAE,8BACbgqB,MAAO,SAET,CACEjqB,MAAO,mBACPsT,KAAM7K,EAAKxI,EAAE,gCACbgqB,MAAO,SAET,CAAEjqB,MAAO,SAAUsT,KAAM7K,EAAKxI,EAAE,kBAAmB0hB,MAAO,MAC1D,CAAE3hB,MAAO,KAAMsT,KAAM,GAAIqO,MAAO,QAIpC9P,kBAtBiD,aAuB/C,OAAOhH,KAAK4c,0BAA0B5c,KAAKR,YAAc,IAG3DmoE,2BA1BiD,aA2B/C,IAAK3nE,KAAK8gD,YACR,OAAO,IAAEliD,OAAOoB,KAAKgH,mBAAmB,SAAChR,GAAD,OAAQA,EAAEwkB,aAEpD,OAAOxa,KAAKgH,mBAGd6gE,cAjCiD,aAkC/C,OAAO7nE,KAAK2E,OAAOwN,KAAKtX,SAAS,aAGnCitE,YArCiD,aAsC/C,OAAO,IAAEhqC,KAAK99B,KAAKgH,kBAAmB,CAAEwT,UAAW,UAIvD1Y,MAAO,CACLtC,UADK,WACKwM,GACRhM,KAAKoI,cAITpG,QAAS,CACPoG,UADO,aAEDpI,KAAKR,WACPQ,KAAK2I,OAAOlQ,SAAS,yCAA0C,CAC7D+G,UAAWQ,KAAKR,aAKtB0yC,KATO,WASF90B,GACFpd,KAAK2B,MAAMwwC,WAAmBD,KAAK90B,IAGtCwqD,sBAbO,WAae3oD,GAAmB,WACvC,GACGtL,KADH,4BACqC,CACjCrhB,KAAM,CACJkE,GAAIyoB,EAAGzoB,GACPsoB,OAAQ9e,KAAK8e,OACbtf,UAAWQ,KAAKR,UAChB0H,MAAO+X,EAAG/X,MACVP,YAAasY,EAAGtY,YAChBohE,oBAAqB9oD,EAAG/C,OACxBR,oBAAqBuD,EAAGvD,oBACxBe,gBAAiBwC,EAAGxC,gBACpBqB,uBAAwBmB,EAAGnB,uBAC3BC,gBAAiBkB,EAAGlB,gBACpBpC,SAAUsD,EAAGtD,SACbC,iBAAkBqD,EAAGrD,iBACrBpB,UAAW,QAGdygB,MAAK,SAACh+B,GACL,IAAM7D,EAAW6D,EAAS3K,KAAKA,KAC/B,EAAKqW,OAAOnQ,OAAO,iBAAkBY,GACrC,EAAKuP,OAAOnQ,OAAO,uBAAwByE,QAKnD6W,WAAY,CACVuL,4BACAC,6BACAC,2BACAo2C,2BC1Lwa,MCOxa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAACvzD,SAAA,KAAME,UAAA,QAAUmR,aAAA,KAAUqE,cAAA,KAAWrD,SAAA,KAAM1P,WAAA,KAAQC,YAAA,KAASC,cAAA,UC4H3E,cAAIxD,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAGNhN,KALwB,aAMtB,MAAO,CACL01E,wBAAyB,QAI7BnmE,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CACrB,YACA,qBACA,aACA,gBACA,kBACA,+BACA,CAEF6H,QAFE,aAKA,OAAQ1J,KAAKT,OAASS,KAAK8f,SAG7BvgB,KARE,aASA,OAAOS,KAAK0yB,WAAW1yB,KAAKxJ,KAG9BspB,QAZE,aAaA,OAAI9f,KAAKT,KACAS,KAAK6tB,cAAc7tB,KAAKT,KAAKC,WAE7B,MAIXwH,kBApBE,aAqBA,GAAIhH,KAAK8f,QACP,OAAO9f,KAAK4c,0BAA0B5c,KAAKT,KAAKC,WAElD,MAAO,IAGTg0D,IA3BE,aA4BA,IAAMyU,EAAY,KAAOjoE,KAAKT,KAAKgH,SAC7B2hE,EAAY,KAAOloE,KAAKT,KAAK4vD,aACnC,OAAInvD,KAAKT,KAAKuvD,QACLoZ,EAAUC,KAAKF,EAAW,QAE1B,OAASE,KAAKF,EAAW,WAKtCn0D,WAAY,CACVs0D,cACA/V,iBACAgW,uBACAC,kBACAhZ,mBACAiZ,wBACAC,uBACAC,qBACAlW,uBACAyD,4BACA0S,2BC/N4Z,MCO5Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAClmE,QAAA,KAAKC,cAAA,KAAWqC,YAAA,KAASpC,QAAA,OC1BvD,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,UAAU,CAACF,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACnB,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAKN,EAAIqK,SAAS3D,YAAc,EAAE,GAAK,CAAE/R,KAAM,iBAAkBgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,eAAgB,GAAGjK,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACnB,EAAG,kBAAkB,CAACE,MAAM,CAAC,GAAKN,EAAIqK,SAAStG,SAAW,EAAE,GAAK,CAAEpP,KAAM,iBAAkBgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,WAAY,oBAAsB,cAAc,KAAKjK,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,YAAY,MAAM,MAAQ,MAAM,QAAU,GAAG,IAAM,sBAAsB,GAAIN,EAAW,QAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,OAAO,GAAGN,EAAI6C,MAAM,IAAI,IAAI,GAAGzC,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAWsG,EAAI2J,QAAsY3J,EAAI6C,KAAjYzC,EAAG,QAAQ,CAACE,MAAM,CAAC,gBAAgB,KAAK,CAACF,EAAG,4BAA4B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,UAAUrJ,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI4oE,aAAa1nE,GAAKG,WAAW,kBAAkBjB,EAAG,oBAAoB,CAACE,MAAM,CAAC,SAAWN,EAAIqK,UAAUrJ,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI4oE,aAAa1nE,GAAKG,WAAW,mBAAmB,GAAYjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAW,CAACF,EAAG,QAAQ,CAACmB,YAAY,qBAAqBjB,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,OAAO,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAChwD3L,KAAM,aACNgP,MAAO3Q,OAAOyI,OAAO,GAAIwE,KAAKoK,SAAU,CAAC8lD,WAAY,UACnD,CAAC/vD,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAI6oE,MAAMC,gBAAgB,GAAG1oE,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,QAAQ,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,IAAIR,EAAI6oE,MAAME,YAAc,GAAG3uB,QAAQ,IAAI,KAAKh6C,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,KAAKL,EAAG,MAAMJ,EAAIO,GAAG,MAAMP,EAAIQ,GAAGR,EAAIS,GAAG,cAAc,YAAY,IAAI,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,SAAWN,EAAIqK,aAAa,IAAI,GAAGjK,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACmB,YAAY,gBAAgBjB,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,MAAQ,UAAU,CAACF,EAAG,cAAc,CAACmB,YAAY,0BAA0B,CAACnB,EAAG,cAAc,CAACmB,YAAY,uCAAuCjB,MAAM,CAAC,GAAK,CAC54B3L,KAAM,aACNgP,MAAO3Q,OAAOyI,OAAO,GAAIwE,KAAKoK,SAC5B,CAAC8lD,WAAY,KACb0C,iBAAkB,UAClB,CAAC7yD,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI6oE,MAAMG,cAAc,OAAO5oE,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQ,IAAI,IAAI,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,MAAQ,YAAY,CAACF,EAAG,cAAc,CAACmB,YAAY,0BAA0B,CAACnB,EAAG,cAAc,CAACmB,YAAY,uCAAuCjB,MAAM,CAAC,GAAK,CAC3Y3L,KAAM,aACNgP,MAAO3Q,OAAOyI,OAAO,GAAIwE,KAAKoK,SAC5B,CAAC8lD,WAAY,KACb2C,oBAAqB,UACrB,CAAC9yD,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI6oE,MAAMI,iBAAiB,OAAO7oE,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,QAAQ,IAAI,IAAI,IAAI,IAAI,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,uBAAuB,CAACE,MAAM,CAAC,SAAWN,EAAIqK,aAAa,IAAI,IAAI,IAAI,GAAGjK,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,4BAA4B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,aAAa,GAAGjK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,wBAAwB,CAACE,MAAM,CAAC,SAAWN,EAAIqK,aAAa,IAAI,GAAGjK,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,wBAAwB,CAACE,MAAM,CAAC,SAAWN,EAAIqK,YAAYjK,EAAG,2BAA2B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,YAAYjK,EAAG,wBAAwB,CAACE,MAAM,CAAC,SAAWN,EAAIqK,YAAYjK,EAAG,qBAAqB,CAACE,MAAM,CAAC,SAAWN,EAAIqK,YAAYjK,EAAG,sBAAsB,CAACE,MAAM,CAAC,SAAWN,EAAIqK,aAAa,GAAGjK,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,uBAAuB,CAACE,MAAM,CAAC,QAAUN,EAAIqK,SAAStG,SAAW,MAAM,IAAI,IAAI,IAC3lC,GAAkB,GCdlB,GAAS,WAAa,IAAI/D,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,eAAe,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8BL,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAIzC,QAAQ,MAAQ,GAAG,sBAAsB,GAAG,eAAe,GAAG,qBAAqB,GAAG,eAAeyC,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAClf,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK8/D,UAAU,IAAIlpE,EAAIQ,GAAG4I,EAAK+/D,QAAQ,IAAInpE,EAAIQ,GAAGR,EAAIS,GAAG,cAAc,OAAOL,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKggE,WAAW,OAAOhpE,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,IAA0B,KAArB4I,EAAKigE,SAAW,IAAUjvB,QAAQ,IAAI,QAAQh6C,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,IAAoC,KAA/B4I,EAAKkgE,mBAAqB,IAAUlvB,QAAQ,IAAI,kBAAkB,IAAI,IACpc,GAAkB,GCsCP,UAAI14C,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAEZT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MACTyiD,QAAS,KAGbtqD,SAAU,CACRuJ,YADQ,aAEN,OAAOG,GAAsBvL,KAAKoK,WAGpC9M,QALQ,aAMN,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,aAAck0E,OAAQ,OAAQn0E,MAAO,YACpD,CACEsT,KAAM7K,EAAKxI,EAAE,eACbgqB,MAAO,QACPjqB,MAAO,aAET,CACEsT,KAAM7K,EAAKxI,EAAE,wBACbgqB,MAAO,QACPjqB,MAAO,WAET,CACEsT,KAAM7K,EAAKxI,EAAE,+BACbgqB,MAAO,QACPjqB,MAAO,wBAKf2M,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAIXpG,QAAS,CACDoG,UADC,a,0KAEC5D,E,mCAAkCxE,KAAKoL,a,SAC5B,OAAM,GAASrW,IAAIyP,G,OAA9BvH,E,OACFA,GAAYA,EAAS3K,MAAQ2K,EAAS3K,KAAKA,OAC7C0N,KAAKmsD,QAAUlvD,EAAS3K,KAAKA,M,oDC1FyZ,MCO1b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAC8P,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWuV,cAAA,OC1BzD,IAAI,GAAS,WAAa,IAAI/X,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2BL,EAAG,QAAQ,CAACA,EAAG,kBAAkB,CAACY,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAIwpE,UAAUtoE,GAAKG,WAAW,gBAAgB,IAAI,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,MAAQ,SAAS,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACnB,EAAG,OAAO,CAACyK,MAAM7K,EAAI6oE,MAAMY,gBAAkB,EAAM,cAAgB,aAAa,CAACzpE,EAAIO,GAAG,IAAIP,EAAIQ,IAAIR,EAAI6oE,MAAMY,gBAAkB,GAAGrvB,QAAQ,IAAI,SAASh6C,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mCAAmC,SAASL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI6oE,MAAMa,kBAAkB,KAAKtpE,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,WAAWL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI6oE,MAAMc,iBAAiB,KAAKvpE,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,YAAY,IAAI,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,IAAIR,EAAI6oE,MAAMe,0BAA4B,GAAGxvB,QAAQ,IAAI,KAAKh6C,EAAG,OAAO,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmBL,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kCAAkC,UAAU,IAAI,IAAI,IACnqD,GAAkB,GC2EP,UAAIiB,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAEZT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEP8vE,UAAW,GAEXX,MAAO,CACLc,gBAAiB,EACjBD,iBAAkB,EAClBD,eAAgB,EAChBG,yBAA0B,KAIhC9nE,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CAOpD+nE,aAPoD,aAQlD,IAAMx/D,EAAWrX,OAAOyI,OAAO,GAAIwE,KAAKoK,UACpCpK,KAAKupE,UAAY,IACnBn/D,EAASy/D,UAAY,OAASC,SAAS9pE,KAAKupE,UAAW,QAAQ/pD,UAEjE,OAAOpV,GAQTgB,YApBoD,aAqBlD,OAAOG,GAAsBvL,KAAK4pE,iBAItC9nE,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,4KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,KACP+K,E,iCAAgCxE,KAAKoL,a,kBAGxB,OAAM,GAASrW,IAAIyP,G,OAA9BvH,E,OACA8sE,EAAW,IAAEh1E,IAAIkI,EAAU,YAAa,IAC9ClK,OAAOyI,OAAOwE,KAAK4oE,MAAOmB,G,qDAE1B/pE,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,wFC/Iqa,MCOxb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKE,QAAA,OC3B9D,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,OAAS,kBAAkB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,OAAOL,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,WAAW,aAAa,QAAQ,gBAAgB,aAAa,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAIiqE,aAAa/oE,GAAKG,WAAW,mBAAmB,IAAI,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIs4B,MAAM,QAAUt4B,EAAIzC,QAAQ,MAAQ,GAAG,eAAeyC,EAAIS,GAAG,gBAAgB,UAAU,YAAY,YAAY,SAAS,IAAI,IAC71B,GAAkB,GC6CP,UAAIiB,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAGZT,KALwB,aAMtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEPuwE,aAAc,GAEd7d,QAAS,KAIbtqD,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CAEpDw2B,MAFoD,aAE/C,WACH,OAAO,IAAEhiC,IAAI2J,KAAKmsD,SAAS,SAAC5gC,GAAD,OAAS,+BAC/BA,GAAG,CACNmsB,gBAAiB,EAAKp7B,sBACpBiP,EAAI2oC,kBACJ,gCAUN0V,aAjBoD,aAkBlD,OAAO72E,OAAOyI,OAAO,GAAIwE,KAAKoK,SAAU,CACtC8lD,WAAY,MACZ8Z,aAAchqE,KAAKgqE,gBASvB5+D,YA7BoD,aA8BlD,OAAOG,GAAsBvL,KAAK4pE,eAQpCtsE,QAtCoD,aAuClD,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,4BAA6BD,MAAO,mBACnD,CACEsT,KAAM7K,EAAKxI,EAAE,SACbgqB,MAAO,QACPjqB,MAAO,cAET,CACEsT,KAAM,KAAO7K,EAAKxI,EAAE,eACpBgqB,MAAO,QACPjqB,MAAO,iBAMf2M,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAEL+K,E,+BAA8BxE,KAAKoL,a,SACxB,OAAM,GAASrW,IAAIyP,G,OAA9BvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,qDAE5C+C,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,wFC1Iwa,MCO3b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKsV,cAAA,KAAWpV,QAAA,KAAKqC,WAAA,OC7B9E,IAAI,GAAS,WAAa,IAAIhF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,gBAAgB,aAAa,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAImzD,gBAAgBjyD,GAAKG,WAAW,sBAAsB,IAAI,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIs4B,MAAM,QAAUt4B,EAAIzC,QAAQ,MAAQ,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,eAAeyC,EAAIS,GAAG,oBAAoB,IAAI,IAAI,IACr4B,GAAkB,GC2CP,UAAIiB,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAEZT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEPy5D,gBAAiB,GAEjB/G,QAAS,KAGbtqD,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CAEpDw2B,MAFoD,aAE/C,WACH,OAAO,IAAEhiC,IAAI2J,KAAKmsD,SAAS,SAAC5gC,GAC1B,OAAO,OAAP,wBACKA,GAAG,CACN0+C,aAAc1+C,EAAI0+C,aAAe,GAAG9vB,QAAQ,GAC5C+vB,MAAO,EAAK5tD,sBACViP,EAAI/J,QACJ,+BAWRlkB,QApBoD,aAqBlD,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,qBAAsBD,MAAO,SAC5C,CAAEsT,KAAM7K,EAAKxI,EAAE,mBAAoBD,MAAO,YAAaiqB,MAAO,SAC9D,CAAE3W,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,cAAeiqB,MAAO,WASjEwqD,aAjCoD,aAkClD,IAAMx/D,EAAWrX,OAAOyI,OAAO,GAAIwE,KAAKoK,SAAU,CAChDuoD,aAAc,OAEhBvoD,EAAS8lD,WAAa,MACtB9lD,EAAS8oD,gBAAkBlzD,KAAKkzD,gBAChC,OAAO9oD,GAQTgB,YA/CoD,aAgDlD,OAAOG,GAAsBvL,KAAK4pE,iBAGtC9nE,MAAO,CAKLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,KACP+K,E,qCAAoCxE,KAAKoL,a,kBAG5B,OAAM,GAASrW,IAAIyP,G,OAA9BvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,qDAE5C+C,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,wFCvIwa,MCO3b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKsV,cAAA,KAAWpV,QAAA,OC5BzE,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIosD,QAAc,OAAEhsD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,iBAAiB,CAACmB,YAAY,cAAcjB,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAgBT,EAAIoqE,yBAAyB,MAAQpqE,EAAI5K,MAAM,KAAO,GAAG,MAAQ,GAAG,MAAQ,kBAAkBuL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,MAAW,CAACR,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAIzC,QAAQ,sBAAsByC,EAAIosD,QAAQr5D,OAAS,GAAG,eAAeiN,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACtmB,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACxC3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAAC3D,WAAY0C,EAAK1C,gBAClB,CAACtG,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAK8I,EAAK1C,eAAe,IAAI,GAAGtG,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAChI3L,KAAM,aACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAAC3D,WAAY0C,EAAK1C,gBAClB,CAAC1G,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKihE,iBAAiB,QAAQ,GAAGjqE,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,IAAI4I,EAAK2/D,YAAc,GAAG3uB,QAAQ,IAAI,aAAa,KAAK,MAAM,eAAe,IAAI,GAAGp6C,EAAI6C,MAC7M,GAAkB,GCuDP,UAAInB,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACPmC,SAAUrX,QAEZT,KALwB,aAMtB,MAAO,CACLoX,QAAS,MACTyiD,QAAS,KAGbtqD,SAAU,OAAF,wBACH,eAAW,YAAa,CAAC,kBAAmB,uBAAqB,CAEpE4P,YAFoE,aAGlE,OAAO,IAAE9S,MAAMqB,KAAKmsD,SAAW,IAC5B91D,IAAI,cACJA,IAAI2J,KAAK+Q,iBACTkK,UACA9lB,SAOLg1E,wBAdoE,aAelE,IAAM3nC,EAAQ,IAAEnsC,IAAI2J,KAAKyR,aAAe,GAAI,QACtCX,EAAM,IAAEnS,MAAM6jC,GACjBmZ,UACAW,UACAkB,MAAM,IAAE1oB,MACR2oB,OACAtoD,QACH,OAAO2b,GAAO,WAOhB84D,aA7BoE,aA8BlE,IAAMx/D,EAAWrX,OAAOyI,OAAO,GAAIwE,KAAKoK,SAAU,CAChD8lD,WAAY,OAEd,OAAO9lD,GAQTgB,YAzCoE,aA0ClE,OAAOG,GAAsBvL,KAAK4pE,eAGpCtsE,QA7CoE,aA8ClE,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,QAASD,MAAO,QAC/B,CACEsT,KAAM7K,EAAKxI,EAAE,oBACbgqB,MAAO,QACPjqB,MAAO,mBAET,CACEsT,KAAM7K,EAAKxI,EAAE,mBACbgqB,MAAO,QACPjqB,MAAO,kBAKf2M,MAAO,CAKLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAIXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,K,SAEPlF,E,mCAAkCxE,KAAKoL,a,SACjC,OAAM,GAASrW,IAAIyP,G,OAAzBsqC,E,OACN9uC,KAAKmsD,QAAU,IAAEp3D,IAAI+5C,EAAK,YAAa,I,gBAEvC9uC,KAAK0J,QAAU,M,oFC/J4a,MCO/b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAClH,QAAA,KAAKsV,cAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI/X,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,WAAW,gBAAgB,cAAcO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIsqE,gBAAgBppE,GAAKG,WAAW,sBAAsB,IAAI,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAIzC,QAAQ,MAAQ,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,eAAeyC,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAC53B,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBnT,EAAKyuC,WAAY,wBAAwB,OAAOz3C,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ8I,EAAKmhE,mBAAmB,GAAGnqE,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ8I,EAAKohE,eAAe,GAAGpqE,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ8I,EAAKqhE,kBAAkB,aAAa,IAAI,IAAI,IAC5Z,GAAkB,GC2DP,UAAI/oE,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAEZT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEP4wE,gBAAiB,GAEjBle,QAAS,KAGbtqD,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CAOpD+nE,aAPoD,aAQlD,IAAMx/D,EAAWrX,OAAOyI,OAAO,GAAIwE,KAAKoK,SAAU,CAChDigE,gBAAiBrqE,KAAKqqE,kBAExB,OAAOjgE,GAQTgB,YAnBoD,aAoBlD,OAAOG,GAAsBvL,KAAK4pE,eAGpCtsE,QAvBoD,aAwBlD,MAAO,CACL,CACEmL,KAAM7K,EAAKxI,EAAE,yBACbD,MAAO,cAET,CACEsT,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,iBACPiqB,MAAO,SAET,CAAE3W,KAAM7K,EAAKxI,EAAE,YAAaD,MAAO,aAAciqB,MAAO,SACxD,CAAE3W,KAAM7K,EAAKxI,EAAE,eAAgBD,MAAO,gBAAiBiqB,MAAO,aAKpEtd,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAIXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,KAEP+K,E,kCAAiCxE,KAAKoL,a,kBAEzB,OAAM,GAASrW,IAAIyP,G,OAA9BvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,qDAE5C+C,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,wFCzIsa,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKsV,cAAA,KAAWpV,QAAA,OC5BzE,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIosD,QAAc,OAAEhsD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,iBAAiB,CAACmB,YAAY,cAAcjB,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAI5K,MAAM,KAAO,GAAG,MAAQ,GAAG,MAAQ,kBAAkBuL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,MAAW,CAACR,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAIzC,QAAQ,sBAAsByC,EAAIosD,QAAQr5D,OAAS,GAAG,eAAeiN,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACjlB,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACxC3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAAU,CAACtG,QAASqF,EAAKrF,aACpD,CAAC3D,EAAG,YAAY,CAACE,MAAM,CAAC,GAAK8I,EAAKrF,YAAY,IAAI,GAAG3D,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACzH3L,KAAM,aACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACtG,QAASqF,EAAKrF,aACf,CAAC/D,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKihE,iBAAiB,QAAQ,GAAGjqE,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,IAAI4I,EAAK2/D,YAAc,GAAG3uB,QAAQ,IAAI,aAAa,KAAK,MAAM,eAAe,IAAI,GAAGp6C,EAAI6C,MAC7M,GAAkB,GCmDP,UAAInB,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACPmC,SAAUrX,QAEZT,KALwB,aAMtB,MAAO,CACLoX,QAAS,MACTyiD,QAAS,KAGbtqD,SAAU,CAKR+nE,aALQ,aAMN,IAAMx/D,EAAWrX,OAAOyI,OAAO,GAAIwE,KAAKoK,SAAU,CAChD8lD,WAAY,OAEd,OAAO9lD,GAQTgB,YAjBQ,aAkBN,OAAOG,GAAsBvL,KAAK4pE,eAQpCtsE,QA1BQ,aA2BN,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,QAASD,MAAO,QAC/B,CACEsT,KAAM7K,EAAKxI,EAAE,oBACbgqB,MAAO,QACPjqB,MAAO,mBAET,CACEsT,KAAM7K,EAAKxI,EAAE,mBACbgqB,MAAO,QACPjqB,MAAO,iBAKf2M,MAAO,CAKLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAIXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,K,SAEPlF,E,0BAAyBxE,KAAKoL,a,SACnB,OAAM,GAASrW,IAAIyP,G,OAA9BvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,gBAE5C+C,KAAK0J,QAAU,M,oFCtIoa,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAClH,QAAA,KAAKsV,cAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI/X,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,GAAK,MAAM,CAACF,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,gCAAgCL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,gBAAgB,aAAa,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAImzD,gBAAgBjyD,GAAKG,WAAW,sBAAsB,IAAI,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAIzC,QAAQ,MAAQ,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,eAAeyC,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACp7B,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBnT,EAAK8lD,oBAAqB,6BAA8B,OAAO9uD,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKggE,WAAW,iBAAiB,IAAI,IAAI,IACjO,GAAkB,GCuDP,UAAI1nE,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAGZT,KALwB,aAMtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEPy5D,gBAAiB,GAEjB/G,QAAS,KAIbtqD,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CAOpD+nE,aAPoD,aAQlD,IAAMx/D,EAAWrX,OAAOyI,OAAO,GAAIwE,KAAKoK,UACxCA,EAAS8lD,WAAa,MACtB9lD,EAAS8oD,gBAAkBlzD,KAAKkzD,gBAChC,OAAO9oD,GAQTgB,YAnBoD,aAoBlD,OAAOG,GAAsBvL,KAAK4pE,eAGpCtsE,QAvBoD,aAwBlD,MAAO,CACL,CACEmL,KAAM7K,EAAKxI,EAAE,8BACbD,MAAO,uBAET,CAAEsT,KAAM7K,EAAKxI,EAAE,mBAAoBD,MAAO,YAAaiqB,MAAO,aAKpEtd,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,KACP+K,E,uCAAsCxE,KAAKoL,a,kBAG9B,OAAM,GAASrW,IAAIyP,G,OAA9BvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,qDAE5C+C,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,wFClI2a,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKsV,cAAA,KAAWpV,QAAA,OC5BzE,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0BL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,gBAAgB,aAAa,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAImzD,gBAAgBjyD,GAAKG,WAAW,sBAAsB,IAAI,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIs4B,MAAM,QAAUt4B,EAAIzC,QAAQ,MAAQ,GAAG,eAAeyC,EAAIS,GAAG,oBAAoB,IAAI,IAAI,IACr1B,GAAkB,GCyCP,UAAIiB,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAEZT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEPy5D,gBAAiB,GAEjB/G,QAAS,KAGbtqD,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CAEpDw2B,MAFoD,aAE/C,WACH,OAAO,IAAEhiC,IAAI2J,KAAKmsD,SAAS,SAAC5gC,GAC1B,OAAO,OAAP,wBACKA,GAAG,CACN0+C,aAAc1+C,EAAI0+C,aAAe,GAAG9vB,QAAQ,GAC5CswB,YAAa,EAAKnuD,sBAChBiP,EAAIm/C,cACJ,4BAWRptE,QApBoD,aAqBlD,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,wBAAyBD,MAAO,eAC/C,CAAEsT,KAAM7K,EAAKxI,EAAE,mBAAoBD,MAAO,YAAaiqB,MAAO,SAC9D,CAAE3W,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,cAAeiqB,MAAO,WASjEwqD,aAjCoD,aAkClD,IAAMx/D,EAAWrX,OAAOyI,OAAO,GAAIwE,KAAKoK,SAAU,CAChDuoD,aAAc,OAEhBvoD,EAAS8oD,gBAAkBlzD,KAAKkzD,gBAChC,OAAO9oD,GAQTgB,YA9CoD,aA+ClD,OAAOG,GAAsBvL,KAAK4pE,iBAGtC9nE,MAAO,CAKLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,KACP+K,E,iCAAgCxE,KAAKoL,a,kBAGxB,OAAM,GAASrW,IAAIyP,G,OAA9BvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,qDAE5C+C,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,wFCpIqa,MCOxb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKsV,cAAA,KAAWpV,QAAA,OC5BzE,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6BL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,gBAAgB,aAAa,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAImzD,gBAAgBjyD,GAAKG,WAAW,sBAAsB,IAAI,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAIzC,QAAQ,sBAAsB,GAAG,MAAQ,GAAG,qBAAqB,GAAG,eAAeyC,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACh7B,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBnT,EAAK2nD,iBAAkB,0BAA2B,OAAO3wD,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKggE,WAAW,iBAAiB,IAAI,IAAI,IAC3N,GAAkB,GCwDP,UAAI1nE,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAEZT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEPy5D,gBAAiB,GAEjB/G,QAAS,KAGbtqD,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CAOpD+nE,aAPoD,aAQlD,IAAMx/D,EAAWrX,OAAOyI,OAAO,GAAIwE,KAAKoK,UACxCA,EAAS8oD,gBAAkBlzD,KAAKkzD,gBAChC,OAAO9oD,GAQTgB,YAlBoD,aAmBlD,OAAOG,GAAsBvL,KAAK4pE,eAGpCtsE,QAtBoD,aAuBlD,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,2BAA4BD,MAAO,oBAClD,CAAEsT,KAAM7K,EAAKxI,EAAE,mBAAoBD,MAAO,YAAaiqB,MAAO,aAKpEtd,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,KACP+K,E,oCAAmCxE,KAAKoL,a,kBAG3B,OAAM,GAASrW,IAAIyP,G,OAA9BvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,qDAE5C+C,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,wFC7Hwa,MCO3b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKsV,cAAA,KAAWpV,QAAA,OC5BzE,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6BL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,gBAAgB,aAAa,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAImzD,gBAAgBjyD,GAAKG,WAAW,sBAAsB,IAAI,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,oBAAoB,CAACE,MAAM,CAAC,WAAWN,EAAIwiB,uBAAuB,WAAWxiB,EAAIopB,WAAW,YAAYppB,EAAIosD,QAAQ,WAAW,kBAAkB,WAAW,oBAAoB,aAAa,QAAQ,YAAY,GAAG,YAAY,OAAO,IAAI,IACl4B,GAAkB,GCDlB,GAAS,WAAa,IAAIpsD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIs4B,MAAM,QAAUt4B,EAAIzC,QAAQ,eAAeyC,EAAIS,GAAG,gBAAgB,MAAQ,GAAG,sBAAsB,GAAG,eAAe,IAAI6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,gBAAgB8P,GAAG,SAAS9E,GACpT,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAACgL,EAAG,OAAO,CAACmB,YAAY,qBAAqB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGpL,SAAc4K,EAAY,SAAE,CAACtK,IAAI,cAAc8P,GAAG,SAAS9E,GAC9H,IAAInD,EAAUmD,EAAInD,QACdqtE,EAAWlqE,EAAIkqE,SACnB,MAAO,CAACxqE,EAAG,KAAK,CAACmB,YAAY,oCAAoCvB,EAAI0F,GAAG,GAAU,SAAS0nC,EAAOv6C,GAAG,OAAOuN,EAAG,KAAK,CAAC1K,IAAI7C,EAAEgY,MAAM,CAAE,2BAA4B+/D,IAAY,CAAC,EAAWxqE,EAAG,MAAM,CAACmB,YAAY,oCAAoC,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGjD,EAAQ1K,GAAG6V,MAAM,OAAO1I,EAAI6C,KAAKzC,EAAG,MAAM,CAACyK,MAAM,CAAE,iCAAkC+/D,IAAY,CAAQ,IAAN/3E,EAASuN,EAAG,MAAM,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,OAAOL,EAAG,MAAM,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI6qE,UAAUz9B,EAAOh4C,QAAU,GAAG,cAAa,MAAM,MAAM,KAAK,SACjiB,GAAkB,G,aC+CP,UAAIsM,OAAO,CACxBsG,MAAO,CA4BL8iE,SAAU,CACR7xE,KAAME,MACN6f,SAAU,MAQZ+xD,QAAS,CACP9xE,KAAME,MACN6f,SAAU,MAMZgyD,QAAS,CACP/xE,KAAMgP,OACN6W,QAAS,OAQXmsD,QAAS,CACPhyE,KAAME,MACN6f,SAAU,MAMZkyD,QAAS,CACPjyE,KAAMgP,OACN6W,QAAS,OAMXqsD,UAAW,CACTlyE,KAAMgP,OACN6W,QAAS,SAOXssD,kBAAmBljE,QAOnBmjE,kBAAmBnjE,QAKnBojE,SAAUpjE,QAKVqjE,SAAUrjE,SAGZpG,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,oBAAkB,CAK7Cw2B,MAL6C,aAM3C,IAAM4tB,EAAc,GADjB,kBAEmBjmD,KAAKurE,UAFxB,MAEH,IAAK,EAAL,qBAAqC,CAEnC,IAFmC,IAA1BC,EAA0B,QAC7BjgD,EAAM,CAAErkB,MAAOlH,KAAKuhB,eAAeiqD,EAAQ92E,MAAO+2E,SAAU,GACzDC,EAAW,EAAGA,EAAW1rE,KAAK2rE,SAAS74E,OAAQ44E,IAAY,OAC5DE,EAAU5rE,KAAK2rE,SAASD,GACxBG,EAAgB,IAAEjtE,OAAOoB,KAAK6qE,UAAd,uBACnB7qE,KAAKirE,QAAUW,EAAQp1E,IADJ,kBAEnBwJ,KAAK+qE,QAAUS,EAAQh1E,IAFJ,IAIhBs1E,EAAY,IAAEC,MAAMF,EAAe7rE,KAAKkrE,WAC9C3/C,EAAI,MAAD,OAAOmgD,IAAcI,EACxBvgD,EAAIkgD,SAAWlgD,EAAIkgD,SAAWK,EAMhC,GAAmB,IAAfN,EAAQh1E,IAA6B,IAAjB+0B,EAAIkgD,SAC1B,SAEFxlB,EAAK7yD,KAAKm4B,IArBT,8BAwBH,OAAO06B,GAOT2kB,UApC6C,aAqC3C,IAAMoB,EAAS,CAAEP,SAAU,GADpB,kBAEWzrE,KAAKq4B,OAFhB,MAEP,IAAK,EAAL,qBACE,IAD4B,IAAnB9M,EAAmB,QACnBmgD,EAAW,EAAGA,EAAW1rE,KAAK2rE,SAAS74E,OAAQ44E,IAAY,CAClE,IAAMO,EAAO,MAAH,OAASP,GACnBM,EAAOC,IAASD,EAAOC,IAAS,GAAK1gD,EAAI0gD,GACzCD,EAAOP,UAAYO,EAAOP,UAAY,GAAKlgD,EAAI0gD,IAN5C,8BASP,OAAOD,GAQTT,SArD6C,aAsD3C,IAAI/oC,EAASxiC,KAAK8qE,SAAW,GACzB9qE,KAAKmrE,oBACP3oC,EAAQ,IAAEtnC,OAAOsnC,EAAO,CAAEhsC,GAAI,KAEhCgsC,EAAQ,IAAE3jC,OAAO2jC,GAAO,SAACptC,GAAD,OAAOA,EAAEkwB,MAAQ,UACzC,OAAOkd,GAQTmpC,SAnE6C,aAoE3C,IAAInpC,EAASxiC,KAAKgrE,SAAW,GACzBhrE,KAAKorE,oBACP5oC,EAAQ,IAAEtnC,OAAOsnC,EAAO,CAAEhsC,GAAI,KAEhCgsC,EAAQ,IAAE3jC,OAAO2jC,GAAO,SAACptC,GAAD,OAAOA,EAAEkwB,MAAQ,UACzC,OAAOkd,GAQTllC,QAjF6C,aAkF3C,IAAM0b,EAAW,GAIjBA,EAAE5lB,KAAK,CAAEqV,KAAM,GAAItT,MAAO,UAGtB6K,KAAKqrE,UACPryD,EAAE5lB,KAAK,CACLqV,KAAM7K,EAAKxI,EAAE,mBACbD,MAAO,WACPiqB,MAAO,UAIX,IAAK,IAAIssD,EAAW,EAAGA,EAAW1rE,KAAK2rE,SAAS74E,OAAQ44E,IAAY,CAClE,IAAME,EAAU5rE,KAAK2rE,SAASD,GACxBO,EAAO,MAAH,OAASP,GAKnB,GAAmB,IAAfE,EAAQp1E,IAAqC,IAAzBwJ,KAAK4qE,UAAUqB,GACrC,SAGFjzD,EAAE5lB,KAAK,CACLqV,KAAMzI,KAAKuhB,eAAeqqD,EAAQl3E,MAClCS,MAAO82E,EACP7sD,MAAO,UAIX,OAAOpG,OC/Q8a,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAClB,cAAA,OC8Bf,cAAIrW,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAGZT,KALwB,aAMtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEPy5D,gBAAiB,GAEjB/G,QAAS,KAIbtqD,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,gBACnB,eAAS,QAAS,CAAC,4BAA0B,CAOhD+nE,aAPgD,aAQ9C,IAAMx/D,EAAWrX,OAAOyI,OAAO,GAAIwE,KAAKoK,UACxCA,EAAS8lD,WAAa,MACtB9lD,EAAS8oD,gBAAkBlzD,KAAKkzD,gBAChC,OAAO9oD,GAQTgB,YAnBgD,aAoB9C,OAAOG,GAAsBvL,KAAK4pE,iBAItC9nE,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAEL+K,E,2CAA0CxE,KAAKoL,a,SACpC,OAAM,GAASrW,IAAIyP,G,OAA9BvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,qDAE5C+C,KAAKvG,MAAL,K,QAEFuG,KAAK0J,QAAU,M,4DAInBoK,WAAY,CACVo4D,wBCzH+b,MCO/b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC9pE,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKE,QAAA,OCoK/C,cAAIjB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KACPkvE,aAAc,MAEdC,MAAO,CACLC,YAAa,EACbC,WAAY,EACZE,gBAAiB,EACjBD,aAAc,GAGhB3+D,SAAU,CACRtG,QAAS,EACT2C,WAAY,KAIlB5E,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,iBAAe,CAEvCuJ,YAFuC,aAGrC,OAAOG,GAAsBvL,KAAKoK,aAGtCtI,MAAO,CACL6C,OAAQ,CACNV,UAAW,KACXC,QAFM,aAGJgI,GAAgBlM,KAAK2E,OAAQ3E,KAAKoK,YAGtCgB,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAIXpG,QAAS,CAODoG,UAPC,a,kKAQLpI,KAAKvG,MAAQ,KACbuG,KAAK0J,QAAU,K,kBAGb,OAAM1J,KAAKmsE,kB,WAEPnsE,KAAKoK,SAAStG,Q,yBAChB,OAAM9D,KAAK2I,OAAOlQ,SAAS,gCAAiC,CAC1DqL,QAAS9D,KAAKoK,SAAStG,QACvBiP,MAAO,Q,4DAIX/S,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,qFAQbyiE,gBA/BC,a,4KAgCC/gE,EAAcG,GAAsBvL,KAAKoK,UACzC5F,E,uBAAsB4G,G,SACX,OAAM,GAASrW,IAAIyP,G,OAA9BvH,E,OACFA,GAAYA,EAAS3K,MAAQ2K,EAAS3K,KAAKA,OAC7C0N,KAAK4oE,MAAQ3rE,EAAS3K,KAAKA,M,kDAIjCwhB,WAAY,CACVs4D,wBACAC,yBACAC,yBACAC,uBACAC,qBACAC,6BACAC,4BACAC,sBACAC,yBACAC,sBACA/8B,wBACAg9B,gCC5Rka,M,aCOla,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAAC1qE,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKC,cAAA,KAAWsqE,QAAA,KAAKzoE,mBAAA,KAAgB5B,QAAA,OC9B9F,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACmB,YAAY,QAAQ,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACE,MAAM,CAAC,OAAS,MAAM,IAAM,oBAAoBF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,0BAA0B,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,aAAa,OAAOL,EAAG,MAAM,CAACmB,YAAY,4CAA4C,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,UAAU,GAAGL,EAAG,QAAQ,CAAEJ,EAAW,QAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOL,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI+f,QAAQrV,QAAQ,SAAS1K,EAAI6C,KAAM7C,EAAe,YAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,eAAeN,EAAIigB,gBAAgB,GAAGjgB,EAAI6C,MAAM,IAAI,IACt3B,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAEJ,EAAIigB,YAA2B,gBAAE7f,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gCAAgC,OAAOL,EAAG,MAAM,CAACmB,YAAY,4CAA4C,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIigB,YAAY7Z,iBAAiB,UAAU,GAAGpG,EAAI6C,KAAKzC,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,gCAAgC,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIigB,YAAY5Z,eAAe,GAAIrG,EAAIigB,YAAsB,WAAE7f,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,8BAA8B,MAAQT,EAAIigB,YAAY3Z,cAActG,EAAI6C,KAAKzC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAIyR,kBAAkBzR,EAAIigB,YAAYvZ,eAAetG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAIkjE,WAAWj4D,KAAK,UAAU,GAAG7K,EAAG,aAAaA,EAAG,QAAQ,CAAEJ,EAAIijE,aAAmB,OAAE7iE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsBL,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIijE,aAAah4D,KAAK,OAAO,SAASjL,EAAI6C,KAAM7C,EAAImjE,YAAkB,OAAE/iE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqBL,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAImjE,YAAYl4D,KAAK,OAAO,SAASjL,EAAI6C,MAAM,GAAI7C,EAAImjE,YAAYpwE,QAAUiN,EAAIijE,aAAalwE,OAAQqN,EAAG,aAAaJ,EAAI6C,KAAM7C,EAAIigB,YAAYrZ,aAAe5G,EAAIigB,YAAYlZ,yBAA0B3G,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,MAAQN,EAAIS,GAAG,2BAA2B,MAAQT,EAAIigB,YAAYrZ,eAAexG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,MAAQN,EAAIS,GAAG,wCAAwC,MAAQT,EAAIigB,YAAYlZ,6BAA6B,GAAG/G,EAAI6C,MAC77D7C,EAAImjE,YAAYpwE,QAAUiN,EAAIijE,aAAalwE,UAC3CiN,EAAIigB,YAAYrZ,aAAe5G,EAAIigB,YAAYlZ,0BAChD3G,EAAG,aAAaJ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,2BAA2B,MAAQT,EAAIigB,YAAY1Z,eAAenG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,kBAAkB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIigB,YAAYzZ,YAAY,GAAGpG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,uCAAuC,MAAQT,EAAIigB,YAAYxZ,4BAA4B,IAAI,IAC3c,GAAkB,GC4GP,UAAI/E,OAAO,CACxBsG,MAAO,CACLiY,YAAajtB,QAEf8O,SAAU,OAAF,gFACH,eAAW,QAAS,CAAC,iBACrB,eAAS,WAAY,CAAC,YACtB,eAAW,UAAW,CAAC,iBACvB,eAAW,YAAa,CAAC,uBACzB,eAAW,QAAS,CAAC,eAAa,CACrCwG,OADqC,aAC/B,WACJ,IAAKrI,KAAKggB,YACR,MAAO,GAET,OAAO,IAAE/E,QAAQjb,KAAKggB,YAAYtZ,UAAY,IAAIrQ,KAAI,SAACG,GAAD,OACpD,EAAKqyB,YAAYryB,OAGrBysE,WATqC,aAS3B,WACR,OAAOjjE,KAAKqI,OAAOhS,KAAI,SAACuS,GACtB,OAAOA,EAAMF,MAAM,EAAKpM,YAG5B0mE,aAdqC,aAczB,WACV,IAAKhjE,KAAKggB,YACR,MAAO,GAET,OAAO,IAAE3pB,IAAI2J,KAAKggB,YAAYL,YAAY,SAACnpB,GAAD,OAAQ,EAAKwT,YAAYxT,OAErE0sE,YApBqC,aAoB1B,WACT,IAAKljE,KAAKggB,YACR,MAAO,GAET,OAAO,IAAE3pB,IAAI2J,KAAKggB,YAAYjZ,WAAW,SAACvQ,GAAD,OAAQ,EAAKiiB,UAAUjiB,WCjJoW,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACgM,QAAA,KAAKsC,YAAA,KAASpC,QAAA,OCsB7B,cAAIjB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAGN6I,QALwB,aAMtBnI,KAAKoI,aAGPvG,SAAU,OAAF,sCACH,eAAW,gBAAiB,CAAC,uBAC7B,eAAW,QAAS,CAAC,mBAAiB,CACzCme,YADyC,aAEvC,OAAOhgB,KAAKgtE,kBAAkBhtE,KAAKxJ,KAErCgJ,UAJyC,aAKvC,GAAIQ,KAAKggB,YACP,OAAOhgB,KAAKggB,YAAYxgB,UAE1B,OAAO,GAETsgB,QAVyC,aAWvC,GAAI9f,KAAKR,UACP,OAAOQ,KAAK6tB,cAAc7tB,KAAKR,WAEjC,OAAO,QAIXsC,MAAO,CACLtL,GADK,WACFwV,GACGhM,KAAKxJ,IACPwJ,KAAKoI,cAKXpG,QAAS,CACDoG,UADC,a,4LAGH,OAAMpI,KAAK2I,OAAOlQ,SAAS,iCAAkCuH,KAAKxJ,I,OAClEo5C,WAAW15C,OAAO25C,MAAO,K,mDAEnBo9B,E,KACFC,E,UAAkBD,EAAKv4E,K,aAASu4E,EAAKx1E,Q,MACrCw1E,EAAKx1E,QAAQ4E,MAAM,SACrB6wE,GAAgB,2BAAJ,OAA+BltE,KAAKxJ,KAElDwJ,KAAK2I,OAAOlQ,SAAZ,gCAAsDy0E,G,2DAI5Dp5D,WAAY,CACVq5D,sBACAhtD,mBCrGoa,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC3d,QAAA,KAAKC,cAAA,KAAWC,QAAA,OCzB9C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACnB,EAAG,sBAAsB,CAACE,MAAM,CAAC,MAAQN,EAAI4E,QAAQjE,GAAG,CAAC,aAAeX,EAAIyyD,iBAAiB,IACjO,GAAkB,GCDlB,GAAS,WAAa,IAAIzyD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACO,GAAG,CAAC,OAAS,SAASC,GAAQA,EAAOC,iBAAiB,OAAOb,EAAIqI,eAAe,CAACjI,EAAG,SAAS,CAACE,MAAM,CAAC,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,YAAY,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,QAAQ,mBAAmBN,EAAIkK,MAAQ,OAAS,SAAS,CAAC9J,EAAG,kBAAkB,CAACmB,YAAY,WAAW,CAACnB,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACN,EAAIO,GAAG,eAAeP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,MAAM,GAAGT,EAAIgG,GAAG,WAAW,GAAG5F,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAU,gBAAgB,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,6BAA6BU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAgC,wBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,0BAA2BnJ,IAAMG,WAAW,uCAAuC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,UAAY,GAAG,kBAAkB,IAAIU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAM,SAAWiM,WAAW,aAAaf,MAAM,CAAC,MAAQN,EAAIS,GAAG,gCAAgCO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,aAAa,cAAcO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,WAAW,aAAa,cAAcO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAqB,aAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,eAAgBnJ,IAAMG,WAAW,4BAA4B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,UAAY,GAAG,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAqB,aAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,eAAgBnJ,IAAMG,WAAW,4BAA4B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,aAAa,MAAM,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,UAAY,GAAG,MAAQ,GAAG,eAAiB,GAAG,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,uBAAwBrB,EAAIqK,SAAS1D,SAAS5T,OAAS,EAAGqN,EAAG,MAAM,CAACA,EAAG,gBAAgB,CAACmB,YAAY,YAAYjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,2BAA2B,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,SAASL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,SAAS,IAAI,GAAGT,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,+BAA+B,MAAQ,mBAAmB,aAAa,MAAM,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gCAAgC,MAAQ,mBAAmB,aAAa,MAAM,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA2B,mBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,qBAAsBnJ,IAAMG,WAAW,kCAAkC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,wBAAwB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,UAAY,GAAG,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,yBAA0BrB,EAAIqK,SAASuV,WAAW7sB,OAAS,EAAGqN,EAAG,MAAM,CAACA,EAAG,gBAAgB,CAACmB,YAAY,YAAYjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,6BAA6B,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,SAASL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,SAAS,IAAI,GAAGT,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,sBAAsB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,OAAS,YAAY,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA8B,sBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,wBAAyBnJ,IAAMG,WAAW,qCAAqC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,OAAS,YAAY,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiC,yBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,2BAA4BnJ,IAAMG,WAAW,wCAAwC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,MAAQ,6BAA6B,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA8B,sBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,wBAAyBnJ,IAAMG,WAAW,qCAAqC,IAAI,GAAGjB,EAAG,QAAQ,CAACmB,YAAY,QAAQ,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACmB,YAAY,6BAA6BjB,MAAM,CAAC,MAAQN,EAAIqtE,kBAAkB,QAAUrtE,EAAI2J,QAAQ,QAAU3J,EAAIzC,QAAQ,eAAe,GAAG,eAAeyC,EAAIS,GAAG,gBAAgB,eAAe,CAC3lN,yBAA0B,CAAC,GAAI,GAAI,GAAI,GAAI,MAC3C,KAAOT,EAAIyK,KAAKC,OAAO,iBAAiB1K,EAAIyK,KAAKE,KAAK,sBAAsB3K,EAAIyK,KAAKG,YAAY,MAAQ,IAAIjK,GAAG,CAAC,cAAc,SAASC,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,SAAU7J,IAAS,sBAAsB,SAASA,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,OAAQ7J,IAAS,wBAAwB,SAASA,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,OAAQ7J,IAAS,YAAYZ,EAAIstE,iBAAiBhoE,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,kBAAkB8P,GAAG,SAAS9E,GAC7b,IAAI0I,EAAO1I,EAAI0I,KAC3B,MAAO,CAAChJ,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK8I,EAAK1C,kBAAkB,KAAK,QAAS1G,EAAIuD,cAAc,2BAA4BnD,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,SAAS,KAAO,2DACvON,EAAIqL,cAAc,CAACjL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,mBAAmBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,MAAM,IAAI,GAAGT,EAAI6C,MAAM,IAAI,IAAI,IAAI,IAAI,IACxL,GAAkB,GCiQP,UAAInB,OAAO,CACxBsG,MAAO,CAMLtE,MAAO1Q,OAMPkX,MAAOhC,SAGTE,QAhBwB,aAiBlBnI,KAAKyD,OACPzD,KAAK2V,eAIP3V,KAAKoI,YAMLpI,KAAKoI,UAAY,IAAEwN,SAAS5V,KAAKoI,UAAW,KAC5CpI,KAAK2V,aAAe,IAAEC,SAAS5V,KAAK2V,aAAc,MAGpDrjB,KAhCwB,aAiCtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEPoc,gBAAiB,GACjBzL,SAAU,CACR8lD,WAAY,MACZlqD,cAAe,GACfG,gBAAiB,GACjBxC,aAAc,EACd+C,SAAU,GACV4P,cAAe,MACf9P,wBAAyB,MACzBmZ,WAAY,GACZ2tD,gBAAiB,MACjBC,sBAAuB,EACvB9mE,WAAY,EACZ+mE,gBAAiB,GACjBxD,aAAc,GACdyD,mBAAoB,EACpBC,cAAe,EACfva,sBAAuB,EACvBC,yBAA0B,EAC1Bua,SAAU,GAGZxhB,QAAS,GAET3hD,KAAM,CACJC,OAAQ,EACRC,KAAM,GACNC,YAAa,KAKnB9I,SAAU,OAAF,oDACH,eAAS,WAAY,CAAC,YACtB,eAAW,QAAS,CAAC,iBACrB,eAAW,OAAQ,CAAC,mBAAiB,CAExC6E,SAFwC,aAGtC,OAAO1G,KAAKoK,SAAS1D,UAGvBiZ,WANwC,aAOtC,OAAO3f,KAAKoK,SAASuV,YAOvBytD,kBAdwC,aAcvB,WACf,OAAO,IAAE/2E,IAAI2J,KAAKmsD,SAAS,SAACyhB,GAC1B,IAAMvlE,EAAS,IAAE1J,MAAMivE,EAAGlnE,UACvBrQ,IAAI,EAAKwyB,aACTxyB,KAAI,SAACuS,GACJ,GAAIA,EACF,OAAOA,EAAMF,MAAM,EAAKpM,WAG3BnH,QACA6V,KAAK,MAER,OAAOjY,OAAOyI,OAAOoyE,EAAI,CACvBC,iBAAkBxlE,QAUxB+C,YArCwC,aAsClC,IAAEa,QAAQjM,KAAK6V,mBACjB7V,KAAK6V,gBAAkB,IAAEe,UAAU5W,KAAKoK,WAE1C,IAAMyM,EAAKjK,GAAgB5M,KAAKoK,SAAUpK,KAAK6V,iBAC/C,OAAOtK,GAAsBsL,EAAI7W,KAAKwK,OAQxClN,QAlDwC,aAmDtC,MAAO,CACL,CACEmL,KAAM7K,EAAKxI,EAAE,yBACbD,MAAO,gBACP2hB,MAAO,SAET,CACErO,KAAM7K,EAAKxI,EAAE,oCACbD,MAAO,mBAET,CAAEsT,KAAM7K,EAAKxI,EAAE,0BAA2BD,MAAO,cACjD,CAAEsT,KAAM7K,EAAKxI,EAAE,2BAA4BD,MAAO,eAClD,CAAEsT,KAAM7K,EAAKxI,EAAE,uBAAwBD,MAAO,wBAKpD2M,MAAO,CAWL2B,MAXK,WAWC,GACJzD,KAAK2V,gBAMPvK,YAlBK,WAkBO8L,EAAgBE,GAC1BpX,KAAKoI,aAOPgC,SAAU,CACR+M,KAAM,KACNlT,UAAW,MACXC,QAHQ,WAGAgT,EAAQE,GACVpX,KAAKwK,KAAKG,YAAc,GAAK3K,KAAKwK,KAAKC,OAAS,IAClDzK,KAAKwK,KAAKC,OAAS,KAKzB/D,SApCK,WAoCIsF,GACHA,EAAIlZ,OAAS,IAGfkN,KAAKoK,SAASkM,cAAgB,QAIlCqJ,WA5CK,WA4CM3T,GACLA,EAAIlZ,OAAS,IAGfkN,KAAKoK,SAASkjE,gBAAkB,SAKtCtrE,QAAS,CAIP2T,aAJO,aAKLzJ,GAAgBlM,KAAKyD,MAAOzD,KAAKoK,SAAUpK,KAAKwK,OAQ5CpC,UAbC,a,0KAcLpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAGL+K,E,gCAA+BxE,KAAKoL,a,SAC9B,OAAM,GAAiBrW,IAAIyP,G,OAAjCsqC,E,OACN9uC,KAAKwK,KAAKG,YAAc,IAAE5V,IAAI+5C,EAAK,yBAA0B,GAC7D9uC,KAAKmsD,QAAU,IAAEp3D,IAAI+5C,EAAK,YAAa,IACvC9uC,KAAK8H,MAAM,eAAgB9H,KAAKoL,a,qDAEhCpL,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,qFAInB2jE,gBA9BO,WA8BS9hD,GACd,GAAOn4B,KAAK,CACVsB,KAAM,kBACN2K,OAAQ,CAAE7I,GAAIwR,OAAOujB,EAAI/0B,SAK/Bsd,WAAY,CACV6D,iBACAmB,yBACAyC,0BCjfyb,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAkBhC,KAAkB,GAAW,CAACpZ,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKsV,cAAA,KAAWC,SAAA,KAAMtD,SAAA,KAAMuD,UAAA,KAAOC,eAAA,KAAYvV,QAAA,KAAK4iC,WAAA,KAAQ3iC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UCzBpH,cAAIxD,OAAO,CACxBO,QAAS,CASPwwD,aATO,WASM9uD,GACG,KAAVA,IACFA,EAAQ,IAAH,OAAO2vD,UAAU3vD,KAExB,IAAM4vD,EAAU,GAAH,OAAMtzD,KAAK2E,OAAOwN,MAAlB,OAAyBzO,GAClC1D,KAAK2E,OAAOC,WAAa0uD,GAC3BtzD,KAAKoE,QAAQ2sC,QAAQuiB,KAK3Bx/C,WAAY,CACVg6D,0BCjCma,MCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACrrE,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI1C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,QAAQ,CAAEvB,EAAW,QAAEI,EAAG,QAAQ,CAACmB,YAAY,yBAAyB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA6BT,EAAI+f,QAAQ9mB,OAAO,MAAM+G,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOL,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI+f,QAAQrV,WAAWtK,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIk1C,mBAAmBl1C,EAAIigB,YAAYrc,eAAe,SAASxD,EAAG,QAAQ,CAACmB,YAAY,+BAA+BjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,OAAS,SAAS,GAAK,CAAE3L,KAAM,oBAAqB,MAAQ,KAAK,CAACyL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACN,EAAIO,GAAG,eAAe,IAAI,IAAI,GAAGP,EAAI6C,KAAM7C,EAAe,YAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACA,EAAG,MAAM,CAACmB,YAAY,0BAA0B,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,OAAOL,EAAG,qBAAqB,CAACE,MAAM,CAAC,eAAeN,EAAIigB,gBAAgB,GAAIjgB,EAAIiH,kBAAwB,OAAE7G,EAAG,YAAY,CAACmB,YAAY,oBAAoBjB,MAAM,CAAC,SAAW,MAAMN,EAAI6C,KAAM7C,EAAIiH,kBAAwB,OAAE7G,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kCAAkCL,EAAG,2BAA2B,CAACE,MAAM,CAAC,QAAUN,EAAIiH,sBAAsB,GAAGjH,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,UAAYN,EAAIP,cAAc,IAAI,IAAI,GAAGO,EAAI6C,MAAM,IACvnD,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAIuD,cAAc,kCAAmCnD,EAAG,qBAAqB,CAACE,MAAM,CAAC,UAAYN,EAAIP,UAAU,OAAS,eAAeO,EAAI6C,OAAO4C,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,GAAGL,EAAG,cAAc,CAACA,EAAG,mBAAmB,CAACE,MAAM,CAAC,OAASN,EAAIizB,WAAW,IAAI,IAChhB,GAAkB,GC4BP,UAAIvxB,OAAO,CACxBsG,MAAO,CACLvI,UAAWF,QAEb6I,QAJwB,aAKtBnI,KAAKoI,aAEP9V,KAPwB,aAQtB,MAAO,CACLoX,QAAS,QAGb5H,MAAO,CACLtC,UADK,WACKwM,GACRhM,KAAKoI,cAGTvG,SAAU,OAAF,oDACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,QAAS,CAAC,4BACrB,eAAS,QAAS,CAAC,sBAAoB,CAE1CmxB,OAF0C,aAEpC,WACAspB,EAAyBt8C,KAAK8zB,uBAAuB9zB,KAAKR,WAC9D88C,EAAU,IAAE19C,OAAO09C,GAAS,SAAC5lD,GAC3B,IAAM08B,EAAa,IAAEr+B,IAAI2B,EAAG,cACtBwlB,EAAS,IAAEnnB,IAAI2B,EAAG,kBACxB,GAAIwlB,EAAQ,CACV,IAAM6xD,EAAY,IAAEvkD,KAAK,EAAKxG,iBAAkB,CAAExsB,GAAI0lB,IACtD,GAAI6xD,EACF,MAA4B,cAArBA,EAAU15E,OAGrB,OAAO,SAET,OAAOioD,KAGXt6C,QAAS,CACDoG,UADC,a,kKAELpI,KAAK0J,QAAU,K,SACf,OAAM1J,KAAK2I,OAAOlQ,SAAS,qCAAsC,CAC/D+G,UAAWQ,KAAKR,UAChBuT,MAAO,Q,OAET/S,KAAK0J,QAAU,M,kDAGnBoK,WAAY,CACVqyD,oBACAC,yBC/Ema,MCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAChkE,SAAA,KAAME,UAAA,QAAU0C,YAAA,KAASC,cAAA,UCgDxC,cAAIxD,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAEN6I,QAJwB,aAKtBnI,KAAKoI,aAEPtG,MAAO,CACLtL,GADK,WACFwV,GACGhM,KAAKxJ,IACPwJ,KAAKoI,cAIXvG,SAAU,OAAF,sCACH,eAAW,gBAAiB,CAAC,oBAAqB,wBAClD,eAAW,QAAS,CAAC,gBAAiB,+BAA6B,CACtEme,YADsE,aAEpE,OAAOhgB,KAAKgtE,kBAAkBhtE,KAAKxJ,KAErCgJ,UAJsE,aAKpE,GAAIQ,KAAKggB,YACP,OAAOhgB,KAAKggB,YAAYxgB,UAE1B,OAAO,GAETsgB,QAVsE,aAWpE,GAAI9f,KAAKR,UACP,OAAOQ,KAAK6tB,cAAc7tB,KAAKR,WAEjC,OAAO,MAETwH,kBAhBsE,aAiBpE,GAAIhH,KAAKR,UACP,OAAOQ,KAAK4c,0BAA0B5c,KAAKR,WAE7C,MAAO,MAGXwC,QAAS,CACDoG,UADC,a,oLAIH,OAAMpI,KAAK2I,OAAOlQ,SAAS,iCAAkCuH,KAAKxJ,I,WAC9DwJ,KAAKR,U,yBACP,OAAMQ,KAAK2I,OAAOlQ,SAAS,qBAAsBuH,KAAKR,W,gBACtD,OAAMQ,KAAK2I,OAAOlQ,SAAS,yCAA0C,CACnE+G,UAAWQ,KAAKR,Y,4DAIhB,KAAE/H,QAAQ4E,MAAM,YAClB2D,KAAK2I,OAAOlQ,SAAZ,0CAEK,KAAE/D,KAFP,aAEgB,KAAE+C,QAFlB,qCAEsDuI,KAAKxJ,K,4DAMnEsd,WAAY,CACVq5D,sBACAa,mBACAhY,+BCzIma,MCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAC7zD,QAAA,KAAKK,QAAA,KAAKC,cAAA,KAAWqC,YAAA,KAAS2P,SAAA,KAAM/R,QAAA,OC5BlE,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,KAAO,GAAG,MAAQ,UAAU,CAACF,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqBT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,IAAI,GAAK,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACnB,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAKN,EAAIqK,SAAS3D,YAAc,EAAE,GAAK,CAAE/R,KAAM,qBAAsBgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,eAAgB,GAAGjK,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACnB,EAAG,uBAAuB,CAACE,MAAM,CAAC,GAAKN,EAAIqK,SAASzG,cAAgB,EAAE,GAAK,CAAEjP,KAAM,qBAAsBgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,eAAgB,KAAMrK,EAAW,QAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,OAAO,GAAGN,EAAI6C,MAAM,IAAI,IAAI,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,gBAAgB,GAAG,MAAQ,KAAK,CAACF,EAAG,8BAA8B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,UAAUrJ,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI4oE,aAAa1nE,GAAKG,WAAW,kBAAkBjB,EAAG,gCAAgC,CAACE,MAAM,CAAC,SAAWN,EAAIqK,UAAUrJ,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI4oE,aAAa1nE,GAAKG,WAAW,mBAAmB,GAAKrB,EAAI2J,QAG1+B3J,EAAI6C,KAH++BzC,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,iBAAiB,CAACF,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,aAAa,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACxkD3L,KAAM,oBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAAU,CAAC8lD,WAAY,UAClD,CAAC/vD,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAI6oE,MAAMqF,qBAAqB,IAAI,GAAG9tE,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mCAAmC,SAASL,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,aAAa,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,IAAIR,EAAI6oE,MAAMsF,oBAAsB,GAAG/zB,QAAQ,IAAI,OAAOh6C,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,6BAA6B,GAAYH,EAAG,QAAQ,CAACE,MAAM,CAAC,gBAAgB,KAAK,CAACF,EAAG,yBAAyB,CAACE,MAAM,CAAC,SAAWN,EAAIqK,YAAYjK,EAAG,8BAA8B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,YAAYjK,EAAG,2BAA2B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,aAAa,GAAGjK,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,2BAA2B,CAACE,MAAM,CAAC,OAAS,YAAY,SAAWN,EAAIouE,oBAAoB,IAAI,IAAI,IAC/zB,GAAkB,GCJlB,GAAS,WAAa,IAAIpuE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0BL,EAAG,QAAQ,CAACA,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,aAAa,QAAQ,gBAAgB,aAAa,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIytE,gBAAgBvsE,GAAKG,WAAW,sBAAsB,IAAI,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAON,EAAIosD,QAAQ,cAAgB,aAAa,SAAW,mBAAmB,WAAapsD,EAAIS,GAAG,sBAAsB,OAAS,CAAC,UAAW,eAAe,IAAI,IAAI,IAC5vB,GAAkB,GCqCP,UAAIiB,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAGZT,KALwB,aAMtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEP+zE,gBAAiB,GAEjBrhB,QAAS,KAIbtqD,SAAU,CAMR+nE,aANQ,aAON,IAAMx/D,EAAWrX,OAAOyI,OAAO,GAAIwE,KAAKoK,SAAU,CAChD8lD,WAAY,MACZsd,gBAAiBxtE,KAAKwtE,kBAExB,OAAOpjE,GAQTgB,YAnBQ,aAoBN,OAAOG,GAAsBvL,KAAK4pE,gBAItC9nE,MAAO,CAKLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAEL+K,E,qCAAoCxE,KAAKoL,a,SAC9B,OAAM,GAAiBrW,IAAIyP,G,OAAtCvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,qDAE5C+C,KAAKvG,MAAL,K,QAEFuG,KAAK0J,QAAU,M,8DCtG2a,MCO5b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKE,QAAA,OC3B9D,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIosD,QAAc,OAAEhsD,EAAG,QAAQ,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,IAAI,GAAGL,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAIzC,QAAQ,eAAeyC,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,eAAe8P,GAAG,SAAS9E,GACze,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAACgL,EAAG,aAAa,CAACE,MAAM,CAAC,GAAKlL,QAAY,CAACM,IAAI,aAAa8P,GAAG,SAAS9E,GAC/E,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACxB3L,KAAM,oBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAAC1D,SAAUyC,EAAKye,aAChB,CAACznB,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ8I,EAAKw0B,UAAU,OAAO,KAAK,SAAS,IAAI,IAAI,GAAG59B,EAAI6C,MAC5F,GAAkB,GCwCP,UAAInB,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAEZT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MACTyiD,QAAS,KAGbtqD,SAAU,CACRvE,QADQ,aAEN,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,kBAAmBD,MAAO,UAAW0lB,SAAU,OAC9D,CACEpS,KAAM,uBACNtT,MAAO,QACPiqB,MAAO,QACPvE,SAAU,UAKlB/Y,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAIXpG,QAAS,CACDoG,UADC,a,4KAELpI,KAAK0J,QAAU,K,SAEP0B,EAAcG,GAAsBvL,KAAKoK,UACzC5F,E,kCAAiC4G,G,SACtB,OAAM,GAAiBrW,IAAIyP,G,OAAtCvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,gBAE5C+C,KAAK0J,QAAU,M,kFAKrBoK,WAAY,CACVygC,iBC/F8b,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACnyC,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKsV,cAAA,KAAWpV,QAAA,OC5BzE,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIosD,QAAc,OAAEhsD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,iBAAiB,CAACmB,YAAY,cAAcjB,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAI5K,MAAM,KAAO,GAAG,MAAQ,GAAG,KAAO,GAAG,MAAQ,SAASuL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,MAAW,CAACR,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAIzC,QAAQ,eAAeyC,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACpiB,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACxC3L,KAAM,qBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACzG,aAAcwF,EAAKxF,kBACpB,CAACxD,EAAG,iBAAiB,CAACE,MAAM,CAAC,GAAK8I,EAAKxF,iBAAiB,IAAI,GAAGxD,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACnI3L,KAAM,oBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACzG,aAAcwF,EAAKxF,kBACpB,CAAC5D,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK8kE,kBAAkB,QAAQ,GAAG9tE,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,IAAI4I,EAAK+kE,oBAAsB,GAAG/zB,QAAQ,IAAI,IAAIp6C,EAAIQ,GAAGR,EAAIS,GAAG,cAAc,aAAa,KAAK,MAAM,eAAe,IAAI,GAAGT,EAAI6C,MACtP,GAAkB,GCsDP,UAAInB,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACPmC,SAAUrX,QAEZT,KALwB,aAMtB,MAAO,CACLoX,QAAS,MACTyiD,QAAS,KAGbtqD,SAAU,CAMRuJ,YANQ,aAON,OAAOG,GAAsBvL,KAAKoK,WAQpC9M,QAfQ,aAgBN,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,QAASD,MAAO,QAC/B,CACEsT,KAAM7K,EAAKxI,EAAE,kCACbgqB,MAAO,QACPjqB,MAAO,oBAET,CACEsT,KAAM,uBACN2W,MAAO,QACPjqB,MAAO,yBAMf2M,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,K,SAEPlF,E,uCAAsCxE,KAAKoL,a,SAChC,OAAM,GAAiBrW,IAAIyP,G,OAAtCvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,gBAE5C+C,KAAK0J,QAAU,M,oFC7Hgb,MCOnc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAClH,QAAA,KAAKsV,cAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI/X,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIosD,QAAc,OAAEhsD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,iBAAiB,CAACmB,YAAY,cAAcjB,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAgBT,EAAIoqE,yBAAyB,MAAQpqE,EAAI5K,MAAM,KAAO,GAAG,MAAQ,GAAG,KAAO,GAAG,MAAQ,SAASuL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,MAAW,CAACR,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAIzC,QAAQ,eAAeyC,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACzjB,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACxC3L,KAAM,qBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAAC3D,WAAY0C,EAAK1C,gBAClB,CAACtG,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAK8I,EAAK1C,eAAe,IAAI,GAAGtG,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAChI3L,KAAM,oBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAAC3D,WAAY0C,EAAK1C,gBAClB,CAAC1G,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK8kE,kBAAkB,QAAQ,GAAG9tE,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,IAAI4I,EAAK+kE,oBAAsB,GAAG/zB,QAAQ,IAAI,IAAIp6C,EAAIQ,GAAGR,EAAIS,GAAG,cAAc,aAAa,KAAK,MAAM,eAAe,IAAI,GAAGT,EAAI6C,MACtP,GAAkB,GCwDP,UAAInB,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACPmC,SAAUrX,QAEZT,KALwB,aAMtB,MAAO,CACLoX,QAAS,MACTyiD,QAAS,KAGbtqD,SAAU,OAAF,wBACH,eAAW,YAAa,CAAC,kBAAmB,uBAAqB,CAEpE4P,YAFoE,aAGlE,OAAO,IAAE9S,MAAMqB,KAAKmsD,SAAW,IAC5B91D,IAAI,cACJA,IAAI2J,KAAK+Q,iBACTkK,UACA9lB,SAOLg1E,wBAdoE,aAelE,IAAM3nC,EAAQ,IAAEnsC,IAAI2J,KAAKyR,aAAe,GAAI,QAC5C,OAAO,IAAE9S,MAAM6jC,GACZmZ,UACAW,UACAkB,MAAM,IAAE1oB,MACR2oB,OACAtoD,SAQLiW,YA7BoE,aA8BlE,OAAOG,GAAsBvL,KAAKoK,WAGpC9M,QAjCoE,aAkClE,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,QAASD,MAAO,QAC/B,CACEsT,KAAM7K,EAAKxI,EAAE,kCACbgqB,MAAO,QACPjqB,MAAO,oBAET,CACEsT,KAAM,uBACN2W,MAAO,QACPjqB,MAAO,0BAMf2M,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,K,SAEPlF,E,qCAAoCxE,KAAKoL,a,SACnC,OAAM,GAAiBrW,IAAIyP,G,OAAjCsqC,E,OACN9uC,KAAKmsD,QAAU,IAAEp3D,IAAI+5C,EAAK,YAAa,I,gBAEvC9uC,KAAK0J,QAAU,M,oFClJ8a,MCOjc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAClH,QAAA,KAAKsV,cAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI/X,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIosD,QAAc,OAAEhsD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,IAAI,GAAGL,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIs4B,MAAM,QAAUt4B,EAAIzC,QAAQ,eAAeyC,EAAIS,GAAG,gBAAgB,sBAAsB,GAAG,eAAe,IAAI6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,aAAa8P,GAAG,SAAS9E,GACvkB,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAAC4K,EAAIO,GAAG,IAAIP,EAAIQ,GAAGpL,GAAO,QAAQ,CAACM,IAAI,aAAa8P,GAAG,SAAS9E,GACvE,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACxB3L,KAAM,oBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACsjE,cAAevkE,EAAKoN,gBACrB,CAACpW,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ8I,EAAKw0B,UAAU,OAAO,KAAK,SAAS,IAAI,IAAI,GAAG59B,EAAI6C,MAC5F,GAAkB,GCyCP,UAAInB,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAGZT,KALwB,aAMtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEP0yD,QAAS,KAGbtqD,SAAU,OAAF,sCACH,eAAS,QAAS,CAAC,gBACnB,eAAW,WAAY,CAAC,2BAAyB,CAEpDw2B,MAFoD,aAE/C,WACG0b,EAAQ,IAAEg4B,MAAM/rE,KAAKmsD,QAAS,SACpC,OAAO,IAAE91D,IAAI2J,KAAKmsD,SAAS,SAAC5gC,GAAD,OAAS,6BAClCrkB,MAAO,EAAKoV,sBAAsBiP,EAAIhV,WAAY,EAAK4S,aACpDoC,GAAG,CACN69C,QAAS/pC,KAAKg6B,MAAO9tC,EAAIoS,MAAQoW,EAAS,KAAO,UAIrD3oC,YAXoD,aAYlD,OAAOG,GAAsBvL,KAAKoK,WAGpC9M,QAfoD,aAgBlD,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,mBAAoBD,MAAO,SAC1C,CAAEsT,KAAM7K,EAAKxI,EAAE,sBAAuBD,MAAO,QAASiqB,MAAO,SAC7D,CACE3W,KAAM7K,EAAKxI,EAAE,wBACbD,MAAO,UACPiqB,MAAO,aAMftd,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,4KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAGL2R,EAAcG,GAAsBvL,KAAKoK,UACzC5F,E,qCAAoC4G,G,SACzB,OAAM,GAAiBrW,IAAIyP,G,OAAtCvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,qDAE5C+C,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,wFCnH8a,MCOjc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKsV,cAAA,KAAWpV,QAAA,OC5BzE,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,OAAS,kBAAkB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,OAASR,KAAK3L,OAA0Q0L,EAAI6C,KAAtQzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,MAAQT,EAAI43C,eAAe52C,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIquE,eAAentE,GAAKG,WAAW,qBAAqB,GAAYjB,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,WAAW,aAAa,QAAQ,gBAAgB,aAAa,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAIiqE,aAAa/oE,GAAKG,WAAW,mBAAmB,IAAI,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIs4B,MAAM,QAAUt4B,EAAIzC,QAAQ,MAAQ,GAAG,eAAeyC,EAAIS,GAAG,gBAAgB,UAAU,eAAe,YAAY,SAAS,IAAI,IAC1nC,GAAkB,GC8EP,UAAIiB,OAAO,CACxBsG,MAAO,CACL1T,OAAQ2T,OACRoC,SAAUrX,QAGZT,KANwB,aAOtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEP20E,eAAgBpuE,KAAK3L,QAAUutB,GAAsBG,cAErDioD,aAAc,GAEd7d,QAAS,KAIbtqD,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CAEpDw2B,MAFoD,aAE/C,WACH,OAAO,IAAEhiC,IAAI2J,KAAKmsD,SAAS,SAAC5gC,GAAD,OAAS,+BAC/BA,GAAG,CACNmsB,gBAAiB,EAAKp7B,sBACpBiP,EAAI2oC,kBACJ,gCAUN0V,aAjBoD,aAkBlD,OAAO72E,OAAOyI,OAAO,GAAIwE,KAAKoK,SAAU,CACtC8lD,WAAY,MACZ77D,OAAQ2L,KAAKouE,eACbpE,aAAchqE,KAAKgqE,gBASvB5+D,YA9BoD,aA+BlD,OAAOG,GAAsBvL,KAAK4pE,eAMpCjyB,cArCoD,aAsClD,OAAO91B,GAA0BxrB,KAAI,SAAC9B,GAAD,MAAQ,CAC3CY,MAAOZ,EACPkU,KAAM7K,EAAKxI,EAAE,0BAA4Bb,QAS7C+I,QAjDoD,aAkDlD,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,4BAA6BD,MAAO,mBACnD,CACEsT,KAAM7K,EAAKxI,EAAE,SACbgqB,MAAO,QACPjqB,MAAO,cAET,CACEsT,KAAM,KAAO7K,EAAKxI,EAAE,kBACpBgqB,MAAO,QACPjqB,MAAO,oBAMf2M,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAEL+K,E,+BAA8BxE,KAAKoL,a,SACxB,OAAM,GAAiBrW,IAAIyP,G,OAAtCvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,qDAE5C+C,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,wFCzL2a,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKsV,cAAA,KAAWpV,QAAA,KAAKujB,WAAA,KAAQlhB,WAAA,OCgFvE,cAAItD,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoX,QAAS,MAETi/D,aAAc,MAEdv+D,SAAU,CACR8lD,WAAY,KACZzpD,WAAY,EACZ9C,aAAc,GAIhBilE,MAAO,CACLqF,iBAAkB,EAClBC,mBAAoB,KAI1BrsE,SAAU,CAKRssE,gBALQ,aAMN,MAAO,CACLje,WAAYlwD,KAAKoK,SAAS8lD,WAC1Bme,0BAA2BruE,KAAKoK,SAAS3D,WACzC6nE,kBAAmBtuE,KAAKoK,SAASzG,gBAKvC7B,MAAO,CACL6C,OAAQ,CACNV,UAAW,KACXC,QAFM,aAGJgI,GAAgBlM,KAAK2E,OAAQ3E,KAAKoK,UAClCpK,KAAKoI,eAKXpG,QAAS,CAMDoG,UANC,a,8KAOLpI,KAAK0J,QAAU,K,SAEP0B,EAAcG,GAAsBvL,KAAKoK,UACzC5F,E,+BAA8B4G,G,SACnB,OAAM,GAAiBrW,IAAIyP,G,OAAtCvH,E,OACA8sE,EAAW,IAAEh1E,IAAIkI,EAAU,YAAa,IAC9C+C,KAAK4oE,MAAQ71E,OAAOyI,OAAOwE,KAAK4oE,MAAOmB,G,gBAEvC/pE,KAAK0J,QAAU,M,kFAKrBoK,WAAY,CACVy6D,0BACAC,4BACAC,iCACAC,+BACAC,+BACAC,+BCpLsa,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACxsE,SAAA,KAAMG,WAAA,QAAWC,QAAA,KAAKC,cAAA,KAAW6B,mBAAA,KAAgB5B,QAAA,OC5B/E,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,mBAAmB,CAACE,MAAM,CAAC,GAAKN,EAAIvJ,MAAM2J,EAAG,cAAc,CAAsB,gBAApBJ,EAAI8uE,YAA+B1uE,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAKN,EAAIvJ,MAAMuJ,EAAI6C,KAA0B,kBAApB7C,EAAI8uE,YAAiC1uE,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAKN,EAAIvJ,MAAMuJ,EAAI6C,KAA0B,uBAApB7C,EAAI8uE,YAAsC1uE,EAAG,qBAAqB,CAACE,MAAM,CAAC,GAAKN,EAAIvJ,MAAMuJ,EAAI6C,MAAM,IAAI,IAC7b,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,QAAQJ,EAAI0F,GAAI1F,EAAc,YAAE,SAAS+uE,EAAUl8E,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAI7C,EAAEyN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAIgvE,4BAA4BD,GAAY,CAACr5E,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACnB,EAAG,OAAO,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iCAAiC,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBvc,EAAIgvE,4BAA4BD,GAAY,qBAAsB,SAAStpE,MAAM,MAAM,MAAM,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI0Y,UAAUq2D,EAAUlvE,UAAU,KAAKO,EAAG,SAAS,GAAGA,EAAG,kBAAkB,CAACE,MAAM,CAAC,UAAYN,EAAIvJ,GAAG,gBAAkBuJ,EAAIivE,4BAA4BF,GAAW,mBAAmB,qBAAqBzpE,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,MAAM8P,GAAG,SAAS9E,GACv9B,IAAIlB,EAAOkB,EAAIlB,KACXiI,EAAW/G,EAAI+G,SACfynE,EAAcxuE,EAAIwuE,YACtB,MAAO,CAAC,EAAc9uE,EAAG,OAAO,CAACJ,EAAIO,GAAG,SAASP,EAAI6C,KAAK7C,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsB/c,EAAK48B,QAAS,sBAAsB,KAAKp8B,EAAIQ,GAAGhB,EAAKkL,QAAQ,KAAK,EAAWtK,EAAG,OAAO,CAACmB,YAAY,qBAAqB,CAACvB,EAAIO,GAAG,MAAMP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8B,SAAST,EAAI6C,QAAQ,CAACnN,IAAI,UAAU8P,GAAG,SAAS9E,GACzU,IAAIlB,EAAOkB,EAAIlB,KACf,MAAO,CAACY,EAAG,2BAA2B,CAACE,MAAM,CAAC,UAAYN,EAAIvJ,GAAG,OAAS+I,EAAK/I,GAAG,QAAUs4E,EAAUlvE,eAAe,KAAK,SAAS,IAAI,MAAK,IAAI,IAC5I,GAAkB,GCPlB,GAAS,WAAa,IAAIG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,mBAAmBN,EAAImvE,iBAAiBnuE,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAIovE,UAAUluE,GAAKG,WAAW,cAAc,CAACrB,EAAI0F,GAAI1F,EAAQ,MAAE,SAASqvE,GAAK,OAAOjvE,EAAG,QAAQ,CAAC1K,IAAI25E,EAAI7vE,KAAK/I,GAAG6J,MAAM,CAAC,SAAW+uE,EAAI5nE,WAAW,CAACzH,EAAIgG,GAAG,OAAM,WAAW,MAAO,CAAEqpE,EAAe,YAAEjvE,EAAG,OAAO,CAACJ,EAAIO,GAAG,SAASP,EAAI6C,KAAK7C,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsB8yD,EAAI7vE,KAAK48B,QAASp8B,EAAI2iB,cAAc,KAAK3iB,EAAIQ,GAAG6uE,EAAI7vE,KAAKkL,QAAQ,QAAO,KAAK2kE,IAAM,MAAKrvE,EAAI0F,GAAI1F,EAAQ,MAAE,SAASqvE,GAAK,OAAOjvE,EAAG,aAAa,CAAC1K,IAAI25E,EAAI54E,IAAI,CAAC2J,EAAG,MAAM,CAACmB,YAAY,QAAQ,CAACvB,EAAIgG,GAAG,UAAU,KAAK,KAAKqpE,IAAM,SAAQ,IACvsB,GAAkB,GC8BP,UAAI3tE,OAAO,CACxBsG,MAAO,CACLvI,UAAWF,OACX+vE,gBAAiBn2E,MACjBg2E,gBAAiBlnE,QAEnB1V,KANwB,aAOtB,MAAO,CACL68E,UAAW,OAGfttE,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CACrB,kBACA,gBACA,yBAEC,eAAS,QAAS,CAAC,iBAAe,CACrCie,QADqC,aAEnC,OAAO9f,KAAK6tB,cAAc7tB,KAAKR,YAEjCkwD,MAJqC,aAKnC,OAAO1vD,KAAK2yB,gBAAgB3yB,KAAKR,YAEnC8vE,KAPqC,aAOjC,WACF,OAAO,IAAE3wE,MAAMqB,KAAK0vD,OACjBnyB,QAAQ,UAAW,QACnBlnC,KAAI,SAACkJ,GACJ,MAAO,CACLA,OACA0vE,YAAa,EAAKnvD,SAAW,EAAKA,QAAQyvD,gBAAkBhwE,EAAK/I,GACjEgR,SAAU,IAAE3M,SAAS,EAAKw0E,iBAAmB,GAAI9vE,EAAK/I,QAGzDrB,WAGP2M,MAAO,CACLwtE,KADK,WACA,GACHtvE,KAAKmvE,UAAY,IAAEK,cAAc,EAAM,CAAEhoE,SAAU,SAAY,MCvEkW,M,uCCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACioE,QAAA,KAAKC,YAAA,KAASC,SAAA,OCzB5C,IAAI,GAAS,WAAa,IAAI5vE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAAEN,EAAa,UAAEI,EAAG,cAAc,CAACJ,EAAI0F,GAAI1F,EAAoB,kBAAE,SAASktC,GAAK,OAAO9sC,EAAG,QAAQ,CAAC1K,IAAIw3C,EAAIz2C,GAAG8K,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,eAAejB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAG0sC,EAAIv4C,KAAKqL,EAAIzD,SAAS,OAAOyD,EAAI0F,GAAI1F,EAAI6vE,uBAAuB3iC,EAAIz2C,KAAK,SAAShC,GAAG,OAAO2L,EAAG,QAAQ,CAAC1K,IAAIjB,EAAEgC,GAAG6J,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAAE7L,EAAEgzD,eAA+B,iBAAErnD,EAAG,iCAAiC,CAACE,MAAM,CAAC,kBAAoB7L,KAAKuL,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,+BAA+B,CAACmB,YAAY,sBAAsBjB,MAAM,CAAC,UAAY7L,KAAMA,EAAEgzD,eAAyB,WAAErnD,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,uBAAuB,CAACE,MAAM,CAAC,UAAYN,EAAI+uE,UAAUtvE,UAAU,QAAUO,EAAI+uE,UAAUlvE,YAAY,GAAGO,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAE7L,EAAEgzD,eAAyB,WAAErnD,EAAG,oBAAoB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,UAAYN,EAAI+uE,UAAUtvE,UAAU,QAAUO,EAAI+uE,UAAUlvE,WAAWG,EAAI6C,MAAM,IAAI,GAAG7C,EAAI6C,KAAMpO,EAAEgzD,eAA6B,eAAErnD,EAAG,0BAA0B,CAACmB,YAAY,OAAOjB,MAAM,CAAC,QAAUN,EAAI+uE,UAAUlvE,WAAWG,EAAI6C,MAAM,IAAI,IAAI,OAAM,MAAM7C,EAAIirC,yBAA+B,OAAE7qC,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,eAAejB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mCAAmC,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAKN,EAAI0F,GAAI1F,EAA4B,0BAAE,SAASvL,GAAG,OAAO2L,EAAG,QAAQ,CAAC1K,IAAIjB,EAAEgC,GAAG6J,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACmB,YAAY,iBAAiBjB,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,+BAA+B,CAACE,MAAM,CAAC,UAAY7L,MAAM,IAAI,IAAI,MAAK,IAAI,IAAI,GAAGuL,EAAI6C,MAAM,GAAG7C,EAAI6C,MAAM,IACv8D,GAAkB,GCDlB,GAAS,WACb,IAAIqZ,EAASjc,KACTD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,yBAAyBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC3F,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,UAAU,GAAG,MAAQ,cAAcyF,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,UAAU,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,MAAM,QAAQO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIw5D,OAAOt4D,GAAKG,WAAW,aAAa,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK8gB,EAAOhD,MAAM7jB,EAAE,qBAAuB2L,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAIgxD,aAAa9vD,GAAKG,WAAW,mBAAmB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK8gB,EAAOhD,MAAM7jB,EAAE,qBAAuB2L,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAIy9D,cAA8B,kBAARv8D,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAUO,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAImxD,MAAsB,kBAARjwD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,YAAY,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,kBAAkB,IAAI,IAAI,IAAI,IAAI,IAC31D,GAAkB,GCwDP,UAAIoB,OAAO,CACxBsG,MAAO,CACLvI,UAAWF,OACXM,QAASN,QAEXhN,KALwB,aAMtB,MAAO,CACLoF,OAAQ,MACR6hE,OAAQ,OAAS/5C,SACjBuxC,aAAc,EACdyM,cAAe,GACftM,MAAO,GACPz3D,MAAO,OAGXuI,QAAS,CAKP4D,MALO,aAML5F,KAAKu5D,OAAS,OAAS/5C,SACvBxf,KAAK+wD,aAAe,EACpB/wD,KAAKw9D,cAAgB,GACrBx9D,KAAKkxD,MAAQ,IAQTrrD,KAjBC,a,4KAkBL7F,KAAKvG,MAAQ,K,kBAEM,OAAM,GAASka,KAAK,0BAA2B,CAC9DrhB,KAAM,CACJkN,UAAWQ,KAAKR,UAChBI,QAASI,KAAKJ,QACd25D,OAAQv5D,KAAKu5D,OACbxI,aAAc/wD,KAAK+wD,aACnByM,cAAex9D,KAAKw9D,cACpBtM,MAAOlxD,KAAKkxD,S,OAPVj0D,E,OAYA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAASk1B,aAAa,GAG/CtuB,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAG/C5T,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,uBAAwB,CACzC6B,OAAQ,2BACRK,MAAOsF,KAAKR,UACZrK,MAAOpC,OAAO8D,KAAKuC,EAASk1B,eAI9BtuB,KAAK2I,OAAOnQ,OAAO,uBAAwByE,GAG3C+C,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,8DC9Hoa,MCOxa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAC0I,QAAA,KAAKK,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OC5B9D,IAAI,GAAS,WAAa,IAAI3T,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAI0uB,SAAe,OAAEtuB,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,YAAYL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0BL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iCAAiCL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,aAAaL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6BL,EAAG,QAAQJ,EAAI0F,GAAI1F,EAAY,UAAE,SAAS8vE,GAAK,OAAO1vE,EAAG,KAAK,CAAC1K,IAAIo6E,EAAIr5E,IAAI,CAAC2J,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQwvE,EAAItW,WAAW,GAAGp5D,EAAG,KAAK,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQwvE,EAAI9e,iBAAiB,GAAG5wD,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGsvE,EAAIrS,kBAAkBr9D,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGsvE,EAAI3e,UAAU/wD,EAAG,KAAK,CAACA,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQ,GAAG,WAAa,cAAc,SAAWwvE,EAAIr5E,OAAO,QAAO,KAAKuJ,EAAI6C,MAC/zB,GAAkB,GCkCP,UAAInB,OAAO,CACxBsG,MAAO,CACLvI,UAAWF,OACXM,QAASN,QAEXuC,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,uCAAqC,CAC7D4sB,SAD6D,aAE3D,IAAMG,EACJ5uB,KAAK0uB,kCAAkC1uB,KAAKR,UAAWQ,KAAKJ,UAC5D,GAEF,OAAOgvB,OC/C4Z,MCOra,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACqgB,gBAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIlvC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC3F,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,MAAQN,EAAI82D,aAAa/wD,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,eAAe,QAAQS,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,OAAOL,EAAG,+BAA+B,CAACE,MAAM,CAAC,UAAYN,EAAI+vE,sBAAsB,GAAG3vE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8BO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIwxD,YAAYtwD,GAAKG,WAAW,kBAAkB,IAAI,IAAI,IACz+B,GAAkB,GCwCP,UAAIK,OAAO,CACxBsG,MAAO,CACL+nE,kBAAmB/8E,QAErBT,KAJwB,aAKtB,MAAO,CACLi/D,YAAa,MACb75D,OAAQ,MACR+B,MAAO,OAGXoI,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,yBACrB,eAAS,QAAS,CAAC,qBAAmB,CAKzCg1D,WALyC,aAMvC,GAAI72D,KAAK8vE,kBAAkBve,YACzB,MAAO,QAET,MAAO,oBAIXvvD,QAAS,CAKP4D,MALO,aAMD5F,KAAK8vE,kBACP9vE,KAAKuxD,YAAcvxD,KAAK8vE,kBAAkBve,YAE1CvxD,KAAKuxD,YAAc,OAQjB1rD,KAjBC,a,0KAkBL7F,KAAKvG,MAAQ,K,kBAEM,OAAM,GAASka,KAAK,gCAAiC,CACpErhB,KAAM,CACJy9E,oBAAqB/vE,KAAK8vE,kBAAkBt5E,GAC5CgJ,UAAWQ,KAAK8vE,kBAAkBtwE,UAIlCI,QAASI,KAAK8vE,kBAAkBlwE,QAChCkxD,iBAAkB9wD,KAAK8vE,kBAAkBhf,iBACzClZ,WAAY53C,KAAK8vE,kBAAkBl4B,WACnCoZ,gBAAiBhxD,KAAK8vE,kBAAkB9e,gBACxCD,aAAc/wD,KAAK8vE,kBAAkB/e,aACrCG,MAAOlxD,KAAK8vE,kBAAkB5e,MAC9BD,mBAAoBjxD,KAAK8vE,kBAAkB7e,mBAC3CxJ,gBAAiBznD,KAAK8vE,kBAAkBroB,gBACxC8J,YAAavxD,KAAKuxD,e,OAfhBt0D,E,OAoBA7D,EAAW6D,EAAS3K,KAAKA,KAG/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GAGrC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV0wD,mCCzHkb,MCOlb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACriE,QAAA,KAAKsR,aAAA,KAAUjR,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,OC3BxD,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2BL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,MAAMT,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,gCAAgCL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4BL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uCAAuCL,EAAG,QAAQJ,EAAI0F,GAAI1F,EAAmB,iBAAE,SAASnL,GAAG,OAAOuL,EAAG,KAAK,CAAC1K,IAAIb,EAAE4B,IAAI,CAAC2J,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQzL,EAAEkwE,eAAe,GAAG3kE,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,kBAAmB2K,OAAQ,CAAE7I,GAAI5B,EAAE4B,OAAS,CAAE5B,EAAK,IAAEuL,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,KAAKT,EAAIQ,GAAG3L,EAAE6vE,QAAQ1kE,EAAI6C,KAAOhO,EAAE6vE,IAA4E1kE,EAAI6C,KAA3EzC,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,KAAKT,EAAIQ,GAAG3L,EAAE8vE,WAAoB,GAAGvkE,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,kBAAmB2K,OAAQ,CAAE7I,GAAI5B,EAAE4B,OAAS,CAACuJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI4kE,aAAa/vE,EAAEkrD,oBAAoB,QAAQ,GAAG3/C,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA4B5L,EAAEo7E,gBAAgB,OAAO7vE,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,kBAAoBzL,EAAEiwE,kBAAkB,QAAUjwE,EAAEq7E,QAAQ,MAAQ,OAAO,QAAO,MAC5uC,GAAkB,GCGhBC,GAAc,EAAAjyE,EAAMzI,OAAO,CAC/B0I,QAAS,GAAF,OAAK,EAAIE,SAASF,QAAlB,sBAETtB,EAAoBszE,IACL,UC8CA,UAAIzuE,OAAO,CACxBsG,MAAO,CACLnI,QAASN,QAEXhN,KAJwB,aAKtB,MAAO,CACL69E,gBAAiB,KAGrBhoE,QATwB,aAUtBnI,KAAKoI,aAEPvG,SAAU,OAAF,UACH,eAAW,UAAW,CAAC,kBAE5BG,QAAS,CACDoG,UADC,a,iLAEoB,OAAM,GAAYrT,IAAZ,+BACLiL,KAAKJ,U,OADzBwwE,E,OAGNpwE,KAAKmwE,gBAAkBC,EAAiB99E,KAAKA,K,oDC1E4X,MCO3a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC28C,gBAAA,OCiEf,cAAIxtC,OAAO,CACxBsG,MAAO,CACLvI,UAAWF,OACXwf,OAAQxf,OACRM,QAASN,QAGXuC,SAAU,OAAF,kEACH,eAAW,QAAS,CAAC,sBAAuB,4BAC5C,eAAW,QAAS,CACrB,uBACA,kCAEC,eAAS,QAAS,CAAC,8BACnB,eAAS,WAAY,CAAC,YAAU,CAEnCitE,UAFmC,aAGjC,IAAMptD,EAAe1hB,KAAK8e,OACtB9e,KAAK6lB,oBAAoB7lB,KAAK8e,QAC9B9e,KAAK0lB,uBAAuB1lB,KAAKR,WACrC,OAAO,IAAEgqB,KAAK9H,EAAc,CAAE9hB,QAASI,KAAKJ,WAO9CywE,iBAbmC,aAanB,WACd,OAAO,IAAEzxE,OACPoB,KAAKmrC,0BAA4B,IACjC,SAAC32C,GAAD,OAAO,EAAKo7E,uBAAuBp7E,EAAEgC,QASzC8kC,mBAzBmC,aAyBjB,W,EACVwzC,EAAyB9uE,KAAK8uE,UACpC,IAAKA,KAA0C,QAA7B,EAACA,EAAUxzC,0BAAkB,eAAExoC,QAC/C,MAAO,GAET,OAAO,IAAEuD,IAAIy4E,EAAUxzC,oBAAsB,IAAI,SAAC9mC,GAEhD,IAAM0nB,EAAS1nB,EAAEs8D,kBAAoB,EAC/BtJ,EAAiB,EAAK7b,qBAAqBzvB,GAC3Co0D,EAAQ97E,EAAEojD,WACVT,EAAW,EAAKvL,6BAA6B0kC,GACnD,OAAO,IAAE7uE,OAAOjN,EAAG,CAAEgzD,iBAAgBrQ,iBASzCy4B,uBA7CmC,aA8CjC,OAAO,IAAEjxE,MAAMqB,KAAKs7B,oBACjB18B,QAAO,SAACpK,GAAD,OAAQA,EAAEizD,mBACjB/rD,QAAQ,cACRvG,SAOL61C,yBAxDmC,aAyDjC,OAAO,IAAErsC,MAAMqB,KAAKs7B,oBACjB18B,QAAO,SAACpK,GAAD,OAAOA,EAAEizD,mBAChBtyD,WAIP2e,WAAY,CACVy8D,wBACAC,qBACAC,kCACAC,2BACAlM,mCC1K4a,MCO5a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACpiE,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKE,QAAA,OC0CpC,cAAIjB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAGNuC,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CACrB,kBACA,uBACA,sBACA,eACA,CAEF8uE,WAFE,aAGA,OAAO3wE,KAAKgyB,qBAAqBhyB,KAAKxJ,OAI1CwL,QAAS,CACPgtE,4BADO,WACqBhjE,GAAgB,WACpC0jD,EAAgB1vD,KAAK2yB,gBAAgB3yB,KAAKxJ,IAChD,OAAO,IAAEmI,MAAM+wD,GACZ9wD,QAAO,SAACW,G,MACDqxE,EAAkB,IAAEpnD,KAAK,EAAK3D,oBAAoBtmB,EAAK/I,IAAK,CAChEoJ,QAASoM,EAAIpM,UAEf,IAAKgxE,EAEH,OAAO,KAGT,OAAyC,QAAlC,EAAAA,EAAgBt1C,0BAAkB,eAAExoC,QAAS,KAErDuD,IAAI,MACJlB,SAOL45E,4BAvBO,WAuBqB/iE,GAC1B,OACE,IAAErN,MAAMqN,EAAIgb,SAAW,IACpBpoB,QAAO,SAACpK,GACP,OAAO,IAAEqG,SACPqa,GACA1gB,EAAE+yB,sBAGLlxB,IAAI,mBACJ4hE,MACA9iE,SAAW,IAKpB2e,WAAY,CACV+8D,mBACAC,+BChIsa,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAC1uE,SAAA,KAAMI,QAAA,KAAKC,cAAA,KAAWC,QAAA,KAAKsC,YAAA,KAASC,cAAA,UC5BlE,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,wBAAwBjB,MAAM,CAAC,MAAQ,KAAK,CAAEN,EAAW,QAAEI,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,WAAW,IAAI,MAAQ,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA6BT,EAAI+f,QAAQ9mB,OAAO,MAAM+G,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOL,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI+f,QAAQrV,QAAQ,OAAQ1K,EAAI+f,QAAwB,iBAAE3f,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACnB,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,QAAQL,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAI+f,QAAQlc,qBAAqB,GAAG7D,EAAI6C,OAAOzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,WAAW,IAAI,MAAQ,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,GAAG,GAAK,CAAE3L,KAAM,iBAAkB,CAACyL,EAAG,MAAM,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,SAASL,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,GAAG,GAAK,CAAE3L,KAAM,mBAAoB,CAACqL,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAQT,EAAmB,gBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,GAAG,GAAK,CAAE3L,KAAM,wBAAyB,CAACqL,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOT,EAAI6C,KAAM7C,EAAW,QAAEI,EAAG,8BAA8B,CAACE,MAAM,CAAC,UAAYN,EAAIvJ,MAAMuJ,EAAI6C,MAAM,IAAI,IAAI,GAAGzC,EAAG,YAAY,CAACmB,YAAY,UAAUnB,EAAG,QAAQ,CAACmB,YAAY,gBAAgB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,OAAO,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qCAAqC,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI+f,QAAQ3Z,iBAAiB,QAAQ,GAAGhG,EAAG,YAAY,CAACmB,YAAY,UAAUnB,EAAG,QAAQ,CAACmB,YAAY,gBAAgB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACA,EAAG,OAAO,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAI+f,QAAQvZ,WAAWxG,EAAIO,GAAG,MAAMH,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,eAAe,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIyzD,KAAK,IAAIzzD,EAAIQ,GAAGR,EAAIS,GAAG,cAAc,OAAO,GAAGL,EAAG,MAAM,CAACA,EAAG,OAAO,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAI+f,QAAQkvC,SAAU,0BAA0B,OAAO7uD,EAAG,MAAM,CAACA,EAAG,OAAO,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAI+f,QAAQqc,QAAS,wBAAwB,OAAOh8B,EAAG,MAAM,CAACA,EAAG,OAAO,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,QAAST,EAAI+f,QAAe,QAAE3f,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmBT,EAAI6C,KAAO7C,EAAI+f,QAAQgvC,QAA2D/uD,EAAI6C,KAAtDzC,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAA+BL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAAEN,EAAI+f,QAAe,QAAE3f,EAAG,MAAM,CAACA,EAAG,OAAO,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAI+f,QAAQ0B,QAASzhB,EAAIyiB,kBAAkB,OAAOziB,EAAI6C,KAAM7C,EAAmB,gBAAEI,EAAG,MAAM,CAACA,EAAG,OAAO,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIgkE,iBAAiB,OAAOhkE,EAAI6C,KAAM7C,EAAI+f,QAAmB,YAAE3f,EAAG,MAAM,CAACA,EAAG,OAAO,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,QAAQL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAI+f,QAAQqvC,gBAAgB,GAAGpvD,EAAI6C,KAAM7C,EAAIkvE,aAAelvE,EAAIgxE,aAAc5wE,EAAG,MAAM,CAAEJ,EAAI+f,QAAe,QAAE3f,EAAG,OAAO,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,QAAQL,EAAG,OAAO,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAIkvE,YAAY9yC,QAASp8B,EAAI2iB,cAAc,OAAO3iB,EAAI6C,KAAM7C,EAAIkvE,aAAelvE,EAAIkvE,YAAYnrE,QAAS3D,EAAG,MAAM,CAAEJ,EAAI+f,QAAe,QAAE3f,EAAG,OAAO,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,QAAQL,EAAG,OAAO,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,QAAQL,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAIkvE,YAAYnrE,YAAY,GAAG/D,EAAI6C,KAAM7C,EAAIkvE,aAAelvE,EAAIgxE,aAAc5wE,EAAG,MAAM,CAAEJ,EAAI+f,QAAe,QAAE3f,EAAG,OAAO,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,eAAe,QAAQL,EAAG,OAAO,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIkvE,YAAYxkE,QAAQ,OAAO1K,EAAI6C,QAAQ,IAAI,GAAG7C,EAAI6C,MAAM,IACt/I,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,WAAa,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC3F,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,MAAQ,KAAKyF,EAAUpF,IAAI,CAAEX,EAAI+f,QAAsB,eAAE3f,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAI6C,KAAK7C,EAAIO,GAAG,eAAeP,EAAIQ,GAAGR,EAAIixE,SAASl+E,QAAQ,OAAO,QAAQiO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,cAAc,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gCAAgC,OAAOL,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQX,EAAI4hB,QAAQ,CAACxhB,EAAG,SAAS,CAACJ,EAAIO,GAAG,sBAAsB,IAAI,GAAGH,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACmB,YAAY,aAAajB,MAAM,CAAC,MAAQN,EAAIixE,SAAS,QAAUjxE,EAAIzC,QAAQ,sBAAsB,GAAG,qBAAqB,GAAG,eAAe,IAAIoD,GAAG,CAAC,YAAYX,EAAIkxE,iBAAiB5rE,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,yBAAyB8P,GAAG,SAAS9E,GACroC,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAACgL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQlL,EAAM,YAAY,SAAS,CAACM,IAAI,uBAAuB8P,GAAG,SAAS9E,GACrG,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAACgL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQlL,EAAM,YAAY,SAAS,CAACM,IAAI,sBAAsB8P,GAAG,SAAS9E,GACpG,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAACgL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQlL,EAAM,YAAY,SAAS,CAACM,IAAI,4BAA4B8P,GAAG,SAAS9E,GAC1G,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAACgL,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGpL,SAAa,CAACM,IAAI,qBAAqB8P,GAAG,SAAS9E,GACnF,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK+nE,eAAe,KAAKnxE,EAAIQ,GAAG4I,EAAKgoE,aAAa,UAAU,KAAK,SAAS,IAAI,GAAIpxE,EAAY,SAAEI,EAAG,QAAQ,CAAEJ,EAAY,SAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAuB,oBAAEI,EAAG,oBAAoB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,cAAgB,MAAMF,EAAG,aAAa,CAACE,MAAM,CAAC,KAAON,EAAIqxE,cAAc/rE,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,SAAS8P,GAAG,WAAW,MAAO,CAACpF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,QAAUN,EAAIsxE,WAAWC,SAAS,CAAC,MAAQ,SAAS3wE,GAAQ,OAAOZ,EAAIwxE,KAAKxxE,EAAI+tC,SAASt3C,OAAO,CAAC2J,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,iBAAiB,KAAKkF,MAAM,OAAO,KAAK,MAAM,cAAc,GAAGzF,EAAI6C,MAAM,GAAG7C,EAAI6C,MAAM,IAAI,IAAI,IAClrB,GAAkB,GCPhB4uE,GAAS,EAAAvzE,EAAMzI,OAAO,CAC1B0I,QAAS,GAAF,OAAK,EAAIE,SAASF,QAAlB,iBAETtB,EAAoB40E,IACL,UCRX,GAAS,WAAa,IAAIzxE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,aAAagF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,SAAS,CAACY,MAAM,CAAC5L,MAAO4K,EAAO,IAAEiB,SAAS,SAAUC,GAAMlB,EAAIqvE,IAAInuE,GAAKG,WAAW,QAAQ,CAACjB,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQ,WAAWF,EAAG,QAAQ,CAAC1K,IAAI,aAAa,CAACsK,EAAIO,GAAG,eAAeH,EAAG,QAAQ,CAAC1K,IAAI,aAAa,CAACsK,EAAIO,GAAG,eAAeH,EAAG,QAAQ,CAAC1K,IAAI,iBAAiB,CAACsK,EAAIO,GAAG,mBAAmBH,EAAG,QAAQ,CAAC1K,IAAI,SAAS,CAACsK,EAAIO,GAAG,YAAYH,EAAG,QAAQ,CAAC1K,IAAI,UAAU,CAACsK,EAAIO,GAAG,gBAAgBH,EAAG,QAAQ,CAAC1K,IAAI,OAAO,CAACsK,EAAIO,GAAG,eAAe,KAAKkF,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIzN,KAAK8pC,eAAej8B,EAAG,YAAYJ,EAAIgG,GAAG,WAAW,GAAG5F,EAAG,cAAc,CAACA,EAAG,eAAe,CAACY,MAAM,CAAC5L,MAAO4K,EAAO,IAAEiB,SAAS,SAAUC,GAAMlB,EAAIqvE,IAAInuE,GAAKG,WAAW,QAAQ,CAACjB,EAAG,aAAa,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,KAAON,EAAIzN,SAAS,GAAG6N,EAAG,aAAa,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,KAAON,EAAIzN,SAAS,GAAG6N,EAAG,aAAa,CAACA,EAAG,mBAAmB,CAACE,MAAM,CAAC,KAAON,EAAIzN,SAAS,GAAG6N,EAAG,aAAa,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAON,EAAIzN,SAAS,GAAG6N,EAAG,aAAa,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAON,EAAIzN,SAAS,GAAG6N,EAAG,aAAa,CAACA,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIzN,YAAY,IAAI,IAAI,IAC3wC,GAAkB,GCDlB,GAAS,WAAa,IAAIyN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,eAAe,MAAQT,EAAIzN,KAAKm/E,QAAQ/8E,QAAQyL,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIzN,KAAKm/E,QAAQroE,WAAWjJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIzN,KAAKm/E,QAAQpoE,cAAclJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAIzN,KAAKm/E,QAAQnoE,oBAAoB,IAAI,IAC3iB,GAAkB,GC6BP,UAAI7H,OAAO,CACxBsG,MAAO,CACLzV,KAAMS,QAER+gB,WAAY,KClCsZ,MCOha,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACpR,QAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAAEJ,EAAIzN,KAAKo/E,yBAA+B,OAAEvxE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,sBAAsBP,EAAIQ,GAAGR,EAAIzN,KAAKo/E,yBAAyB5+E,QAAQ,QAAQiN,EAAI0F,GAAI1F,EAAIzN,KAA6B,0BAAE,SAASq/E,GAAI,OAAOxxE,EAAG,QAAQ,CAAC1K,IAAIk8E,EAAGn7E,GAAG6J,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAOsxE,MAAO,OAAM,IAAI,GAAG5xE,EAAI6C,KAAM7C,EAAIzN,KAAKs/E,4BAAkC,OAAEzxE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,2BAA2BP,EAAIQ,GAAGR,EAAIzN,KAAKs/E,4BAA4B9+E,QAAQ,SAASiN,EAAI0F,GAAI1F,EAAIzN,KAAgC,6BAAE,SAASu/E,GAAK,OAAO1xE,EAAG,QAAQ,CAAC1K,IAAIo8E,EAAIr7E,GAAG6J,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAOwxE,MAAQ,OAAM,IAAI,GAAG9xE,EAAI6C,MAAM,IAC99B,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,IAAIK,GAAG,CAAC,SAAW,SAASC,GAAQZ,EAAI+xE,YAAc/xE,EAAI+xE,cAAc,CAAC3xE,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,KAAO,GAAG,MAAQ,YAAY,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIzN,KAAKy/E,WAAWhyE,EAAIO,GAAG,OAAOP,EAAIQ,GAAGR,EAAIzN,KAAKkE,IAAI,KAAK2J,EAAG,YAAaJ,EAAIzN,KAAc,UAAE6N,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,wBAAwB,CAACN,EAAIO,GAAG,eAAeP,EAAI6C,MAAM,GAAGzC,EAAG,cAAc,CAACA,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAGT,EAAIiyE,kBAAkB,OAAO7xE,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAGT,EAAIkyE,qBAAqB,OAAO9xE,EAAG,MAAM,CAACmB,YAAY,QAAQ,CAACnB,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAIzN,KAAKmY,UAAUtK,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAIzN,KAAK4/E,cAAc,IAAI,GAAInyE,EAAc,WAAEI,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIzN,SAASyN,EAAI6C,KAAKzC,EAAG,MAAM,CAACmB,YAAY,+BAA+B,CAACnB,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIzN,KAAK6/E,aAAa,YAAY,MAAMpyE,EAAIO,GAAG,aAAaP,EAAIQ,GAAGR,EAAIzN,KAAK8/E,QAAQ,OAAOjyE,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAIzN,KAAKsrC,eAAe,IAAI,IAAI,IACnxC,GAAkB,GC6CP,UAAIn8B,OAAO,CACxBsG,MAAO,CACLzV,KAAMS,QAGRT,KALwB,aAMtB,MAAO,CACLw/E,WAAY,QAIhBjwE,SAAU,CACRmwE,gBADQ,aAEN,GAAwB,KAApBhyE,KAAK1N,KAAK+/E,OAAoC,KAApBryE,KAAK1N,KAAK+/E,MACtC,MAAO,oBAET,MAAO,kBAETJ,mBAPQ,aAQN,GAAwB,IAApBjyE,KAAK1N,KAAK+/E,OAAmC,KAApBryE,KAAK1N,KAAK+/E,MACrC,MAAO,6BAET,MAAO,iCCpEyZ,MCOla,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAACjwE,SAAA,KAAME,UAAA,QAAUsW,SAAA,KAAMnE,SAAA,KAAM/R,QAAA,KAAKqC,WAAA,KAAQC,YAAA,OC7BvE,IAAI,GAAS,WAAa,IAAIjF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,IAAIK,GAAG,CAAC,SAAW,SAASC,GAAQZ,EAAI+xE,YAAc/xE,EAAI+xE,cAAc,CAAC3xE,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,KAAO,GAAG,MAAQ,YAAY,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIzN,KAAKsrD,QAAQ79C,EAAIO,GAAG,OAAOP,EAAIQ,GAAGR,EAAIzN,KAAKkE,IAAI,KAAK2J,EAAG,YAAaJ,EAAIzN,KAAc,UAAE6N,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,wBAAwB,CAACN,EAAIO,GAAG,eAAeP,EAAI6C,MAAM,GAAGzC,EAAG,cAAc,CAACA,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAGT,EAAIkyE,qBAAqB,OAAO9xE,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuyE,WAAW,OAAOnyE,EAAG,MAAM,CAACmB,YAAY,QAAQ,CAACnB,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAIzN,KAAKmY,UAAUtK,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,MAAQN,EAAIS,GAAG,SAAS,MAAQT,EAAIzN,KAAKs6D,YAAY,IAAI,GAAI7sD,EAAc,WAAEI,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIzN,SAASyN,EAAI6C,KAAKzC,EAAG,MAAM,CAACmB,YAAY,+BAA+B,CAACnB,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIzN,KAAK6/E,gBAAgBpyE,EAAIO,GAAG,aAAaP,EAAIQ,GAAGR,EAAIzN,KAAK8/E,QAAQ,OAAOjyE,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAIzN,KAAKsrC,eAAe,IAAI,IAAI,IAC3uC,GAAkB,GCwCP,UAAIn8B,OAAO,CACxBsG,MAAO,CACLzV,KAAMS,QAGRT,KALwB,aAMtB,MAAO,CACLw/E,WAAY,QAIhBjwE,SAAU,CACRmwE,gBADQ,aAEN,GAAwB,KAApBhyE,KAAK1N,KAAK+/E,OAAoC,KAApBryE,KAAK1N,KAAK+/E,MACtC,MAAO,oBAET,MAAO,kBAGTJ,mBARQ,aASN,GAAyB,IAArBjyE,KAAK1N,KAAK8H,OACZ,MAAO,6BAET,MAAO,8BAGTk4E,UAfQ,aAgBN,OAAQtyE,KAAK1N,KAAKggF,WAChB,KAAK,GACH,MAAO,WACT,KAAK,GACH,MAAO,WACT,KAAK,GACH,MAAO,UACT,KAAK,GACH,MAAO,kCACT,KAAK,GACH,MAAO,WACT,KAAK,GACH,MAAO,eACT,KAAK,GACH,MAAO,WACT,KAAK,GACH,MAAO,oCACT,KAAK,GACH,MAAO,qCACT,KAAK,GACH,MAAO,yBACT,KAAK,GACH,MAAO,mCACT,KAAK,GACH,MAAO,qBACT,KAAK,IACH,MAAO,UACT,KAAK,IACH,MAAO,wBACT,KAAK,IACH,MAAO,qBACT,KAAK,IACH,MAAO,wBACT,KAAK,IACH,MAAO,sCACT,KAAK,IACH,MAAO,2DACT,KAAK,IACH,MAAO,4BACT,KAAK,IACH,MAAO,mBACT,KAAK,IACH,MAAO,qDACT,KAAK,IACH,MAAO,mEAEX,MAAO,cClH4Z,MCOra,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAAClwE,SAAA,KAAME,UAAA,QAAUsW,SAAA,KAAMnE,SAAA,KAAM/R,QAAA,KAAKqC,WAAA,KAAQC,YAAA,OCexD,cAAIvD,OAAO,CACxBsG,MAAO,CACLzV,KAAMS,QAER+gB,WAAY,CACVy+D,kBACAC,wBClDga,MCOha,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAChwE,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,iBAAiBH,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIzN,KAAKmgF,yBAAyBtyE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,mBAAmBH,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIzN,KAAKogF,2BAA2BvyE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,2BAA2BH,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIzN,KAAKqgF,kCAAkCxyE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,6BAA6BH,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIzN,KAAKsgF,oCAAoCzyE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,2BAA2BH,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIzN,KAAKugF,mCAAmC,IACx5B,GAAkB,GC+BP,UAAIpxE,OAAO,CACxBsG,MAAO,CACLzV,KAAMS,QAER+gB,WAAY,KCpC0Z,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACtR,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,mBAAmBH,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIzN,KAAKwgF,0BAA0B3yE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,qBAAqBH,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIzN,KAAKygF,4BAA4B5yE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,mBAAmBH,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIzN,KAAK0gF,0BAA0B7yE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,oBAAoBH,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIzN,KAAK2gF,4BAA4B,IACntB,GAAkB,GC0BP,UAAIxxE,OAAO,CACxBsG,MAAO,CACLzV,KAAMS,QAER+gB,WAAY,KC/BmZ,MCO7Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACtR,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAAEN,EAAIzN,KAAK4gF,oBAA0B,OAAE/yE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,sBAAsBP,EAAIQ,GAAGR,EAAIzN,KAAK4gF,oBAAoBpgF,QAAQ,QAAQiN,EAAI0F,GAAI1F,EAAIzN,KAAwB,qBAAE,SAAS6gF,GAAI,OAAOhzE,EAAG,QAAQ,CAAC1K,IAAI09E,EAAG38E,GAAG6J,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO8yE,MAAO,OAAM,IAAI,GAAGpzE,EAAI6C,KAAM7C,EAAIzN,KAAK8gF,uBAA6B,OAAEjzE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,2BAA2BP,EAAIQ,GAAGR,EAAIzN,KAAK8gF,uBAAuBtgF,QAAQ,SAASiN,EAAI0F,GAAI1F,EAAIzN,KAA2B,wBAAE,SAAS+gF,GAAK,OAAOlzE,EAAG,QAAQ,CAAC1K,IAAI49E,EAAI78E,GAAG6J,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAOgzE,MAAQ,OAAM,IAAI,GAAGtzE,EAAI6C,MAAM,IACr9B,GAAkB,GCuCP,UAAInB,OAAO,CACxBsG,MAAO,CACLzV,KAAMS,QAER+gB,WAAY,CACVy+D,kBACAC,wBC9C6Z,MCO7Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAChwE,QAAA,KAAKE,QAAA,OCiCpB,cAAIjB,OAAO,CACxBsG,MAAO,CACLzV,KAAMS,QAGRT,KALwB,aAMtB,MAAO,CACL88E,IAAK,cAITt7D,WAAY,CACVw/D,gBACAC,gBACAC,oBACAC,aACAC,gBCzE8Z,M,0BCO9Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAchC,KAAkB,GAAW,CAACtxE,SAAA,KAAME,UAAA,QAAUyC,WAAA,KAAQ0qE,QAAA,KAAKC,YAAA,KAASC,SAAA,KAAMgE,cAAA,KAAWC,eAAA,KAAY5uE,YAAA,KAASC,cAAA,UC0D3F,cAAIxD,OAAO,CACxBsG,MAAO,CACLvI,UAAWF,QAGbhN,KALwB,aAMtB,MAAO,CACLoF,OAAQ,MACR25E,UAAW,MACX53E,MAAO,KAEPq0C,SAAU,KACV+lC,oBAAqB,MACrBzC,aAAc,KAEdJ,SAAU,KAIdnvE,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,mBAAiB,CAEzCie,QAFyC,aAGvC,OAAO9f,KAAK6tB,cAAc7tB,KAAKR,YAGjCwG,cANyC,aAOvC,IAAKhG,KAAK8f,QACR,MAAO,GAET,OAAO9f,KAAK8f,QAAQrV,QAGtBnN,QAbyC,aAcvC,IAAM0b,EAAW,CACf,CAAE7jB,MAAO,KAAMsT,KAAM7K,EAAKxI,EAAE,MAAO0hB,MAAO,MAAOsI,MAAO,SACxD,CAAEjqB,MAAO,oBAAqBsT,KAAM,oBACpC,CAAEtT,MAAO,uBAAwBsT,KAAM,cACvC,CAAEtT,MAAO,gBAAiBsT,KAAM,oBAAqB2W,MAAO,SAC5D,CAAEjqB,MAAO,kBAAmBsT,KAAM,kBAClC,CAAEtT,MAAO,iBAAkBsT,KAAM,iBACjC,CAAEtT,MAAO,gBAAiBsT,KAAM,oBAElC,OAAOuQ,KAIXlX,MAAO,CACLkE,cAAe,CACb/B,UAAW,KACXC,QAFa,WAEL4vE,GACN9zE,KAAK+zE,mBAKX/xE,QAAS,CACD+xE,cADC,a,2KAEA/zE,KAAKgG,c,gBACRhG,KAAKgxE,SAAW,G,0CAIN,OAAM,GAAOj8E,IAAP,oBAAwBiL,KAAKgG,cAA7B,c,OAAZ8oC,E,OACN9uC,KAAKgxE,SAAW,IAAEj8E,IAAI+5C,EAAK,YAAa,I,iDAGpCmiC,gBAXC,WAWe91E,G,0KACpB6E,KAAK8tC,SAAW3yC,EAChB6E,KAAK6zE,oBAAsB,K,SAEnBrvE,E,oBAAmBxE,KAAKgG,c,qBAA0B7K,EAAE3E,G,kBAC9C,OAAM,GAAOzB,IAAIyP,G,OAAvBsqC,E,OACN9uC,KAAKoxE,aAAe,IAAEr8E,IAAI+5C,EAAK,YAAa,I,gBAE5C9uC,KAAK6zE,oBAAsB,M,iFAIzBtC,KAvBC,WAuBI/6E,G,iLAEPwJ,KAAKqxE,UAAY,KACX7sE,E,oBAAmBxE,KAAKgG,c,qBAA0BxP,E,oBACxD,OAAM,GAAOmd,KAAKnP,G,OAClBtO,OAAO2H,SAASm2E,S,mDAEhBh0E,KAAKvG,MAAL,K,kBAEAuG,KAAKqxE,UAAY,M,oFAIrB1vD,MApCO,aAqCL3hB,KAAKtI,OAAS,QAIlBoc,WAAY,CACVmgE,iBC5L+a,MCO/a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAgBhC,KAAkB,GAAW,CAAC9xE,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKsV,cAAA,KAAWe,WAAA,KAAQpE,SAAA,KAAMnQ,mBAAA,KAAgB5B,QAAA,KAAKqC,WAAA,KAAQC,YAAA,KAASC,cAAA,UCuIxG,cAAIxD,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAENuC,SAAU,OAAF,kEACH,eAAW,QAAS,CACrB,gBACA,kBACA,aACA,cACA,uBACA,uBAEC,eAAW,gBAAiB,CAAC,2BAC7B,eAAS,QAAS,CACnB,kBACA,eACA,cACA,mBAEC,eAAW,WAAY,CAAC,2BAAyB,CACpDie,QADoD,aAElD,OAAO9f,KAAK6tB,cAAc7tB,KAAKxJ,KAEjCk5D,MAJoD,aAKlD,OAAO1vD,KAAK2yB,gBAAgB3yB,KAAKxJ,KAEnCwpB,YAPoD,aAQlD,OAAOhgB,KAAKk0E,sBAAsBl0E,KAAKxJ,KAEzCutE,gBAVoD,aAUrC,WACb,OAAQ/jE,KAAK8f,QAAQ2B,gBAAkB,IACpCprB,KAAI,SAACG,GACJ,OAAO,EAAK8lB,sBAAsB9lB,EAAI,EAAKgtB,iBAE5CxY,KAAK,OAEVikE,YAjBoD,aAkBlD,GAAIjvE,KAAK8f,QACP,OAAO9f,KAAK0yB,WAAW1yB,KAAK8f,QAAQyvD,eAEtC,OAAO,MAETwB,aAvBoD,aAwBlD,GAAI/wE,KAAKivE,YACP,OAAOjvE,KAAKg2B,YAAYh2B,KAAKivE,YAAYnrE,SAE3C,OAAO,MAMTqwE,gBAjCoD,aAkClD,IAAKn0E,KAAK8f,QACR,OAAO,MAET,GAA0B,aAAtB9f,KAAK8f,QAAQ9mB,KACf,OAAO,MAET,OAAOgH,KAAKo0E,gCAOdA,+BA/CoD,aA+CtB,WACtBtgE,EAAa,IAAEnV,MAAMqB,KAAK0vD,OAC7Br5D,KAAI,SAAC7B,GAAD,OAAO,EAAK09B,kBAAkB19B,EAAEgC,OACpCqV,UACAxV,KAAI,SAAC5B,GAAD,OAAoB,IAAEM,IAAIN,EAAG,yBACjCwmB,UACApP,UACA1W,QACH,OAAO2e,EAAWhhB,OAAS,GAE7B0gE,IAzDoD,aA0DlD,IAAMyU,EAAY,KAAOjoE,KAAK8f,QAAQvZ,SAChC2hE,EAAY,KAAOloE,KAAK8f,QAAQqvC,aACtC,OAAInvD,KAAK8f,QAAQgvC,QACRoZ,EAAUC,KAAKF,EAAW,QAE1B,OAASE,KAAKF,EAAW,WAItCn0D,WAAY,CACVugE,kCCjQoa,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAClyE,QAAA,KAAK0sD,cAAA,KAAWrsD,QAAA,KAAKC,cAAA,KAAWqC,YAAA,KAASpC,QAAA,OC5BvE,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAKN,EAAIvJ,OAAO,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,sBAAsB,CAACE,MAAM,CAAC,UAAYN,EAAIvJ,OAAO,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,uBAAuB,CAACE,MAAM,CAAC,UAAYN,EAAIvJ,OAAO,IAAI,IACpX,GAAkB,GCDlB,GAAS,WAAa,IAAIuJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,sBAAsB,CAACE,MAAM,CAAC,UAAYN,EAAIvJ,OAAO,IAAI,GAAG2J,EAAG,QAAQ,CAAEJ,EAAIiH,kBAAwB,OAAE7G,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kCAAkCL,EAAG,2BAA2B,CAACE,MAAM,CAAC,QAAUN,EAAIiH,sBAAsB,GAAGjH,EAAI6C,KAAKzC,EAAG,sBAAsB,CAACE,MAAM,CAAC,UAAYN,EAAIvJ,GAAG,KAAO,GAAG,GAAK,MAAM,GAAG2J,EAAG,aAAaA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,mBAAmB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,UAAU,SAAWL,KAAKxJ,OAAO,IAAI,IAAI,GAAGuJ,EAAI6C,MAC5tB,GAAkB,GC0CP,UAAInB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAGNuC,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,gBAAiB,+BAA6B,CAEtEie,QAFsE,aAGpE,OAAO9f,KAAK6tB,cAAc7tB,KAAKxJ,KAGjCwQ,kBANsE,aAOpE,GAAIhH,KAAKxJ,GACP,OAAOwJ,KAAK4c,0BAA0B5c,KAAKxJ,IAE7C,MAAO,MAIXsd,WAAY,CACV00D,uBACAjW,uBACAyD,+BClEia,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACxzD,QAAA,KAAKsC,YAAA,KAASpC,QAAA,OCzB5C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAIuD,cAAc,8BAA+BnD,EAAG,qBAAqB,CAACE,MAAM,CAAC,UAAYN,EAAIP,UAAU,OAAS,mBAAmBO,EAAI6C,OAAO4C,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,GAAGL,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACnB,EAAG,8BAA8B,CAACE,MAAM,CAAC,UAAYN,EAAIP,UAAU,OAASO,EAAIizB,WAAW,IAAI,IAC/lB,GAAkB,GCDlB,GAAS,WAAa,IAAIjzB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,aAAajB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,UAAU,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIu0E,eAAe,CAACv0E,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,OAAOT,EAAIO,GAAG,OAAOH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,UAAU,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIw0E,iBAAiB,CAACx0E,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,QAAQ,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,SAAW,IAAIU,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIy0E,WAAWvzE,GAAKG,WAAW,eAAerB,EAAI0F,GAAI1F,EAAc,YAAE,SAAS00E,EAAU7hF,GAAG,OAAOuN,EAAG,oBAAoB,CAAC1K,IAAI7C,GAAG,CAACuN,EAAG,2BAA2B,CAACA,EAAG,OAAO,CAACmB,YAAY,4BAA4B,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGk0E,EAAU//E,SAASyL,EAAG,OAAO,CAACmB,YAAY,gBAAgB,CAACnB,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQo0E,EAAUC,aAAa30E,EAAIO,GAAG,OAAQm0E,EAAkB,SAAEt0E,EAAG,OAAO,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQo0E,EAAUE,aAAa,GAAG50E,EAAI6C,KAAO6xE,EAAUE,SAAyC50E,EAAI6C,KAAnCzC,EAAG,OAAO,CAACJ,EAAIO,GAAG,aAAuBm0E,EAAkB,SAAEt0E,EAAG,OAAO,CAACJ,EAAIO,GAAG,MAAMP,EAAIQ,GAAGk0E,EAAUG,UAAU,IAAI70E,EAAIQ,GAAGR,EAAIS,GAAG,cAAc,SAAST,EAAI6C,MAAM,KAAKzC,EAAG,4BAA4B,CAACA,EAAG,mBAAmB,CAACE,MAAM,CAAC,OAASo0E,EAAUzhD,WAAW,IAAI,MAAK,IAAI,IAAI,IACl2C,GAAkB,GCiEP,UAAIvxB,OAAO,CACxB/M,KAAM,oBACNqT,MAAO,CACLvI,UAAWF,OACX0zB,OAAQ95B,OAEV5G,KANwB,aAOtB,MAAO,CACLkiF,WAAY,KAGhB3yE,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,sBACnB,eAAW,QAAS,CAAC,mBAAiB,CAUzCgzE,WAVyC,aAavC,IAAMA,EAAa,GACfC,EAAmB,KACjB9hD,EAAShzB,KAAKgzB,OALZ,kBAQQA,GARR,MAQR,IAAK,EAAL,qBAAwB,KAAbt8B,EAAa,QAIhBq+E,EAAe/0E,KAAKg1E,qBAAqBt+E,EAAGo+E,GAClD,GAAIC,EAAc,CAGZF,EAAW/hF,OAAS,IACtB+hF,EAAWA,EAAW/hF,OAAS,GAAGmiF,SAAW,MAE/CJ,EAAWzhF,KAAK2hF,GAChBD,EAAmBC,EAIjBD,GACFA,EAAiB9hD,OAAO5/B,KAAKsD,IAzBzB,8BA+BJo+E,IACFA,EAAiBI,iBAAmB,MAGtC,OAAO,IAAEv2E,MAAMk2E,GACZj2E,QAAO,SAAC5I,GAAD,OAAOA,EAAEg9B,OAAOlgC,OAAS,KAChCuD,IAAI2J,KAAKm1E,WACThgF,SAOL2qB,QAvDyC,aAwDvC,OAAO9f,KAAK6tB,cAAc7tB,KAAKR,YAQjC0mB,SAhEyC,aAiEvC,IAAKlmB,KAAK8f,QACR,MAAO,GAET,OAAO9f,KAAK8f,QAAQ9mB,QAIxB8I,MAAO,CAKLkxB,OAAQ,CACN/uB,UAAW,KACXC,QAFM,aAGJlE,KAAKw0E,WAAa,CAACx0E,KAAK60E,WAAW/hF,OAAS,MAKlDkP,QAAS,CAKPozE,iBALO,aAML,MAAO,CACL1gF,KAAMsL,KAAKq1E,UAAU,GACrBl5C,QAAS,EACTnJ,OAAQ,GACRkiD,iBAAkB,QAQtBF,qBAlBO,WAmBLt+E,EACA4+E,GAEA,IAAIP,EAAgC,KAE9B54C,EAAUn8B,KAAKu1E,cAAc7+E,GACnC,GAAgB,OAAZylC,KAAsBm5C,GAAWn5C,IAAYm5C,EAAQn5C,SAAU,CACjE,IAAMznC,EAAOsL,KAAKq1E,UAAUl5C,GAC5B44C,EAAe,CAAErgF,OAAMynC,UAASnJ,OAAQ,GAAIkiD,iBAAkB,OAG3DI,GAAYP,IACfA,EAAe/0E,KAAKo1E,oBAGtB,OAAOL,GAgBTI,UAlDO,WAkDGn/E,GACR,IAAMw/E,EAAQ,KAAOC,GACnB,IAAE92E,MAAM3I,EAAEg9B,QAAQ38B,IAAI,WAAWkiB,QAAQpjB,QACzC,cAGEugF,EAAM,KACN1/E,EAAEi/E,SACJS,EAAM,KAAOD,GACX,IAAE92E,MAAM3I,EAAEg9B,QAAQ38B,IAAI,WAAWy+B,OAAO3/B,QACxC,cAEO6K,KAAK8f,SAAW9f,KAAK8f,QAAQqvC,cACtCumB,EAAM,KAAOD,GAAGz1E,KAAK8f,QAAQqvC,YAAa,eAG5C,OAAOp8D,OAAOyI,OAAOxF,EAAG,CACtB0+E,UAAWc,EAAMh2D,SACjBm1D,SAAUe,EAAMA,EAAIl2D,SAAW,GAC/Bo1D,SAAUc,EACNA,EAAIvN,KAAKqN,EAAO,QAAU,EAC1B,OAASrN,KAAKqN,EAAO,QAAU,KAUvCD,cAjFO,WAiFO7+E,GACZ,IAAMtB,EAAI4K,KAAK21E,mBAAmBj/E,GAClC,GAAItB,GAAKA,EAAEwhD,uBACT,OAAOxhD,EAAE6iD,kBAIX,IAAM9b,EAAU,IAAEpnC,IAAI2B,EAAG,kBAAmB,MAC5C,GAAqB,gBAAjBA,EAAE08B,YAAgC+I,EACpC,OAAOA,EAET,GAAqB,eAAjBzlC,EAAE08B,YAA+B+I,EACnC,OAAOA,EAGT,IAAMy5C,EAAwB,IAAE7gF,IAAI2B,EAAG,yBAA0B,MACjE,OAAOk/E,GAWTD,mBA5GO,WA4GYj/E,GACjB,GAAqB,sBAAjBA,EAAE08B,WACJ,OAAO,KAET,IAAM58B,EAAK,IAAEzB,IAAI2B,EAAG,kBACpB,IAAKF,EACH,OAAO,KAET,IAAMu3E,EAA6B,IAAEvkD,KAAKxpB,KAAKgjB,iBAAkB,CAAExsB,OACnE,OAAOu3E,GAAa,MAUtBsH,UA/HO,WA+HG7+E,GACR,GAAW,IAAPA,EACF,OAAQwJ,KAAKkmB,UACX,IAAK,WACH,OAAOtoB,EAAKxI,EAAE,0BAA0B0W,WAC1C,IAAK,QACH,OAAOlO,EAAKxI,EAAE,kBAAkB0W,WAClC,IAAK,QACH,OAAOlO,EAAKxI,EAAE,oBAAoB0W,WACpC,QACE,MAAO,oBAGb,OAAO9L,KAAKsc,sBAAsB9lB,EAAI,wBAOxC89E,UAnJO,aAoJLt0E,KAAKw0E,WAAax0E,KAAK60E,WAAWx+E,KAAI,SAACmuD,EAAG5xD,GAAJ,OAAUA,MAOlD2hF,YA3JO,aA4JLv0E,KAAKw0E,WAAa,KAGtB1gE,WAAY,CACVqyD,uBCrU+a,MCO/a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAAChkE,QAAA,KAAKK,QAAA,KAAKqvC,mBAAA,KAAgBC,0BAAA,KAAuBC,yBAAA,KAAsBC,oBAAA,KAAiBtvC,QAAA,KAAKqC,WAAA,OCA5G,cAAItD,OAAO,CACxBsG,MAAO,CACLvI,UAAWF,QAEb6I,QAJwB,aAKtBnI,KAAKoI,aAEP9V,KAPwB,aAQtB,MAAO,CACLoX,QAAS,QAGb7H,SAAU,OAAF,kEACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,mBAAoB,qBACvC,eAAW,QAAS,CAAC,gBAAiB,4BAA0B,CAEnEqkB,SAFmE,aAGjE,IAAMpG,EAAmB9f,KAAK6tB,cAAc7tB,KAAKR,WACjD,IAAKsgB,EACH,MAAO,GAET,OAAOA,EAAQ9mB,MAOjBg6B,OAdmE,aAejE,OAAOhzB,KAAK8zB,uBAAuB9zB,KAAKR,cAG5CsC,MAAO,CAKLtC,UALK,WAKKwM,GACRhM,KAAKoI,cAGTpG,QAAS,CACDoG,UADC,a,kKAELpI,KAAK0J,QAAU,K,SACf,OAAM1J,KAAK2I,OAAOlQ,SAAS,qCAAsC,CAC/D+G,UAAWQ,KAAKR,UAChBuT,MAAO,Q,OAET/S,KAAK0J,QAAU,M,kDAGnBoK,WAAY,CACVsyD,sBACAyP,kCCrFua,MCOva,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACzzE,SAAA,KAAME,UAAA,QAAU0C,YAAA,KAASC,cAAA,UC1BvD,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAIuD,cAAc,iCAAkCnD,EAAG,0BAA0B,CAACE,MAAM,CAAC,UAAYN,EAAIP,aAAaO,EAAI6C,OAAO4C,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6BL,EAAG,aAAa,GAAGA,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIo1B,gBAAgB,QAAUp1B,EAAIzC,QAAQ,sBAAsB,IAAI+H,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAASwC,GAAO,MAAO,CAAC5H,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAC5pB3L,KAAM,cACN2K,OAAQ,CAAE7I,GAAIuR,EAAMoB,KAAK86D,qBACvB,CAAClkE,EAAIO,GAAG,IAAIP,EAAIQ,GAAGwH,EAAMoB,KAAK+6D,sBAAsB,QAAQ,aAAa,IAAI,IAC3F,GAAkB,GCJlB,GAAS,WAAa,IAAInkE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,4BAA4BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,SAAW,GAAG,MAAQ,CAAC,SAAUlF,GAAK,OAAQ4E,EAAI+1E,aAAe/1E,EAAIS,GAAG,sBAAwBO,MAAM,CAAC5L,MAAO4K,EAAoB,iBAAEiB,SAAS,SAAUC,GAAMlB,EAAIkkE,iBAAiBhjE,GAAKG,WAAW,uBAAuB,IAAI,IAAI,IAC5pB,GAAkB,GC4BP,UAAIK,OAAO,CACxBsG,MAAO,CACLvI,UAAWF,QAEbhN,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MACRusE,iBAAkB,EAClBxqE,MAAO,OAGXoI,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,mBAAiB,CACzCie,QADyC,aAEvC,OAAO9f,KAAK6tB,cAAc7tB,KAAKikE,mBAGjC6R,YALyC,aAMvC,OAAO91E,KAAKikE,mBAAqBjkE,KAAKR,aAG1CwC,QAAS,CAKP4D,MALO,aAML5F,KAAKikE,iBAAmB,GAOpBp+D,KAbC,a,0KAcL7F,KAAKvG,MAAQ,K,kBAEM,OAAM,GAASka,KAC9B,mCACA,CACErhB,KAAM,CACJkN,UAAWQ,KAAKR,UAChBykE,iBAAkBjkE,KAAKikE,iBACvBC,qBAAsBlkE,KAAK8f,QAAQrV,U,OANnCxN,E,OAUA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,iBAAkBY,GACrC4G,KAAK2I,OAAOnQ,OAAO,kBAAmB,CACpC6B,OAAQ,8BACRK,MAAOsF,KAAKR,UACZrK,MAAOpC,OAAO8D,KAAKuC,EAAS47B,kBAE9Bh1B,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVisB,yBC1F2a,MCO3a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACv9B,QAAA,KAAKE,QAAA,OCkBpB,cAAIjB,OAAO,CACxBsG,MAAO,CACLvI,UAAWF,QAEb6I,QAJwB,aAKtBnI,KAAKoI,aAEPvG,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,QAAS,CAAC,+BAA6B,CACrDvE,QADqD,aAEnD,MAAO,CACL,CACEmL,KAAMzI,KAAKiZ,MAAM7jB,EAAE,yBACnBD,MAAO,mBACP2hB,MAAO,WAIbqe,gBAVqD,aAWnD,OAAOn1B,KAAKi1B,0BAA0Bj1B,KAAKR,cAG/CsC,MAAO,CACLtC,UADK,aAEHQ,KAAKoI,cAGTpG,QAAS,CACPoG,UADO,aAELpI,KAAK2I,OAAOlQ,SAAS,6BAA8B,CACjD+G,UAAWQ,KAAKR,cAItBsU,WAAY,CACViiE,8BC9Ewa,MCOxa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAC3zE,SAAA,KAAME,UAAA,QAAUwV,cAAA,KAAW/S,WAAA,KAAQC,YAAA,KAASC,cAAA,UCN3D,cAAIxD,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAENwU,WAAY,CACVkiE,iBACAC,uBACA1jB,uBACA2jB,2BC9Bia,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC1zE,QAAA,KAAKE,QAAA,OCHpB,cAAIjB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAEN6I,QAJwB,aAKtBnI,KAAKoI,aAEPtG,MAAO,CACLtL,GADK,WACFwV,GACGhM,KAAKxJ,IACPwJ,KAAKoI,cAIXvG,SAAU,CACRgtE,YADQ,aAEN,OAAO7uE,KAAK2E,OAAOjQ,MAAQ,KAG/BsN,QAAS,CACPoG,UADO,aACE,WAEPpI,KAAK2I,OAAOlQ,SAAS,qBAAsBuH,KAAKxJ,IAAI2kC,OAAM,SAACzkC,GACrDA,EAAEe,QAAQ4E,MAAM,YAClB,EAAKsM,OAAOlQ,SAAZ,0CAEK/B,EAAEhC,KAFP,cAEiBgC,EAAEe,QAFnB,gCAEkD,EAAKjB,QAM3DwJ,KAAK2I,OAAOlQ,SAAS,oCAAqC,CACxD+G,UAAWQ,KAAKxJ,KAIlBwJ,KAAK2I,OAAOlQ,SAAS,yCAA0C,CAC7D+G,UAAWQ,KAAKxJ,OAItBsd,WAAY,CACVw+C,iBACA6jB,sBACAC,oBACAC,oBCnEoa,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC5zE,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI1C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACnB,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAI4E,QAAQjE,GAAG,CAAC,aAAeX,EAAIyyD,iBAAiB,IAC7N,GAAkB,GCDlB,GAAS,WAAa,IAAIzyD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACO,GAAG,CAAC,OAAS,SAASC,GAAQA,EAAOC,iBAAiB,OAAOb,EAAIqI,UAAU3U,MAAM,KAAMqN,cAAc,CAACX,EAAG,SAAS,CAACE,MAAM,CAAC,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,YAAY,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,YAAY,mBAAmBN,EAAIkK,MAAQ,OAAS,OAAO5E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,YAAYA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIoK,eAAelJ,GAAKG,WAAW,sBAAsBoE,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACmB,YAAY,WAAW,CAACnB,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,UAAU,CAACN,EAAIO,GAAG,eAAeP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,MAAM,GAAGL,EAAG,YAAcJ,EAAIoK,eAAoTpK,EAAI6C,KAAxSzC,EAAG,eAAe,CAACM,IAAI,QAAQJ,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,GAAG,cAAc,SAAS,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAU,EAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,IAAqB,kBAARnJ,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,gBAAyBrB,EAAIgG,GAAG,WAAW,GAAG5F,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAUsG,EAAkB,eAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAU,gBAAgB,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQ,wBAAwB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,uBAAuB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,kBAAkB,GAAG,gBAAgB,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAuB,eAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,iBAAkBnJ,IAAMG,WAAW,8BAA8B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,kBAAkB,GAAG,gBAAgB,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAqB,aAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,eAAgBnJ,IAAMG,WAAW,4BAA4B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAkB,UAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,YAAanJ,IAAMG,WAAW,yBAAyB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,UAAY,GAAG,kBAAkB,IAAIU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAe,OAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,SAAUnJ,IAAMG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qCAAqCO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,UAAY,GAAG,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA0B,kBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,oBAAqBnJ,IAAMG,WAAW,gCAAgCjB,EAAG,oBAAoB,CAACE,MAAM,CAAC,UAAY,GAAG,aAAa,OAAOU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAkC,0BAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,4BAA6BnJ,IAAMG,WAAW,yCAAyC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,UAAY,GAAG,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAyB,iBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,mBAAoBnJ,IAAMG,WAAW,+BAA+BjB,EAAG,oBAAoB,CAACE,MAAM,CAAC,UAAY,GAAG,aAAa,OAAOU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiC,yBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,2BAA4BnJ,IAAMG,WAAW,wCAAwC,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,UAAY,GAAG,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAqB,aAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,eAAgBnJ,IAAMG,WAAW,4BAA4B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,UAAY,GAAG,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAoB,YAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,cAAenJ,IAAMG,WAAW,2BAA2B,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAKN,EAAIqK,SAAS+b,SAASrzB,OAAS,EAAI,IAAI,CAACqN,EAAG,sBAAsB,CAACE,MAAM,CAAC,SAAW,GAAG,UAAY,IAAIU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,uBAAwBrB,EAAIqK,SAAS+b,SAASrzB,OAAS,EAAGqN,EAAG,MAAM,CAACA,EAAG,gBAAgB,CAACmB,YAAY,YAAYjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,2BAA2B,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,SAASL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,SAAS,IAAI,GAAGT,EAAI6C,MAAM,GAAI7C,EAAIqK,SAAS+b,SAAe,OAAEhmB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQ,mBAAmB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAoB,YAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,cAAenJ,IAAMG,WAAW,2BAA2B,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,UAAY,GAAG,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,uBAAwBrB,EAAIqK,SAAS1D,SAAS5T,OAAS,EAAGqN,EAAG,MAAM,CAACA,EAAG,gBAAgB,CAACmB,YAAY,YAAYjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,2BAA2B,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,SAASL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,SAAS,IAAI,GAAGT,EAAI6C,MAAM,IAAI,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQ,mBAAmB,aAAa,MAAM,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,MAAQ,6BAA6B,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsC,8BAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gCAAiCnJ,IAAMG,WAAW,6CAA6C,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,WAAW,aAAa,aAAa,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAqB,aAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,eAAgBnJ,IAAMG,WAAW,4BAA4B,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,OAAS,gBAAgB,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA8B,sBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,wBAAyBnJ,IAAMG,WAAW,qCAAqC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,OAAS,gBAAgB,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiC,yBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,2BAA4BnJ,IAAMG,WAAW,wCAAwC,IAAI,IAAI,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAIzC,QAAQ,QAAUyC,EAAI2J,QAAQ,eAAe,GAAG,KAAO3J,EAAIyK,KAAKC,OAAO,iBAAiB1K,EAAIyK,KAAKE,KAAK,sBAAsB3K,EAAIyK,KAAKG,YAAY,eAAe,CACz6R,yBAA0B,CAAC,GAAI,GAAI,GAAI,GAAI,MAC3C,eAAe5K,EAAIS,GAAG,gBAAgB,MAAQ,IAAIE,GAAG,CAAC,cAAc,SAASC,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,SAAU7J,IAAS,sBAAsB,SAASA,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,OAAQ7J,IAAS,wBAAwB,SAASA,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,OAAQ7J,KAAU0E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,cAAc8P,GAAG,SAAS9E,GAC9V,IAAI0I,EAAO1I,EAAI0I,KAC3B,MAAO,CAAEpJ,EAAIuD,cAAc,gBAAiBnD,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACxD3L,KAAM,cACN2K,OAAQ,CAAE7I,GAAI2S,EAAK3S,OACjB,CAACuJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKsB,QAAQ,OAAOtK,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKsB,QAAQ,UAAU,CAAChV,IAAI,YAAY8P,GAAG,SAAS9E,GAC5H,IAAI0I,EAAO1I,EAAI0I,KAC/B,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA6B2I,EAAKnQ,OAAO,QAAQ,CAACvD,IAAI,yBAAyB8P,GAAG,SAAS9E,GAC5G,IAAI0I,EAAO1I,EAAI0I,KAC/B,MAAO,CAAChJ,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACpB3L,KAAM,WACN2K,OAAQ,CAAE7I,GAAI2S,EAAKomE,kBACjB,CAACxvE,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKmtE,mBAAmB,UAAU,CAAC7gF,IAAI,eAAe8P,GAAG,SAAS9E,GACzF,IAAI0I,EAAO1I,EAAI0I,KAC/B,MAAO,CAAChJ,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK5C,cAAc,CAAC9Q,IAAI,gBAAgB8P,GAAG,SAAS9E,GACtE,IAAItL,EAAQsL,EAAItL,MAChC,MAAO,CAAC4K,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBnnB,EAAO,0BAA0B,QAAQ,CAACM,IAAI,kBAAkB8P,GAAG,SAAS9E,GAChH,IAAItL,EAAQsL,EAAItL,MAChC,MAAO,CAAC4K,EAAIO,GAAG,IAAIP,EAAIQ,GAAGpL,EAAM6V,KAAK,OAAO,SAAS,KAAK,QAASjL,EAAa,UAAEI,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,SAAS,KAAO,sDACpLN,EAAIqL,cAAc,CAACjL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,mBAAmBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,MAAM,IAAI,GAAGT,EAAI6C,MAAM,IAAI,IAAI,IAAI,IAAI,IACxL,GAAkB,GCtBlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,wBAAwB,MAAsB,OAAdT,EAAI5K,MAAiB,UAAY4K,EAAI5K,MAAM,MAAQ4K,EAAIm4B,aAAa,SAAWn4B,EAAIyH,SAAS,KAAOzH,EAAIo4B,KAAK,kBAAkBp4B,EAAIq4B,eAAe,SAAWr4B,EAAIuH,SAAS,MAAQvH,EAAI6H,MAAM,UAAY7H,EAAIwH,WAAW7G,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAAoB,YAAXnH,EAAuB,KAAOA,QAC/d,GAAkB,GCuBP,UAAIc,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAO,CAACmK,OAAQpG,OAChBi/B,KAAMnwB,OACNowB,eAAgBnwB,QAChBT,SAAUS,QACVX,SAAUW,QACVL,MAAOK,QACPowB,MAAO,CACLtf,SAAU,MACV/f,KAAM,CAACsG,OAAQpG,QAEjBqO,UAAWU,QAEXovB,eAAgBpvB,QAChBqwB,aAActwB,QAEhBnG,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,2BACxB,eAAS,WAAY,CAAC,YAAU,CASnCo2B,SATmC,aAWjC,IAAM5rB,EAAarM,KAAKq4B,MACpB,IAAExsB,QAAQ,CAAC7L,KAAKq4B,QAChB,IAAEzhB,UAAUyW,IAEZrtB,KAAKq3B,gBACPhrB,EAAI6E,QAAQ,WAEd,OAAO7E,GAMT6rB,aAxBmC,aAwBvB,WACJnP,EAAyB,IAAE1yB,IAAI2J,KAAKi4B,UAAU,SAACzhC,GAAD,OAClD,EAAK+hC,eAAe/hC,MAEtB,OAAOuyB,KAIX/mB,QAAS,CACPu2B,eADO,WACQ/hC,GACb,GAAW,YAAPA,EAAkB,CACpB,IAAI0Q,EAAQmlB,GAASrsB,KAAK1D,QACA,QAAtB0D,KAAKs4B,eACPpxB,EAAQulB,GAAKzsB,KAAK1D,SAEpB,MAAO,CACLnH,MAAO,UACPsT,KAAMvB,GAIV,MAAO,CACL/R,MAAOqB,EACPiS,KAAMzI,KAAKsc,sBAAsB9lB,EAAI,4BC3F+X,MCOxa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACwS,iBAAA,OC+Uf,cAAIvH,OAAO,CACxBsG,MAAO,CAMLtE,MAAO1Q,OAMPkX,MAAOhC,SAGTE,QAhBwB,aAiBlBnI,KAAKyD,OACPzD,KAAK2V,eAIP3V,KAAKoI,YAMLpI,KAAKoI,UAAY,IAAEwN,SAAS5V,KAAKoI,UAAW,KAC5CpI,KAAK2V,aAAe,IAAEC,SAAS5V,KAAK2V,aAAc,MAGpDrjB,KAhCwB,aAiCtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KACP0Q,eAAgB,MAEhB0L,gBAAiB,GACjBzL,SAAU,CACR0L,EAAG,GACHo6C,WAAY,MACZzlD,OAAQ,GACRtE,gBAAiB,GACjBmoE,kBAAmB,EACnBD,0BAA2B,EAC3BzqE,iBAAkB,EAClB2yE,yBAA0B,EAC1B7vE,SAAU,GACV4P,cAAe,MACfC,WAAY,EACZ4P,SAAU,GACV2sC,cAAe,MACfx4C,YAAa,EACb00C,SAAU,EACV9oC,SAAU,GACVitC,sBAAuB,EACvBC,yBAA0B,EAC1B8R,eAAgB,KAChB9+C,aAAc,EACdowD,aAAc,EACdC,YAAa,EACb/jB,UAAW,MACXgkB,8BAA+B,EAC/B1M,aAAc,IAGhB7d,QAAS,GAET3hD,KAAM,CACJC,OAAQ,EACRC,KAAM,GACNC,YAAa,KAKnB9I,SAAU,OAAF,oDACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,0BAAwB,CAM9C8U,kBAN8C,aAO5C,OAAO,IAAE3J,QAAQhN,KAAKoK,SAAUpK,KAAK6V,kBAQvCzK,YAf8C,aAgBxC,IAAEa,QAAQjM,KAAK6V,mBACjB7V,KAAK6V,gBAAkB,IAAEe,UAAU5W,KAAKoK,WAE1C,IAAMyM,EAAKjK,GAAgB5M,KAAKoK,SAAUpK,KAAK6V,iBAC/C,OAAOtK,GAAsBsL,EAAI7W,KAAKwK,OAOxCyhD,UA3B8C,aA4B5C,OAAOjsD,KAAKsD,cAAc,wBAQ5BhG,QApC8C,aAqC5C,MAAO,CACL,CACEmL,KAAM7K,EAAKxI,EAAE,yBACbD,MAAO,SACP2hB,MAAO,SAET,CACErO,KAAM7K,EAAKxI,EAAE,oCACbD,MAAO,mBAET,CAAEsT,KAAM7K,EAAKxI,EAAE,2BAA4BD,MAAO,QAClD,CAAEsT,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,qBACvC,CAAEsT,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,WACvC,CAAEsT,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,YACvC,CAAEsT,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,kBAK7C2M,MAAO,CAWL2B,MAXK,WAWC,GACJzD,KAAK2V,gBAMPvK,YAlBK,WAkBO8L,EAAgBE,GAC1BpX,KAAKoI,aAOPgC,SAAU,CACR+M,KAAM,KACNlT,UAAW,MACXC,QAHQ,WAGAgT,EAAQE,GACVpX,KAAKwK,KAAKG,YAAc,GAAK3K,KAAKwK,KAAKC,OAAS,IAClDzK,KAAKwK,KAAKC,OAAS,KAKzB/D,SApCK,WAoCIsF,GACHA,EAAIlZ,OAAS,IAGfkN,KAAKoK,SAASkM,cAAgB,QAIlC6P,SA5CK,WA4CIna,GACHA,EAAIlZ,OAAS,IAGfkN,KAAKoK,SAAS0oD,cAAgB,QAQlC3oD,eAxDK,WAwDUkN,GACTA,EACFrX,KAAKsX,sBAELtX,KAAKuX,0BAKXvV,QAAS,CAIP2T,aAJO,aAKLzJ,GAAgBlM,KAAKyD,MAAOzD,KAAKoK,SAAUpK,KAAKwK,MAC3CxK,KAAK2W,mBAAyC,KAApB3W,KAAKoK,SAAS0L,IAC3C9V,KAAKmK,eAAiB,OASpB/B,UAhBC,a,0KAiBLpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAGL+K,E,2BAA0BxE,KAAKoL,a,SACzB,OAAM,GAASrW,IAAIyP,G,OAAzBsqC,E,OACN9uC,KAAKwK,KAAKG,YAAc,IAAE5V,IAAI+5C,EAAK,yBAA0B,GAC7D9uC,KAAKmsD,QAAU,IAAEp3D,IAAI+5C,EAAK,YAAa,IACvC9uC,KAAK8H,MAAM,eAAgB9H,KAAKoL,a,qDAEhCpL,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,qFASnB9D,MAtCO,aAuCL5F,KAAKsX,sBACLtX,KAAKuX,yBAGPD,oBA3CO,aA4CLtX,KAAKoK,SAAS0L,EAAI,IAGpByB,sBA/CO,aAgDLvX,KAAKoK,SAAWrX,OAAOyI,OAAOwE,KAAKoK,SAAUpK,KAAK6V,kBAOpD8gE,YAvDO,WAuDK72D,GACV,GAAO1sB,KAAK,CACVsB,KAAM,cACN2K,OAAQ,CAAE7I,GAAIwR,OAAO8X,EAAQtpB,SAKnCsd,WAAY,CACV2kB,oBACA0F,iBACAzF,sBACA/gB,iBACAi/D,wBACAr7D,0BCpnBma,MCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAoBhC,KAAkB,GAAW,CAACpZ,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUmR,aAAA,KAAUjR,QAAA,KAAKsV,cAAA,KAAWC,SAAA,KAAMtD,SAAA,KAAMuD,UAAA,KAAOC,eAAA,KAAYvV,QAAA,KAAKqC,WAAA,KAAQugC,WAAA,KAAQ3iC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UC3BtI,cAAIxD,OAAO,CACxBO,QAAS,CASPwwD,aATO,WASM9uD,GACG,KAAVA,IACFA,EAAQ,IAAH,OAAO2vD,UAAU3vD,KAExB,IAAM4vD,EAAU,GAAH,OAAMtzD,KAAK2E,OAAOwN,MAAlB,OAAyBzO,GAClC1D,KAAK2E,OAAOC,WAAa0uD,GAC3BtzD,KAAKoE,QAAQ2sC,QAAQuiB,KAK3Bx/C,WAAY,CACV+iE,sBCjC+Z,MCO/Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACp0E,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI1C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,KAAO,GAAG,MAAQ,cAAc,CAACF,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4BT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,IAAI,GAAK,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACnB,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAKN,EAAIqK,SAASmsE,0BAA4B,EAAE,GAAK,CAAE7hF,KAAM,yBAA0BgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,WAAY,kBAAoB,+BAA+B,GAAGjK,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACnB,EAAG,uBAAuB,CAACE,MAAM,CAAC,GAAKN,EAAIqK,SAASxG,kBAAoB,EAAE,GAAK,CAAElP,KAAM,yBAA0BgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,WAAY,oBAAsB,uBAAuB,KAAMrK,EAAW,QAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,OAAO,GAAGN,EAAI6C,MAAM,IAAI,IAAI,GAAK7C,EAAI2J,QAAia3J,EAAI6C,KAA5ZzC,EAAG,QAAQ,CAACE,MAAM,CAAC,gBAAgB,GAAG,MAAQ,KAAK,CAACF,EAAG,oCAAoC,CAACE,MAAM,CAAC,SAAWN,EAAIqK,UAAUrJ,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI4oE,aAAa1nE,GAAKG,WAAW,kBAAkBjB,EAAG,4BAA4B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,UAAUrJ,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI4oE,aAAa1nE,GAAKG,WAAW,mBAAmB,GAAYjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,QAAU,iBAAiB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,aAAa,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAC5vD3L,KAAM,gBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAAU,CAAC8lD,WAAY,UAClD,CAAC/vD,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAI6oE,MAAMkO,iBAAiB,IAAI,GAAG32E,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,uBAAuBH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,aAAa,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,IAAIR,EAAI6oE,MAAME,YAAc,GAAG3uB,QAAQ,IAAI,KAAKh6C,EAAG,OAAO,CAACmB,YAAY,0BAA0B,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,cAAc,SAASL,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,oBAAoB,GAAGH,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,SAAWN,EAAIqK,YAAYjK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,2BAA2B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,aAAa,GAAGjK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,4BAA4B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,aAAa,GAAGjK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,2BAA2B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,aAAa,IAAI,GAAGjK,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,2BAA2B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,YAAYjK,EAAG,wBAAwB,CAACE,MAAM,CAAC,SAAWN,EAAIqK,aAAa,IAAI,IACngC,GAAkB,GCJlB,GAAS,WAAa,IAAIrK,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIosD,QAAc,OAAEhsD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,cAAc,KAAON,EAAIg3E,UAAU,QAAUh3E,EAAIi3E,iBAAiB,GAAGj3E,EAAI6C,MACvP,GAAkB,GCcP,UAAInB,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAGZT,KALwB,aAMtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEP0yD,QAAS,KAIbtqD,SAAU,CACRk1E,UADQ,aAEN,IAAM9wB,EAAc,GACpBA,EAAK7yD,KAAK,CAACwK,EAAKxI,EAAE,oBAAqBwI,EAAKxI,EAAE,WAC9C,IAAE6hF,KAAKj3E,KAAKmsD,SAAS,SAAC5gC,GACpB06B,EAAK7yD,KAAK,CAACm4B,EAAIqyB,KAAMryB,EAAIoS,WAE3B,OAAOsoB,GAGT+wB,aAVQ,aAWN,IAAME,EAAQ,IAAE7gF,IAAI2J,KAAKmsD,QAAS,QAC5BgrB,EAAa93C,KAAK+3C,KAAKp3E,KAAKmsD,QAAQr5D,OAAS,GAEnD,MAAO,CACL4V,MAAO9K,EAAKxI,EAAE,2BACd0hB,MAAO,OACPugE,OAAQ,OACRC,UAAW,CAAExgE,MAAO,OACpBygE,OAAQ,CACNC,SAAU,QAEZC,OAAQ,CAAC,WACTC,MAAO,CACLC,cAAeR,KAUrBvN,aAlCQ,aAmCN,OAAO72E,OAAOyI,OAAO,GAAIwE,KAAKoK,SAAU,CACtC8lD,WAAY,MACZ0nB,iBAAkB,GAAF,OAAK,OAAS9N,SAAS,GAAI,SAAStqD,SAApC,QASpBpU,YA9CQ,aA+CN,OAAOG,GAAsBvL,KAAK4pE,gBAItC9nE,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAEL+K,E,sCAAqCxE,KAAKoL,a,SAC/B,OAAM,GAAiBrW,IAAIyP,G,OAAtCvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,qDAE5C+C,KAAKvG,MAAL,K,QAEFuG,KAAK0J,QAAU,M,8DCpGoa,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAClH,QAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIzC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6BL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,gBAAgB,cAAcO,MAAM,CAAC5L,MAAO4K,EAAoB,iBAAEiB,SAAS,SAAUC,GAAMlB,EAAI63E,iBAAiB32E,GAAKG,WAAW,uBAAuB,IAAI,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,oBAAoB,CAACE,MAAM,CAAC,WAAWN,EAAIwiB,uBAAuB,WAAWxiB,EAAIopB,WAAW,YAAYppB,EAAIosD,QAAQ,WAAW,kBAAkB,WAAW,oBAAoB,aAAa,QAAQ,YAAY,GAAG,YAAY,OAAO,IAAI,IACj3B,GAAkB,GCmDP,UAAI1qD,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAGZT,KALwB,aAMtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEPm+E,iBAAkB,GAClBzrB,QAAS,KAIbtqD,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,gBACnB,eAAS,QAAS,CAAC,4BAA0B,CAOhD+nE,aAPgD,aAQ9C,OAAO72E,OAAOyI,OAAO,GAAIwE,KAAKoK,SAAU,CACtC8lD,WAAY,MACZ0nB,iBAAkB53E,KAAK43E,oBAS3BxsE,YAnBgD,aAoB9C,OAAOG,GAAsBvL,KAAK4pE,iBAItC9nE,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAEL+K,E,wCAAuCxE,KAAKoL,a,SACjC,OAAM,GAAiBrW,IAAIyP,G,OAAtCvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,qDAE5C+C,KAAKvG,MAAL,K,QAEFuG,KAAK0J,QAAU,M,4DAInBoK,WAAY,CACVo4D,wBCvH+b,MCO/b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC9pE,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKE,QAAA,OC3B9D,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,QAAQ,CAACA,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,gBAAgB,aAAa,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAoB,iBAAEiB,SAAS,SAAUC,GAAMlB,EAAI63E,iBAAiB32E,GAAKG,WAAW,uBAAuB,IAAI,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIs4B,MAAM,QAAUt4B,EAAIzC,QAAQ,MAAQ,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,eAAeyC,EAAIS,GAAG,oBAAoB,IAAI,IAAI,IAC30B,GAAkB,GC0CP,UAAIiB,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAEZT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEPm+E,iBAAkB,GAElBzrB,QAAS,KAGbtqD,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CAEpDw2B,MAFoD,aAE/C,WACH,OAAO,IAAEhiC,IAAI2J,KAAKmsD,SAAS,SAAC5gC,GAC1B,OAAO,OAAP,wBACKA,GAAG,CACN0+C,aAAc1+C,EAAI0+C,aAAe,GAAG9vB,QAAQ,GAC5C+vB,MAAO,EAAK5tD,sBACViP,EAAI/J,QACJ,+BAWRlkB,QApBoD,aAqBlD,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,qBAAsBD,MAAO,SAC5C,CACEsT,KAAM7K,EAAKxI,EAAE,mBACbD,MAAO,eACPiqB,MAAO,SAET,CAAE3W,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,cAAeiqB,MAAO,WASjEwqD,aArCoD,aAsClD,IAAMx/D,EAAWrX,OAAOyI,OAAO,GAAIwE,KAAKoK,SAAU,CAChD8lD,WAAY,MACZ0nB,iBAAkB53E,KAAK43E,mBAEzB,OAAOxtE,GAQTgB,YAlDoD,aAmDlD,OAAOG,GAAsBvL,KAAK4pE,iBAGtC9nE,MAAO,CAKLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,KACP+K,E,wCAAuCxE,KAAKoL,a,kBAG/B,OAAM,GAAiBrW,IAAIyP,G,OAAtCvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,qDAE5C+C,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,wFCzI2a,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKsV,cAAA,KAAWpV,QAAA,OC5BzE,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIosD,QAAc,OAAEhsD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAgBT,EAAIoqE,yBAAyB,MAAQpqE,EAAI5K,MAAM,KAAO,GAAG,KAAO,GAAG,MAAQ,GAAG,MAAQ,aAAauL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,MAAW,CAACR,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAIzC,QAAQ,eAAeyC,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACniB,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACxC3L,KAAM,yBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACmsE,yBAA0BptE,EAAK1C,gBAChC,CAACtG,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAK8I,EAAK1C,eAAe,IAAI,GAAGtG,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAChI3L,KAAM,gBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACmsE,yBAA0BptE,EAAK1C,gBAChC,CAAC1G,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK2tE,cAAc,QAAQ,GAAG32E,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,IAAI4I,EAAK2/D,YAAc,GAAG3uB,QAAQ,IAAI,aAAa,KAAK,MAAM,eAAe,IAAI,GAAGp6C,EAAI6C,MAC1M,GAAkB,GCsDP,UAAInB,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACPmC,SAAUrX,QAGZT,KANwB,aAOtB,MAAO,CACLoX,QAAS,MACTyiD,QAAS,KAIbtqD,SAAU,OAAF,wBACH,eAAW,YAAa,CAAC,kBAAmB,uBAAqB,CAEpE4P,YAFoE,aAGlE,OAAO,IAAE9S,MAAMqB,KAAKmsD,SAAW,IAC5B91D,IAAI,cACJA,IAAI2J,KAAK+Q,iBACTkK,UACA9lB,SAOLg1E,wBAdoE,aAelE,IAAM3nC,EAAQ,IAAEnsC,IAAI2J,KAAKyR,aAAe,GAAI,QACtCmuC,EAAa,IAAEjhD,MAAM6jC,GACxBmZ,UACAW,UACAkB,MAAM,IAAE1oB,MACR2oB,OACAtoD,QACH,OAAOyqD,GAAc,WAQvBx0C,YA9BoE,aA+BlE,OAAOG,GAAsBvL,KAAKoK,WAGpC9M,QAlCoE,aAmClE,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,QAASD,MAAO,QAC/B,CACEsT,KAAM7K,EAAKxI,EAAE,kBACbgqB,MAAO,QACPjqB,MAAO,gBAET,CACEsT,KAAM7K,EAAKxI,EAAE,mBACbgqB,MAAO,QACPjqB,MAAO,kBAKf2M,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAIXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,K,SAEPlF,E,gCAA+BxE,KAAKoL,a,SAC9B,OAAM,GAAiBrW,IAAIyP,G,OAAjCsqC,E,OACN9uC,KAAKmsD,QAAU,IAAEp3D,IAAI+5C,EAAK,YAAa,I,gBAEvC9uC,KAAK0J,QAAU,M,oFCjJka,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,WACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAClH,QAAA,KAAKsV,cAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI/X,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIosD,QAAc,OAAEhsD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAI5K,MAAM,KAAO,GAAG,KAAO,GAAG,MAAQ,GAAG,MAAQ,aAAauL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,MAAW,CAACR,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAIzC,QAAQ,eAAeyC,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAC9gB,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACxC3L,KAAM,yBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACxG,iBAAkBuF,EAAKxF,kBACxB,CAACxD,EAAG,iBAAiB,CAACE,MAAM,CAAC,GAAK8I,EAAKxF,iBAAiB,IAAI,GAAGxD,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACnI3L,KAAM,gBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACxG,iBAAkBuF,EAAKxF,kBACxB,CAAC5D,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK2tE,cAAc,QAAQ,GAAG32E,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,IAAI4I,EAAK2/D,YAAc,GAAG3uB,QAAQ,IAAI,aAAa,KAAK,MAAM,aAAa,IAAI,GAAGp6C,EAAI6C,MACxM,GAAkB,GCoDP,UAAInB,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACPmC,SAAUrX,QAEZT,KALwB,aAMtB,MAAO,CACLoX,QAAS,MACTyiD,QAAS,KAGbtqD,SAAU,CAMRuJ,YANQ,aAON,OAAOG,GAAsBvL,KAAKoK,WAQpC9M,QAfQ,aAgBN,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,QAASD,MAAO,QAC/B,CACEsT,KAAM7K,EAAKxI,EAAE,kBACbgqB,MAAO,QACPjqB,MAAO,gBAET,CACEsT,KAAM7K,EAAKxI,EAAE,mBACbgqB,MAAO,QACPjqB,MAAO,iBAMf2M,MAAO,CAKLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,K,SAEPlF,E,2CAA0CxE,KAAKoL,a,SACpC,OAAM,GAAiBrW,IAAIyP,G,OAAtCvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,gBAE5C+C,KAAK0J,QAAU,M,oFC/H6Z,MCOhb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAClH,QAAA,KAAKsV,cAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI/X,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0BL,EAAG,QAAQ,CAACA,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoBO,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAI83E,qBAAqB52E,GAAKG,WAAW,2BAA2B,IAAI,IAAI,GAAGjB,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACmB,YAAY,kBAAkBjB,MAAM,CAAC,MAAQN,EAAIs4B,MAAM,QAAUt4B,EAAIzC,QAAQ,MAAQ,GAAG,eAAeyC,EAAIS,GAAG,oBAAoB,IAAI,IAAI,IAClxB,GAAkB,GCyCP,UAAIiB,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAEZT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEPo+E,qBAAsB,GAEtB1rB,QAAS,KAGbtqD,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CAEpDw2B,MAFoD,aAE/C,WACH,OAAO,IAAEhiC,IAAI2J,KAAKmsD,SAAS,SAAC5gC,GAC1B,OAAO,OAAP,wBACKA,GAAG,CACN0+C,aAAc1+C,EAAI0+C,aAAe,GAAG9vB,QAAQ,GAC5CswB,YAAa,EAAKnuD,sBAChBiP,EAAIm/C,cACJ,4BAWRptE,QApBoD,aAqBlD,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,wBAAyBD,MAAO,eAC/C,CACEsT,KAAM,KAAO7K,EAAKxI,EAAE,kBACpBD,MAAO,eACPiqB,MAAO,SAET,CAAE3W,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,cAAeiqB,MAAO,WASjEwqD,aArCoD,aAsClD,IAAMx/D,EAAWrX,OAAOyI,OAAO,GAAIwE,KAAKoK,SAAU,CAChD8lD,WAAY,QAEVlwD,KAAK63E,qBAAuB,IAC9BztE,EAAS0tE,kBAAoB,OAC1BhO,SAAS9pE,KAAK63E,qBAAsB,QACpCr4D,UAEL,OAAOpV,GAQTgB,YAtDoD,aAuDlD,OAAOG,GAAsBvL,KAAK4pE,iBAGtC9nE,MAAO,CAKLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,KACP+K,E,oCAAmCxE,KAAKoL,a,kBAG3B,OAAM,GAAiBrW,IAAIyP,G,OAAtCvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,qDAE5C+C,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,wFC5Iwa,MCO3b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKsV,cAAA,KAAWpV,QAAA,OC5BzE,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,GAAG,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,QAAQ,IAAI,GAAGL,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIs4B,MAAM,QAAUt4B,EAAIzC,QAAQ,eAAeyC,EAAIS,GAAG,gBAAgB,sBAAsB,GAAG,eAAe,IAAI6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACtlB,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKjC,UAAU/G,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKw0B,UAAUx9B,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,IAA0B,KAArB4I,EAAKigE,SAAW,IAAUjvB,QAAQ,IAAI,kBAAkB,IAAI,IACxO,GAAkB,GCyCP,UAAI14C,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAGZT,KALwB,aAMtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEP0yD,QAAS,KAIbtqD,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,gBAAc,CAEpCw2B,MAFoC,aAE/B,WACG0b,EAAQ,IAAEg4B,MAAM/rE,KAAKmsD,QAAS,UAAY,EAChD,OAAO,IAAE91D,IAAI2J,KAAKmsD,SAAS,SAAC5gC,GAAD,OAAS,6BAClCrkB,MAAO,EAAKoV,sBAAsBiP,EAAIhV,WAAY,EAAK4S,aACpDoC,GAAG,CACN69C,QAAS79C,EAAIoS,MAAQoW,QAIzB3oC,YAXoC,aAYlC,OAAOG,GAAsBvL,KAAKoK,WAGpC9M,QAfoC,aAgBlC,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,mBAAoBD,MAAO,QAC1C,CACEsT,KAAM7K,EAAKxI,EAAE,iBACbgqB,MAAO,QACPjqB,MAAO,SAET,CACEsT,KAAM7K,EAAKxI,EAAE,wBACbgqB,MAAO,QACPjqB,MAAO,kBAMf2M,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAEL+K,E,uCAAsCxE,KAAKoL,a,SAChC,OAAM,GAAiBrW,IAAIyP,G,OAAtCvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,qDAE5C+C,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,wFChH2a,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKsV,cAAA,KAAWpV,QAAA,OCyF1D,cAAIjB,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEPkvE,aAAc,MAEdv+D,SAAU,CACR8lD,WAAY,KACZqmB,yBAA0B,EAC1B3yE,iBAAkB,GAGpBglE,MAAO,CACLkO,aAAc,EACdhO,WAAY,IAGdiP,oBAAqB,KAGzB5vE,QAtBwB,aAuBtBnI,KAAKoI,aAEPvG,SAAU,OAAF,gFACH,eAAW,WAAY,CAAC,oBACxB,eAAW,gBAAiB,CAAC,wBAC7B,eAAW,WAAY,CAAC,2BACxB,eAAS,QAAS,CAAC,qBACnB,eAAW,gBAAiB,CAAC,sBAAoB,CAMpD+7B,WANoD,aAOlD,OAAO59B,KAAKi2C,iBAAiBj2C,KAAKoK,SAASxG,qBAI/C9B,MAAO,CACL6C,OAAQ,CACNV,UAAW,KACXC,QAFM,aAGJgI,GAAgBlM,KAAK2E,OAAQ3E,KAAKoK,UAClCpK,KAAKoI,eAKXpG,QAAS,CACDoG,UADC,a,8KAELpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAEL2R,EAAcG,GAAsBvL,KAAKoK,UACzC5F,E,0BAAyB4G,G,SACd,OAAM,GAAiBrW,IAAIyP,G,OAAtCvH,E,OACA8sE,EAAW,IAAEh1E,IAAIkI,EAAU,YAAa,IAC9C+C,KAAK4oE,MAAQ71E,OAAOyI,OAAOwE,KAAK4oE,MAAOmB,G,qDAEvC/pE,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,sFAKrBoK,WAAY,CACVkkE,mBACAlL,0BAAA,GACA8B,4BACAqJ,4BACAC,qCACAC,0BAAA,GACAC,yBACAC,+BClM0a,MCO1a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACj2E,SAAA,KAAMG,WAAA,QAAWC,QAAA,KAAKC,cAAA,KAAW6B,mBAAA,KAAgB5B,QAAA,OC5B/E,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIinD,aAAat+C,OAAO,OAAOvI,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAIinD,aAAav8C,UAAUtK,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAIinD,aAAat+C,SAASvI,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,oBAAoB,MAAQT,EAAIinD,aAAaF,WAAW,CAAC3mD,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIinD,aAAaF,aAAa,GAAG3mD,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,uCAAuC,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIinD,aAAaD,wBAAwB,GAAG5mD,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIinD,aAAaC,WAAW9mD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,eAAe,SAAWN,EAAIinD,aAAaxwD,OAAO,IAAI,GAAG2J,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,MAAQ,cAAc,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,QAAQ,GAAGL,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIu4E,sBAAsB,QAAUv4E,EAAIzC,QAAQ,QAAUyC,EAAI2J,SAASrE,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACh5C,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK8I,EAAKovE,aAAa,CAACx4E,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKxJ,QAAQjL,MAAM,QAAQ,GAAGyL,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK8I,EAAKovE,aAAa,CAACx4E,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKxJ,QAAQyJ,SAAS,QAAQ,GAAGjJ,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK8I,EAAKovE,aAAa,CAACx4E,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKu7D,KAAK,QAAQ,GAAGvkE,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK8I,EAAKovE,aAAa,CAACx4E,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKs7D,KAAK,QAAQ,GAAGtkE,EAAG,KAAK,CAACA,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQ,IAAIU,MAAM,CAAC5L,MAAOgU,EAAY,QAAEnI,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKlB,EAAM,UAAWlI,IAAMG,WAAW,mBAAmB,GAAGjB,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK07D,sBAAsB,YAAa9kE,EAAa,UAAEI,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,SAAS,KAAQ,+CAAiDN,EAAIvJ,GAAK,qBAAsB,CAAC2J,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,mBAAmBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,MAAM,IAAI,GAAGT,EAAI6C,MAAM,IAAI,IAAI,IAAI,IAAI,IACngC,GAAkB,GCHlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAMJ,EAAI0F,GAAI1F,EAAgB,cAAE,SAASy4E,EAAK5lF,GAAG,OAAOuN,EAAG,YAAY,CAAC1K,IAAI7C,EAAEyN,MAAM,CAAC,OAAS,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACtP,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,SAASJ,EAAI4F,GAAG,CAACrE,YAAY,OAAOjB,MAAM,CAAC,MAAQN,EAAI04E,MAAM,UAAU14E,EAAI6iD,SAASliD,GAAI,CAACX,EAAIO,GAAG,OAAOP,EAAIQ,GAAGi4E,EAAKnnB,MAAM,WAAW,KAAK,OAAO,CAAClxD,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGi4E,EAAK9jF,KAAKqL,EAAIzD,iBAAgB,IAC/M,GAAkB,G,aCiBP,UAAImF,OAAO,CACxBsG,MAAO,CACL5S,MAAO+D,MACPu/E,MAAOxwE,QACP26C,OAAQ36C,SAGVpG,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAS,WAAY,CAAC,WAAS,CAMlC62E,aANkC,aAQhC,IAAMC,EAAa,IAAE9sE,QAAQ,CAAC7L,KAAK7K,OAAS,KAE5C,OAAO,IAAEyJ,OAAOoB,KAAK44E,OAAO,SAACJ,GAC3B,OAAO,IAAE39E,SAAS89E,EAAYH,EAAKhiF,YCxC4Y,MCOnb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACie,SAAA,KAAM+yB,YAAA,OCqGrB,cAAI/lC,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAENhN,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MACTmvE,UAAW,KAGf1wE,QAVwB,aAWtBnI,KAAKoI,aAEPvG,SAAU,OAAF,oDACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,gBAAiB,CAAC,wBAC7B,eAAW,UAAW,CAAC,mBAAiB,CAK3CmlD,aAL2C,aAMzC,OAAOhnD,KAAKonD,mBAAmBpnD,KAAKxJ,KAOtC8hF,sBAb2C,aAatB,WACnB,OAAO,IAAEjiF,IAAI2J,KAAK64E,WAAW,SAACjkF,GAAD,OAC3B7B,OAAOyI,OAAO5G,EAAG,CACf+K,QAAS,EAAKyU,cAAcxf,EAAEkV,YAAc,GAC5CyuE,WAAY,CAAE7jF,KAAM,kBAAmB2K,OAAQ,CAAE7I,GAAIwR,OAAOpT,EAAE4B,YASpEy1D,UA1B2C,aA2BzC,OAAOjsD,KAAKsD,cAAc,mCAQ5BhG,QAnC2C,aAoCzC,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,eAAgBD,MAAO,QACtC,CAAEsT,KAAM7K,EAAKxI,EAAE,kBAAmBD,MAAO,WACzC,CAAEsT,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,OACvC,CAAEsT,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,OACvC,CAAEsT,KAAM7K,EAAKxI,EAAE,eAAgBD,MAAO,WACtC,CACEsT,KAAM7K,EAAKxI,EAAE,8BACbD,MAAO,uBAMf2M,MAAO,CAKLtL,GALK,WAKFod,GACD5T,KAAKoI,cAITpG,QAAS,CAKDoG,UALC,a,8KAMLpI,KAAK0J,QAAU,K,SAEPlF,E,yBAAwBxE,KAAKxJ,G,uBAClB,OAAM,GAAiBzB,IAAIyP,G,OAAtCvH,E,OACA47E,EAAY,IAAE9jF,IAAIkI,EAAU,YAAa,IAC/C+C,KAAK64E,UAAYA,EAGXhvE,EAAa,IAAExT,IAAIwiF,EAAW,a,UACpC,OAAM74E,KAAK2I,OAAOlQ,SAAS,uBAAwBoR,G,kBAEnD7J,KAAK0J,QAAU,M,oFAIrBoK,WAAY,CACVglE,oBC/Noa,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAchC,KAAkB,GAAW,CAAC32E,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKC,cAAA,KAAWqV,cAAA,KAAWrD,SAAA,KAAM/R,QAAA,KAAKsC,YAAA,KAASC,cAAA,UChClG,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,mBAAmB,CAACE,MAAM,CAAC,QAAUN,EAAIJ,WAAWQ,EAAG,cAAc,CAAGJ,EAAIJ,QAA8DI,EAAI6C,KAAzDzC,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,MAAeF,EAAG,QAAQJ,EAAI0F,GAAI1F,EAAY,UAAE,SAAS+f,GAAS,OAAO3f,EAAG,QAAQ,CAAC1K,IAAIqqB,EAAQtpB,GAAG6J,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,QAAUyf,EAAQ,QAAU/f,EAAIJ,QAAQC,YAAY,MAAK,IAAI,IAAI,IACxc,GAAkB,GCDlB,GAAS,WAAa,IAAIG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAIg5E,UAAU,KAAO,GAAG,KAAO,IAAI1zE,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAAEvB,EAAI+f,QAAmB,YAAE3f,EAAG,MAAM,CAACA,EAAG,OAAO,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQL,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAI+f,QAAQ22D,gBAAgB,GAAG12E,EAAI6C,KAAM7C,EAAI+f,QAAwB,iBAAE3f,EAAG,MAAM,CAACA,EAAG,OAAO,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,QAAQL,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAI+f,QAAQlc,oBAAoB7D,EAAIO,GAAG,OAAO,GAAGP,EAAI6C,SAAS4C,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACmB,YAAY,WAAW,CAACnB,EAAG,cAAc,CAACmB,YAAY,cAAcjB,MAAM,CAAC,GAAK,CAAE3L,KAAM,cAAe2K,OAAQ,CAAE7I,GAAIuJ,EAAI+f,QAAQtpB,OAAS,CAACuJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI+f,QAAQrV,WAAWtK,EAAG,SAAS,CAACmB,YAAY,YAAYjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAI+f,QAAQqc,QAAS,wBAAwB,OAAOh8B,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAI+f,QAAQkvC,SAAU,0BAA0B,OAAQjvD,EAAI+f,QAAe,QAAE3f,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,GAAG,MAAQ,UAAU,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,OAAOT,EAAI6C,MAAM,IAAI,GAAGzC,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAI+f,QAAQvZ,YAAY,IAAI,GAAIxG,EAAI+f,QAAmB,YAAE3f,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAI+f,QAAQqvC,gBAAgB,IAAI,GAAGpvD,EAAI6C,KAAKzC,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,OAAO,CAACmB,YAAY,uCAAuC,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOL,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,IAAIU,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIinB,QAAQ/lB,GAAKG,WAAW,cAAc,IAAI,GAAIrB,EAAI4lB,YAAY2V,mBAAyB,OAAEn7B,EAAG,QAAQ,CAACmB,YAAY,QAAQ,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAaN,EAAI4lB,YAAY2V,uBAAuB,IAAI,GAAGv7B,EAAI6C,MAAM,IAAI,IACr+E,GAAkB,GCsFP,UAAInB,OAAO,CACxBsG,MAAO,CACL+X,QAAS/sB,OACT6M,QAASN,QAGX6I,QANwB,aAOtBnI,KAAKoI,aAGPvG,SAAU,OAAF,sCACH,eAAW,QAAS,CACrB,YACA,aACA,cACA,uBAEC,eAAW,WAAY,CAAC,2BAAyB,CAEpDtC,KAFoD,aAGlD,OAAOS,KAAK0yB,WAAW1yB,KAAK8f,QAAQyvD,gBAGtCwJ,UANoD,aAOlD,GAAI/4E,KAAKg5E,iBACP,MAAO,QAET,MAAO,WAGTA,iBAboD,aAclD,IAAKh5E,KAAK2lB,YACR,OAAO,MAET,IAAK3lB,KAAK2lB,YAAYqB,QACpB,OAAO,MALK,sBAOOhnB,KAAK2lB,YAAYqB,SAPxB,MAOd,IAAK,EAAL,qBAA+C,KAApCW,EAAoC,QAC7C,GACE,IAAE9sB,SAASqa,GAAgCyS,EAAOJ,mBAElD,OAAO,MAXG,8BAcd,OAAO,OAGT5B,YA9BoD,aA+BlD,GAAI3lB,KAAKT,KACP,OAAOS,KAAK2xB,kBAAkB3xB,KAAKT,KAAK/I,GAAIwJ,KAAKJ,UAIrDonB,QApCoD,aAqClD,IAAKhnB,KAAK2lB,YACR,MAAO,GAET,OAAO3lB,KAAK2lB,YAAYqB,WAI5BhlB,QAAS,CACDoG,UADC,a,uKAEDpI,KAAK8f,SAAW9f,KAAK8f,QAAQyvD,e,yBAC/B,OAAMvvE,KAAK2I,OAAOlQ,SAChB,kBACAuH,KAAK8f,QAAQyvD,e,kDAMrBz7D,WAAY,CACV09C,gBACAI,sBCjKsa,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAACxvD,SAAA,KAAME,UAAA,QAAUsW,SAAA,KAAMpW,QAAA,KAAKE,QAAA,KAAKsC,YAAA,KAASC,cAAA,UC7BvE,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACmB,YAAY,yBAAyB,CAAEvB,EAAW,QAAEI,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIJ,QAAQjL,MAAM,IAAIqL,EAAIQ,GAAGR,EAAIJ,QAAQyJ,SAAS,OAAOjJ,EAAG,QAAQ,CAACmB,YAAY,2BAA2BjB,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,GAAG,GAAK,CAAE3L,KAAM,iBAAkB,CAACyL,EAAG,MAAM,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,SAASL,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,GAAG,GAAK,CAAE3L,KAAM,qBAAsB,CAACqL,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,GAAG,GAAK,CAAE3L,KAAM,uBAAwB,CAACqL,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,IAAIK,GAAG,CAAC,MAAQX,EAAI8vC,QAAQ,CAAC1vC,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,eAAe,IAAI,IAAI,IAAI,GAAGH,EAAG,yBAAyB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,QAAUN,EAAIJ,YAAY,GAAGI,EAAI6C,MAAM,IACpkC,GAAkB,GC2CP,UAAInB,OAAO,CACxBsG,MAAO,CACLpI,QAAS5M,QAEXiP,QAAS,CACP6tC,MADO,aAEL35C,OAAO25C,UAGX/7B,WAAY,CACVkB,6BCtDoa,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAC7S,QAAA,KAAK0sD,cAAA,KAAWrsD,QAAA,KAAKC,cAAA,KAAWgS,SAAA,KAAM/R,QAAA,OCJrD,cAAIjB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAENuC,SAAU,OAAF,sCACH,eAAW,UAAW,CAAC,mBACvB,eAAW,QAAS,CAAC,sBAAoB,CAC5ClC,QAD4C,aAE1C,OAAOK,KAAKoU,cAAcpU,KAAKxJ,KAEjCyiF,SAJ4C,aAK1C,IAAKj5E,KAAKL,UAAYK,KAAKL,QAAQC,QACjC,MAAO,GAET,OAAOI,KAAK8tB,iBAAiB9tB,KAAKL,QAAQC,YAG9CkU,WAAY,CACVolE,sBACAC,uBC3Cma,MCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAC32E,QAAA,KAAKC,cAAA,KAAW6B,mBAAA,KAAgB5B,QAAA,OC1B9D,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,mBAAmB,CAACE,MAAM,CAAC,QAAUN,EAAIJ,WAAWQ,EAAG,cAAc,CAAGJ,EAAIJ,QAA8DI,EAAI6C,KAAzDzC,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,MAAgBN,EAAW,QAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,MAAQ,cAAc,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,QAAQ,IAAI,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAI84E,UAAU,QAAU94E,EAAIq5E,iBAAiB/zE,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACxnB,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA4B2I,EAAK6mE,gBAAgB,OAAO7vE,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,kBAAmB2K,OAAQ,CAAE7I,GAAI2S,EAAK3S,OAAS,CAACuJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKu7D,KAAK,QAAQ,GAAGvkE,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,kBAAmB2K,OAAQ,CAAE7I,GAAI2S,EAAK3S,OAAS,CAACuJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKs7D,KAAK,QAAQ,GAAGtkE,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI4kE,aAAax7D,EAAK22C,uBAAuB3/C,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK27D,eAAe,GAAG3kE,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK07D,sBAAsB,GAAG1kE,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK8mE,YAAY,SAAS,KAAK,MAAM,aAAa,IAAI,IAAI,GAAGlwE,EAAI6C,MAAM,IAAI,IAChqB,GAAkB,GC4DP,UAAInB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAENuC,SAAU,OAAF,kEACH,eAAW,UAAW,CAAC,mBACvB,eAAW,QAAS,CAAC,sBACrB,eAAW,WAAY,CAAC,yBACxB,eAAW,UAAW,CAAC,kBAAgB,CAC1ClC,QAD0C,aAExC,OAAOK,KAAKoU,cAAcpU,KAAKxJ,KAEjCqiF,UAJ0C,aAKxC,IAAK74E,KAAKL,QACR,MAAO,GAET,OAAOK,KAAKq5E,oBAAoBr5E,KAAKxJ,KAEvC4iF,gBAV0C,aAWxC,MAAO,CACL,CAAE3wE,KAAM7K,EAAKxI,EAAE,0BAA2BD,MAAO,iBACjD,CAAEsT,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,OACvC,CAAEsT,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,OACvC,CACEsT,KAAM7K,EAAKxI,EAAE,4BACbD,MAAO,qBAET,CAAEsT,KAAM7K,EAAKxI,EAAE,uBAAwBD,MAAO,cAC9C,CACEsT,KAAM7K,EAAKxI,EAAE,8BACbD,MAAO,qBAET,CACEsT,KAAM7K,EAAKxI,EAAE,oBACbD,MAAO,eAKf2e,WAAY,CACVqlE,uBCvGqa,MCOra,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAAC32E,QAAA,KAAKC,cAAA,KAAWqV,cAAA,KAAWxT,mBAAA,KAAgB5B,QAAA,KAAKsC,YAAA,KAASC,cAAA,UC7BvF,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACnB,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAI4E,QAAQjE,GAAG,CAAC,aAAeX,EAAIyyD,iBAAiB,IAC7N,GAAkB,GCUP,UAAI/wD,OAAO,CACxBO,QAAS,CASPwwD,aATO,WASM9uD,GACG,KAAVA,IACFA,EAAQ,IAAH,OAAO2vD,UAAU3vD,KAExB,IAAM4vD,EAAU,GAAH,OAAMtzD,KAAK2E,OAAOwN,MAAlB,OAAyBzO,GAClC1D,KAAK2E,OAAOC,WAAa0uD,GAC3BtzD,KAAKoE,QAAQ2sC,QAAQuiB,KAK3Bx/C,WAAY,CACV6E,sBCjC+Z,MCO/Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAClW,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI1C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,mBAAmB,CAACE,MAAM,CAAC,QAAUN,EAAIJ,WAAWQ,EAAG,cAAc,CAAGJ,EAAIJ,QAA8DI,EAAI6C,KAAzDzC,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,MAAeF,EAAG,wBAAwB,CAACE,MAAM,CAAC,QAAUN,EAAIJ,YAAY,IAAI,IAC7T,GAAkB,GCkBP,UAAI8B,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAENuC,SAAU,OAAF,kEACH,eAAW,UAAW,CAAC,mBACvB,eAAW,QAAS,CAAC,sBACrB,eAAW,WAAY,CAAC,yBACxB,eAAW,UAAW,CAAC,kBAAgB,CAC1ClC,QAD0C,aAExC,OAAOK,KAAKoU,cAAcpU,KAAKxJ,OAGnCsd,WAAY,CACVe,yBACAskE,uBClC+Z,MCO/Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC12E,cAAA,KAAW6B,mBAAA,OCxBzC,IAAI,GAAS,WAAa,IAAIvE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACnB,EAAG,SAAS,CAACO,GAAG,CAAC,OAAS,SAASC,GAAQA,EAAOC,iBAAiB,OAAOb,EAAIqI,UAAU3U,MAAM,KAAMqN,cAAc,CAACX,EAAG,SAAS,CAACE,MAAM,CAAC,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,QAAQ,SAAW,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,YAAYA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIoK,eAAelJ,GAAKG,WAAW,sBAAsBoE,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,MAAM,GAAGL,EAAG,YAAcJ,EAAIoK,eAAoTpK,EAAI6C,KAAxSzC,EAAG,eAAe,CAACM,IAAI,QAAQJ,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,GAAG,cAAc,SAAS,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAU,EAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,IAAqB,kBAARnJ,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,iBAA0B,GAAGjB,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAUsG,EAAkB,eAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,MAAM,QAAU,kBAAkB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAa,KAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,OAAQnJ,IAAMG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAgB,QAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,UAAWnJ,IAAMG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAc,MAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,QAASnJ,IAAMG,WAAW,qBAAqB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA8B,sBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,wBAAyBnJ,IAAMG,WAAW,qCAAqC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA6B,qBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,uBAAwBnJ,IAAMG,WAAW,oCAAoC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,kBAAkB,kBAAkB,GAAG,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,MAAQ,qBAAqB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAoB,YAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,cAAenJ,IAAMG,WAAW,2BAA2B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQ,oBAAoB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAgB,KAAOT,EAAIS,GAAG,iBAAmB,KAAKO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAe,OAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,SAAUnJ,IAAMG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAgB,KAAOT,EAAIS,GAAG,iBAAmB,KAAKO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAe,OAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,SAAUnJ,IAAMG,WAAW,sBAAsB,IAAI,IAAI,GAAGrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUN,EAAIzC,QAAQ,MAAQyC,EAAIosD,QAAQ,QAAUpsD,EAAI2J,QAAQ,eAAe,GAAG,KAAO3J,EAAIyK,KAAKC,OAAO,iBAAiB1K,EAAIyK,KAAKE,KAAK,sBAAsB3K,EAAIyK,KAAKG,YAAY,eAAe,CAC5xJ,yBAA0B,CAAC,GAAI,GAAI,GAAI,GAAI,MAC3C,eAAe5K,EAAIS,GAAG,iBAAiBE,GAAG,CAAC,cAAc,SAASC,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,SAAU7J,IAAS,sBAAsB,SAASA,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,OAAQ7J,IAAS,wBAAwB,SAASA,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,OAAQ7J,KAAU0E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACjV,IAAI0I,EAAO1I,EAAI0I,KAC/B,MAAO,CAAChJ,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,kBAAmB2K,OAAQ,CAAE7I,GAAI2S,EAAK3S,OAAS,CAACuJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKzU,MAAM,IAAIqL,EAAIQ,GAAG4I,EAAKC,SAAS,UAAU,CAAC3T,IAAI,iBAAiB8P,GAAG,SAAS9E,GAChL,IAAI0I,EAAO1I,EAAI0I,KAC/B,MAAO,CAAChJ,EAAG,aAAa,CAACE,MAAM,CAAC,UAAY8I,EAAK+B,UAAU,cAAgB/B,EAAKgC,6BAA6B,CAAC1V,IAAI,kBAAkB8P,GAAG,SAAS9E,GAChI,IAAI0I,EAAO1I,EAAI0I,KAC/B,MAAO,CAAChJ,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKE,eAAelJ,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKmwE,uBAAuB,CAAC7jF,IAAI,sBAAsB8P,GAAG,SAAS9E,GAC/H,IAAI0I,EAAO1I,EAAI0I,KAC/B,MAAO,CAAChJ,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAK+E,YAAY,QAAQ/N,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKgF,mBAAmB,CAAC1Y,IAAI,8BAA8B8P,GAAG,SAAS9E,GACxI,IAAI0I,EAAO1I,EAAI0I,KAC/B,MAAO,CAAChJ,EAAG,MAAM,CAACA,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAK8I,EAAK8B,0BAA0B,GAAG9K,EAAG,MAAM,CAACA,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAK8I,EAAKmE,yBAAyB,OAAO,KAAK,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI,IACjM,GAAkB,GCgMP,UAAI7L,OAAO,CACxBsG,MAAO,CAKLkC,MAAOhC,SAGTE,QATwB,aAWtBnI,KAAKoI,YAILpI,KAAKoI,UAAY,IAAEwN,SAAS5V,KAAKoI,UAAW,MAG9C9V,KAlBwB,aAmBtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KACP0Q,eAAgB,MAEhB0L,gBAAiB,GACjBzL,SAAU,CACR0L,EAAG,GACHphB,KAAM,GACN0U,QAAS,GACTC,WAAY,GACZC,gBAAiB,GACjByM,MAAO,GACPxI,SAAU,EACVtC,sBAAuB,EACvBqC,qBAAsB,EACtB0I,OAAQ,EACRC,OAAQ,EACRvI,YAAa,EACbC,WAAY,GAGdw+C,QAAS,GAET3hD,KAAM,CACJC,OAAQ,EACRC,KAAM,GACNC,YAAa,KAKnB9I,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,2BACxB,eAAW,UAAW,CAAC,mBACvB,eAAW,OAAQ,CAAC,mBAAiB,CAExCw2B,MAFwC,aAGtC,OAAO,IAAEhiC,IAAI2J,KAAKmsD,SAAS,SAAC5gC,GAC1B,OAAOx4B,OAAOyI,OAAO,GAAI+vB,EAAK,CAC5B72B,KAAM,GAAF,OAAK62B,EAAI72B,KAAT,YAAiB62B,EAAIniB,SACzBC,WAAY,GAAF,OAAKkiB,EAAIliB,WAAT,aAAwBkiB,EAAIjiB,iBACtCiwE,eAAgB,GAAF,OAAKhuD,EAAIrd,WAAT,YAAuBqd,EAAIpd,mBAS/CwI,kBAhBwC,aAiBtC,OAAO,IAAE3J,QAAQhN,KAAKoK,SAAUpK,KAAK6V,kBASvCzK,YA1BwC,aA2BlC,IAAEa,QAAQjM,KAAK6V,mBACjB7V,KAAK6V,gBAAkB,IAAEe,UAAU5W,KAAKoK,WAE1C,IAAMyM,EAAKjK,GAAgB5M,KAAKoK,SAAUpK,KAAK6V,iBAC/C,OAAOtK,GAAsBsL,EAAI7W,KAAKwK,OAQxClN,QAvCwC,aAwCtC,IAAMA,EAAiB,CACrB,CAAEmL,KAAM7K,EAAKxI,EAAE,eAAgBD,MAAO,QACtC,CACEsT,KAAM7K,EAAKxI,EAAE,cACbD,MAAO,aAET,CACEsT,KAAM7K,EAAKxI,EAAE,qBACbD,MAAO,cAET,CACEsT,KACE7K,EAAKxI,EAAE,qBAAuB,MAAQwI,EAAKxI,EAAE,sBAC/CD,MAAO,kBAET,CACEsT,KACE7K,EAAKxI,EAAE,qBAAuB,MAAQwI,EAAKxI,EAAE,oBAC/CD,MAAO,0BAET,CACEsT,KAAM7K,EAAKxI,EAAE,kBACbD,MAAO,oBACPiqB,MAAO,UAGX,OAAO9hB,KAIXwE,MAAO,CACL6C,OAAQ,CACNV,UAAW,KACXC,QAFM,aAGA,IAAE+H,QAAQjM,KAAK6V,mBACjB7V,KAAK6V,gBAAkB,IAAEe,UAAU5W,KAAKoK,WAE1C8B,GAAgBlM,KAAK2E,OAAQ3E,KAAKoK,SAAUpK,KAAKwK,MAC5CxK,KAAK2W,mBAAyC,KAApB3W,KAAKoK,SAAS0L,IAC3C9V,KAAKmK,eAAiB,QAQ5BiB,YAjBK,WAiBO8L,EAAgBE,GAC1BpX,KAAKoI,aAOPgC,SAAU,CACR+M,KAAM,KACNlT,UAAW,MACXC,QAHQ,WAGAgT,EAAQE,GACVpX,KAAKwK,KAAKG,YAAc,GAAK3K,KAAKwK,KAAKC,OAAS,IAClDzK,KAAKwK,KAAKC,OAAS,KASzBN,eAvCK,WAuCUkN,GACTA,EACFrX,KAAKsX,sBAELtX,KAAKuX,0BAKXvV,QAAS,CAKPwwD,aALO,WAKM9uD,GACG,KAAVA,IACFA,EAAQ,IAAH,OAAO2vD,UAAU3vD,KAExB,IAAM4vD,EAAU,GAAH,OAAMtzD,KAAK2E,OAAOwN,MAAlB,OAAyBzO,GAClC1D,KAAK2E,OAAOC,WAAa0uD,GAC3BtzD,KAAKoE,QAAQ2sC,QAAQuiB,IASzB1tD,MApBO,aAoBF,WACH5F,KAAKyX,WAAU,WACb,EAAKH,sBACL,EAAKC,wBAED,EAAK5V,MAAM+B,OACZ,EAAK/B,MAAM+B,MAAc9B,YAKhC0V,oBA/BO,aAgCLtX,KAAKoK,SAAS0L,EAAI,IAGpByB,sBAnCO,aAoCLvX,KAAKoK,SAAWrX,OAAOyI,OAAOwE,KAAKoK,SAAUpK,KAAK6V,kBAQ9CzN,UA5CC,a,0KA6CLpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAGL+K,E,4BAA2BxE,KAAKoL,a,SACzB,OAAM,GAAWrW,IAAIyP,G,OAA5B/G,E,OACNuC,KAAKwK,KAAKG,YAAc,IAAE5V,IAAI0I,EAAM,yBAA0B,GAC9DuC,KAAKmsD,QAAU,IAAEp3D,IAAI0I,EAAM,YAAa,IACxCuC,KAAKwyD,aAAaxyD,KAAKoL,a,qDAEvBpL,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,sFAIrBoK,WAAY,CACV4D,oBACAE,sBACAC,0BCzbma,MCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAiBhC,KAAkB,GAAW,CAACzV,SAAA,KAAME,UAAA,QAAUmR,aAAA,KAAUjR,QAAA,KAAKC,cAAA,KAAWqV,cAAA,KAAWC,SAAA,KAAMtD,SAAA,KAAM/R,QAAA,KAAKqC,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UCnChI,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIkkC,iBAAiBlkC,EAAIvJ,KAAK,QAAQ,GAAG2J,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2BT,EAAI0F,GAAI1F,EAAoB,kBAAE,SAASvC,GAAQ,OAAO2C,EAAG,QAAQ,CAAC1K,IAAI+H,EAAO6C,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gCAAgC,CAACE,MAAM,CAAC,WAAaN,EAAIvJ,GAAG,OAASgH,EAAO,UAAYuC,EAAIy5E,kBAAkBh8E,IAAW,OAAO,OAAM,GAAG2C,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4BT,EAAI0F,GAAI1F,EAAoB,kBAAE,SAASvC,GAAQ,OAAO2C,EAAG,QAAQ,CAAC1K,IAAI+H,EAAO6C,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gCAAgC,CAACE,MAAM,CAAC,WAAaN,EAAIvJ,GAAG,OAASgH,EAAO,UAAYuC,EAAI05E,kBAAkBj8E,IAAW,OAAO,OAAM,IAAI,IAC78B,GAAkB,GC4BJk8E,IAAlB,SAAkBA,GAChB,uBACA,2BACA,4BACA,qBACA,yBACA,uBACA,4BAPF,CAAkBA,QAAc,KAUzB,IAAMC,GAAmB,CAC9BD,GAAeE,QACfF,GAAeG,UACfH,GAAeI,UACfJ,GAAeK,OACfL,GAAeM,SACfN,GAAeO,QACfP,GAAehsC,WAGJwsC,GAAyB,CACpCR,GAAeE,QACfF,GAAeG,UACfH,GAAeI,WAGJK,GAA6B,CACxCT,GAAeE,QACfF,GAAeG,WAGJ,GAAQ,CACnBO,SAAU,GACVC,uBAAwB,GACxBC,uBAAwB,IAGb,GAAU,CACrBC,eACE,WAAC1iF,GAAD,OACA,SAAC2iF,GACC,OAAO3iF,EAAMuiF,SAASI,KAE1BC,qBACE,WAAC5iF,GAAD,OACA,SAACqc,GACC,OAAQrc,EAAMwiF,uBAAuBnmE,IAAe,IAAI7d,KACtD,SAACG,GAAD,OAAgBqB,EAAMuiF,SAAS5jF,QAGrCkkF,qBACE,WAAC7iF,GAAD,OACA,SAACmM,GACC,OAAQnM,EAAMyiF,uBAAuBt2E,IAAe,IAAI3N,KACtD,SAACG,GAAD,OAAgBqB,EAAMuiF,SAAS5jF,SAK1B,GAAY,GAEZ,GAAU,CACfmkF,eADe,aACYngF,GAA+B,IAAzChC,EAAyC,EAAzCA,O,qLACJ,OAAM,GAAYzD,IAAZ,oBACRyF,EAAQ0Z,WADA,e,OAAjBjX,E,OAGA29E,EAAY39E,EAAS3K,KAAKA,KAC1B8G,EAAWL,EAAc,WAAY6hF,GAC3CpiF,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,yBACRK,MAAOF,EAAQ0Z,WACf/e,MAAO,IAAEkB,IAAIukF,EAAW,Q,4CAGtBC,gCAde,aAc6BrgF,GAAuB,IAAjChC,EAAiC,EAAjCA,O,qLACrB,OAAM,GAAYzD,IAAZ,qBACPyF,EAAQhE,GADD,sB,OAAjByG,E,OAGA29E,EAAY39E,EAAS3K,KAAKA,KAC1B8G,EAAWL,EAAc,WAAY6hF,GAC3CpiF,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,yBACRK,MAAOF,EAAQhE,GACfrB,MAAO,IAAEkB,IAAIukF,EAAW,Q,6CClH1B,GAAS,WAAa,IAAI76E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA4BT,EAAIvC,SAAS,QAAQ,GAAG2C,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAUN,EAAIzC,QAAQ,MAAQyC,EAAIs4B,MAAM,sBAAsB,GAAG,eAAet4B,EAAIS,GAAG,iBAAiB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAC5d,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK2xE,YAAc3xE,EAAK4xE,yBAAyB,GAAG56E,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK6xE,uBAAuB,GAAG76E,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACjM3L,KAAM,kBACN2K,OAAQ,CAAE7I,GAAI2S,EAAK+K,eACjB,CAACnU,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKzU,MAAM,QAAQ,GAAGyL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI4kE,aAAa5kE,EAAIk7E,qBAAqB9xE,QAAWhJ,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBnT,EAAKg7D,SAAUpkE,EAAIm7E,kBAAkB,OAAO/6E,EAAG,KAAK,CAACA,EAAG,MAAM,CAACmB,YAAY,UAAU,CAACnB,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAa8I,EAAK3S,GAAG,WAAa2S,EAAK+K,cAAc/T,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,CAACL,EAAG,QAAQ,CAAEgJ,EAAW,OAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAIo7E,gBAAgBhyE,EAAK3L,WAAWuC,EAAI6C,KAAMuG,EAAe,WAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,gBAAgB,MAAQ2I,EAAKiyE,OAAOr7E,EAAI6C,KAAOuG,EAAKkyE,WAA4Gt7E,EAAI6C,KAApGzC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,gBAAgB,MAAQ2I,EAAKmyE,QAAiB,GAAInyE,EAAK4xE,sBAAwB5xE,EAAK6xE,mBAAoB76E,EAAG,QAAQ,CAAEgJ,EAAyB,qBAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,mCAAmC,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK4xE,yBAAyB,GAAGh7E,EAAI6C,KAAMuG,EAAuB,mBAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,iCAAiC,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK6xE,uBAAuB,GAAGj7E,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAMuG,EAAK2xE,YAAc3xE,EAAKoyE,UAAWp7E,EAAG,QAAQ,CAAEgJ,EAAe,WAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,yBAAyB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK2xE,eAAe,GAAG/6E,EAAI6C,KAAMuG,EAAc,UAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,wBAAwB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAKoyE,cAAc,GAAGx7E,EAAI6C,MAAM,GAAG7C,EAAI6C,KAC7oDuG,EAAKqyE,uBAAyBryE,EAAKsyE,oBACnCt7E,EAAG,QAAQ,CAAEgJ,EAA0B,sBAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,gCAAgC,MAAQT,EAAI4kE,aAAax7D,EAAKqyE,0BAA0Bz7E,EAAI6C,KAAMuG,EAAwB,oBAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,8BAA8B,MAAQT,EAAI4kE,aAAax7D,EAAKsyE,wBAAwB17E,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAMuG,EAAKuyE,YAAcvyE,EAAKwyE,SAAUx7E,EAAG,QAAQ,CAAEgJ,EAAe,WAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAI67E,SAASzyE,EAAKuyE,eAAe37E,EAAI6C,KAAMuG,EAAa,SAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAI67E,SAASzyE,EAAKwyE,aAAa57E,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAMuG,EAAKg7D,UAAYh7D,EAAK+nD,MAAO/wD,EAAG,QAAQ,CAAEgJ,EAAKg7D,SAAW,EAAGhkE,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAIuc,sBAAsBnT,EAAKg7D,SAAUpkE,EAAIm7E,oBAAoBn7E,EAAI6C,KAAMuG,EAAU,MAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,SAAS,MAAQ2I,EAAK+nD,SAASnxD,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAMuG,EAAK0yE,YAAc1yE,EAAK2yE,aAAc37E,EAAG,QAAQ,CAAEgJ,EAAe,WAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,yBAAyB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK0yE,eAAe,GAAG97E,EAAI6C,KAAMuG,EAAiB,aAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ2I,EAAK2yE,gBAAgB/7E,EAAI6C,MAAM,GAAG7C,EAAI6C,MAAM,IAAI,eAAe,IAAI,IAC7iD,GAAkB,GCRlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACmB,YAAY,6CAA6C,CAAEvB,EAAgB,aAAEI,EAAG,qBAAqB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,OAASN,EAAIS,GAAG,4BAA4B,MAAQ,UAAU,UAAU,IAAIE,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAIg8E,aAAa,CAAC57E,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,cAAcP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,MAAM,GAAGT,EAAI6C,KAAM7C,EAAgB,aAAEI,EAAG,qBAAqB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,OAASN,EAAIS,GAAG,yBAAyB,MAAQ,QAAQ,UAAU,IAAIE,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAIi8E,UAAU,CAAC77E,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,YAAYP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,MAAM,GAAGT,EAAI6C,KAAM7C,EAAe,YAAEI,EAAG,qBAAqB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,OAASN,EAAIS,GAAG,0BAA0B,MAAQ,SAAS,UAAU,IAAIE,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAIk8E,WAAW,CAACl8E,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOT,EAAI6C,KAAM7C,EAAgB,aAAEI,EAAG,uBAAuB,CAACE,MAAM,CAAC,WAAaN,EAAIy6E,cAAcz6E,EAAI6C,KAAM7C,EAAiB,cAAEI,EAAG,yBAAyB,CAACE,MAAM,CAAC,WAAaN,EAAIy6E,cAAcz6E,EAAI6C,KAAM7C,EAAe,YAAEI,EAAG,qBAAqB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,OAASN,EAAIS,GAAG,0BAA0B,MAAQ,QAAQ,UAAU,IAAIE,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAIm8E,WAAW,CAACn8E,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,OAAOT,EAAI6C,MAAM,IACt+C,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,aAAY,WAAW,MAAO,CAAC5F,EAAG,QAAQJ,EAAI4F,GAAG,CAACrE,YAAY,OAAOjB,MAAM,CAAC,MAAQ,QAAQ,UAAU,KAAKyF,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,YAAYP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,MAAM,MAAK,KAAKsF,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAI87E,WAAW56E,GAAKG,WAAW,iBAAiB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI+7E,aAA6B,kBAAR76E,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,mBAAmB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,WAAW,SAAWL,KAAKw6E,eAAe,IAAI,IAAI,IAC96C,GAAkB,GCoDP,UAAI/4E,OAAO,CACxBsG,MAAO,CACLyyE,WAAYl7E,QAGdhN,KALwB,aAMtB,MAAO,CACLoF,OAAQ,MACRmkF,WAAY,GACZC,aAAc,GACdriF,MAAO,OAIXuI,QAAS,CAKP4D,MALO,aAML5F,KAAK67E,WAAa,OAASr8D,SAC3Bxf,KAAK87E,aAAe,IAOhBj2E,KAdC,a,0KAeL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,mBAAoB,CAC1DrhB,KAAM,CACJkoF,WAAYx6E,KAAKw6E,WACjBqB,WAAY77E,KAAK67E,WACjBC,aAAc97E,KAAK87E,gB,OAJjB7+E,E,OAOA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,8DChGsb,MCO1b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC0I,QAAA,KAAKK,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKgR,aAAA,OC3BnD,IAAI,GAAS,WAAa,IAAI3T,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,aAAY,WAAW,MAAO,CAAC5F,EAAG,QAAQJ,EAAI4F,GAAG,CAACrE,YAAY,OAAOjB,MAAM,CAAC,MAAQ,UAAU,UAAU,KAAKyF,EAAUpF,IAAI,CAACX,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,UAAS,KAAKsF,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,mCAAmC,MAAQT,EAAI4kE,aAAa5kE,EAAIq6E,SAASoB,0BAA0Br7E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,wCAAwC,MAAQT,EAAI4kE,aAAa5kE,EAAIq6E,SAASqB,wBAAwBt7E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAIq6E,SAASjW,SAAS,eAAe,8BAA8BhkE,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,SAAS,MAAQT,EAAIq6E,SAASlpB,UAAU,GAAG/wD,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,cAAc,IAAI,GAAGA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIs7E,WAAWp6E,GAAKG,WAAW,eAAe,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,QAAQ,MAAQN,EAAIS,GAAG,8BAA8B,MAAQ,SAASL,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,QAAQ,MAAQN,EAAIS,GAAG,8BAA8B,MAAQ,SAAS,IAAI,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAAEN,EAAc,WAAEI,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,UAAY,KAAKO,MAAM,CAAC5L,MAAO4K,EAAO,IAAEiB,SAAS,SAAUC,GAAMlB,EAAIq7E,IAAoB,kBAARn6E,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,SAASrB,EAAI6C,KAAO7C,EAAIs7E,WAA8Mt7E,EAAI6C,KAAtMzC,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,UAAY,KAAKO,MAAM,CAAC5L,MAAO4K,EAAO,IAAEiB,SAAS,SAAUC,GAAMlB,EAAIu7E,IAAoB,kBAARr6E,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,UAAmB,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,WAAW,SAAWN,EAAIq6E,SAAS5jF,OAAO,IAAI,IAAI,IACzwE,GAAkB,GCiGP,UAAIiL,OAAO,CACxBsG,MAAO,CACLyyE,WAAYl7E,QAGdhN,KALwB,aAMtB,MAAO,CACLgpF,IAAK,GACLF,IAAK,GACLC,WAAY,MACZ3jF,OAAQ,MACR+B,MAAO,OAIXoI,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,iBAAkB,oBAC1C,eAAW,UAAW,CAAC,kBAAgB,CAE1Cu4E,SAF0C,aAGxC,OAAOp6E,KAAKu6E,eAAev6E,KAAKw6E,aAGlC16E,SAN0C,aAOxC,IAAMs6E,EAAWp6E,KAAKo6E,SACtB,OAAOp6E,KAAKm8E,eAAe/B,EAASlmE,eAIxClS,QAAS,CAKP4D,MALO,aAML,GAAI5F,KAAKF,SAAU,CACjBE,KAAKo7E,IAAMp7E,KAAKF,SAAS4kE,IACzB1kE,KAAKs7E,IAAMt7E,KAAKF,SAAS2kE,IAGvBzkE,KAAKo6E,WACPp6E,KAAKq7E,WAAar7E,KAAKo6E,SAASiB,aAQ9Bx1E,KApBC,a,0KAqBL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,qBAAsB,CAC5DrhB,KAAM,CACJkoF,WAAYx6E,KAAKw6E,WACjBc,IAAKt7E,KAAKs7E,IACVF,IAAKp7E,KAAKo7E,IACVC,WAAYr7E,KAAKq7E,c,OALfp+E,E,OAQA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,8DCnKwb,MCO5b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAAC0I,QAAA,KAAKK,QAAA,KAAKsC,YAAA,KAASkT,UAAA,KAAOC,eAAA,KAAYvV,QAAA,KAAKC,cAAA,OCwC1D,cAAIlB,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,OACZk7E,WAAYl7E,QAEduC,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,oBACxB,eAAW,OAAQ,CAAC,mBAAiB,CAExCu4E,SAFwC,aAGtC,OAAOp6E,KAAKu6E,eAAev6E,KAAKw6E,aAOlCh9E,OAVwC,aAWtC,IAAKwC,KAAKo6E,SACR,MAAO,UAET,OAAOp6E,KAAKo6E,SAAS58E,QAOvB4+E,aArBwC,aAsBtC,GAAIp8E,KAAKxC,SAAWk8E,GAAeE,QACjC,OAAO,MAGT,OAAO55E,KAAKsD,cACV,4BACA,WACAtD,KAAKo6E,SAASoB,wBAQlBa,YArCwC,aAsCtC,GAAIr8E,KAAKxC,SAAWk8E,GAAeG,UACjC,OAAO,MAET,OAAO75E,KAAKsD,cACV,0BACA,WACAtD,KAAKo6E,SAASoB,wBAQlBc,aApDwC,aAqDtC,IAAK,IAAEzhF,SAASs/E,GAA4Bn6E,KAAKxC,QAC/C,OAAO,MAET,OAAOwC,KAAKsD,cACV,4BACA,WACAtD,KAAKo6E,SAASoB,wBAQlBe,cAnEwC,aAoEtC,GAAIv8E,KAAKxC,SAAWk8E,GAAeI,UACjC,OAAO,MAET,OAAO95E,KAAKsD,cACV,6BACA,WACAtD,KAAKo6E,SAASqB,sBAQlBe,YAlFwC,aAmFtC,GAAIx8E,KAAKxC,SAAWk8E,GAAeI,UACjC,OAAO,MAET,OAAO95E,KAAKsD,cACV,6BACA,WACAtD,KAAKo6E,SAASqB,wBAKpBz5E,QAAS,CACD+5E,QADC,a,mLAEY,OAAM,GAAYpoE,KAAK,oBAAqB,CAC3DrhB,KAAM,CAAEkoF,WAAYx6E,KAAKw6E,c,OADrBv9E,E,OAGA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,G,iDAGpC4iF,KATC,a,mLAUY,OAAM,GAAYroE,KAAK,iBAAkB,CACxDrhB,KAAM,CAAEkoF,WAAYx6E,KAAKw6E,c,OADrBv9E,E,OAGA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,G,iDAGpC6iF,MAjBC,a,mLAkBY,OAAM,GAAYtoE,KAAK,kBAAmB,CACzDrhB,KAAM,CAAEkoF,WAAYx6E,KAAKw6E,c,OADrBv9E,E,OAGA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,G,iDAGpC8iF,MAzBC,a,mLA0BY,OAAM,GAAYvoE,KAAK,kBAAmB,CACzDrhB,KAAM,CAAEkoF,WAAYx6E,KAAKw6E,c,OADrBv9E,E,OAGA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,G,kDAI5C0a,WAAY,CACV2oE,wBACAC,6BC9Mqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACjoE,SAAA,OCuLf,cAAIhT,OAAO,CACxBsG,MAAO,CACL/D,WAAY1E,OACZs7E,UAAW1hF,MACXsE,OAAQwK,QAGVnG,SAAU,OAAF,gFACH,eAAW,WAAY,CAAC,2BACxB,eAAW,UAAW,CAAC,eAAgB,cACvC,eAAW,WAAY,CAAC,oBACxB,eAAW,UAAW,CAAC,iBACvB,eAAS,WAAY,CAAC,qBAAmB,CAC5Cw2B,MAD4C,aACvC,WACH,OAAOr4B,KAAK46E,UAAUvkF,KAAI,SAACjB,GACzB,IAAMR,EAAI,EAAKunF,eAAe/mF,EAAE8e,YAChC,OAAOnhB,OAAOyI,OAAOpG,EAAG,CACtBV,KAAME,EAAI,EAAKoV,YAAYpV,EAAEkV,WAAa,WAMlDxX,KAvBwB,aAwBtB,MAAO,CACLgL,QAAS,CACP,CAAEmL,KAAM7K,EAAKxI,EAAE,aAAcD,MAAO,cACpC,CACEsT,KAAM7K,EAAKxI,EAAE,+BACbD,MAAO,sBAET,CAAEsT,KAAM7K,EAAKxI,EAAE,eAAgBD,MAAO,IACtC,CAAEsT,KAAM7K,EAAKxI,EAAE,wCAAyCD,MAAO,IAC/D,CAAEsT,KAAM7K,EAAKxI,EAAE,mBAAoBD,MAAO,UAC1C,CAAEsT,KAAM7K,EAAKxI,EAAE,iBAAkBD,MAAO,OAK9C6M,QAAS,CACPm5E,gBADO,WACSnvE,GACd,OAAOhM,KAAKiZ,MAAM7jB,EAAE,0BAA4B4W,GAAKF,YAGvDmvE,qBALO,WAKcb,GACnB,OAAIp6E,KAAKgE,aAAeo2E,EAASqB,oBACxBrB,EAASoB,sBAETpB,EAASqB,sBAKtB3nE,WAAY,CACV6oE,sBCpQmc,MCOnc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACv6E,SAAA,KAAME,UAAA,QAAUwV,cAAA,KAAWpV,QAAA,KAAKsC,YAAA,KAASC,cAAA,UCmBxD,cAAIxD,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAGNhN,KALwB,aAMtB,MAAO,CACLsqF,SAAU1C,KAId/xE,QAXwB,aAYtBnI,KAAKoI,aAGPvG,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,0BACxB,eAAW,UAAW,CAAC,sBAAoB,CAE9C+4E,UAF8C,aAG5C,OAAO56E,KAAK06E,qBAAqB16E,KAAKxJ,KAGxCqmF,gBAN8C,aAO5C,OAAO,IAAEj+E,OAAOoB,KAAK46E,WAAW,SAACxlF,GAAD,OAC9B,IAAEyF,SAASq/E,GAAwB9kF,EAAEoI,YAIzCg8E,kBAZ8C,aAa5C,OAAO,IAAE76E,MAAMqB,KAAK68E,iBACjBj+E,OAAO,CAAC,sBAAuBoB,KAAKxJ,KACpCkF,QAAQ,UACRvG,SAGLskF,kBAnB8C,aAoB5C,OAAO,IAAE96E,MAAMqB,KAAK68E,iBACjBj+E,OAAO,CAAC,wBAAyBoB,KAAKxJ,KACtCkF,QAAQ,UACRvG,SAGL2nF,iBA1B8C,aA0B9B,WACd,OAAO,IAAEl+E,OAAOs7E,IAAwB,SAAChmF,GACvC,QAAS,EAAKslF,kBAAkBtlF,OAIpC6oF,iBAhC8C,aAgC9B,WACd,OAAO,IAAEn+E,OAAOs7E,IAAwB,SAAChmF,GACvC,QAAS,EAAKulF,kBAAkBvlF,SAKtC8N,QAAS,CACDoG,UADC,a,iLAEL,OAAMpI,KAAK2I,OAAOlQ,SAAS,2CAA4C,CACrEjC,GAAIwJ,KAAKxJ,K,OAELwmF,EAAc,IAAE3mF,IAAI2J,KAAK46E,UAAW,cAC1C56E,KAAK2I,OAAOlQ,SAAS,yBAA0BukF,G,kDAInDlpE,WAAY,CACVmpE,oCClH4a,MCO5a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACz6E,QAAA,KAAKC,cAAA,KAAWC,QAAA,OCzB9C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,OAAOL,EAAG,SAAS,CAACM,IAAI,OAAOC,GAAG,CAAC,OAAS,SAASC,GAAQA,EAAOC,iBAAiB,OAAOb,EAAIX,UAAU,CAACe,EAAG,YAAY,CAACE,MAAM,CAAC,SAAW,IAAIU,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAI27B,KAAKz6B,GAAKG,WAAW,SAAS,CAACjB,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,IAAI,SAAW,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,KAAMT,EAAa,UAAEI,EAAG,QAAQ,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI+f,QAAQrV,QAAQ,KAAK1K,EAAIQ,GAAGR,EAAI0Y,UAAU1Y,EAAIH,UAAU,OAAOG,EAAI6C,OAAOzC,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO,IAAI,SAAW,KAAK,CAACF,EAAG,SAAS,CAACmB,YAAY,YAAYjB,MAAM,CAAC,KAAO,GAAG,MAAQ,mBAAmB,CAACF,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACY,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAIP,UAAUyB,GAAKG,WAAW,gBAAgB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAAEN,EAAa,UAAEI,EAAG,gBAAgB,CAACE,MAAM,CAAC,UAAYN,EAAIP,UAAU,kBAAkB,IAAIuB,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIH,QAAQqB,GAAKG,WAAW,aAAarB,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,SAAS,MAAQ,GAAG,UAAYN,EAAIH,SAASc,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIm9E,uBAAuB,CAACn9E,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQ,IAAI,IAAI,IAAI,GAAGL,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,MAAQ,OAAOK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIi8B,gBAAgB,CAAC77B,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,mBAAmBP,EAAIO,GAAG,6BAA6B,IAAI,IAAI,IAAI,GAAGH,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,IAAI,SAAW,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,KAAMT,EAAW,QAAEI,EAAG,QAAQ,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIJ,QAAQjL,MAAM,IAAIqL,EAAIQ,GAAGR,EAAIJ,QAAQyJ,SAAS,OAAOrJ,EAAI6C,OAAOzC,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,wBAAwB,CAACY,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAI+J,UAAU7I,GAAKG,WAAW,eAAejB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,SAAS,UAAYN,EAAI+J,WAAWpJ,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIo9E,QAAQ,MAAM,CAACp9E,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQ,GAAGL,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,IAAI,SAAWN,EAAIq9E,yBAAyB,CAACr9E,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,OAAOL,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO,MAAM,CAAc,GAAZN,EAAI27B,MAAa37B,EAAID,UAAYC,EAAIJ,QAASQ,EAAG,6BAA6B,CAACE,MAAM,CAAC,SAAWN,EAAID,SAAS,QAAUC,EAAIJ,SAASe,GAAG,CAAC,eAAiB,SAASC,GAAQZ,EAAID,SAAWa,GAAQ,cAAgB,SAASA,GAAQZ,EAAIJ,QAAUgB,MAAWZ,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAUK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIo9E,QAAQ,MAAM,CAACp9E,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQ,GAAGL,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,IAAI,SAAWN,EAAIq9E,yBAAyB,CAACr9E,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAOL,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO,MAAM,CAAc,GAAZN,EAAI27B,KAAWv7B,EAAG,oBAAoB,CAACY,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAID,SAASmB,GAAKG,WAAW,cAAcrB,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAUK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIo9E,QAAQ,MAAM,CAACp9E,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQ,GAAGL,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,IAAI,SAAWN,EAAIs9E,kBAAkB,CAACt9E,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,OAAOL,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO,MAAM,CAAEN,EAAW,QAAEI,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,eAAe,MAAQT,EAAIJ,QAAQjL,QAAQyL,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIJ,QAAQyJ,WAAWjJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIJ,QAAQ0J,cAAclJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAIJ,QAAQ2J,oBAAoB,GAAGvJ,EAAI6C,KAAM7C,EAAY,SAAEI,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,4BAA4B,MAAQT,EAAIkkC,iBAAiBlkC,EAAID,SAASggD,sBAAuB//C,EAAID,SAAe,OAAEK,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,oCAAoC,MAAQT,EAAI67E,SAAS77E,EAAID,SAASkhC,WAAWjhC,EAAI6C,KAAM7C,EAAID,SAAY,IAAEK,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAID,SAAS4kE,OAAO3kE,EAAI6C,KAAM7C,EAAID,SAAY,IAAEK,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAID,SAAS2kE,OAAO1kE,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAM7C,EAAY,SAAEI,EAAG,QAAQ,CAAEJ,EAAID,SAAmB,WAAEK,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,yBAAyB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAID,SAASglE,eAAe,GAAG/kE,EAAI6C,KAAM7C,EAAID,SAA0B,kBAAEK,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,gCAAgC,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAID,SAAS+kE,sBAAsB,GAAG9kE,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,SAAS,QAAUN,EAAIu9E,OAAO,SAAWv9E,EAAIu9E,QAAQ58E,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI8F,UAAU,CAAC1F,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IACpzK,GAAkB,GCmBT,GAAQ,CACnB+8E,kBAAmB,GACnBC,mCAAoC,IAGzB,GAAU,CACrBC,gCACE,WAAC5lF,GAAD,OACA,SAACqc,GACC,OAAQrc,EAAM2lF,mCAAmCtpE,IAAe,IAAI7d,KAClE,SAACG,GAAD,OAAgBqB,EAAM0lF,kBAAkB/mF,QAI9CknF,wBACE,WAAC7lF,GAAD,OACA,SAAC8lF,GACC,OAAO9lF,EAAM0lF,kBAAkBI,MAIxB,GAAY,CAOvBC,mCAPuB,WAQrB/lF,EACA2C,GAA0E,sBAE1CA,EAAQqjF,sBAFkC,MAE1E,IAAK,EAAL,qBAA8D,KAAnDN,EAAmD,QAC5D,OAAIjjF,IAAIzC,EAAM0lF,kBAAmBA,EAAkB/mF,GAAI+mF,IAHiB,8BAK1E,IAAMlxE,EAAM,IAAEhW,IAAImE,EAAQqjF,qBAAsB,MAChD,OAAIvjF,IAAIzC,EAAM2lF,mCAAoChjF,EAAQ0Z,WAAY7H,IAMxEyxE,+BArBuB,WAsBrBjmF,EACA2C,GAEA,IAAM6R,EACJxU,EAAM2lF,mCAAmChjF,EAAQ0Z,aAAe,GAClE7H,EAAI6E,QAAQ1W,EAAQmjF,qBACpB,OAAIrjF,IAAIzC,EAAM2lF,mCAAoChjF,EAAQ0Z,WAAY7H,KAI7D,GAAU,CAKf0xE,0BALe,aAKuBvjF,GAA+B,IAAzChC,EAAyC,EAAzCA,O,qLACf,OAAM,EAAIzD,IAAJ,qCACSyF,EAAQ0Z,WADjB,2B,OAAjBjX,E,OAGAiX,EAAa1Z,EAAQ0Z,WACrB2pE,EAAuB5gF,EAAS3K,KAAKA,KAC3CkG,EAAO,qCAAsC,CAC3C0b,aACA2pE,yB,6CCpEO,GAAQ,CACnBG,OAAQ,GACRC,qBAAsB,IAGX,GAAU,CACrBC,aACE,WAACrmF,GAAD,OACA,SAACsmF,GACC,OAAOtmF,EAAMmmF,OAAOG,KAExBC,mBACE,WAACvmF,GAAD,OACA,SAACqc,GACC,OAAQrc,EAAMomF,qBAAqB/pE,IAAe,IAAI7d,KACpD,SAACG,GAAD,OAAgBqB,EAAMmmF,OAAOxnF,SAKxB,GAAY,GAEZ,GAAU,CAKf6nF,aALe,aAKU7jF,GAA+B,IAAzChC,EAAyC,EAAzCA,O,qLACF,OAAM,GAAYzD,IAAZ,oBACRyF,EAAQ0Z,WADA,a,OAAjBjX,E,OAGAqhF,EAAUrhF,EAAS3K,KAAKA,KAExB8G,EAAWL,EAAc,SAAUulF,GACzC9lF,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,uBACRK,MAAOF,EAAQ0Z,WACf/e,MAAO,IAAEkB,IAAIioF,EAAS,Q,6CCxCVC,IAAlB,SAAkBA,GAChB,4BACA,mCAFF,CAAkBA,QAAY,KAKvB,IAAM,GAAQ,CACnBC,SAAU,GACVC,uBAAwB,IAGb,GAAU,CACrBC,qBACE,WAAC7mF,GAAD,OACA,SAACqc,GACC,OAAQrc,EAAM4mF,uBAAuBvqE,IAAe,IAAI7d,KACtD,SAACG,GAAD,OAAgBqB,EAAM2mF,SAAShoF,SAK1B,GAAY,GAEZ,GAAU,CACfmoF,eADe,aACYnkF,GAA+B,IAAzChC,EAAyC,EAAzCA,O,qLACJ,OAAM,GAAYzD,IAAZ,oBACRyF,EAAQ0Z,WADA,e,OAAjBjX,E,OAGA2hF,EAAY3hF,EAAS3K,KAAKA,KAC1B8G,EAAWL,EAAc,WAAY6lF,GAC3CpmF,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,yBACRK,MAAOF,EAAQ0Z,WACf/e,MAAO,IAAEkB,IAAIuoF,EAAW,Q,qEC3CjBC,GAAa,CACxBvyD,GAAI,CACF,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,YAEFC,GAAI,CACF,MACA,MACA,OACA,QACA,MACA,QACA,QACA,OACA,MACA,MACA,MACA,OAEFC,GAAI,CACF,MACA,OACA,UACA,QACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,OCjBcsyD,GDyBZ,SAAUC,GAAqBnhC,GACnC,IAAKA,EAEH,OAAO,MAGT,GAAyB,OAArB,IAAEohC,SAASphC,GAAgB,CAC7B,IAAMqhC,EAAgB,KAAOrhC,GACvBshC,EAAiB,OAASC,QAAQ,QAAQC,MAAM,GAAGC,IAAI,IAEzDC,EACAC,EACJ,GAAIN,EAAcO,SAASN,GAAiB,CAC1CI,EAAcJ,EAAeO,QAAQ3V,SAAS,EAAG,QACjDyV,EAAYL,MACP,CACLI,EAAcJ,EACdK,EAAYL,EAAeO,QAAQ1a,IAAI,EAAG,QAG5C,OAAOka,EAAcS,UACnBJ,EAAYH,QAAQ,OACpBI,EAAUI,MAAM,QAGlB,MAAM,IAAIhpF,MAAJ,mEAYJ,SAAUipF,GAAgBC,EAAiBC,GAC/C,IAAKD,EACH,MAAO,GAGT,IAAME,EAAU,KAAOtK,GAAGoK,EAAS,cAGnC,GAAoB,OAAhBjiF,EAAKtB,OACP,OAAIwjF,EACKC,EAAQvgE,OAAO,qBAEfugE,EAAQvgE,OAAO,eAK1B,GAAIsgE,EAAU,CAIZ,IAAMzsD,EAAW,KAAQ0sD,EAAQvgE,UAAUA,OAAO,iBAC5CwgE,EAAWD,EAAQvgE,OAAO,SAChC,MAAO,GAAP,OAAU6T,EAAV,YAAsB2sD,GAEtB,OAAO,KAAQD,EAAQvgE,SAAU,cAAcA,OAAO,iBAWpD,SAAUygE,GAAgBJ,GAC9B,IAAKA,EACH,MAAO,GAGT,GAAoB,OAAhBjiF,EAAKtB,OAAiB,CACxB,IAAM4jF,EAAO,KAAQl4E,OAAO63E,GAAU,cACtC,OAAOK,EAAK1gE,OAAO,iBAGrB,IAAM2gE,EAAM,KAAOn4E,OAAO63E,GAAU,cACpC,OAAOM,EAAI3gE,OAAO,eAWd,SAAU4gE,GAAqBP,GACnC,IAAIzvC,EAAO,EACPgvC,EAAQ,EACZ,GAAoB,OAAhBxhF,EAAKtB,OAAiB,CACxB,IAAM+jF,EAAgB,KAAOR,GAC7BzvC,EAAOiwC,EAAcjwC,OACrBgvC,EAAQiB,EAAcjB,YACjB,CACL,IAAMkB,EAAc,KAAQT,GAC5BzvC,EAAOkwC,EAAYzjD,QACnBuiD,EAAQkB,EAAYC,SAEtB,MAAO,GAAP,OAAU1B,GAAWjhF,EAAKtB,QAAQ8iF,GAAlC,YAA4ChvC,ICpI9C,SAAkB0uC,GAChB,4BACA,wBACA,kCACA,wBACA,8BACA,+BANF,CAAkBA,QAAW,KAStB,IAAM,GAAQ,CACnB0B,MAAO,GACPC,oBAAqB,IAGV,GAAU,CACrBC,kBACE,WAAC7oF,GAAD,OACA,SAACqc,GACC,OAAQrc,EAAM4oF,oBAAoBvsE,IAAe,IAAI7d,KACnD,SAACG,GAAD,OAAgBqB,EAAM2oF,MAAMhqF,QAMlCmqF,sCACE,WAAC9oF,EAAOiB,GAAR,OACA,SAACob,GACC,IAAM0sE,EAAqB,IAAEC,OAC3B/nF,EAAQgoF,oCAAoC5sE,IAC5C,SAAC6I,EAAKyjE,GACJ,OAAOzjE,EAAMyjE,EAAMxvB,kBAErB,GAGF,OAAO3xB,KAAKC,MAAMshD,EAAqB,MAY3CG,2BACE,WAAClpF,EAAOiB,GAAR,OACA,SAACob,GACC,OAAOpb,EACJ4nF,kBAAkBxsE,GAClBtV,QAAO,SAAC4hF,GAAD,OAAWzB,GAAqByB,EAAMQ,iBAMpDF,oCACE,WAACjpF,EAAOiB,GAAR,OACA,SAACob,GACC,OAAOpb,EAAQioF,2BAA2B7sE,GAAYtV,QAAO,SAAC4hF,GAC5D1nF,EAAQmoF,iBAAiBT,QAM/BS,iBACE,WAACppF,GAAD,OACA,SAAC2oF,GACC,MAAO,CAAC,QAAS,WAAY,WAAY,WAAW3lF,SAClD2lF,EAAMU,WAKD,GAAY,GAEZ,GAAU,CAKfC,YALe,aAKS3mF,GAA+B,IAAzChC,EAAyC,EAAzCA,O,qLACD,OAAM,GAAYzD,IAAZ,oBACRyF,EAAQ0Z,WADA,Y,OAAjBjX,E,OAGAmkF,EAASnkF,EAAS3K,KAAKA,KACvB8G,EAAWL,EAAc,QAASqoF,GACxC5oF,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,sBACRK,MAAOF,EAAQ0Z,WACf/e,MAAO,IAAEkB,IAAI+qF,EAAQ,Q,6CCxFTC,GAkBAC,IAlBlB,SAAkBD,GAChB,sBACA,8BACA,kCACA,kCACA,yBALF,CAAkBA,QAAS,MAkB3B,SAAkBC,GAChB,kCACA,4CACA,yBAHF,CAAkBA,QAAa,KA4CxB,IAAM,GAAQ,CACnBC,KAAM,GACNC,mBAAoB,GAEpBC,UAAW,GACXC,wBAAyB,GAEzBC,oBAAqB,GACrBC,kCAAmC,GAEnCC,sBAAuB,GACvBC,oCAAqC,IAG1B,GAAU,CACrBC,iBACE,WAAClqF,GAAD,OACA,SAACqc,GACC,OAAQrc,EAAM2pF,mBAAmBttE,IAAe,IAAI7d,KAClD,SAACG,GAAD,OAAgBqB,EAAM0pF,KAAK/qF,QAGjCwrF,kCACE,WAACnqF,GAAD,OACA,SAACqc,GACC,OAAQrc,EAAMiqF,oCAAoC5tE,IAAe,IAAI7d,KACnE,SAACG,GAAD,OAAgBqB,EAAMgqF,sBAAsBrrF,QAGlDyrF,gCACE,WAACpqF,GAAD,OACA,SAACqc,GACC,OAAQrc,EAAM+pF,kCAAkC1tE,IAAe,IAAI7d,KACjE,SAACG,GAAD,OAAgBqB,EAAM8pF,oBAAoBnrF,QAGhD0rF,sBACE,WAACrqF,GAAD,OACA,SAACqc,GACC,OAAQrc,EAAM6pF,wBAAwBxtE,IAAe,IAAI7d,KACvD,SAACG,GAAD,OAAgBqB,EAAM4pF,UAAUjrF,SAK3B,GAAY,CACvB2rF,qCADuB,WAErBtqF,EACA2C,GAAoE,sBAE5CA,EAAQ4nF,YAFoC,MAEpE,IAAK,EAAL,qBAA4C,KAAjCC,EAAiC,QAC1C,OAAI/nF,IAAIzC,EAAMgqF,sBAAuBQ,EAAU7rF,GAAI6rF,IAHe,8BAKpE,IAAMh2E,EAAM,IAAEhW,IAAImE,EAAQ4nF,WAAY,MACtC,OAAI9nF,IAAIzC,EAAMiqF,oCAAqCtnF,EAAQ0Z,WAAY7H,IAMzEi2E,mCAfuB,WAgBrBzqF,EACA2C,GAEA,IAAM6R,EACJxU,EAAMiqF,oCAAoCtnF,EAAQ0Z,aAAe,GACnE7H,EAAI6E,QAAQ1W,EAAQ+nF,aACpB,OAAIjoF,IAAIzC,EAAMiqF,oCAAqCtnF,EAAQ0Z,WAAY7H,KAI9D,GAAU,CAMfm2E,WANe,aAMQhoF,GAA+B,IAAzChC,EAAyC,EAAzCA,O,qLACA,OAAM,GAAYzD,IAAZ,oBACRyF,EAAQ0Z,WADA,W,OAAjBjX,E,OAGAwlF,EAAQxlF,EAAS3K,KAAKA,KACtB8G,EAAWL,EAAc,OAAQ0pF,GACvCjqF,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,qBACRK,MAAOF,EAAQ0Z,WACf/e,MAAO,IAAEkB,IAAIosF,EAAO,Q,4CAQlBC,4BAxBe,aA0BnBloF,GAA+B,IAD7BhC,EAC6B,EAD7BA,O,qLAGe,OAAM,GAAYzD,IAAZ,oBACRyF,EAAQ0Z,WADA,8B,OAAjBjX,E,OAGAmlF,EAAanlF,EAAS3K,KAAKA,KAC3B8G,EAAWL,EAAc,wBAAyBqpF,GACxD5pF,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,sCACRK,MAAOF,EAAQ0Z,WACf/e,MAAO,IAAEkB,IAAI+rF,EAAY,Q,4CAOvBO,gBA5Ce,aA4CanoF,GAA+B,IAAzChC,EAAyC,EAAzCA,O,qLACL,OAAM,GAAYzD,IAAZ,oBACRyF,EAAQ0Z,WADA,gB,OAAjBjX,E,OAGA2lF,EAAa3lF,EAAS3K,KAAKA,KAC3B8G,EAAWL,EAAc,YAAa6pF,GAC5CpqF,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,0BACRK,MAAOF,EAAQ0Z,WACf/e,MAAO,IAAEkB,IAAIusF,EAAY,Q,4CAQvBC,0BA9De,aA8DuBroF,GAA+B,IAAzChC,EAAyC,EAAzCA,O,qLACf,OAAM,GAAYzD,IAAZ,oBACRyF,EAAQ0Z,WADA,4B,OAAjBjX,E,OAGA6lF,EAAuB7lF,EAAS3K,KAAKA,KACrC8G,EAAWL,EAAc,sBAAuB+pF,GACtDtqF,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,oCACRK,MAAOF,EAAQ0Z,WACf/e,MAAO,IAAEkB,IAAIysF,EAAsB,Q,6CC9NvBC,IAAlB,SAAkBA,GAChB,0BACA,sCACA,kDACA,wCACA,wCACA,sDACA,gEAPF,CAAkBA,QAAkB,KAU7B,IAAM,GAAQ,CACnB7gE,cAAe,MAEf8gE,QAAS,GACTC,eAAgB,GAChBC,mBAAoB,GACpBC,gBAAiB,GACjBC,aAAc,GACdC,eAAgB,GAChBzK,MAAO,GACP0K,iBAAkB,GAClBC,mBAAoB,GACpBC,cAAe,GACfC,aAAc,GACdC,gBAAiB,GACjBC,uBAAwB,GACxBC,WAAY,GACZlgE,eAAgB,GAChBmgE,eAAgB,GAChBC,0BAA2B,GAC3B5I,gBAAiB,GACjB6I,eAAgB,GAChBC,WAAY,IAGD,GAAU,CAKrBC,aACE,WAACpsF,GAAD,OACA,SAACrB,GACC,OAAO,IAAEgzB,KAAK3xB,EAAMmrF,QAAS,CAAExsF,SAOnC0tF,cAfqB,WAePrsF,GACZ,OAAOA,EAAM+gF,MAAMh6E,QAAO,SAAC45E,GAAD,OAAWA,EAAK2L,kBAIjC,GAAY,CAMvBtgE,iBANuB,WAMNhsB,EAAOisB,GACtBjsB,EAAMqqB,cAAgB4B,IAIb,GAAU,CASfC,aATe,cAWe,IADhClsB,EACgC,EADhCA,MAAOW,EACyB,EADzBA,OACTgC,EAAkC,uDAAxB,G,gLAGLA,EAAQuY,OAASlb,EAAMqqB,e,yCACnBnkB,QAAQhH,QAAQ,O,gBAIR,OAAM,GAAYhC,IAAI,Y,OAAjCkI,E,YACFA,EAAS3K,MAAQ2K,EAAS3K,KAAKA,M,iBAC3B8G,EAAW6D,EAAS3K,KAAKA,KAM/BkG,EAAO,WAAYY,GAGnBZ,EAAO,mBAAoB,M,yBACpBuF,QAAQhH,QAAQ,O,iCAIlBgH,QAAQ7C,U,8CC5GN,GAAQ,CACnBkpF,gBAAiB,GACjBC,8BAA+B,IAGpB,GAAU,CAMrBC,sBACE,WAACzsF,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAMusF,gBAAgB5tF,KAOjC+tF,oBACE,WAAC1sF,GAAD,OACA,SAACqc,GACC,OAAQrc,EAAMwsF,8BAA8BnwE,IAAe,IAAI7d,KAC7D,SAACG,GAAD,OAAgBqB,EAAMusF,gBAAgB5tF,SAKjC,GAAY,GAEZ,GAAU,CAKfguF,cALe,aAKWhqF,GAA+B,IAAzChC,EAAyC,EAAzCA,O,qLACH,OAAM,GAAYzD,IAAZ,oBACRyF,EAAQ0Z,WADA,c,OAAjBjX,E,OAGAwnF,EAAWxnF,EAAS3K,KAAKA,KACzB8G,EAAWL,EAAc,kBAAmB0rF,GAClDjsF,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,gCACRK,MAAOF,EAAQ0Z,WACf/e,MAAO,IAAEkB,IAAIouF,EAAU,Q,6CCtCXC,IAAlB,SAAkBA,GAChB,4BACA,2BAFF,CAAkBA,QAA0B,KAOrC,IAAM,GAAQ,CACnBC,mBAAoB,GACpBC,iCAAkC,IAGvB,GAAU,CACrBC,yBACE,WAAChtF,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAM8sF,mBAAmBnuF,KAEpCsuF,+BACE,WAACjtF,GAAD,OACA,SAACrB,GACC,OAAQqB,EAAM+sF,iCAAiCpuF,IAAO,IAAIH,KACxD,SAACG,GAAD,OAAgBqB,EAAM8sF,mBAAmBnuF,SAKpC,GAAY,GAEZ,GAAU,CAKfuuF,yBALe,aAOnBvqF,GAA+B,IAD7BhC,EAC6B,EAD7BA,OAAQC,EACqB,EADrBA,S,6LAGO,OAAM,GAAY1D,IAAZ,oBACRyF,EAAQ0Z,WADA,0B,OAAjBjX,E,OAGA+nF,EAAc,IAAEjwF,IAAIkI,EAAU,aAC9B7D,EAAWL,EAAc,qBAAsBisF,GACrDxsF,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,mCACRK,MAAOF,EAAQ0Z,WACf/e,MAAO,IAAEkB,IAAI2uF,EAAa,QAItB32D,EAAa,IAAE1vB,MAAMqmF,GAAa3uF,IAAI,aAAa4kB,UAAU9lB,Q,kBAClDk5B,G,IAAjB,IAAK,EAAL,qBAA6B,CAAlB73B,EAAkB,QAC3BiC,EAAS,qBAAsBjC,EAAI,CAAEy3B,KAAM,Q,4ECc3C,SAAUg3D,KACd,MAAO,CACLzuF,GAAI,EACJsT,UAAW,EACXtK,UAAW,EACXslE,WAAY,OAAStlD,SACrBwlD,4BAA6B,EAC7BH,kBAAmB,OAASE,IAAI,EAAG,QAAQvlD,SAC3CywD,QAAS,GACTvL,IAAK,GACLD,IAAK,GACLt2C,KAAM,GACN+2D,QAAS,MACTC,SAAU,MACVC,UAAW,MACXC,WAAY,MACZC,WAAY,MACZjK,WAAY,KACZkK,WAAY,MACZC,QAAS,GACTC,gBAAiB,GACjBC,aAAc,GACdC,oBAAqB,GACrB7lC,kBAAmB,EACnB9e,OAAQ,EACRgvC,cAAe,GACf4V,gBAAiB,EACjBC,eAAgB,IAIb,IAAe,GAAtB,yDACyB,GAAAC,sBAAwB,EACxB,GAAAC,UAAY,EACZ,GAAAC,YAAc,EACd,GAAAC,kBAAoB,EACpB,GAAAC,oBAAsB,EACtB,GAAAC,qBAAuB,EACvB,GAAAC,sBAAwB,EACxB,GAAAC,iBAAmB,EACnB,GAAAC,oBAAsB,EAGxC,IAAMnD,GAA4B,CACvC,WACA,UACA,YACA,wBACA,WACA,YAGI,GAAQ,OAAH,wIACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IAAa,CAEhBoD,sBAAuB,GACvBzmF,SAAU,KAGN,GAAU,OAAH,wIACR,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IAAe,CAMlBq8E,eACE,WAACtkF,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAMiI,SAAStJ,IAAO,OASjCgwF,mBACE,WAAC3uF,GAAD,OACA,SAACrB,GACC,IAAM5B,EAAciD,EAAMiI,SAAStJ,GACnC,IAAK5B,EAGH,OAAO,MAET,QAASA,EAAEq7E,UAGfoJ,oBACE,WAACxhF,GAAD,OACA,SAACiS,GACC,OAAQjS,EAAM0uF,sBAAsBz8E,IAAc,IAAIzT,KAAI,SAACG,GACzD,OAAOqB,EAAMiI,SAAStJ,UAKxB,GAAY,OAAH,wIACVmD,GAEA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IAGC,GAAU,OAAH,wIACR,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IAAe,CAUZ8sF,cAVY,aAUwBjwF,GAAqB,IAAzCgC,EAAyC,EAAzCA,OAAQC,EAAiC,EAAjCA,S,0LACtBoa,EAAS,IAAEhH,QAAQ,CAACrV,IAAKwU,KAAK,K,SACnB,OAAM,GAAYjW,IAAZ,8BAAuC8d,I,OAAxD5V,E,OACAqX,EAAgBrX,EAAS3K,KAAKA,KAI9BumF,EAAY,IAAEn6E,OAAO4V,EAAcxU,UAAY,IAC/C4mF,EAAa,GACb78E,EAAa,IAAElL,MAAMk6E,GACxBxiF,IAAI,aACJ4kB,UACAlgB,OACA5F,QACC0U,EAAW/W,QACb4zF,EAAWtzF,KACTqF,EAAS,uBAAwBoR,EAAY,CAAEokB,KAAM,QAGnD04D,EAAU,IAAEhoF,MAAMk6E,GAAWxiF,IAAI,UAAU4kB,UAAUlgB,OAAO5F,Q,kBAC7CwxF,G,IAArB,IAAK,EAAL,qBAA8B,CAAnB3lD,EAAmB,QAC5B0lD,EAAWtzF,KACTqF,EACE,wBACA,CAAEuL,WAAYg9B,GACd,CAAE/S,KAAM,S,wCAMd,OAAMlwB,QAAQ2B,IAAIgnF,G,QAIlBluF,EAAO,WAAY8b,G,6CAGfsyE,wBAhDY,aAkDhB98E,GAA4B,IAD1BtR,EAC0B,EAD1BA,OAAQC,EACkB,EADlBA,S,4KAGJoa,EAAS,IAAEhH,QAAQ,CAAC/B,IAAYkB,KAAK,K,SAC1B,OAAM,GAAYjW,IAAZ,qCACS8d,I,OAD1B5V,E,OAGA7D,EAAW6D,EAAS3K,KAAKA,KAC/BkG,EAAO,WAAYY,GACfA,EAAS0G,UACXtH,EAAO,YAAa,CAClB6B,OAAQ,wBACRK,MAAOoP,EACP3U,MAAOpC,OAAO8D,KAAKuC,EAAS0G,Y,8CAMrB,IACbjH,WAAY,KACZhB,MAAA,GACAiB,QAAA,GACAd,UAAA,GACAM,QAAA,IC5SE,GAAS,WAAa,IAAIyH,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,MAAQT,EAAID,SAASggD,kBAAkB,MAAQ,CAAC,SAAU3kD,GAAK,OAAOA,EAAI,GAAK4E,EAAIS,GAAG,oBAAsB,wBAAwB,GAAG,uBAAuB,mBAAmBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,oBAAqB1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAID,SAASkhC,OAAO,WAAajhC,EAAID,SAASggD,mBAAmBp/C,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,SAAU1M,QAAa,GAAGR,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAID,SAASu7E,WAAW,IAAM,IAAI36E,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,MAAW,CAACR,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,QAAQ,MAAQN,EAAIS,GAAG,8BAA8B,MAAQ,SAASL,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,QAAQ,MAAQN,EAAIS,GAAG,8BAA8B,MAAQ,SAAS,IAAI,GAAIT,EAAID,SAAmB,WAAEK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAID,SAAS4kE,IAAI,MAAQ,CAAC,SAAUvpE,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,UAAY,KAAKE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,MAAO1M,EAAQ,aAAa,GAAGZ,EAAI6C,KAAO7C,EAAID,SAASu7E,WAAiSt7E,EAAI6C,KAAzRzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAID,SAAS2kE,IAAI,MAAQ,CAAC,SAAUtpE,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,UAAY,KAAKE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,MAAO1M,EAAQ,aAAa,IAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAID,SAASglE,WAAW,kBAAkB,GAAG,MAAQ,CAAC,SAAU3pE,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,4BAA4B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAGT,EAAI8mF,eAAe,MAAQ9mF,EAAID,SAASklE,6BAA6BtkE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+mF,gBAAgBnmF,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,MAAQT,EAAID,SAAS+kE,kBAAkB,SAAW,OAAO,IAAI,IAAI,IACp7E,GAAkB,GC6FP,UAAIpjE,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,QAGT8O,SAAU,CACR/B,SADQ,aAEN,OAAOE,KAAK7K,MAAQ6K,KAAK7K,MAAQ8vF,MAGnC4B,cALQ,aAMN,GAAI7mF,KAAKF,SAASu7E,WAChB,MAAO,6BAET,MAAO,8BAIXr5E,QAAS,CACP8kF,gBADO,WACSC,GACd,IAAMnyF,EAAI,uBAAUoL,KAAKF,UACzBlL,EAAEowE,4BAA8B+hB,EAChCnyF,EAAEiwE,kBAAoB,KAAO7kE,KAAKF,SAASglE,YACxCC,IAAIgiB,EAAa,SACjBvnE,SACHxf,KAAK8H,MAAM,QAASlT,IAGtByY,OAVO,WAUA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAKF,WAAW,SAAC3E,GAAD,OAAO,iBAAIA,EAAG1F,EAAKglB,SAKvD3G,WAAY,CACVmxB,gBACAE,uBCxIub,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,WACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC3iC,QAAA,KAAKwV,UAAA,KAAOC,eAAA,KAAYvV,QAAA,KAAKC,cAAA,OC3B3D,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,4BAA4B,CAACE,MAAM,CAAC,MAAQN,EAAID,SAAS6lF,qBAAqBjlF,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIinF,eAAe,sBAAuBrmF,QAAa,GAAGR,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,KAAO,KAAK,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,wCAAwC,QAAQ,IAAI,IAAI,GAAGL,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,cAAcT,EAAID,SAASu7E,YAAY36E,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIinF,eAAe,aAAcrmF,OAAYR,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,cAAcT,EAAID,SAASylF,YAAY7kF,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIinF,eAAe,aAAcrmF,OAAYR,EAAG,aAAaJ,EAAI0F,GAAI1F,EAAiB,eAAE,SAASy4E,GAAM,OAAOr4E,EAAG,aAAa,CAAC1K,IAAI+iF,EAAKhiF,GAAG6J,MAAM,CAAC,MAAQN,EAAIwhB,eAAei3D,EAAK9jF,MAAM,cAAcqL,EAAID,SAAS0lF,QAAQ,MAAQhN,EAAKhiF,IAAIkK,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIinF,eAAe,UAAWrmF,WAAe,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,qBAAqB,CAACA,EAAG,oBAAoB,CAACA,EAAG,2BAA2B,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uCAAuC,OAAOL,EAAG,4BAA4B,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAON,EAAI0F,GAAI1F,EAAkB,gBAAE,SAASknF,GAAe,OAAO9mF,EAAG,aAAa,CAAC1K,IAAIwxF,EAAczwF,GAAG6J,MAAM,CAAC,MAAQ,GAAG,eAAe,GAAG,MAAQN,EAAIwhB,eAAe0lE,EAAcvyF,MAAM,cAAcqL,EAAIJ,QAAQmO,iBAAiB,MAAQm5E,EAAczwF,IAAIkK,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAImnF,cAAc,mBAAoBvmF,UAAc,GAAIZ,EAAIJ,QAAQmO,iBAAuB,OAAE3N,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,MAAQ,8BAA8B,MAAQT,EAAIJ,QAAQoO,oBAAoB,kBAAkB,IAAIrN,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAImnF,cAAc,sBAAuBvmF,QAAa,GAAGZ,EAAI6C,MAAM,IAAI,IAAI,GAAI7C,EAAIJ,QAAQmO,iBAAuB,OAAE3N,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,OAAO,CAACmB,YAAY,sBAAsB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,SAAST,EAAI0F,GAAI1F,EAAIJ,QAAwB,kBAAE,SAASwnF,GAAiB,OAAOhnF,EAAG,KAAK,CAAC1K,IAAI0xF,GAAiB,CAACpnF,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsB6qE,EAAiBpnF,EAAIkjF,iBAAiB,WAAU,MAAM,GAAGljF,EAAI6C,KAAKzC,EAAG,oBAAoB,CAACA,EAAG,2BAA2B,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qCAAqC,OAAOL,EAAG,4BAA4BJ,EAAI0F,GAAI1F,EAAsB,oBAAE,SAASqnF,GAAmB,OAAOjnF,EAAG,aAAa,CAAC1K,IAAI2xF,EAAkB5wF,GAAG6J,MAAM,CAAC,MAAQ,GAAG,eAAe,GAAG,MAAQN,EAAIwhB,eAAe6lE,EAAkB1yF,MAAM,cAAcqL,EAAIJ,QAAQqO,qBAAqB,MAAQo5E,EAAkB5wF,IAAIkK,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAImnF,cAAc,uBAAwBvmF,UAAc,IAAI,GAAIZ,EAAIJ,QAAQqO,qBAA2B,OAAE7N,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,OAAO,CAACmB,YAAY,sBAAsB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,QAAQT,EAAI0F,GAAI1F,EAAIJ,QAA4B,sBAAE,SAASumF,GAAqB,OAAO/lF,EAAG,KAAK,CAAC1K,IAAIywF,GAAqB,CAACnmF,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuB4pE,EAAqBnmF,EAAIwjF,qBAAsB,WAAU,MAAM,GAAGxjF,EAAI6C,KAAKzC,EAAG,oBAAoB,CAACA,EAAG,2BAA2B,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mCAAmC,OAAOL,EAAG,4BAA4BJ,EAAI0F,GAAI1F,EAAmB,iBAAE,SAASsnF,GAAgB,OAAOlnF,EAAG,aAAa,CAAC1K,IAAI4xF,EAAe7wF,GAAG6J,MAAM,CAAC,MAAQ,GAAG,eAAe,GAAG,MAAQN,EAAIwhB,eAAe8lE,EAAe3yF,MAAM,cAAcqL,EAAIJ,QAAQsO,kBAAkB,MAAQo5E,EAAe7wF,IAAIkK,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAImnF,cAAc,oBAAqBvmF,UAAc,IAAI,GAAIZ,EAAIJ,QAAQsO,kBAAwB,OAAE9N,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,OAAO,CAACmB,YAAY,sBAAsB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,SAAST,EAAI0F,GAAI1F,EAAIJ,QAAyB,mBAAE,SAAS2nF,GAAkB,OAAOnnF,EAAG,KAAK,CAAC1K,IAAI6xF,GAAkB,CAACvnF,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBgrE,EAAkBvnF,EAAI2jF,kBAAkB,WAAU,MAAM,GAAG3jF,EAAI6C,KAAKzC,EAAG,oBAAoB,CAACA,EAAG,2BAA2B,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uCAAuC,OAAOL,EAAG,4BAA4BJ,EAAI0F,GAAI1F,EAA0B,wBAAE,SAASwnF,GAAuB,OAAOpnF,EAAG,aAAa,CAAC1K,IAAI8xF,EAAsB/wF,GAAG6J,MAAM,CAAC,MAAQ,GAAG,eAAe,GAAG,MAAQN,EAAIwhB,eAAegmE,EAAsB7yF,MAAM,cAAcqL,EAAIJ,QAAQ8O,sBAAsB,MAAQ84E,EAAsB/wF,IAAIkK,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAImnF,cAAc,wBAAyBvmF,UAAc,IAAI,GAAIZ,EAAIJ,QAAQ8O,sBAA4B,OAAEtO,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,OAAO,CAACmB,YAAY,sBAAsB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,SAAST,EAAI0F,GAAI1F,EAAIJ,QAA6B,uBAAE,SAAS6nF,GAAyB,OAAOrnF,EAAG,KAAK,CAAC1K,IAAI+xF,GAAyB,CAACznF,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBkrE,EAAyBznF,EAAI4jF,yBAA0B,WAAU,MAAM,GAAG5jF,EAAI6C,KAAKzC,EAAG,oBAAoB,CAACA,EAAG,2BAA2B,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8B,OAAOL,EAAG,4BAA4BJ,EAAI0F,GAAI1F,EAAc,YAAE,SAAS0nF,GAAW,OAAOtnF,EAAG,aAAa,CAAC1K,IAAIgyF,EAAUjxF,GAAG6J,MAAM,CAAC,MAAQ,GAAG,eAAe,GAAG,MAAQN,EAAIwhB,eAAekmE,EAAU/yF,MAAM,cAAcqL,EAAID,SAAS4lF,aAAa,MAAQ+B,EAAUjxF,IAAIkK,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAIinF,eAAe,eAAgBrmF,UAAc,IAAI,GAAIZ,EAAID,SAAS4lF,aAAmB,OAAEvlF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,OAAO,CAACmB,YAAY,sBAAsB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,SAAST,EAAI0F,GAAI1F,EAAID,SAAqB,cAAE,SAAS4nF,GAAa,OAAOvnF,EAAG,KAAK,CAAC1K,IAAIiyF,GAAa,CAAC3nF,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBorE,EAAa3nF,EAAI6jF,aAAa,WAAU,MAAM,GAAG7jF,EAAI6C,MAAM,IAAI,IAAI,IAAI,IACn2M,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACmB,YAAY,QAAQ,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,YAAY,MAAM,CAACF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACA,EAAG,OAAO,CAACmB,YAAY,kBAAkB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uCAAuC,UAAU,GAAGL,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,WAAW,CAACmB,YAAY,eAAejB,MAAM,CAAC,cAAc,OAAO,MAAQN,EAAI4nF,SAAS,IAAM5nF,EAAIk4D,IAAI,IAAMl4D,EAAIi4D,IAAI,KAAO,IAAI,YAAY,IAAI,aAAa,KAAK,cAAc,SAAS,eAAe,IAAI3yD,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,SAAS8P,GAAG,WAAW,MAAO,CAACpF,EAAG,eAAe,CAACmB,YAAY,YAAYiD,YAAY,CAAC,MAAQ,QAAQlE,MAAM,CAAC,GAAK,sBAAsB,eAAe,GAAG,cAAc,GAAG,KAAO,UAAUU,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAI+zC,MAAM7yC,GAAKG,WAAW,WAAWjB,EAAG,QAAQqF,MAAM,QAAQzE,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAI+zC,MAAM7yC,GAAKG,WAAW,YAAY,IAAI,GAAGjB,EAAG,QAAQ,CAACA,EAAG,OAAO,CAACmB,YAAY,uBAAuB,CAACnB,EAAG,IAAI,CAACyK,MAAM7K,EAAI6nF,UAAU7nF,EAAI4nF,WAAW,CAACxnF,EAAG,IAAI,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,IAAIT,EAAIQ,GAAGR,EAAIS,GAAG,2BAA6BT,EAAI8nF,0BAA0B,IAAI,IAAI,IAC9uC,GAAkB,GC0DP,UAAIpmF,OAAO,CACxBsG,MAAO,CACL5S,MAAOmK,QAEThN,KAJwB,aAKtB,MAAO,CACL0lE,IAAK,EACLC,IAAK,GACLX,MAAO,CAAC,EAAG,IACXxjB,MAAO9zC,KAAK7K,MAAQ6K,KAAK7K,MAAQ,KAGrC2M,MAAO,CACL3M,MADK,WACC6W,GACJhM,KAAK8zC,MAAQ9nC,GAEf8nC,MAJK,WAIC58B,GACJlX,KAAK8H,MAAM,QAASoP,KAGxBrV,SAAU,CACR8lF,SADQ,aAEN,GAAI3nF,KAAK8zC,MAAQ,GACf,MAAO,QAET,GAAI9zC,KAAK8zC,MAAQ,GACf,MAAO,SAET,GAAI9zC,KAAK8zC,MAAQ,GACf,MAAO,MAET,MAAO,OAET+zC,cAbQ,aAcN,GAAI7nF,KAAK8zC,MAAQ,GACf,MAAO,UAET,GAAI9zC,KAAK8zC,MAAQ,GACf,MAAO,SAET,GAAI9zC,KAAK8zC,OAAS,GAChB,MAAO,UAET,MAAO,YAGX9xC,QAAS,CACP4lF,UADO,WACG57E,GACR,OAAOA,EAAM,aC3Ggb,M,0BCQ/b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,WACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACxJ,QAAA,KAAKC,cAAA,KAAWC,QAAA,KAAKolF,WAAA,KAAQnlF,cAAA,OCqO5C,cAAIlB,OAAO,CACxBsG,MAAO,CACLjI,SAAU,CACR9G,KAAMjG,OACNgmB,SAAU,MAEZpZ,QAAS,CACP3G,KAAMjG,OACNgmB,SAAU,OAIdlX,SAAU,OAAF,oDACH,eAAS,WAAY,CACtB,iBACA,qBACA,qBACA,kBACA,yBACA,gBAEC,eAAW,UAAW,CAAC,mBACvB,eAAW,WAAY,CAAC,mBACxB,eAAW,WAAY,CAAC,iBAAkB,2BAG/CG,QAAS,CAMPklF,cANO,WAMOzxF,EAAauW,GACzB,IAAMoH,EAAO,iBAAI,uBAAUpT,KAAKL,UAAU,SAAC3J,GAAD,OAAO,iBAAIA,EAAGP,EAAKuW,MAEzDoH,EAAKtF,iBAAiBhb,OAAS,IAGjCsgB,EAAKrF,oBAAsB,GAEzBqF,EAAKtF,iBAAiBhb,QAAU,GAAkC,IAA7BsgB,EAAKrF,sBAG5CqF,EAAKrF,oBAAsB,GAG7B/N,KAAK8H,MAAM,gBAAiBsL,IAQ9B4zE,eA5BO,WA4BQvxF,EAAauW,GAC1B,IAAM+7E,EAAO,iBAAI,uBAAU/nF,KAAKF,WAAW,SAAClL,GAAD,OAAO,iBAAIA,EAAGa,EAAKuW,MAC9DhM,KAAK8H,MAAM,iBAAkBigF,KAGjCj0E,WAAY,CACVk0E,gCC7T8a,M,cCQ9a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,WACA,MAIa,MAAiB,QAchC,KAAkB,GAAW,CAACv0E,aAAA,KAAUjR,QAAA,KAAKsC,YAAA,KAAS+sC,mBAAA,KAAgBC,0BAAA,KAAuBC,yBAAA,KAAsBC,oBAAA,KAAiBtvC,QAAA,KAAKsC,YAAA,KAASC,cAAA,UCkMnI,cAAIxD,OAAO,CACxBnP,KADwB,aAEtB,MAAO,CACLopC,KAAM,EACN4hD,OAAQ,MAER99E,UAAW,EACXsK,UAAW,EACXlK,QAAS,EACTE,SAAU,KACVH,QAAS,OAGbkC,SAAU,OAAF,oDACH,eAAW,QAAS,CAAC,gBAAiB,YAAa,uBACnD,eAAW,UAAW,CAAC,mBAAoB,cAC3C,eAAW,UAAW,CAAC,mBAAiB,CAM3Cu7E,uBAN2C,aAOzC,OAA0B,IAAnBp9E,KAAK8J,WAOduzE,gBAd2C,aAezC,IAAKr9E,KAAKF,SACR,OAAO,MAET,OAA2C,IAApCE,KAAKF,SAASggD,mBASvBhgC,QA3B2C,aA4BzC,OAAO9f,KAAK6tB,cAAc7tB,KAAKR,cAGnCsC,MAAO,CAMLnC,QANK,WAMG3J,GACNgK,KAAKioF,2BACLjoF,KAAKkoF,kCAODp+E,UAfD,WAeW8J,G,4KACVA,E,yBACF,OAAM5T,KAAK2I,OAAOlQ,SAAS,uBAAwBmb,G,OAC7Cu0E,EAAmBp1F,OAAOyI,OAAO,GAAIwE,KAAKoU,cAAcR,IAC9D5T,KAAKL,QAAUwoF,EACfnoF,KAAKF,SAAWmlF,KAChBjlF,KAAKF,SAASgK,UAAY9J,KAAKL,QAAQnJ,G,uBAEvCwJ,KAAKF,SAAW,KAChBE,KAAKL,QAAU,K,mDAIrBqC,QAAS,CACP4D,MADO,aAEL5F,KAAKR,UAAY,EACjBQ,KAAKJ,QAAU,EACfI,KAAK8J,UAAY,GAEbozE,kBANC,a,mLAOY,OAAM,GAAWnoF,IAChC,4BAA8BiL,KAAKJ,S,OAD/B3C,E,OAGAmrF,EAAU,IAAErzF,IAAIkI,EAAU,mBAChC,GAAImrF,EAAS,CACXpoF,KAAK8J,UAAYs+E,EACjBpoF,KAAKm9E,QAAQ,OACR,CACL73B,MAAM,2BACN9rD,QAAQ6K,IAAIpH,EAAS3K,KAAKA,M,iDAG9B0pC,WAnBO,aAoBLh8B,KAAK07B,KAAO,EACZ17B,KAAK4F,SAEPu3E,QAvBO,WAuBCkL,GACDA,IACHA,EAAWroF,KAAK07B,KAAO,GAErB2sD,EAAW,IACbA,EAAW,GAGb,IAAMvtD,EAAO96B,KAAK2B,MAAMm5B,KACxB,IAAKA,EAAKE,WACR,OAGFh7B,KAAK07B,KAAO2sD,GAERxiF,KAtCC,a,kLAuCCi1B,EAAO96B,KAAK2B,MAAMm5B,K,GACnBA,EAAKE,W,iDAIVh7B,KAAKs9E,OAAS,K,SACG,OAAM,GAAY3pE,KAAK,mBAAoB,CAC1DrhB,KAAM,CAEJwX,UAAW9J,KAAK8J,UAChBtK,UAAWQ,KAAKR,UAChBslE,WAAY9kE,KAAKF,SAASglE,WAC1BE,4BACEhlE,KAAKF,SAASklE,4BAChBH,kBAAmB7kE,KAAKF,SAAS+kE,kBACjC/kB,kBAAmB9/C,KAAKF,SAASggD,kBACjC9e,OAAQhhC,KAAKF,SAASkhC,OACtB0jC,IAAK1kE,KAAKF,SAAS4kE,IACnBD,IAAKzkE,KAAKF,SAAS2kE,IAGnBkhB,oBAAqB3lF,KAAKF,SAAS6lF,oBACnCH,QAASxlF,KAAKF,SAAS0lF,QACvBE,aAAc1lF,KAAKF,SAAS4lF,aAC5BH,WAAYvlF,KAAKF,SAASylF,WAC1BlK,WAAYr7E,KAAKF,SAASu7E,WAG1BvtE,iBAAkB9N,KAAKL,QAAQmO,iBAC/BC,oBAAqB/N,KAAKL,QAAQoO,oBAClCC,qBAAsBhO,KAAKL,QAAQqO,qBACnCC,kBAAmBjO,KAAKL,QAAQsO,kBAChCQ,sBAAuBzO,KAAKL,QAAQ8O,yB,OA1BlCxR,E,OA6BN+C,KAAKs9E,OAAS,MAERjpE,EAAgBpX,EAAS3K,KAAKA,KAE9BgiB,EAAgB,IAAEC,KAAKF,EAAe,CAAC,aAC7CrU,KAAK2I,OAAOnQ,OAAO,oBAAqB8b,GAElCE,EAAe,IAAED,KAAKF,EAAe,CAAC,YAC5CrU,KAAK2I,OAAOnQ,OAAO,mBAAoBgc,GAEjCN,EAAanhB,OAAO8D,KAAKyd,EAAcxU,UAAU,GACvDE,KAAKoE,QAAQhR,KAAK,CAChBsB,KAAM,kBACN2K,OAAQ,CAAE7I,GAAI0d,K,kDASlB+zE,yBAhGO,aAiGL,IAAMtoF,EAAUK,KAAKL,QACrB,GAAIA,GAAWA,EAAQuL,UAAW,CAChC,IAAMo9E,EAAa,OAASngB,KAAKxoE,EAAQuL,UAAW,SAChDo9E,EAAa,GAAKA,EAAa,KACjCtoF,KAAKF,SAASylF,WAAa,QAYjC2C,+BAjHO,aAkHL,GAAIloF,KAAK8f,QAAS,CAChB,IAAM6F,EAAc3lB,KAAK2xB,kBACvB3xB,KAAK8f,QAAQyvD,cACbvvE,KAAKJ,SAEP,GAAI+lB,GAAeA,EAAY4iE,SAAU,CACvCvoF,KAAKF,SAASu7E,WAAa,MAC3Br7E,KAAKF,SAASklE,4BACZr/C,EAAY4iE,SAASC,qCAK/B10E,WAAY,CACVisB,sBACA0oD,qBACAC,8BACA9uB,iBACA9gD,4BClbia,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAehC,KAAkB,GAAW,CAAC3W,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKC,cAAA,KAAWsV,SAAA,KAAMtD,SAAA,KAAM/R,QAAA,KAAKu9B,YAAA,KAASC,mBAAA,KAAgBC,gBAAA,OCjC7G,IAAI,GAAS,WAAa,IAAIpgC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAAGJ,EAAID,SAA+DC,EAAI6C,KAAzDzC,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,MAAgBN,EAAY,SAAEI,EAAG,MAAM,CAACA,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAIvJ,MAAM2J,EAAG,iBAAiB,CAACE,MAAM,CAAC,WAAaN,EAAIvJ,MAA2B,mBAApBuJ,EAAI4oF,aAAmCxoF,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAaN,EAAIvJ,MAAMuJ,EAAI6C,KAA0B,mBAApB7C,EAAI4oF,aAAmCxoF,EAAG,kBAAkB,CAACE,MAAM,CAAC,GAAKN,EAAIvJ,MAAMuJ,EAAI6C,KAA0B,oBAApB7C,EAAI4oF,aAAoCxoF,EAAG,mBAAmB,CAACE,MAAM,CAAC,GAAKN,EAAIvJ,MAAMuJ,EAAI6C,KAA0B,oBAApB7C,EAAI4oF,aAAoCxoF,EAAG,mBAAmB,CAACE,MAAM,CAAC,GAAKN,EAAIvJ,MAAMuJ,EAAI6C,KAA0B,mBAApB7C,EAAI4oF,aAAmCxoF,EAAG,kBAAkB,CAACE,MAAM,CAAC,GAAKN,EAAIvJ,MAAMuJ,EAAI6C,MAAM,GAAG7C,EAAI6C,MAAM,IAC1yB,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAa,UAAU,SAAWN,EAAID,SAASgK,UAAU,SAAW,QAAQ,MAAQ,MAAM,YAAc,0BAA0B,GAAG3J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIJ,QAAQjL,MAAM,IAAIqL,EAAIQ,GAAGR,EAAIJ,QAAQyJ,SAAS,OAAOjJ,EAAG,QAAQ,CAACmB,YAAY,aAAajB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAID,SAASN,aAAeO,EAAID,SAASN,UAAkFO,EAAI6C,KAA3EzC,EAAG,4BAA4B,CAACE,MAAM,CAAC,WAAaN,EAAID,SAAStJ,OAAgB,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAID,SAAmB,WAAEK,EAAG,KAAK,CAACmB,YAAY,8BAA8B,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,IAAIT,EAAIQ,GAAGR,EAAID,SAAS4kE,KAAK,OAAO3kE,EAAI6C,KAAO7C,EAAID,SAASu7E,WAA8It7E,EAAI6C,KAAtIzC,EAAG,KAAK,CAACmB,YAAY,8BAA8B,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,IAAIT,EAAIQ,GAAGR,EAAID,SAAS2kE,KAAK,SAAkBtkE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAID,SAAS0lF,YAAY,GAAGrlF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,YAAYjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,CAACF,EAAG,wBAAwB,CAACE,MAAM,CAAC,WAAaN,EAAImU,cAAenU,EAAID,SAASmwE,SAAWlwE,EAAID,SAAS8lF,gBAAiBzlF,EAAG,OAAO,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAG,KAAKP,EAAIQ,GAAGP,KAAKsc,sBAAuBvc,EAAID,SAAS8lF,gBAAiB,4BAA6B,QAAQ7lF,EAAI6C,MAAM,GAAGzC,EAAG,SAAS,CAACmB,YAAY,YAAYjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI6oF,uBAAuB,OAAOzoF,EAAG,SAAS,CAACmB,YAAY,YAAYjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAID,SAASylF,WAAaxlF,EAAIS,GAAG,qBAAuBT,EAAIS,GAAG,mBAAmB,QAAQ,IAAI,IAAI,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAAEN,EAAID,SAAgB,QAAEK,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAOT,EAAI6C,KAAM7C,EAAID,SAAgB,QAAEK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,oBAAoB,GAAG,QAAUN,EAAID,SAASmwE,YAAY,GAAGlwE,EAAI6C,KAAM7C,EAAID,SAASmwE,SAAWlwE,EAAID,SAAS+lF,eAAgB1lF,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,OAAOT,EAAI6C,KAAM7C,EAAID,SAASmwE,SAAWlwE,EAAID,SAAS+lF,eAAgB1lF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAID,SAAS+lF,gBAAgB,OAAO9lF,EAAI6C,KAAM7C,EAAID,SAAmB,WAAEK,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,OAAOT,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAID,SAASglE,eAAe,GAAI/kE,EAAqB,kBAAEI,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kCAAkC,OAAOT,EAAI6C,KAAM7C,EAAqB,kBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,OAAS,MAAMgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,SAAS9E,GACtqG,IAAItL,EAAQsL,EAAItL,MAChB,MAAO,CAAC4K,EAAIO,GAAG,IAAIP,EAAIQ,GAAG8+B,KAAKg6B,MAAMlkE,IAAQ,UAAU,KAAK,MAAM,YAAY4L,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAI8oF,kBAAkB5nF,GAAKG,WAAW,wBAAwB,GAAGrB,EAAI6C,MAAO7C,EAAID,SAASmwE,SAAWlwE,EAAID,SAAS+kE,kBAAmB1kE,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gCAAgC,OAAOT,EAAI6C,MAAO7C,EAAID,SAASmwE,SAAWlwE,EAAID,SAAS+kE,kBAAmB1kE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,oBAAoB,GAAG,kBAAoBN,EAAID,SAAS+kE,sBAAsB,GAAG9kE,EAAI6C,KAAKzC,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA6BT,EAAID,SAAS+nF,gBAAgB,OAAO1nF,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAC3gC3L,KAAM,oBACNgP,MAAO,CAAEM,WAAYjE,EAAID,SAASggD,sBAChC,CAAC//C,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIkkC,iBAAiBlkC,EAAID,SAASggD,oBAAoB,QAAQ,GAAI//C,EAAID,SAAe,OAAEK,EAAG,QAAQ,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,KAAO,OAAON,EAAI6C,KAAM7C,EAAID,SAAe,OAAEK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAC1Q3L,KAAM,oBACNgP,MAAO,CACLM,WAAYjE,EAAID,SAASkhC,OACrBjhC,EAAID,SAASkhC,OACbjhC,EAAID,SAASggD,sBAEjB,CAAC//C,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI67E,SAAS77E,EAAID,SAASkhC,SAAS,QAAQ,GAAGjhC,EAAI6C,MAAM,IAAI,GAAI7C,EAAI4lB,aAAe5lB,EAAI4lB,YAAYqB,QAAQl0B,OAAQqN,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqBL,EAAG,iBAAiB,CAACE,MAAM,CAAC,QAAUN,EAAI4lB,YAAYqB,QAAQ,YAAY,GAAG,cAAc,OAAO,GAAGjnB,EAAI6C,MAAM,IACrX,GAAkB,GCblB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAEJ,EAAiB,cAAE,CAACI,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIiwE,kBAAkB,CAAiC,eAA/BjwE,EAAID,SAASkwE,cAAgC7vE,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,gBAAgBP,EAAI6C,KAAqC,aAA/B7C,EAAID,SAASkwE,cAA8B7vE,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,mBAAmBP,EAAI6C,KAAK7C,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIiwE,eAAe,OAAO,IACre,GAAkB,GCqBP,UAAIvuE,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,OACZwpF,cAAe7gF,SAEjBpG,SAAU,CACR/B,SADQ,aAEN,OAAOE,KAAK2I,OAAO7P,QAAQ,2BAA2BkH,KAAKkU,aAG7D87D,cALQ,aAMN,IAAKhwE,KAAKF,SACR,MAAO,GAGT,OAAOlC,EACJxI,EAAE,0BAA4B4K,KAAKF,SAASkwE,eAC5ClkE,eCvCoa,MCOza,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC2I,SAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI1U,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,aAAY,WAAW,MAAO,CAAC5F,EAAG,QAAQJ,EAAI4F,GAAG,CAACrE,YAAY,OAAOjB,MAAM,CAAC,UAAU,GAAG,MAAQ,UAAUyF,EAAUpF,IAAI,CAACX,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,UAAS,KAAKsF,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,aAAa,KAAK,YAAY,SAAUrF,GAAK,OAAOA,EAAEsP,QAAU,MAAQ1K,EAAIk5E,SAAS,MAAQ,CAAC,SAAU99E,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAIP,UAAUyB,GAAKG,WAAW,gBAAgB,IAAI,IAAI,IAC1/B,GAAkB,GCwCP,UAAIK,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAEdhN,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MACR8H,UAAW,EACX/F,MAAO,OAGXoI,SAAU,OAAF,oDACH,eAAW,QAAS,CAAC,sBACrB,eAAW,WAAY,CAAC,oBACxB,eAAW,UAAW,CAAC,mBAAiB,CAC3C/B,SAD2C,aAEzC,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAElCvU,QAJ2C,aAKzC,GAAIK,KAAKF,UAAYE,KAAKF,SAASgK,UACjC,OAAO9J,KAAKoU,cAAcpU,KAAKF,SAASgK,WAE1C,OAAO,MAETlK,QAV2C,aAWzC,GAAII,KAAKL,SAAWK,KAAKL,QAAQC,QAC/B,OAAOI,KAAKL,QAAQC,QAEtB,OAAO,GAETq5E,SAhB2C,aAiBzC,GAAIj5E,KAAKJ,QACP,OAAOI,KAAK8tB,iBAAiB9tB,KAAKJ,SAEpC,MAAO,MAGXoC,QAAS,CAKD4D,MALC,a,sKAMD5F,KAAKJ,Q,yBACP,OAAMI,KAAK2I,OAAOlQ,SAAS,8BAA+BuH,KAAKJ,S,OAC3DI,KAAKF,SAASN,UAGhBQ,KAAKR,UAAYQ,KAAKF,SAASN,UACtBQ,KAAKi5E,SAASnmF,OAAS,IAGhCkN,KAAKR,UAAYQ,KAAKi5E,SAAS,GAAGziF,I,iDASlCqP,KAxBC,a,0KAyBL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,yBAA0B,CAChErhB,KAAM,CACJ4hB,WAAYlU,KAAKF,SAAStJ,GAC1BgJ,UAAWQ,KAAKR,a,OAHdvC,E,OAMA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GAExC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,8DCrHya,MCO7a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAC0I,QAAA,KAAKK,QAAA,KAAKE,QAAA,KAAKujB,WAAA,OC1B7C,IAAI,GAAS,WAAa,IAAIlmB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACyK,MAAM7K,EAAIgpF,WAAW,CAAChpF,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIrL,UAC/I,GAAkB,GCMP,UAAI+M,OAAO,CACxBsG,MAAO,CACLrT,KAAMsT,OACNxK,OAAQwK,QAEVnG,SAAU,CACRknF,UADQ,aAEN,OAAI/oF,KAAKxC,OACA,GAAP,OAAUwC,KAAKxC,OAAf,UAEO,OCjBqZ,MCOha,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QCkMA,UAAIiE,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAEduC,SAAU,OAAF,8FACH,eAAS,WAAY,CAAC,YACtB,eAAW,UAAW,CAAC,mBACvB,eAAW,WAAY,CAAC,oBACxB,eAAW,UAAW,CACvB,WACA,iBACA,sBAEC,eAAW,WAAY,CAAC,2BACxB,eAAW,QAAS,CAAC,0BAAwB,CAEhD/B,SAFgD,aAG9C,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAGlCvU,QANgD,aAO9C,GAAIK,KAAKF,UAAYE,KAAKF,SAASgK,UACjC,OAAO9J,KAAKoU,cAAcpU,KAAKF,SAASgK,WAE1C,OAAO,MAGT6b,YAbgD,aAc9C,GAAI3lB,KAAKF,UAAYE,KAAKL,QACxB,OAAOK,KAAK4xB,qBACV5xB,KAAKF,SAASN,UACdQ,KAAKL,QAAQC,SAGjB,OAAO,MASTipF,kBA7BgD,aA8B9C,IAAK7oF,KAAKF,SACR,OAAO,EAET,GAAIE,KAAKF,SAASu7E,WAChB,OAAO,EAGT,IAAM2N,EAAehpF,KAAKF,SAASklE,4BACnC,GAAIgkB,GAAgB,EAElB,OAAO,EAGT,IAAMC,EAAM,OACNhN,EAAQ,KAAOj8E,KAAKF,SAASglE,YAC7BokB,EAAcD,EAAI9gB,KAAK8T,EAAO,SACpC,OAAQiN,EAAcF,EAAgB,KAOxCJ,sBArDgD,aAsD9C,IAAK5oF,KAAKF,SACR,MAAO,GAGT,GAAIE,KAAKF,SAASu7E,WAChB,OAAOz9E,EAAKxI,EAAE,8BAA8B0W,WAG9C,GAAI9L,KAAKF,SAASylF,WAChB,OAAO3nF,EAAKxI,EAAE,8BAA8B0W,WAG9C,OAAOlO,EAAKxI,EAAE,8BAA8B0W,cAGhDgI,WAAY,CACVg+C,kBACAq3B,yBACAC,6BACAtQ,iBACAuQ,mBC5Ska,MCOla,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACzwE,SAAA,KAAMpW,QAAA,KAAK8B,mBAAA,KAAgB5B,QAAA,OC1BzD,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAM,GAAEI,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwBL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,4BAA4B,CAACE,MAAM,CAAC,YAAcN,EAAIupF,YAAY,WAAavpF,EAAIvJ,OAAO,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,YAAcN,EAAIupF,YAAY,WAAavpF,EAAIvJ,OAAO,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,YAAcN,EAAIupF,YAAY,WAAavpF,EAAIvJ,OAAO,IAAI,GAAGuJ,EAAI6C,MAC3kB,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAwB,qBAAEI,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIupF,YAAY,KAAOvpF,EAAIupF,cAAc,CAACnpF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAIo/C,iBAAmBp/C,EAAIupF,YAAa,CAAC7zF,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,6BAA6B,CAACE,MAAM,CAAC,WAAaN,EAAImU,gBAAgB1O,MAAM,MAAM,MAAM,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iCAAiC,GAAGL,EAAG,cAAc,CAACA,EAAG,iBAAiB,CAACkF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,WAAW,MAAO,CAACpF,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,MAAMA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8BL,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkBL,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,aAAaL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oCAAoCL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qCAAqCL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,QAAQJ,EAAI0F,GAAI1F,EAAY,UAAE,SAASkS,GAAO,OAAO9R,EAAG,KAAK,CAAC1K,IAAIwc,EAAMzb,GAAGoU,MAAM,CAAE4P,UAAWvI,EAAMs3E,aAAc,CAACppF,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,8BAA8B,CAACE,MAAM,CAAC,GAAK4R,EAAMzb,OAAO,GAAG2J,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG0R,EAAMvd,SAASyL,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,aAAa,CAACE,MAAM,CAAC,UAAY4R,EAAM/G,UAAU,cAAgB+G,EAAM9G,2BAA2B,GAAGhL,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,mBAAmB,CAACE,MAAM,CAAC,UAAY4R,EAAM/G,UAAU,cAAgB+G,EAAM9G,2BAA2B,GAAGhL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG0R,EAAMi/C,UAAU/wD,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG0R,EAAMu3E,eAAerpF,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG0R,EAAMw3E,gBAAgBtpF,EAAG,KAAK,CAAG8R,EAAMs3E,WAAyExpF,EAAI6C,KAAjEzC,EAAG,iCAAiC,CAACE,MAAM,CAAC,GAAK4R,EAAMzb,OAAgB,QAAO,KAAKgP,MAAM,OAAO,KAAK,MAAM,eAAe,IAAI,GAAGzF,EAAI6C,MACj5D,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,+BAA+BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,wBAAwB,CAACY,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAIw9E,kBAAkBt8E,GAAKG,WAAW,wBAAwB,IACnf,GAAkB,GCDlB,GAAS,WAAa,IAAIrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAU,kBAAkB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gCAAgC,MAAQT,EAAIw9E,kBAAkBiM,WAAW,kBAAkB,GAAG,MAAQ,CAAC,SAAUruF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,aAAc1M,QAAa,GAAGR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yCAAyCO,MAAM,CAAC5L,MAAO4K,EAA2B,wBAAEiB,SAAS,SAAUC,GAAMlB,EAAI2pF,wBAAwBzoF,GAAKG,WAAW,8BAA8B,GAAKrB,EAAI2pF,wBAAoT3pF,EAAI6C,KAA/RzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIw9E,kBAAkB7oF,KAAK,MAAQqL,EAAIS,GAAG,0BAA0B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,OAAQ1M,EAAQ,aAAa,GAAcZ,EAAI2pF,wBAA4a3pF,EAAI6C,KAAvZzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIw9E,kBAAkBryE,UAAU,cAAgBnL,EAAIw9E,kBAAkBpyE,uBAAuB,MAAQ,CAAC,SAAUhQ,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,YAAa1M,IAAS,mBAAqB,SAASA,GAAQZ,EAAIw9E,kBAAkBpyE,uBAAyBxK,OAAY,GAAYR,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,SAAS,MAAQT,EAAIw9E,kBAAkBrsB,MAAM,MAAQnxD,EAAI2pF,wBAA0B,CAAC,SAAUvuF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAwB,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAO,QAAS1M,EAAQ,aAAa,IAAI,IACrxD,GAAkB,GCyDP,UAAIc,OAAO,CACxBsG,MAAO,CACL5S,MAAOpC,OACPmhB,WAAY5U,QAGdhN,KANwB,aAOtB,MAAO,CACLo3F,wBAAyB,QAI7B7nF,SAAU,CAeR07E,kBAfQ,aAgBN,OAAOv9E,KAAK7K,MACR6K,KAAK7K,MACL,CACEqB,GAAI,EACJ0d,WAAY,EACZxf,KAAM,GACNwW,UAAW,GACXC,uBAAwB,KACxBq+E,WAAY,OAAShqE,YAK/Bxd,QAAS,CAWPqL,OAXO,WAWA5X,EAAaN,GAAiC,IAArBge,EAAqB,uDAAF,GAC7CsH,EAAgBtlB,EACH,SAAbge,IACFsH,EAAgBtlB,EAAMgM,QAExBnB,KAAK8H,MACH,QACA,iBAAI,uBAAU9H,KAAKu9E,oBAAoB,SAACpiF,GAAD,OACrC,iBAAIA,EAAG1F,EAAKglB,WCtHya,MCO3b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAChH,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OCJ9C,cAAIjS,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAGdhN,KALwB,aAMtB,MAAO,CACLmH,MAAO,KACP/B,OAAQ,MAER6lF,kBAAmB,OAIvBv7E,QAAS,CAKP4D,MALO,aAML5F,KAAKvG,MAAQ,KACbuG,KAAKu9E,kBAAoB,MAOrB13E,KAdC,a,6KAeA7F,KAAKu9E,kB,mEAMS,OAAM,GAAY5pE,KAAK,0BAA2B,CACjErhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,WACjBs1E,WAAYxpF,KAAKu9E,kBAAkBiM,WACnCC,YAAazpF,KAAKu9E,kBAAkBkM,YACpC/0F,KAAMsL,KAAKu9E,kBAAkB7oF,KAC7BwW,UAAWlL,KAAKu9E,kBAAkBryE,UAClCC,uBACEnL,KAAKu9E,kBAAkBpyE,uBACzB+lD,MAAOlxD,KAAKu9E,kBAAkBrsB,S,OAT5Bj0D,E,OAcA7D,EAAW,IAAErE,IAAIkI,EAAU,YAAa,IAC9C+C,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,qCACRK,MAAOsF,KAAKkU,WACZ/e,MAAOpC,OAAO8D,KAAKuC,EAASmkF,qBAI9Bv9E,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACV61E,4BCzFgc,MCOhc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI5pF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,+BAA+BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,wBAAwB,CAACY,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAIw9E,kBAAkBt8E,GAAKG,WAAW,wBAAwB,IACpf,GAAkB,GCuBP,UAAIK,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAGNhN,KALwB,aAMtB,MAAO,CACLmH,MAAO,KACP/B,OAAQ,MAER6lF,kBAAmB,OAIvB17E,SAAU,OAAF,UACH,eAAW,WAAY,CAAC,6BAG7BG,QAAS,CAKP4D,MALO,aAML5F,KAAKvG,MAAQ,KACb,IAAMqb,EAAY,IAAE8B,UAAU5W,KAAK09E,wBAAwB19E,KAAKxJ,KAChEwJ,KAAKu9E,kBAAoBzoE,GAOrBjP,KAfC,a,mLAiBH7F,KAAKvG,MAAQ,K,SAGI,OAAM,GAAYka,KAAK,6BAA8B,CACpErhB,KAAM0N,KAAKu9E,oB,OADPtgF,E,OAIA7D,EAAW,IAAErE,IAAIkI,EAAU,YAAa,IAC9C+C,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GAGxC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACV61E,4BC9Eic,MCOjc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI5pF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BACtI,KACAT,EAAIS,GAAG,kCAAkCE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACjI,IAAIC,EAAKD,EAAIC,GACjB,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACrE,YAAY,OAAOjB,MAAM,CAAC,UAAU,GAAG,MAAQ,YAAYK,GAAI,CAACX,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,YAAYO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAI0pF,YAAYxoF,GAAKG,WAAW,kBAAkB,IAAI,IAAI,IAC5lB,GAAkB,GCiCP,UAAIK,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAGNhN,KALwB,aAMtB,MAAO,CACLoF,OAAQ,MACR+xF,YAAa,OAASjqE,SACtB/lB,MAAO,OAIXuI,QAAS,CAKP4D,MALO,aAML5F,KAAKypF,YAAc,OAASjqE,UAOxB3Z,KAbC,a,0KAcL7F,KAAKvG,MAAQ,K,kBAEM,OAAM,GAAYka,KAAK,6BAA8B,CACpErhB,KAAM,CACJkE,GAAIwJ,KAAKxJ,GACTizF,YAAazpF,KAAKypF,e,OAHhBxsF,E,OAMA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,8DC7Egc,MCOpc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC0I,QAAA,KAAKK,QAAA,KAAKE,QAAA,OCqDzB,cAAIjB,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,OACZgqF,YAAarhF,SAGfE,QANwB,aAYlBnI,KAAKkU,YACPlU,KAAKoI,aAITvG,SAAU,OAAF,sCACH,eAAW,WAAY,CACxB,iBACA,qCAEC,eAAW,UAAW,CAAC,mBAAiB,CAE3C/B,SAF2C,aAGzC,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAAe,MAGjDvU,QAN2C,aAOzC,IAAKK,KAAKF,SACR,OAAO,KAET,OAAOE,KAAKoU,cAAcpU,KAAKF,SAASgK,YAAc,MAGxDw5B,SAb2C,aAczC,OAAOtjC,KAAKy9E,gCAAgCz9E,KAAKkU,aAGnD01E,qBAjB2C,aAkBzC,OAAO5pF,KAAK6pF,eAAiB7pF,KAAKsjC,SAASxwC,OAAS,GAGtDqsD,eArB2C,aAsBzC,OAAOn/C,KAAK6pF,eAGdA,cAzB2C,aA0BzC,GAAI7pF,KAAKF,UACHE,KAAKF,SAAS0lF,QAAQ3qF,SAAS,GAAMmrF,aACvC,OAAO,KAGX,GAAIhmF,KAAKL,SACHK,KAAKL,QAAQ8O,sBAAsB5T,SAAS,GAAMmrF,aACpD,OAAO,KAGX,OAAO,SAIXlkF,MAAO,CAKLoS,WALK,WAKMlI,GACLhM,KAAKkU,YACPlU,KAAKoI,cAKXpG,QAAS,CAMPoG,UANO,aAOLpI,KAAK2I,OAAOlQ,SAAS,qCAAsC,CACzDyb,WAAYlU,KAAKkU,eAKvBJ,WAAY,CACVg2E,8BACAC,+BACAC,qCCxK+b,MCO/b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC5nF,SAAA,KAAME,UAAA,QAAU2sC,gBAAA,KAAajqC,YAAA,KAASC,cAAA,UC3BpE,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIupF,aAAevpF,EAAIwpF,WAAW,KAAOxpF,EAAIupF,aAAevpF,EAAIwpF,aAAa,CAACppF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAGvF,EAAIupF,YAAiQ,KAApP,CAAC7zF,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAU,OAAEI,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,cAAcnU,EAAI6C,KAAKzC,EAAG,YAAaJ,EAAe,YAAEI,EAAG,sBAAsB,CAACE,MAAM,CAAC,WAAaN,EAAImU,cAAcnU,EAAI6C,OAAO4C,MAAM,OAAY,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBL,EAAG,YAAYA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAyB,sBAAEiB,SAAS,SAAUC,GAAMlB,EAAIkqF,sBAAsBhpF,GAAKG,WAAW,4BAA4B,GAAGjB,EAAG,cAAc,CAACA,EAAG,iBAAiB,CAACkF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,WAAW,MAAO,CAACpF,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,gCAAgCL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsBL,EAAG,KAAK,CAACoE,YAAY,CAAC,MAAQ,SAAS,CAACxE,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,QAAQ,CAAwB,IAAtBJ,EAAIqhF,OAAOtuF,OAAcqN,EAAG,KAAK,CAACA,EAAG,KAAK,CAACoE,YAAY,CAAC,aAAa,UAAUlE,MAAM,CAAC,QAAU,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,SAAST,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAU,QAAE,SAASygF,GAAO,OAAOrgF,EAAG,KAAK,CAAC1K,IAAI+qF,EAAMhqF,IAAI,CAAC2J,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAyBggF,EAAMhjF,YAAY2C,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI4kE,aAAa6b,EAAM1gC,uBAAuB3/C,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBkkE,EAAMrc,SAAU,0BAA0B,OAAOhkE,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQmgF,EAAMQ,YAAcR,EAAM0J,yBAAyB,GAAG/pF,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQmgF,EAAM2J,YAAc3J,EAAM4J,wBAAwB,GAAGjqF,EAAG,KAAK,CAAGJ,EAAIsqF,kBAAkB7J,GAA4IzgF,EAAI6C,KAAxIzC,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuqF,oBAAoBvqF,EAAIwqF,2BAA2B/J,KAAS,IAAIzgF,EAAIQ,GAAGR,EAAIS,GAAG,cAAc,SAAkBL,EAAG,KAAK,CAACA,EAAG,MAAM,CAACmB,YAAY,UAAU,CAACnB,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUmgF,EAAMhqF,MAAM2J,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,CAAEggF,EAAMhjF,QAAUgjF,EAAM1gC,kBAAmB3/C,EAAG,QAAQ,CAAEqgF,EAAY,OAAErgF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAIS,GAAG,uBAAyBggF,EAAMhjF,WAAWuC,EAAI6C,KAAM49E,EAAuB,kBAAErgF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,KAAK,GAAK,KAAK,MAAQN,EAAIS,GAAG,4BAA4B,MAAQggF,EAAM1gC,qBAAqB//C,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAM49E,EAAMgK,aAAehK,EAAMiK,WAAYtqF,EAAG,QAAQ,CAAEqgF,EAAiB,YAAErgF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQmgF,EAAMgK,gBAAgB,GAAGzqF,EAAI6C,KAAM49E,EAAgB,WAAErgF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,sBAAsB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQmgF,EAAMiK,eAAe,GAAG1qF,EAAI6C,MAAM,GAAG7C,EAAI6C,KACjmG49E,EAAM0J,sBAAwB1J,EAAM4J,oBACpCjqF,EAAG,QAAQ,CAAEqgF,EAA0B,qBAAErgF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,gCAAgC,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQmgF,EAAM0J,yBAAyB,GAAGnqF,EAAI6C,KAAM49E,EAAyB,oBAAErgF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,+BAA+B,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQmgF,EAAM4J,wBAAwB,GAAGrqF,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAM49E,EAAMkK,eAAiBlK,EAAMmK,aAAcxqF,EAAG,QAAQ,CAAEqgF,EAAmB,cAAErgF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,uBAAuB,MAAQggF,EAAMkK,iBAAiB3qF,EAAI6C,KAAM49E,EAAkB,aAAErgF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,sBAAsB,MAAQggF,EAAMmK,gBAAgB5qF,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAM49E,EAAMrc,UAAYqc,EAAMoK,QAASzqF,EAAG,QAAQ,CAAEqgF,EAAc,SAAErgF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAIuc,sBAC77BkkE,EAAMrc,SACN,4BACGpkE,EAAI6C,KAAM49E,EAAa,QAAErgF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,WAAW,MAAQggF,EAAMoK,WAAW7qF,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAM49E,EAAgB,WAAErgF,EAAG,QAAQ,CAAEqgF,EAAgB,WAAErgF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,sBAAsB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQmgF,EAAM2J,eAAe,GAAGpqF,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAM49E,EAAMqK,YAAcrK,EAAM1E,aAAc37E,EAAG,QAAQ,CAAEqgF,EAAgB,WAAErgF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,sBAAsB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQmgF,EAAMqK,eAAe,GAAG9qF,EAAI6C,KAAM49E,EAAkB,aAAErgF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,sBAAsB,MAAQggF,EAAM1E,gBAAgB/7E,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAM49E,EAAc,SAAErgF,EAAG,QAAQ,CAAEqgF,EAAc,SAAErgF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,oBAAoB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQmgF,EAAMsK,aAAa,GAAG/qF,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,QAAQ,SAAWmgF,EAAMhqF,OAAO,IAAI,IAAI,IAAI,WAAU,GAAIuJ,EAAIgrF,eAAiB,EAAG5qF,EAAG,QAAQ,CAACA,EAAG,SAAS,CAACA,EAAG,cAAc,CAACA,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACA,EAAG,OAAO,CAACyK,MAAM,CAAE,YAAa7K,EAAIgrF,eAAiB,KAAM,CAAC5qF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIgrF,gBAAgB,eAAe5qF,EAAG,uBAAuB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,QAAQ,IAAI,IAAI,IAAI,GAAGT,EAAI6C,OAAO4C,MAAM,WAAW,IAAI,IAC5/C,GAAkB,GCNlB,GAAS,WAAa,IAAIzF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACmB,YAAY,6CAA6C,CAAEvB,EAAgB,aAAEI,EAAG,qBAAqB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,OAASN,EAAIS,GAAG,yBAAyB,MAAQ,UAAU,UAAU,IAAIE,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAIg8E,aAAa,CAAC57E,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,cAAcP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,MAAM,GAAGT,EAAI6C,KAAM7C,EAAgB,aAAEI,EAAG,qBAAqB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,OAASN,EAAIS,GAAG,sBAAsB,MAAQ,QAAQ,UAAU,IAAIE,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAIi8E,UAAU,CAAC77E,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,YAAYP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,MAAM,GAAGT,EAAI6C,KAAM7C,EAAe,YAAEI,EAAG,qBAAqB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,OAASN,EAAIS,GAAG,uBAAuB,MAAQ,SAAS,UAAU,IAAIE,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAIk8E,WAAW,CAACl8E,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,OAAOT,EAAI6C,KAAM7C,EAAiB,cAAEI,EAAG,qBAAqB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,OAASN,EAAIS,GAAG,0BAA0B,MAAQ,SAAS,UAAU,IAAIE,GAAG,CAAC,QAAU,SAASC,GAAQ,OAAOZ,EAAIirF,cAAc,CAACjrF,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,OAAOT,EAAI6C,KAAM7C,EAAgB,aAAEI,EAAG,oBAAoB,CAACE,MAAM,CAAC,QAAUN,EAAIygF,MAAMhqF,MAAMuJ,EAAI6C,MAAM,IACx3C,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,aAAY,WAAW,MAAO,CAAC5F,EAAG,QAAQJ,EAAI4F,GAAG,CAACrE,YAAY,OAAOjB,MAAM,CAAC,MAAQ,QAAQ,UAAU,KAAKyF,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,YAAYP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,MAAM,MAAK,KAAKsF,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2BL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAI8qF,WAAW5pF,GAAKG,WAAW,iBAAiB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,KAAO,IAAI,YAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI+7E,aAA6B,kBAAR76E,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,mBAAmB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,QAAQ,SAAWL,KAAKirF,YAAY,IAAI,IAAI,IACh+C,GAAkB,GC0DP,UAAIxpF,OAAO,CACxBsG,MAAO,CAAC,QAAS,WACjBzV,KAFwB,aAGtB,MAAO,CACLoF,OAAQ,MACRmzF,WAAY,GACZ/O,aAAc,GACdriF,MAAO,OAKX0O,QAZwB,aAatBnI,KAAK4F,SAEP9D,MAAO,CACL3M,MADK,WACC6W,GACAA,GACFhM,KAAK4F,UAIX5D,QAAS,CAEP4D,MAFO,aAGL5F,KAAK6qF,WAAa,OAASrrE,SAC3Bxf,KAAK87E,aAAe,IAGhBj2E,KAPC,a,0KAQL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,gBAAiB,CACvDrhB,KAAM,CACJ24F,QAASjrF,KAAKirF,QACdJ,WAAY7qF,KAAK6qF,WACjB/O,aAAc97E,KAAK87E,gB,OAJjB7+E,E,OAOA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,sBACRK,MAAOsF,KAAKirF,QACZ91F,MAAOpC,OAAO8D,KAAKuC,EAASonF,SAE9BxgF,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,8DC5Gmb,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC0I,QAAA,KAAKK,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKgR,aAAA,OCuCpC,cAAIjS,OAAO,CACxBsG,MAAO,CACLkjF,QAAS3rF,QAEXuC,SAAU,OAAF,wBACH,eAAW,OAAQ,CAAC,mBAAiB,CAGxC2+E,MAHwC,aAItC,OAAOxgF,KAAK2I,OAAO9Q,MAAMiI,SAAS0gF,MAAMxgF,KAAKirF,UAAY,MAQ3DztF,OAZwC,aAatC,IAAKwC,KAAKwgF,MACR,MAAO,UAET,OAAOxgF,KAAKwgF,MAAMhjF,QAOpB4+E,aAvBwC,aAwBtC,GAAoB,YAAhBp8E,KAAKxC,OACP,OAAO,MAGT,IAAKwC,KAAKwgF,MACR,OAAO,MAGT,OAAOxgF,KAAKsD,cACV,yBACA,WACAtD,KAAKwgF,MAAM1gC,oBAQfu8B,YA3CwC,aA4CtC,GAAoB,cAAhBr8E,KAAKxC,OACP,OAAO,MAGT,IAAKwC,KAAKwgF,MACR,OAAO,MAGT,OAAOxgF,KAAKsD,cACV,uBACA,WACAtD,KAAKwgF,MAAM1gC,oBAQfw8B,aA/DwC,aAkEtC,GAAoB,YAAhBt8E,KAAKxC,QAAwC,cAAhBwC,KAAKxC,OACpC,OAAO,MAGT,IAAKwC,KAAKwgF,MACR,OAAO,MAGT,OAAOxgF,KAAKsD,cACV,yBACA,WACAtD,KAAKwgF,MAAM1gC,oBAQfy8B,cArFwC,aAsFtC,GAAoB,gBAAhBv8E,KAAKxC,OACP,OAAO,MAGT,IAAKwC,KAAKwgF,MACR,OAAO,MAGT,OAAOxgF,KAAKsD,cACV,0BACA,WACAtD,KAAKwgF,MAAM1gC,sBAKjB99C,QAAS,CACD+5E,QADC,a,mLAEY,OAAM,GAAYpoE,KAAK,iBAAkB,CACxDrhB,KAAM,CAAE24F,QAASjrF,KAAKirF,W,OADlBhuF,E,OAGA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,G,iDAGpC4iF,KATC,a,mLAUY,OAAM,GAAYroE,KAAK,cAAe,CACrDrhB,KAAM,CAAE24F,QAASjrF,KAAKirF,W,OADlBhuF,E,OAGA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,G,iDAGpC6iF,MAjBC,a,mLAkBY,OAAM,GAAYtoE,KAAK,eAAgB,CACtDrhB,KAAM,CAAE24F,QAASjrF,KAAKirF,W,OADlBhuF,E,OAGA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,G,iDAGpC4xF,SAzBC,a,mLA0BY,OAAM,GAAYr3E,KAAK,kBAAmB,CACzDrhB,KAAM,CAAE24F,QAASjrF,KAAKirF,W,OADlBhuF,E,OAGA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,G,kDAG5C0a,WAAY,CACVo3E,wBC/Mkb,MCOlb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACz2E,SAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI1U,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,yBAAyBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,aAAY,WAAW,MAAO,CAAC5F,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,KAAO,WAAW,UAAU,GAAG,KAAO,IAAImmE,KAAK,YAAY1gE,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,UAAU,KAAK,CAACN,EAAIO,GAAG,sBAAsBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,MAAM,MAAK,KAAKsF,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,eAAe,GAAG/T,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIihF,WAAW//E,GAAKG,WAAW,iBAAiB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIoqF,WAAWlpF,GAAKG,WAAW,iBAAiB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAI2qF,cAA8B,kBAARzpF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI4qF,aAA6B,kBAAR1pF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,mBAAmB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQ,wBAAwB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAIokE,SAASljE,GAAKG,WAAW,eAAe,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAIorF,eAAe9lF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACr/E,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAyB2I,IAAO,QAAQ,CAAC1T,IAAI,YAAY8P,GAAG,SAAS9E,GACtG,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAyB2I,IAAO,UAAUpI,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIvC,OAAOyD,GAAKG,WAAW,aAAa,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAI+/C,kBAAkB7+C,GAAKG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,WAAW,KAAO,IAAI,YAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAI6qF,QAAwB,kBAAR3pF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,YAAY,IAAI,IAAI,IACvwB,GAAkB,GCLlB,GAAS,WAAa,IAAIN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,SAAW,GAAG,MAAQN,EAAIS,GAAG,qBAAqB,MAAUT,EAAIJ,QAAY,KAAI,IAAOI,EAAIJ,QAAe,YAAO,GAAII,EAAID,SAAmB,WAAEK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,SAAW,GAAG,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAID,SAAS4kE,QAAQ,GAAG3kE,EAAI6C,KAAO7C,EAAID,SAASu7E,WAAoJt7E,EAAI6C,KAA5IzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,SAAW,GAAG,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAID,SAAS2kE,QAAQ,IAAa,IACpoB,GAAkB,GCgCP,UAAIhjE,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAEduC,SAAU,OAAF,oDACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,oBACxB,eAAW,UAAW,CAAC,mBAAiB,CAC3C/B,SAD2C,aAEzC,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAElCvU,QAJ2C,aAKzC,OAAOK,KAAKoU,cAAcpU,KAAKF,SAASgK,gBC7C4X,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACtH,QAAA,KAAKE,QAAA,KAAKC,cAAA,OC2FzB,cAAIlB,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAGdhN,KALwB,aAMtB,MAAO,CACLoF,OAAQ,MACRooD,kBAAmB,EACnBqkB,SAAU,EACVgnB,cAAe,CAAC,cAAe,YAC/BnK,WAAY,GACZmJ,WAAY,GACZO,cAAe,GACfC,aAAc,GACdntF,OAAQ,WACRotF,QAAS,GACTnxF,MAAO,OAIXoI,SAAU,OAAF,wBACH,eAAW,WAAY,CACxB,iBACA,2CACA,CAEF/B,SAFE,aAGA,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAAe,MAGjD62E,eANE,aAOA,OAAO/qF,KAAK2gF,sCAAsC3gF,KAAKkU,eAI3DlS,QAAS,CAKP4D,MALO,aAML,IAAM6jF,EAAc,IAAI2B,KACxB3B,EAAY4B,QAAQ5B,EAAY6B,UAAY,GAC5C,IAAMC,EAAa,IAAIH,KACvBG,EAAWF,QAAQE,EAAWD,UAAY,GAC1CtrF,KAAKghF,WAAayI,EAAY+B,cAAc9gC,OAAO,EAAG,IACtD1qD,KAAKmqF,WAAaoB,EAAWC,cAAc9gC,OAAO,EAAG,IACrD1qD,KAAK0qF,cAAgB,GACrB1qF,KAAK2qF,aAAe,GACpB3qF,KAAKmkE,SAAW,EAChBnkE,KAAKxC,OAAS,WACdwC,KAAK4qF,QAAU,GAEX5qF,KAAKF,WACPE,KAAK8/C,kBAAoB9/C,KAAKF,SAASggD,oBAQrCj6C,KA3BC,a,4KA4BL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,kBAAmB,CACzDrhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,WACjB4rC,kBAAmB9/C,KAAK8/C,kBACxBkhC,WAAYhhF,KAAKghF,WACjBmJ,WAAYnqF,KAAKmqF,WACjBhmB,SAAUnkE,KAAKmkE,SACf3mE,OAAQwC,KAAKxC,OACbotF,QAAS5qF,KAAK4qF,QACdF,cAAe1qF,KAAK0qF,cACpBC,aAAc3qF,KAAK2qF,gB,OAVjB1tF,E,OAaA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAASonF,OAAO,GAC1CxgF,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,sBACRK,MAAOsF,KAAKkU,WACZ/e,MAAOpC,OAAO8D,KAAKuC,EAASonF,SAI7BxgF,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAE/C5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACVqxB,oBACAsmD,yBCzNyb,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAACtpF,QAAA,KAAKK,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKujB,WAAA,KAAQtjB,cAAA,KAAW+Q,aAAA,OC7BtE,IAAI,GAAS,WAAa,IAAI3T,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,YAAY,QAAQ,MAAQN,EAAIS,GAAG,kCAAkCE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,eAAe,IAAI,GAAG/T,EAAG,MAAM,CAACA,EAAG,QAAQ,CAAEH,KAAK+qF,eAAiB,GAAI5qF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,UAAU,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,QAAQ,GAAGT,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uCAAuC,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAImqF,qBAAqBjpF,GAAKG,WAAW,2BAA2B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,SAAW,KAAK,MAAQN,EAAIS,GAAG,4BAA4B,wBAAwB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAI+/C,kBAAkB7+C,GAAKG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,MAAQ,CAAC,SAAUrF,GAAK,OAAOA,EAAI,GAAK4E,EAAIS,GAAG,oBAAsB,OAAST,EAAIS,GAAG,cAAcO,MAAM,CAAC5L,MAAO4K,EAA2B,wBAAEiB,SAAS,SAAUC,GAAMlB,EAAI2rF,wBAAwBzqF,GAAKG,WAAW,8BAA8B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAI2qF,cAA8B,kBAARzpF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI4qF,aAA6B,kBAAR1pF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,mBAAmB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQ,wBAAwB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAIokE,SAASljE,GAAKG,WAAW,eAAe,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,IAAI,YAAY,GAAG,MAAQN,EAAIS,GAAG,YAAYO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAI6qF,QAAwB,kBAAR3pF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,YAAY,IAAI,IAAI,IAAI,IAC15F,GAAkB,GC+FP,UAAIoB,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAEdhN,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MACRwyF,qBAAsB,GACtBwB,wBAAyB,EACzBhB,cAAe,GACfC,aAAc,GACdxmB,SAAU2a,GAAY6M,SACtBf,QAAS,GACT9qC,kBAAmB,EACnBrmD,MAAO,OAGXoI,SAAU,OAAF,wBACH,eAAW,WAAY,CACxB,iBACA,2CACA,CACF/B,SADE,aAEA,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAAe,MAEjD62E,eAJE,aAKA,OAAO/qF,KAAK2gF,sCAAsC3gF,KAAKkU,eAG3DlS,QAAS,CAKP4D,MALO,aAML,IAAM6jF,EAAc,IAAI2B,KACxB3B,EAAY4B,QAAQ5B,EAAY6B,UAAY,GAC5C,IAAMC,EAAa,IAAIH,KACvBG,EAAWF,QAAQE,EAAWD,UAAY,GAC1CtrF,KAAKkqF,qBAAuBT,EAAY+B,cAAc9gC,OAAO,EAAG,IAChE1qD,KAAK0rF,wBAA0B,EAC/B1rF,KAAK0qF,cAAgB,GACrB1qF,KAAK2qF,aAAe,GACpB3qF,KAAKmkE,SAAW2a,GAAY6M,SAC5B3rF,KAAK4qF,QAAU,GACX5qF,KAAKF,WACPE,KAAK8/C,kBAAoB9/C,KAAKF,SAASggD,oBAQrCj6C,KAzBC,a,4KA0BL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,iBAAkB,CACxDrhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,WACjB4rC,kBAAmB9/C,KAAK8/C,kBACxBqkB,SAAUnkE,KAAKmkE,SACfymB,QAAS5qF,KAAK4qF,QACdV,qBAAsBlqF,KAAKkqF,qBAC3B0B,yBAAyD,GAA/B5rF,KAAK0rF,wBAC/BhB,cAAe1qF,KAAK0qF,cACpBC,aAAc3qF,KAAK2qF,gB,OATjB1tF,E,OAYA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAASonF,OAAO,GAC1CxgF,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,sBACRK,MAAOsF,KAAKkU,WACZ/e,MAAOpC,OAAO8D,KAAKuC,EAASonF,SAI7BxgF,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAE/C5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVqxB,oBACAsmD,yBC1Lwb,MCOxb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC/wD,UAAA,KAAOl4B,QAAA,KAAKE,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OCuP3C,cAAIjS,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,OACZgqF,YAAarhF,SAGfE,QANwB,aAYlBnI,KAAKkU,YACPlU,KAAKoI,aAIT9V,KAjBwB,aAkBtB,MAAO,CACL23F,sBAAuB,QAI3BpoF,SAAU,OAAF,kEACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CAAC,2BACxB,eAAW,WAAY,CACxB,oBACA,wCACA,mBACA,qBACA,oBAEC,eAAW,UAAW,CAAC,kBAAgB,CAE1C/B,SAF0C,aAGxC,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAOlCktE,OAV0C,aAWxC,IAAMA,EAASphF,KAAK0gF,kBAAkB1gF,KAAKkU,YAC3C,GAAIlU,KAAKiqF,sBACP,OAAO7I,EAAOxiF,OAAOoB,KAAKihF,kBAE5B,OAAOG,GAQTmI,WAvB0C,aAwBxC,OAAOvpF,KAAKwmF,mBAAmBxmF,KAAKkU,aAOtCkX,OA/B0C,aAgCxC,GAAIprB,KAAKwmF,mBAAmBxmF,KAAKkU,YAE/B,OAAO,MAGT,IAAM23E,EAAe,IAAEjtF,OAAOoB,KAAKohF,QAAQ,SAACZ,GAC1C,OAAO,IAAE3lF,SACP,CAAC,UAAW,YAAa,eACzB2lF,EAAMhjF,WAGV,GAAIquF,EAAa/4F,OAAS,EACxB,OAAO,MAGT,OAAOkN,KAAKsD,cACV,yBACA,WACAtD,KAAKF,SAASggD,oBAQlBgsC,YA1D0C,aA2DxC,OAAO9rF,KAAKsD,cACV,0BACA,WACAtD,KAAKF,SAASggD,oBAQlBirC,eAtE0C,aAuExC,OAAO/qF,KAAK2gF,sCAAsC3gF,KAAKkU,eAI3DpS,MAAO,CAKLoS,WALK,WAKMlI,GACLhM,KAAKkU,YACPlU,KAAKoI,cAKXpG,QAAS,CAMPoG,UANO,aAOLpI,KAAK2I,OAAOlQ,SAAS,uBAAwB,CAC3Cyb,WAAYlU,KAAKkU,cAIrBo2E,oBAZO,WAYayB,GAClB,OAAO1sD,KAAKC,MAAMysD,EAAW,KAG/BxB,2BAhBO,WAgBoB/J,GACzB,MAAqB,aAAjBA,EAAMhjF,OACDgjF,EAAMxvB,gBAENwvB,EAAMoL,0BAIjBvB,kBAxBO,WAwBW7J,GAChB,MAAwB,WAAjBA,EAAMhjF,QAAwC,aAAjBgjF,EAAMhjF,SAI9CsW,WAAY,CACVk4E,gBACAC,uBACAC,yBC1aib,MCOjb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAkBhC,KAAkB,GAAW,CAAC9pF,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKqe,MAAA,QAAMF,aAAA,KAAUC,iBAAAC,GAAA,KAAiBsrE,kBAAAtrE,GAAA,KAAkBE,eAAAF,GAAA,KAAene,QAAA,KAAKusC,gBAAA,KAAalqC,WAAA,KAAQugC,WAAA,KAAQtgC,YAAA,KAASC,cAAA,UCpChK,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIupF,aAAevpF,EAAIwpF,WAAW,KAAOxpF,EAAIupF,aAAevpF,EAAIwpF,aAAa,CAACppF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAGvF,EAAIupF,YAAkb,KAAra,CAAC7zF,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAaN,EAAImU,YAAY7O,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC3F,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,IAAM,GAAG,SAAW,GAAG,OAAS,GAAG,MAAQ,WAAWyF,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACJ,EAAIO,GAAG,cAAc,OAAO,KAAK,MAAM,aAAaH,EAAG,YAAYA,EAAG,yBAAyB,CAACE,MAAM,CAAC,WAAaN,EAAImU,gBAAgB1O,MAAM,OAAY,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8BL,EAAG,YAAYA,EAAG,WAAW,CAACE,MAAM,CAAC,eAAe,GAAG,MAAQN,EAAIS,GAAG,uBAAuBO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAIqsF,UAAUnrF,GAAKG,WAAW,gBAAgB,GAAGjB,EAAG,cAAc,CAACA,EAAG,iBAAiB,CAACkF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,WAAW,MAAO,CAACpF,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,MAAMT,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+BL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oCAAoCL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,QAAQ,CAA2B,IAAzBJ,EAAI66E,UAAU9nF,OAAcqN,EAAG,KAAK,CAACA,EAAG,KAAK,CAACoE,YAAY,CAAC,aAAa,UAAUlE,MAAM,CAAC,QAAU,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,SAAST,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAa,WAAE,SAASq6E,GAAU,OAAOj6E,EAAG,KAAK,CAAC1K,IAAI2kF,EAAS5jF,IAAI,CAAC2J,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ+5E,EAASW,yBAAyB,GAAG56E,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA4B45E,EAAS58E,YAAY2C,EAAG,KAAK,CACj8D,aAAnBi6E,EAAS58E,QACT48E,EAASiB,YACTjB,EAASgB,IACTj7E,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,KAAKT,EAAIQ,GAAG65E,EAASgB,KAAK,OAAOr7E,EAAI6C,KACvE,aAAnBw3E,EAAS58E,SACR48E,EAASiB,YACVjB,EAASkB,IACTn7E,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,KAAKT,EAAIQ,GAAG65E,EAASkB,KAAK,OAAOv7E,EAAI6C,OAAOzC,EAAG,KAAK,CAACA,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAK+5E,EAASoB,sBAAsB,eAAe,OAAO,GAAGr7E,EAAG,KAAK,CAACA,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAK+5E,EAASqB,oBAAoB,eAAe,OAAO,GAAGt7E,EAAG,KAAK,CAACA,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAK+5E,EAASuB,SAAS,eAAe,OAAO,GAAGx7E,EAAG,KAAK,CAAEi6E,EAAiB,SAAEj6E,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuB89D,EAASjW,SAAU,6BAA8B,OAAOpkE,EAAI6C,OAAOzC,EAAG,KAAK,CAACA,EAAG,MAAM,CAACmB,YAAY,UAAU,CAACnB,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAa+5E,EAAS5jF,GAAG,WAAauJ,EAAImU,cAAc/T,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,CAACL,EAAG,QAAQ,CAAEi6E,EAAe,OAAEj6E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,CAACT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA4B45E,EAAS58E,SAAS,OAAOuC,EAAI6C,KAAMw3E,EAAmB,WAAEj6E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,gBAAgB,MAAQ45E,EAASgB,OAAOr7E,EAAI6C,KAAOw3E,EAASiB,WAAgHt7E,EAAI6C,KAAxGzC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,gBAAgB,MAAQ45E,EAASkB,QAAiB,GAC5qClB,EAASW,sBACTX,EAASY,mBACT76E,EAAG,QAAQ,CAAEi6E,EAA6B,qBAAEj6E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,iCAAiC,MAAQ45E,EAASW,uBAAuB,CAAC56E,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ+5E,EAASW,yBAAyB,GAAGh7E,EAAI6C,KAAMw3E,EAA2B,mBAAEj6E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,+BAA+B,MAAQ45E,EAASY,qBAAqB,CAAC76E,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ+5E,EAASY,uBAAuB,GAAGj7E,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAMw3E,EAASU,YAAcV,EAASmB,UAAWp7E,EAAG,QAAQ,CAAEi6E,EAAmB,WAAEj6E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ45E,EAASU,aAAa,CAAC36E,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ+5E,EAASU,eAAe,GAAG/6E,EAAI6C,KAAMw3E,EAAkB,UAAEj6E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,sBAAsB,MAAQ45E,EAASmB,YAAY,CAACp7E,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ+5E,EAASmB,cAAc,GAAGx7E,EAAI6C,MAAM,GAAG7C,EAAI6C,KACn9Bw3E,EAASoB,uBACTpB,EAASqB,oBACTt7E,EAAG,QAAQ,CAAEi6E,EAA8B,sBAAEj6E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,kCAAkC,CAACL,EAAG,sBAAsB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK+5E,EAASoB,0BAA0B,GAAGz7E,EAAI6C,KAAMw3E,EAA4B,oBAAEj6E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,gCAAgC,CAACL,EAAG,sBAAsB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK+5E,EAASqB,wBAAwB,GAAG17E,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAMw3E,EAASsB,YAActB,EAASuB,SAAUx7E,EAAG,QAAQ,CAAEi6E,EAAmB,WAAEj6E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,uBAAuB,CAACL,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAK+5E,EAASsB,eAAe,GAAG37E,EAAI6C,KAAMw3E,EAAiB,SAAEj6E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,qBAAqB,CAACL,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAK+5E,EAASuB,aAAa,GAAG57E,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAMw3E,EAASjW,UAAYiW,EAASlpB,MAAO/wD,EAAG,QAAQ,CAAEi6E,EAAiB,SAAEj6E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAIuc,sBACtkC89D,EAASjW,SACT,+BACGpkE,EAAI6C,KAAMw3E,EAAc,MAAEj6E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,SAAS,MAAQ45E,EAASlpB,SAASnxD,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAMw3E,EAASyB,YAAczB,EAAS0B,aAAc37E,EAAG,QAAQ,CAAEi6E,EAAmB,WAAEj6E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ45E,EAASyB,aAAa,CAAC17E,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ+5E,EAASyB,eAAe,GAAG97E,EAAI6C,KAAMw3E,EAAqB,aAAEj6E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,KAAK,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ45E,EAAS0B,gBAAgB/7E,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,WAAW,SAAW+5E,EAAS5jF,OAAO,IAAI,IAAI,IAAI,WAAU,KAAKgP,MAAM,WAAW,IAAI,IAC/yB,GAAkB,GClBlB,GAAS,WAAa,IAAIzF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIssF,aAAetsF,EAAIusF,QAASnsF,EAAG,SAAS,CAACE,MAAM,CAAC,OAAS,GAAG,MAAQ,GAAG,WAAW,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,aAAY,WAAW,MAAO,CAAC5F,EAAG,QAAQJ,EAAI4F,GAAG,CAACrE,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,WAAWyF,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACN,EAAIO,GAAG,gBAAgBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,MAAM,MAAK,KAAKsF,OAAe,KAAK,OAAO,CAAC3F,EAAG,SAAS,CAAEJ,EAAW,QAAEI,EAAG,aAAa,CAACE,MAAM,CAAC,WAAaN,EAAImU,YAAY7O,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACnpB,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,cAAcJ,EAAI4F,GAAG,GAAGjF,GAAI,CAACP,EAAG,oBAAoB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAO,KAAK,MAAM,cAAcT,EAAI6C,KAAM7C,EAAe,YAAEI,EAAG,wBAAwB,CAACE,MAAM,CAAC,WAAaN,EAAImU,YAAY7O,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACtR,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,cAAcJ,EAAI4F,GAAG,GAAGjF,GAAI,CAACP,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,QAAQ,OAAO,KAAK,MAAM,cAAcT,EAAI6C,MAAM,IAAI,GAAG7C,EAAI6C,MACxK,GAAkB,GCLlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAI5K,MAAM,MAAQ4K,EAAIS,GAAG,oBAAoBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,YAAY,KAAK,KAAKD,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,eAAe,IAAI,GAAInU,EAAyB,sBAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,kBAAkB,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAIwsF,SAAStrF,GAAKG,WAAW,eAAe,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,WAAaT,EAAIy7E,sBAAsB,SAAW,GAAG,cAAc,IAAIz6E,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAI27E,WAAWz6E,GAAKG,WAAW,iBAAiB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,WAAaT,EAAI07E,oBAAoB,MAAQ17E,EAAIysF,kBAAkBzrF,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAI47E,SAAS16E,GAAKG,WAAW,eAAe,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQ,2BAA2B,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAI0sF,qBAAqBxrF,GAAKG,WAAW,2BAA2B,IAAI,GAAGjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,cAAc,GAAGA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIs7E,WAAWp6E,GAAKG,WAAW,eAAe,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,QAAQ,MAAQN,EAAIS,GAAG,8BAA8B,MAAQ,SAASL,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,QAAQ,MAAQN,EAAIS,GAAG,8BAA8B,MAAQ,SAAS,IAAI,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAAEN,EAAc,WAAEI,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,UAAY,KAAKO,MAAM,CAAC5L,MAAO4K,EAAO,IAAEiB,SAAS,SAAUC,GAAMlB,EAAIq7E,IAAoB,kBAARn6E,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,SAASrB,EAAI6C,KAAO7C,EAAIs7E,WAA8Mt7E,EAAI6C,KAAtMzC,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,UAAY,KAAKO,MAAM,CAAC5L,MAAO4K,EAAO,IAAEiB,SAAS,SAAUC,GAAMlB,EAAIu7E,IAAoB,kBAARr6E,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,UAAmB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,cAAc,IAAI,GAAGA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,QAAQ,MAAQN,EAAIS,GAAG,SAAS,KAAO,KAAKO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAI2sF,UAA0B,kBAARzrF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,gBAAgB,IAAI,GAAGjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,eAAe,IAAI,IAAI,GAAGN,EAAI6C,MAAM,IAC5nG,GAAkB,GC0IP,UAAInB,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACPiM,WAAY5U,QAGdhN,KANwB,aAOtB,MAAO,CACLoF,OAAQ,MAER60F,SAAU,OAAS/sE,SACnBg8D,sBAAuB,EACvBC,oBAAqB,EACrBC,WAAY,EACZC,SAAU,EACV8Q,qBAAsB,EACtBC,UAAW,GACXrR,WAAY,MACZC,IAAK,GACLF,IAAK,GACL3hF,MAAO,OAIXoI,SAAU,OAAF,oDACH,eAAW,UAAW,CAAC,WAAY,eAAgB,oBACnD,eAAW,WAAY,CAAC,oBACxB,eAAW,UAAW,CAAC,mBAAiB,CAE3C/B,SAF2C,aAGzC,IAAMA,EAAWE,KAAKm8E,eAAen8E,KAAKkU,YAC1ClU,KAAKq7E,WAAav7E,EAASu7E,WAC3B,OAAOv7E,GAGTH,QAR2C,aASzC,OAAOK,KAAKoU,cAAcpU,KAAKF,SAASgK,YAG1C6iF,oBAZ2C,aAazC,OAAO3sF,KAAKkjC,eAAeljC,KAAK27E,WAGlC6Q,iBAhB2C,aAgB3B,WACVI,EAAW,EACTvlF,EAAQnO,QAEV8G,KAAKF,WACP8sF,EAAW5sF,KAAKF,SAASkhC,QAG3B35B,EAAMjU,MACJ,SAAC+H,GAAD,OAAa,IAANA,GAAW,EAAK8d,MAAM7jB,EAAE,wCAEjCiS,EAAMjU,MACJ,SAAC+H,GAAD,OAAOA,IAAMyxF,GAAY,EAAK3zE,MAAM7jB,EAAE,qCAEpC4K,KAAKq7E,YACPh0E,EAAMjU,MACJ,kBACE,EAAKu5F,oBAAoB7tC,kBACzB,EAAK7lC,MAAM7jB,EAAE,yCAGd4K,KAAKq7E,YACRh0E,EAAMjU,MACJ,kBACE,EAAKu5F,oBAAoB5tC,kBACzB,EAAK9lC,MAAM7jB,EAAE,yCAGW,IAA1B4K,KAAKL,QAAQ4N,UACflG,EAAMjU,MACJ,kBACE,EAAKu5F,oBAAoB3tC,cACzB,EAAK/lC,MAAM7jB,EAAE,qCAGW,IAA1B4K,KAAKL,QAAQ4N,UACflG,EAAMjU,MACJ,kBACE,EAAKu5F,oBAAoB1tC,gBACzB,EAAKhmC,MAAM7jB,EAAE,uCAGf4K,KAAKF,SAASylF,YAChBl+E,EAAMjU,MACJ,kBACE,EAAKu5F,oBAAoB/tC,kBACzB,EAAK3lC,MAAM7jB,EAAE,yCAGd4K,KAAKF,SAASylF,YACjBl+E,EAAMjU,MACJ,kBACE,EAAKu5F,oBAAoB9tC,eACzB,EAAK5lC,MAAM7jB,EAAE,sCAGnB,OAAOiS,KAIXvF,MAAO,CACLoS,WADK,WACMgD,GACTlX,KAAK4F,UAIT5D,QAAS,CAKP4D,MALO,aAML,GAAI5F,KAAKF,SAAU,CACjBE,KAAKw7E,sBAAwBx7E,KAAKF,SAASggD,kBAC3C9/C,KAAKy7E,oBAAsBz7E,KAAKF,SAASggD,kBACzC9/C,KAAK07E,WAAa17E,KAAKF,SAASkhC,OAChChhC,KAAKq7E,WAAar7E,KAAKF,SAASu7E,WAChCr7E,KAAKs7E,IAAMt7E,KAAKF,SAAS2kE,IACzBzkE,KAAKo7E,IAAMp7E,KAAKF,SAAS4kE,QACpB,CACL1kE,KAAKw7E,sBAAwB,EAC7Bx7E,KAAKy7E,oBAAsB,EAC3Bz7E,KAAK07E,WAAa,EAEpB17E,KAAK27E,SAAW,EAChB37E,KAAKusF,SAAW,OAAS/sE,SACzBxf,KAAKysF,qBAAuB,EAC5BzsF,KAAK0sF,UAAY,IAOb7mF,KA5BC,a,4KA6BL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,wBAAyB,CAC/DrhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,WACjBsnE,sBAAuBx7E,KAAKy7E,qBAAuB,EACnDA,oBAAqBz7E,KAAKw7E,sBAC1BE,WAAY17E,KAAK07E,YAAc,EAC/BC,SAAU37E,KAAK27E,SACfZ,qBAAsB,IAAIqQ,KAAKprF,KAAKusF,UACpCpoB,SAAUnkE,KAAKysF,qBACfv7B,MAAOlxD,KAAK0sF,WAAa,GACzBpR,IAAKt7E,KAAKs7E,IACVF,IAAKp7E,KAAKo7E,IACVC,WAAYr7E,KAAKq7E,c,OAZfp+E,E,OAeA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAASghF,UAAU,GAC7Cp6E,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,yBACRK,MAAOsF,KAAKkU,WACZ/e,MAAOpC,OAAO8D,KAAKuC,EAASghF,YAI7Bp6E,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAC/C5T,KAAKtI,OAAS,MAGdsI,KAAK2hB,QAIL3hB,KAAK6sF,kB,qDAEL7sF,KAAKvG,MAAL,K,2DAIJkoB,MAvEO,aAwEL3hB,KAAK4F,QACL5F,KAAK8H,MAAM,QAAS,QAOtB+kF,gBAhFO,aAiFL7sF,KAAKoE,QACFhR,KAAK,CACJsB,KAAM,kBACN2K,OAAQ,CAAE7I,GAAI,GAAF,OAAKwJ,KAAKkU,eAEvBinB,OAAM,iBAMbrnB,WAAY,CACVmxB,gBACAwmD,yBCtVgb,MCOhb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAACjpF,QAAA,KAAKsC,YAAA,KAASkT,UAAA,KAAOC,eAAA,KAAYvV,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OC7B/E,IAAI,GAAS,WAAa,IAAI3T,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,8BAA8BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,YAAY,KAAK,KAAKD,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,cAAc/T,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uCAAuC,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAIg7E,qBAAqB95E,GAAKG,WAAW,2BAA2B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,OAAST,EAAIS,GAAG,cAAcO,MAAM,CAAC5L,MAAO4K,EAA2B,wBAAEiB,SAAS,SAAUC,GAAMlB,EAAI2rF,wBAAwBzqF,GAAKG,WAAW,8BAA8B,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAU,CAAEN,EAAID,UAAYC,EAAID,SAASggD,kBAAmB3/C,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oCAAoC,OAAOL,EAAG,MAAM,CAACmB,YAAY,sBAAsB,CAACnB,EAAG,sBAAsB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAID,SAASggD,sBAAsB,KAAK//C,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wCAAwC,aAAa,KAAK,YAAY,SAAUrF,GAAK,OAAOA,EAAEzG,KAAKqL,EAAIzD,SAAW,MAAQyD,EAAIysF,iBAAiB,wBAAwB,IAAIzrF,MAAM,CAAC5L,MAAO4K,EAAuB,oBAAEiB,SAAS,SAAUC,GAAMlB,EAAI+sF,oBAAoB7rF,GAAKG,WAAW,0BAA0B,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAU,gBAAgB,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQ,2BAA2B,kBAAkB,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAoB,iBAAEiB,SAAS,SAAUC,GAAMlB,EAAIgtF,iBAAiB9rF,GAAKG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oCAAoCL,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIs7E,WAAWp6E,GAAKG,WAAW,eAAe,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,KAAO,QAAQ,MAAQ,SAASL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,KAAO,QAAQ,MAAQ,SAAS,IAAI,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,SAAS,KAAO,IAAI,YAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAImxD,MAAsB,kBAARjwD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,YAAY,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,eAAe,IAAI,IAAI,IACzoG,GAAkB,GCgHP,UAAIoB,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAEdhN,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MAERg0F,wBAAyB,EACzB3Q,qBAAsB,OAASv7D,SAC/BstE,oBAAqB,EACrBC,iBAAkB,EAClB77B,MAAO,GACPmqB,WAAY,MACZ5hF,MAAO,OAGXoI,SAAU,OAAF,oDACH,eAAW,UAAW,CAAC,oBACvB,eAAW,WAAY,CAAC,oBACxB,eAAW,UAAW,CAAC,mBAAiB,CAE3C/B,SAF2C,aAGzC,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAGlCvU,QAN2C,aAOzC,OAAOK,KAAKoU,cAAcpU,KAAKF,SAASgK,YAG1C6iF,oBAV2C,aAWzC,OAAO3sF,KAAKkjC,eAAeljC,KAAK8sF,sBAGlCN,iBAd2C,aAc3B,WACVI,EAAW,EACTvlF,EAAQnO,QAEV8G,KAAKF,WACP8sF,EAAW5sF,KAAKF,SAASggD,mBAG3Bz4C,EAAMjU,MACJ,SAAC+H,GAAD,OAAa,IAANA,GAAW,EAAK8d,MAAM7jB,EAAE,wCAEjCiS,EAAMjU,MACJ,SAAC+H,GAAD,OAAOA,IAAMyxF,GAAY,EAAK3zE,MAAM7jB,EAAE,qCAGpC4K,KAAKq7E,YACPh0E,EAAMjU,MACJ,kBACE,EAAKu5F,oBAAoB7tC,kBACzB,EAAK7lC,MAAM7jB,EAAE,yCAId4K,KAAKq7E,YACRh0E,EAAMjU,MACJ,kBACE,EAAKu5F,oBAAoB5tC,kBACzB,EAAK9lC,MAAM7jB,EAAE,yCAIW,IAA1B4K,KAAKL,QAAQ4N,UACflG,EAAMjU,MACJ,kBACE,EAAKu5F,oBAAoB3tC,cACzB,EAAK/lC,MAAM7jB,EAAE,qCAIW,IAA1B4K,KAAKL,QAAQ4N,UACflG,EAAMjU,MACJ,kBACE,EAAKu5F,oBAAoB1tC,gBACzB,EAAKhmC,MAAM7jB,EAAE,uCAIf4K,KAAKF,SAASylF,YAChBl+E,EAAMjU,MACJ,kBACE,EAAKu5F,oBAAoB/tC,kBACzB,EAAK3lC,MAAM7jB,EAAE,yCAId4K,KAAKF,SAASylF,YACjBl+E,EAAMjU,MACJ,kBACE,EAAKu5F,oBAAoB9tC,eACzB,EAAK5lC,MAAM7jB,EAAE,sCAGnB,OAAOiS,KAIXrF,QAAS,CAKP4D,MALO,aAMD5F,KAAKF,WACPE,KAAKq7E,WAAar7E,KAAKF,SAASu7E,YAElCr7E,KAAK0rF,wBAA0B,EAC/B1rF,KAAK8sF,oBAAsB,EAC3B9sF,KAAK+sF,iBAAmB,EACxB/sF,KAAKkxD,MAAQ,IAOTrrD,KAnBC,a,4KAoBL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,oBAAqB,CAC3DrhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,WACjBsnE,sBAAuBx7E,KAAKF,SAASggD,mBAAqB,EAC1D27B,oBAAqBz7E,KAAK8sF,oBAC1B/R,qBAAsB,IAAIqQ,KAAKprF,KAAK+6E,sBACpC6Q,yBAAyD,GAA/B5rF,KAAK0rF,wBAC/BvnB,SAAUnkE,KAAK+sF,iBACf77B,MAAOlxD,KAAKkxD,OAAS,GACrBmqB,WAAYr7E,KAAKq7E,c,OATfp+E,E,OAYA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAASghF,UAAU,GAC7Cp6E,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,yBACRK,MAAOsF,KAAKkU,WACZ/e,MAAOpC,OAAO8D,KAAKuC,EAASghF,YAI7Bp6E,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAG/C5T,KAAKtI,OAAS,MAIdsI,KAAK6sF,kB,qDAEL7sF,KAAKvG,MAAL,K,2DAQJozF,gBA9DO,aA+DL7sF,KAAKoE,QACFhR,KAAK,CACJsB,KAAM,kBACN2K,OAAQ,CAAE7I,GAAI,GAAF,OAAKwJ,KAAKkU,eAEvBinB,OAAM,iBAObrnB,WAAY,CACVqxB,oBACAsmD,yBClS2b,MCO3b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACjpF,QAAA,KAAKwV,UAAA,KAAOC,eAAA,KAAYvV,QAAA,KAAKgR,aAAA,OCiB5C,cAAIjS,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAGduC,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CACxB,iBACA,qBACA,0BACA,CAEF/B,SAFE,aAGA,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAOlCq1E,WAVE,aAWA,OAAOvpF,KAAKwmF,mBAAmBxmF,KAAKkU,aAQtCo4E,QAnBE,aAoBA,IAAKtsF,KAAKF,SACR,OAAO,MAGT,GAAIE,KAAKupF,WACP,OAAO,MAGT,GAAIvpF,KAAKgtF,kBACP,OAAO,MAGT,OAAOhtF,KAAKsD,cACV,gBACA,WACAtD,KAAKF,SAASggD,oBASlBusC,YA5CE,aA6CA,IAAKrsF,KAAKF,SACR,OAAO,MAGT,GAAIE,KAAKupF,WACP,OAAO,MAGT,GAAIvpF,KAAKgtF,kBACP,OAAO,MAGT,OAAOhtF,KAAKsD,cACV,4BACA,WACAtD,KAAKF,SAASggD,oBAQlBktC,kBApEE,aAqEA,IAAMpS,EAAY56E,KAAKy6E,qBAAqBz6E,KAAKkU,YAC3C2oE,EAAkB,IAAEj+E,OAAOg8E,GAAW,SAACR,GAC3C,OAAO,IAAEv/E,SAASq/E,GAAwBE,EAAS58E,WAErD,OAAOq/E,EAAgB/pF,OAAS,KAIpCghB,WAAY,CACVm5E,cACAC,4BCtIqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAC/qF,QAAA,KAAKsS,SAAA,KAAMoM,MAAA,QAAMF,aAAA,KAAUI,eAAAF,GAAA,KAAeg6C,SAAA,OC5BxE,IAAI,GAAS,WAAa,IAAI96D,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAe,YAAEI,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,YAAY,QAAQ,MAAQN,EAAIS,GAAG,+BAA+BE,GAAG,CAAC,KAAOX,EAAI8F,KAAK,MAAQ9F,EAAI6F,OAAOP,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,aAAY,WAAW,MAAO,CAAC5F,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,UAAU,GAAG,KAAO,KAAKyF,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,UAAU,KAAK,CAACN,EAAIO,GAAG,sBAAsBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,MAAM,MAAK,KAAKsF,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,cAAc/T,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAIw7E,UAAUt6E,GAAKG,WAAW,gBAAgB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mCAAmC,wBAAwB,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAyB,sBAAEiB,SAAS,SAAUC,GAAMlB,EAAIy7E,sBAAsBv6E,GAAKG,WAAW,4BAA4B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wCAAwC,wBAAwB,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAuB,oBAAEiB,SAAS,SAAUC,GAAMlB,EAAI07E,oBAAoBx6E,GAAKG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQ,2BAA2B,kBAAkB,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAIokE,SAASljE,GAAKG,WAAW,eAAe,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,SAAS,KAAO,IAAI,YAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAImxD,MAAsB,kBAARjwD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,YAAY,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,eAAe,IAAI,IAAI,GAAGN,EAAI6C,MACl8E,GAAkB,GCuFP,UAAInB,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAGdhN,KALwB,aAMtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAEP0qE,SAAU,EACVqX,sBAAuB,EACvBC,oBAAqB,EACrBF,UAAW,OAAS/7D,SACpB0xC,MAAO,KAIXrvD,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CAAC,oBAAkB,CAE7C/B,SAF6C,aAG3C,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAOlC43E,YAV6C,aAW3C,IAAK9rF,KAAKF,SACR,OAAO,MAGT,OAAOE,KAAKsD,cAAc,iCAI9BtB,QAAS,CAKP4D,MALO,aAML5F,KAAKu7E,UAAY,OAAS/7D,SAC1Bxf,KAAKmkE,SAAW,EAChBnkE,KAAKy7E,oBAAsB,EAC3Bz7E,KAAKkxD,MAAQ,IAOTrrD,KAhBC,a,4KAiBL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,qBAAsB,CAC5DrhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,WACjBsnE,sBAAuBx7E,KAAKw7E,sBAC5BC,oBAAqBz7E,KAAKy7E,oBAC1BF,UAAWv7E,KAAKu7E,UAChBpX,SAAUnkE,KAAKmkE,SACfjT,MAAOlxD,KAAKkxD,S,OAPVj0D,E,OAUA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAASghF,UAAU,GAC7Cp6E,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,yBACRK,MAAOsF,KAAKkU,WACZ/e,MAAOpC,OAAO8D,KAAKuC,EAASghF,YAI7Bp6E,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAG/C5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACVqxB,oBACAsmD,yBCnL4b,MCO5b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACtpF,QAAA,KAAKK,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKgR,aAAA,OCkRpC,cAAIjS,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,OACZgqF,YAAarhF,SAGfE,QANwB,aAOtBnI,KAAKoI,aAGP9V,KAVwB,aAWtB,MAAO,CACL85F,UAAW,QAIfvqF,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,uBAAwB,wBAChD,eAAW,WAAY,CAAC,2BAAyB,CAKpD+4E,UALoD,aAMlD,IAAMA,EAAY56E,KAAKy6E,qBAAqBz6E,KAAKkU,YACjD,GAAIlU,KAAKosF,UACP,OAAOxR,EAAUh8E,OAAOoB,KAAKmtF,YAE/B,OAAOvS,GAQT2O,WAlBoD,aAmBlD,OAAOvpF,KAAKwmF,mBAAmBxmF,KAAKkU,eAIxCpS,MAAO,CACLoS,WADK,WACMlI,GACLhM,KAAKkU,YACPlU,KAAKoI,cAKXpG,QAAS,CAKDoG,UALC,a,kKAMLpI,KAAK2I,OAAOlQ,SAAS,0BAA2B,CAC9Cyb,WAAYlU,KAAKkU,a,iDAQrBi5E,WAfO,WAeI/S,GACT,OAAOA,EAASqB,sBAAwBrB,EAASoB,wBAIrD1nE,WAAY,CACV6oE,mBACAyQ,mBACAC,6BCrXob,MCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAehC,KAAkB,GAAW,CAAClrF,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKusC,gBAAA,KAAalqC,WAAA,KAAQugC,WAAA,KAAQtgC,YAAA,KAASC,cAAA,UCF1F,cAAIxD,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJgqF,YAAarhF,SAEf6L,WAAY,CACVw5E,6BACAC,eACAC,qBCvCma,MCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAChrF,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAM,GAAEI,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuBL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,YAAcN,EAAIupF,YAAY,GAAKvpF,EAAIvJ,OAAO,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,YAAcN,EAAIupF,YAAY,GAAKvpF,EAAIvJ,OAAO,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,6BAA6B,CAACE,MAAM,CAAC,YAAcN,EAAIupF,YAAY,GAAKvpF,EAAIvJ,OAAO,GAAG2J,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,2BAA2B,CAACE,MAAM,CAAC,YAAcN,EAAIupF,YAAY,GAAKvpF,EAAIvJ,OAAO,IAAI,GAAGuJ,EAAI6C,MAC5qB,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIupF,aAAevpF,EAAIwpF,WAAW,KAAOxpF,EAAIupF,aAAevpF,EAAIwpF,aAAa,CAACppF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAIqrB,SAAWrrB,EAAIupF,YAAa,CAAC7zF,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,gBAAgB,CAACE,MAAM,CAAC,WAAaN,EAAIvJ,QAAQgP,MAAM,MAAM,MAAM,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,GAAGL,EAAG,cAAc,CAACA,EAAG,iBAAiB,CAACkF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,WAAW,MAAO,CAACpF,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,KAAK,CAACmB,YAAY,YAAY,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,OAAOL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mCAAmCL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8BL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iCAAiCL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,QAAQ,CAAuB,IAArBJ,EAAI0iF,MAAM3vF,OAAcqN,EAAG,KAAK,CAACA,EAAG,KAAK,CAACoE,YAAY,CAAC,aAAa,UAAUlE,MAAM,CAAC,QAAU,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,SAAST,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAS,OAAE,SAASwhF,EAAK7mF,GAAO,OAAOyF,EAAG,KAAK,CAAC1K,IAAIiF,GAAO,CAACyF,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQkhF,EAAKkM,cAAc,GAAGttF,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI4kE,aAAa4c,EAAKzhC,uBAAuB3/C,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBilE,EAAKmM,YAAa,wBAAwB,OAAOvtF,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGghF,EAAKoM,mBAAmBxtF,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGghF,EAAKqM,cAAcztF,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGghF,EAAKsM,iBAAiB1tF,EAAG,KAAK,CAACA,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,CAACL,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQkhF,EAAKkM,cAAc,GAAGttF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,4BAA4B,CAACT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBilE,EAAKmM,YAAa,wBAAyB,OAAuB,MAAfnM,EAAKuM,OAAgB3tF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ+gF,EAAKuM,UAAU/tF,EAAI6C,KAAgC,MAA1B2+E,EAAKzhC,kBAA2B3/C,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAI4kE,aAAa4c,EAAKzhC,sBAAsB//C,EAAI6C,MAAM,GACv2E2+E,EAAKoM,gBACLpM,EAAKqM,WACLrM,EAAKwM,yBACLxM,EAAKsM,cACc,MAAnBtM,EAAKyM,YAC8B,OAAnCzM,EAAK0M,2BACL9tF,EAAG,aAAaJ,EAAI6C,KAAM2+E,EAAgB,YAAEphF,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,+BAA+B,MAAQ+gF,EAAKoM,kBAAkBxtF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,0BAA0B,MAAQ+gF,EAAKqM,aAAaztF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,KAAK,MAAQN,EAAIS,GAAG,2CAA2C,MAAQ+gF,EAAKwM,2BAA2B5tF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,6BAA6B,MAAQ+gF,EAAKsM,gBAAoC,MAAnBtM,EAAKyM,WAAoB7tF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,6BAA6B,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQkhF,EAAKyM,eAAe,GAAGjuF,EAAI6C,KAAyC,OAAnC2+E,EAAK0M,2BAAqC9tF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,2CAA2C,MAAQ+gF,EAAK0M,8BAA8BluF,EAAI6C,MAAM,GAAG7C,EAAI6C,KAC16B2+E,EAAKvzE,sBACLuzE,EAAK2M,SACL3M,EAAKtzE,mBACLszE,EAAK4M,eACL5M,EAAK9yE,uBACL8yE,EAAKmM,YACLvtF,EAAG,aAAaJ,EAAI6C,KAA0B,MAApB2+E,EAAKmM,YAAqBvtF,EAAG,QAAQ,CAA+B,MAA7BohF,EAAKvzE,qBAA8B7N,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,mCAAmC,MAAQT,EAAIquF,aAAa7M,EAAKvzE,yBAAyBjO,EAAI6C,KAAsB,MAAhB2+E,EAAK2M,QAAiB/tF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,sBAAsB,MAAQT,EAAIsuF,UAAU9M,EAAK2M,YAAYnuF,EAAI6C,KAAgC,MAA1B2+E,EAAKtzE,kBAA2B9N,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,gCAAgC,MAAQT,EAAIuuF,cAAc/M,EAAKtzE,sBAAsBlO,EAAI6C,KAA4B,MAAtB2+E,EAAK4M,cAAuBhuF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,6BAA6B,MAAQ+gF,EAAK4M,cAAc,eAAe,2BAA2BpuF,EAAI6C,KAAoC,MAA9B2+E,EAAK9yE,sBAA+BtO,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,oCAAoC,MAAQT,EAAIwuF,uBAAuBhN,EAAK9yE,0BAA0B1O,EAAI6C,MAAM,GAAG7C,EAAI6C,KACx/B2+E,EAAKiN,YACLjN,EAAKkN,QACLlN,EAAKmN,QACLnN,EAAKoN,YACLpN,EAAKqN,WACLrN,EAAKsN,WACLtN,EAAKuN,UACLvN,EAAKwN,MACLxN,EAAKyN,UACLzN,EAAK0N,QACL9uF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,cAAc,GAAGA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACoE,YAAY,CAAC,eAAe,SAAS,CAACxE,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kCAAkC,UAAU,IAAI,GAAGT,EAAI6C,KAAM2+E,EAAgB,YAAEphF,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,2BAA2B,MAAQ+gF,EAAKiN,cAAcruF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ+gF,EAAKkN,UAAUtuF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ+gF,EAAKmN,UAAUvuF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,2BAA2B,MAAQ+gF,EAAKoN,cAAcxuF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,0BAA0B,MAAQ+gF,EAAKsN,aAAa1uF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ+gF,EAAKuN,YAAY3uF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQ+gF,EAAKwN,QAAQ5uF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ+gF,EAAKyN,YAAY7uF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,wBAAwB,MAAQ+gF,EAAK0N,WAAW9uF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,0BAA0B,MAAQ+gF,EAAKqN,cAAc,GAAG7uF,EAAI6C,KAAM2+E,EAAY,QAAEphF,EAAG,aAAaJ,EAAI6C,KAAKzC,EAAG,QAAQ,CAAkB,MAAhBohF,EAAK30B,QAAiBzsD,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,wBAAwB,MAAQ+gF,EAAK30B,WAAW7sD,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,OAAO,SAAWkhF,EAAK/qF,OAAO,IAAI,IAAI,IAAI,SAAQ,KAAKgP,MAAM,WAAW,IAAI,IACnxD,GAAkB,GC1BlB,GAAS,WAAa,IAAIzF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,wBAAwB,YAAY,OAAOE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,cAAc/T,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAI0tF,UAAUxsF,GAAKG,WAAW,gBAAgB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,SAAW,GAAG,wBAAwB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAI+/C,kBAAkB7+C,GAAKG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,MAAQ,uBAAuBO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAI2tF,YAAYzsF,GAAKG,WAAW,kBAAkB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAI+tF,OAAuB,kBAAR7sF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,aAAa,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,KAAO,IAAI,YAAY,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAI4tF,eAA+B,kBAAR1sF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,qBAAqB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2CAA2C,KAAO,IAAI,YAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAA2B,wBAAEiB,SAAS,SAAUC,GAAMlB,EAAIguF,wBAAwC,kBAAR9sF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,8BAA8B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,KAAO,IAAI,YAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAI6tF,UAA0B,kBAAR3sF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,gBAAgB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mCAAmCO,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAI8tF,aAA6B,kBAAR5sF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,kBAAkBjB,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4BO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIiuF,WAAW/sF,GAAKG,WAAW,gBAAgBjB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2CAA2C,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAA8B,2BAAEiB,SAAS,SAAUC,GAAMlB,EAAIkuF,2BAA2BhtF,GAAKG,WAAW,iCAAiC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wCAAwC,MAAQ,8BAA8B,SAAW,GAAG,MAAQ,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAIiO,qBAAqB/M,GAAKG,WAAW,2BAA2B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sCAAsC,MAAQ,2BAA2B,SAAW,GAAG,MAAQ,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAIkO,kBAAkBhN,GAAKG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,MAAQ,0BAA0B,SAAW,GAAG,MAAQ,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAImuF,QAAQjtF,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mCAAmC,MAAQ,wBAAwB,SAAW,GAAG,MAAQ,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAIouF,cAAcltF,GAAKG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sCAAsC,MAAQ,kCAAkC,SAAW,GAAG,MAAQ,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAyB,sBAAEiB,SAAS,SAAUC,GAAMlB,EAAI0O,sBAAsBxN,GAAKG,WAAW,4BAA4B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAImvF,qBAAqBjuF,GAAKG,WAAW,0BAA0BjB,EAAG,QAAQ,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAO4K,EAAwB,qBAAEqB,WAAW,0BAA0B,CAACjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4BO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIyuF,WAA2B,kBAARvtF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,gBAAgBjB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwBO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAI0uF,OAAuB,kBAARxtF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,YAAYjB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwBO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAI2uF,OAAuB,kBAARztF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,YAAYjB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4BO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAI4uF,WAA2B,kBAAR1tF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,gBAAgBjB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAI8uF,UAA0B,kBAAR5tF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,gBAAgB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0BO,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAI+uF,SAAyB,kBAAR7tF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,cAAcjB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsBO,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAIgvF,KAAqB,kBAAR9tF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,UAAUjB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0BO,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAIivF,SAAyB,kBAAR/tF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,cAAcjB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyBO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIkvF,QAAwB,kBAARhuF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,aAAajB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAI6uF,UAA0B,kBAAR3tF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,gBAAgB,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,KAAO,IAAI,YAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAI6sD,QAAwB,kBAAR3rD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,WAAW,IAAI,IAAI,IAC7iP,GAAkB,GCqOP,UAAIoB,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAEdhN,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MACR+B,MAAO,KAGPqmD,kBAAmB,EACnB2tC,UAAW,OAASjuE,SACpBkuE,YAAarM,GAAU8N,KACvBrB,OAAQ,GACRH,eAAgB,GAChBI,wBAAyB,GACzBH,UAAW,GACXC,aAAc,GACdG,WAAY,GACZC,2BAA4B,MAC5BjgF,qBAAsB,GACtBkgF,QAAS,GACTjgF,kBAAmB,GACnBkgF,cAAe,GACf1/E,sBAAuB,GACvBygF,qBAAsB,MACtBV,WAAY,GACZM,SAAU,GACVL,OAAQ,GACRM,KAAM,GACNL,OAAQ,GACRM,SAAU,GACVL,WAAY,GACZM,QAAS,GACTJ,UAAW,GACXD,UAAW,GACXhiC,QAAS,KAGb/qD,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,oBACxB,eAAW,UAAW,CAAC,mBAAiB,CAE3C/B,SAF2C,aAGzC,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAAe,MAGjDvU,QAN2C,aAOzC,IAAKK,KAAKF,SACR,OAAO,KAET,OAAOE,KAAKoU,cAAcpU,KAAKF,SAASgK,YAAc,QAG1D9H,QAAS,CAKP4D,MALO,aAML5F,KAAKvG,MAAQ,KAEbuG,KAAKytF,UAAY,OAASjuE,SAC1Bxf,KAAK0tF,YAAcrM,GAAU8N,KAC7BnvF,KAAK8tF,OAAS,GACd9tF,KAAK2tF,eAAiB,GACtB3tF,KAAK+tF,wBAA0B,GAC/B/tF,KAAK4tF,UAAY,GACjB5tF,KAAK6tF,aAAe,GACpB7tF,KAAKguF,WAAa,GAClBhuF,KAAKiuF,2BAA6B,MAClCjuF,KAAKgO,qBAAuB,GAC5BhO,KAAKkuF,QAAU,GACfluF,KAAKiO,kBAAoB,GACzBjO,KAAKmuF,cAAgB,GACrBnuF,KAAKyO,sBAAwB,GAC7BzO,KAAKkvF,qBAAuB,MAC5BlvF,KAAKwuF,WAAa,GAClBxuF,KAAK8uF,SAAW,GAChB9uF,KAAKyuF,OAAS,GACdzuF,KAAK+uF,KAAO,GACZ/uF,KAAK0uF,OAAS,GACd1uF,KAAKgvF,SAAW,GAChBhvF,KAAK2uF,WAAa,GAClB3uF,KAAKivF,QAAU,GACfjvF,KAAK6uF,UAAY,GACjB7uF,KAAK4uF,UAAY,GACjB5uF,KAAK4sD,QAAU,GAEX5sD,KAAKF,SACPE,KAAK8/C,kBAAoB9/C,KAAKF,SAASggD,kBAEvC9/C,KAAK8/C,kBAAoB,EAG3B,GAAI9/C,KAAKL,QAAS,CAIhBK,KAAKgO,qBAAL,eAAgChO,KAAKL,QAAQqO,sBAC7ChO,KAAKiO,kBAAL,eAA6BjO,KAAKL,QAAQsO,mBAC1CjO,KAAKyO,sBAAL,eAAiCzO,KAAKL,QAAQ8O,2BACzC,CACLzO,KAAKgO,qBAAuB,GAC5BhO,KAAKyO,sBAAwB,GAC7BzO,KAAKiO,kBAAoB,KAQvBpI,KA3DC,a,kLA4DL7F,KAAKvG,MAAQ,KAEP21F,EAAU,CACdl7E,WAAYlU,KAAKkU,WACjB4rC,kBAAmB9/C,KAAK8/C,kBACxB2tC,UAAWztF,KAAKytF,UAChBC,YAAa1tF,KAAK0tF,YAClBI,OAAQ9tF,KAAK8tF,OACbH,eAAgB3tF,KAAK2tF,eACrBI,wBAAyB/tF,KAAK+tF,wBAC9BH,UAAW5tF,KAAK4tF,UAChBC,aAAc7tF,KAAK6tF,aACnBG,WAAYhuF,KAAKguF,WACjBC,2BAA4BjuF,KAAKiuF,2BACjCjgF,qBAAsBhO,KAAKgO,qBAC3BC,kBAAmBjO,KAAKiO,kBACxBQ,sBAAuBzO,KAAKyO,sBAC5By/E,QAASluF,KAAKkuF,QACdC,cAAenuF,KAAKmuF,cACpBvhC,QAAS5sD,KAAK4sD,SAEZ5sD,KAAKkvF,sBAKPn8F,OAAOyI,OAAO4zF,EAAS,CACrBZ,WAAYxuF,KAAKwuF,WACjBM,SAAU9uF,KAAK8uF,SACfL,OAAQzuF,KAAKyuF,OACbM,KAAM/uF,KAAK+uF,KACXL,OAAQ1uF,KAAK0uF,OACbM,SAAUhvF,KAAKgvF,SACfL,WAAY3uF,KAAK2uF,WACjBM,QAASjvF,KAAKivF,QACdJ,UAAW7uF,KAAK6uF,UAChBD,UAAW5uF,KAAK4uF,Y,kBAKD,OAAM,GAAYj7E,KAAK,eAAgB,CACtDrhB,KAAM88F,I,OADFnyF,E,OAIAoX,EAAgB,IAAEtf,IAAIkI,EAAU,YAAa,IAE7CqX,EAAgB,IAAEC,KAAKF,EAAe,CAAC,WAAY,SACnDT,EAAQ7gB,OAAO8D,KAAKyd,EAAcitE,MAAM,GAC9CvhF,KAAK2I,OAAOnQ,OAAO,oBAAqB8b,GACxCtU,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,qBACRK,MAAOsF,KAAKkU,WACZ/e,MAAOpC,OAAO8D,KAAKyd,EAAcitE,QAG7B/sE,EAAe,IAAED,KAAKF,EAAe,CAAC,YAC5CrU,KAAK2I,OAAOnQ,OAAO,mBAAoBgc,GAGtCxU,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAG/C5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVqxB,oBACAsmD,yBC/Zmb,MCOnb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACh4E,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OCiT9C,cAAIjS,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJgqF,YAAarhF,SAEfE,QALwB,aAMlBnI,KAAKxJ,IACPwJ,KAAKoI,aAGT9V,KAVwB,aAWtB,MAAO,CACL+8F,OAAQ,QAGZvtF,MAAO,CACLtL,GADK,WACFwV,GACGhM,KAAKxJ,IACPwJ,KAAKoI,cAIXvG,SAAU,OAAF,gFACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,UAAW,CAAC,kBACvB,eAAW,WAAY,CACxB,mBACA,qBACA,oBAEC,eAAW,WAAY,CAAC,2BACxB,eAAS,WAAY,CACtB,kBACA,qBACA,eACA,iBACA,4BACA,CAEF/B,SAFE,aAGA,OAAOE,KAAKm8E,eAAen8E,KAAKxJ,KAGlCisF,MANE,aAOA,OAAOziF,KAAK+hF,iBAAiB/hF,KAAKxJ,KAQpC+yF,WAfE,aAgBA,OAAOvpF,KAAKwmF,mBAAmBxmF,KAAKxJ,KAMtC40B,OAtBE,aAuBA,OACGprB,KAAKupF,YACNvpF,KAAKsD,cACH,8BACA,WACAtD,KAAKF,SAASggD,sBAKtB99C,QAAS,CACPoG,UADO,aAELpI,KAAK2I,OAAOlQ,SAAS,sBAAuB,CAC1Cyb,WAAYlU,KAAKxJ,MAGrB83F,cANO,WAMOtiF,GAAa,WACzB,OAAO,IAAE3V,IAAI2V,GAAK,SAACxV,GAAD,OAChB,EAAK8lB,sBAAsB9lB,EAAI,EAAKktF,qBAGxC0K,aAXO,WAWMpiF,GAAa,WACxB,OAAO,IAAE3V,IAAI2V,GAAK,SAACxV,GAAD,OAChB,EAAK8lB,sBAAsB9lB,EAAI,EAAK+sF,wBAGxC+L,iBAhBO,WAgBUtjF,GAAa,WAC5B,OAAO,IAAE3V,IAAI2V,GAAK,SAACxV,GAAD,OAChB,EAAK8lB,sBAAsB9lB,EAAI,EAAK4sF,kBAGxCiL,UArBO,WAqBGriF,GAAa,WACrB,OAAO,IAAE3V,IAAI2V,GAAK,SAACxV,GAAD,OAChB,EAAK8lB,sBAAsB9lB,EAAI,EAAK6sF,oBAGxCkL,uBA1BO,WA0BgBviF,GAAa,WAClC,OAAO,IAAE3V,IAAI2V,GAAK,SAACxV,GAAD,OAChB,EAAK8lB,sBAAsB9lB,EAAI,EAAKmtF,6BAI1C7vE,WAAY,CACVy7E,oBCnbgb,MCOhb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAACntF,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKsC,YAAA,KAASpC,QAAA,KAAKusC,gBAAA,KAAajqC,YAAA,KAASC,cAAA,UC9BvF,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIupF,aAAevpF,EAAIwpF,WAAW,KAAOxpF,EAAIupF,aAAevpF,EAAIwpF,aAAa,CAACppF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAIqrB,SAAWrrB,EAAIupF,YAAa,CAAC7zF,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,+BAA+B,CAACE,MAAM,CAAC,WAAaN,EAAIvJ,QAAQgP,MAAM,MAAM,MAAM,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,gCAAgC,GAAGL,EAAG,cAAc,CAAsC,IAApCJ,EAAI+iF,qBAAqBhwF,OAAcqN,EAAG,cAAc,CAACA,EAAG,MAAM,CAACE,MAAM,CAAC,MAAQ,WAAW,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsBT,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAwB,sBAAE,SAAS4hF,EAAoBjnF,GAAO,OAAOyF,EAAG,cAAc,CAAC1K,IAAIksF,EAAoBnrF,IAAI,CAAC2J,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,0BAA0B,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQshF,EAAoB8L,cAAc,GAAGttF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,uCAAuC,MAAQmhF,EAAoB6N,wBAAwB,GAAGrvF,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,KAAK,MAAQN,EAAIS,GAAG,SAAS,MAAQmhF,EAAoBzwB,UAAU,GAAG/wD,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,sBAAsB,SAAWshF,EAAoBnrF,OAAO,IAAI,GAAIkE,IAAUqF,EAAI+0B,KAAM30B,EAAG,YAAY,CAACmB,YAAY,SAASvB,EAAI6C,MAAM,OAAM,IAAI,IACz+C,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,+BAA+BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,cAAc/T,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,kBAAkB,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAI0tF,UAAUxsF,GAAKG,WAAW,gBAAgB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uCAAuC,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAuB,oBAAEiB,SAAS,SAAUC,GAAMlB,EAAIyvF,oBAAoC,kBAARvuF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,SAAS,KAAO,IAAI,YAAY,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAImxD,MAAsB,kBAARjwD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,YAAY,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,0BAA0B,IAAI,IAAI,IACvgD,GAAkB,GCqDP,UAAIoB,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAEdhN,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MAER+1F,UAAW,OAASjuE,SACpBgwE,oBAAqB,GACrBt+B,MAAO,GACPz3D,MAAO,OAGXuI,QAAS,CAKP4D,MALO,aAML5F,KAAKytF,UAAY,OAASjuE,SAC1Bxf,KAAKwvF,oBAAsB,GAC3BxvF,KAAKkxD,MAAQ,IAOTrrD,KAfC,a,4KAgBL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KACjC,gCACA,CACErhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,WACjBu5E,UAAWztF,KAAKytF,UAChB+B,oBAAqBxvF,KAAKwvF,oBAC1Bt+B,MAAOlxD,KAAKkxD,S,OAPZj0D,E,OAWA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAASuoF,qBAAqB,GACxD3hF,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,oCACRK,MAAOsF,KAAKkU,WACZ/e,MAAOpC,OAAO8D,KAAKuC,EAASuoF,uBAI7B3hF,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAG/C5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV23E,yBCtHkc,MCOlc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACjpF,QAAA,KAAKE,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OCqCpC,cAAIjS,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJgqF,YAAarhF,SAGfE,QANwB,aAOlBnI,KAAKxJ,IACPwJ,KAAKoI,aAITvG,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CACxB,kCACA,qBACA,oBACA,CAEF/B,SAFE,aAGA,OAAOE,KAAKm8E,eAAen8E,KAAKxJ,KAGlCssF,qBANE,aAOA,OAAO9iF,KAAKiiF,gCAAgCjiF,KAAKxJ,KAEnDs+B,KATE,aAUA,OACE/hC,OAAO8D,KAAKmJ,KAAKiiF,gCAAgCjiF,KAAKxJ,KAAK1D,OAAS,GASxEy2F,WApBE,aAqBA,OAAOvpF,KAAKwmF,mBAAmBxmF,KAAKxJ,KAMtC40B,OA3BE,aA4BA,OACGprB,KAAKupF,YACNvpF,KAAKsD,cACH,iCACA,WACAtD,KAAKF,SAASggD,sBAMtBh+C,MAAO,CACLtL,GADK,WACFwV,GACGhM,KAAKxJ,IACPwJ,KAAKoI,cAKXpG,QAAS,CACPoG,UADO,aAELpI,KAAK2I,OAAOlQ,SAAS,qCAAsC,CACzDyb,WAAYlU,KAAKxJ,OAIvBsd,WAAY,CACV27E,mCCxI8b,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAACrtF,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKC,cAAA,KAAWqC,YAAA,KAASpC,QAAA,KAAKsC,YAAA,KAASC,cAAA,UC9BrF,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIupF,aAAevpF,EAAIwpF,WAAW,KAAOxpF,EAAIupF,aAAevpF,EAAIwpF,aAAa,CAACppF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAIqrB,SAAWrrB,EAAIupF,YAAa,CAAC7zF,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,iCAAiC,CAACE,MAAM,CAAC,WAAaN,EAAIvJ,QAAQgP,MAAM,MAAM,MAAM,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,GAAGL,EAAG,cAAc,CAACA,EAAG,iBAAiB,CAACkF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,WAAW,MAAO,CAACpF,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,KAAK,CAACmB,YAAY,YAAY,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,OAAOL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kDAAkDL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,gDAAgDL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,QAAQ,CAAwC,IAAtCJ,EAAI2vF,uBAAuB58F,OAAcqN,EAAG,KAAK,CAACA,EAAG,KAAK,CAACoE,YAAY,CAAC,aAAa,UAAUlE,MAAM,CAAC,QAAU,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,SAAST,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAA0B,wBAAE,SAASsiF,GAAW,OAAOliF,EAAG,KAAK,CAAC1K,IAAI4sF,EAAU7rF,IAAI,CAAC2J,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQgiF,EAAUoL,cAAc,GAAGttF,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI4kE,aAAa0d,EAAUviC,uBAAuB3/C,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIquF,aAAa/L,EAAUr0E,sBAAsBhD,KAAK,OAAO,OAAO7K,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI4vF,oBAAoBtN,EAAUuN,oBAAoB5kF,KAAK,OAAO,OAAO7K,EAAG,KAAK,CAACA,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2CAA2C,CAACL,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQgiF,EAAUoL,cAAc,GAAGttF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAI8vF,kBAAkBxN,EAAUyN,cAAmC,MAApBzN,EAAUyL,OAAgB3tF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ6hF,EAAUyL,UAAU/tF,EAAI6C,KAAqC,MAA/By/E,EAAUviC,kBAA2B3/C,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAI4kE,aAAa0d,EAAUviC,sBAAsB//C,EAAI6C,MAAM,GAC5yEy/E,EAAUr0E,sBACVq0E,EAAU6L,SACV7L,EAAUp0E,mBACVo0E,EAAU8L,eACV9L,EAAU5zE,uBACV4zE,EAAUyN,UACV3vF,EAAG,aAAaJ,EAAI6C,KAA6B,MAAvBy/E,EAAUyN,UAAmB3vF,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,qDAAqD,MAAQT,EAAIgwF,uBAC7L1N,EAAU2N,wBACV3N,EAAU4N,yBACP9vF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,gDAAgD,MAAQT,EAAIgwF,uBAC5H1N,EAAU6N,WACV7N,EAAU8N,uBACPhwF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,2CAA2C,MAAQT,EAAIgwF,uBACvH1N,EAAU+N,0BACV/N,EAAUgO,gBACPlwF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,wCAAwC,MAAQT,EAAIgwF,uBACpH1N,EAAUiO,oBACVjO,EAAUkO,0BACPpwF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,gDAAgD,MAAQT,EAAIgwF,uBAC5H1N,EAAUmO,iCACV,OACGrwF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,oDAAoD,MAAQT,EAAIgwF,uBAChI1N,EAAUoO,mCACPtwF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,6CAA6C,MAAQT,EAAIgwF,uBACzH1N,EAAUqO,qBACV,OACGvwF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,wCAAwC,MAAQT,EAAIgwF,uBAAuB1N,EAAUsO,gBAAiB,OAAOxwF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,gDAAgD,MAAQT,EAAIgwF,uBACtS1N,EAAUuO,wBACV,OACGzwF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,qDAAqD,MAAQT,EAAIgwF,uBACjI1N,EAAUwO,8BACVxO,EAAUyO,6BACP3wF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,+CAA+C,MAAQT,EAAIgwF,uBAC3H1N,EAAU5zE,sBAAsB3b,OAAS,EACzCiN,EAAIwuF,uBACFlM,EAAU5zE,2BAETtO,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,8CAA8C,MAAQT,EAAIgwF,uBAC1H1N,EAAUr0E,qBAAqBlb,OAAS,EACxCiN,EAAIquF,aAAa/L,EAAUr0E,0BACxB7N,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,4CAA4C,MAAQT,EAAIgwF,uBACxH1N,EAAUuN,mBAAmB98F,OAAS,EACtCiN,EAAI4vF,oBAAoBtN,EAAUuN,wBAC/BzvF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,mDAAmD,MAAQT,EAAIgwF,uBACzF,KAAtC1N,EAAU0O,wBACV1O,EAAU0O,4BACP5wF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,4CAA4C,MAAQT,EAAIgwF,uBACxH1N,EAAU2O,eACV3O,EAAU4O,gBACP9wF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,2CAA2C,MAAQT,EAAIgwF,uBACvH1N,EAAU6O,mBACV7O,EAAU8O,qBACN,GAAGpxF,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,wBAAwB,SAAWgiF,EAAU7rF,OAAO,IAAI,IAAI,IAAI,SAAQ,KAAKgP,MAAM,WAAW,IAAI,IACpP,GAAkB,GCtDlB,GAAS,WAAa,IAAIzF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,8BAA8BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,eAAe,IAAI,GAAG/T,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAI0tF,UAAUxsF,GAAKG,WAAW,gBAAgB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,wBAAwB,GAAG,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAI+/C,kBAAkB7+C,GAAKG,WAAW,wBAAwB,IAAI,GAAGjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0CAA0C,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACmB,YAAY,WAAWjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAA2B,wBAAEiB,SAAS,SAAUC,GAAMlB,EAAIiwF,wBAAwB/uF,GAAKG,WAAW,4BAA4B,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQ,QAAQL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,MAAQ,UAAU,IAAI,IAAI,GAAGL,EAAG,QAAQ,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAO4K,EAA2B,wBAAEqB,WAAW,6BAA6B,CAACjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACmB,YAAY,eAAejB,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoCO,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAIkwF,qBAAqC,kBAARhvF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,2BAA2B,IAAI,IAAI,GAAGjB,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,wCAAwC,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACmB,YAAY,WAAWjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAImwF,WAAWjvF,GAAKG,WAAW,eAAe,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQ,QAAQL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,MAAQ,UAAU,IAAI,IAAI,GAAGL,EAAG,QAAQ,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAO4K,EAAc,WAAEqB,WAAW,gBAAgB,CAACjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACmB,YAAY,eAAejB,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoCO,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAIowF,mBAAmC,kBAARlvF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,yBAAyB,IAAI,IAAI,GAAGjB,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mCAAmC,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACmB,YAAY,WAAWjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAA6B,0BAAEiB,SAAS,SAAUC,GAAMlB,EAAIqwF,0BAA0BnvF,GAAKG,WAAW,8BAA8B,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQ,QAAQL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,MAAQ,UAAU,IAAI,IAAI,GAAGL,EAAG,QAAQ,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAO4K,EAA6B,0BAAEqB,WAAW,+BAA+B,CAACjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACmB,YAAY,eAAejB,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6BO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIswF,YAA4B,kBAARpvF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,kBAAkB,IAAI,IAAI,GAAGjB,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yCAAyC,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACmB,YAAY,WAAWjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAuB,oBAAEiB,SAAS,SAAUC,GAAMlB,EAAIuwF,oBAAoBrvF,GAAKG,WAAW,wBAAwB,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQ,QAAQL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,MAAQ,UAAU,IAAI,IAAI,GAAGL,EAAG,QAAQ,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAO4K,EAAuB,oBAAEqB,WAAW,yBAAyB,CAACjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACmB,YAAY,eAAejB,MAAM,CAAC,MAAQN,EAAIS,GAAG,kCAAkCO,MAAM,CAAC5L,MAAO4K,EAAyB,sBAAEiB,SAAS,SAAUC,GAAMlB,EAAIwwF,sBAAsC,kBAARtvF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,4BAA4B,IAAI,IAAI,GAAGjB,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oCAAoC,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACmB,YAAY,WAAWjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAoC,iCAAEiB,SAAS,SAAUC,GAAMlB,EAAIywF,iCAAiCvvF,GAAKG,WAAW,qCAAqC,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQ,QAAQL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,MAAQ,UAAU,IAAI,IAAI,IAAI,GAAGL,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uCAAuC,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACmB,YAAY,WAAWjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAkC,+BAAEiB,SAAS,SAAUC,GAAMlB,EAAI0wF,+BAA+BxvF,GAAKG,WAAW,mCAAmC,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQ,QAAQL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,MAAQ,UAAU,IAAI,IAAI,IAAI,GAAGL,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uCAAuC,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACmB,YAAY,WAAWjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAI2wF,qBAAqBzvF,GAAKG,WAAW,yBAAyB,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQ,QAAQL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,MAAQ,UAAU,IAAI,IAAI,IAAI,GAAGL,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kCAAkC,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACmB,YAAY,WAAWjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAI4wF,gBAAgB1vF,GAAKG,WAAW,oBAAoB,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQ,QAAQL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,MAAQ,UAAU,IAAI,IAAI,IAAI,GAAGL,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0CAA0C,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACmB,YAAY,WAAWjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAA2B,wBAAEiB,SAAS,SAAUC,GAAMlB,EAAI6wF,wBAAwB3vF,GAAKG,WAAW,4BAA4B,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQ,QAAQL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,MAAQ,UAAU,IAAI,IAAI,IAAI,GAAGL,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,8CAA8C,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACmB,YAAY,WAAWjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAiC,8BAAEiB,SAAS,SAAUC,GAAMlB,EAAI8wF,8BAA8B5vF,GAAKG,WAAW,kCAAkC,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQ,QAAQL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,MAAQ,UAAU,IAAI,IAAI,GAAGL,EAAG,QAAQ,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAO4K,EAAiC,8BAAEqB,WAAW,mCAAmC,CAACjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACmB,YAAY,eAAejB,MAAM,CAAC,MAAQN,EAAIS,GAAG,0CAA0CO,MAAM,CAAC5L,MAAO4K,EAA4B,yBAAEiB,SAAS,SAAUC,GAAMlB,EAAI+wF,yBAAyC,kBAAR7vF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,+BAA+B,IAAI,IAAI,GAAGjB,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sCAAsC,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACmB,YAAY,WAAWjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIixF,eAAe/vF,GAAKG,WAAW,mBAAmB,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQ,QAAQL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,MAAQ,UAAU,IAAI,IAAI,GAAGL,EAAG,QAAQ,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAO4K,EAAkB,eAAEqB,WAAW,oBAAoB,CAACjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACmB,YAAY,eAAejB,MAAM,CAAC,MAAQN,EAAIS,GAAG,+BAA+BO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAIkxF,YAA4B,kBAARhwF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,kBAAkB,IAAI,IAAI,GAAGjB,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qCAAqC,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACmB,YAAY,WAAWjB,MAAM,CAAC,IAAM,IAAIU,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAImxF,mBAAmBjwF,GAAKG,WAAW,uBAAuB,CAACjB,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQ,QAAQL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,MAAQ,UAAU,IAAI,IAAI,GAAGL,EAAG,QAAQ,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAO4K,EAAsB,mBAAEqB,WAAW,wBAAwB,CAACjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACmB,YAAY,eAAejB,MAAM,CAAC,MAAQN,EAAIS,GAAG,gCAAgCO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIoxF,gBAAgC,kBAARlwF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,sBAAsB,IAAI,IAAI,KAAKjB,EAAG,cAAc,GAAGA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACoE,YAAY,CAAC,kBAAkB,gBAAgBlE,MAAM,CAAC,MAAQ,WAAWN,EAAI0F,GAAI1F,EAA0B,wBAAE,SAASwnF,GAAuB,OAAOpnF,EAAG,aAAa,CAAC1K,IAAI8xF,EAAsB/wF,GAAG6J,MAAM,CAAC,MAAQN,EAAIwhB,eAAegmE,EAAsB7yF,MAAM,MAAQ6yF,EAAsB/wF,IAAIuK,MAAM,CAAC5L,MAAO4K,EAAyB,sBAAEiB,SAAS,SAAUC,GAAMlB,EAAI0O,sBAAsBxN,GAAKG,WAAW,8BAA6B,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACA,EAAG,cAAc,GAAGA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACmB,YAAY,QAAQjB,MAAM,CAAC,MAAQN,EAAIwjF,mBAAmB,YAAY,SAAU9uF,GAAK,OAAOsL,EAAIwhB,eAAe9sB,EAAEC,OAAS,aAAa,KAAK,MAAQqL,EAAIS,GAAG,wCAAwC,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAIiO,qBAAqB/M,GAAKG,WAAW,2BAA2B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACmB,YAAY,QAAQjB,MAAM,CAAC,MAAQN,EAAIqxF,qBAAqB,YAAY,SAAU38F,GAAK,OAAOsL,EAAIwhB,eAAe9sB,EAAEC,OAAS,aAAa,KAAK,MAAQqL,EAAIS,GAAG,iCAAiC,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAI6vF,mBAAmB3uF,GAAKG,WAAW,yBAAyB,IAAI,GAAGjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACmB,YAAY,eAAejB,MAAM,CAAC,MAAQN,EAAIS,GAAG,wCAAwCO,MAAM,CAAC5L,MAAO4K,EAA2B,wBAAEiB,SAAS,SAAUC,GAAMlB,EAAIgxF,wBAAwC,kBAAR9vF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,8BAA8B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,4BAA4B,IAAI,IAAI,IACh+X,GAAkB,GCwWP,UAAIoB,OAAO,CACxBsG,MAAO,CAAC,QAAS,cACjBzV,KAFwB,aAGtB,MAAO,CACLm7F,UAAW,OAASjuE,SACpBsgC,kBAAmB,EACnBkwC,wBAAyB,KACzBC,qBAAsB,GACtBC,WAAY,KACZC,mBAAoB,GACpBC,0BAA2B,KAC3BC,YAAa,GACbC,oBAAqB,KACrBC,sBAAuB,GACvBM,8BAA+B,KAC/BC,yBAA0B,GAC1BN,iCAAkC,KAClCC,+BAAgC,KAChCC,qBAAsB,KACtBC,gBAAiB,KACjBC,wBAAyB,KACzB5iF,qBAAsB,GACtB4hF,mBAAoB,GACpBnhF,sBAAuB,GACvBsiF,wBAAyB,GACzBC,eAAgB,KAChBC,YAAa,GACbC,mBAAoB,KACpBC,gBAAiB,GACjB13F,MAAO,KACP/B,OAAQ,QAGZoK,MAAO,CACL3M,MADK,WACC6W,GACAA,GACFhM,KAAK4F,UAIX/D,SAAU,OAAF,kEACH,eAAS,WAAY,CACtB,qBACA,mBACA,4BAEC,eAAW,WAAY,CAAC,oBACxB,eAAW,WAAY,CAAC,oBACxB,eAAS,WAAY,CAAC,YAAU,CACnC/B,SADmC,aAEjC,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAAe,MAEjDk9E,qBAJmC,aAKjC,OAAO,IAAE7zD,QAAQv9B,KAAKsjF,iBAAkB,CAAC,QAAUtjF,KAAK1D,QAAS,CAAC,WAGtE0F,QAAS,CACD6D,KADC,a,4KAEL7F,KAAKqxF,2BACLrxF,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KACjC,kCACA,CACErhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,WACjBu5E,UAAWztF,KAAKytF,UAChB3tC,kBAAmB9/C,KAAK8/C,kBACxBkwC,wBAAyBhwF,KAAKgwF,wBAC9BC,qBAAsBjwF,KAAKiwF,qBAC3BC,WAAYlwF,KAAKkwF,WACjBC,mBAAoBnwF,KAAKmwF,mBACzBC,0BAA2BpwF,KAAKowF,0BAChCC,YAAarwF,KAAKqwF,YAClBC,oBAAqBtwF,KAAKswF,oBAC1BC,sBAAuBvwF,KAAKuwF,sBAC5BM,8BAA+B7wF,KAAK6wF,8BACpCC,yBAA0B9wF,KAAK8wF,yBAC/BN,iCACExwF,KAAKwwF,iCACPC,+BACEzwF,KAAKywF,+BACPC,qBAAsB1wF,KAAK0wF,qBAC3BC,gBAAiB3wF,KAAK2wF,gBACtBC,wBAAyB5wF,KAAK4wF,wBAC9B5iF,qBAAsBhO,KAAKgO,qBAC3B4hF,mBAAoB5vF,KAAK4vF,mBACzBnhF,sBAAuBzO,KAAKyO,sBAC5BsiF,wBAAyB/wF,KAAK+wF,wBAC9BC,eAAgBhxF,KAAKgxF,eACrBC,YAAajxF,KAAKixF,YAClBC,mBAAoBlxF,KAAKkxF,mBACzBC,gBAAiBnxF,KAAKmxF,mB,OA/BtBl0F,E,OAmCA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAASyoF,uBAAuB,GAE1D7hF,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,sCACRK,MAAOsF,KAAKkU,WACZ/e,MAAOpC,OAAO8D,KAAKuC,EAASyoF,yBAI7B7hF,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAE/C5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,2DAGJmM,MA3DO,aA4DL5F,KAAKytF,UAAY,OAASjuE,SAC1Bxf,KAAKgwF,wBAA0B,KAC/BhwF,KAAKiwF,qBAAuB,GAC5BjwF,KAAKkwF,WAAa,KAClBlwF,KAAKmwF,mBAAqB,GAC1BnwF,KAAKowF,0BAA4B,KACjCpwF,KAAKqwF,YAAc,GACnBrwF,KAAKswF,oBAAsB,KAC3BtwF,KAAKuwF,sBAAwB,GAC7BvwF,KAAK6wF,8BAAgC,KACrC7wF,KAAK8wF,yBAA2B,GAChC9wF,KAAKwwF,iCAAmC,KACxCxwF,KAAKywF,+BAAiC,KACtCzwF,KAAK0wF,qBAAuB,KAC5B1wF,KAAK2wF,gBAAkB,KACvB3wF,KAAK4wF,wBAA0B,KAC/B5wF,KAAK4vF,mBAAqB,GAC1B5vF,KAAKyO,sBAAwB,GAC7BzO,KAAKgxF,eAAiB,KACtBhxF,KAAKixF,YAAc,GACnBjxF,KAAKkxF,mBAAqB,KAC1BlxF,KAAKmxF,gBAAkB,GACvBnxF,KAAK+wF,wBAA0B,GAC/B,GAAI/wF,KAAKF,SAAU,CACjBE,KAAK8/C,kBAAoB9/C,KAAKF,SAASggD,kBAInC9/C,KAAKF,SAASkO,uBAChBhO,KAAKgO,qBAAL,eAAgChO,KAAKF,SAASkO,uBAE5ChO,KAAKF,SAAS2O,wBAChBzO,KAAKyO,sBAAL,eAAiCzO,KAAKF,SAAS2O,0BAIrD4iF,yBAhGO,aAiGArxF,KAAKgwF,0BACRhwF,KAAKiwF,qBAAuB,IAGzBjwF,KAAKkwF,aACRlwF,KAAKmwF,mBAAqB,IAGvBnwF,KAAKowF,4BACRpwF,KAAKqwF,YAAc,IAGhBrwF,KAAKswF,sBACRtwF,KAAKuwF,sBAAwB,IAG1BvwF,KAAK6wF,gCACR7wF,KAAK8wF,yBAA2B,IAG7B9wF,KAAKgxF,iBACRhxF,KAAKixF,YAAc,IAGhBjxF,KAAKkxF,qBACRlxF,KAAKmxF,gBAAkB,MAI7Br9E,WAAY,CACVqxB,oBACAsmD,yBCjiBoc,MCOpc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAACh4E,aAAA,KAAUjR,QAAA,KAAKsC,YAAA,KAASkT,UAAA,KAAOC,eAAA,KAAYvV,QAAA,KAAKujB,WAAA,KAAQtjB,cAAA,OCkSvE,cAAIlB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJgqF,YAAarhF,SAGf3V,KANwB,aAOtB,MAAO,CACL+8F,OAAQ,QAIZlnF,QAZwB,aAatBnI,KAAKoI,aAGPvG,SAAU,OAAF,gFACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CACxB,oCACA,qBACA,oBAEC,eAAW,WAAY,CAAC,2BACxB,eAAW,UAAW,CAAC,kBACvB,eAAS,WAAY,CACtB,qBACA,mBACA,4BACA,CACF6tF,uBADE,aAEA,OAAO1vF,KAAKgiF,kCAAkChiF,KAAKxJ,KAGrDsJ,SALE,aAMA,OAAOE,KAAKm8E,eAAen8E,KAAKxJ,KAQlC+yF,WAdE,aAeA,OAAOvpF,KAAKwmF,mBAAmBxmF,KAAKxJ,KAMtC40B,OArBE,aAsBA,OACGprB,KAAKupF,YACNvpF,KAAKsD,cACH,+CACA,WACAtD,KAAKF,SAASggD,sBAMtBh+C,MAAO,CACLtL,GADK,WACF0gB,GACDlX,KAAKoI,cAITpG,QAAS,CACPoG,UADO,aAELpI,KAAK2I,OAAOlQ,SAAS,uCAAwC,CAC3Dyb,WAAYlU,KAAKxJ,MAGrBq5F,kBANO,WAMW7jF,GAChB,GAAIA,EACF,OAAOhM,KAAKiZ,MAAM7jB,EAAE,2BAA6B4W,GAEnD,OAAOhM,KAAKiZ,MAAM7jB,EAAE,+BAEtB26F,uBAZO,WAYgBuB,EAAuB75F,GAC5C,OAAI65F,EACE75F,EACEyB,MAAMC,QAAQ1B,GACTuI,KAAKiZ,MAAM7jB,EAAE,eAAiB,MAAQqC,EAAQuT,KAAK,MAEnDhL,KAAKiZ,MAAM7jB,EAAE,eAAb,aAAoCqC,GAGtCuI,KAAKiZ,MAAM7jB,EAAE,eAGf4K,KAAKiZ,MAAM7jB,EAAE,eAGxBg5F,aA3BO,WA2BMpiF,GAAa,WACxB,OAAO,IAAE3V,IAAI2V,GAAK,SAACxV,GAAD,OAChB,EAAK8lB,sBAAsB9lB,EAAI,EAAK+sF,wBAGxCoM,oBAhCO,WAgCa3jF,GAAa,WAC/B,OAAO,IAAE3V,IAAI2V,GAAK,SAACxV,GAAD,OAChB,EAAK8lB,sBAAsB9lB,EAAI,EAAK8sF,sBAGxCiL,uBArCO,WAqCgBviF,GAAa,WAClC,OAAO,IAAE3V,IAAI2V,GAAK,SAACxV,GAAD,OAChB,EAAK8lB,sBAAsB9lB,EAAI,EAAKmtF,6BAI1C7vE,WAAY,CACVy9E,qCChbgc,MCOhc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAACnvF,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKsC,YAAA,KAASpC,QAAA,KAAKusC,gBAAA,KAAajqC,YAAA,KAASC,cAAA,UC9BvF,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIupF,aAAevpF,EAAIwpF,WAAW,KAAOxpF,EAAIupF,aAAevpF,EAAIwpF,aAAa,CAACppF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAIqrB,SAAWrrB,EAAIupF,YAAa,CAAC7zF,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAIvJ,IAAIuK,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIsvF,OAAOpuF,GAAKG,WAAW,cAAcoE,MAAM,MAAM,MAAM,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iCAAiC,GAAGL,EAAG,cAAc,CAACA,EAAG,iBAAiB,CAACkF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,WAAW,MAAO,CAACpF,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,OAAOL,EAAG,KAAK,CAACmB,YAAY,YAAY,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,OAAOL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8BL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kCAAkCL,EAAG,UAAUA,EAAG,QAAQ,CAA4B,IAA1BJ,EAAI6iF,WAAW9vF,OAAcqN,EAAG,KAAK,CAACA,EAAG,KAAK,CAACoE,YAAY,CAAC,aAAa,UAAUlE,MAAM,CAAC,QAAU,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,SAAST,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAc,YAAE,SAAS0hF,GAAW,OAAOthF,EAAG,KAAK,CAAC1K,IAAIgsF,EAAUjrF,IAAI,CAAC2J,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQohF,EAAUgM,cAAc,GAAGttF,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI4kE,aAAa8c,EAAU3hC,uBAAuB3/C,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBmlE,EAAU+P,gBAAiB,4BAA6B,OAAOrxF,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGkhF,EAAUgQ,yBAAyBtxF,EAAG,KAAK,CAACA,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gCAAgC,CAACL,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,4BAA4B,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQohF,EAAUgM,cAAc,GAAGttF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,4BAA4B,MAAQT,EAAI4kE,aAAa8c,EAAU3hC,sBAAsB3/C,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAIuc,sBAC9hEmlE,EAAU+P,gBACV,8BACGrxF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,oCAAoC,MAAQihF,EAAUiQ,kBAAkBvxF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,8BAA8B,MAAQihF,EAAUgQ,wBAAwBtxF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,6BAA6B,MAAQihF,EAAU70B,YAAY,GAAGzsD,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,YAAY,SAAWohF,EAAUjrF,OAAO,IAAI,IAAI,IAAI,SAAQ,KAAKgP,MAAM,WAAW,IAAI,IAChmB,GAAkB,GCJlB,GAAS,WAAa,IAAIzF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,kCAAkC,YAAY,QAAQE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,eAAe,GAAG/T,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,kBAAkB,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAI0tF,UAAUxsF,GAAKG,WAAW,gBAAgB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAI+/C,kBAAkB7+C,GAAKG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAI2xF,eAA+B,kBAARzwF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,qBAAqB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,MAAQ,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIyxF,gBAAgBvwF,GAAKG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAI0xF,qBAAqC,kBAARxwF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,2BAA2B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAA8BO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAI6sD,QAAwB,kBAAR3rD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,gBAAgB,IAAI,IAAI,IACz1E,GAAkB,GCkFP,UAAIoB,OAAO,CACxBsG,MAAO,CAAEmM,WAAY5U,QACrBhN,KAFwB,aAGtB,MAAO,CACLwtD,kBAAmB,EACnB2tC,UAAW,OAASjuE,SACpBgyE,gBAAiBlQ,GAAcqQ,WAC/BD,eAAgB,GAChBD,qBAAsB,GACtB7kC,QAAS,GACTl1D,OAAQ,MACR+B,MAAO,OAGXoI,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,oBAAkB,CAC7C/B,SAD6C,aAE3C,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAAe,QAGnDlS,QAAS,CAKD6D,KALC,a,4KAML7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,oBAAqB,CAC3DrhB,KAAM,CACJwtD,kBAAmB9/C,KAAK8/C,kBACxB5rC,WAAYlU,KAAKkU,WACjBu5E,UAAWztF,KAAKytF,UAChB+D,gBAAiBxxF,KAAKwxF,gBACtBE,eAAgB1xF,KAAK0xF,eACrBD,qBAAsBzxF,KAAKyxF,qBAC3B7kC,QAAS5sD,KAAK4sD,W,OARZ3vD,E,OAWA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAASqoF,WAAW,GAC9CzhF,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,0BACRK,MAAOsF,KAAKkU,WACZ/e,MAAOpC,OAAO8D,KAAKuC,EAASqoF,aAI7BzhF,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAE/C5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,2DAQJmM,MA1CO,aA2CL5F,KAAKytF,UAAY,OAASjuE,SAC1Bxf,KAAK0xF,eAAiB,GACtB1xF,KAAKwxF,gBAAkBlQ,GAAcqQ,WACrC3xF,KAAKyxF,qBAAuB,GAC5BzxF,KAAK4sD,QAAU,GACX5sD,KAAKF,WACPE,KAAK8/C,kBAAoB9/C,KAAKF,SAASggD,qBAI7ChsC,WAAY,CACVqxB,oBACAsmD,yBC9Jwb,MCOxb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACjpF,QAAA,KAAKE,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OC+FpC,cAAIjS,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJgqF,YAAarhF,SAGfE,QANwB,aAOlBnI,KAAKxJ,IACPwJ,KAAKoI,aAIT9V,KAZwB,aAatB,MAAO,CACL+8F,OAAQ,QAIZxtF,SAAU,OAAF,kEACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,UAAW,CAAC,kBACvB,eAAW,WAAY,CACxB,wBACA,qBACA,oBAEC,eAAW,WAAY,CAAC,2BAAyB,CAEpD/B,SAFoD,aAGlD,OAAOE,KAAKm8E,eAAen8E,KAAKxJ,KAGlCosF,WANoD,aAOlD,OAAO5iF,KAAKkiF,sBAAsBliF,KAAKxJ,KAQzC+yF,WAfoD,aAgBlD,OAAOvpF,KAAKwmF,mBAAmBxmF,KAAKxJ,KAMtC40B,OAtBoD,aAuBlD,OACGprB,KAAKupF,YACNvpF,KAAKsD,cACH,mCACA,WACAtD,KAAKF,SAASggD,sBAMtBh+C,MAAO,CACLoS,WADK,WACMlI,GACLhM,KAAKxJ,IACPwJ,KAAKoI,cAKXpG,QAAS,CACPoG,UADO,aAELpI,KAAK2I,OAAOlQ,SAAS,2BAA4B,CAC/Cyb,WAAYlU,KAAKxJ,OAIvBsd,WAAY,CACV89E,yBCrMqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAACxvF,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKE,QAAA,KAAKusC,gBAAA,KAAajqC,YAAA,KAASC,cAAA,UCC/D,cAAIxD,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJgqF,YAAa,CACXtwF,KAAMiP,QACN4W,QAAS,QAGb/K,WAAY,CACV+9E,cACAC,4BACAC,8BACAC,sBC1Cma,MCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACxvF,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,YAAY,CAACmB,YAAY,eAAejB,MAAM,CAAC,MAAQ,YAAY,KAAO,GAAG,KAAO,KAAK,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAaN,EAAImU,cAAc/T,EAAG,uBAAuB,CAACE,MAAM,CAAC,WAAaN,EAAImU,cAAc/T,EAAG,gBAAgB,CAACE,MAAM,CAAC,WAAaN,EAAImU,cAAc/T,EAAG,YAAYJ,EAAI0F,GAAI1F,EAAa,WAAE,SAASoJ,EAAKzO,GAAO,OAAOyF,EAAG,MAAM,CAAC1K,IAAIiF,EAAM4G,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,GAAK,CAAE3L,KAAMyU,EAAK8oF,WAAY,MAAQ,KAAK,CAAC9xF,EAAG,oBAAoB,CAACmB,YAAY,mBAAmB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG2I,EAAK+oF,YAAY,QAAQ,IAAI,MAAK/xF,EAAG,MAAM,CAACmB,YAAY,oBAAoB,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,OAAS,SAAS,GAAK,CAAE3L,KAAM,iBAAkB,MAAQ,KAAK,CAACyL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,eAAe,IAAI,GAAGH,EAAG,SAAS,CAACE,MAAM,CAAC,WAAW,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACv9B,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACrE,YAAY,YAAYjB,MAAM,CAAC,MAAQ,UAAU,MAAQ,KAAKK,GAAI,CAACP,EAAG,SAAS,CAACJ,EAAIO,GAAG,iBAAiB,SAAS,CAACH,EAAG,SAASJ,EAAI0F,GAAI1F,EAAa,WAAE,SAASoJ,EAAKzO,GAAO,OAAOyF,EAAG,cAAc,CAAC1K,IAAIiF,GAAO,CAACyF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,GAAK,CAAE3L,KAAMyU,EAAK8oF,WAAY,MAAQ,KAAK,CAAC9xF,EAAG,oBAAoB,CAACmB,YAAY,mBAAmB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG2I,EAAK+oF,YAAY,QAAQ,IAAI,MAAK,IAAI,IAAI,IACrb,GAAkB,GCHlB,GAAS,WAAa,IAAInyF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAc,WAAEI,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAC/Q,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACrE,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAUK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAAS,SAASpH,GAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACN,EAAIO,GAAG,kBAAkBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,MAAM,OAAO,KAAK,MAAM,YAAYO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,cAAc/T,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAI0pF,YAAYxoF,GAAKG,WAAW,kBAAkB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAI68E,SAAS,MAAQ78E,EAAIS,GAAG,yBAAyB6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACt+B,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA4B2I,IAAO,QAAQ,CAAC1T,IAAI,YAAY8P,GAAG,SAAS9E,GACzG,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA4B2I,IAAO,SAAS,KAAK,MAAM,YAAYpI,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAIoyF,qBAAqBlxF,GAAKG,WAAW,2BAA2B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ,0BAA0B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAI6lF,gBAAgB3kF,GAAKG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,KAAO,KAAKO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAI8lF,eAA+B,kBAAR5kF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,qBAAqB,IAAI,GAAIrB,EAAsB,mBAAEI,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,YAAY,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,MAAML,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIqyF,wBAAwB,IAAI,IAAI,GAAGryF,EAAI6C,MAAM,GAAG7C,EAAI6C,MACjlC,GAAkB,GCmFP,UAAInB,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAGdhN,KALwB,aAMtB,MAAO,CACLoF,OAAQ,MAERklF,SAAUuG,GAEVsG,YAAa,OAASjqE,SACtB2yE,qBAAsB,WACtBvM,gBAAiB,EACjBC,eAAgB,GAChBpsF,MAAO,OAIXoI,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CAAC,iBAAkB,wBAAsB,CAEnE/B,SAFmE,aAGjE,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aASlCm+E,WAZmE,aAajE,IAAKryF,KAAKF,SACR,OAAO,MAGT,GAAIE,KAAKwmF,mBAAmBxmF,KAAKkU,YAC/B,OAAO,MAGT,OAAOlU,KAAKsD,cACV,mBACA,WACAtD,KAAKF,SAASggD,oBAQlBsyC,oBAhCmE,aAiCjE,IAAKpyF,KAAKF,SACR,MAAO,GAGT,OAAOE,KAAKF,SAAS+kE,mBAAqB,IAQ5CytB,mBA7CmE,aA8CjE,IAAKtyF,KAAKoyF,oBAER,OAAO,MAET,OAAOpyF,KAAKypF,YAAczpF,KAAKF,SAAS+kE,qBAI5C7iE,QAAS,CAKP4D,MALO,aAML5F,KAAKypF,YAAc,OAASjqE,SAC5Bxf,KAAKmyF,qBAAuB,WAC5BnyF,KAAK4lF,gBAAkB,EACvB5lF,KAAK6lF,eAAiB,IAQlBhgF,KAjBC,a,0KAkBL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,6BAA8B,CACpErhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,WACjB+7D,QAASjwE,KAAKypF,YACdzZ,cAAehwE,KAAKmyF,qBACpBvM,gBAAiB5lF,KAAK4lF,gBACtBC,eAAgB7lF,KAAK6lF,kB,OANnB5oF,E,OASA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAKNqa,WAAY,CACV23E,yBC7Mia,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAAC/wD,UAAA,KAAOv4B,QAAA,KAAKK,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKujB,WAAA,KAAQvS,aAAA,OC7BlE,IAAI,GAAS,WAAa,IAAI3T,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAkB,eAAEI,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,8BAA8BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,aAAY,WAAW,MAAO,CAAC5F,EAAG,QAAQJ,EAAI4F,GAAG,CAACrE,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,WAAWyF,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,MAAM,MAAK,KAAKsF,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,cAAc/T,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,kBAAkB,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIsG,WAAWpF,GAAKG,WAAW,iBAAiB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAI+/C,kBAAkB7+C,GAAKG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ,0BAA0BO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAImc,OAAOjb,GAAKG,WAAW,aAAa,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIwyF,WAA2B,kBAARtxF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,iBAAiB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,WAAW,KAAO,IAAI,YAAY,GAAG,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAI6qF,QAAwB,kBAAR3pF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,MAAM,CAACoE,YAAY,CAAC,QAAU,SAAS,YAAY,SAAS,CAACxE,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,KAAKL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIqZ,eAAe,CAACjZ,EAAG,SAAS,CAACoE,YAAY,CAAC,aAAa,UAAU,CAACxE,EAAIO,GAAG,iBAAiB,IAAI,GAAGH,EAAG,QAAQJ,EAAI0F,GAAI1F,EAAW,SAAE,SAASyyF,EAAO5/F,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAI7C,EAAEyN,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6BO,MAAM,CAAC5L,MAAO4K,EAAIsZ,QAAQzmB,GAAIoO,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIsZ,QAASzmB,EAAmB,kBAARqO,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,iBAAiB,MAAK,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,eAAe,IAAI,IAAI,GAAGN,EAAI6C,MAC99F,GAAkB,GCuGP,UAAInB,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAEdhN,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MACR2O,WAAY,OAASmZ,SACrBsgC,kBAAmB,EACnB5jC,OAAQqiE,GAAakU,QACrBF,WAAY,GACZ3H,QAAS,GACTvxE,QAAS,GACT5f,MAAO,OAGXoI,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CAAC,iBAAkB,wBAAsB,CAEnE/B,SAFmE,aAGjE,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aASlCw+E,eAZmE,aAajE,GAAI1yF,KAAKwmF,mBAAmBxmF,KAAKkU,YAC/B,OAAO,MAGT,IAAKlU,KAAKF,SACR,OAAO,MAGT,OAAOE,KAAKsD,cACV,2BACA,WACAtD,KAAKF,SAASggD,sBAKpB99C,QAAS,CAKP4D,MALO,aAML,IAAM9F,EAAWE,KAAKm8E,eAAen8E,KAAKkU,YACtCpU,IACFE,KAAK8/C,kBAAoBhgD,EAASggD,mBAGpC9/C,KAAKqG,WAAa,OAASmZ,SAC3Bxf,KAAKkc,OAASqiE,GAAakU,QAC3BzyF,KAAKuyF,WAAa,GAClBvyF,KAAK4qF,QAAU,GACf5qF,KAAKqZ,QAAU,IAOXxT,KAtBC,a,4KAuBL7F,KAAKvG,MAAQ,K,kBAIM,OAAM,GAAYka,KAAK,4BAA6B,CACnErhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,WACjB4rC,kBAAmB9/C,KAAK8/C,kBACxBz5C,WAAYrG,KAAKqG,WACjB6V,OAAQlc,KAAKkc,OACb7C,QAAS,IAAE4B,QAAQjb,KAAKqZ,SACxBuxE,QAAS5qF,KAAK4qF,QACd2H,WAAYvyF,KAAKuyF,c,OARft1F,E,OAWA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAASolF,UAAU,GAC7Cx+E,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,yBACRK,MAAOsF,KAAKkU,WACZ/e,MAAOpC,OAAO8D,KAAKuC,EAASolF,YAI7Bx+E,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAG/C5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,2DAIJ2f,UAzDO,aA0DLpZ,KAAKqZ,QAAQjmB,KAAK,MAGtB0gB,WAAY,CACVqxB,oBACAsmD,yBCtN0b,MCO1b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACtpF,QAAA,KAAKK,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKC,cAAA,KAAW+Q,aAAA,OC2B/C,cAAIjS,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAEduC,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CAAC,qBAAsB,oBAAkB,CAEnE/B,SAFmE,aAGjE,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAGlCy+E,eANmE,aAQjE,GACE3yF,KAAKsD,cACH,wBACA,WACAtD,KAAKF,SAASggD,mBAGhB,OAAO,KAIT,GACE9/C,KAAKsD,cACH,8BACA,WACAtD,KAAKF,SAASggD,oBAEhB9/C,KAAKsD,cACH,mCACA,WACAtD,KAAKF,SAASggD,oBAEhB9/C,KAAKsD,cACH,+CACA,WACAtD,KAAKF,SAASggD,oBAEhB9/C,KAAKsD,cACH,iCACA,WACAtD,KAAKF,SAASggD,mBAGhB,OAAO,KAGT,OAAO,OAGT2c,UA/CmE,aAgDjE,IAAM6S,EAAwD,GAC9DA,EAAKl8E,KACH,CACE6+F,UAAW,kBACXC,UAAW,mBAEb,CACED,UAAW,kBACXC,UAAW,oBAEb,CACED,UAAW,mBACXC,UAAW,qBAEb,CACED,UAAW,mBACXC,UAAW,mBAIXlyF,KAAK2yF,gBACPrjB,EAAKl8E,KAAK,CACR6+F,UAAW,kBACXC,UAAW,oBAIf,OAAO5iB,KAGXx7D,WAAY,CACV8+E,iBACAC,wBACAzF,sBC9Isa,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAACjrF,QAAA,KAAKsS,SAAA,KAAMoM,MAAA,QAAMF,aAAA,KAAUI,eAAAF,GAAA,KAAeg6C,SAAA,KAAM91D,WAAA,KAAQC,YAAA,OC9BtF,IAAI,GAAS,WAAa,IAAIjF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAKN,EAAID,SAASgK,UAAU,cAAc/J,EAAIupF,YAAY,KAAOvpF,EAAIupF,aAAevpF,EAAIwpF,WAAW,KAAOxpF,EAAIupF,aAAevpF,EAAIwpF,eAAe,GAAGppF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,WAAW,UAAYnU,EAAID,SAASgK,UAAU,cAAc/J,EAAIupF,YAAY,KAAOvpF,EAAIupF,aAAevpF,EAAIwpF,WAAW,KAAOxpF,EAAIupF,aAAevpF,EAAIwpF,eAAe,GAAGppF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIupF,aAAevpF,EAAIwpF,WAAW,KAAOxpF,EAAIupF,aAAevpF,EAAIwpF,aAAa,CAACppF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,OAAOL,EAAG,YAAaJ,EAAiB,cAAEI,EAAG,iCAAiC,CAACE,MAAM,CAAC,WAAaN,EAAImU,cAAcnU,EAAI6C,MAAM,GAAGzC,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,4BAA4B,CAACT,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA6BT,EAAID,SAAS+nF,gBAAgB,KAAM9nF,EAAID,SAA4B,oBAAEK,EAAG,OAAO,CAACJ,EAAIO,GAAG,MAAMP,EAAIQ,GAAGR,EAAID,SAAS6lF,qBAAqB,SAAS5lF,EAAI6C,OAAOzC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,iCAAiC,MAAQT,EAAIJ,QAAQmO,iBAAiB,eAAe,6BAAiE,GAAnC/N,EAAIJ,QAAQoO,oBAA0B5N,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,oCAAoC,MAAQT,EAAIJ,QAAQoO,oBAAoB,eAAe,iCAAiChO,EAAI6C,KAAKzC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,kCAAkC,MAAQT,EAAIJ,QAAQsO,kBAAkB,eAAe,8BAA8B9N,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,mCAAmC,MAAQT,EAAIJ,QAAQqO,qBAAqB,eAAe,iCAAiC7N,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,sCAAsC,MAAQT,EAAIJ,QAAQ8O,sBAAsB,eAAe,qCAAqCtO,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,6BAA6B,MAAQT,EAAID,SAAS4lF,aAAa,eAAe,yBAAyBvlF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIuc,sBAAsBvc,EAAIsmF,iBAAkB,kBAAkB,MAAQtmF,EAAID,SAAS0lF,QAAQ3qF,SAASkF,EAAIsmF,qBAAqBlmF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIuc,sBAAsBvc,EAAIqmF,sBAAuB,kBAAkB,MAAQrmF,EAAID,SAAS0lF,QAAQ3qF,SAASkF,EAAIqmF,0BAA0BjmF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIuc,sBAAsBvc,EAAIumF,oBAAqB,kBAAkB,MAAQvmF,EAAID,SAAS0lF,QAAQ3qF,SAASkF,EAAIumF,yBAAyB,IAAI,IAAI,IAAI,GAAGnmF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,YAAcN,EAAIupF,YAAY,WAAavpF,EAAImU,eAAe,GAAG/T,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,YAAcN,EAAIupF,YAAY,WAAavpF,EAAImU,eAAe,IAAI,IAC/rG,GAAkB,GCDlB,GAAS,WAAa,IAAInU,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIupF,aAAevpF,EAAIwpF,WAAW,KAAOxpF,EAAIupF,aAAevpF,EAAIwpF,aAAa,CAACppF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAIqrB,SAAWrrB,EAAIupF,YAAa,CAAC7zF,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,oBAAoB,CAACE,MAAM,CAAC,WAAaN,EAAImU,gBAAgB1O,MAAM,MAAM,MAAM,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,GAAGL,EAAG,cAAc,CAACA,EAAG,iBAAiB,CAACkF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,WAAW,MAAO,CAACpF,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0BL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6BL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,gCAAgCL,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqBL,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuBL,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2BL,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2BL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,eAAeL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,QAAQ,CAAyB,IAAvBJ,EAAIu+E,QAAQxrF,OAAcqN,EAAG,KAAK,CAACA,EAAG,KAAK,CAACoE,YAAY,CAAC,aAAa,UAAUlE,MAAM,CAAC,QAAU,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,SAAST,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAW,SAAE,SAASi+E,GAAQ,OAAO79E,EAAG,KAAK,CAAC1K,IAAIuoF,EAAOxnF,IAAI,CAAC2J,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ29E,EAAO8U,cAAc,GAAG3yF,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ29E,EAAO+U,iBAAiB,GAAG5yF,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI4kE,aAAaqZ,EAAOl+B,uBAAuB3/C,EAAG,KAAK,CAACmB,YAAY,eAAe,CAAE08E,EAA2B,qBAAE79E,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,YAAY,CAACN,EAAIO,GAAG,uBAAuBP,EAAI6C,MAAM,GAAGzC,EAAG,KAAK,CAACmB,YAAY,eAAe,CAAE08E,EAA0B,oBAAE79E,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,YAAY,CAACN,EAAIO,GAAG,uBAAuBP,EAAI6C,MAAM,GAAGzC,EAAG,KAAK,CAACmB,YAAY,eAAe,CAAE08E,EAAyB,mBAAE79E,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,YAAY,CAACN,EAAIO,GAAG,wBAAwBP,EAAI6C,MAAM,GAAGzC,EAAG,KAAK,CAACmB,YAAY,eAAe,CAAE08E,EAAsB,gBAAE79E,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,YAAY,CAACN,EAAIO,GAAG,uBAAuBP,EAAI6C,MAAM,GAAGzC,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGy9E,EAAOpxB,YAAYzsD,EAAG,KAAK,CAACA,EAAG,MAAM,CAACmB,YAAY,UAAU,CAACnB,EAAG,iBAAiB,CAACE,MAAM,CAAC,SAAW29E,EAAOxnF,GAAG,WAAauJ,EAAImU,cAAc/T,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,CAACL,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,iBAAiB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ29E,EAAO8U,cAAc,GAAG3yF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,2BAA2B,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ29E,EAAO+U,iBAAiB,GAAI/U,EAA2B,qBAAE79E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,yBAAyB,CAACL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,YAAY,CAACN,EAAIO,GAAG,sBAAsB,GAAGP,EAAI6C,KAAMo7E,EAA0B,oBAAE79E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,2BAA2B,CAACL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,YAAY,CAACN,EAAIO,GAAG,sBAAsB,GAAGP,EAAI6C,KAAMo7E,EAAyB,mBAAE79E,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,+BAA+B,CAACL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,YAAY,CAACN,EAAIO,GAAG,sBAAsB,GAAGP,EAAI6C,KAAKzC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,4BAA4B,MAAQT,EAAI4kE,aAAaqZ,EAAOl+B,sBAAkD,OAA3Bk+B,EAAOgV,gBAA0B7yF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,yBAAyB,CAACL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,YAAY,CAACN,EAAIO,GAAG,sBAAsB,GAAGP,EAAI6C,KAAKzC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,KAAK,MAAQN,EAAIS,GAAG,kBAAkB,MAAQw9E,EAAOpxB,YAAY,GAAGzsD,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAE29E,EAAS,GAAE79E,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,SAAS,SAAW29E,EAAOxnF,GAAG,MAAQuJ,EAAIS,GAAG,mBAC5+H,KACAT,EAAIS,GAAG,wBAAwBT,EAAI6C,KAAMo7E,EAAS,GAAE79E,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,kBAAkB,SAAW29E,EAAOxnF,GAAG,MAAQuJ,EAAIS,GAAG,oBACrJ,KACAT,EAAIS,GAAG,wBAAwBT,EAAI6C,MAAM,IAAI,IAAI,IAAI,WAAU,KAAK4C,MAAM,WAAW,IAAI,IAC/G,GAAkB,GCLlB,GAAS,WAAa,IAAIzF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,uBAAuBE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAI+yF,UAAU7xF,GAAKG,WAAW,gBAAgB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,wBAAwB,GAAG,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAI+/C,kBAAkB7+C,GAAKG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,eAAe,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAwB,qBAAEiB,SAAS,SAAUC,GAAMlB,EAAIkzF,qBAAqBhyF,GAAKG,WAAW,2BAA2B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,GAAK,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,eAAe,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAuB,oBAAEiB,SAAS,SAAUC,GAAMlB,EAAImzF,oBAAoBjyF,GAAKG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,eAAe,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIizF,gBAAgB/xF,GAAKG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6B,eAAe,oBAAoBO,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAIozF,mBAAmBlyF,GAAKG,WAAW,yBAAyB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAI6sD,QAAwB,kBAAR3rD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,aAAa,IAAI,IAAI,IACt9E,GAAkB,GCuFP,UAAIoB,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAGdhN,KALwB,aAMtB,MAAO,CACLoF,OAAQ,MAERooD,kBAAmB,EACnBgzC,UAAW,OAAStzE,SACpBwzE,gBAAiB,MACjBC,qBAAsB,MACtBC,oBAAqB,MACrBC,mBAAoB,MACpBvmC,QAAS,GACTnzD,MAAO,OAIXoI,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,oBAAkB,CAE7C/B,SAF6C,aAG3C,OAAOE,KAAKm8E,eAAen8E,KAAKkU,eAIpClS,QAAS,CAKP4D,MALO,aAML5F,KAAK8yF,UAAY,OAAStzE,SAC1Bxf,KAAK4sD,QAAU,GACf5sD,KAAK8/C,kBACF9/C,KAAKF,UAAYE,KAAKF,SAASggD,mBAAsB,EACxD9/C,KAAKizF,qBAAuB,MAC5BjzF,KAAKkzF,oBAAsB,MAC3BlzF,KAAKmzF,mBAAqB,MAC1BnzF,KAAKgzF,gBAAkB,OAOnBntF,KApBC,a,4KAqBL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,iBAAkB,CACxDrhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,WACjB4rC,kBAAmB9/C,KAAK8/C,kBACxBgzC,UAAW9yF,KAAK8yF,UAChBlmC,QAAS5sD,KAAK4sD,QACdqmC,qBAAsBjzF,KAAKizF,qBAC3BC,oBAAqBlzF,KAAKkzF,oBAC1BC,mBAAoBnzF,KAAKmzF,mBACzBH,gBAAiBhzF,KAAKgzF,mB,OATpB/1F,E,OAYA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAAS4kF,QAAQ,GAC3Ch+E,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,uBACRK,MAAOsF,KAAKkU,WACZ/e,MAAOpC,OAAO8D,KAAKuC,EAAS4kF,UAI7Bh+E,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAG/C5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVqxB,oBACAsmD,yBC7Kub,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACh4E,aAAA,KAAUjR,QAAA,KAAKE,QAAA,KAAKgR,aAAA,OC1BlD,IAAI,GAAS,WAAa,IAAI3T,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACmB,YAAY,gCAAgC,CAAEvB,EAAIqzF,iBAAmBrzF,EAAIuD,cAAc,0BAA2BnD,EAAG,kBAAkB,CAACE,MAAM,CAAC,SAAWN,EAAIo+E,SAAS,WAAap+E,EAAImU,YAAYnT,MAAM,CAAC5L,MAAO4K,EAAuB,oBAAEiB,SAAS,SAAUC,GAAMlB,EAAIszF,oBAAoBpyF,GAAKG,WAAW,yBAAyBrB,EAAI6C,MAAM,IACrb,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,aAAY,WAAW,MAAO,CAAC5F,EAAG,QAAQJ,EAAI4F,GAAG,CAACrE,YAAY,OAAOjB,MAAM,CAAC,MAAQ,UAAU,UAAU,KAAKyF,EAAUpF,IAAI,CAACX,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,UAAS,KAAKsF,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,eAAe,IAAI,GAAG/T,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIuzF,eAAeryF,GAAKG,WAAW,qBAAqB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,YAAYO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAI6sD,QAAwB,kBAAR3rD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,kBAAkB,SAAWN,EAAIo+E,aAAa,IAAI,IAAI,IAC35C,GAAkB,GCqDP,UAAI18E,OAAO,CACxBsG,MAAO,CAAC,QAAS,aAAc,YAC/BzV,KAFwB,aAGtB,MAAO,CACLihG,gBAAiBvzF,KAAKm+E,SACtBmV,eAAgB,OAAS9zE,SACzBotC,QAAS,GACT4mC,gBAAiB,MACjB1zC,kBAAmB,EACnBrmD,MAAO,KACP/B,OAAQ,QAGZoK,MAAO,CACL3M,MADK,WACC6W,GACAA,GACFhM,KAAK4F,UAIX5D,QAAS,CACD6D,KADC,a,4KAEL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,oBAAqB,CAC3DrhB,KAAM,CACJ6rF,SAAUn+E,KAAKm+E,SACfsV,cAAezzF,KAAKszF,eACpB1mC,QAAS5sD,KAAK4sD,W,OAJZ3vD,E,OAOA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAAS4kF,QAAQ,GAC3Ch+E,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,uBACRK,MAAOsF,KAAKkU,WACZ/e,MAAOpC,OAAO8D,KAAKuC,EAAS4kF,UAI7Bh+E,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAE/C5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,2DAGJmM,MA7BO,aA8BL5F,KAAKuzF,gBAAkB,EACvBvzF,KAAKszF,eAAiB,OAAS9zE,SAC/Bxf,KAAK8/C,kBAAoB,EACzB9/C,KAAK4sD,QAAU,KAGnB94C,WAAY,CACV23E,yBC/Gqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACtpF,QAAA,KAAKK,QAAA,KAAKE,QAAA,KAAKgR,aAAA,OCT9B,cAAIjS,OAAO,CACxBsG,MAAO,CACLo2E,SAAU7+E,OACV4U,WAAY5U,QAEdhN,KALwB,aAMtB,MAAO,CACL+gG,oBAAqB,QAGzBxxF,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CAAC,kBAAgB,CAC3Cm8E,OAD2C,aAEzC,OAAOh+E,KAAKk+E,aAAal+E,KAAKm+E,WAEhCiV,gBAJ2C,aAKzC,OAAoC,OAA7BpzF,KAAKg+E,OAAO+U,gBAGvB/wF,QAAS,CACP0xF,gBADO,aAEL1zF,KAAKqzF,oBAAsB,OAG/Bv/E,WAAY,CACV6/E,sBC3Cob,MCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QC8JA,UAAIlyF,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,OACZgqF,YAAarhF,SAGfE,QANwB,aAOlBnI,KAAKkU,YACPlU,KAAKoI,aAITvG,SAAU,OAAF,oDACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CACxB,qBACA,qBACA,oBAEC,eAAW,UAAW,CAAC,kBAAgB,CAE1C/B,SAF0C,aAGxC,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAGlCoqE,QAN0C,aAOxC,OAAOt+E,KAAKo+E,mBAAmBp+E,KAAKkU,aAQtCq1E,WAf0C,aAgBxC,OAAOvpF,KAAKwmF,mBAAmBxmF,KAAKkU,aAMtCkX,OAtB0C,aAuBxC,GAAIprB,KAAKupF,WACP,OAAO,MAGT,IAAKvpF,KAAKF,SACR,OAAO,MAGT,IAAM8zF,EACJ,IAAEh1F,OAAOoB,KAAKs+E,SAAS,SAACN,GACtB,OAAQA,EAAO+U,gBACdjgG,OAAS,EAEd,GAAI8gG,EACF,OAAO,MAGT,OAAO5zF,KAAKsD,cACV,yBACA,WACAtD,KAAKF,SAASggD,sBAKpBh+C,MAAO,CACLoS,WADK,WACMlI,GACLhM,KAAKkU,YACPlU,KAAKoI,cAKXpG,QAAS,CACPoG,UADO,aAELpI,KAAK2I,OAAOlQ,SAAS,wBAAyB,CAC5Cyb,WAAYlU,KAAKkU,eAKvBJ,WAAY,CACV+/E,qBACAC,qBCrQkb,MCOlb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAAC1xF,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKusC,gBAAA,KAAajqC,YAAA,KAASC,cAAA,UC9BpF,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIupF,aAAevpF,EAAIwpF,WAAW,KAAOxpF,EAAIupF,aAAevpF,EAAIwpF,aAAa,CAACppF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAGvF,EAAIupF,YAAqW,KAAxV,CAAC7zF,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,uBAAuB,CAACE,MAAM,CAAC,WAAaN,EAAImU,YAAY7O,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC3F,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,IAAM,GAAG,SAAW,GAAG,OAAS,GAAG,MAAQ,WAAWyF,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACJ,EAAIO,GAAG,cAAc,OAAO,KAAK,MAAM,eAAekF,MAAM,OAAY,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,GAAGL,EAAG,cAAc,CAACA,EAAG,iBAAiB,CAACkF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,WAAW,MAAO,CAACpF,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,QAAQ,CAA2B,IAAzBJ,EAAI6+E,UAAU9rF,OAAcqN,EAAG,KAAK,CAACA,EAAG,KAAK,CAACoE,YAAY,CAAC,aAAa,UAAUlE,MAAM,CAAC,QAAU,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,SAAST,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAa,WAAE,SAASy+E,GAAU,OAAOr+E,EAAG,KAAK,CAAC1K,IAAI+oF,EAAShoF,IAAI,CAAC2J,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQm+E,EAASn4E,eAAe,GAAGlG,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBkiE,EAAStiE,OAAQ,2BAA4B,OAAO/b,EAAG,KAAK,CAACA,EAAG,sBAAsB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKm+E,EAAS1+B,sBAAsB,GAAG3/C,EAAG,KAAK,CAACA,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,CAACL,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,mBAAmB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQm+E,EAASn4E,eAAe,GAAGlG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,yBAAyB,MAAQT,EAAIuc,sBACl1DkiE,EAAStiE,OACT,kCAC2BzhB,GAAvB+jF,EAASnlE,QAAQ,GAAiBlZ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,0BAA0B,MAAQg+E,EAASnlE,UAAUtZ,EAAI0F,GAAI+4E,EAAgB,SAAE,SAASgU,GAAQ,OAAOryF,EAAG,KAAK,CAAC1K,IAAI+8F,EAAOh8F,IAAI,CAACuJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGiyF,GAAQ,UAAS,GAAGzyF,EAAI6C,KAAKzC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,CAACL,EAAG,sBAAsB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKm+E,EAAS1+B,sBAAsB,GAAG3/C,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,MAAQg+E,EAAS+T,cAAcpyF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,WAAW,MAAQg+E,EAASoM,YAAY,GAAGzqF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEm+E,EAAW,GAAEr+E,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,WAAW,SAAWm+E,EAAShoF,MAAMuJ,EAAI6C,MAAM,IAAI,IAAI,IAAI,SAAQ,KAAK4C,MAAM,WAAW,IAAI,IACj4B,GAAkB,GC8HP,UAAI/D,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,OACZgqF,YAAarhF,SAGfE,QANwB,aAOlBnI,KAAKkU,YACPlU,KAAKoI,aAITvG,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,2BACxB,eAAW,WAAY,CACxB,uBACA,qBACA,oBACA,CAEF/B,SAFE,aAGA,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAGlC0qE,UANE,aAOA,OAAO5+E,KAAK0+E,qBAAqB1+E,KAAKkU,aAQxCq1E,WAfE,aAgBA,OAAOvpF,KAAKwmF,mBAAmBxmF,KAAKkU,eAIxCpS,MAAO,CACLoS,WADK,WACMlI,GACLhM,KAAKkU,YACPlU,KAAKoI,cAKXpG,QAAS,CACPoG,UADO,aAELpI,KAAK2I,OAAOlQ,SAAS,0BAA2B,CAC9Cyb,WAAYlU,KAAKkU,eAIvBJ,WAAY,CACV++E,2BCxLob,MCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAahC,KAAkB,GAAW,CAAC1wF,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKusC,gBAAA,KAAajqC,YAAA,KAASC,cAAA,UC/BzF,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIS,GAAG,6BAA6B,QAAUT,EAAI2J,QAAQ,YAAY,SAAShJ,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,aAAY,WAAW,MAAO,CAAC5F,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,KAAO,KAAKyF,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACN,EAAIO,GAAG,iBAAiBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,MAAM,MAAK,KAAKsF,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,cAAenU,EAAID,UAAYC,EAAIJ,QAASQ,EAAG,6BAA6B,CAACE,MAAM,CAAC,SAAWN,EAAID,SAAS,QAAUC,EAAIJ,SAASe,GAAG,CAAC,eAAiB,SAASC,GAAQZ,EAAID,SAAWa,GAAQ,cAAgB,SAASA,GAAQZ,EAAIJ,QAAUgB,MAAWZ,EAAI6C,MAAM,IACt8B,GAAkB,GC0CP,UAAInB,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAEdhN,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MACRgS,QAAS,MACT5J,SAAU,KACVH,QAAS,OAGbkC,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,oBACxB,eAAW,UAAW,CAAC,mBAE5BG,QAAS,CAKD4D,MALC,a,0KAML,GAAI5F,KAAKkU,WAAY,CACb6/E,EAAoB/zF,KAAKm8E,eAAen8E,KAAKkU,YACnDlU,KAAKF,SAAW/M,OAAOyI,OAAO,GAAIu4F,GAE5B5L,EAAmBnoF,KAAKoU,cAC5B2/E,EAAkBjqF,WAEpB9J,KAAKL,QAAU5M,OAAOyI,OAAO,GAAI2sF,G,iDAS/BtiF,KAtBC,a,oLAuBA7F,KAAKF,WAAaE,KAAKL,S,0DAIX,OAAM,GAAYgU,KAAK,uBAAwB,CAC9DrhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,WACjByxE,oBAAqB3lF,KAAKF,SAAS6lF,oBACnCH,QAASxlF,KAAKF,SAAS0lF,QACvBE,aAAc1lF,KAAKF,SAAS4lF,aAC5BH,WAAYvlF,KAAKF,SAASylF,WAC1BlK,WAAYr7E,KAAKF,SAASu7E,WAE1BvtE,iBAAkB9N,KAAKL,QAAQmO,iBAC/BC,oBAAqB/N,KAAKL,QAAQoO,oBAClCC,qBAAsBhO,KAAKL,QAAQqO,qBACnCC,kBAAmBjO,KAAKL,QAAQsO,kBAChCQ,sBAAuBzO,KAAKL,QAAQ8O,yB,OAblCxR,E,OAgBAoX,EAAgBpX,EAAS3K,KAAKA,KAE9BgiB,EAAgB,IAAEC,KAAKF,EAAe,CAAC,aAC7CrU,KAAK2I,OAAOnQ,OAAO,oBAAqB8b,GAElCE,EAAe,IAAED,KAAKF,EAAe,CAAC,YAC5CrU,KAAK2I,OAAOnQ,OAAO,mBAAoBgc,GAEvCxU,KAAKtI,OAAS,M,mDAGlBoc,WAAY,CACV23E,sBACA/C,iCCnHkb,MCOlb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACvmF,QAAA,KAAKsS,SAAA,OC4HpB,cAAIhT,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,OACZgqF,YAAarhF,SAGf3V,KANwB,aAOtB,MAAO,CACL8zF,sBAAuB,GAAMA,sBAC7BC,iBAAkB,GAAMA,iBACxBC,oBAAqB,GAAMA,sBAI/BzkF,SAAU,OAAF,kEACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CAAC,2BACxB,eAAW,WAAY,CAAC,iBAAkB,wBAC1C,eAAW,UAAW,CAAC,mBAAiB,CAE3ClC,QAF2C,aAGzC,OAAOK,KAAKoU,cAAcpU,KAAKF,SAASgK,YAG1ChK,SAN2C,aAOzC,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAOlC8/E,cAd2C,aAezC,GAAIh0F,KAAKupF,WACP,OAAO,MAET,IAAKvpF,KAAKF,SACR,OAAO,MAET,OAAOE,KAAKsD,cACV,sBACA,WACAtD,KAAKF,SAASggD,oBASlBypC,WAjC2C,aAkCzC,OAAOvpF,KAAKwmF,mBAAmBxmF,KAAKkU,eAGxCJ,WAAY,CACVmgF,gBACAC,kBACAC,kCACAv8E,sBACAC,0BChNma,MCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAACzV,SAAA,KAAME,UAAA,QAAUE,QAAA,KAAKE,QAAA,KAAKqC,WAAA,KAAQC,YAAA,KAASC,cAAA,UC7BzE,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAM,GAAEI,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsBL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,wBAAwB,CAACE,MAAM,CAAC,YAAcN,EAAIupF,YAAY,WAAavpF,EAAIvJ,OAAO,IAAI,GAAGuJ,EAAI6C,MAC1V,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIupF,aAAevpF,EAAIwpF,WAAW,KAAOxpF,EAAIupF,aAAevpF,EAAIwpF,aAAa,CAACppF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAGvF,EAAIupF,YAA+J,KAAlJ,CAAC7zF,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAAExF,EAAU,OAAEI,EAAG,6BAA6B,CAACE,MAAM,CAAC,WAAaN,EAAImU,cAAcnU,EAAI6C,OAAO4C,MAAM,OAAY,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,GAAGL,EAAG,cAAc,CAACA,EAAG,iBAAiB,CAACkF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,WAAW,MAAO,CAACpF,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,gCAAgCL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuBL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,QAAQ,CAA0B,IAAxBJ,EAAI0kF,SAAS3xF,OAAcqN,EAAG,KAAK,CAACA,EAAG,KAAK,CAACoE,YAAY,CAAC,aAAa,UAAUlE,MAAM,CAAC,QAAU,MAAM,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,SAAST,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAY,UAAE,SAASq0F,GAAS,OAAOj0F,EAAG,KAAK,CAAC1K,IAAI2+F,EAAQ59F,IAAI,CAAC2J,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAA2B4zF,EAAQ52F,YAAY2C,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI4kE,aAAayvB,EAAQt0C,uBAAuB3/C,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAyBT,EAAIijF,QAAQoR,EAAQC,UAAUr7F,OAAO,OAAOmH,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIijF,QAAQoR,EAAQC,UAAU3/F,KAAKqL,EAAIzD,SAAS,OAAO6D,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ+zF,EAAQE,cAAc,GAAGn0F,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ+zF,EAAQG,YAAY,GAAGp0F,EAAG,KAAK,CAACA,EAAG,MAAM,CAACmB,YAAY,UAAU,CAACnB,EAAG,yBAAyB,CAACE,MAAM,CAAC,kBAAoB+zF,EAAQ59F,MAAM2J,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIuc,sBAAsB83E,EAAQC,SAAUt0F,EAAIijF,WAAW,CAAC7iF,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIS,GAAG,yBAA2B4zF,EAAQ52F,WAAW2C,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ+zF,EAAQE,cAAc,GAAGn0F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ+zF,EAAQG,YAAY,GAAGp0F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAIuc,sBAAsB83E,EAAQC,SAAUt0F,EAAIijF,YAAY7iF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAIS,GAC5gF,uBACET,EAAIijF,QAAQoR,EAAQC,UAAUr7F,SAC7BmH,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ4zF,EAAQI,cAAcr0F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ4zF,EAAQK,aAAa,GAAGt0F,EAAG,QAAQ,CAAEi0F,EAAU,GAAEj0F,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,kBAAkB,SAAW+zF,EAAQ59F,GAAG,MAAQuJ,EAAIS,GAAG,wBAAwBT,EAAI6C,MAAM,IAAI,IAAI,WAAU,KAAK4C,MAAM,WAAW,IAAI,IAC1c,GAAkB,GCJlB,GAAS,WAAa,IAAIzF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACmB,YAAY,UAAU,CAAwB,eAAtBvB,EAAIq0F,QAAQ52F,OAAyB,CAAEuC,EAAIuD,cAAc,2BAA4BnD,EAAG,gCAAgC,CAACE,MAAM,CAAC,kBAAoBN,EAAIq0F,QAAQ59F,IAAI6O,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACvV,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACrE,YAAY,OAAOjB,MAAM,CAAC,UAAU,GAAG,MAAQ,YAAYK,GAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,cAAcP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,MAAM,OAAO,KAAK,MAAM,cAAcT,EAAI6C,KAAM7C,EAAIuD,cAAc,2BAA4BnD,EAAG,2BAA2B,CAACE,MAAM,CAAC,kBAAoBN,EAAIq0F,QAAQ59F,IAAI6O,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GACra,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACrE,YAAY,OAAOjB,MAAM,CAAC,UAAU,GAAG,MAAQ,UAAUK,GAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,YAAYP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,MAAM,OAAO,KAAK,MAAM,YAAYT,EAAI6C,MAAM7C,EAAI6C,MAAM,IACvP,GAAkB,GCLlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mCAAmC,KAAO,IAAIE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,YAAY,KAAK,KAAKD,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAIq0F,QAAQlgF,eAAe,IAAI,GAAInU,EAAU,OAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,iBAAiB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACnB,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIq0F,QAAQE,cAAc,KAAKn0F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBL,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAyBT,EAAI20F,OAAO17F,OAAO,SAASmH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsBL,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIwhB,eAAexhB,EAAI20F,OAAOhgG,OAAO,UAAU,GAAGqL,EAAI6C,KAAKzC,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAe,YAAEiB,SAAS,SAAUC,GAAMlB,EAAI40F,YAAY1zF,GAAKG,WAAW,kBAAkB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,SAAW,GAAG,MAAQN,EAAIS,GAAG,kBAAkB,MAAQT,EAAI60F,UAAUvvF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACt1D,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAA2B2I,IAAO,QAAQ,CAAC1T,IAAI,YAAY8P,GAAG,SAAS9E,GACxG,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAA2B2I,IAAO,UAAUpI,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAI80F,QAAQ5zF,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,UAAUO,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAImxD,MAAsB,kBAARjwD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,YAAY,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,kBAAkB,SAAWL,KAAK80F,sBAAsB,IAAI,IAAI,IACxiB,GAAkB,GCwFP,UAAIrzF,OAAO,CACxBsG,MAAO,CAAC,qBACRzV,KAFwB,aAGtB,MAAO,CACLoF,OAAQ,MAERk9F,SAAU,CAAC,aACXC,QAAS,YACTF,YAAa,OAASn1E,SACtB0xC,MAAO,GACPz3D,MAAO,OAGXoI,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,oBACxB,eAAW,WAAY,CAAC,eAAgB,2BAAyB,CAMpEuyF,QANoE,aAOlE,OAAOp0F,KAAKskF,sBAAsBtkF,KAAK80F,oBAAsB,MAO/DJ,OAdoE,aAelE,IAAK10F,KAAKo0F,QACR,OAAO,KAET,OAAOp0F,KAAKikF,aAAajkF,KAAKo0F,QAAQC,WAAa,QAGvDryF,QAAS,CAKP4D,MALO,aAML5F,KAAK20F,YAAc,OAASn1E,SAC5Bxf,KAAKkxD,MAAQ,IAOTrrD,KAdC,a,0KAeL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,oBAAqB,CAC3DrhB,KAAM,CACJyiG,UAAW/0F,KAAK80F,kBAChBH,YAAa,KAAOlf,GAAGz1E,KAAK20F,YAAa,cAAcn1E,SACvD0xC,MAAOlxD,KAAKkxD,S,OAJVj0D,E,OAOA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV23E,yBCnKmc,MCOnc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACjpF,QAAA,KAAKE,QAAA,KAAKujB,WAAA,KAAQvS,aAAA,OC1BhD,IAAI,GAAS,WAAa,IAAI3T,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,KAAO,IAAIE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,YAAY,KAAK,KAAKD,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAIq0F,QAAQlgF,eAAe,IAAI,GAAInU,EAAU,OAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,iBAAiB,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACnB,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIq0F,QAAQE,cAAc,KAAKn0F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoBL,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAyBT,EAAI20F,OAAO17F,OAAO,SAASmH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsBL,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIwhB,eAAexhB,EAAI20F,OAAOhgG,aAAa,GAAGqL,EAAI6C,KAAKzC,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIw0F,QAAQtzF,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAI60F,UAAUvvF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACryD,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAA2B2I,IAAO,QAAQ,CAAC1T,IAAI,YAAY8P,GAAG,SAAS9E,GACxG,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAACpJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAA2B2I,IAAO,UAAUpI,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAI80F,QAAQ5zF,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,UAAUO,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAImxD,MAAsB,kBAARjwD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,YAAY,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,kBAAkB,SAAWL,KAAK80F,sBAAsB,IAAI,IAAI,IACxiB,GAAkB,GCqFP,UAAIrzF,OAAO,CACxBsG,MAAO,CAAC,qBACRzV,KAFwB,aAGtB,MAAO,CACLoF,OAAQ,MAERk9F,SAAU,CAAC,aAAc,eACzBC,QAAS,aACTN,QAAS,OAAS/0E,SAClB0xC,MAAO,GACPz3D,MAAO,OAGXoI,SAAU,OAAF,sCACH,eAAW,WAAY,CAAC,oBACxB,eAAW,WAAY,CAAC,eAAgB,2BAAyB,CAMpEuyF,QANoE,aAOlE,OAAOp0F,KAAKskF,sBAAsBtkF,KAAK80F,oBAAsB,MAO/DJ,OAdoE,aAelE,IAAK10F,KAAKo0F,QACR,OAAO,KAET,OAAOp0F,KAAKikF,aAAajkF,KAAKo0F,QAAQC,aAG1CryF,QAAS,CAKP4D,MALO,aAML5F,KAAKu0F,QAAU,OAAS/0E,SACxBxf,KAAKkxD,MAAQ,IAOTrrD,KAdC,a,0KAeL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,eAAgB,CACtDrhB,KAAM,CACJyiG,UAAW/0F,KAAK80F,kBAChBP,QAASv0F,KAAKu0F,QACdM,QAAS70F,KAAK60F,QACd3jC,MAAOlxD,KAAKkxD,S,OALVj0D,E,OAQA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACV23E,yBCjK8b,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACjpF,QAAA,KAAKE,QAAA,KAAKujB,WAAA,KAAQvS,aAAA,OCejC,cAAIjS,OAAO,CACxBsG,MAAO,CACL+sF,kBAAmBx1F,QAErBuC,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAS,WAAY,CAAC,qBAAmB,CAE5CuyF,QAF4C,aAG1C,OAAOp0F,KAAKokF,gBAAgBpkF,KAAK80F,oBAAsB,MAKzDt3F,OAR4C,aAS1C,GAAqB,OAAjBwC,KAAKo0F,QACP,MAAO,UAET,OAAOp0F,KAAKo0F,QAAQ52F,UAGxBsW,WAAY,CACVkhF,iCACAC,+BChE4b,MCO5b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC9yF,QAAA,KAAKsS,SAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI1U,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,IAAM,IAAIE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaN,EAAImU,eAAe,GAAG/T,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAIu0F,UAAUrzF,GAAKG,WAAW,gBAAgB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,SAAW,KAAK,MAAQN,EAAIS,GAAG,4BAA4B,wBAAwB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAI+/C,kBAAkB7+C,GAAKG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQ,mBAAmB,yBAAyB,sBAAsB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIm1F,WAAWj0F,GAAKG,WAAW,iBAAiB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,KAAOT,EAAIm1F,WAAW,MAAQ,mBAAmB,MAAQ,CAAC,SAAU/5F,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAIs0F,SAASpzF,GAAKG,WAAW,eAAe,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,UAAUO,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAImxD,MAAsB,kBAARjwD,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,YAAY,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACM,IAAI,cAAcJ,MAAM,CAAC,WAAa,sBAAsB,IAAI,IAAI,IACpjE,GAAkB,GC0EP,UAAIoB,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAEdhN,KAJwB,aAKtB,MAAO,CACLoF,OAAQ,MAERw9F,WAAY,YACZZ,UAAW,GACXD,SAAU,EACVv0C,kBAAmB,EACnBoR,MAAO,GACPz3D,MAAO,OAGXoI,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,oBAAkB,CAC7C/B,SAD6C,aAE3C,OAAOE,KAAKm8E,eAAen8E,KAAKkU,eAGpClS,QAAS,CAKP4D,MALO,aAML,IAAMqjF,EAAM,IAAImC,KAChBprF,KAAKs0F,UAAYrL,EAAIuC,cAAc9gC,OAAO,EAAG,IACzC1qD,KAAKF,WACPE,KAAK8/C,kBAAoB9/C,KAAKF,SAASggD,mBAEzC9/C,KAAKq0F,SAAW,EAChBr0F,KAAKk1F,WAAa,YAClBl1F,KAAKkxD,MAAQ,IAOTrrD,KApBC,a,4KAqBL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,iBAAkB,CACxDrhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,WACjBmgF,SAAUr0F,KAAKq0F,SACfv0C,kBAAmB9/C,KAAK8/C,kBACxBw0C,UAAWt0F,KAAKs0F,UAChBE,WAAYx0F,KAAKkxD,S,OANfj0D,E,OASA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAASgrF,iBAAiB,GACpDpkF,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,gCACRK,MAAOsF,KAAKkU,WACZ/e,MAAOpC,OAAO8D,KAAKuC,EAASgrF,mBAI7BpkF,KAAK2B,MAAMlD,YAAoB4U,eAAeO,GAE/C5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVqxB,oBACAsmD,yBCtJgc,MCOhc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACjpF,QAAA,KAAKE,QAAA,KAAKgR,aAAA,OCkHzB,cAAIjS,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,OACZgqF,YAAarhF,SAGfE,QANwB,aAYlBnI,KAAKkU,YACPlU,KAAKoI,aAITvG,SAAU,OAAF,8FACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,UAAW,CAAC,kBACvB,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,2BACxB,eAAS,WAAY,CAAC,aACtB,eAAW,WAAY,CAAC,sBAAuB,wBAAsB,CAMxE4iF,SANwE,aAOtE,OAAOzkF,KAAKukF,oBAAoBvkF,KAAKkU,aAQvCq1E,WAfwE,aAgBtE,OAAOvpF,KAAKwmF,mBAAmBxmF,KAAKkU,aAMtCkX,OAtBwE,aAuBtE,GAAIprB,KAAKupF,WACP,OAAO,MAET,OAAOvpF,KAAKsD,cAAc,8BAI9BxB,MAAO,CAKLoS,WALK,WAKMlI,GACLhM,KAAKkU,YACPlU,KAAKoI,cAKXpG,QAAS,CAIPoG,UAJO,aAKLpI,KAAK2I,OAAOlQ,SAAS,yBAA0B,CAC7Cyb,WAAYlU,KAAKkU,eAIvBJ,WAAY,CACVqhF,8BACAC,6BCxN2b,MCO3b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAChzF,SAAA,KAAME,UAAA,QAAUI,QAAA,KAAKusC,gBAAA,KAAajqC,YAAA,KAASC,cAAA,UCb1D,cAAIxD,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJgqF,YAAa,CACXtwF,KAAMiP,QACN4W,QAAS,QAGb/K,WAAY,CACVuhF,4BCxBoa,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC7yF,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAM,GAAEI,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqBL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAaN,EAAIvJ,GAAG,YAAcuJ,EAAIupF,gBAAgB,GAAGnpF,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyBL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,6BAA6B,CAACE,MAAM,CAAC,WAAaN,EAAIvJ,GAAG,YAAcuJ,EAAIupF,gBAAgB,GAAGnpF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,2BAA2B,CAACE,MAAM,CAAC,WAAaN,EAAIvJ,GAAG,YAAcuJ,EAAIupF,gBAAgB,IAAI,GAAGvpF,EAAI6C,MACjsB,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAe,YAAEI,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIupF,aAAevpF,EAAIwpF,WAAW,KAAOxpF,EAAIupF,aAAevpF,EAAIwpF,aAAa,CAACppF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAAEvB,EAAI+f,QAAmB,YAAE3f,EAAG,MAAM,CAACA,EAAG,OAAO,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQL,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAI+f,QAAQ22D,gBAAgB,GAAG12E,EAAI6C,KAAM7C,EAAI+f,QAAwB,iBAAE3f,EAAG,MAAM,CAACA,EAAG,OAAO,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,QAAQL,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKN,EAAI+f,QAAQlc,qBAAqB,GAAG7D,EAAI6C,SAAS4C,MAAM,OAAO,KAAK,MAAM,aAAa,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI+f,QAAQrV,QAAQ,KAAKtK,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAI+f,QAAQqc,QAAS,wBAAwB,OAAOh8B,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBvc,EAAI+f,QAAQkvC,SAAU,0BAA0B,OAAQjvD,EAAI+f,QAAe,QAAE3f,EAAG,SAAS,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,MAAQ,GAAG,MAAQ,cAAc,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,OAAOT,EAAI6C,MAAM,IAAI,GAAGzC,EAAG,cAAc,CAACA,EAAG,eAAe,CAACY,MAAM,CAAC5L,MAAO4K,EAAI4lB,YAAmB,QAAE3kB,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAI4lB,YAAa,UAAW1kB,IAAMG,WAAW,0BAA0B,GAAGrB,EAAIgG,GAAG,YAAY,GAAGhG,EAAI6C,MAC9lD,GAAkB,GC4DP,UAAInB,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,OACZgqF,YAAarhF,SAEfpG,SAAU,OAAF,kEACH,eAAW,WAAY,CAAC,2BACxB,eAAW,WAAY,CAAC,iBAAkB,wBAC1C,eAAW,QAAS,CAAC,uBAAwB,mBAC7C,eAAW,UAAW,CAAC,mBAAiB,CAE3C/B,SAF2C,aAGzC,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAGlCvU,QAN2C,aAOzC,OAAOK,KAAKoU,cAAcpU,KAAKF,SAASgK,YAG1C6b,YAV2C,aAWzC,OAAO3lB,KAAK4xB,qBACV5xB,KAAKF,SAASN,UACdQ,KAAKL,QAAQC,UAIjBkgB,QAjB2C,aAkBzC,OAAO9f,KAAK6tB,cAAc7tB,KAAKF,SAASN,YAQ1C+pF,WA1B2C,aA2BzC,OAAOvpF,KAAKwmF,mBAAmBxmF,KAAKkU,eAGxCJ,WAAY,CACV09C,mBCrGma,MCOna,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACpvD,SAAA,KAAME,UAAA,QAAUsW,SAAA,KAAM5T,YAAA,KAASC,cAAA,UC3B7D,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIupF,aAAevpF,EAAIwpF,WAAW,KAAOxpF,EAAIupF,aAAevpF,EAAIwpF,aAAa,CAACppF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAIqrB,SAAWrrB,EAAIupF,YAAa,CAAC7zF,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,2BAA2B,CAACE,MAAM,CAAC,WAAaN,EAAImU,gBAAgB1O,MAAM,MAAM,MAAM,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,GAAGL,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIu1F,cAAc,QAAUv1F,EAAIzC,QAAQ,eAAeyC,EAAIS,GAAG,gBAAgB,sBAAsB,GAAG,eAAe,GAAG,qBAAqB,IAAI6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACtwB,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAAC1K,IAAI0T,EAAK3S,IAAI,CAAC2J,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKsB,WAAWtK,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK29C,aAAa,GAAG3mD,EAAG,KAAK,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ8I,EAAKT,MAAM,OAAS,OAAO,GAAGvI,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK49C,wBAAwB,GAAG5mD,EAAG,KAAK,CAACA,EAAG,mBAAmB,CAACE,MAAM,CAAC,WAAa,eAAe,SAAW8I,EAAK3S,GAAG,MAAQ,OAAO,aAAa,GAAGuJ,EAAIgG,GAAG,YAAY,IAC1Y,GAAkB,GCHlB,GAAS,WAAa,IAAIhG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,2BAA2BE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,YAAY,CAACF,EAAG,YAAYA,EAAG,eAAe,CAACE,MAAM,CAAC,cAAc,SAAS,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,IAAIO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIqH,OAAuB,kBAARnG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,aAAa,GAAGjB,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIu1F,cAAc,OAASv1F,EAAIqH,OAAO,QAAUrH,EAAIzC,QAAQ,eAAeyC,EAAIS,GAAG,gBAAgB,cAAc,GAAG,sBAAsB,GAAG,eAAe,GAAG,qBAAqB,IAAI6E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAC38B,IAAI0I,EAAO1I,EAAI0I,KACXosF,EAAa90F,EAAI80F,WACjBC,EAAS/0F,EAAI+0F,OACjB,MAAO,CAACr1F,EAAG,KAAK,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO60F,GAAQD,MAAe,CAACp1F,EAAG,KAAK,CAACA,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQk1F,EAAW,OAAS,OAAO70F,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO60F,EAAO70F,QAAa,GAAGR,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKsB,WAAWtK,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK29C,aAAa,GAAG3mD,EAAG,KAAK,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ8I,EAAKT,MAAM,OAAS,OAAO,UAAU3H,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAI+tC,SAAS7sC,GAAKG,WAAW,eAAe,IAAI,IAAI,IACne,GAAkB,GC2DP,UAAIK,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAEdhN,KAJwB,aAKtB,MAAO,CACLmH,MAAO,KACP/B,OAAQ,MACR0P,OAAQ,GACR0mC,SAAU,KAGdjsC,SAAU,OAAF,sCACH,eAAW,gBAAiB,CAAC,sBAC7B,eAAW,WAAY,CAAC,oBAAkB,CAC7C/B,SAD6C,aAE3C,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAElCohF,cAJ6C,aAIhC,WAEX,OAAO,IAAEp6F,OAAO8E,KAAKqnD,kBAAkB,SAACL,GACtC,OAAO,EAAKlnD,SAAS2lF,gBAAgB5qF,SAASmsD,EAAaxwD,QAG/Dq6C,YAV6C,aAW3C,OAAO,IAAEx6C,IAAI2J,KAAK8tC,SAAU,OAE9BxwC,QAb6C,aAc3C,IAAM0b,EAAI,CACR,CACEvQ,KAAM7K,EAAKxI,EAAE,wBACbD,MAAO,SACP2hB,MAAO,OAET,CACErO,KAAM7K,EAAKxI,EAAE,oBACbD,MAAO,WACP2hB,MAAO,OAET,CACErO,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,QACP2hB,MAAO,QAGX,OAAOkC,KAGXhX,QAAS,CAKP4D,MALO,aAML5F,KAAKvG,MAAQ,KACbuG,KAAKoH,OAAS,GACdpH,KAAK8tC,SAAW,IAQZjoC,KAhBC,a,+KAiB2B,IAA5B7F,KAAK6wC,YAAY/9C,Q,gBACnBkN,KAAKvG,MAAQmE,EAAKxI,EAAE,kB,0CAIL,OAAM,GAAYue,KAAK,8BAA+B,CACrErhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,WACjBuxE,gBAAiBzlF,KAAK6wC,e,OAHpB5zC,E,OAMA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GAExC4G,KAAKtI,OAAS,M,oDC/I8a,M,aCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAAC0K,SAAA,KAAME,UAAA,QAAUwV,cAAA,KAAW29E,mBAAA,KAAgB1wF,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,OCqB7E,cAAIvD,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,OACZgqF,YAAarhF,SAEfpG,SAAU,OAAF,oDACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CAAC,iBAAkB,wBAC1C,eAAW,gBAAiB,CAAC,wBAAsB,CAEtD/B,SAFsD,aAGpD,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAGlCohF,cANsD,aAOpD,IAAKt1F,KAAKF,SACR,MAAO,GAET,IAAM41F,EAAY11F,KAAKF,SAAS2lF,iBAAmB,GACnD,OAAO,IAAEpvF,IAAIq/F,EAAW11F,KAAKonD,qBAQ/BmiC,WAnBsD,aAoBpD,OAAOvpF,KAAKwmF,mBAAmBxmF,KAAKkU,aAMtCkX,OA1BsD,aA2BpD,GAAIprB,KAAKupF,WACP,OAAO,MAGT,IAAKvpF,KAAKF,SACR,OAAO,MAGT,OAAOE,KAAKsD,cACV,8BACA,WACAtD,KAAKF,SAASggD,oBAIlBxiD,QA1CsD,aA2CpD,IAAM0b,EAAI,CACR,CACEvQ,KAAM7K,EAAKxI,EAAE,wBACbD,MAAO,SACP2hB,MAAO,OAET,CACErO,KAAM7K,EAAKxI,EAAE,oBACbD,MAAO,WACP2hB,MAAO,OAET,CACErO,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,QACP2hB,MAAO,OAET,CACErO,KAAM7K,EAAKxI,EAAE,qCACbD,MAAO,sBACP2hB,MAAO,OAET,CACErO,KAAM7K,EAAKxI,EAAE,qBACb0hB,MAAO,QAGX,OAAOkC,KAGXlF,WAAY,CACV6hF,+BCnIgc,MCOhc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACvzF,SAAA,KAAME,UAAA,QAAUwV,cAAA,KAAW9S,YAAA,KAASC,cAAA,UC3BlE,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAIupF,aAAevpF,EAAIwpF,WAAW,KAAOxpF,EAAIupF,aAAevpF,EAAIwpF,aAAa,CAACppF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,WAAWgF,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAIqrB,SAAWrrB,EAAIupF,YAAa,CAAC7zF,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,8BAA8B,CAACE,MAAM,CAAC,WAAaN,EAAImU,gBAAgB1O,MAAM,MAAM,MAAM,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,kCAAkC,GAAGL,EAAG,cAAc,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUN,EAAIzC,QAAQ,MAAQyC,EAAI61F,sBAAsB,eAAe,GAAG,qBAAqB,GAAG,sBAAsB,IAAIvwF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAChvB,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK5C,YAAY,GAAGpG,EAAG,KAAK,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBnT,EAAKg7D,SAAUpkE,EAAI+jF,4BAA4B,OAAO3jF,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAK0sF,wBAAwB11F,EAAG,KAAK,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ8I,EAAKk7D,4BAA4B,GAAGlkE,EAAG,KAAK,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ8I,EAAK2sF,uBAAuB,GAAG31F,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK4sF,yBAAyB,GAAG51F,EAAG,KAAK,CAACA,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,CAACL,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,aAAa,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK5C,YAAY,GAAGpG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,gCAAgC,MAAQ2I,EAAK0sF,uBAAuB11F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,6BAA6B,MAAQ2I,EAAKk7D,0BAA0B,CAAClkE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ8I,EAAKk7D,4BAA4B,IAAI,GAAGlkE,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,6BAA6B,MAAQT,EAAIuc,sBACphCnT,EAAKg7D,SACLpkE,EAAI+jF,8BACA36E,EAAK3J,WAAaO,EAAI8tB,cAAc1kB,EAAK3J,WAAYW,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,yBAAyB,MAAQT,EAAI8tB,cAAc1kB,EAAK3J,WAAWiL,UAAU1K,EAAI6C,KAAMuG,EAAmB,eAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,0BAA0B,MAAQ2I,EAAK69C,aAAav8C,OAAS,KAAOtB,EAAK69C,aAAat+C,SAAS3I,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAAEgJ,EAAuB,mBAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,oCAAoC,CAACL,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ8I,EAAK6sF,uBAAuB,GAAGj2F,EAAI6C,KAAKzC,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,oCAAoC,CAACL,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ8I,EAAK2sF,uBAAuB,IAAI,GACrtB3sF,EAAKm7D,eACLn7D,EAAKm7D,eAAiBn7D,EAAK8sF,cAC3B91F,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,sCAAsC,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK8sF,kBAAkB,GAAG91F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,sCAAsC,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAKm7D,kBAAkB,IAAI,GAAGvkE,EAAI6C,KAAKzC,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI,MAAQN,EAAIS,GAAG,2CAA2C,CAACL,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ8I,EAAK4sF,yBAAyB,IAAI,GAAG51F,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,MAAQN,EAAIS,GAAG,SAAS,MAAQ2I,EAAK+nD,UAAU,IAAI,IAAI,aAAa,IAAI,IACtmB,GAAkB,GCTlB,GAAS,WAAa,IAAInxD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,gCAAgCE,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,QAAU,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,WAAW,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAIwG,QAAQtF,GAAKG,WAAW,cAAc,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6B,MAAQ,qCAAqC,YAAcT,EAAIm2F,qBAAqBn1F,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAIokE,SAASljE,GAAKG,WAAW,eAAe,GAAIrB,EAA0B,uBAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQT,EAAIo2F,eAAe,MAAQ,CAAC,SAAUh7F,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAIP,UAAUyB,GAAKG,WAAW,gBAAgB,GAAGrB,EAAI6C,KAAM7C,EAA+B,4BAAEI,EAAG,QAAQ,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0B,MAAQT,EAAIq2F,oBAAoB,MAAQ,CAAC,SAAUj7F,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIs2F,eAAep1F,GAAKG,WAAW,qBAAqB,GAAGrB,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gCAAgC,MAAQT,EAAIu2F,kBAAkBv1F,MAAM,CAAC5L,MAAO4K,EAAuB,oBAAEiB,SAAS,SAAUC,GAAMlB,EAAIw2F,oBAAoBt1F,GAAKG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,4BAA4B,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,CAAC,SAAUlF,GAAK,OAAOA,EAAI,GAAK4E,EAAIS,GAAG,qBAAuBO,MAAM,CAAC5L,MAAO4K,EAA2B,wBAAEiB,SAAS,SAAUC,GAAMlB,EAAIskE,wBAAwBpjE,GAAKG,WAAW,8BAA8B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,SAAS,KAAO,KAAKO,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAImxD,MAAMjwD,GAAKG,WAAW,YAAY,IAAI,IAAI,IACj6E,GAAkB,GCyFXo1F,IAAX,SAAWA,GACT,+BACA,oBACA,qBAHF,CAAWA,QAAS,KAML,cAAI/0F,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,QAGdhN,KALwB,aAMtB,MAAO,CACLoF,OAAQ,MACR8H,UAAW,EACX2kE,SAAU4e,GAAmB0T,mBAC7BJ,eAAgB,EAChBE,oBAAqB,EACrBlyB,wBAAyB,EACzB99D,QAAS,OAASiZ,SAClB0xC,MAAO,GACPz3D,MAAO,OAIXoI,SAAU,OAAF,kEACH,eAAW,QAAS,CAAC,sBACrB,eAAW,WAAY,CAAC,oBACxB,eAAW,UAAW,CAAC,mBACvB,eAAW,gBAAiB,CAAC,wBAAsB,CAMtD/B,SANsD,aAOpD,OAAOE,KAAKm8E,eAAen8E,KAAKkU,aAMlCvU,QAbsD,aAcpD,OAAOK,KAAKoU,cAAcpU,KAAKF,SAASgK,YAO1ClK,QArBsD,aAsBpD,GAAII,KAAKL,QACP,OAAOK,KAAKL,QAAQC,QAEtB,OAAO,GAQTs2F,oBAjCsD,aAkCpD,MAAO,CACLxR,GAA2BrvE,QAC3BqvE,GAA2BgS,SAQ/BJ,iBA5CsD,aA6CpD,MAAO,CACL,CAAEnhG,OAAQ,EAAGsT,KAAM7K,EAAKxI,EAAE,gCAC1B,CAAED,MAAO,EAAGsT,KAAM7K,EAAKxI,EAAE,2BACzB,CAAED,MAAO,EAAGsT,KAAM7K,EAAKxI,EAAE,6BAU7BghG,oBA1DsD,aA0DnC,WACjB,OAAO,IAAE//F,IAAI2J,KAAKF,SAAS2lF,iBAAmB,IAAI,SAACjvF,GACjD,IAAMgV,EAAK,EAAK47C,mBAAmB5wD,GACnC,MAAO,CACLrB,MAAOqB,EACPiS,KAAM,GAAF,OAAK+C,EAAGf,OAAR,cAAoBe,EAAG9C,YAWjCytF,eA1EsD,aA0ExC,WACZ,IAAKn2F,KAAKJ,QACR,MAAO,GAET,IAAMq5E,EAAWj5E,KAAK8tB,iBAAiB9tB,KAAKJ,UAAY,GACxD,OAAO,IAAEjB,MAAMs6E,GACZ/9E,QAAO,SAACzG,GAAD,OAAOA,EAAE+B,KAAO,EAAKsJ,SAASN,aACrCnJ,KAAI,SAAC5B,GACJ,MAAO,CAAEU,MAAOV,EAAE+B,GAAIiS,KAAMhU,EAAEgW,WAE/BtV,SAOLwhG,4BA3FsD,aA4FpD,OAAO32F,KAAKmkE,WAAa4e,GAAmB6T,cAO9CC,uBAnGsD,aAoGpD,OAAO72F,KAAKmkE,WAAa4e,GAAmB+T,4BAGhDh1F,MAAO,CACLqiE,SADK,WACIjtD,GACP,OAAQA,GACN,KAAK6rE,GAAmB6T,aACtB52F,KAAKu2F,oBAAsBC,GAAUO,SACrC,MACF,KAAKhU,GAAmB0T,mBACtBz2F,KAAKu2F,oBAAsBC,GAAUQ,IACrC,MACF,KAAKjU,GAAmB2T,OACtB12F,KAAKu2F,oBAAsBC,GAAUS,IACrC,MACF,KAAKlU,GAAmBmU,cACtBl3F,KAAKu2F,oBAAsBC,GAAUS,IACrC,MACF,KAAKlU,GAAmBoU,cACtBn3F,KAAKu2F,oBAAsBC,GAAUS,IACrC,MACF,KAAKlU,GAAmBqU,qBACtBp3F,KAAKu2F,oBAAsBC,GAAUQ,IACrC,QAGNT,oBAvBK,WAuBec,GAClB,OAAQA,GACN,KAAKb,GAAUO,SACb/2F,KAAKqkE,wBAA0B,EAC/B,MACF,KAAKmyB,GAAUQ,IACbh3F,KAAKqkE,wBAA0B,EAC/B,MACF,KAAKmyB,GAAUS,IACbj3F,KAAKqkE,wBACHrkE,KAAKF,SAASklE,4BAChB,SAIRhjE,QAAS,CAMD4D,MANC,a,2KAOL,OAAM5F,KAAK2I,OAAOlQ,SAAS,8BAA+BuH,KAAKJ,S,OAE3DI,KAAKF,WACPE,KAAKR,UAAYQ,KAAKF,SAASN,WAGjCQ,KAAKmkE,SAAW4e,GAAmB0T,mBACnCz2F,KAAKu2F,oBAAsB,EAC3Bv2F,KAAKqkE,wBAA0B,EAC/BrkE,KAAKuG,QAAU,OAASiZ,SACxBxf,KAAKkxD,MAAQ,G,iDAOTrrD,KAxBC,a,4KAyBL7F,KAAKvG,MAAQ,K,kBAGM,OAAM,GAAYka,KAAK,kBAAmB,CACzDrhB,KAAM,CACJ4hB,WAAYlU,KAAKkU,WACjB1U,UAAWQ,KAAKR,UAChB2kE,SAAUnkE,KAAKmkE,SACfkyB,eAAgBr2F,KAAKq2F,eACrBE,oBAAqBv2F,KAAKu2F,oBAC1BlyB,wBAAyBrkE,KAAKqkE,wBAC9BnT,MAAOlxD,KAAKkxD,MACZ3qD,QAASvG,KAAKuG,W,OATZtJ,E,OAYA7D,EAAW6D,EAAS3K,KAAKA,KACzBshB,EAAQ7gB,OAAO8D,KAAKuC,EAASurF,oBAAoB,GACvD3kF,KAAK2I,OAAOnQ,OAAO,oBAAqBY,GACxC4G,KAAK2I,OAAOnQ,OAAO,2BAA4B,CAC7C6B,OAAQ,mCACRK,MAAOsF,KAAKkU,WACZ/e,MAAOye,IAGT5T,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,4DAINqa,WAAY,CACVqxB,oBACAsmD,yBC7Tic,MCOjc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACjpF,QAAA,KAAKE,QAAA,KAAKujB,WAAA,KAAQvS,aAAA,OC+HjC,cAAIjS,OAAO,CACxBsG,MAAO,CACLmM,WAAY5U,OACZgqF,YAAarhF,SAGfE,QANwB,aAOlBnI,KAAKkU,YACPlU,KAAKoI,aAITvG,SAAU,OAAF,8FACH,eAAW,QAAS,CAAC,mBACrB,eAAW,WAAY,CAAC,2BACxB,eAAS,WAAY,CAAC,+BACtB,eAAW,WAAY,CACxB,iCACA,wBAEC,eAAW,gBAAiB,CAAC,wBAC7B,eAAW,OAAQ,CAAC,mBAAiB,CAExCmjF,YAFwC,aAGtC,OAAOhlF,KAAK8kF,+BAA+B9kF,KAAKkU,aAGlD0hF,sBANwC,aAMnB,WACnB,OAAO,IAAEv/F,IAAI2J,KAAKglF,aAAa,SAAC/mF,GAC9B,IAAIq5F,EAAM15F,EAAKxI,EAAE,0BACb6I,EAAEs4F,oBAAsB,EAC1Be,EAAM15F,EAAKxI,EAAE,0BACJ6I,EAAEs4F,oBAAsB,IACjCe,EAAM15F,EAAKxI,EAAE,gCAEf,IAAM4xD,EAAe/oD,EAAEo4F,eACnB,EAAKjvC,mBAAmBnpD,EAAEo4F,gBAC1B,KACJ,OAAOtjG,OAAOyI,OAAOyC,EAAG,CACtB43F,oBAAqByB,EACrBtwC,qBAUNuiC,WA7BwC,aA8BtC,OAAOvpF,KAAKwmF,mBAAmBxmF,KAAKkU,aAMtCkX,OApCwC,aAqCtC,OACEprB,KAAKsD,cAAc,uCAClBtD,KAAKupF,YASVjsF,QAhDwC,aAiDtC,MAAO,CACL,CAAEnI,MAAO,UAAWsT,KAAM7K,EAAKxI,EAAE,WAAY0hB,MAAO,SACpD,CAAE3hB,MAAO,WAAYsT,KAAM7K,EAAKxI,EAAE,8BAClC,CACED,MAAO,sBACPsT,KAAM7K,EAAKxI,EAAE,iCAEf,CACED,MAAO,0BACPsT,KAAM7K,EAAKxI,EAAE,8BAEf,CACED,MAAO,qBACPsT,KAAM7K,EAAKxI,EAAE,mCAEf,CACED,MAAO,uBACPsT,KAAM7K,EAAKxI,EAAE,0CAEf,CAAED,MAAO,KAAMsT,KAAM7K,EAAKxI,EAAE,sBAKlC0M,MAAO,CAKLoS,WALK,WAKMlI,GACLhM,KAAKkU,YACPlU,KAAKoI,cAKXpG,QAAS,CACPoG,UADO,aAELpI,KAAK2I,OAAOlQ,SAAS,oCAAqC,CACxDyb,WAAYlU,KAAKkU,eAIvBJ,WAAY,CACVyjF,kCC3Q8b,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACn1F,SAAA,KAAME,UAAA,QAAUwV,cAAA,KAAWpV,QAAA,KAAKsC,YAAA,KAASC,cAAA,UCKxD,cAAIxD,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJgqF,YAAarhF,SAEf6L,WAAY,CACV0jF,mBACAC,8BACAC,+BCzCoa,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACl1F,QAAA,KAAKE,QAAA,OCSpB,cAAIjB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAENuC,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,iBAAkB,wBAAsB,CAEnE/B,SAFmE,aAGjE,OAAOE,KAAKm8E,eAAen8E,KAAKxJ,KAGlCmyF,aANmE,aAOjE,OAAO3oF,KAAK2E,OAAOjQ,MAAQ,IAO7B60F,WAdmE,aAejE,OAAOvpF,KAAKwmF,mBAAmBxmF,KAAKxJ,OAGxCsd,WAAY,CACV6jF,kBACAC,mBACAC,mBACAC,sBACAC,mBACAC,oBACAC,uBC/Dqa,MCOra,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACx1F,cAAA,KAAW6B,mBAAA,OCxBzC,IAAI,GAAS,WAAa,IAAIvE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACnB,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACyK,MAAM,CAC5O,QAAS7K,EAAIqK,SAASpG,WACtB,YAAajE,EAAIqK,SAASpG,WAC1B,WAAYjE,EAAIqK,SAASpG,aACxB,CAAC7D,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAKN,EAAIqK,SAAS8tF,mBAAmB,kBAAoB,qBAAqB,GAAKn4F,EAAIo4F,iBACpH,CAAEzjG,KAAM,oBAAqBgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,WAC1D,OAAO,GAAIrK,EAAIqK,SAAmB,WAAEjK,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACnB,EAAG,4BAA4B,CAACE,MAAM,CAAC,GAAKN,EAAIqK,SAASpG,WAAW,GAAK,CAAEtP,KAAM,oBAAqBgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,eAAgB,GAAGrK,EAAI6C,OAAOzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,gBAAgBT,EAAIS,GAAG,gBAAkB,MAAQT,EAAIS,GAAG,mBAAmB,aAAaT,EAAIS,GAAG,mBAAmB,cAAcT,EAAIS,GAAG,iBAAiBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,YAAY,OAAO,MAAQ,MAAM,QAAU,GAAG,IAAM,oBAAoB,IAAI,GAAIN,EAAW,QAAEI,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,OAAO,IAAI,GAAGN,EAAI6C,KAAO7C,EAAI2J,QAwBzwB3J,EAAI6C,KAxB8wBzC,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,iBAAiB,CAACF,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,iBAAiB,CAACF,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACxuC3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,aAC3B,CAACjK,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAIq4F,oBAAoB,IAAI,GAAGj4F,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gCAAgC,SAASL,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAC5S3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAAU,CAACixE,WAAY,WAClD,CAACl7E,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAIs4F,kBAAkB,IAAI,GAAGl4F,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIu4F,sBAAsBn4F,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAChR3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAAU,CAACixE,WAAY,UAClD,CAACl7E,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAIw4F,kBAAkB,IAAI,GAAGp4F,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,6BAA6B,SAAUR,KAAKw4F,aAAe,EAAGr4F,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAC/T3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAAU,CAACquF,YAAa,UACnD,CAACt4F,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAIy4F,iBAAiB,IAAI,GAAGr4F,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA2B,KAAKL,EAAG,MAAMJ,EAAIO,GAAG,MAAMP,EAAIQ,GAAGR,EAAIS,GAAG,eAAe,IAAIT,EAAIQ,GAAGR,EAAI24F,YAAY,YAAY34F,EAAI6C,MAAM,IAAI,GAAGzC,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,iBAAiB,CAACF,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAC/f3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAAU,CAACmD,SAAU,OAChD,CAACpN,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAI44F,cAAc,IAAI,GAAGx4F,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsB,EAAG,oBAAoB,SAASnc,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAChT3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAAU,CAACmD,SAAU,OAChD,CAACpN,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAI64F,gBAAgB,IAAI,GAAGz4F,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsB,EAAG,oBAAoB,SAAUvc,EAAI84F,WAAa,EAAG14F,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACvU3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAAU,CAACm7E,WAAY,WAClD,CAACplF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAI84F,eAAe,IAAI,GAAG14F,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,SAAST,EAAI6C,KAAM7C,EAAI+4F,cAAgB,EAAG34F,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACzT3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAAU,CAACm7E,WAAY,UAClD,CAACplF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAI+4F,kBAAkB,IAAI,GAAG34F,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,SAAST,EAAI6C,MAAM,IAAI,IAAI,GAAYzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,gBAAgB,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,GAAG,MAAQ,UAAU,CAACF,EAAG,cAAc,CAACmB,YAAY,0BAA0B,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,4BAA4B,CAACnB,EAAG,cAAc,CAACmB,YAAY,cAAcjB,MAAM,CAAC,GAAK,CAC5qB3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAAU,CAAC2uF,eAAgB,UACtD,CAAC54F,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAIi5F,wBAAwB,IAAI,GAAG74F,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,SAASL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,4BAA4B,CAACnB,EAAG,cAAc,CAACmB,YAAY,cAAcjB,MAAM,CAAC,GAAK,CACtU3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAAU,CAAC6uF,QAAS,UAC/C,CAAC94F,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAIm5F,iBAAiB,IAAI,GAAG/4F,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,UAAU,IAAI,IAAI,IAAI,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,OAAO,CAACF,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,GAAG,MAAQ,YAAY,CAACF,EAAG,cAAc,CAACmB,YAAY,0BAA0B,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,4BAA4B,CAACnB,EAAG,cAAc,CAACmB,YAAY,cAAcjB,MAAM,CAAC,GAAK,CACziB3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAAC+uF,eAAgB,UACjB,CAACh5F,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAIq5F,wBAAwB,IAAI,GAAGj5F,EAAG,MAAM,CAACmB,YAAY,oBAAoBnB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,4BAA4B,CAACnB,EAAG,cAAc,CAACmB,YAAY,cAAcjB,MAAM,CAAC,GAAK,CAC1Q3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACivF,gBAAiB,UAClB,CAACl5F,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAIu5F,yBAAyB,IAAI,GAAGn5F,EAAG,MAAM,CAACmB,YAAY,qBAAqB,GAAGnB,EAAG,QAAQ,CAACmB,YAAY,aAAajB,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,gBAAgBjB,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,SAASL,EAAG,QAAQ,CAACmB,YAAY,gBAAgBjB,MAAM,CAAC,KAAO,IAAI,GAAK,IAAI,GAAK,MAAM,CAACF,EAAG,MAAM,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,mCAAmC,IAAI,IAAI,IAAI,IAAI,IAAI,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,2BAA2B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,aAAa,GAAGjK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,2BAA2B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,aAAa,GAAGjK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,2BAA2B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,aAAa,GAAGjK,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,yBAAyB,CAACE,MAAM,CAAC,SAAWN,EAAIqK,aAAa,GAAIrK,EAAIy5E,kBAAwB,OAAEr5E,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,eAAe,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOL,EAAG,cAAcJ,EAAI0F,GAAI1F,EAAqB,mBAAE,SAAS7L,GAAG,OAAOiM,EAAG,QAAQ,CAAC1K,IAAIvB,EAAEsJ,OAAO6C,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA4BtM,EAAEsJ,SAAS,OAAO2C,EAAG,QAAQ,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAC5+C3L,KAAM,2BACN2K,OAAQ,CAAE7I,GAAIuJ,EAAIqK,SAASpG,eACzB,CAAC7D,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQnM,EAAEypC,UAAU,IAAI,IAAI,MAAK,IAAI,IAAI,GAAG59B,EAAI6C,KAAM7C,EAAI05E,kBAAwB,OAAEt5E,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,eAAe,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,OAAOL,EAAG,cAAcJ,EAAI0F,GAAI1F,EAAqB,mBAAE,SAAS7L,GAAG,OAAOiM,EAAG,QAAQ,CAAC1K,IAAIvB,EAAEsJ,OAAO6C,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA4BtM,EAAEsJ,SAAS,OAAO2C,EAAG,QAAQ,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACnkB3L,KAAM,2BACN2K,OAAQ,CAAE7I,GAAIuJ,EAAIqK,SAASpG,eACzB,CAAC7D,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQnM,EAAEypC,UAAU,IAAI,IAAI,MAAK,IAAI,IAAI,GAAG59B,EAAI6C,MAAM,IAAI,IAAI,GAAGzC,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,SAAW,IAAIU,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAI6wD,SAAS3vD,GAAKG,WAAW,aAAa,CAACjB,EAAG,2BAA2B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,YAAYjK,EAAG,2BAA2B,CAACE,MAAM,CAAC,SAAWN,EAAIqK,aAAa,IAAI,GAAIrK,EAAIqK,SAAmB,WAAEjK,EAAG,sBAAsB,CAACE,MAAM,CAAC,SAAWN,EAAIqK,YAAYrK,EAAI6C,MAAM,IAAI,IACrhB,GAAkB,GCnDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIosD,QAAQr5D,QAAUiN,EAAItG,OAASsG,EAAI+V,EAAG3V,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,kBAAkB,CAACA,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAKN,EAAIqK,SAASpG,cAAc7D,EAAG,MAAM,CAACmB,YAAY,iBAAiB,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAAiCT,EAAIkjC,SAASjqC,OAAO,QAAQ,GAAGmH,EAAG,YAAYA,EAAG,eAAe,CAACM,IAAI,QAAQJ,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,GAAG,cAAc,SAAS,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAK,EAAEiB,SAAS,SAAUC,GAAMlB,EAAI+V,EAAkB,kBAAR7U,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,QAAQ,GAAIrB,EAAW,QAAEI,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQ,SAAS,cAAgB,MAAMN,EAAI6C,KAAKzC,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAIzC,QAAQ,QAAUyC,EAAI2J,QAAQ,eAAe,GAAG,KAAO3J,EAAI0Z,YAAY,iBAAiB1Z,EAAI4Z,SAAS,sBAAsB5Z,EAAI6Z,mBAAmB,eAAe,CACtjC,yBAA0B,CAAC,GAAI,GAAI,GAAI,GAAI,MAC3C,eAAe7Z,EAAIS,GAAG,iBAAiBE,GAAG,CAAC,cAAc,CAAC,SAASC,GAAQZ,EAAI0Z,YAAY9Y,GAAQ,SAASA,GAAQ,OAAOZ,EAAIqI,cAAc,sBAAsB,SAASzH,GAAQZ,EAAI4Z,SAAShZ,GAAQ,wBAAwB,CAAC,SAASA,GAAQZ,EAAI4Z,SAAShZ,GAAQ,SAASA,GAAQ,OAAOZ,EAAIqI,eAAe/C,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACjW,IAAI0I,EAAO1I,EAAI0I,KACrB,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,kBAAmB2K,OAAQ,CAAE7I,GAAI2S,EAAK3S,OAAS,CAACuJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKzU,MAAM,QAAQ,GAAGyL,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKC,YAAYjJ,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKu7D,QAAQvkE,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAG4I,EAAKs7D,QAAQtkE,EAAG,KAAK,CAAyB,eAAvBgJ,EAAK6mE,cAAgC7vE,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,gBAAgBP,EAAI6C,KAA6B,aAAvBuG,EAAK6mE,cAA8B7vE,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,mBAAmBP,EAAI6C,MAAM,GAAGzC,EAAG,KAAK,CAACA,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQ,IAAIU,MAAM,CAAC5L,MAAOgU,EAAY,QAAEnI,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKlB,EAAM,UAAWlI,IAAMG,WAAW,mBAAmB,GAAGjB,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,kBAAoB8I,EAAK07D,sBAAsB,SAAS,KAAK,MAAM,eAAe,IAAI,GAAG9kE,EAAI6C,MACnyB,GAAkB,GCoFP,UAAInB,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAGZoV,QALwB,aAOtBnI,KAAKoI,UAAY,IAAEwN,SAAS5V,KAAKoI,UAAW,MAG9C9V,KAVwB,aAWtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEPqc,EAAG,GACHq2C,QAAS,GAGT1yC,YAAa,EACbE,SAAU,GACVC,mBAAoB,IAIxB/X,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAW,UAAW,CAAC,oBAAkB,CAE5CohC,SAF4C,aAG1C,OAAOjjC,KAAKkjC,eAAeljC,KAAKoK,SAASpG,aAG3C4lE,aAN4C,aAO1C,OAAO72E,OAAOyI,OAAO,GAAIwE,KAAKoK,SAAU,CACtC0L,EAAG9V,KAAK8V,EACRyjF,gBAAiB,QAIrBnuF,YAb4C,aAc1C,OAAOG,GAAsBvL,KAAK4pE,eAGpCtsE,QAjB4C,aAkB1C,MAAO,CACL,CAAEnI,MAAO,OAAQsT,KAAM7K,EAAKxI,EAAE,gBAC9B,CAAED,MAAO,UAAWsT,KAAM7K,EAAKxI,EAAE,mBACjC,CAAED,MAAO,MAAOsT,KAAM7K,EAAKxI,EAAE,iBAC7B,CAAED,MAAO,MAAOsT,KAAM7K,EAAKxI,EAAE,iBAC7B,CAAED,MAAO,KAAMsT,KAAM7K,EAAKxI,EAAE,6BAC5B,CAAEylB,SAAU,MAAO1lB,MAAO,KAAMsT,KAAM7K,EAAKxI,EAAE,gBAC7C,CACED,MAAO,oBACPsT,KAAM7K,EAAKxI,EAAE,8BACbgqB,MAAO,cAKftd,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKyZ,YAAc,EACnBzZ,KAAKmsD,QAAU,GACfnsD,KAAKoI,eAIXpG,QAAS,CACDoG,UADC,a,4KAELpI,KAAK0J,QAAU,KACf1J,KAAKmsD,QAAU,GACfnsD,KAAKvG,MAAQ,KAEPqY,EAAO,GACbA,EAAK1e,KAAL,qBAAwB4M,KAAK2Z,WAC7B7H,EAAK1e,KAAL,uBAA0B4M,KAAKyZ,cAC/B3H,EAAK1e,KAAK4M,KAAKoL,a,SAGP5G,E,4BAA2BsN,EAAK9G,KAAK,M,UAC/B,OAAM,GAAYjW,IAAIyP,G,QAA5BsqC,E,OACN9uC,KAAK4Z,mBAAqB,IAAE7kB,IAAI+5C,EAAK,2BAA6B,EAClE9uC,KAAKmsD,QAAU,IAAEp3D,IAAI+5C,EAAK,YAAa,I,qDAEvC9uC,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,sFAIrBoK,WAAY,CACVglE,oBCvLyb,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAahC,KAAkB,GAAW,CAAC12E,SAAA,KAAMI,QAAA,KAAKsV,cAAA,KAAWrD,SAAA,KAAMnQ,mBAAA,KAAgBS,WAAA,KAAQpC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UC/BtG,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,eAAe,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kCAAkC,OAAOL,EAAG,cAAc,CAAEJ,EAAW,QAAEI,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,MAAMN,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAW,SAAE,SAASy5F,GAAO,OAAOr5F,EAAG,QAAQ,CAAC1K,IAAI+jG,EAAMhjG,GAAG6J,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAuBk9E,EAAMrS,gBAAiB,4BAA6B,OAAOhnF,EAAG,QAAQ,CAACmB,YAAY,aAAajB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACvoB3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAAC0D,iBAAkB0rF,EAAMrS,qBACzB,CAACpnF,EAAIO,GAAG,IAAIP,EAAIQ,GAAGi5F,EAAM77D,OAAO,QAAQ,IAAI,OAAM,IAAI,IAChE,GAAkB,GCsCP,UAAIl8B,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAEZT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MACTyiD,QAAS,KAGbtqD,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CACpDuJ,YADoD,aAElD,OAAOG,GAAsBvL,KAAKoK,aAGtCtI,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAIXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,K,SAEPlF,E,uCAAsCxE,KAAKoL,a,SAChC,OAAM,GAAYrW,IAAIyP,G,OAAjCvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,gBAE5C+C,KAAK0J,QAAU,M,oFC3E2a,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAK8B,mBAAA,KAAgB5B,QAAA,OC5B9E,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,eAAe,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4BL,EAAG,cAAc,CAAEJ,EAAW,QAAEI,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,MAAMN,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAW,SAAE,SAAS7L,GAAG,OAAOiM,EAAG,QAAQ,CAAC1K,IAAIvB,EAAE87E,cAAc3vE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA4BtM,EAAE87E,gBAAgB,OAAO7vE,EAAG,QAAQ,CAACmB,YAAY,aAAajB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAC/lB3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAAC+4E,gBAAiBjvF,EAAE87E,mBACpB,CAAC7vE,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQnM,EAAEypC,UAAU,IAAI,IAAI,OAAM,IAAI,IACrE,GAAkB,GCgCP,UAAIl8B,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAEZT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MACTyiD,QAAS,KAGbtqD,SAAU,CACRuJ,YADQ,aAEN,OAAOG,GAAsBvL,KAAKoK,YAGtCtI,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAIXpG,QAAS,CACDoG,UADC,a,4KAELpI,KAAK0J,QAAU,K,SAEPlF,E,uCAAsCxE,KAAKoL,a,SAChC,OAAM,GAAYrW,IAAIyP,G,OAAjCvH,E,OACAw8F,EAAa,IAAE1kG,IAAIkI,EAAU,YAAa,IAKhD+C,KAAKmsD,QAAU,IAAEjxD,OAAOu+F,EAAY,CAAEzpB,cAAe,Y,gBAErDhwE,KAAK0J,QAAU,M,oFCzE2a,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAK8B,mBAAA,KAAgB5B,QAAA,OC5B9E,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIosD,QAAc,OAAEhsD,EAAG,oBAAoB,CAAEJ,EAAkB,eAAEI,EAAG,2BAA2B,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAGT,EAAIk9C,eAAiB,YAAY,OAAOl9C,EAAI6C,KAAKzC,EAAG,4BAA4B,CAAEJ,EAAW,QAAEI,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQ,SAAS,cAAgB,MAAMN,EAAI6C,KAAKzC,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAI2J,QAAQ,QAAU3J,EAAIzC,QAAQ,qBAAqB,GAAG,sBAAsB,GAAG,eAAe,CAAEo8F,SAAU,OAAQr0F,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GACzpB,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACxC3L,KAAM,oBACNgP,MAAO,CAAEM,WAAYmF,EAAKnF,eACxB,CAAC7D,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAK8I,EAAKnF,eAAe,IAAI,GAAG7D,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACtI3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAAU,CAACpG,WAAYmF,EAAKnF,gBACvD,CAACjE,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKwwF,WAAW,QAAQ,GAAGx5F,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAClH3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACpG,WAAYmF,EAAKnF,WAClBq3E,WAAY,UACZ,CAACt7E,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKovF,eAAe,QAAQ,GAAGp4F,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACtH3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACpG,WAAYmF,EAAKnF,WAClBq3E,WAAY,WACZ,CAACt7E,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKkvF,eAAe,QAAQ,GAAGl4F,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACtH3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACpG,WAAYmF,EAAKnF,WAClBuhF,WAAY,WACZ,CAACxlF,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK0vF,YAAY,QAAQ,GAAG14F,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACnH3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACpG,WAAYmF,EAAKnF,WAClBuhF,WAAY,UACZ,CAACxlF,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK2vF,eAAe,QAAQ,GAAG34F,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACtH3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACpG,WAAYmF,EAAKnF,WAClBi1F,QAAS,UACT,CAACl5F,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK+vF,cAAc,QAAQ,GAAG/4F,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACrH3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACpG,WAAYmF,EAAKnF,WAClBm1F,eAAgB,UAChB,CAACp5F,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKiwF,qBAAqB,QAAQ,GAAGj5F,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAC5H3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACpG,WAAYmF,EAAKnF,WAClBq1F,gBAAiB,UACjB,CAACt5F,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKmwF,sBAAsB,QAAQ,SAAS,KAAK,MAAM,eAAe,IAAI,GAAGv5F,EAAI6C,MAClH,GAAkB,GC+HP,UAAInB,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAEZT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEP0yD,QAAS,KAGbtqD,SAAU,CACRvE,QADQ,aAEN,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,kBAAmBD,MAAO,OAAQ2hB,MAAO,SACxD,CACErO,KAAM7K,EAAKxI,EAAE,uBACbD,MAAO,YACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,4BACbD,MAAO,gBACPiqB,MAAO,SAET,CACE3W,KAAMzI,KAAKs4F,gBACXnjG,MAAO,gBACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,aACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,mBACbD,MAAO,gBACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,qBACbD,MAAO,eACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,2BACbD,MAAO,sBACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,4BACbD,MAAO,uBACPiqB,MAAO,WASb69B,eAnDQ,aAoDN,IAAMza,EAAQ,IAAEnsC,IAAI2J,KAAKmsD,QAAS,QAClC,OAAO,IAAExtD,MAAM6jC,GACZmZ,UACAW,UACAkB,MAAM,IAAE1oB,MACR2oB,OACAtoD,SAGLiW,YA7DQ,aA8DN,OAAOG,GAAsBvL,KAAKoK,WAGpCkuF,gBAjEQ,aAkEN,IAAMsB,EAAK,IAAEj7F,MAAMqB,KAAKmsD,SAAS91D,IAAI,iBAAiB0mB,MAAM5nB,QACtD0kG,EAAK,IAAEl7F,MAAMqB,KAAKmsD,SAAS91D,IAAI,cAAc0mB,MAAM5nB,QACzD,OAAIykG,EAAK,GAAKC,EAAK,EACVj8F,EAAKxI,EAAE,4BAA4B0W,WAEnClO,EAAKxI,EAAE,4BAA4B0W,aAIhDhK,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAIXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKmsD,QAAU,GACfnsD,KAAKvG,MAAQ,K,SAEL+K,E,iCAAgCxE,KAAKoL,a,SAC/B,OAAM,GAAYrW,IAAIyP,G,OAA5BsqC,E,OACN9uC,KAAKmsD,QAAU,IAAEp3D,IAAI+5C,EAAK,YAAa,I,qDAEvC9uC,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,wFCtR2a,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACoO,cAAA,KAAW+5B,mBAAA,KAAgBC,0BAAA,KAAuBC,yBAAA,KAAsBztC,mBAAA,OC3BtG,IAAI,GAAS,WAAa,IAAIvE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIosD,QAAQr5D,OAAS,EAAGqN,EAAG,oBAAoB,CAAEJ,EAAkB,eAAEI,EAAG,2BAA2B,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAGT,EAAIk9C,eAAiB,YAAY,OAAOl9C,EAAI6C,KAAKzC,EAAG,4BAA4B,CAAEJ,EAAW,QAAEI,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQ,SAAS,cAAgB,MAAMN,EAAI6C,KAAKzC,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAI2J,QAAQ,QAAU3J,EAAIzC,QAAQ,qBAAqB,GAAG,sBAAsB,GAAG,eAAe,CAAEo8F,SAAU,OAAQr0F,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,OAAO8P,GAAG,SAAS9E,GAC7pB,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACxC3L,KAAM,oBACNgP,MAAO,CAAEw0F,mBAAoB/uF,EAAK1C,eAChC,CAACtG,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAK8I,EAAK1C,eAAe,IAAI,GAAGtG,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAChI3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAAU,CAAC8tF,mBAAoB/uF,EAAK1C,gBAC/D,CAAC1G,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKwwF,WAAW,QAAQ,GAAGx5F,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAClH3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAAC8tF,mBAAoB/uF,EAAK1C,WAC1B40E,WAAY,UACZ,CAACt7E,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKovF,eAAe,QAAQ,GAAGp4F,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACtH3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAAC8tF,mBAAoB/uF,EAAK1C,WAC1B40E,WAAY,WACZ,CAACt7E,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKkvF,eAAe,QAAQ,GAAGl4F,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACtH3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAAC8tF,mBAAoB/uF,EAAK1C,WAC1B8+E,WAAY,WACZ,CAACxlF,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK0vF,YAAY,QAAQ,GAAG14F,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACnH3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAAC8tF,mBAAoB/uF,EAAK1C,WAC1B8+E,WAAY,UACZ,CAACxlF,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK2vF,eAAe,QAAQ,GAAG34F,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACtH3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAAC8tF,mBAAoB/uF,EAAK1C,WAC1BwyF,QAAS,UACT,CAACl5F,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAK+vF,cAAc,QAAQ,GAAG/4F,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CACrH3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAAC8tF,mBAAoB/uF,EAAK1C,WAC1B0yF,eAAgB,UAChB,CAACp5F,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKiwF,qBAAqB,QAAQ,GAAGj5F,EAAG,KAAK,CAACmB,YAAY,cAAc,CAACnB,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAC5H3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAAC8tF,mBAAoB/uF,EAAK1C,WAC1B4yF,gBAAiB,UACjB,CAACt5F,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKmwF,sBAAsB,QAAQ,SAAS,KAAK,MAAM,eAAe,IAAI,GAAGv5F,EAAI6C,MAClH,GAAkB,GC8HP,UAAInB,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAEZT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEP0yD,QAAS,KAGbtqD,SAAU,CACRvE,QADQ,aAEN,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,kBAAmBD,MAAO,OAAQ2hB,MAAO,SAExD,CACErO,KAAM7K,EAAKxI,EAAE,uBACbD,MAAO,YACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,4BACbD,MAAO,gBACPiqB,MAAO,SAET,CACE3W,KAAMzI,KAAKs4F,gBACXnjG,MAAO,gBACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,gBACbD,MAAO,aACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,mBACbD,MAAO,gBACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,qBACbD,MAAO,eACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,2BACbD,MAAO,sBACPiqB,MAAO,SAET,CACE3W,KAAM7K,EAAKxI,EAAE,4BACbD,MAAO,uBACPiqB,MAAO,WAQb69B,eAnDQ,aAoDN,IAAMza,EAAQ,IAAEnsC,IAAI2J,KAAKmsD,QAAS,QAClC,OAAO,IAAExtD,MAAM6jC,GACZmZ,UACAW,UACAkB,MAAM,IAAE1oB,MACR2oB,OACAtoD,SAGLiW,YA7DQ,aA8DN,OAAOG,GAAsBvL,KAAKoK,WAGpCkuF,gBAjEQ,aAkEN,IAAMsB,EAAK,IAAEj7F,MAAMqB,KAAKmsD,SAAS91D,IAAI,iBAAiB0mB,MAAM5nB,QACtD0kG,EAAK,IAAEl7F,MAAMqB,KAAKmsD,SAAS91D,IAAI,cAAc0mB,MAAM5nB,QACzD,OAAIykG,EAAK,GAAKC,EAAK,EACVj8F,EAAKxI,EAAE,4BAA4B0W,WAEnClO,EAAKxI,EAAE,4BAA4B0W,aAIhDhK,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAIXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,KACf1J,KAAKmsD,QAAU,GACfnsD,KAAKvG,MAAQ,K,SAEL+K,E,iCAAgCxE,KAAKoL,a,SAC/B,OAAM,GAAYrW,IAAIyP,G,OAA5BsqC,E,OACN9uC,KAAKmsD,QAAU,IAAEp3D,IAAI+5C,EAAK,YAAa,I,qDAEvC9uC,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,wFCrR2a,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACoO,cAAA,KAAW+5B,mBAAA,KAAgBC,0BAAA,KAAuBC,yBAAA,KAAsBztC,mBAAA,OC3BtG,IAAI,GAAS,WAAa,IAAIvE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,eAAe,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,MAAMT,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsB,OAAOL,EAAG,cAAc,CAAEJ,EAAW,QAAEI,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,MAAMN,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAsB,oBAAE,SAASwrB,GAAK,OAAOprB,EAAG,QAAQ,CAAC1K,IAAI,cAAgB81B,EAAI3d,cAAcvN,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIuc,sBAAsBiP,EAAI3d,cAAe,0BAA0B,OAAOzN,EAAG,QAAQ,CAACmB,YAAY,aAAajB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAChsB3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACwD,cAAe2d,EAAI3d,mBACpB,CAACzN,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQkrB,EAAIoS,UAAU,IAAI,IAAI,MAAO59B,EAAI2J,QAA8C3J,EAAI6C,KAAzCzC,EAAG,YAAY,CAACmB,YAAY,SAAkBvB,EAAI0F,GAAI1F,EAAqB,mBAAE,SAASwrB,GAAK,OAAOprB,EAAG,QAAQ,CAAC1K,IAAI,UAAY81B,EAAIuuE,UAAUz5F,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAKkrB,EAAIuuE,cAAc,GAAG35F,EAAG,QAAQ,CAACmB,YAAY,aAAajB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAC9Z3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACa,sBAAuBsgB,EAAIuuE,eAC5B,CAAC35F,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQkrB,EAAIoS,UAAU,IAAI,IAAI,OAAM,IAAI,IACvE,GAAkB,GCuEP,UAAIl8B,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAEZT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MAETqwF,mBAAoB,GACpBC,kBAAmB,KAGvBn4F,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,2BAAyB,CACpDuJ,YADoD,aAElD,OAAOG,GAAsBvL,KAAKoK,aAGtCtI,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAIXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,K,SAEPlF,E,mCAAkCxE,KAAKoL,a,SAC3B,OAAMrN,QAAQ2B,IAAI,CAClC,GAAY3K,IAAZ,oCAA6CiL,KAAKoL,cAClD,GAAYrW,IAAZ,mCAA4CiL,KAAKoL,gB,OAF7C6uF,E,OAONj6F,KAAK+5F,mBAAqB,IAAEhlG,IAAIklG,EAAW,kBAAoB,GAC/Dj6F,KAAKg6F,kBAAoB,IAAEjlG,IAAIklG,EAAW,kBAAoB,G,gBAE9Dj6F,KAAK0J,QAAU,M,oFCzHya,MCO5b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKsC,YAAA,KAASR,mBAAA,KAAgB5B,QAAA,OC7BvF,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACmB,YAAY,cAAcjB,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,eAAe,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,8BAA8BL,EAAG,cAAc,CAAEJ,EAAW,QAAEI,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,MAAMN,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAW,SAAE,SAASzL,GAAG,OAAO6L,EAAG,QAAQ,CAAC1K,IAAInB,EAAEuzF,cAAcxnF,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,2BAA6BlM,EAAEuzF,gBAAgB,OAAO1nF,EAAG,QAAQ,CAACmB,YAAY,aAAajB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAClmB3L,KAAM,iBACNgP,MAAO3Q,OAAOyI,OAAO,GAAIuE,EAAIqK,SAC3B,CAACy9E,cAAevzF,EAAEuzF,mBAClB,CAAC1nF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ/L,EAAEqpC,UAAU,IAAI,IAAI,OAAM,IAAI,IACrE,GAAkB,GC8BP,UAAIl8B,OAAO,CACxBsG,MAAO,CACLqC,SAAUrX,QAEZT,KAJwB,aAKtB,MAAO,CACLoX,QAAS,MACTyiD,QAAS,KAGbtqD,SAAU,CACRuJ,YADQ,aAEN,OAAOG,GAAsBvL,KAAKoK,YAGtCtI,MAAO,CACLsJ,YAAa,CACXnH,UAAW,KACXC,QAFW,aAGTlE,KAAKoI,eAIXpG,QAAS,CACDoG,UADC,a,0KAELpI,KAAK0J,QAAU,K,SAEPlF,E,uCAAsCxE,KAAKoL,a,SAChC,OAAM,GAAYrW,IAAIyP,G,OAAjCvH,E,OACN+C,KAAKmsD,QAAU,IAAEp3D,IAAIkI,EAAU,YAAa,I,gBAE5C+C,KAAK0J,QAAU,M,oFClE2a,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACtH,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAK8B,mBAAA,KAAgB5B,QAAA,OC2Y/D,cAAIjB,OAAO,CAMxB0G,QANwB,aAQtBnI,KAAKk6F,WAAa,IAAEtkF,SAAS5V,KAAKk6F,WAAY,IAG9ChuF,GAAgBlM,KAAK2E,OAAQ3E,KAAKoK,UAGlC,IAAKpK,KAAKm4F,iBAAkB,CAC1B,IAAMgC,EAAcn6F,KAAKugB,wBAAwB,oBAC5C,IAAE1lB,SAASs/F,EAAan6F,KAAKoK,SAASpG,aACrCm2F,EAAYrnG,OAAS,IACvBkN,KAAKoK,SAASpG,WAAam2F,EAAY,IAS7Cn6F,KAAKk6F,cAGP5nG,KA9BwB,aA+BtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KACPm3D,SAAU,CAAC,GAEXxmD,SAAU,CACRpG,WAAY,EACZk0F,mBAAoB,EACpB3S,WAAY,KACZpC,gBAAiB,CAAC,eAGpBiV,gBAAiB,EACjBI,aAAc,EACdE,WAAY,EACZQ,aAAc,EACdF,oBAAqB,EACrBoB,mBAAoB,EACpBhB,oBAAqB,EACrBiB,oBAAqB,EACrBf,qBAAsB,EACtBX,UAAW,EACXC,YAAa,EACbC,WAAY,EACZC,cAAe,EACfT,cAAe,EACfE,cAAe,EACf/e,kBAAmB,GACnBC,kBAAmB,KAGvB53E,SAAU,OAAF,oDACH,eAAW,OAAQ,CACpB,mBACA,qBACA,6BAEC,eAAW,WAAY,CAAC,2BACxB,eAAW,UAAW,CAAC,oBAAkB,CAE5CohC,SAF4C,aAG1C,OAAOjjC,KAAKkjC,eAAeljC,KAAKoK,SAASpG,aAG3Cs0F,gBAN4C,aAO1C,GACEt4F,KAAKijC,UACLjjC,KAAKijC,SAAS2b,mBACb5+C,KAAKijC,SAAS4b,cAEf,OAAO7+C,KAAKiZ,MAAM7jB,EAAE,4BAA4B0W,WAElD,OAAO9L,KAAKiZ,MAAM7jB,EAAE,4BAA4B0W,YAGlDV,YAjB4C,aAkB1C,OAAOG,GAAsBvL,KAAKoK,aAGtCtI,MAAO,CACL6C,OADK,WACE21F,EAAUC,GACfruF,GAAgBlM,KAAK2E,OAAQ3E,KAAKoK,WAGpCgB,YALK,WAKOovF,EAAUC,GACpBz6F,KAAKk6F,eAGTl4F,QAAS,CACDk4F,WADC,a,gLAELl6F,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAGL+K,E,2BAA0BxE,KAAKoL,a,SACpB,OAAM,GAAYrW,IAAIyP,G,OAAjCvH,E,OAEN,GAAIA,GAAYA,EAAS3K,MAAQ2K,EAAS3K,KAAKA,KAAM,CAC7Cs2E,EAAQ3rE,EAAS3K,KAAKA,KAC5B0N,KAAKo4F,gBAAkBxvB,EAAMwvB,gBAC7Bp4F,KAAKw4F,aAAe5vB,EAAM4vB,aAC1Bx4F,KAAK04F,WAAa9vB,EAAM8vB,WACxB14F,KAAKk5F,aAAetwB,EAAMswB,aAC1Bl5F,KAAKg5F,oBAAsBpwB,EAAMowB,oBACjCh5F,KAAKo6F,mBAAqBxxB,EAAMwxB,mBAChCp6F,KAAKo5F,oBAAsBxwB,EAAMwwB,oBACjCp5F,KAAKq6F,oBAAsBzxB,EAAMyxB,oBACjCr6F,KAAKs5F,qBAAuB1wB,EAAM0wB,qBAClCt5F,KAAKq4F,cAAgBzvB,EAAMyvB,cAC3Br4F,KAAKu4F,cAAgB3vB,EAAM2vB,cAC3Bv4F,KAAK24F,UAAY/vB,EAAM+vB,UACvB34F,KAAK44F,YAAchwB,EAAMgwB,YACzB54F,KAAK64F,WAAajwB,EAAMiwB,WACxB74F,KAAK84F,cAAgBlwB,EAAMkwB,cAC3B94F,KAAKw5E,kBAAoB5Q,EAAM4Q,kBAC/Bx5E,KAAKy5E,kBAAoB7Q,EAAM6Q,kBAEjCz5E,KAAK4wD,SAAW,CAAC,GAEbltD,EAAQ1D,KAAKoL,YACH,KAAV1H,IACFA,EAAQ,IAAH,OAAOA,IAER4vD,E,UAAatzD,KAAK2E,OAAOwN,M,OAAOzO,GAClC1D,KAAK2E,OAAOC,WAAa0uD,GAC3BtzD,KAAKoE,QAAQhR,KAAKkgE,G,qDAGpBtzD,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,qFAGnB9D,MA7CO,aA8CL5F,KAAKoK,SAAW,CACdpG,WAAY,EACZk0F,mBAAoB,EACpB3S,WAAY,KACZpC,gBAAiB,CAAC,iBAIxBrvE,WAAY,CACV4mF,uBACAC,4BACAC,4BACAC,4BACAC,4BACAC,0BACAC,+BCvkBqa,MCOra,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAahC,KAAkB,GAAW,CAAC54F,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKC,cAAA,KAAWuvC,oBAAA,KAAiB+6B,QAAA,KAAKzoE,mBAAA,KAAgB5B,QAAA,OC/B/G,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACmB,YAAY,SAAS,CAACnB,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAI4E,QAAQjE,GAAG,CAAC,aAAeX,EAAIyyD,iBAAiB,IAC9N,GAAkB,GCDlB,GAAS,WAAa,IAAIzyD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACO,GAAG,CAAC,OAAS,SAASC,GAAQA,EAAOC,iBAAiB,OAAOb,EAAIqI,UAAU3U,MAAM,KAAMqN,cAAc,CAACX,EAAG,SAAS,CAACE,MAAM,CAAC,QAAUN,EAAI2J,UAAU,CAACvJ,EAAG,YAAY,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,UAAU,mBAAmBN,EAAIkK,MAAQ,OAAS,OAAO5E,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACpF,EAAG,YAAYA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIoK,eAAelJ,GAAKG,WAAW,sBAAsBoE,MAAM,SAAS,CAACrF,EAAG,kBAAkB,CAACmB,YAAY,WAAW,CAACnB,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,eAAeP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,MAAM,GAAGL,EAAG,YAAcJ,EAAIoK,eAAoTpK,EAAI6C,KAAxSzC,EAAG,eAAe,CAACM,IAAI,QAAQJ,MAAM,CAAC,MAAQN,EAAIS,GAAG,UAAU,cAAc,GAAG,eAAe,GAAG,cAAc,SAAS,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAU,EAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,IAAqB,kBAARnJ,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,gBAAyBrB,EAAIgG,GAAG,WAAW,GAAG5F,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAUsG,EAAkB,eAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAU,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,+BAA+B,MAAQ,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAuB,eAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,iBAAkBnJ,IAAMG,WAAW,8BAA8B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gCAAgC,MAAQ,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,MAAQ,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAgB,QAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,UAAWnJ,IAAMG,WAAW,uBAAuB,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAa,KAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,OAAQnJ,IAAMG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAgB,QAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,UAAWnJ,IAAMG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAc,MAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,QAASnJ,IAAMG,WAAW,qBAAqB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,kBAAkB,kBAAkB,GAAG,UAAY,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiB,SAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,WAAYnJ,IAAMG,WAAW,wBAAwB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAgB,KAAOT,EAAIS,GAAG,iBAAmB,KAAKO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAe,OAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,SAAUnJ,IAAMG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAgB,KAAOT,EAAIS,GAAG,iBAAmB,KAAKO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAe,OAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,SAAUnJ,IAAMG,WAAW,sBAAsB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAoB,YAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,cAAenJ,IAAMG,WAAW,2BAA2B,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,OAAS,KAAK,KAAO,UAAUO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,OAAS,KAAK,KAAO,UAAUO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,OAAS,KAAK,KAAO,UAAUO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,OAAS,KAAK,KAAO,UAAUO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,MAAQ,qBAAqB,UAAY,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAoB,YAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,cAAenJ,IAAMG,WAAW,2BAA2B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQ,oBAAoB,UAAY,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,wBAAwB,CAACE,MAAM,CAAC,SAAW,GAAG,MAAQ,GAAG,UAAY,GAAG,kBAAkB,IAAIU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,wBAAwB,CAACE,MAAM,CAAC,UAAY,IAAIU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQ,oBAAoB,kBAAkB,WAAW,UAAY,GAAG,aAAa,OAAOU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA2B,mBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,qBAAsBnJ,IAAMG,WAAW,kCAAkC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,UAAY,GAAG,uBAAuB,iBAAiBU,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAY,IAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,MAAOnJ,IAAMG,WAAW,mBAAmB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAY,IAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,MAAOnJ,IAAMG,WAAW,mBAAmB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iCAAiC,MAAQ,0BAA0B,UAAY,GAAG,SAAW,GAAG,cAAc,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAyB,iBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,mBAAoBnJ,IAAMG,WAAW,gCAAgC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQ,wBAAwB,aAAa,MAAM,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAsB,cAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,gBAAiBnJ,IAAMG,WAAW,6BAA6B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA8B,sBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,wBAAyBnJ,IAAMG,WAAW,qCAAqC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oBAAoB,aAAa,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA6B,qBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,uBAAwBnJ,IAAMG,WAAW,oCAAoC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kBAAkB,gBAAgBT,EAAIS,GAAG,OAAOO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAgB,QAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,UAAWnJ,IAAMG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,aAAa,UAAY,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA0B,kBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,oBAAqBnJ,IAAMG,WAAW,iCAAiC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,WAAW,UAAY,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA2B,mBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,qBAAsBnJ,IAAMG,WAAW,kCAAkC,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,aAAa,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiC,yBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,2BAA4BnJ,IAAMG,WAAW,wCAAwC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,WAAW,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAkC,0BAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,4BAA6BnJ,IAAMG,WAAW,yCAAyC,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,CAACF,EAAG,QAAQ,CAACmB,YAAY,UAAUjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,aAAa,UAAY,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAuB,eAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,iBAAkBnJ,IAAMG,WAAW,8BAA8B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,WAAW,UAAY,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,IAAI,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6B,OAAS,KAAKO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA+B,uBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,yBAA0BnJ,IAAMG,WAAW,sCAAsC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,6BAA6B,OAAS,KAAKO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA+B,uBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,yBAA0BnJ,IAAMG,WAAW,sCAAsC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kCAAkC,MAAQT,EAAIk7F,aAAa,UAAY,IAAIl6F,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAyC,iCAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,mCAAoCnJ,IAAMG,WAAW,gDAAgD,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qCAAqC,MAAQT,EAAIk7F,aAAa,UAAY,IAAIl6F,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA4C,oCAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,sCAAuCnJ,IAAMG,WAAW,mDAAmD,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,8BAC7/a,IACAT,EAAIS,GAAG,8BAA8B,gBAAgBT,EAAIS,GAAG,4BAC5D,MACAT,EAAIS,GAAG,4BAA4B,aAAaT,EAAIS,GAAG,4BAA4B,cAAcT,EAAIS,GAAG,6BAA6BO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,gBAAgBT,EAAIS,GAAG,gBAAkB,MAAQT,EAAIS,GAAG,mBAAmB,aAAaT,EAAIS,GAAG,mBAAmB,cAAcT,EAAIS,GAAG,iBAAiBO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAmB,WAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,aAAcnJ,IAAMG,WAAW,0BAA0B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ,0BAA0B,aAAa,MAAM,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,IAAI,GAAGjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,oCAAoC,MAAQ,8BAA8B,SAAW,GAAG,cAAc,GAAG,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA6B,qBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,uBAAwBnJ,IAAMG,WAAW,oCAAoC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,kCAAkC,MAAQ,2BAA2B,SAAW,GAAG,cAAc,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA0B,kBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,oBAAqBnJ,IAAMG,WAAW,iCAAiC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,wBAAwB,MAAQ,0BAA0B,kBAAkB,GAAG,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,+BAA+B,IAAI,GAAGjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sCAAsC,MAAQ,kCAAkC,UAAY,GAAG,SAAW,GAAG,cAAc,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAA8B,sBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,wBAAyBnJ,IAAMG,WAAW,qCAAqC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ,oBAAoB,kBAAkB,GAAG,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAyB,iBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,mBAAoBnJ,IAAMG,WAAW,gCAAgC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,yBAAyB,MAAQ,oBAAoB,kBAAkB,GAAG,UAAY,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAyB,iBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,mBAAoBnJ,IAAMG,WAAW,gCAAgC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,0BAA0B,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,MAAQ,wBAAwB,UAAY,GAAG,kBAAkB,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAuB,eAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,iBAAkBnJ,IAAMG,WAAW,8BAA8B,IAAI,GAAGjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,MAAQ,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAuB,eAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,iBAAkBnJ,IAAMG,WAAW,8BAA8B,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,mBAAmB,MAAQ,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAyB,iBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,mBAAoBnJ,IAAMG,WAAW,gCAAgC,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,UAAY,GAAG,MAAQ,GAAG,kBAAkB,GAAG,eAAe,GAAG,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAwB,gBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,kBAAmBnJ,IAAMG,WAAW,8BAA+BrB,EAAIqK,SAAS8wF,gBAAgBpoG,OAAS,EAAGqN,EAAG,aAAa,CAACmB,YAAY,OAAOjB,MAAM,CAAC,MAAQN,EAAIS,GAAG,4BAA4B,MAAQ,IAAIO,MAAM,CAAC5L,MAAO4K,EAAIqK,SAAiC,yBAAEpJ,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIqK,SAAU,2BAA4BnJ,IAAMG,WAAW,uCAAuCrB,EAAI6C,MAAM,IAAI,IAAI,GAAG7C,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACmB,YAAY,aAAajB,MAAM,CAAC,MAAQN,EAAIosD,QAAQ,QAAUpsD,EAAIzC,QAAQ,QAAUyC,EAAI2J,QAAQ,eAAe,GAAG,KAAO3J,EAAIyK,KAAKC,OAAO,iBAAiB1K,EAAIyK,KAAKE,KAAK,sBAAsB3K,EAAIyK,KAAKG,YAAY,eAAe,CACllK,yBAA0B,CAAC,GAAI,GAAI,GAAI,GAAI,MAC3C,eAAe5K,EAAIS,GAAG,gBAAgB,MAAQ,IAAIE,GAAG,CAAC,cAAc,SAASC,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,SAAU7J,IAAS,sBAAsB,SAASA,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,OAAQ7J,IAAS,wBAAwB,SAASA,GAAQ,OAAOZ,EAAIsK,KAAKtK,EAAIyK,KAAM,OAAQ7J,IAAS,YAAYZ,EAAIo7F,cAAc91F,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,UAAU8P,GAAG,SAAS9E,GACvX,IAAItL,EAAQsL,EAAItL,MAC5B,MAAO,CAACgL,EAAG,QAAQ,CAACE,MAAM,CAAC,UAAU,GAAG,GAAK,CAAE3L,KAAM,kBAAmB2K,OAAQ,CAAE7I,GAAIrB,IAAU,OAAS,SAAS,MAAQ4K,EAAIS,GAAG,sBAAsB8wE,SAAS,CAAC,MAAQ,SAAS3wE,GAAQ,OAAOA,EAAOy6F,8BAA8B,CAACj7F,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,2BAA2B,MAAM,CAAC7K,IAAI,6BAA6B8P,GAAG,SAAS9E,GACrV,IAAItL,EAAQsL,EAAItL,MAC5B,MAAO,CAACgL,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO,GAAG,GAAKlL,QAAY,CAACM,IAAI,eAAe8P,GAAG,SAAS9E,GAClF,IAAItL,EAAQsL,EAAItL,MAC5B,MAAO,CAAC4K,EAAIO,GAAG,IAAIP,EAAIQ,GAAGpL,EAAM6V,KAAK,OAAO,QAAQ,CAACvV,IAAI,iBAAiB8P,GAAG,SAAS9E,GAC1E,IAAI0I,EAAO1I,EAAI0I,KAC3B,MAAO,CAAChJ,EAAG,aAAa,CAACE,MAAM,CAAC,UAAY8I,EAAK+B,UAAU,cAAgB/B,EAAKgC,uBAAuB,YAAY,SAAS,CAAC1V,IAAI,eAAe8P,GAAG,SAAS9E,GAChJ,IAAI0I,EAAO1I,EAAI0I,KAC3B,MAAO,CAAChJ,EAAG,gBAAgB,CAACE,MAAM,CAAC,UAAU,IAAIU,MAAM,CAAC5L,MAAOgU,EAAY,QAAEnI,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKlB,EAAM,UAAWlI,IAAMG,WAAW,qBAAqB,CAAC3L,IAAI,yBAAyB8P,GAAG,SAAS9E,GACpM,IAAI0I,EAAO1I,EAAI0I,KAC3B,MAAO,CAAChJ,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQ,GAAG,kBAAoB8I,EAAK07D,kBAAkB,QAAU17D,EAAK8mE,eAAe,KAAK,SAAS,GAAIlwE,EAAa,UAAEI,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,SAAS,KAAO,kDAAoDN,EAAIqL,cAAc,CAACjL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,mBAAmBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,MAAM,IAAI,GAAGT,EAAI6C,MAAM,GAAG7C,EAAIgG,GAAG,WAAW,IAAI,IAAI,IACjf,GAAkB,GCnBlB,GAAS,WAAa,IAAIhG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,0BAA0B,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAIs7F,qBAAqB,SAAWt7F,EAAIyH,SAAS,SAAWzH,EAAIuH,SAAS,MAAQvH,EAAI6H,MAAM,cAAc7H,EAAI6H,MAAM,UAAY7H,EAAIwH,UAAU,kBAAkBxH,EAAI8H,gBAAgBnH,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,GAAU,QAC5b,GAAkB,GCkBP,UAAIc,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAO,CAAC6S,OAAQ9O,OAChBsO,SAAUS,QACVX,SAAUW,QACVL,MAAOK,QACPV,UAAWU,QACXJ,eAAgBI,SAElBpG,SAAU,OAAF,wBACH,eAAS,WAAY,CAAC,qBAAmB,CAC5Cw5F,qBAD4C,aAE1C,OAAOr7F,KAAKmjF,gBAAgB9sF,KAAI,SAACnC,GAAD,MAAQ,CACtCiB,MAAOjB,EACPuU,KAAM7K,EAAKxI,EAAE,0BAA4BlB,YClC8Y,MCO3b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC8U,iBAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIjJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,0BAA0B,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAIu7F,qBAAqB,SAAWv7F,EAAIyH,SAAS,SAAWzH,EAAIuH,SAAS,MAAQvH,EAAI6H,MAAM,cAAc7H,EAAI6H,MAAM,UAAY7H,EAAIwH,UAAU,kBAAkBxH,EAAI8H,gBAAgBnH,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,QAClb,GAAkB,GCkBP,UAAIc,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAO,CAAC6S,OAAQ9O,OAChBsO,SAAUS,QACVX,SAAUW,QACVL,MAAOK,QACPV,UAAWU,QACXJ,eAAgBI,SAElBpG,SAAU,OAAF,wBACH,eAAS,WAAY,CAAC,oBAAkB,CAC3Cy5F,qBAD2C,aAEzC,OAAOt7F,KAAK6jF,eAAextF,KAAI,SAACnC,GAAD,MAAQ,CACrCiB,MAAOjB,EACPuU,KAAM7K,EAAKxI,EAAE,2BAA6BlB,YClC6Y,MCO3b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC8U,iBAAA,OCsoBf,cAAIvH,OAAO,CACxBsG,MAAO,CAMLtE,MAAO1Q,OAMPkX,MAAOhC,SAGTE,QAhBwB,aAiBlBnI,KAAKyD,OACPzD,KAAK2V,eAIP3V,KAAKoI,YAMLpI,KAAKoI,UAAY,IAAEwN,SAAS5V,KAAKoI,UAAW,KAC5CpI,KAAK2V,aAAe,IAAEC,SAAS5V,KAAK2V,aAAc,MAGpDrjB,KAhCwB,aAiCtB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KACP0Q,eAAgB,MAEhB0L,gBAAiB,GACjBzL,SAAU,CAER0L,EAAG,GACHphB,KAAM,GACN0U,QAAS,GACTC,WAAY,GACZC,gBAAiB,GACjByM,MAAO,GACPxI,SAAU,EACVO,iBAAkB,GAClB7C,sBAAuB,EACvBqC,qBAAsB,EACtB0I,OAAQ,EACRC,OAAQ,EACRwiF,YAAa,MACbzqF,qBAAsB,GACtBC,kBAAmB,GACnBQ,sBAAuB,GACvBF,gBAAiB,EACjBG,iBAAkB,EAClBC,iBAAkB,EAClBM,eAAgB,EAChBG,QAAS,KACTxB,cAAe,EACfsI,cAAe,EACfC,cAAe,EACfC,cAAe,EACfC,cAAe,EACf3I,YAAa,EACbC,WAAY,EAGZuqF,mBAAoB,EACpBl0F,WAAY,EACZo3E,IAAK,GACLE,IAAK,GACLuM,cAAe,GACfxM,WAAY,KACZkK,WAAY,KACZ0T,QAAS,MACTE,eAAgB,MAChBE,gBAAiB,MACjBN,eAAgB,MAChB5V,gBAAiB,GACjBn9E,cAAe,GACfu1F,kBAAmB,GACnBC,mBAAoB,GACpBC,yBAA0B,GAC1BC,0BAA2B,GAC3BC,eAAgB,GAChBC,gBAAiB,GACjBhW,gBAAiB,EACjBiW,iCAAkC,EAClCC,oCAAqC,EACrCZ,gBAAiB,GACjBa,yBAA0B,MAC1BC,iBAAkB,MAClBC,uBAAwB,EACxBC,uBAAwB,GAG1B/vC,QAAS,GAET3hD,KAAM,CACJC,OAAQ,EACRC,KAAM,GACNC,YAAa,KAKnB9I,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,WAAY,CAAC,2BAAyB,CAMpD8U,kBANoD,aAOlD,OAAO,IAAE3J,QAAQhN,KAAKoK,SAAUpK,KAAK6V,kBASvCzK,YAhBoD,aAiB9C,IAAEa,QAAQjM,KAAK6V,mBACjB7V,KAAK6V,gBAAkB,IAAEe,UAAU5W,KAAKoK,WAE1C,IAAMyM,EAAKjK,GAAgB5M,KAAKoK,SAAUpK,KAAK6V,iBAC/C,OAAOtK,GAAsBsL,EAAI7W,KAAKwK,OAOxCyhD,UA5BoD,aA6BlD,OAAOjsD,KAAKsD,cAAc,yBAG5B23F,aAhCoD,aAmClD,IAFA,IAAMkB,EAAuB,GACvBC,EAAW,OAAUv/D,QAClBjqC,EAAI,EAAGA,EAAI,GAAIA,IACtBupG,EAAM/oG,KAAK,CACT+B,MAAOinG,EAAWxpG,EAClB6V,KAAM2zF,EAAWxpG,IAGrB,OAAOupG,GAQT7+F,QAjDoD,aAkDlD,MAAO,CACL,CAAEmL,KAAM7K,EAAKxI,EAAE,eAAgBD,MAAO,QACtC,CAAEsT,KAAM7K,EAAKxI,EAAE,kBAAmBD,MAAO,WACzC,CAAEsT,KAAM7K,EAAKxI,EAAE,qBAAsBD,MAAO,cAC5C,CAAEsT,KAAM7K,EAAKxI,EAAE,0BAA2BD,MAAO,mBACjD,CAAEsT,KAAM7K,EAAKxI,EAAE,uBAAwBD,MAAO,WAC9C,CACEsT,KAAM7K,EAAKxI,EAAE,qBACbD,MAAO,yBAET,CACEsT,KAAM7K,EAAKxI,EAAE,cACbD,MAAO,YACPiqB,MAAO,QACPtI,MAAO,OAET,CAAErO,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,OACvC,CAAEsT,KAAM7K,EAAKxI,EAAE,gBAAiBD,MAAO,OACvC,CAAEsT,KAAM7K,EAAKxI,EAAE,eAAgBD,MAAO,WACtC,CACEsT,KAAM7K,EAAKxI,EAAE,uBACbD,MAAO,oBACPiqB,MAAO,UAET,CAAEjqB,MAAO,UAKf2M,MAAO,CAWL2B,MAXK,WAWC,GACJzD,KAAK2V,gBAMPvK,YAlBK,WAkBO8L,EAAgBE,GAC1BpX,KAAKoI,aAOPgC,SAAU,CACR+M,KAAM,KACNlT,UAAW,MACXC,QAHQ,WAGAgT,EAAQE,GACVpX,KAAKwK,KAAKG,YAAc,GAAK3K,KAAKwK,KAAKC,OAAS,IAClDzK,KAAKwK,KAAKC,OAAS,KASzBN,eAxCK,WAwCUkN,GACTA,EACFrX,KAAKsX,sBAELtX,KAAKuX,0BAKXvV,QAAS,CAIP2T,aAJO,aAKLzJ,GAAgBlM,KAAKyD,MAAOzD,KAAKoK,SAAUpK,KAAKwK,MAC3CxK,KAAK2W,mBAAyC,KAApB3W,KAAKoK,SAAS0L,IAC3C9V,KAAKmK,eAAiB,OASpB/B,UAhBC,a,0KAiBLpI,KAAK0J,QAAU,KACf1J,KAAKvG,MAAQ,K,SAGL+K,E,4BAA2BxE,KAAKoL,a,SAC1B,OAAM,GAAYrW,IAAIyP,G,OAA5BsqC,E,OACN9uC,KAAKwK,KAAKG,YAAc,IAAE5V,IAAI+5C,EAAK,yBAA0B,GAC7D9uC,KAAKmsD,QAAU,IAAEp3D,IAAI+5C,EAAK,YAAa,IACvC9uC,KAAK8H,MAAM,eAAgB9H,KAAKoL,a,qDAEhCpL,KAAKvG,MAAL,K,kBAEAuG,KAAK0J,QAAU,M,qFASnB9D,MAtCO,aAuCL5F,KAAKsX,sBACLtX,KAAKuX,yBAGPD,oBA3CO,aA4CLtX,KAAKoK,SAAS0L,EAAI,IAGpByB,sBA/CO,aAgDLvX,KAAKoK,SAAWrX,OAAOyI,OAAOwE,KAAKoK,SAAUpK,KAAK6V,kBAOpDslF,aAvDO,WAuDM5vE,GACX,GAAOn4B,KAAK,CACVsB,KAAM,kBACN2K,OAAQ,CAAE7I,GAAIwR,OAAOujB,EAAI/0B,SAK/Bsd,WAAY,CACV6D,iBACA0kF,yBACAl3D,oBACA2zC,iBACAwjB,4BCj9Boa,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAmBhC,KAAkB,GAAW,CAACn6F,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUmR,aAAA,KAAUjR,QAAA,KAAKsV,cAAA,KAAWC,SAAA,KAAMtD,SAAA,KAAM/R,QAAA,KAAKujB,WAAA,KAAQlhB,WAAA,KAAQugC,WAAA,KAAQ3iC,cAAA,KAAWqC,YAAA,KAASC,cAAA,UC1B3H,cAAIxD,OAAO,CACxBO,QAAS,CASPwwD,aATO,WASM9uD,GACG,KAAVA,IACFA,EAAQ,IAAH,OAAO2vD,UAAU3vD,KAExB,IAAM4vD,EAAU,GAAH,OAAMtzD,KAAK2E,OAAOwN,MAAlB,OAAyBzO,GAClC1D,KAAK2E,OAAOC,WAAa0uD,GAC3BtzD,KAAKoE,QAAQ2sC,QAAQuiB,KAK3Bx/C,WAAY,CACVyoF,uBCjCga,MCOha,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC95F,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI1C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAGJ,EAAID,UAAaC,EAAIJ,QAAoFI,EAAI6C,KAA/EzC,EAAG,cAAc,CAACA,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,OAAO,GAAaN,EAAID,UAAYC,EAAIJ,QAASQ,EAAG,MAAM,CAACA,EAAG,cAAc,CAACA,EAAG,iBAAiB,CAACE,MAAM,CAAC,WAAaN,EAAIvJ,MAAOuJ,EAAkB,eAAEI,EAAG,kBAAkB,CAACE,MAAM,CAAC,eAAe,GAAG,WAAaN,EAAIvJ,MAAMuJ,EAAI6C,KAAM7C,EAAkB,eAAEI,EAAG,kBAAkB,CAACE,MAAM,CAAC,eAAe,GAAG,GAAKN,EAAIvJ,MAAMuJ,EAAI6C,KAAM7C,EAAmB,gBAAEI,EAAG,mBAAmB,CAACE,MAAM,CAAC,eAAe,GAAG,GAAKN,EAAIvJ,MAAMuJ,EAAI6C,KAAM7C,EAAmB,gBAAEI,EAAG,mBAAmB,CAACE,MAAM,CAAC,eAAe,GAAG,GAAKN,EAAIvJ,MAAMuJ,EAAI6C,KAAM7C,EAAkB,eAAEI,EAAG,kBAAkB,CAACE,MAAM,CAAC,eAAe,GAAG,GAAKN,EAAIvJ,MAAMuJ,EAAI6C,MAAM,IAAI,GAAG7C,EAAI6C,MAAM,IACjzB,GAAkB,GCiCP,UAAInB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,QAGN6I,QALwB,aAMtBnI,KAAKoI,aAGPvG,SAAU,OAAF,oDACH,eAAW,WAAY,CAAC,oBACxB,eAAW,UAAW,CAAC,mBACvB,eAAW,OAAQ,CAAC,mBAAiB,CAExC/B,SAFwC,aAGtC,OAAOE,KAAKm8E,eAAen8E,KAAKxJ,KAAO,MAGzCmJ,QANwC,aAOtC,OAAIK,KAAKF,UAAYE,KAAKF,SAASgK,WAC1B9J,KAAKoU,cAAcpU,KAAKF,SAASgK,YAEjC,MAIX6oF,eAdwC,aAetC,GAAI3yF,KAAKF,SAAU,CACjB,GACEE,KAAKsD,cACH,wBACA,WACAtD,KAAKF,SAASggD,mBAGhB,OAAO,KAGT,GACE9/C,KAAKsD,cACH,8BACA,WACAtD,KAAKF,SAASggD,oBAEhB9/C,KAAKsD,cACH,mCACA,WACAtD,KAAKF,SAASggD,oBAEhB9/C,KAAKsD,cACH,+CACA,WACAtD,KAAKF,SAASggD,oBAEhB9/C,KAAKsD,cACH,iCACA,WACAtD,KAAKF,SAASggD,mBAGhB,OAAO,KAIX,OAAO,OAGT08C,eAvDwC,aAwDtC,GAAIx8F,KAAKF,WAELE,KAAKsD,cAAc,8BACnBtD,KAAKsD,cAAc,2BACnBtD,KAAKsD,cAAc,4BACnBtD,KAAKsD,cAAc,kBAEnB,OAAO,KAGX,OAAO,OAGTm5F,gBArEwC,aAsEtC,GAAIz8F,KAAKF,WAELE,KAAKsD,cAAc,sCACnBtD,KAAKsD,cAAc,gCAEnB,OAAO,KAGX,OAAO,OAGTo5F,eAjFwC,aAkFtC,GAAI18F,KAAKF,WAELE,KAAKsD,cAAc,2BACnBtD,KAAKsD,cAAc,wBACnBtD,KAAKsD,cAAc,6BAEnB,OAAO,KAGX,OAAO,OAGTq5F,gBA9FwC,aA+FtC,OAAO38F,KAAKsD,cAAc,8BAI9BxB,MAAO,CACLtL,GADK,aAEHwJ,KAAKoI,cAITpG,QAAS,CACDoG,UADC,a,iLAEL,OAAMpI,KAAK2I,OAAOlQ,SAAS,yBAA0BuH,KAAKxJ,I,YACtDwJ,KAAKF,UAAYE,KAAKF,SAASN,W,gBAC3BA,EAAYQ,KAAKF,SAASN,U,SAChC,OAAMQ,KAAK2I,OAAOlQ,SAAS,qBAAsB+G,G,OAEnDowC,WAAW15C,OAAO25C,MAAO,K,kDAG7B/7B,WAAY,CACV6jF,kBACAC,mBACAC,mBACAC,sBACAC,mBACAC,oBACAC,uBCxKia,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACx1F,cAAA,KAAW6B,mBAAA,OCxBzC,IAAI,GAAS,WAAa,IAAIvE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,UAAU,CAACF,EAAG,QAAQ,CAACmB,YAAY,2BAA2BjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,iBAAiBH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,YAAY,MAAQ,CAAC,WAAY,UAAUU,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAImmB,SAASjlB,GAAKG,WAAW,eAAe,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,KAAO,IAAIU,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAIiG,cAAc/E,GAAKG,WAAW,oBAAoB,GAAIrB,EAAW,QAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,OAAO,GAAGN,EAAI6C,MAAM,GAAI7C,EAAc,WAAEI,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,KAAON,EAAI68F,eAAe,IAAI,GAAG78F,EAAI6C,MAAM,IAC57B,GAAkB,GCoCP,UAAInB,OAAO,CACxB0G,QADwB,aAKtBnI,KAAKoI,UAAY,IAAEwN,SAAS5V,KAAKoI,UAAW,MAG9C9V,KARwB,aAStB,MAAO,CACLoX,QAAS,MACTjQ,MAAO,KAEPysB,SAAU,WACVlgB,cAAe,GACf42F,WAAY,OAIhB/6F,SAAU,GAEVC,MAAO,CACLokB,SADK,WACInkB,GACP/B,KAAKoI,aAGPpC,cALK,WAKSjE,GACZ/B,KAAKoI,cAITpG,QAAS,CACDoG,UADC,a,mLAGHpI,KAAKvG,MAAQ,KACbuG,KAAK0J,QAAU,KAETlF,E,sBAAqBxE,KAAKkmB,S,YAAYlmB,KAAKgG,e,SACrC,OAAM,GAAOjR,IAAIyP,G,OAAvBsqC,E,OACN9uC,KAAK48F,WAAa,IAAE7nG,IAAI+5C,EAAK,OAAQ,M,qDAErC9uC,KAAKvG,MAAL,KACAuG,KAAK48F,WAAa,K,kBAElB58F,KAAK0J,QAAU,M,sFAIrBoK,WAAY,CACVmgE,iBCtFwa,MCOxa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACzxE,QAAA,KAAKC,cAAA,KAAW6B,mBAAA,KAAgB5B,QAAA,KAAKujB,WAAA,OClBnE,OAAIjqB,IAAI,SAsFR,IAAM6gG,GAAS,IAAI,QAAO,CACxBxnG,KAAM,UACNynG,KAAM,IACNC,OAAQ,CACN,CACE5qF,KAAM,2BACNzd,KAAM,mBACNi8D,UAAWqsC,IAEb,CACE7qF,KAAM,IACNzd,KAAM,OACNi8D,UAAWssC,IAEb,CACE9qF,KAAM,SACNzd,KAAM,QACNi8D,UAAWusC,IAEb,CACE/qF,KAAM,gBACNzd,KAAM,eACNi8D,UAAWwsC,IAEb,CACEhrF,KAAM,aACNzd,KAAM,WACNi8D,UAAWysC,IAEb,CACEjrF,KAAM,gBACNzd,KAAM,SACNi8D,UAAW0sC,IAEb,CACElrF,KAAM,gBACNzd,KAAM,aACNi8D,UAAW2sC,IAEb,CACEnrF,KAAM,oBACNzd,KAAM,iBACNi8D,UAAW4sC,IAEb,CACEprF,KAAM,yBACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,aACNi8D,UAAW6sC,IAEb,CACErrF,KAAM,UACNzd,KAAM,YACNi8D,UAAW8sC,IAEb,CACEtrF,KAAM,gBACNzd,KAAM,iBACNi8D,UAAW+sC,IAEb,CACEvrF,KAAM,iBACNzd,KAAM,kBACNi8D,UAAWgtC,IAEb,CACExrF,KAAM,mCACNzd,KAAM,qBACNi8D,UAAWitC,IAEb,CACEzrF,KAAM,uCACNzd,KAAM,yBACNi8D,UAAWktC,IAEb,CACE1rF,KAAM,wBACNzd,KAAM,oBACNi8D,UAAWmtC,IAEb,CACE3rF,KAAM,qBACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,kBACNi8D,UAAWotC,IAEb,CACE5rF,KAAM,2BACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,mBACNi8D,UAAWqtC,GACXljF,KAAM,CAAEmjF,UAAW,OAErB,CACE9rF,KAAM,WACNzd,KAAM,aACNi8D,UAAWutC,IAEb,CACE/rF,KAAM,cACNzd,KAAM,YACNi8D,UAAWwtC,IAEb,CACEhsF,KAAM,cACNzd,KAAM,aACNqT,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7Cm6D,UAAWytC,IAEb,CACEjsF,KAAM,mBACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,aACNi8D,UAAW0tC,IAEb,CACElsF,KAAM,mBACNzd,KAAM,gBACNi8D,UAAW2tC,IAEb,CACEnsF,KAAM,sBACNzd,KAAM,sBACNqT,MAAO,WAACtE,GAAD,MAAY,CAAEoN,SAAUvR,OAAOmE,EAAMC,MAAMmN,YAClD8/C,UAAW4tC,IAEb,CACEpsF,KAAM,oCACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,2BACNi8D,UAAW6tC,IAEb,CACErsF,KAAM,uBACNzd,KAAM,oBACNi8D,UAAW8tC,IAEb,CACEtsF,KAAM,eACNzd,KAAM,WACNi8D,UAAW+tC,IAEb,CACEvsF,KAAM,eACNzd,KAAM,WACNi8D,UAAWguC,IAEb,CACExsF,KAAM,oBACNzd,KAAM,kBACNi8D,UAAWiuC,IAEb,CACEzsF,KAAM,oBACNzd,KAAM,iBACNi8D,UAAWkuC,IAEb,CACE1sF,KAAM,iBACNzd,KAAM,cACNi8D,UAAWmuC,IAEb,CACE3sF,KAAM,iBACN4sF,SAAU,0BAEZ,CACE5sF,KAAM,yBACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,kBACNi8D,UAAWquC,GACXC,YAAap/F,IAEf,CACEsS,KAAM,yBACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,kBACNi8D,UAAWquC,GACXC,YAAap/F,IAEf,CACEsS,KAAM,0BACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,mBACNi8D,UAAWquC,GACXC,YAAap/F,IAEf,CACEsS,KAAM,0BACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,mBACNi8D,UAAWquC,GACXC,YAAap/F,IAEf,CACEsS,KAAM,yBACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,kBACNi8D,UAAWquC,GACXC,YAAap/F,IAEf,CACEsS,KAAM,uBACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,gBACNi8D,UAAWuuC,GACXD,YAAap/F,GACbib,KAAM,CAAEmjF,UAAW,OAErB,CACE9rF,KAAM,6BACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,qBACNi8D,UAAWwuC,GACXrkF,KAAM,CAAEmjF,UAAW,OAErB,CACE9rF,KAAM,gBACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,cACNi8D,UAAWyuC,GACXH,YAAax/F,IAEf,CACE0S,KAAM,yBACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,kBACNi8D,UAAW0uC,GACXJ,YAAax/F,IAEf,CACE0S,KAAM,2BACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,oBACNi8D,UAAW2uC,GACXL,YAAax/F,IAEf,CACE0S,KAAM,+BACNzd,KAAM,oBACNi8D,UAAW4uC,IAEb,CACEptF,KAAM,6BACNzd,KAAM,oBACNi8D,UAAW6uC,IAEb,CACErtF,KAAM,0BACNzd,KAAM,sBACNi8D,UAAW8uC,IAEb,CACEttF,KAAM,gBACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,cACNi8D,UAAW+uC,IAEb,CACEvtF,KAAM,uBACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,gBACNi8D,UAAW+uC,IAEb,CACEvtF,KAAM,4BACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,qBACNi8D,UAAW+uC,IAEb,CACEvtF,KAAM,uBACN4sF,SAAU,iBAEZ,CACE5sF,KAAM,aACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,WACNi8D,UAAWgvC,GACXV,YAAahgG,IAEf,CACEkT,KAAM,qBACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,oBACNi8D,UAAWivC,GACXX,YAAahgG,IAEf,CACEkT,KAAM,gBACNzd,KAAM,YACNi8D,UAAWkvC,IAEb,CACE1tF,KAAM,qBACNzd,KAAM,cACNi8D,UAAWmvC,IAEb,CACE3tF,KAAM,mBACNzd,KAAM,eACNi8D,UAAWovC,IAEb,CACE5tF,KAAM,qBACNzd,KAAM,iBACNi8D,UAAWqvC,IAEb,CACE7tF,KAAM,4BACNzd,KAAM,sBACNi8D,UAAWsvC,IAEb,CACE9tF,KAAM,qBACNzd,KAAM,gBACNi8D,UAAWuvC,IAEb,CACE/tF,KAAM,kBACNzd,KAAM,cACNi8D,UAAWwvC,IAEb,CACEhuF,KAAM,wBACNzd,KAAM,mBACNi8D,UAAWyvC,IAEb,CACEjuF,KAAM,4BACNpK,MAAO,WAACtE,GAAD,MAAY,CAAEjN,GAAI8I,OAAOmE,EAAMpE,OAAO7I,MAC7C9B,KAAM,mBACNi8D,UAAW0vC,IAEb,CACEluF,KAAM,iBACNzd,KAAM,YACNi8D,UAAW2vC,IAEb,CACEnuF,KAAM,kBACNzd,KAAM,cACNi8D,UAAW4vC,IAEb,CACEpuF,KAAM,0BACNzd,KAAM,kBACNi8D,UAAW6vC,IAEb,CACEruF,KAAM,qBACNzd,KAAM,aACNi8D,UAAW8vC,IAKb,CACEtuF,KAAM,IACNw+C,UAAW+vC,OAKjB7D,GAAO8D,YAAW,SAAOzhG,EAAIC,EAAMC,GAAjB,OAAyB,4KACzC,OAAM,GAAM3G,SAAS,kBADoB,OAGnCmoG,IAAa,GAAM9nG,QAAQ,wBAHQ,MAMpC8nG,GAAwB,WAAZ1hG,EAAGiT,MANqB,gBAOvC/S,IAPuC,sCAYzB,WAAZF,EAAGiT,MAAqByuF,GAZa,gBAavCxhG,EAAK,KAbkC,qCAiBrCwhG,EAjBqC,iBAkBvCxhG,IAlBuC,kCAuBzC,IAAKwhG,EAAU,CACG,WAAZ1hG,EAAGiT,MACL,GAAM3Z,OAAO,yBAA0B0G,EAAGiT,MAE5C/S,EAAK,UA3BkC,+CA+B5B,UCreTyhG,GAAc,UAqBd,GAAQ,CACZzjG,MAAO0jG,aAAaC,QAAQF,IAC5BG,eAAgB,IAChBC,eAAgB,KAChBC,MAAO,KACPl+F,KAAM,KACNvJ,MAAO,MAGH,GAAU,CACd0nG,gBADc,WACEtpG,GACd,QAASA,EAAMuF,OAajBkG,cACE,WAACzL,EAAOiB,EAASokB,EAAWC,GAA5B,OACA,SACEmjC,EACA/hD,EACAC,GAGA,IAAMwE,EAAOnL,EAAMmL,KAGnB,IAAKA,EACH,OAAO,MAKT,IAAMqnD,EAAS,IAAE79C,SAAS8zC,GACtBA,EACApjC,EAAUla,KAAKumD,mBAAmBjJ,GACjC+J,GACH7wD,QAAQC,MAAR,8BAAqC6mD,IAIvC,IAAM8gD,EACJjkF,EAAY,2BAA2Bna,GACnCq+F,EAAuB,IAAE1iG,MAAMyiG,GAClC1iG,SACAmN,UACA9Q,OACA5F,QAEGsiC,EAAW,CAAC4yB,EAAQ,KAM1B,IAAK9rD,IAAeC,EAAU,CAC5B,IAAMmhC,EAAe,IAAEA,aAAa0hE,EAAsB5pE,GAC1D,OAAOkI,EAAa7sC,OAAS,EAU/B,IAAMwuG,EAAwB,GAC9BA,EAAYluG,KAAZ,YACAkuG,EAAYluG,KAAZ,UAAoBmL,EAApB,YAAkCC,IAClC8iG,EAAYluG,KAAZ,UAAoBmL,EAApB,OAEA,IAAK,IAAL,MAAkB+iG,EAAlB,eAA+B,CAA1B,IAAM7rG,EAAG,KACN8rG,EAA0B,CAACH,EAAU3rG,IACrC,EAAe,IAAEkqC,aACrB,IAAE9zB,QAAQ01F,GACV9pE,GAEF,GAAI,EAAa3kC,OAAS,EACxB,OAAO,KAIX,OAAO,QAQXytB,wBACE,WAAC1oB,EAAOiB,EAASokB,EAAWC,GAA5B,OACA,SAACmjC,GAEC,IAAMt9C,EAAOnL,EAAMmL,KACnB,IAAKA,EACH,MAAO,GAET,OAAOma,EAAY,uCACjBna,EACAs9C,KAUNz8C,gBA9Gc,WA+GZhM,EACAiB,EACAokB,EACAC,GAEA,OAAOA,EAAY,+BACjBtlB,EAAMmL,KACNimD,GAAejnC,QAUnBxe,qBAhIc,WAiIZ3L,EACAiB,EACAokB,EACAC,GAEA,OAAOA,EAAY,+BACjBtlB,EAAMmL,KACNimD,GAAeG,aAUnBrlD,mBAlJc,WAmJZlM,EACAiB,EACAokB,EACAC,GAEA,OAAOA,EAAY,+BACjBtlB,EAAMmL,KACNimD,GAAeI,kBAQnB8uC,iBAlKc,WAkKGtgG,EAAOiB,GACtB,OAAO,IAAE+B,SAAS/B,EAAQiL,mBAAoB,OAI5C,GAAY,CAChBy9F,SADgB,WACP3pG,EAAOuF,GACd,GAAc,OAAVA,GAA4B,KAAVA,EAAc,CAClCvF,EAAMuF,MAAQ,KACdvF,EAAMmL,KAAO,KACbnL,EAAMopG,eAAiB,KACvBH,aAAaW,WAAWZ,QACnB,CACLC,aAAaY,QAAQb,GAAazjG,GAClCvF,EAAMuF,MAAQA,EAId,IAAMhI,EAAI,gBAAYgI,GACtBvF,EAAMopG,eAAiB,IAAI7V,KAAK,GAChCvzF,EAAMopG,eAAeU,cAAcvsG,EAAEwsG,OAGzCC,WAlBgB,WAkBLhqG,EAAOmL,GAChBnL,EAAMmL,KAAOA,GAEf8+F,SArBgB,WAqBPjqG,EAAO4B,GACd5B,EAAM4B,MAAQA,GAEhBsoG,kBAxBgB,WAwBElqG,EAAOsa,GACvBta,EAAMmpG,eAAiB7uF,IAIrB,GAAU,CAYR6vF,UAZQ,cAY6B,IAAzBnqG,EAAyB,EAAzBA,MAAOW,EAAkB,EAAlBA,OAAQC,EAAU,EAAVA,S,4KAC3BZ,EAAMmL,K,iDAOVxK,EAAO,WAAY,MACb4E,EAAQ0jG,aAAaC,QAAQF,I,IAC/BzjG,E,gBACF5E,EAAO,WAAY4E,G,SACnB,OAAM3E,EAAS,gB,OACfA,EAAS,0B,4CAQPyJ,MAjCQ,aAiC2BD,GAAkB,IAA7CpK,EAA6C,EAA7CA,MAAOW,EAAsC,EAAtCA,OAAQC,EAA8B,EAA9BA,S,0KAC3BD,EAAO,WAAY,M,kBAEA,OAAM,EAAImb,KAAK,qBAAsB,CAAErhB,KAAM2P,I,OAAxDhF,E,OACAG,EAAgBH,EAAS3K,KAAKA,KACpCkG,EAAO,WAAY4E,G,SACnB,OAAM3E,EAAS,gB,OACfA,EAAS,0BACT,GAAOrF,KAAKyE,EAAMmpG,gBAAkB,CAAEtsG,KAAM,S,qDAE5C8D,EAAO,WAAY,MACnBA,EAAO,WAAD,M,2DAQVypG,OApDc,cAoDG,IAARzpG,EAAQ,EAARA,OACPA,EAAO,WAAY,MACc,WAA7B,GAAO0pG,aAAa/vF,MACtB,GAAO/e,KAAK,WAQV+uG,aA/DQ,cA+De,IAAR3pG,EAAQ,EAARA,O,0LAEA,OAAM,EAAIzD,IAAI,uB,OAAzBkI,E,OACNzE,EAAO,aAAcyE,EAAS3K,KAAKA,M,mDAEnCkG,EAAO,WAAY,MACnBA,EAAO,aAAc,M,0DAQzB4pG,uBA7Ec,cA6E4B,IAAjB3pG,EAAiB,EAAjBA,SAAUZ,EAAO,EAAPA,MACjC,IAAKA,EAAMopG,eACT,OAEF,IAAMoB,EAAY,SAAZA,IAAY,OAAM5pG,EAAS,iBAC3B6pG,EACJzqG,EAAMopG,eAAesB,WAAY,IAAInX,MAAOmX,UAC1C1qG,EAAMqpG,OACRsB,aAAa3qG,EAAMqpG,OAGnBrpG,EAAMqpG,MADJoB,EAAkB,IACN1yD,WAAWyyD,EAAW,KAC3BC,EAAkB,IACb1yD,WAAWyyD,EAA6B,GAAlBC,GAEtB1yD,WAAWyyD,EAA6B,GAAlBC,IAQlCG,aApGQ,cAoGgC,IAAzBjqG,EAAyB,EAAzBA,OAAQC,EAAiB,EAAjBA,SAAUZ,EAAO,EAAPA,M,4LAElB,OAAM,EAAI8b,KAAK,wB,OAA1B1W,E,OACAG,EAAgBH,EAAS3K,KAAKA,KACpCkG,EAAO,WAAY4E,GACnB3E,EAAS,0B,mDAET,GAAIZ,EAAMopG,gBAAkBppG,EAAMopG,eAAiB,IAAI7V,KAAQ,CAE7D5yF,EAAO,WAAY,MACnBA,EAAO,oBAAqB,GAAO0pG,aAAa/vF,WAEhD1Z,EAAS,0B,2DAMF,IACbI,WAAY,KACZhB,MAAA,GACAiB,QAAA,GACAd,UAAA,GACAM,QAAA,ICzTI,GAAQ,CACZoqG,iBAAkB,MAClBvI,YAAa,GAEbl3D,SAAU,GACVuO,SAAU,IAGN,GAAU,CAKdhN,cALc,WAKA3sC,GACZ,OAAOA,EAAMsiG,YAAY9jG,KAAI,SAACG,GAAD,OAAQqB,EAAMorC,SAASzsC,OAOtDmsG,wBAbc,WAaU9qG,EAAOiB,GAC7B,OAAOA,EAAQ0rC,cAAc5lC,QAC3B,SAACqkC,GAAD,OAAcA,EAASyB,qBAQ3BxB,eACE,WAACrrC,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAMorC,SAASzsC,KAQ1BmpD,gBACE,WAAC9nD,GAAD,OACA,SAACgZ,GACC,IAAMuvC,EAAgCrtD,OAAO2L,OAAO7G,EAAMorC,UAC1D,OAAO,IAAErkC,OAAOwhD,GAAY,SAAC3b,GAC3B,OAAQA,EAAE5zB,UAAY,MAAQA,GAAY,QAWhD0yB,iBACE,WAAC1rC,GAAD,OACA,SAACgZ,GACC,OAAQ9d,OAAO2L,OAAO7G,EAAMorC,UAAgCrkC,QAC1D,SAAC6lC,GAAD,OAAOA,EAAE5zB,WAAaA,OAY5B2yB,wBACE,WAAC3rC,GAAD,OACA,SAACgZ,GACC,OAAQ9d,OAAO2L,OAAO7G,EAAMorC,UAAgCrkC,QAC1D,SAAC6lC,GAAD,OAAOA,EAAE5zB,WAAaA,IAAa4zB,EAAEE,YAY3Ci+D,kBACE,WAAC/qG,EAAOiB,GAAR,OACA,SAACtC,GACC,IAAM6V,EAAMvT,EAAQkY,YAAYxa,GAChC,OAAO,IAAEmI,MAAM0N,GACZ4O,UACA5kB,KAAI,SAACG,GAAD,OAAQqB,EAAMorC,SAASzsC,MAC3BykB,UACA9lB,UAWP6b,YACE,WAACnZ,GAAD,OACA,SAACrB,GACC,IAAM6V,EAAM,GACR4E,EAASza,EACb,MAAOqB,EAAMorC,SAAShyB,GAAS,CAC7B5E,EAAI6E,QAAQD,GACZA,EAASpZ,EAAMorC,SAAShyB,GAAQJ,SAElC,OAAOxE,IAOXs4D,aACE,WAAC9sE,GAAD,OACA,SAACrB,GACC,IAAMysC,EAAWprC,EAAMorC,SAASzsC,GAChC,OAAKysC,EAGIA,EAASvuC,KAAKkJ,EAAKtB,QAFnB+vB,GAASzuB,EAAKtB,UAY3B2nC,iBACE,WAACpsC,EAAOiB,GAAR,OACA,SAACtC,GACC,IAAMqsG,EAAa/pG,EAAQ8pG,kBAAkBpsG,GAC7C,OAAOqsG,EAAWxsG,KAAI,SAACouC,GAAD,OAAOA,EAAE/vC,KAAKkJ,EAAKtB,WAAS0O,KAAK,SAO3D4wE,SACE,WAAC/jF,EAAOiB,GAAR,OACA,SAACtC,GACC,IAAMysC,EAAWprC,EAAMorC,SAASzsC,GAChC,IAAKysC,EACH,OAAO5W,GAASzuB,EAAKtB,QAGvB,IAAMs/E,EAAW9iF,EAAQgqG,aAAa7/D,EAASzsC,IAC/C,OAAOolF,IAGXknB,aACE,WAACjrG,EAAOiB,GAAR,OACA,SAACkL,GACC,IAAMi/B,EAAWnqC,EAAQoqC,eAAel/B,GAClCw7C,EAAmBvc,EAASpyB,SAMlC,OACE2uC,GACkD,aAAlD1mD,EAAQoqC,eAAesc,GAAkBxmD,KAElC,GAAP,OAAUF,EAAQgqG,aAAatjD,GAA/B,cACEvc,EAASvuC,KAAKkJ,EAAKtB,SAGd,GAAP,OAAU2mC,EAASvuC,KAAKkJ,EAAKtB,YAK/B,GAAY,OAAH,wBACV3C,GAAoB,CAEvBopG,oBAFuB,WAEHlrG,EAAOmU,GACzBnU,EAAM6qG,iBAAmB12F,GAG3Bg3F,cANuB,WAMTnrG,EAAOuoD,GACnBA,EAAWtkD,SAAQ,SAACmnC,GAClB,OAAI3oC,IAAIzC,EAAMorC,SAAUA,EAASzsC,GAAIysC,MAGvC,IAAM52B,EAAM,IAAE3N,OAAO7G,EAAMorC,UACxBrkC,QAAO,SAAC6lC,GAAD,MAAkB,aAAXA,EAAEzrC,QAChB3C,KAAI,SAACouC,GAAD,OAAOA,EAAEjuC,MAChBqB,EAAMsiG,YAAc9tF,GAGtB42F,oBAjBuB,WAkBrBprG,EACA2C,GAEA,IAAM6R,EAAM,GAF8C,kBAGnC7R,EAAQ8oC,UAH2B,MAG1D,IAAK,EAAL,qBAAyC,KAA9BL,EAA8B,QACvC52B,EAAIjZ,KAAK6vC,EAASzsC,IAClB,OAAI8D,IAAIzC,EAAMorC,SAAUA,EAASzsC,GAAIysC,IALmB,8BAO1D,OAAI3oC,IAAIzC,EAAM25C,SAAUh3C,EAAQqW,SAAUxE,IAG5C62F,eA7BuB,WA6BRrrG,EAAOrB,GACpB,IAAMkE,EAAQ7C,EAAMsiG,YAAYn3D,QAAQxsC,IACzB,IAAXkE,GACF7C,EAAMsiG,YAAYnmG,OAAO0G,EAAO,GAElC,OAAI4tC,OAAOzwC,EAAMorC,SAAUzsC,MAIzB,GAAU,CAOR2sG,gBAPQ,aAO2BpwF,GAAc,IAA/Bva,EAA+B,EAA/BA,OAAQX,EAAuB,EAAvBA,M,kLACzBkb,GAASlb,EAAM6qG,kB,yCACX3kG,QAAQhH,W,gBAEA,OAAM,EAAIhC,IAAJ,0E,OAAjBkI,E,OAGAmjD,EAAanjD,EAAS3K,KAAKA,KAC3B8G,EAAWL,EAAc,WAAYqnD,GAC3C5nD,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,cACRlF,MAAO,IAAEkB,IAAI+pD,EAAY,QAE3B5nD,EAAO,sBAAuB,M,6CAa1B4qG,cAlCQ,aAoCZC,GAA+C,IAD7C7qG,EAC6C,EAD7CA,OAAQX,EACqC,EADrCA,M,8KAGLwrG,EAAQtwF,OAASlb,EAAMorC,SAASogE,EAAQr/F,a,yCACpCjG,QAAQhH,QAAQc,EAAMorC,SAASogE,EAAQr/F,c,gBAE/B,OAAM,EAAIjP,IAAJ,qCACSsuG,EAAQr/F,WADjB,oB,OAAjB/G,E,OAGNzE,EAAO,WAAYyE,EAAS3K,KAAKA,M,yBAC1ByL,QAAQhH,QAAQc,EAAMorC,SAASogE,EAAQr/F,c,4CAa1Cs/F,sBA1DQ,aA4DZD,GAA6C,IAD3C7qG,EAC2C,EAD3CA,OAAQX,EACmC,EADnCA,MAAOiB,EAC4B,EAD5BA,Q,+KAGQ,IAArBuqG,EAAQxyF,U,yCAEH9S,QAAQhH,QAAQ,K,aAEpBssG,EAAQtwF,OAAS7Z,MAAMC,QAAQtB,EAAM25C,SAAS6xD,EAAQxyF,Y,yCAElD9S,QAAQhH,QAAQ+B,EAAQyqC,iBAAiB8/D,EAAQxyF,Y,gBAEzC,OAAM,EAAI9b,IAAJ,+CACmBsuG,EAAQxyF,W,OAD5C5T,E,OAGAqmC,EAAWrmC,EAAS3K,KAAKA,KAC/BkG,EAAO,sBAAuB,CAAEqY,SAAUwyF,EAAQxyF,SAAUyyB,a,yBACrDvlC,QAAQhH,QAAQ+B,EAAQyqC,iBAAiB8/D,EAAQxyF,Y,8CAI7C,IACbhY,WAAY,KACZhB,MAAA,GACAiB,QAAA,GACAd,UAAA,GACAM,QAAA,IC9SI,GAAQ,CACZqH,QAAS,GAETuiB,cAAe,MACfqhF,WAAY,GACZC,gBAAiB,GACjBC,UAAW,GACXnzC,QAAS,GACTozC,WAAY,GACZrgD,UAAW,GACXsgD,gBAAiB,GACjBC,cAAe,GACfC,cAAe,IAGX,GAAU,CACdzvF,cACE,WAACvc,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAM8H,QAAQnJ,KAEzBwT,YACE,WAACnS,GAAD,OACA,SAACrB,GACC,IAAMmJ,EAAU9H,EAAM8H,QAAQnJ,GAC9B,GAAImJ,EACF,MAAO,GAAP,OAAUA,EAAQjL,KAAlB,YAA0BiL,EAAQyJ,SAEpC,MAAO,oBAAP,OAA2B5S,MAI3B,GAAY,OAAH,wBACVmD,GAAoB,CAMvBkqB,iBANuB,WAMNhsB,EAAOisB,GACtBjsB,EAAMqqB,cAAgB4B,KAIpB,GAAU,CAKRC,aALQ,cAOsB,IADhClsB,EACgC,EADhCA,MAAOW,EACyB,EADzBA,OACTgC,EAAkC,uDAAxB,G,gLAGLA,EAAQuY,OAASlb,EAAMqqB,e,yCACnBnkB,QAAQhH,QAAQ,O,gBAIR,OAAM,GAAWhC,IAAX,Y,OAAjBkI,E,YACFA,EAAS3K,MAAQ2K,EAAS3K,KAAKA,M,iBAC3B8G,EAAW6D,EAAS3K,KAAKA,KAO/BkG,EAAO,WAAYY,GAGnBZ,EAAO,mBAAoB,M,yBAEpBuF,QAAQhH,QAAQ,O,iCAIlBgH,QAAQ7C,U,6CAQXinG,aAzCQ,aAyCiB3rG,GAAqB,IAA/BgC,EAA+B,EAA/BA,O,4KACbqa,EAAS,IAAEhH,QAAQ,CAACrV,IAAKwU,KAAK,K,IAChC6H,E,yBACe,OAAM,GAAW9d,IAAX,6BAAqC8d,I,OAAtD5V,E,OACA7D,EAAW6D,EAAS3K,KAAKA,KAC/BkG,EAAO,WAAYY,G,6CAKV,IACbP,WAAY,KACZhB,MAAA,GACAiB,QAAA,GACAd,UAAA,GACAM,QAAA,IClJIwrG,GAAc,EAAA7lG,EAAMzI,OAAO,CAC/B0I,QAAS,GAAF,OAAK,EAAIE,SAASF,QAAlB,sBAETtB,EAAoBknG,IACL,UCLF,GAAQ,CACnBC,SAAU,GACVC,eAAgB,OAGL,GAAU,GAEV,GAAY,CACvBC,WADuB,WACZpsG,EAAOqsG,GAChB,OAAI5pG,IAAIzC,EAAMksG,SAAUG,EAAQxvG,KAAMwvG,EAAQ/uG,QAEhDgvG,kBAJuB,WAILtsG,EAAOisB,GACvBjsB,EAAMmsG,eAAiBlgF,IAId,GAAU,CACfsgF,cADe,cAGe,IADhCvsG,EACgC,EADhCA,MAAOW,EACyB,EADzBA,OACTgC,EAAkC,uDAAxB,G,sLAELA,EAAQuY,OAASlb,EAAMmsG,gB,yCACnBjmG,QAAQhH,W,gBAEA,OAAM,GAAYhC,IAAZ,a,OAAjBkI,E,OACN,GAAIA,EAAS3K,MAAQ2K,EAAS3K,KAAKA,KAAM,CACjCyxG,EAAW9mG,EAAS3K,KAAKA,KADQ,kBAEjByxG,GAFiB,IAEvC,IAAK,EAAL,qBAAgC,CAArBG,EAAqB,QAC9B1rG,EAAO,aAAc0rG,IAHgB,8BAKvC1rG,EAAO,oBAAqB,M,6CAKnB,IACbK,WAAY,KACZhB,MAAA,GACAiB,QAAA,GACAd,UAAA,GACAM,QAAA,IClBW,GAAQ,CACnB0nB,YAAa,GACbqkF,wBAAyB,IAGd,GAAU,CACrBr3B,kBACE,WAACn1E,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAMmoB,YAAYxpB,IAAO,OAEpC09E,sBACE,WAACr8E,GAAD,OACA,SAAC2H,GACC,IAAMygB,EAAgBpoB,EAAMwsG,wBAAwB7kG,GACpD,IAAKygB,EACH,OAAO,KAET,OAAOpoB,EAAMmoB,YAAYC,MAIlB,GAAY,GAEZ,GAAU,CAKfqkF,iBALe,aAKwB9tG,GAAU,IAA9BgC,EAA8B,EAA9BA,OAAQC,EAAsB,EAAtBA,S,yLACd,OAAM,GAAiB1D,IAAjB,wBAAsCyB,I,OAAvDyG,E,OAIAoX,EAAgBpX,EAAS3K,KAAKA,KAG9B07B,EAAqB,IAAEzZ,KAAKF,EAAe,CAAC,gBAClD7b,EAAO,WAAYw1B,GAGbxZ,EAAe,IAAED,KAAKF,EAAe,CAAC,YAC5C7b,EAAO,mBAAoBgc,EAAc,CAAEyZ,KAAM,OAG3CC,EAAa,IAAE3Z,KAAKF,EAAe,CAAC,UAAW,UACrD7b,EAAO,iBAAkB01B,EAAY,CAAED,KAAM,O,6CASzCs2E,2BA/Be,aA+BwB/pG,GAA8B,IAAxChC,EAAwC,EAAxCA,O,qLAChB,OAAM,GAASzD,IAAT,mBACTyF,EAAQgF,UADC,kB,OAAjBvC,E,OAGA+iB,EAAc/iB,EAAS3K,KAAKA,KAC5B8G,EAAWL,EAAc,cAAeinB,GAC9CxnB,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,0BACRK,MAAOF,EAAQgF,UACfrK,MAAO6qB,EAAYxpB,K,6CCpEZ,GAAQ,CACnBguG,kBAAmB,MACnBC,cAAe,GACf7mE,WAAY,GACZ8mE,mBAAoB,IAGT,GAAU,CACrBzuD,iBACE,WAACp+C,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAM+lC,WAAWpnC,IAAO,OAOnCkgD,eAXqB,WAWN7+C,GACb,OAAO,IAAExB,IAAIwB,EAAM4sG,eAAe,SAACjuG,GAAD,OAAQqB,EAAM+lC,WAAWpnC,OAG7Dq/C,uBACE,WAACh+C,EAAOiB,GAAR,OACA,SAACtC,GACC,IAAMwa,EAAwB,IAAEiK,QAC9BniB,EAAQ6rG,sBAAsBnuG,IAEhC,GAAIwa,EAAYle,OAAS,EACvB,MAAO,KAET,OAAO+E,EAAM+lC,WAAW5sB,EAAY,IAAIpa,OAG5Cq+C,mBACE,WAACp9C,EAAOiB,GAAR,OACA,SAACtC,GACC,IAAM4/C,EAA4Bt9C,EAAQ8rG,oBAAoBpuG,GAC9D,OAAO,IAAEH,IAAI+/C,GAAa,SAAC3hD,GAAD,OAAOA,EAAEC,KAAKkJ,EAAKtB,WAAS0O,KAAK,UAM/D65F,eACE,WAAChtG,GAAD,OACA,SAACrB,GACC,IAAMonC,EAAa/lC,EAAM+lC,WAAWpnC,GACpC,IAAKonC,EACH,OAAOvR,GAASzuB,EAAKtB,QAAd,YAA6B9F,GAEtC,OAAOonC,EAAWlpC,KAAKkJ,EAAKtB,UAOhC+5C,iBACE,WAACx+C,EAAOiB,GAAR,OACA,SAAC+X,GACC,IAAMxE,EAAgBxU,EAAM6sG,mBAAmB7zF,GAAY,IAAM,GACjE,OAAO,IAAExa,IAAIgW,GAAK,SAAC7V,GAAD,OAA4BqB,EAAM+lC,WAAWpnC,QAGnE0/C,qBACE,WAACr+C,GAAD,OACA,SAACgZ,GACC,IAAMxE,EAAgBxU,EAAM6sG,mBAAmB7zF,GAAY,IAAM,GACjE,OAAOxE,EAAIvZ,QAAU,IAGzB6xG,sBACE,WAAC9sG,GAAD,OACA,SAACrB,GACC,IAAM6V,EAAgB,GAClB4E,EAASza,EACb,MAAOqB,EAAM+lC,WAAW3sB,GAAS,CAC/B5E,EAAI6E,QAAQD,GACZA,EAASpZ,EAAM+lC,WAAW3sB,GAAQJ,SAEjB,IAAfxE,EAAIvZ,QACNuZ,EAAI6E,QAAQ,GAEd,OAAO7E,IAGXu4F,oBACE,WAAC/sG,EAAOiB,GAAR,OACA,SAACtC,GACC,IAAM6V,EAAMvT,EAAQ6rG,sBAAsBnuG,GAC1C,OAAO,IAAEmI,MAAM0N,GACZhW,KAAI,SAACG,GAAD,OAAQqB,EAAM+lC,WAAWpnC,MAC7BykB,UACA9lB,WAII,GAAY,CACvB2vG,qBADuB,WACFjtG,EAAOmU,GAC1BnU,EAAM2sG,kBAAoBx4F,GAE5B+4F,8BAJuB,WAIOltG,GAC5B,OAAIyC,IACFzC,EACA,gBACA,IAAE8G,MAAM5L,OAAO2L,OAAO7G,EAAM+lC,aAAa3iB,UAAU5kB,IAAI,MAAMlB,SAE/D,OAAImF,IAAIzC,EAAO,qBAAsB,IANJ,sBAOhBA,EAAM4sG,eAPU,MAOjC,IAAK,EAAL,qBAAsC,KAA3BjuG,EAA2B,QAC9BonC,EAAa/lC,EAAM+lC,WAAWpnC,GAC9Bqa,EAAW+sB,EAAW/sB,UAAY,EACxC,IAAKhZ,EAAM6sG,mBAAmBzxG,eAAe4d,GAAW,CACtD,OAAIvW,IAAIzC,EAAM6sG,mBAAoB7zF,EAAU,IACxCA,GAAYhZ,EAAM+lC,WAAW/sB,IAC/B,OAAIvW,IAAIzC,EAAM+lC,WAAW/sB,GAAW,aAAc,GAGtDhZ,EAAM6sG,mBAAmB7zF,GAAUzd,KAAKoD,GACpCqa,GACFhZ,EAAM+lC,WAAW/sB,GAAUkmB,cAlBE,iCAwBxB,GAAU,CAMfiuE,gBANe,aAMaxuG,GAAqB,IAA/BgC,EAA+B,EAA/BA,O,gLAChB6T,EAAgB,IAAER,QAAQ,CAACrV,IAC3Bmc,EAAa,IAAEC,WAAWvG,EAAK,GAAMo4F,e,KAEvC9xF,EAAW7f,OAAS,G,iBAChB+f,EAASF,EAAW3H,KAAK,K,SACd,OAAM,GAAiBjW,IAAjB,gCACI8d,I,OADrB5V,E,OAGA7D,EAAW6D,EAAS3K,KAAKA,KAC/BkG,EAAO,WAAYY,GACnBZ,EAAO,iC,6CAULysG,iBA3Be,cA6Be,IADhCzsG,EACgC,EADhCA,OAAQX,EACwB,EADxBA,MACV2C,EAAkC,uDAAxB,G,kLAELA,EAAQuY,OAASlb,EAAM2sG,mB,yCACnBzmG,QAAQhH,W,gBAEA,OAAM,GAAiBhC,IAAjB,e,OAAjBkI,E,OACAm5C,EAAcn5C,EAAS3K,KAAKA,KAC5B8G,EAAWL,EAAc,aAAcq9C,GAC7C59C,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,gBACRlF,MAAO,IAAEkB,IAAI+/C,EAAa,QAE5B59C,EAAO,uBAAwB,MAC/BA,EAAO,iC,8CC1KE,GAAQ,CACnBw/B,WAAY,IAGD,GAAU,CACrBY,iBACE,WAAC/gC,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAMmgC,WAAWxhC,IAAO,OAGnCuhC,eACE,WAAClgC,GAAD,OACA,SAAC8/B,GACC,IAAMK,EAAangC,EAAMmgC,WAAWL,GACpC,IAAKK,EACH,MAAO,uBAAP,OAA8BL,GAEhC,MAAO,GAAP,OAAUK,EAAWtjC,KAArB,YAA6BsjC,EAAW5uB,YAIjC,GAAY,GAEZ,GAAU,CACf87F,gBADe,aACa1uG,GAAU,IAApBgC,EAAoB,EAApBA,O,qLACL,OAAM,GAAiBzD,IAAjB,sBAAoCyB,I,OAArDyG,E,OACA+6B,EAAa/6B,EAAS3K,KAAKA,KAC3B8G,EAAWL,EAAc,aAAci/B,GAC7Cx/B,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,aACRK,MAAOs9B,EAAWxhC,GAClBrB,MAAO6iC,I,6CCxCA,GAAQ,CACnBytD,gBAAiB,GACjBz+B,aAAc,GACdm+C,oBAAqB,OAGV,GAAU,CACrB/9C,mBACE,WAACvvD,GAAD,OACA,SAACrB,GACC,OAAOqB,EAAMmvD,aAAaxwD,IAAO,OAErC6wD,iBANqB,WAMJxvD,GACf,OAAO,IAAExB,IAAIwB,EAAM4tF,iBAAiB,SAACjvF,GAAD,OAAgBqB,EAAMmvD,aAAaxwD,QAI9D,GAAY,CAMvB4uG,uBANuB,WAMAvtG,EAAOmU,GAC5BnU,EAAMstG,oBAAsBn5F,IAInB,GAAU,CASfq5F,mBATe,cAWe,IADhC7sG,EACgC,EADhCA,OAAQX,EACwB,EADxBA,MACV2C,EAAkC,uDAAxB,G,kLAGLA,EAAQuY,OAASlb,EAAMstG,qB,yCACnBpnG,QAAQhH,W,gBAIA,OAAM,GAAiBhC,IAAI,mB,OAAtCkI,E,OACAq4F,EAAgBr4F,EAAS3K,KAAKA,KAC9B8G,EAAWL,EAAc,eAAgBu8F,GAE/C98F,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,kBACRlF,MAAO,IAAEkB,IAAIi/F,EAAe,QAG9B98F,EAAO,yBAA0B,M,6CAE7B8sG,kBA/Be,aA+Be9uG,GAAU,IAApBgC,EAAoB,EAApBA,O,qLACP,OAAM,GAAiBzD,IAAjB,0BAAwCyB,I,OAAzDyG,E,OACA+pD,EAAe/pD,EAAS3K,KAAKA,KAE7B8G,EAAWL,EAAc,eAAgBiuD,GAC/CxuD,EAAO,WAAYY,GACnBZ,EAAO,YAAa,CAClB6B,OAAQ,eACRK,MAAOssD,EAAaxwD,GACpBrB,MAAO6xD,I,6CC9CP,GAAQ,OAAH,oDACN,IACA,IACA,IACA,IAGC,GAAU,OAAH,oDACR,IACA,IACA,IACA,IAGC,GAAY,OAAH,kEACVrtD,GAEA,IACA,IACA,IACA,IAGC,GAAU,OAAH,oDACR,IACA,IACA,IACA,IAGU,IACbd,WAAY,KACZhB,MAAA,GACAiB,QAAA,GACAd,UAAA,GACAM,QAAA,ICtDF,OAAI0D,IAAI,QAER,IAAM,GAAQ,IAAI,OAAKupG,MAAM,CAC3BlyG,QAAS,CACPmyG,cACAnnG,cACAhB,QACAwL,OAAA,GACAD,MAAA,GACAwH,UAAA,GACAq1F,WACAriD,YACAtjD,SAAA,GACAH,QAAA,GACAokG,SAAA,GACA/gG,KAAA,GACAyyB,MAAA,GACAiwE,oBAIW,MCtCX,GAAS,WAAa,IAAI3lG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAAGJ,EAAI4lG,YAA4hB5lG,EAAI6C,KAAnhBzC,EAAG,cAAc,CAACE,MAAM,CAAC,cAAc,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,SAAS,QAAU,iBAAiB,CAACF,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,uBAAuBjB,MAAM,CAAC,QAAU,GAAG,IAAM,qBAAqBF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgBL,EAAG,MAAM,CAACmB,YAAY,YAAY,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,sBAAsBL,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,OAAO,IAAI,IAAI,GAAaN,EAAe,YAAEI,EAAG,MAAM,CAAGJ,EAAIk+F,UAA4nBl+F,EAAI6C,KAArnBzC,EAAG,YAAY,CAACmB,YAAY,eAAejB,MAAM,CAAC,IAAM,GAAG,eAAe,GAAG,gBAAgB,GAAG,MAAQ,QAAQ,KAAO,KAAK,CAAEN,EAAQ,KAAEI,EAAG,qBAAqB,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI6lG,QAAU7lG,EAAI6lG,WAAW7lG,EAAI6C,KAAKzC,EAAG,kBAAkB,CAACmB,YAAY,wDAAwD,CAACnB,EAAG,MAAM,CAACmB,YAAY,uBAAuBjB,MAAM,CAAC,MAAQ,KAAK,QAAU,GAAG,IAAM,mBAAmBF,EAAG,OAAO,CAACmB,YAAY,qBAAqB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgBL,EAAG,OAAO,CAACmB,YAAY,aAAa,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,qBAAqBL,EAAG,YAAYA,EAAG,qBAAqB,GAAaJ,EAAIiD,MAAQjD,EAAI4lG,cAAgB5lG,EAAIk+F,UAAW99F,EAAG,sBAAsB,CAACmB,YAAY,eAAejB,MAAM,CAAC,IAAM,GAAG,QAAU,GAAG,MAAQN,EAAI0zD,SAASC,IAAI,MAAQ,iBAAiB,MAAQ,OAAO3yD,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAI6lG,OAAO3kG,GAAKG,WAAW,WAAW,CAACjB,EAAG,MAAM,CAACmB,YAAY,2CAA2CiD,YAAY,CAAC,OAAS,SAAS,CAACpE,EAAG,cAAcA,EAAG,SAAS,CAACmB,YAAY,UAAUjB,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,cAAe,CAACyL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACA,EAAG,MAAM,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,MAAML,EAAG,OAAO,CAACmB,YAAY,oBAAoB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIiD,KAAK9B,eAAef,EAAG,MAAM,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,cAAc,MAAML,EAAG,OAAO,CAACmB,YAAY,mBAAmBjB,MAAM,CAAC,MAAQN,EAAI8lG,kBAAkB9lG,EAAIO,GAAG,MAAMP,EAAIQ,GAAGR,EAAI+lG,YAAY,QAAQ,MAAM,IAAI,IAAI,GAAG3lG,EAAG,MAAM,CAACmB,YAAY,mCAAmCjB,MAAM,CAAC,MAAQ,MAAM,QAAU,GAAG,IAAM,mBAAmB,KAAKN,EAAI6C,KAAKzC,EAAG,SAAS,CAACA,EAAG,eAAiBJ,EAAIk+F,UAAgCl+F,EAAI6C,KAAzBzC,EAAG,kBAA2BA,EAAG,aAAa,IAAI,GAAGJ,EAAI6C,MAAM,IAC16E,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIuD,cAAc,yBAA0BnD,EAAG,iBAAiB,CAACoE,YAAY,CAAC,aAAa,UAAUlE,MAAM,CAAC,MAAQ,GAAG,WAAa,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAC1R,IAAIC,EAAKD,EAAIC,GACb,MAAO,CAACP,EAAG,QAAQJ,EAAI4F,GAAG,CAACrE,YAAY,eAAejB,MAAM,CAAC,IAAM,GAAG,MAAQ,GAAG,OAAS,GAAG,MAAQ,GAAG,MAAQ,YAAYK,GAAI,CAACP,EAAG,SAAS,CAACJ,EAAIO,GAAG,eAAe,OAAO,KAAK,MAAM,YAAYS,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAIgmG,mBAAmB9kG,GAAKG,WAAW,uBAAuB,CAACjB,EAAG,SAAS,CAACA,EAAG,eAAe,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,uBAAuB,OAAOL,EAAG,QAAQ,CAACmB,YAAY,aAAajB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIgmG,mBAAqB,SAAS,CAAC5lG,EAAG,SAAS,CAACJ,EAAIO,GAAG,YAAY,IAAI,IAAI,IAAI,GAAGH,EAAG,cAAc,CAACA,EAAG,SAAS,CAACM,IAAI,QAAQ,CAACN,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAIimG,cAA8B,kBAAR/kG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,sBAAsB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIkmG,eAA+B,kBAARhlG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,qBAAqB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,2BAA2B,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAuB,oBAAEiB,SAAS,SAAUC,GAAMlB,EAAImmG,oBAAoC,kBAARjlG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,0BAA0B,IAAI,GAAGjB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,iBAAiB,MAAQ,CACx0DT,EAAIS,GAAG,kBACPT,EAAIS,GAAG,qBACPT,EAAIS,GAAG,qBAAsB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,SAAW,IAAIO,MAAM,CAAC5L,MAAO4K,EAAgB,aAAEiB,SAAS,SAAUC,GAAMlB,EAAIomG,aAAallG,GAAKG,WAAW,mBAAmB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,OAAS,GAAG,MAAQN,EAAIS,GAAG,YAAYO,MAAM,CAAC5L,MAAO4K,EAAW,QAAEiB,SAAS,SAAUC,GAAMlB,EAAI6qF,QAAwB,kBAAR3pF,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,cAAc,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,QAAQ,CAACF,EAAG,YAAYA,EAAG,QAAQ,CAACmB,YAAY,cAAc,CAACnB,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAUN,EAAIqmG,WAAW,SAAWrmG,EAAIqmG,WAAW,MAAQ,aAAa1lG,GAAG,CAAC,MAAQX,EAAI2lC,SAAS,CAAC3lC,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,gBAAgB,QAAQ,IAAI,IAAI,GAAGL,EAAG,qBAAqB,CAACA,EAAG,oBAAoB,CAACA,EAAG,2BAA2B,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iCAAiCL,EAAG,4BAA4B,CAACA,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,4BAA4B,MAAQT,EAAIsmG,aAAalmG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,uBAAuB,MAAQT,EAAIumG,cAAc,GAAGnmG,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,4BAA4B,MAAQT,EAAIwmG,YAAYpmG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,qBAAqB,MAAQT,EAAIymG,oBAAoB,GAAGrmG,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,wBAAwB,MAAQT,EAAI0mG,eAAetmG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,4BAA4B,MAAQT,EAAI2mG,mBAAmBvmG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,2BAA2B,MAAQT,EAAI4mG,mBAAmB,GAAGxmG,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,mBAAmB,MAAQT,EAAI6mG,cAAgB7mG,EAAIS,GAAG,eAAiBT,EAAIS,GAAG,iBAAiBL,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,2BAA2B,MAAQT,EAAI8mG,eAAiB9mG,EAAIS,GAAG,eAAiBT,EAAIS,GAAG,kBAAkB,GAAGL,EAAG,QAAQ,CAAEJ,EAAQ,KAAEI,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,gCAAgC,MAAQT,EAAIiD,KAAK9B,YAAYnB,EAAI6C,KAAM7C,EAAQ,KAAEI,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,MAAQN,EAAIS,GAAG,6BAA6B,MAAQT,EAAIiD,KAAKupD,SAASxsD,EAAI6C,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG7C,EAAI6C,MACt3E,GAAkB,GCCD,G,iGAOnB,WACE8F,EACAo+F,EACA5/F,GAIA,IAAM6/F,EAAe,EAEf5pG,EAAS,CACb42D,OAAQ,OACR71D,QAAS8B,KAAKgnG,SAAW,UACzB1pG,QAAS,CACP,eAAgB,mBAChBC,cAAe,SAAF,OAAWyC,KAAKinG,QAE/B30G,KAAM,CACJoW,QACAo+F,OACAI,UAAWH,EACXI,OAAQ,CAACjgG,KAIb,OAAO,EAAAjJ,EAAM0V,KAAKxW,EAAOe,QAASf,EAAO7K,KAAM,CAAEgL,QAASH,EAAOG,c,YA9B5D,GAAA0pG,SAAW,+CAIX,GAAAC,MAAQ,2CC6MF,cAAIxlG,OAAO,CACxB/M,KAAM,iBACNpC,KAFwB,aAGtB,MAAO,CACL8zG,WAAY,MACZL,mBAAoB,MACpBM,UAAW,GACXE,SAAU,GACVG,gBAAiB,GACjBD,YAAa,GACbE,eAAgB,GAChBH,gBAAiB,GACjBI,cAAe,MACfC,eAAgB,MAChBO,WAAY,GACZd,UAAW,GACXN,cAAe,GACfC,eAAgB,GAChBC,oBAAqB,GACrBC,aAAc,GACdvb,QAAS,KAIb/oF,SAAU,OAAF,sCACH,eAAS,OAAQ,CAAC,UAClB,eAAW,OAAQ,CAAC,mBAAiB,CACxCi5B,KADwC,aAEtC,OAAO96B,KAAK2B,MAAMm5B,QAItBh5B,MAAO,CACLikG,mBADK,WACc/5F,GACbA,GACFhM,KAAKqnG,uBAIXrlG,QAAS,CACPqlG,mBADO,aAELrnG,KAAKqmG,UAAYnwG,OAAOoxG,UAAUjB,UAClCrmG,KAAKumG,SAAWrwG,OAAOoxG,UAAUf,SACjCvmG,KAAK0mG,gBAAkBxwG,OAAOoxG,UAAUC,YACxCvnG,KAAKymG,YAAcvwG,OAAOoxG,UAAUE,QACpCxnG,KAAK2mG,eAAiBzwG,OAAOoxG,UAAUG,WACvCznG,KAAKwmG,gBAAkBtwG,OAAOoxG,UAAUlkD,SACxCpjD,KAAK6mG,eAAiB3wG,OAAOoxG,UAAUI,cACvC1nG,KAAK4mG,cAAgB1wG,OAAOoxG,UAAUK,OACtC3nG,KAAKonG,WAAapnG,KAAK2E,OAAOC,SAC9B5E,KAAKsmG,UAAYpwG,OAAO2H,SAAS+pG,KAEjC5nG,KAAK+lG,mBAAqB,MAG5B/qE,SAhBO,aAiBL,OAAOh7B,KAAK86B,KAAKE,YAGb6sE,aApBC,a,4KAqBCn/F,EAAQ1I,KAAK8nG,gBACbhB,EAAO9mG,KAAK+nG,eACZ7gG,EAAQlH,KAAKgoG,gB,kBAGjB,OAAM,GAAOC,YAAYv/F,EAAOo+F,EAAM5/F,G,0DAEtC1N,QAAQC,MAAM,gDAAkD,EAAlD,I,0DAGZisC,OA/BC,a,qKAgCA1lC,KAAKg7B,W,iDAIVh7B,KAAKomG,WAAa,K,kBAEhB,OAAMpmG,KAAK6nG,e,OACX7nG,KAAK2I,OAAOlQ,SACV,kCACAuH,KAAKQ,GAAG,wBAEVR,KAAK+lG,mBAAqB,MAC1B/lG,KAAKomG,WAAa,M,qDAElBpmG,KAAK2I,OAAOlQ,SACV,gCACAuH,KAAKQ,GAAG,qBAEVR,KAAKomG,WAAa,M,2DAItB0B,cAtDO,aAuDL,MAAO,GAAP,OAAU9nG,KAAKgoG,gBAAf,eAAqChoG,KAAKsmG,YAG5CyB,aA1DO,aA2DL,IAAIj8C,EAAS,yBACTo8C,EAAW,yBACXC,EAAY,yBAEhB,GAAInoG,KAAKgD,KAAM,CACb8oD,EAAS9rD,KAAKgD,KAAKxM,GACnB0xG,EAAWloG,KAAKgD,KAAK9B,SACrBinG,EAAYnoG,KAAKgD,KAAKupD,MAGxB,IAAI67C,EAAgB,wBAChBpoG,KAAK4qF,UACPwd,EAAgB,2CAAH,OAInBpoG,KAAK4qF,QAJc,oBASf,IAAMkc,EAAO,OAAH,OACZ9mG,KAAKgoG,gBADO,eACehoG,KAAKsmG,UADpB,eAGd8B,EAHc,qCAOCpoG,KAAKsmG,UAPN,mFAYE4B,EAZF,0BAaDC,EAbC,4BAcCr8C,EAdD,8CAiBN9rD,KAAKgmG,cAjBC,sBAkBLhmG,KAAKimG,eAlBA,2BAmBAjmG,KAAKkmG,oBAnBL,4DAuBWlmG,KAAKqmG,UAvBhB,qCAwBUrmG,KAAKumG,SAxBf,6BAyBEvmG,KAAKwmG,gBAzBP,yBA0BFxmG,KAAKymG,YA1BH,6BA2BEzmG,KAAK0mG,gBA3BP,4BA4BC1mG,KAAK2mG,eA5BN,gCA6BK3mG,KAAK4mG,cAAgB,MAAQ,KA7BlC,qCA8BU5mG,KAAK6mG,eAAiB,MAAQ,KA9BxC,YAgCV,OAAOC,GAGTkB,cAnHO,aAqHL,OAAOhoG,KAAKmmG,aAAaxyD,kBCrXuY,M,aCOla,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAqBhC,KAAkB,GAAW,CAAC00D,gBAAA,KAAalmG,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKqvC,mBAAA,KAAgBC,0BAAA,KAAuBC,yBAAA,KAAsBC,oBAAA,KAAiBj6B,SAAA,KAAMtD,SAAA,KAAM/R,QAAA,KAAKujB,WAAA,KAAQlhB,WAAA,KAAQpC,cAAA,KAAW+Q,aAAA,OCvC1M,IAAI,GAAS,WAAa,IAAI3T,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIzD,OAAO,MAAQyD,EAAIsjD,UAAU,YAAY,OAAO,aAAa,UAAU3iD,GAAG,CAAC,OAASX,EAAIuoG,wBACtN,GAAkB,GCoBP,UAAI7mG,OAAO,CACxB0G,QADwB,aAElBnI,KAAKyzD,WACPzzD,KAAKyzD,SAASC,IAAM1zD,KAAKsjD,gBAI7BzhD,SAAU,OAAF,wBACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,YAAa,mBAG1CG,QAAS,CACPsmG,oBADO,WACaC,GAClBvoG,KAAK2I,OAAOnQ,OAAO,qBAAsB+vG,GAErCvoG,KAAKyzD,WACPzzD,KAAKyzD,SAASC,IAAM1zD,KAAKsjD,mBCtCuY,MCOpa,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACr9B,WAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIlmB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,IAAM,KAAK,CAAEN,EAAIgkG,SAASyE,iBAAmBzoG,EAAIuD,cAAc,iBAAkBnD,EAAG,iBAAiBJ,EAAI6C,KAAKzC,EAAG,uBAAuBA,EAAG,2BAA2BA,EAAG,mBAAmBA,EAAG,oBAAoBA,EAAG,4BAA4BA,EAAG,cAAc,CAACmB,YAAY,QAAQZ,GAAG,CAAC,MAAQX,EAAIkiG,SAAS,CAAC9hG,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,sBAAsB,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,QAAQ,IAAI,IAAI,IAClnB,GAAkB,GCDlB,GAAS,WAAa,IAAIT,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE8R,KAAM,iBAAkB,CAAChS,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,WAAW,IAAI,GAAGL,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE8R,KAAM,iBAAkB,CAAChS,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,WAAW,IAAI,GAAGL,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE8R,KAAM,iBAAkB,CAAChS,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,WAAW,IAAI,GAAGL,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE8R,KAAM,iBAAkB,CAAChS,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,WAAW,IAAI,GAAGL,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE8R,KAAM,iBAAkB,CAAChS,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,4BAA4B,WAAW,IAAI,GAAGL,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK,CAAE3L,KAAM,kBAAmB2K,OAAQ,CAAE7I,GAAI,MAAQ,CAAC2J,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oCAAoC,QAAQ,IAAI,GAAGL,EAAG,cAAc,IACzrC,GAAkB,GCuDP,UAAIsB,OAAO,ICxD2Y,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACqD,YAAA,KAAS6b,aAAA,KAAUC,iBAAAC,GAAA,KAAiBE,eAAAF,GAAA,OCWnD,cAAIpf,OAAO,CACxBI,SAAU,OAAF,wBACH,eAAS,WAAY,CAAC,cACtB,eAAW,OAAQ,CAAC,mBAEzBG,QAAS,CACPigG,OADO,aAELjiG,KAAK2I,OAAOlQ,SAAS,iBAGzBqb,WAAY,CACV20F,iBACAloE,mBACAC,uBACAC,2BACAC,oBACAC,+BCrD8Z,MCO9Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAClsB,SAAA,KAAMoM,MAAA,QAAMF,aAAA,KAAUC,iBAAAC,GAAA,KAAiBC,iBAAA,KAAcC,eAAAF,GAAA,OC5BnF,IAAI,GAAS,WAAa,IAAI9gB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACmB,YAAY,QAAQ,CAACnB,EAAG,aAAa,CAACE,MAAM,CAAC,IAAMN,EAAIg3D,QAAQ,MAAQh3D,EAAIhI,mBAAmB,QAAUgI,EAAI2oG,aAAa3nG,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIjI,eAAemJ,GAAKG,WAAW,mBAAmB,CAACjB,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAInI,iBAAiB,OAAOuI,EAAG,MAAM,CAACmB,YAAY,qCAAqC,CAAEvB,EAAW,QAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI0E,UAAU,CAAC1E,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,cAAc,OAAOT,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQX,EAAInH,gBAAgB,CAACmH,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,QAAQ,MAAM,IAC/uB,GAAkB,GC2BP,UAAIiB,OAAO,CACxB/M,KAAM,WACNmN,SAAU,OAAF,wBACH,eAAW,cAAe,CAAC,kBAAmB,wBAAsB,CACvE/J,eAAgB,CAGd/C,IAHc,aAIZ,OAAOiL,KAAK2I,OAAO7P,QAAQ,+BAE7BwB,IANc,WAMVwrC,GACGA,GACH9lC,KAAK2I,OAAOlQ,SAAS,+BAI3BiwG,YAbuE,aAcrE,MAAmC,UAA5B1oG,KAAKjI,oBAAkC,EAAI,KAEpDg/D,QAhBuE,aAiBrE,MAAmC,UAA5B/2D,KAAKjI,sBAGhBiK,QAAS,OAAF,wBACF,eAAW,cAAe,CAC3B,sBACA,oBACA,mBACA,mBACA,CACFyC,KADE,aAEAI,QAAQJ,YC3DkZ,M,aCO5Z,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACtC,QAAA,KAAKwmG,aAAA,OCuFpB,cAAIlnG,OAAO,CACxB/M,KAAM,MACNyT,QAFwB,aAEjB,WACLpK,QAAQ2B,IAAI,CAEVM,KAAK2I,OAAOlQ,SAAS,6BACrBuH,KAAK2I,OAAOlQ,SAAS,0BAGrBuH,KAAK2I,OAAOlQ,SAAS,qBACrBuH,KAAK2I,OAAOlQ,SAAS,sBACrBuH,KAAK2I,OAAOlQ,SAAS,uBACrBuH,KAAK2I,OAAOlQ,SAAS,qBACrBuH,KAAK2I,OAAOlQ,SAAS,yBACrBuH,KAAK2I,OAAOlQ,SAAS,wBACrBuH,KAAK2I,OAAOlQ,SAAS,sBACrBuH,KAAK2I,OAAOlQ,SAAS,qBACrBuH,KAAK2I,OAAOlQ,SAAS,kCACrBuH,KAAK2I,OAAOlQ,SAAS,qBACrBuH,KAAK2I,OAAOlQ,SAAS,oCACrBuH,KAAK2I,OAAOlQ,SAAS,8BACrBuH,KAAK2I,OAAOlQ,SAAS,6BACpBwiC,MAAK,WACN,EAAK0qE,YAAc,QAGrB3lG,KAAK4oG,kBAGPt2G,KA7BwB,aA8BtB,MAAO,CACLqzG,YAAa,MACbC,OAAQ,KACRC,eAAgB,GAChBC,WAAY,KAIhBjkG,SAAU,OAAF,wBACH,eAAS,OAAQ,CAAC,UAAQ,CAC7Bo8F,UAD6B,a,MAE3B,OAAOj+F,KAAK2E,SAA0B,QAApB,EAAI3E,KAAK2E,OAAOmW,YAAI,eAAEmjF,cAI5Cj8F,QAAS,CACD4mG,eADC,a,0LAGc,OAAM,EAAA3qG,EAAMlJ,IAAI,e,OAA3BkI,E,OACN+C,KAAK6lG,eAAiB,IAAE9wG,IAAIkI,EAAU,uBACtC+C,KAAK8lG,WAAa,IAAE/wG,IAAIkI,EAAU,mB,mDAElCzD,QAAQC,MAAR,M,2DAKNqa,WAAY,CACV+0F,kBACAC,oBACAC,cACAC,eC5KmX,M,8ECQnX,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAmBhC,KAAkB,GAAW,CAACC,QAAA,KAAKC,WAAA,KAAQC,kBAAA,KAAe3mG,QAAA,KAAKC,cAAA,KAAWoe,MAAA,QAAMF,aAAA,KAAUC,iBAAAC,GAAA,KAAiBE,eAAAF,GAAA,KAAeuoF,SAAA,KAAMC,qBAAA,KAAkB/kG,mBAAA,KAAgB5B,QAAA,KAAKqC,WAAA,KAAQE,cAAA,UCtC/K,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAACyK,MAAM,CAAE0+F,oBAAqBvpG,EAAI0H,UAAWpH,MAAM,CAAC,MAAQN,EAAImH,MAAM,KAAOnH,EAAIS,GAAG,2BAA2B,MAAQT,EAAIsH,MAAM,SAAWtH,EAAIyH,SAAS,SAAWzH,EAAI0H,SAAS,eAAe1H,EAAI0H,UAAY1H,EAAI4H,YAAY,cAAc5H,EAAI2H,WAAW,MAAQ3H,EAAIkK,MAAM,OAAS,QAAQvJ,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIwpG,gBAAgBxoG,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIypG,eAAevoG,GAAKG,WAAW,qBACpiB,GAAkB,GCmBP,UAAIK,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CACL6D,KAAMsG,QAER+H,MAAO,CACLrO,KAAME,MACN2lB,QAAS,mBAAM,KAEjB3X,MAAO,CACLlO,KAAMgP,QAERR,SAAU,CACRxO,KAAMiP,SAERR,SAAU,CACRzO,KAAMiP,SAERN,YAAa,CACX3O,KAAMiP,SAERP,WAAY,CACV1O,KAAMiP,SAERgC,MAAO,CACLjR,KAAMiP,UAGVE,QA5BwB,aA+BtBnI,KAAK4iC,wBAAwB5iC,KAAK7K,QAEpC7C,KAjCwB,aAkCtB,MAAO,CACLm3G,UAAW,KACXD,eAAgB,OAGpB1nG,MAAO,CACL3M,MADK,WACC4M,GACJ/B,KAAK4iC,wBAAwB7gC,KAGjCC,QAAS,CACP4gC,wBADO,WACiB7gC,GACtB,GAAIA,EAAU,CACZ/B,KAAKypG,UAAY/vG,SAASqI,EAAS+J,WAAY,IAC/C9L,KAAKwpG,gBAAkBxpG,KAAKypG,UAAY,KAAKC,eAAe,aACvD,CACL1pG,KAAKwpG,eAAiB,KACtBxpG,KAAKypG,UAAY,OAGrBF,YAVO,aAWAvpG,KAAKwpG,eAGRxpG,KAAKypG,UAAYpqE,KAAKg6B,MACqC,IAAzDswC,WAAW3pG,KAAKwpG,eAAez4D,QAAQ,UAAW,MAHpD/wC,KAAKypG,UAAY,KAMnBzpG,KAAK8H,MAAM,QAAS9H,KAAKypG,eClF2Z,M,aCQtb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC9mG,cAAA,OCxB9B,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACJ,EAAIO,GAAG,QAAQP,EAAIQ,GAAGR,EAAI6pG,eACjI,GAAkB,GCKP,UAAInoG,OAAO,CACxBsG,MAAO,CACL5S,MAAOmK,QAETuC,SAAU,CAKR+nG,UALQ,aAMN,OAAO,IAAIryC,KAAKC,cAAeh4C,OAAOxf,KAAK7K,MAAQ,SChB2X,MCOhb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI4K,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAAEJ,EAAU,OAAEI,EAAG,OAAO,CAACmB,YAAY,UAAU,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIkuC,WAAWluC,EAAI6C,KAAM7C,EAAc,WAAEI,EAAG,OAAO,CAACmB,YAAY,UAAU,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIuoF,eAAevoF,EAAI6C,KAAM7C,EAAU,OAAEI,EAAG,OAAO,CAACmB,YAAY,UAAU,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI8pG,WAAW9pG,EAAI6C,QAC7W,GAAkB,GCaP,UAAInB,OAAO,CACxBsG,MAAO,CACLmD,UAAWlD,OACX8hG,cAAe7hG,QACfkoD,SAAUloD,QACV8hG,SAAU9hG,SAEZpG,SAAU,CACRymF,WADQ,aAEN,IAAKtoF,KAAKkL,UACR,OAAO,EAET,IAAMsoD,EAAM,OAAS2U,KAAKnoE,KAAKkL,UAAW,SAC1C,GAAIsoD,EAAM,EACR,OAAO,EAET,OAAOA,GAETvlB,OAXQ,aAYN,GAAIjuC,KAAKmwD,SACP,MAAO,GAET,GAAInwD,KAAK8pG,eAAiB9pG,KAAKsoF,WAAa,EAC1C,MAAO,IAET,MAAO,IAETuhB,OApBQ,aAqBN,GAAI7pG,KAAK+pG,SACP,MAAO,GAET,GAAI/pG,KAAKsoF,WAAa,EACpB,OAAO1qF,EAAKxI,EAAE,cAAc0W,WAE9B,MAAO,OChDua,MCOhb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI/L,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,kBAAkB,IAAK,MAAQN,EAAIS,GAAG,uBAAuB,OAAST,EAAIiqG,cAAc,YAAY,QAAQ,WAAa,IAAItpG,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAM9E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,OAAQ4K,EAAIkqG,KAAM7oG,WAAW,UAAUf,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAImqG,eAAenpG,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAIkqG,KAAKhpG,GAAKG,WAAW,WAAW,GAAGjB,EAAG,QAAQ,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAO4K,EAAQ,KAAEqB,WAAW,SAASf,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,SAAW,GAAG,MAAQN,EAAIS,GAAG,+BAA+B,eAAeT,EAAIsxD,MAAMtwD,MAAM,CAAC5L,MAAO4K,EAAoB,iBAAEiB,SAAS,SAAUC,GAAMlB,EAAIoqG,iBAAiBlpG,GAAKG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAO4K,EAAQ,KAAEqB,WAAW,SAASf,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACM,IAAI,QAAQJ,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqBO,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAImH,MAAsB,kBAARjG,EAAkBA,EAAIE,OAAQF,GAAMG,WAAW,YAAY,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAiB,cAAEI,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQ,UAAUU,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIqqG,gBAAgBnpG,GAAKG,WAAW,qBAAqBrB,EAAI6C,MAAM,IAAI,IAAI,IAC9sD,GAAkB,GCwDP,UAAInB,OAAO,CACxBsG,MAAO,CACLxJ,WAAYyJ,OACZxJ,SAAUc,OACVzB,SAAUmK,OACV7S,MAAO8S,SAGTE,QARwB,aAStBnI,KAAKtI,OAASsI,KAAK7K,OAGrB7C,KAZwB,aAatB,MAAO,CACLmH,MAAO,KACPwwG,KAAM,KACNvyG,OAAQ,MACRwP,MAAO,GACPkjG,gBAAiB,EACjBC,SAAU,GACVF,iBAAkB,GAClBH,cAAe,MACfM,eAAgB,OAIpBxoG,MAAO,CACL3M,MADK,WACCg/C,GACJn0C,KAAKtI,OAASy8C,GAEhBz8C,OAJK,WAIEy8C,GACLn0C,KAAK8H,MAAM,QAASqsC,KAIxBtyC,SAAU,CAKRwvD,KALQ,aAMN,GAAsC,IAAlCrxD,KAAKqqG,SAASjjG,OAAO,SACvB,MAAO,gBAET,GAAgD,IAA5CpH,KAAKqqG,SAASjjG,OAAO,mBACvB,MAAO,cAET,GACEpH,KAAKqqG,SAASjjG,OAAO,eAAiB,GACtCpH,KAAKqqG,SAASjjG,OAAO,SAAW,EAEhC,MAAO,gBAET,GAAIpH,KAAKqqG,SAASjjG,OAAO,QAAU,EACjC,MAAO,eAET,MAAO,YAIXpF,QAAS,CAKPkoG,WALO,aAKG,WACR,GAAIlqG,KAAKiqG,KAAM,CACbjqG,KAAKkH,MAAQlH,KAAKuqG,gBAAgBvqG,KAAKiqG,KAAKv1G,MAC5CsL,KAAKqqG,SAAWrqG,KAAKiqG,KAAKjxG,KAC1BgH,KAAKmqG,iBAAmBnqG,KAAKiqG,KAAKv1G,KAClCsL,KAAKyX,WAAU,WAGZ,EAAK9V,MAAMuF,MAActF,aAShCgE,MAtBO,aAuBL5F,KAAKmqG,iBAAmB,GACxBnqG,KAAKvG,MAAQ,KACbuG,KAAKiqG,KAAO,KACZjqG,KAAKkH,MAAQ,GACblH,KAAKoqG,gBAAkB,EACvBpqG,KAAKgqG,cAAgB,MACrBhqG,KAAKqqG,SAAW,GAChBrqG,KAAKsqG,eAAiB,MAOlBzkG,KArCC,a,mLAsCL7F,KAAKvG,MAAQ,KACbuG,KAAKgqG,cAAgB,K,SAIbQ,EAAK,CAAC,cAAD,OACKxqG,KAAKzB,YADV,mBAEGyB,KAAKxB,UAFR,mBAGGwB,KAAKnC,UAHR,gBAIAkO,mBAAmB/L,KAAKkH,QAJxB,2BAKW6E,mBAAmB/L,KAAKmqG,mBALnC,mBAMGnqG,KAAKqqG,W,SAEF,OAAM,EAAc7hE,IACnC,WAAagiE,EAAGx/F,KAAK,KACrBhL,KAAKiqG,KACL,CAGEQ,iBAAkB,WAACC,GACbA,EAAIC,mBACN,EAAKP,gBAAkB/qE,KAAKg6B,MACZ,IAAbqxC,EAAI1iE,OAAgB0iE,EAAI32D,W,OAT7B92C,E,OAiBA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,sBAAuBY,GAC1C4G,KAAKtI,OAAS,M,qDAEdsI,KAAKvG,MAAL,K,kBAEAuG,KAAKgqG,cAAgB,M,qFAQzBO,gBAlFO,WAkFSK,GACd,OAAQA,GAAY,IAAIjuE,MAAM,KAAK,GAAGoU,QAAQ,KAAM,KAAK5vC,WCxM8X,M,aCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACqB,QAAA,KAAKqoG,cAAA,KAAWvmG,mBAAA,KAAgB5B,QAAA,KAAKC,cAAA,OC3BnE,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQN,EAAIS,GAAG,kBAAkB,YAAY,MAAM,YAAcT,EAAI+qG,eAAepqG,GAAG,CAAC,MAAQX,EAAI6F,MAAM,KAAO7F,EAAI8F,MAAMR,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC3F,EAAG,MAAM,CAACmB,YAAY,eAAe,CAACnB,EAAG,kBAAkBJ,EAAI4F,GAAG,CAACpB,YAAY,CAAC,OAAS,WAAWlE,MAAM,CAAC,WAAaN,EAAIgrG,mBAAmB,SAAWhrG,EAAIirG,iBAAiB,SAAWjrG,EAAIlC,SAAS,YAAc,kBAAkBiI,EAAUpF,KAAKP,EAAG,QAAQJ,EAAI4F,GAAG,CAACrE,YAAY,OAAOjB,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAKyF,EAAUpF,IAAI,CAACX,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQ,QAAQO,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAItG,SAAS0G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAO,IAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,GAAG,IAAMN,EAAIkrG,IAAI,MAAQ,SAASlrG,EAAI6C,MAAM,GAAGzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,OAAQ4K,EAAIkqG,KAAM7oG,WAAW,UAAUf,MAAM,CAAC,MAAQN,EAAIS,GAAG,qBAAqB,OAAS,aAAa,MAAQ,CAAC,SAAUrF,GAAK,QAASA,GAAK4E,EAAIS,GAAG,qBAAuBE,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOZ,EAAImqG,eAAenpG,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAIkqG,KAAKhpG,GAAKG,WAAW,WAAW,GAAGjB,EAAG,QAAQ,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAO4K,EAAQ,KAAEqB,WAAW,SAASf,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,SAAW,GAAG,MAAQN,EAAIS,GAAG,+BAA+B,eAAe,iBAAiBO,MAAM,CAAC5L,MAAO4K,EAAoB,iBAAEiB,SAAS,SAAUC,GAAMlB,EAAIoqG,iBAAiBlpG,GAAKG,WAAW,uBAAuB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAiB,cAAEI,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQ,UAAUU,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIqqG,gBAAgBnpG,GAAKG,WAAW,qBAAqBrB,EAAI6C,MAAM,IAAI,IAAI,IACh+D,GAAkB,GCiEP,UAAInB,OAAO,CACxBsG,MAAO,CACLxJ,WAAYyJ,OACZxJ,SAAUc,OACVzB,SAAUmK,QAGZ1V,KAPwB,aAQtB,MAAO,CACLmH,MAAO,KACP/B,OAAQ,MACRuyG,KAAM,KACNe,iBAAkB,EAClBD,mBAAoB,OACpB7jG,MAAO,GACPkjG,gBAAiB,EACjBC,SAAU,GACVF,iBAAkB,GAClBH,cAAe,MACfM,eAAgB,OAIpBzoG,SAAU,CACRopG,IADQ,aAEN,GAAIjrG,KAAKiqG,KACP,OAAOxkD,IAAIylD,gBAAgBlrG,KAAKiqG,MAElC,OAAO,MAETa,cAPQ,aAQN,IAAK9qG,KAAKiqG,KACR,OAAO,MAET,IAAKjqG,KAAKkH,MACR,OAAO,MAET,OAAO,OAIXpF,MAAO,CACLvD,WAAY,CACV0F,UAAW,KACXC,QAFU,WAEFgT,GAEJlX,KAAK+qG,mBADH7zF,GAGwB,SAIhC1Y,SAAU,CACRyF,UAAW,KACXC,QAFQ,WAEAgT,GAEJlX,KAAKgrG,iBADH9zF,GAGsBmoB,KAAKC,OAAuB,OAAjBD,KAAKE,aAMhDv9B,QAAS,CACPkoG,WADO,aAEL,GAAIlqG,KAAKiqG,KAAM,CACbjqG,KAAKkH,MAAQlH,KAAKuqG,gBAAgBvqG,KAAKiqG,KAAKv1G,MAC5CsL,KAAKqqG,SAAWrqG,KAAKiqG,KAAKjxG,KAC1BgH,KAAKmqG,iBAAmBnqG,KAAKiqG,KAAKv1G,OAGtCkR,MARO,aASL5F,KAAKvG,MAAQ,KACbuG,KAAKmqG,iBAAmB,GACxBnqG,KAAKiqG,KAAO,KACZjqG,KAAKkH,MAAQ,GACblH,KAAKoqG,gBAAkB,EACvBpqG,KAAKgqG,cAAgB,MACrBhqG,KAAKqqG,SAAW,GAChBrqG,KAAKsqG,eAAiB,MAElBzkG,KAlBC,a,mLAmBC2kG,EAAK,CAAC,cAAD,OACKxqG,KAAK+qG,oBADV,mBAEG/qG,KAAKgrG,kBAFR,mBAGGhrG,KAAKnC,UAHR,gBAIAkO,mBAAmB/L,KAAKkH,QAJxB,2BAKW6E,mBAAmB/L,KAAKmqG,mBALnC,mBAMGnqG,KAAKqqG,WAEnBrqG,KAAKgqG,cAAgB,K,kBAEF,OAAM,EAAcxhE,IACnC,WAAagiE,EAAGx/F,KAAK,KACrBhL,KAAKiqG,KACL,CACEQ,iBAAkB,WAACC,GACbA,EAAIC,mBACN,EAAKP,gBAAkB/qE,KAAKg6B,MACZ,IAAbqxC,EAAI1iE,OAAgB0iE,EAAI32D,W,OAP7B92C,E,OAaA7D,EAAW6D,EAAS3K,KAAKA,KAC/B0N,KAAK2I,OAAOnQ,OAAO,sBAAuBY,GAC1C4G,KAAKtI,OAAS,M,qDAEdsI,KAAKgqG,cAAgB,MACrBhqG,KAAKvG,MAAL,K,2DASE4Z,eAxDC,WAwDc7U,G,wKACblM,EAAO,CACX64G,cAAenrG,KAAK+qG,mBACpBK,cAAeprG,KAAK+qG,mBACpBM,YAAarrG,KAAKgrG,iBAClBM,YAAa5xG,SAAS8E,EAASsN,WAAY,K,yBAEtC,EAAc6H,KAAK,YAAa,CAAErhB,U,iDAE3Ci4G,gBAjEO,WAiESK,GACd,OAAQA,GAAY,IAAIjuE,MAAM,KAAK,GAAGoU,QAAQ,KAAM,KAAK5vC,WCpMmY,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAACgB,QAAA,KAAKK,QAAA,KAAKqoG,cAAA,KAAW99B,QAAA,KAAKzoE,mBAAA,KAAgB5B,QAAA,KAAKC,cAAA,OC7B7E,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAO,IAAEI,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,QAAU,GAAG,MAAQN,EAAI+W,MAAM,IAAM/W,EAAIkrG,MAAMlrG,EAAIwrG,aAAaxrG,EAAI6C,MACpM,GAAkB,GCUP,UAAInB,OAAO,CACxBsG,MAAO,CACLxJ,WAAY,CACVvF,KAAMgP,OACN+Q,SAAU,MAEZva,SAAUc,OACVzB,SAAU,CACR7E,KAAMgP,OACN+Q,SAAU,MAEZjC,MAAO,CAAC9O,OAAQ1I,QAChB4kC,YAAal8B,QAEfG,QAdwB,aAetBnI,KAAKoI,aAEP9V,KAjBwB,aAkBtB,MAAO,IAETwP,MAAO,CACLtD,SADK,aAEHwB,KAAKoI,cAGTvG,SAAU,OAAF,wBACH,eAAW,aAAc,CAAC,0BAAwB,CACrDopG,IADqD,aAEnD,GAAIjrG,KAAKwrG,kBACP,OAAOxrG,KAAKwrG,kBAAkBC,KAAO,GAEvC,OAAOzrG,KAAKkkC,aAEdsnE,kBAPqD,aAQnD,GAAIxrG,KAAKvB,YAAY3L,OAAS,EAC5B,OAAOkN,KAAKvB,YAAY,GAE1B,OAAO,MAETA,YAbqD,aAcnD,IAAMA,EACJuB,KAAK1B,qBACH0B,KAAKzB,WACLyB,KAAKxB,SACLwB,KAAKnC,WACF,GACP,OAAO,IAAEgB,OAAOJ,EAAa,cAAciT,aAG/C1P,QAAS,CACDoG,UADC,a,2KAEL,OAAMpI,KAAK2I,OAAOlQ,SAAS,8BAA+B,CACxD8F,WAAYyB,KAAKzB,WACjBC,SAAUwB,KAAKxB,SACfX,SAAUmC,KAAKnC,W,oDCjEka,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACkvE,QAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIhtE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAItB,YAAkB,OAAE0B,EAAG,MAAM,CAAEJ,EAAa,UAAEI,EAAG,QAAQ,CAACmB,YAAY,0BAA0B,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI2rG,WAAW,QAAQ3rG,EAAI6C,KAAK7C,EAAI0F,GAAI1F,EAAe,aAAE,SAAS1B,GAAY,OAAO8B,EAAG,QAAQ,CAAC1K,IAAI4I,EAAW7H,GAAG6J,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,MAAQ,UAAUK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI4rG,iBAAiBttG,EAAWotG,QAAQ,CAACtrG,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,YAAYhC,EAAWgsG,YAAYtqG,EAAIO,GAAG,IAAIP,EAAIQ,GAAGlC,EAAW6I,OAAO,MAAM,OAAM,GAAGnH,EAAI6C,MAC3kB,GAAkB,GCDlB,GAAS,WAAa,IAAI7C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAIgvD,MAAM,KAAOhvD,EAAI6rG,KAAK,MAAQ7rG,EAAIkK,MAAM,SAAWlK,EAAIyH,SAAS,MAAQzH,EAAI8rG,MAAM,KAAO9rG,EAAI+rG,KAAK,MAAQ/rG,EAAIgsG,MAAM,MAAQhsG,EAAI04E,MAAM,OAAS14E,EAAI6iD,OAAO,OAAS7iD,EAAIisG,SAAS,CAACjsG,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIsxD,MAAM,QACzU,GAAkB,GCkBP,UAAI5vD,OAAO,CACxBsG,MAAO,CACL,WACA,QACA,QACA,QACA,QACA,WACA,OACA,QACA,OACA,SACA,UAEFlG,SAAU,CACRwvD,KADQ,aAEN,GAAsC,IAAlCrxD,KAAKqqG,SAASjjG,OAAO,SACvB,MAAO,gBAET,GAAgD,IAA5CpH,KAAKqqG,SAASjjG,OAAO,mBACvB,MAAO,cAET,GACEpH,KAAKqqG,SAASjjG,OAAO,eAAiB,GACtCpH,KAAKqqG,SAASjjG,OAAO,SAAW,EAEhC,MAAO,gBAET,GAAIpH,KAAKqqG,SAASjjG,OAAO,QAAU,EACjC,MAAO,eAET,MAAO,cClDya,MCOlb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACqN,SAAA,OCKf,cAAIhT,OAAO,CACxBsG,MAAO,CACLxJ,WAAY,CACVvF,KAAMgP,OACN+Q,SAAU,MAEZva,SAAUc,OACVzB,SAAU,CACR7E,KAAMgP,OACN6W,QAAS,IAEX3X,MAAO,CACLlO,KAAMgP,OACN+Q,SAAU,QAGd5Q,QAhBwB,aAiBtBnI,KAAKoI,aAEP9V,KAnBwB,aAoBtB,MAAO,CACL+8F,OAAQ,MACR2b,iBAAkB,EAClBD,mBAAoB,SAGxBlpG,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAW,aAAc,CAAC,0BAAwB,CACrD6pG,UADqD,aAEnD,GAAI1rG,KAAKkH,OAAwB,KAAflH,KAAKkH,MACrB,OAAOlH,KAAKkH,MAEd,OAAIlH,KAAKvB,YAAY3L,OAAS,EACrB8K,EAAKxI,EAAE,qBAAqB0W,WAE5BlO,EAAKxI,EAAE,uBAAuB0W,YAGzCrN,YAXqD,aAYnD,OAAOuB,KAAK1B,qBACV0B,KAAKzB,WACLyB,KAAKxB,SACLwB,KAAKnC,aAIXmE,QAAS,CACP2pG,iBADO,WACUF,GACfv1G,OAAO4vC,KAAK2lE,EAAK,WAEnBrjG,UAJO,aAKLpI,KAAK2I,OAAOlQ,SAAS,8BAA+B,CAClD8F,WAAYyB,KAAKzB,WACjBC,SAAUwB,KAAKxB,SACfX,SAAUmC,KAAKnC,aAIrBiW,WAAY,CACVm4F,mBCxFsb,MCOtb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC9pG,QAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIpC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,cAAc,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAImH,MAAQnH,EAAImH,MAAQnH,EAAIS,GAAG,sBAAsB,OAAOT,EAAI0F,GAAI1F,EAAe,aAAE,SAAS1B,GAAY,OAAO8B,EAAG,cAAc,CAAC1K,IAAI4I,EAAW7H,GAAGkK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI4rG,iBAAiBttG,EAAWotG,QAAQ,CAACtrG,EAAG,qBAAqB,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,YAAY,YAAYhC,EAAWgsG,aAAa,GAAGlqG,EAAG,oBAAoB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGlC,EAAW6I,WAAW,MAAK/G,EAAG,cAAc,CAACO,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIsvF,OAAS,QAAQ,CAAClvF,EAAG,qBAAqB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,mBAAmB,GAAGH,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,wBAAwB,MAAM,IAAI,IAAI,GAAGL,EAAG,sBAAsB,CAACE,MAAM,CAAC,WAAaN,EAAIxB,WAAW,SAAWwB,EAAIirG,iBAAiB,SAAWjrG,EAAIlC,UAAUkD,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIsvF,OAAOpuF,GAAKG,WAAW,aAAa,IAC3kC,GAAkB,GC6CP,UAAIK,OAAO,CACxBsG,MAAO,CACLxJ,WAAY,CACVvF,KAAMgP,OACN+Q,SAAU,MAEZva,SAAUc,OACVzB,SAAU,CACR7E,KAAMgP,OACN6W,QAAS,IAEX3X,MAAOc,OACPkkG,OAAQlkG,QAEVG,QAdwB,aAetBnI,KAAKoI,aAEP9V,KAjBwB,aAkBtB,MAAO,CACL+8F,OAAQ,MACR2b,iBAAkB,EAClBD,mBAAoB,SAGxBlpG,SAAU,OAAF,wBACH,eAAW,aAAc,CAAC,0BAAwB,CACrDpD,YADqD,aAEnD,OAAOuB,KAAK1B,qBACV0B,KAAK+qG,mBACL/qG,KAAKgrG,iBACLhrG,KAAKnC,aAIXiE,MAAO,CACLvD,WAAY,CACV0F,UAAW,KACXC,QAFU,WAEFgT,GAEJlX,KAAK+qG,mBADH7zF,GAGwB,SAIhC1Y,SAAU,CACRyF,UAAW,KACXC,QAFQ,WAEAgT,GAEJlX,KAAKgrG,iBADH9zF,GAGsBmoB,KAAKC,OAAuB,OAAjBD,KAAKE,aAKhDv9B,QAAS,CACDqR,eADC,WACc7U,G,wKACblM,EAAO,CACX64G,cAAenrG,KAAK+qG,mBACpBK,cAAeprG,KAAK+qG,mBACpBM,YAAarrG,KAAKgrG,iBAClBM,YAAa5xG,SAAS8E,EAASsN,WAAY,K,yBAEtC,EAAc6H,KAAK,YAAa,CAAErhB,U,iDAE3Cq5G,iBAVO,WAUUF,GACfv1G,OAAO4vC,KAAK2lE,EAAK,WAEnBrjG,UAbO,aAcLpI,KAAK2I,OAAOlQ,SAAS,8BAA+B,CAClD8F,WAAYyB,KAAKzB,WACjBC,SAAUwB,KAAKxB,SACfX,SAAUmC,KAAKnC,aAIrBiW,WAAY,CACVq4F,uBACAF,mBC7Hqb,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAACx3F,SAAA,KAAMoM,MAAA,QAAMF,aAAA,KAAU2mB,mBAAA,KAAgB1mB,iBAAAC,GAAA,KAAiBE,eAAAF,GAAA,KAAeG,cAAA,OC7BpG,IAAI,GAAS,WAAa,IAAIjhB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIqsG,YAAYrsG,EAAI6C,MACvJ,GAAkB,GCWP,UAAInB,OAAO,CACxBsG,MAAO,CACLmD,UAAWlD,OACX8hG,cAAe7hG,SAEjBpG,SAAU,CACRuqG,QADQ,aAEN,IAAKpsG,KAAKkL,UACR,MAAO,GAET,GAAIlL,KAAK8pG,cACP,OAAO9pG,KAAKqsG,YAEd,OAAOrsG,KAAKssG,aAEdD,YAVQ,aAWN,GAAoB,OAAhBzuG,EAAKtB,OAAiB,CACxB,IAAM/H,EAAI,KAAOyT,OAAOhI,KAAKkL,WAAY,cACzC,OAAO3W,EAAEirB,OAAO,QAElB,IAAM1rB,EAAI,KAAQkU,OAAOhI,KAAKkL,WAAY,cAC1C,OAAOpX,EAAE0rB,OAAO,UAGlB8sF,YAnBQ,aAoBN,OAAO1sB,GAAgB5/E,KAAKkL,eCrCwZ,MCOtb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAInL,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,MAAQT,EAAIwsG,SAAS,SAAWxsG,EAAI0H,SAAS,SAAW1H,EAAIysG,aAAazrG,MAAM,CAAC5L,MAAO4K,EAAO,IAAEiB,SAAS,SAAUC,GAAMlB,EAAIyzD,IAAIvyD,GAAKG,WAAW,UAAU,GAAGjB,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,0BAA0BO,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAI0sG,UAAUxrG,GAAKG,WAAW,gBAAgB,GAAGjB,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,uBAAuB,kBAAkB,GAAG,MAAQT,EAAI2sG,UAAU,SAAW3sG,EAAI0H,SAAS,SAAW1H,EAAI4sG,cAAc5rG,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAI69C,KAAK38C,GAAKG,WAAW,WAAW,IAAI,IACj7B,GAAkB,GCoCP,UAAIK,OAAO,CACxBsG,MAAO,CACL5S,MAAO6S,OACP8hG,cAAe7hG,QACf8Q,SAAU9Q,QACVR,SAAUQ,QACVT,SAAUS,SAEZE,QARwB,aAStBnI,KAAK49C,KAAO59C,KAAK7K,MACjB6K,KAAKysG,WAAazsG,KAAK8pG,eAEzBx3G,KAZwB,aAatB,MAAO,CACLkhE,IAAK,EACLi5C,UAAW,MACX7uD,KAAM,KAGV97C,MAAO,CACL3M,MADK,WACC4M,GACJ/B,KAAK49C,KAAO77C,GAEd+nG,cAJK,WAIS8C,GACZ5sG,KAAKysG,WAAaG,GAMpBp5C,IAXK,aAYH,GAAIxzD,KAAKwzD,MAAQxzD,KAAK6sG,YAAY7sG,KAAK49C,MAAO,CAC5C59C,KAAKysG,UAAY,MACjBzsG,KAAK49C,KAAO59C,KAAK8sG,YAAY9sG,KAAKwzD,OAGtC5V,KAjBK,aAkBC59C,KAAKwzD,MAAQxzD,KAAK6sG,YAAY7sG,KAAK49C,QACrC59C,KAAKwzD,IAAMxzD,KAAK6sG,YAAY7sG,KAAK49C,OAEnC59C,KAAK8H,MAAM,QAAS9H,KAAK49C,OAE3B6uD,UAvBK,aAwBHzsG,KAAK8H,MAAM,sBAAuB9H,KAAKysG,aAG3C5qG,SAAU,CAIR2qG,YAJQ,aAKN,GAAIxsG,KAAKwH,SACP,OAAO,KAET,OAAOxH,KAAKysG,WAMdE,aAdQ,aAeN,GAAI3sG,KAAKwH,SACP,OAAO,KAET,OAAQxH,KAAKysG,WAGfF,SArBQ,aAsBN,GAAIvsG,KAAK+Y,WAAa/Y,KAAKwsG,YACzB,MAAO,CAAC,SAACrxG,GAAD,OAAOA,EAAI,GAAKyC,EAAKxI,EAAE,oBAEjC,MAAO,IAGTs3G,UA5BQ,aA6BN,GAAI1sG,KAAK+Y,WAAa/Y,KAAK2sG,aACzB,MAAO,CAAC,SAACxxG,GAAD,QAASA,GAAKyC,EAAKxI,EAAE,oBAE/B,MAAO,KAIX4M,QAAS,CAKP6qG,YALO,WAKKjvD,GACV,IAAKA,EACH,OAAO,EAET,IAAM0qC,EAAa,OAASngB,KAAKvqB,EAAM,SACvC,GAAI0qC,EAAa,EACf,OAAO,EAET,OAAOA,GAaTwkB,YA1BO,WA0BKt5C,GACV,GAAIA,GAAO,EACT,MAAO,GAET,IAAMu5C,EAAY,OAAUlwE,QAAU22B,EAChCw5C,EAAa,KAAQD,EAAY,SAAU,iBACjD,OAAOC,EAAWxtF,OAAO,kBCvJ4Z,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC/L,aAAA,KAAUjR,QAAA,KAAKE,QAAA,OCzB7C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,oBAAoB,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAIktG,iBAAiB,MAAQltG,EAAIsH,MAAM,SAAWtH,EAAIyH,SAAS,SAAWzH,EAAI0H,UAAU/G,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,IAAS,OAAS,SAASA,GAAQ,OAAOZ,EAAI+H,MAAM,SAAUnH,QACzY,GAAkB,GCoBP,UAAIc,OAAO,CACxBsG,MAAO,CACL5S,MAAO6S,OACPd,MAAOc,OACPX,MAAOnO,MACPsO,SAAUS,QACVR,SAAUQ,QACVqvB,UAAWtvB,QAEbnG,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAS,UAAW,CAAC,gBAAc,CAQtCorG,iBARsC,aAQtB,WACRC,EAAWltG,KAAKujG,WACtB,OAAO,IAAEltG,IAAI62G,GAAU,SAAC93G,GACtB,IAAMD,EAAQC,EACVqT,EAAOrT,EACD,YAANA,GAAyB,KAANA,IACE,QAAnB,EAAKkiC,UACP7uB,EAAOgkB,GAAK,EAAKnwB,QACW,YAAnB,EAAKg7B,YACd7uB,EAAO4jB,GAAS,EAAK/vB,UAGzB,MAAO,CAAEnH,QAAOsT,gBCpDma,MCOvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACwd,WAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIlmB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,MAA6B,QAArBF,EAAI08B,cAAyBt8B,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIotG,WAAaptG,EAAIS,GAAG,SAAS,OAA6B,SAArBT,EAAI08B,cAA0Bt8B,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIqtG,YAAcrtG,EAAIS,GAAG,UAAU,OAAOL,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIu4B,cAAgBv4B,EAAIS,GAAG,YAAY,QACzW,GAAkB,GCcP,UAAIiB,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACPklG,UAAWnlG,OACXolG,WAAYplG,OACZswB,aAActwB,QAEhBnG,SAAU,CACR46B,cADQ,aAEN,OAAQz8B,KAAK7K,OACX,KAAK,KACH,MAAO,OACT,UAAKsF,EACH,MAAO,OACT,KAAK,MACH,MAAO,QACT,KAAK,KACH,MAAO,YChCua,MCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIsF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAImH,MAAM,MAAQnH,EAAIs4B,MAAM,KAAOt4B,EAAIo4B,KAAK,SAAWp4B,EAAI0H,SAAS,eAAiB1H,EAAIq4B,eAAe,MAAQr4B,EAAIsH,MAAM,YAActH,EAAI4H,aAAa5G,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAI08B,cAAcx7B,GAAKG,WAAW,oBAC/W,GAAkB,GCmBP,UAAIK,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACPf,MAAOc,OACPswB,aAActwB,OACdmlG,UAAWnlG,OACXolG,WAAYplG,OACZP,SAAUQ,QACVkwB,KAAMnwB,OACNowB,eAAgBnwB,QAChBZ,MAAOnO,MACPwQ,QAASzB,QACTN,YAAaM,QACb8kC,eAAgB9kC,SAElB3V,KAfwB,aAgBtB,MAAO,CACLmqC,cAAe,SAGnB56B,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,oBAAkB,CAE7Cw2B,MAF6C,aAG3C,MAAO,CACL,CACE5vB,KAAMzI,KAAKs4B,cAAgBt4B,KAAKuhB,eAAe8K,IAC/Cl3B,MAAO,QAET,CAAEsT,KAAMzI,KAAKmtG,WAAavvG,EAAKxI,EAAE,QAAQ0W,WAAY3W,MAAO,QAC5D,CAAEsT,KAAMzI,KAAKotG,YAAcxvG,EAAKxI,EAAE,SAAS0W,WAAY3W,MAAO,aAIpE2M,MAAO,CACL3M,MAAO,CACL8O,UAAW,KACXC,QAFK,WAEGgT,GACN,OAAQA,GACN,KAAK,KACL,UAAKzc,EACH,GAAIuF,KAAK+sC,eAAgB,CACvB/sC,KAAKy8B,cAAgB,QAErBz8B,KAAK8H,MAAM,QAAS,YAEpB9H,KAAKy8B,cAAgB,OAEvB,MACF,IAAK,QACL,KAAK,MACHz8B,KAAKy8B,cAAgB,QACrB,MACF,QACEz8B,KAAKy8B,cAAgB,UAI7BA,cAxBK,WAwBS4wE,GACZ,OAAQA,GACN,IAAK,OACHrtG,KAAK8H,MAAM,QAAS,MACpB,MACF,IAAK,QACH9H,KAAK8H,MAAM,QAAS,OACpB,MACF,IAAK,OACH9H,KAAK8H,MAAM,QAAS,MACpB,WCxF+a,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACme,WAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIlmB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACE,MAAM,CAAC,MAAQN,EAAImH,MAAM,SAAWnH,EAAI0H,SAAS,KAAO1H,EAAIo4B,KAAK,eAAiBp4B,EAAIq4B,eAAe,QAAUr4B,EAAI2J,QAAQ,MAAQ3J,EAAIsH,MAAM,YAActH,EAAI4H,YAAY,UAAY,GAAG,IAAM5H,EAAIwrB,KAAKxqB,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAI08B,cAAcx7B,GAAKG,WAAW,kBAAkB,CAAGrB,EAAIgtC,eAAqGhtC,EAAI6C,KAAzFzC,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIu4B,cAAgBv4B,EAAIS,GAAG,WAAW,MAAQ,UAAmBL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIqtG,YAAcrtG,EAAIS,GAAG,SAAS,MAAQ,WAAWL,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIotG,WAAaptG,EAAIS,GAAG,QAAQ,MAAQ,WAAW,IAC9rB,GAAkB,GCwBP,UAAIiB,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACPf,MAAOc,OACPswB,aAActwB,OACdmlG,UAAWnlG,OACXolG,WAAYplG,OACZP,SAAUQ,QACVkwB,KAAMnwB,OACNowB,eAAgBnwB,QAChBZ,MAAOnO,MACPwQ,QAASzB,QACTN,YAAaM,QACb8kC,eAAgB9kC,QAChBsjB,IAAKtjB,SAEP3V,KAhBwB,aAiBtB,MAAO,CAMLmqC,cAAe,SAGnB56B,SAAU,GACVC,MAAO,CACL3M,MAAO,CACL8O,UAAW,KACXC,QAFK,WAEGgT,GACN,OAAQA,GACN,KAAK,KACL,UAAKzc,EACH,GAAIuF,KAAK+sC,eAAgB,CACvB/sC,KAAKy8B,cAAgB,QAErBz8B,KAAK8H,MAAM,QAAS,YAEpB9H,KAAKy8B,cAAgB,OAEvB,MACF,IAAK,QACL,KAAK,MACHz8B,KAAKy8B,cAAgB,QACrB,MACF,QACEz8B,KAAKy8B,cAAgB,UAI7BA,cAxBK,WAwBS4wE,GACZ,OAAQA,GACN,IAAK,OACHrtG,KAAK8H,MAAM,QAAS,MACpB,MACF,IAAK,QACH9H,KAAK8H,MAAM,QAAS,OACpB,MACF,IAAK,OACH9H,KAAK8H,MAAM,QAAS,MACpB,WCtFkb,MCOxb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACkQ,UAAA,KAAOC,eAAA,OCxBrC,IAAI,GAAS,WAAa,IAAIlY,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,YAAYN,EAAIutG,SAAS,YAAcvtG,EAAIwtG,cAAc,WAAaxtG,EAAIytG,WAAW,YAAcztG,EAAI0tG,cAAc,kBAAkB1tG,EAAI2tG,gBAAgBroG,YAAYtF,EAAIuF,GAAG,CAAGvF,EAAI+b,YAA81B,KAAj1B,CAACrmB,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,aAAY,WAAW,MAAO,CAAEhG,EAAO,IAAEI,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,IAAM,GAAG,SAAW,GAAG,OAAS,GAAG,UAAUN,EAAI6iD,OAAO,MAAQ7iD,EAAI04E,MAAM,MAAQ14E,EAAI8rG,MAAM,MAAQ,WAAW/lG,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,UAAUN,EAAI6iD,OAAO,MAAQ7iD,EAAI04E,MAAM,MAAQ14E,EAAI8rG,QAAQ,CAAC9rG,EAAIO,GAAG,gBAAgB,GAAGP,EAAI6C,KAAM7C,EAAIu4D,QAAUv4D,EAAImyC,KAAM/xC,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,KAAO,GAAG,UAAUN,EAAI6iD,OAAO,MAAQ7iD,EAAI04E,MAAM,OAAS14E,EAAI4tG,OAAO,MAAQ5tG,EAAI8rG,QAAQ/lG,EAAUpF,IAAI,CAAEX,EAAQ,KAAEI,EAAG,SAAS,CAACE,MAAM,CAAC,UAAUN,EAAI6iD,OAAO,MAAQ7iD,EAAI04E,MAAM,OAAS14E,EAAI4tG,OAAO,MAAQ5tG,EAAI8rG,QAAQ,CAAC9rG,EAAIO,GAAG,qBAAqBP,EAAI6C,KAAM7C,EAAU,OAAEI,EAAG,SAAS,CAACE,MAAM,CAAC,UAAUN,EAAI6iD,OAAO,MAAQ7iD,EAAI04E,MAAM,OAAS14E,EAAI4tG,OAAO,MAAQ5tG,EAAI8rG,QAAQ,CAAC9rG,EAAIO,GAAG,oBAAoBP,EAAI6C,MAAM,GAAG7C,EAAI6C,QAAO,KAAKkD,OAAoB,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,SAAS,CAACM,IAAI,OAAOC,GAAG,CAAC,OAAS,SAASC,GAAQA,EAAOC,iBAAiB,OAAOb,EAAI8F,KAAKpS,MAAM,KAAMqN,cAAc,CAACX,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQN,EAAIgvD,OAAS,aAAa1pD,YAAYtF,EAAIuF,GAAG,CAAEvF,EAAIsL,OAAgB,UAAE,CAAC5V,IAAI,YAAY8P,GAAG,WAAW,MAAO,CAACxF,EAAIgG,GAAG,eAAeP,MAAM,MAAM,MAAM,KAAK,OAAO,CAACrF,EAAG,kBAAkB,CAAEJ,EAAO,IAAEI,EAAG,SAAS,CAACJ,EAAIO,GAAG,aAAaP,EAAI6C,KAAM7C,EAAQ,KAAEI,EAAG,SAAS,CAACJ,EAAIO,GAAG,mBAAmBP,EAAI6C,KAAM7C,EAAU,OAAEI,EAAG,SAAS,CAACJ,EAAIO,GAAG,kBAAkBP,EAAI6C,KAAK7C,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI2I,OAAO,MAAM,GAAGvI,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQX,EAAIymC,SAAS,CAACrmC,EAAG,SAAS,CAACJ,EAAIO,GAAG,sBAAsB,IAAI,GAAGH,EAAG,cAAc,CAAGJ,EAAI2J,QAA2B3J,EAAI6C,KAAtB7C,EAAIgG,GAAG,WAAqBhG,EAAW,QAAEI,EAAG,oBAAoB,CAACmB,YAAY,OAAOjB,MAAM,CAAC,cAAgB,MAAMN,EAAI6C,MAAM,GAAGzC,EAAG,aAAeJ,EAAI6tG,UAA6W7tG,EAAI6C,KAAtWzC,EAAG,iBAAiB,CAACA,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,MAAQ,SAASK,GAAG,CAAC,MAAQX,EAAIymC,SAAS,CAACzmC,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,SAAS,QAAUN,EAAIu9E,SAAS,CAACn9E,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACN,EAAIO,GAAG,aAAaP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,iBAAiB,MAAM,IAAI,IAAa,IAAI,IAAI,IACn9E,GAAkB,GCwGP,UAAIiB,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACP88D,IAAK98D,QACLiqC,KAAMjqC,QACNqwD,OAAQrwD,QACRS,MAAOV,OACP+mD,MAAO/mD,OACP0B,QAASzB,QACTq1E,OAAQr1E,QACR8T,WAAY,CACV/iB,KAAMgP,OACN6W,QAAS,IAEXyuF,SAAU,CACRt0G,KAAM,CAACgP,OAAQ1I,QACfuf,QAAS,KAEX2uF,WAAY,CACVx0G,KAAMiP,QACN4W,QAAS,OAEX0uF,cAAe,CACbv0G,KAAMiP,QACN4W,QAAS,OAEX4uF,cAAe,CACbz0G,KAAMiP,QACN4W,QAAS,OAEX+uF,UAAW,CACT50G,KAAMiP,QACN4W,QAAS,OAEX/C,YAAa,CACX9iB,KAAMiP,QACN4W,QAAS,OAEX6uF,eAAgB,CAAE10G,KAAMsG,OAAQuf,QAAS,MAE3C1W,QAxCwB,aAyCtBnI,KAAKtI,OAASsI,KAAK7K,OAErB7C,KA3CwB,aA4CtB,MAAO,CACLoF,OAAQ,QAGZmK,SAAU,CAGR+gD,OAHQ,aAIN,GAAwB,YAApB5iD,KAAK+b,YAAgD,WAApB/b,KAAK+b,WACxC,OAAO,KAET,GAAwB,KAApB/b,KAAK+b,WACP,OAAO/b,KAAKkyC,MAAQlyC,KAAKs4D,OAE3B,OAAO,OAETmgB,MAZQ,aAaN,MAA2B,UAApBz4E,KAAK+b,YAId4xF,OAjBQ,aAkBN,GAAwB,WAApB3tG,KAAK+b,WACP,OAAO,KAET,GAAwB,KAApB/b,KAAK+b,WACP,OAAO/b,KAAK+kE,IAEd,OAAO,OAET8mC,MA1BQ,aA2BN,MAA2B,UAApB7rG,KAAK+b,YAEdiwF,OA7BQ,aA8BN,MAA2B,YAApBhsG,KAAK+b,YAAgD,WAApB/b,KAAK+b,aAGjDja,MAAO,CACL3M,MADK,WACCg/C,GACJn0C,KAAKtI,OAASy8C,GAEhBz8C,OAJK,WAIEy8C,GACL,GAAIA,EAAS,CACXn0C,KAAK4F,QACL5F,KAAK4B,QAEP5B,KAAK8H,MAAM,QAASqsC,KAGxBnyC,QAAS,CAKPJ,MALO,aAKF,WACH5B,KAAKyX,WAAU,WACb,IAAMqjB,EAAO,EAAKn5B,MAAMm5B,KACxB,IAAKA,EACH,OAEF,IAAM+yE,EAAK/yE,EAAKgzE,IAChB,IAAKD,IAAOA,EAAGE,cACb,OAEF,GAAIF,EAAGE,cAAe,CACpB,IAAMC,EAAW,CACf,2DACA,+DAEIC,EAAanzE,EAAKgzE,IAAIC,cAAcC,EAAShjG,KAAK,MACpDijG,GAAcA,EAAWrsG,OAASqsG,EAAWzY,QAC/C5lD,YAAW,WACTq+D,EAAWrsG,QACXqsG,EAAWzY,WACV,QAKX5vF,MA9BO,aA+BL,IAAMk1B,EAAO96B,KAAK2B,MAAMm5B,KACpBA,GACFA,EAAKC,kBAEP/6B,KAAK8H,MAAM,UAEb0+B,OArCO,aAsCLxmC,KAAK8H,MAAM,UACX9H,KAAKtI,OAAS,OAEhBiqB,MAzCO,aA0CL3hB,KAAKtI,OAAS,OAEhBmO,KA5CO,aA6CL,IAAMi1B,EAAO96B,KAAK2B,MAAMm5B,KACxB,IAAKA,EAAKE,WACR,OAEFh7B,KAAK8H,MAAM,YCvPoZ,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAgBhC,KAAkB,GAAW,CAAC3F,QAAA,KAAKC,SAAA,KAAMC,aAAA,QAAaC,UAAA,QAAUuW,WAAA,KAAQ/T,YAAA,KAASiT,SAAA,KAAMtD,SAAA,KAAMnQ,mBAAA,KAAgBS,WAAA,KAAQC,YAAA,KAASC,cAAA,UClC9H,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQN,EAAIgvD,MAAM,KAAOhvD,EAAIsxD,KAAK,SAAWtxD,EAAImuG,SAAS,IAAMnuG,EAAIouG,IAAI,MAAQpuG,EAAIquG,MAAM,OAASruG,EAAIsuG,OAAO,KAAOtuG,EAAI+rG,KAAK,UAAU/rG,EAAI6iD,OAAO,MAAQ7iD,EAAI04E,MAAM,MAAQ14E,EAAI8rG,MAAM,UAAU9rG,EAAIisG,OAAO,IAAMjsG,EAAIuuG,IAAI,KAAOvuG,EAAI0I,MAAM/H,GAAG,CAAC,MAAQX,EAAIwuG,oBAAoB,CAACxuG,EAAIgG,GAAG,YAAY,GAAG5F,EAAG,WAAW,CAACE,MAAM,CAAC,YAAY,SAASU,MAAM,CAAC5L,MAAO4K,EAAc,WAAEiB,SAAS,SAAUC,GAAMlB,EAAIkmC,WAAWhlC,GAAKG,WAAW,eAAe,CAACjB,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQN,EAAIyuG,eAAe,CAACruG,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI0uG,WAAW,QAAQ,GAAGtuG,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIgG,GAAG,QAAO,WAAW,MAAO,CAAChG,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI2uG,QAAQ,UAAS,IAAI,IAAI,GAAGvuG,EAAG,iBAAiB,CAACA,EAAG,YAAcJ,EAAI4uG,OAA8J5uG,EAAI6C,KAA1JzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,MAAQN,EAAI6uG,SAASluG,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI4hB,WAAW,CAAC5hB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI8uG,QAAQ,OAAgB1uG,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQN,EAAI+uG,UAAUpuG,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIgvG,oBAAoB,CAAChvG,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIivG,SAAS,QAAQ,IAAI,IAAI,IAAI,IAC9sC,GAAkB,GCuDP,UAAIvtG,OAAO,CAuBxBsG,MAAO,CACLgnD,MAAO,CACL/1D,KAAMgP,OACN6W,QAAS,IAEXowF,UAAW,CAETj2G,KAAMiP,QACN4W,QAAS,MAEXqvF,SAAU,CACRl1G,KAAMiP,QACN4W,QAAS,OAEXsvF,IAAK,CACHn1G,KAAMiP,QACN4W,QAAS,OAEXuvF,MAAO,CACLp1G,KAAMiP,QACN4W,QAAS,OAEXwvF,OAAQ,CACNr1G,KAAMiP,QACN4W,QAAS,OAEXitF,KAAM,CACJ9yG,KAAMiP,QACN4W,QAAS,OAEXyvF,IAAK,CACHt1G,KAAMiP,QACN4W,QAAS,OAEX+jC,OAAQ,CACN5pD,KAAMiP,QACN4W,QAAS,OAEX45D,MAAO,CACLz/E,KAAMiP,QACN4W,QAAS,OAEXgtF,MAAO,CACL7yG,KAAMiP,QACN4W,QAAS,OAEXmtF,OAAQ,CACNhzG,KAAMiP,QACN4W,QAAS,OAEXwyC,KAAM,CACJr4D,KAAMiP,QACN4W,QAAS,OAEXpW,KAAM,CACJzP,KAAMiP,QACN4W,QAAS,OAEX6vF,OAAQ,CACN31F,SAAU,MACV/f,KAAMgP,QAERU,MAAO,CACL1P,KAAMgP,QAERwmG,aAAc,CACZx1G,KAAMgP,OACN6W,QAAS,WAEXqwF,IAAK,CACHl2G,KAAMgP,QAER8mG,SAAU,CACR91G,KAAMgP,OACN6W,QAAS,UAEXswF,GAAI,CACFn2G,KAAMgP,QAER4mG,QAAS,CACP51G,KAAMgP,OACN6W,QAAS,UAGbvsB,KA3GwB,aA4GtB,MAAO,CACL2zC,WAAY,MACZhT,MAAO,OAIXpxB,SAAU,CACR8sG,OADQ,aAEN,GAAgB,KAAZ3uG,KAAKmvG,GACP,OAAO,KAET,OAAO,OAGTN,OARQ,aASN,GAAI7uG,KAAKmvG,GACP,OAAOnvG,KAAKmvG,GAEd,OAAOnvG,KAAKiZ,MAAM7jB,EAAE,eAGtB45G,QAfQ,aAgBN,GAAIhvG,KAAKkvG,IACP,OAAOlvG,KAAKkvG,IAEd,OAAOlvG,KAAKiZ,MAAM7jB,EAAE,gBAGtBq5G,UAtBQ,aAuBN,GAAIzuG,KAAK0I,MACP,OAAO1I,KAAK0I,MAEd,OAAO1I,KAAKiZ,MAAM7jB,EAAE,gCAIxB4M,QAAS,CACPusG,kBADO,WACWt7E,GAChBjzB,KAAKizB,MAAQA,EAGTjzB,KAAKivG,UACPjvG,KAAKimC,WAAa,KAElBjmC,KAAK+uG,eAAe/uG,KAAKizB,QAI7B87E,eAZO,aAaL/uG,KAAK8H,MACH,UACA9H,KAAKizB,OAEPjzB,KAAK2hB,QACL,QAGFA,MArBO,aAsBL3hB,KAAKimC,WAAa,UC9NkZ,MCOta,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAchC,KAAkB,GAAW,CAAC9jC,QAAA,KAAKC,SAAA,KAAMC,aAAA,QAAaC,UAAA,QAAUE,QAAA,KAAKqW,WAAA,KAAQnW,QAAA,KAAKqC,WAAA,KAAQC,YAAA,KAASC,cAAA,UChCnG,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAOJ,EAAI0F,GAAI1F,EAAS,OAAE,SAASoJ,EAAKvW,GAAG,OAAOuN,EAAG,OAAO,CAAC1K,IAAI0T,EAAK3S,IAAI,CAAE2S,EAAO,GAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK8I,EAAKjK,GAAG,MAAQ,KAAK,CAAEiK,EAAO,GAAEhJ,EAAG,YAAY,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,MAAM2J,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,YAAY,GAAGL,EAAG,OAAO,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,OAAO,GAAI5D,EAAImN,EAAIs4B,MAAMvlC,OAAS,EAAGqN,EAAG,OAAO,CAACJ,EAAIO,GAAG,SAASP,EAAI6C,MAAM,MAAK,IACnc,GAAkB,GCqBP,UAAInB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJJ,GAAInM,OACJq8G,eAAgB,CACdp2G,KAAMgP,OACN6W,QAAS,YAGbhd,SAAU,OAAF,wBACH,eAAW,QAAS,CAAC,oBAAkB,CAE1CuP,UAF0C,aAGxC,OAAOpR,KAAKo2B,eAAep2B,KAAKxJ,KAAO,IAGzC6hC,MAN0C,aAMrC,WACGA,EAAQ,IAAEhiC,IAAI2J,KAAKoR,WAAW,SAACqkB,GACnC,IAAMtsB,EAAYpW,OAAOyI,OAAO,GAAIi6B,GACpC,GAAI,EAAKv2B,IAAM,EAAK1I,KAAO2S,EAAK3S,GAAI,CAClC2S,EAAKjK,GAAK,IAAE0X,UAAU,EAAK1X,IAC3B,IAAE5E,IAAI6O,EAAN,mBAAwB,EAAKimG,gBAAkB35E,EAAMj/B,IAEvD,OAAO2S,KAGHkmG,EAAW,CAAEnwG,GAAI,IAAE0X,UAAU5W,KAAKd,KACxC,IAAE5E,IAAI+0G,EAAN,mBAA4BrvG,KAAKovG,gBAAkB,GACnD/2E,EAAMrkC,OAAO,EAAG,EAAGq7G,GACnB,OAAOh3E,OCnD4a,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIt4B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAI2I,QAAQ,CAAC3I,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI0iD,KAAO1iD,EAAIoF,SAAWpF,EAAIrL,UAC/K,GAAkB,GC0BhB46G,GAAkB,IACpB5lG,GAAU,MACR6lG,GAAuB,GACvBC,GAAU,IAAE55F,UAAS,kBAAW,mKAC9BvJ,EAAM,IAAE1N,MAAM4wG,IAAYt0F,UAAUlgB,OAAO5F,QACjDo6G,GAAWv7G,OAAO,EAAGu7G,GAAWz8G,QAFI,SAGpC,OAAM,GAAM2F,SAAS,mBAAoB4T,GAHL,OAIpC3C,GAAU,MAJ0B,6CAKnC4lG,IAEY,UAAI7tG,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJmjD,KAAMx6C,SAERpG,SAAU,OAAF,sCACH,eAAW,QAAS,CAAC,YAAa,mBAClC,eAAS,QAAS,CAAC,WAAS,CAE/BnN,KAF+B,aAG7B,IAAMA,EAAOsL,KAAKi2B,UAAUj2B,KAAKxJ,IACjC,OAAOwJ,KAAKyvG,OAAS/6G,EAAOgV,GAAU,GAAKhV,GAG7CyQ,SAP+B,aAQ7B,IAAMA,EAAWnF,KAAKk2B,cAAcl2B,KAAKxJ,IACzC,OAAOwJ,KAAKyvG,OAAStqG,EAAWuE,GAAU,GAAKvE,GAGjDuD,MAZ+B,aAa7B,OAAO1I,KAAKtL,OAASsL,KAAKmF,SAAW,GAAKnF,KAAKmF,UAGjDsqG,OAhB+B,aAiB7B,QAASzvG,KAAKy1B,MAAMz1B,KAAKxJ,OAG7BsL,MAAO,CACLtL,GAAI,CACFyN,UAAW,KACXC,QAFE,WAEMJ,GACN,IAAKA,EAEH,OAGF,IAAK9D,KAAKy1B,MAAM3xB,GAAU,CAExByrG,GAAWn8G,KAAK0Q,GAChB4F,GAAU,KACV8lG,WC7Eya,MCO/a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIzvG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIszB,UAAU,KAAMtzB,EAAY,SAAEI,EAAG,OAAO,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIigF,UAAU,OAAOjgF,EAAI6C,QACjQ,GAAkB,GCaP,UAAInB,OAAO,CACxBsG,MAAO,CAKL5S,MAAO6S,OAKP0nG,SAAUznG,SAGZpG,SAAU,CAIRwxB,SAJQ,aAKN,OAAOusD,GAAgB5/E,KAAK7K,MAAO,QAMrC6qF,SAXQ,aAYN,OAAOC,GAAgBjgF,KAAK7K,WCxC4Y,MCO1a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI4K,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAImH,MAAM,MAAQnH,EAAI5K,MAAM,MAAQ4K,EAAI4vG,YAAYjvG,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,QACrO,GAAkB,GCeP,UAAIc,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAOmK,QAGTuC,SAAU,CAMR8tG,WANQ,aAON,IAAMC,EAAa,CAAC,EAAG,GAAI,GAAI,GAAI,KAC7B7mF,EAAU,IAAE1yB,IAAIu5G,GAAY,SAACC,GACjC,MAAO,CACLpnG,KAAM,GAAF,OAAKonG,EAAL,YAAajyG,EAAKxI,EAAE,cACxBD,MAAO06G,MAGX9mF,EAAQ31B,KAAK,CAAEqV,KAAM,GAAF,OAAK7K,EAAKxI,EAAE,iBAAmBD,MAAO,IACzD,OAAO4zB,MCrC4a,MCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC9C,WAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIlmB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAOJ,EAAI0F,GAAI1F,EAAS,OAAE,SAASoJ,EAAKvW,GAAG,OAAOuN,EAAG,OAAO,CAAC1K,IAAI0T,EAAK3S,GAAG8K,YAAY,kBAAkB,CAClM6H,EAAKjK,IAAMa,EAAIuD,cAAc,sBAAuB,aAAc6F,EAAK3S,IACvE2J,EAAG,MAAM,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK8I,EAAKjK,GAAG,MAAQ,KAAK,CAAEiK,EAAO,GAAEhJ,EAAG,iBAAiB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,MAAM2J,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,YAAY,GAAI5N,EAAImN,EAAIs4B,MAAMvlC,OAAS,EAAGqN,EAAG,OAAO,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAG,SAASP,EAAI6C,MAAM,GAAGzC,EAAG,MAAM,CAAEgJ,EAAO,GAAEhJ,EAAG,iBAAiB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,MAAM2J,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,WAAY5N,EAAImN,EAAIs4B,MAAMvlC,OAAS,EAAGqN,EAAG,OAAO,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAG,SAASP,EAAI6C,MAAM,QAAO,IACtc,GAAkB,GC2BP,UAAInB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJJ,GAAInM,OACJ+8G,oBAAqB,CACnB92G,KAAMgP,OACN6W,QAAS,iBAGbhd,SAAU,OAAF,sCACH,eAAW,gBAAiB,CAAC,yBAC7B,eAAW,OAAQ,CAAC,mBAAiB,CAExCuP,UAFwC,aAGtC,OAAOpR,KAAK4kG,oBAAoB5kG,KAAKxJ,KAAO,IAG9C6hC,MANwC,aAMnC,WACGA,EAAQ,IAAEhiC,IAAI2J,KAAKoR,WAAW,SAAC2+F,GACnC,IAAM5mG,EAAYpW,OAAOyI,OAAO,GAAIu0G,GACpC,GAAI,EAAK7wG,IAAM,EAAK1I,KAAO2S,EAAK3S,GAAI,CAClC2S,EAAKjK,GAAK,IAAE0X,UAAU,EAAK1X,IAC3B,IAAE5E,IAAI6O,EAAN,mBAAwB,EAAK2mG,qBAAuBC,EAAKv5G,IAE3D,OAAO2S,KAGHkmG,EAAW,CAAEnwG,GAAI,IAAE0X,UAAU5W,KAAKd,KACxC,IAAE5E,IAAI+0G,EAAN,mBAA4BrvG,KAAK8vG,qBAAuB,GACxDz3E,EAAMrkC,OAAO,EAAG,EAAGq7G,GACnB,OAAOh3E,OC5Dib,MCO1b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIt4B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAI2I,QAAQ,CAAC3I,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI0iD,KAAO1iD,EAAIoF,SAAWpF,EAAIrL,UAC/K,GAAkB,GC0BhB,GAAkB,IACpB,GAAU,MACR,GAAuB,GACvB,GAAU,IAAEkhB,UAAS,kBAAW,mKAC9BvJ,EAAM,IAAE1N,MAAM,IAAYsc,UAAUlgB,OAAO5F,QACjD,GAAWnB,OAAO,EAAG,GAAWlB,QAFI,SAGpC,OAAM,GAAM2F,SAAS,6BAA8B4T,GAHf,OAIpC,GAAU,MAJ0B,6CAKnC,IAEY,UAAI5K,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJmjD,KAAMx6C,SAERpG,SAAU,OAAF,sCACH,eAAW,gBAAiB,CAAC,iBAAkB,wBAC/C,eAAS,gBAAiB,CAAC,gBAAc,CAE5CnN,KAF4C,aAG1C,IAAMA,EAAOsL,KAAK6kG,eAAe7kG,KAAKxJ,IACtC,OAAOwJ,KAAKyvG,OAAS/6G,EAAO,GAAU,GAAKA,GAG7CyQ,SAP4C,aAQ1C,IAAMA,EAAWnF,KAAKi1C,mBAAmBj1C,KAAKxJ,IAC9C,OAAOwJ,KAAKyvG,OAAStqG,EAAW,GAAU,GAAKA,GAGjDuD,MAZ4C,aAa1C,OAAO1I,KAAKtL,OAASsL,KAAKmF,SAAW,GAAKnF,KAAKmF,UAGjDsqG,OAhB4C,aAiB1C,QAASzvG,KAAK49B,WAAW59B,KAAKxJ,OAGlCsL,MAAO,CACLtL,GAAI,CACFyN,UAAW,KACXC,QAFE,WAEM8rG,GACN,IAAKA,EAEH,OAGF,IAAKhwG,KAAK49B,WAAWoyE,GAAS,CAE5B,GAAW58G,KAAK48G,GAChB,GAAU,KACV,WC7E8a,MCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIjwG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,uBAAuBjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAImH,OAASnH,EAAIS,GAAG,wBAAwB,OAAOT,EAAI0F,GAAI1F,EAAa,WAAE,SAASgpB,EAAQn2B,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAI7C,EAAE0O,YAAY,OAAOjB,MAAM,CAAC,KAAON,EAAI+8B,OAAO,CAAC38B,EAAG,iBAAiB,CAACmB,YAAY,YAAYjB,MAAM,CAAC,MAAQN,EAAIg9B,eAAenqC,GAAG,MAAQm2B,EAAQ,WAAan2B,EAAI,GAAKmN,EAAIwH,YACrf3U,EAAI,GACJA,EAAImN,EAAIi9B,UAAUlqC,OAAS,GAC3BiN,EAAIg9B,eAAenqC,IAAMmN,EAAIg9B,eAAenqC,EAAI,GAAG,MAAQA,GAAKmN,EAAIi9B,UAAUlqC,OAAS,EAAIiN,EAAIqsB,cAAgB,IAAI1rB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIk9B,gBAAgBrqC,EAAG+N,QAAa,OAAM,IACrM,GAAkB,GC8BP,UAAIc,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAOmK,OACP+H,MAAO,CACLrO,KAAME,MACN2lB,QAAS,mBAAM,KAEjBrX,SAAUS,QACVV,UAAWU,QAKXi1B,gBAAiBj1B,QAMjBqvB,UAAWtvB,QAEb1V,KAtBwB,aAuBtB,MAAO,CACLoX,QAAS,MACTqzB,eAAgB,CAAC,KAGrBl7B,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAW,gBAAiB,CAC7B,mBACA,wBACA,iBACA,sBACA,CAMFuqB,cANE,aAOA,IAAM/kB,EAAerH,KAAKqH,OAAS,GAC/BrH,KAAKk9B,iBACP71B,EAAMjU,KAAK4M,KAAKo9B,gBAElB,OAAO/1B,GAOTu2B,WAlBE,aAmBA,OAAO59B,KAAKi2C,iBAAiBj2C,KAAK7K,QAAU,MAQ9C6nC,UA3BE,aA2BO,WACP,OAAO,IAAEr+B,MAAMqB,KAAK+8B,gBACjB1mC,KAAI,SAACG,EAAYkE,GAChB,IAAM2iC,EAAU,IAAEtoC,IAAI,EAAKgoC,eAAgBriC,EAAQ,GAC/CmW,EAAWra,EACTonC,EAAa,EAAKqY,iBAAiBz/C,GACrConC,GAAcP,IAAY7mC,IAC5Bqa,EAAW+sB,EAAW/sB,UAExB,IAAMkY,EAAU,IAAEpqB,MAAM,EAAK03C,iBAAiBxlC,IAC3Cxa,KAAI,SAAC05G,GAAD,MAAW,CACdtnG,KAAM,GAAF,OAAKsnG,EAAKr7G,KAAK,EAAK4H,SACxBnH,MAAO46G,EAAKv5G,GACZ8uB,KAAMyqF,EAAKzqF,MAAQ,WAEpBiY,QAAQ,CAAC,OAAQ,SACjBpoC,QACE,IAAE0F,SAAS,IAAExE,IAAI0yB,EAAS,SAAUvyB,GAGvCuyB,EAAQ7X,QAAQ,CACdzI,KAAM,EAAKi1B,SACXvoC,MAAO0b,EACPyU,KAAM,IALRyD,EAAQ7X,QAAQ,CAAEzI,KAAM,EAAKi1B,SAAUvoC,MAAOqB,EAAI8uB,KAAM,IAQ1D,OAASyD,EAAQj2B,OAAmB,KAAVi2B,KAE3B9N,UACA9lB,SAULuoC,SAlEE,aAmEA,GAAuB,QAAnB19B,KAAKs3B,UACP,OAAO7K,GAAKzsB,KAAK1D,QAAQwP,WACpB,GAAuB,SAAnB9L,KAAKs3B,UACd,OAAO5K,GAAM1sB,KAAK1D,QAAQwP,WAE5B,OAAOugB,GAASrsB,KAAK1D,QAAQwP,YAO/BgxB,KA/EE,aAgFA,IAAMa,EAAQ39B,KAAKg9B,UAAUlqC,OAC7B,GAAI6qC,EAAQ,EACV,OAAO,GAET,GAAIA,EAAQ,IAAM,GAAKA,EAAQ,EAC7B,OAAO,GAAKA,EAEd,OAAO,KAGX77B,MAAO,CAKL3M,MAAO,CACL8O,UAAW,KACXC,QAFK,WAEGgT,GACN,IAAM7K,EAAMrM,KAAK2kG,sBAAsBztF,GACjC0mB,EAAa59B,KAAKi2C,iBAAiB/+B,KAEnC0mB,GAAcA,EAAW7G,WAAa,GAG1C1qB,EAAIjZ,KAAK8jB,GAEX,OAAI5c,IAAI0F,KAAM,iBAAkBqM,MAItCrK,QAAS,CAMPo7B,eANO,WAMQjiC,GACb,IAAK6E,KAAK49B,WAGR,OAAO,KAET,GAAI59B,KAAK49B,WAAW7G,YAAc/2B,KAAK49B,WAAW7G,WAAa,EAE7D,OAAOn5B,EAAKxI,EAAE,kBAAkB0W,WAElC,OAAO,MAOTmxB,gBAvBO,WAuBSrqC,EAAWskB,GACzB,GAAItkB,EAAI,IAAMskB,EAAQ,CACpBlX,KAAK8H,MAAM,QAAS9H,KAAK+8B,eAAenqC,EAAI,IAAM,GAClD,OAEFoN,KAAK8H,MAAM,QAASoP,GAAU,OC/MwZ,MCOxb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAClO,iBAAA,KAAcxG,QAAA,KAAKE,QAAA,OCzBjD,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,0BAA0B,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAIkwG,mBAAmB,SAAWlwG,EAAIuH,SAAS,MAAQvH,EAAIsH,MAAM,SAAWtH,EAAIyH,SAAS,SAAWzH,EAAI0H,SAAS,UAAY1H,EAAIwH,UAAU,MAAQxH,EAAI6H,MAAM,cAAc7H,EAAImwG,WAAW,kBAAkBnwG,EAAI8H,gBAAgBnH,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,IAAS,OAAS,SAASA,GAAQ,OAAOZ,EAAI+H,MAAM,SAAUnH,QAC7hB,GAAkB,GCyBP,UAAIc,OAAO,CACxBsG,MAAO,CAML1T,OAAQ2T,OAERd,MAAOc,OACP7S,MAAO,CAACmK,OAAQpG,OAChBmO,MAAOnO,MACPsO,SAAUS,QACVR,SAAUQ,QACVV,UAAWU,QACXX,SAAUW,QACVL,MAAOK,QACPioG,WAAYjoG,QACZJ,eAAgBI,SAElBpG,SAAU,OAAF,sCACH,eAAS,QAAS,CAAC,sBACnB,eAAW,WAAY,CAAC,oBAAkB,CAE7CouG,mBAF6C,aAE3B,WACZztE,EAA2BxiC,KAAKgjB,iBAChChjB,KAAK3L,SACPmuC,EAAQ,IAAE5jC,OAAO4jC,EAAO,CAAEnuC,OAAQ2L,KAAK3L,UAGzC,OAAO,IAAEsK,MAAM6jC,GACZnsC,KAAI,SAACjB,GAAD,MAAyB,CAC5BqT,KAAM,EAAK8Y,eAAensB,EAAEV,MAC5BS,MAAOC,EAAEoB,OAEVqI,OAAO,QACP1J,aC9Dwb,MCO7b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC6T,iBAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIjJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAGJ,EAAIowG,QAAQ,CAAC9yC,IAAI,YAAYh9D,MAAM,CAAC,GAAKN,EAAIb,KAAK,CAACa,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI+f,QAAQrV,WAAW1K,EAAI6C,MACzM,GAAkB,G,aCWP,UAAInB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJ8wG,KAAMnoG,SAGRpG,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,mBACpB,eAAW,QAAS,CAAC,mBAAiB,CAMzCsuG,QANyC,aAOvC,GAAInwG,KAAKqwG,QACP,MAAO,cAET,MAAO,QAQTnxG,GAlByC,aAmBvC,GAAIc,KAAKqwG,QACP,MAAO,CAAE37G,KAAM,cAAe2K,OAAQ,CAAE7I,GAAIwR,OAAOhI,KAAKxJ,MAE1D,QAQF65G,QA9ByC,aA+BvC,IAAKrwG,KAAKowG,KACR,OAAO,MAET,OAAOpwG,KAAKsD,cAAc,iBAQ5Bwc,QA1CyC,aA2CvC,OAAO9f,KAAK6tB,cAAc7tB,KAAKxJ,KAAO,QAI1CsL,MAAO,CACLtL,GAAI,CACFyN,UAAW,KACXC,QAFE,WAEM0P,GAWN,GAAIA,EAAO,CACT,IAAM08F,EAAatwG,KAAK6tB,cAAcja,GACjC08F,GACHtwG,KAAK2I,OAAOlQ,SAAS,qBAAsBmb,SCpF8W,MCOja,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI7T,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAO4K,EAAQ,KAAEqB,WAAW,SAASf,MAAM,CAAC,MAAQN,EAAI5K,MAAM,MAAQ4K,EAAImH,MAAQnH,EAAImH,MAAQnH,EAAIS,GAAG,yBAAyB,KAAOT,EAAIo4B,KAAOp4B,EAAIo4B,KAAOp4B,EAAIwwG,KAAK,MAAQxwG,EAAIqsB,cAAc,iBAAiBrsB,EAAIw8B,cAAc,QAAUx8B,EAAI2J,SAAW3J,EAAIywG,wBAAwB,SAAWzwG,EAAIyH,SAAS,SAAWzH,EAAI0H,SAAS,UAAY1H,EAAIwH,WAAW7G,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,IAAS,KAAO,SAASA,GAAQ,OAAOZ,EAAIy8B,oBAC7lB,GAAkB,G,oDCyBhBi0E,GAAwB,EAEf,UAAIhvG,OAAO,CACxBsG,MAAO,CACL5S,MAAO6S,OACPX,MAAOnO,MACPgO,MAAOc,OACPmwB,KAAMnwB,OACN+Q,SAAU9Q,QACVR,SAAUQ,QACVN,YAAaM,QACbP,WAAYO,QACZyB,QAASzB,QACTT,SAAUS,QACVV,UAAWU,QACXyoG,eAAgBzoG,QAChB0oG,OAAQ1oG,SAGVE,QAjBwB,aAsBtBnI,KAAK4wG,eAAiB,IAAEh7F,SAAS5V,KAAK4wG,eAAgB,MAGxDt+G,KAzBwB,aA0BtB,MAAO,CAKLk+G,wBAAyB,MAOzBK,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAO/B/6B,YAAa,QAGjBj0E,SAAU,CAKR0uG,KALQ,aAMN,OAAOvwG,KAAK6wG,WAAWx6G,KAAI,SAACqU,GAAD,MAAU,IAAIomG,OAAOpmG,MAAOM,KAAK,MAW9DohB,cAjBQ,aAkBN,IAAM/kB,EAAerH,KAAKqH,OAAS,GAC/BrH,KAAK+Y,UACP1R,EAAMjU,KAAK4M,KAAK+wG,oBAElB,OAAO1pG,GAWTk1B,cAjCQ,aAkCN,IAAMy0E,EAAiB,GACnBhxG,KAAK2wG,QAAU3wG,KAAK81E,aACtBk7B,EAAK59G,KAAKwK,EAAKxI,EAAE,mBAAmB0W,YAEtC,OAAOklG,IAIXlvG,MAAO,CAML3M,MANK,WAMC+hB,GACAlX,KAAK2wG,OACP3wG,KAAKixG,sBAILjxG,KAAK81E,YAAc,QAKzB9zE,QAAS,CAMPw6B,aANO,aAOL,GAAIx8B,KAAK7K,MAAMrC,OAASkN,KAAKuwG,KAAKz9G,SAAWkN,KAAK0wG,eAAgB,CAGhE,IAFA,IAAMQ,EAAYlxG,KAAK7K,MAAMwnC,MAAM,KAC7Bw0E,EAAY,GACTv+G,EAAI,EAAGA,EAAIoN,KAAK6wG,WAAW/9G,OAAQF,IAAK,CAC/C,IAAMw+G,GAAUF,EAAUt+G,IAAM,IAAI4gC,SAASxzB,KAAK6wG,WAAWj+G,GAAI,KACjEu+G,EAAU/9G,KAAKg+G,GAEjBpxG,KAAK8H,MAAM,QAASqpG,EAAUnmG,KAAK,QAevC+lG,mBA7BO,WA6BY51G,GACjB,IAAMk2G,EAAazzG,EAAKxI,EAAE,kBAAkB0W,WAE5C,IAAK3Q,EACH,OAAOk2G,EAGT,IAAMC,EAAWn2G,EAAE41C,QAAQ,WAAY,IACjCwgE,EAAK,IAAIC,OAAJ,cAAkBf,GAAlB,OACX,GAAIa,EAASj1G,MAAMk1G,GACjB,OAAOF,EAGT,OAAO,MAQTJ,oBAlDO,aAmDL,GAAIjxG,KAAK7K,MAAMrC,OAASkN,KAAKuwG,KAAKz9G,OAAQ,CAIxCkN,KAAK81E,YAAc,MACnB,OAIF91E,KAAKwwG,wBAA0B,KAG/BxwG,KAAK4wG,kBAQDA,eAvEC,a,0KAwECpsG,E,kCAAiCxE,KAAK7K,O,kBAEzB,OAAM,GAASJ,IAAIyP,G,OAA9BvH,E,OACN+C,KAAK81E,YAAqC,OAAvB74E,EAAS3K,KAAKA,K,mDAEjCkH,QAAQC,MAAR,M,kBAGAuG,KAAKwwG,wBAA0B,M,uFCvNqZ,MCOxb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC7tG,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI0xG,kBAC7H,GAAkB,GCMP,UAAIhwG,OAAO,CACxBsG,MAAO,CACL2pG,MAAOpyG,QAETuC,SAAU,CAKR4vG,aALQ,aAMN,IAAME,EAAe,KACfC,EAAgB,IAChBC,EAAc,GAChBC,EAAiB9xG,KAAK0xG,OAAS,EAC7BvV,EAAQ98D,KAAKC,MAAMwyE,EAAiBH,GAC1CG,GAAkC3V,EAAQwV,EAC1C,IAAMI,EAAS1yE,KAAKC,MAAMwyE,EAAiBF,GAC3CE,GAAkCC,EAASH,EAC3C,IAAM/B,EAAOxwE,KAAKC,MAAMwyE,EAAiBD,GACnCnmG,EAAQ,GACd,GAAIywF,EAAQ,EAAG,CACb,IAAM6V,EAAYp0G,EAAKxI,EAAE,cACzBsW,EAAMtY,KAAN,UAAc+oG,EAAd,YAAuB6V,IAEzB,GAAID,EAAS,EAAG,CACd,IAAME,EAAar0G,EAAKxI,EAAE,eAC1BsW,EAAMtY,KAAN,UAAc2+G,EAAd,YAAwBE,IAE1B,GAAIpC,EAAO,EAAG,CACZ,IAAMqC,EAAWt0G,EAAKxI,EAAE,aACxBsW,EAAMtY,KAAN,UAAcy8G,EAAd,YAAsBqC,IAExB,OAAOxmG,EAAMV,KAAK,UCvC0Z,MCO9a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIjL,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAO4K,EAAQ,KAAEqB,WAAW,SAASf,MAAM,CAAC,MAAQN,EAAImH,MAAQnH,EAAImH,MAAQnH,EAAIS,GAAG,sBAAsB,MAAQT,EAAI5K,MAAM,KAAO4K,EAAIo4B,KAAOp4B,EAAIo4B,KAAOp4B,EAAIwwG,KAAK,QAAUxwG,EAAI2J,QAAQ,SAAW3J,EAAIyH,SAAS,SAAWzH,EAAI0H,SAAS,WAAa1H,EAAI2H,WAAW,YAAc3H,EAAI4H,YAAY,UAAY5H,EAAIwH,UAAU,MAAQxH,EAAIqsB,cAAc,mBAAmB,IAAI1rB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,QAC5jB,GAAkB,GCsBP,UAAIc,OAAO,CACxBsG,MAAO,CACL5S,MAAO6S,OACPd,MAAOc,OACPmwB,KAAMnwB,OACNP,SAAUQ,QACVZ,MAAOnO,MACPyO,YAAaM,QACbP,WAAYO,QACZyB,QAASzB,QACTT,SAAUS,QACVV,UAAWU,SAGb3V,KAdwB,aAetB,MAAO,CACLu+G,WAAY,CAAC,EAAG,EAAG,KAGvBhvG,SAAU,CACR0uG,KADQ,aAEN,OAAOvwG,KAAK6wG,WAAWx6G,KAAI,SAACqU,GAAD,MAAU,IAAIomG,OAAOpmG,MAAOM,KAAK,MAM9DohB,cARQ,aASN,IAAM+lF,EAAmB,GACrBnyG,KAAKqH,OAASrH,KAAKqH,MAAMvU,QAC3Bq/G,EAAU/+G,KAAV,MAAA++G,EAAS,eAASnyG,KAAKqH,QAGzB8qG,EAAU/+G,KAAK4M,KAAKoyG,kBACpB,OAAOD,IAGXnwG,QAAS,CAOPowG,iBAPO,WAOUj3G,GACf,IAAKA,EACH,OAAO,KAET,GAAIA,EAAErI,SAAWkN,KAAKuwG,KAAKz9G,OACzB,OAAO,KAET,OAAO8K,EAAKxI,EAAE,uBAAuB0W,eC1E4Y,MCOnb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACnJ,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,YAAYN,EAAIutG,SAAS,YAAcvtG,EAAI0tG,cAAc,WAAa1tG,EAAIytG,YAAYnoG,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAASO,GAAW,MAAO,CAAC/F,EAAIgG,GAAG,aAAY,WAAW,MAAO,CAAC5F,EAAG,QAAQJ,EAAI4F,GAAG,CAACtF,MAAM,CAAC,UAAU,GAAG,KAAON,EAAI0I,KAAK,MAAQ1I,EAAIS,GAAG,oBAAoBsF,EAAUpF,IAAI,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIsxD,UAAU,MAAK,KAAKvrD,OAAe,KAAK,MAAM/E,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,cAAc,CAACF,EAAG,kBAAkB,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI2I,OAAO,OAAOvI,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIrI,OAAS,SAAS,CAACyI,EAAG,SAAS,CAACJ,EAAIO,GAAG,sBAAsB,IAAI,GAAGH,EAAG,cAAc,CAACJ,EAAIgG,GAAG,YAAY,IAAI,IAAI,IACv5B,GAAkB,GCsCtB,kBACA,OACA,OACA,aAEA,MACA,YACA,yBAEA,UACA,qBACA,aAEA,aACA,sBACA,oBAEA,KAjBA,aAkBA,OACA,iBC1DiY,MCO7X,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAAC5D,QAAA,KAAKC,SAAA,KAAME,UAAA,QAAUuW,WAAA,KAAQpE,SAAA,KAAM1P,WAAA,KAAQC,YAAA,KAASC,cAAA,UC9BlF,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,SAAW,KAAK,CAACF,EAAG,YAAY,CAACmB,YAAY,YAAYjB,MAAM,CAAC,KAAON,EAAIiU,KAAK,MAAQjU,EAAIkK,MAAM,KAAOlK,EAAI6rG,KAAK,MAAQ7rG,EAAIgvD,OAAOruD,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAI6wD,UAAY7wD,EAAI6wD,YAAY,CAACzwD,EAAG,kBAAkB,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI2I,UAAUvI,EAAG,YAAaJ,EAAY,SAAEI,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,qBAAqBH,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACN,EAAIO,GAAG,wBAAwB,GAAIP,EAAY,SAAEI,EAAG,cAAc,CAACJ,EAAIgG,GAAG,YAAY,GAAGhG,EAAI6C,MAAM,IACplB,GAAkB,GCsBP,UAAInB,OAAO,CACxBsG,MAAO,CACL5S,MAAO8S,QACPS,MAAOV,OACPiC,MAAOhC,QACP2jG,KAAM3jG,QACN+L,KAAM/L,QACN8mD,MAAO/mD,QAGT1V,KAVwB,aAWtB,MAAO,CACLs+D,SAAU,OAId9uD,MAAO,CACL3M,MAAO,CACL8O,UAAW,KACXC,QAFK,WAEGgT,GACNlX,KAAK4wD,SAAW15C,IAGpB05C,SAAU,CACR1sD,QADQ,WACAgT,GACNlX,KAAK8H,MAAM,QAASoP,QChD4Z,MCOpb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAC9U,SAAA,KAAME,UAAA,QAAUmS,SAAA,KAAM1P,WAAA,KAAQC,YAAA,KAASC,cAAA,UC5BrE,IAAI,GAAS,WAAa,IAAIlF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAI5D,SAAe,OAAEgE,EAAG,QAAQJ,EAAI0F,GAAI1F,EAAY,UAAE,SAAStI,EAAQ7E,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAI7C,EAAEyN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,UAAU,CAACN,EAAIO,GAAGP,EAAIQ,GAAG9I,OAAa,MAAK,GAAGsI,EAAI6C,MACpS,GAAkB,GCiCP,UAAInB,OAAO,CACxBsG,MAAO,CACLtO,MAAO,CAACuO,OAAQ9O,MAAOnG,OAAQ4D,OAC/B+G,OAAQ,CAACsK,OAAQ9O,MAAOnG,OAAQ4D,OAChC07G,aAAct/G,QAEhB8O,SAAU,CAOR1F,SAPQ,aASN,IAAMm2G,EAAQ,IAAEzmG,QAAQ,CAAC7L,KAAKvG,MAAOuG,KAAKtC,SAC1C,OAAO,IAAEiB,MAAM2zG,GACZj8G,IAAI2J,KAAKuyG,qBACT1mG,UACAoP,UACA9lB,UAGP6M,QAAS,CAOPuwG,oBAPO,WAOan3E,GAA+B,WACjD,IAAK,IAAE4uB,IAAI5uB,EAAK,wBACd,OAAOA,EAKT,OAAO,IAAE/kC,IAAI+kC,EAAIn+B,SAAU3K,KAAMoL,QAAU,IAAI,SAAC09B,GAC9C,GAAIA,EAAIxkC,KAAM,CAIR,EAAKy7G,cAAgB,EAAKA,aAAaj3E,EAAIxkC,QAC7CwkC,EAAIxkC,KAAO,EAAKy7G,aAAaj3E,EAAIxkC,OAEnC,IAAI+G,EAAMC,EAAKxI,EAAEgmC,EAAIxkC,MAEnBwkC,EAAIo3E,QACJp3E,EAAIo3E,SAAWp3E,EAAIxkC,MACnBwkC,EAAIo3E,SAAWp3E,EAAI1yB,QAEnB/K,EAAMA,EAAM,KAAOy9B,EAAIo3E,QAEzB,OAAO70G,EAET,OAAOy9B,EAAI1yB,aCzFga,MCO/a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACgyB,UAAA,KAAOl4B,QAAA,KAAKE,QAAA,OCzB1C,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,OAAO,CAACmB,YAAY,yBAAyB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAImH,MAAQnH,EAAImH,MAAQ,IAAM,OAAOnH,EAAIgG,GAAG,YAAY,IAC7N,GAAkB,GCQP,UAAItE,OAAO,CACxBsG,MAAO,CACLb,MAAO,CACLlO,KAAMgP,OACN+Q,SAAU,SCboa,MCOhb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIhZ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAMJ,EAAI0F,GAAI1F,EAAS,OAAE,SAASoJ,EAAKvW,GAAG,OAAOuN,EAAG,OAAO,CAAC1K,IAAI0T,EAAK3S,IAAI,CAAE2S,EAAO,GAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK8I,EAAKjK,KAAK,CAACiB,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,GAAG,MAAQuJ,EAAIS,GAAG,OAAS2I,EAAKnQ,UAAU,GAAGmH,EAAG,OAAO,CAACA,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,GAAG,MAAQuJ,EAAIS,GAAG,OAAS2I,EAAKnQ,UAAU,GAAIpG,EAAImN,EAAIs4B,MAAMvlC,OAAS,EAAGqN,EAAG,OAAO,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAG,OAAOP,EAAI6C,MAAM,MAAK,IACne,GAAkB,GCoBP,UAAInB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJJ,GAAInM,OACJ0/G,kBAAmB,CACjBz5G,KAAMgP,OACN6W,QAAS,eAGbhd,SAAU,OAAF,wBACH,eAAW,YAAa,CAAC,wBAAsB,CAElDuP,UAFkD,aAGhD,OAAOpR,KAAKqR,mBAAmBrR,KAAKxJ,KAAO,IAG7C6hC,MANkD,aAM7C,WACH,OAAO,IAAEhiC,IAAI2J,KAAKoR,WAAW,SAACN,GAC5B,IAAM3H,EAAYpW,OAAOyI,OAAO,GAAIsV,GACpC,GAAI,EAAK5R,IAAM,EAAK1I,KAAO2S,EAAK3S,GAAI,CAClC2S,EAAKjK,GAAK,IAAE0X,UAAU,EAAK1X,IAC3B,IAAE5E,IAAI6O,EAAN,mBAAwB,EAAKspG,mBAAqB3hG,EAAIta,IAExD,OAAO2S,UC5C8a,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAI2I,QAAQ,CAAC3I,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI0iD,KAAO1iD,EAAIoF,SAAWpF,EAAIrL,UAC/K,GAAkB,GC2BhB,GAAkB,IACpB,GAAU,MACR,GAAuB,GACvB,GAAU,IAAEkhB,UAAS,kBAAW,mKAC9BvJ,EAAM,IAAE1N,MAAM,IAAYsc,UAAUlgB,OAAO5F,QACjD,GAAWnB,OAAO,EAAG,GAAWlB,QAFI,SAGpC,OAAM,GAAM2F,SAAS,2BAA4B4T,GAHb,OAIpC,GAAU,MAJ0B,6CAKnC,IAEY,UAAI5K,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJmjD,KAAMx6C,SAERpG,SAAU,OAAF,sCACH,eAAW,YAAa,CAAC,gBAAiB,uBAC1C,eAAS,YAAa,CAAC,eAAa,CAEvCnN,KAFuC,aAGrC,IAAMA,EAAOsL,KAAKuR,cAAcvR,KAAKxJ,IACrC,OAAOwJ,KAAKyvG,OAAS/6G,EAAO,GAAU,GAAKA,GAG7CyQ,SAPuC,aAQrC,IAAMA,EAAWnF,KAAKwR,kBAAkBxR,KAAKxJ,IAC7C,OAAOwJ,KAAKyvG,OAAStqG,EAAW,GAAU,GAAKA,GAGjDuD,MAZuC,aAarC,OAAO1I,KAAKtL,OAASsL,KAAKmF,SAAW,GAAKnF,KAAKmF,UAGjDsqG,OAhBuC,aAiBrC,QAASzvG,KAAKoQ,UAAUpQ,KAAKxJ,OAGjCsL,MAAO,CACLtL,GAAI,CACFyN,UAAW,KACXC,QAFE,WAEMwuG,GACN,IAAKA,EAEH,OAGF,IAAK1yG,KAAKoQ,UAAUsiG,GAAQ,CAE1B,GAAWt/G,KAAKs/G,GAChB,GAAU,KACV,WC9E6a,MCOnb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI3yG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAEJ,EAAY,SAAEI,EAAG,QAAQ,CAAEJ,EAAW,QAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,cAAgB,OAAO,GAAGN,EAAI6C,MAAO7C,EAAI2J,SAAW3J,EAAImH,MAAO/G,EAAG,QAAQ,CAACmB,YAAY,kBAAkBjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAImH,OAAO,OAAOnH,EAAI6C,KAAM7C,EAAe,YAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,GAAKN,EAAI4yG,2BAA2B,CAACxyG,EAAG,iBAAiB,CAACmB,YAAY,8BAA8BjB,MAAM,CAAC,SAAW,GAAG,MAAQN,EAAIS,GAAG,eAAe,MAAQT,EAAI6yG,eAAe,aAAa,KAAK,YAAY,SAAUp+G,GAAK,OAAOA,EAAEE,KAAKqL,EAAIzD,SAAW,cAAc,IAAI+I,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAC9vB,IAAI0I,EAAO1I,EAAI0I,KACf,MAAO,CAAChJ,EAAG,MAAM,CAACoE,YAAY,CAAC,gBAAgB,MAAM,CAACxE,EAAIO,GAAG,IAAIP,EAAIQ,GAAG4I,EAAKzU,KAAKqL,EAAIzD,SAAS,WAAW,KAAK,MAAM,YAAYyE,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAI8yG,kBAAkB5xG,GAAKG,WAAW,wBAAwB,GAAGrB,EAAI6C,KAAM7C,EAAgB,aAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,GAAKN,EAAI4yG,2BAA2B,CAACxyG,EAAG,iBAAiB,CAACmB,YAAY,8BAA8BjB,MAAM,CAAC,SAAW,GAAG,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAI+yG,gBAAgB,aAAa,KAAK,YAAY,SAAU98G,GAAK,OAAOA,EAAEtB,KAAKqL,EAAIzD,SAAW,cAAc,IAAIyE,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAIgzG,mBAAmB9xG,GAAKG,WAAW,yBAAyB,GAAGrB,EAAI6C,KAAM7C,EAAgB,aAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,GAAKN,EAAI4yG,2BAA2B,CAACxyG,EAAG,iBAAiB,CAACmB,YAAY,8BAA8BjB,MAAM,CAAC,SAAW,GAAG,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAIizG,gBAAgB,aAAa,KAAK,YAAY,SAAUv+G,GAAK,OAAOA,EAAEC,KAAKqL,EAAIzD,SAAW,cAAc,IAAIyE,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAIkzG,mBAAmBhyG,GAAKG,WAAW,yBAAyB,GAAGrB,EAAI6C,KAAM7C,EAAe,YAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,GAAKN,EAAI4yG,2BAA2B,CAACxyG,EAAG,iBAAiB,CAACmB,YAAY,8BAA8BjB,MAAM,CAAC,SAAW,GAAG,MAAQN,EAAIS,GAAG,eAAe,MAAQT,EAAImzG,eAAe,aAAa,KAAK,YAAY,SAAU/3G,GAAK,OAAOA,EAAEzG,KAAKqL,EAAIzD,SAAW,cAAc,IAAIyE,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAIozG,kBAAkBlyG,GAAKG,WAAW,wBAAwB,GAAGrB,EAAI6C,MAAM,GAAG7C,EAAI6C,KAAO7C,EAAI0H,SAAmjE1H,EAAI6C,KAA7iEzC,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,EAAGN,EAAI2J,SAAW3J,EAAImH,MAAO/G,EAAG,QAAQ,CAACmB,YAAY,eAAejB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAImH,OAAO,OAAOnH,EAAI6C,KAAM7C,EAAe,YAAEI,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,GAAKN,EAAI4yG,2BAA2B,CAACxyG,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQT,EAAI6yG,eAAe,aAAa,KAAK,YAAY,SAAUp+G,GAAK,OAAOA,EAAEE,KAAKqL,EAAIzD,SAAW,MAAQyD,EAAIqzG,oBAAoB1yG,GAAG,CAAC,OAASX,EAAIszG,gBAAgBtyG,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAI8yG,kBAAkB5xG,GAAKG,WAAW,wBAAwB,GAAGrB,EAAI6C,KAAM7C,EAAgB,aAAEI,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,GAAKN,EAAI4yG,2BAA2B,CAACxyG,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAI+yG,gBAAgB,aAAa,KAAK,YAAY,SAAU98G,GAAK,OAAOA,EAAEtB,KAAKqL,EAAIzD,SAAW,MAAQyD,EAAIuzG,qBAAqB5yG,GAAG,CAAC,OAASX,EAAIwzG,iBAAiBxyG,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAIgzG,mBAAmB9xG,GAAKG,WAAW,yBAAyB,GAAGrB,EAAI6C,KAAM7C,EAAgB,aAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,GAAKN,EAAI4yG,2BAA2B,CAACxyG,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,gBAAgB,MAAQT,EAAIizG,gBAAgB,aAAa,KAAK,YAAY,SAAUv+G,GAAK,OAAOA,EAAEC,KAAKqL,EAAIzD,SAAW,MAAQyD,EAAIyzG,qBAAqB9yG,GAAG,CAAC,OAASX,EAAI0zG,iBAAiB1yG,MAAM,CAAC5L,MAAO4K,EAAsB,mBAAEiB,SAAS,SAAUC,GAAMlB,EAAIkzG,mBAAmBhyG,GAAKG,WAAW,yBAAyB,GAAGrB,EAAI6C,KAAM7C,EAAe,YAAEI,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,GAAKN,EAAI4yG,2BAA2B,CAACxyG,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQT,EAAImzG,eAAe,aAAa,KAAK,YAAY,SAAU/3G,GAAK,OAAOA,EAAEzG,KAAKqL,EAAIzD,SAAW,MAAQyD,EAAI2zG,oBAAoBhzG,GAAG,CAAC,OAASX,EAAI4zG,gBAAgB5yG,MAAM,CAAC5L,MAAO4K,EAAqB,kBAAEiB,SAAS,SAAUC,GAAMlB,EAAIozG,kBAAkBlyG,GAAKG,WAAW,wBAAwB,GAAGrB,EAAI6C,MAAM,IAAa,IAChuH,GAAkB,GCyLP,UAAInB,OAAO,CACxBsG,MAAO,CACLN,SAAU,CACRzO,KAAMiP,QACN4W,QAAS,OAEXi7E,UAAWx6F,OACXmR,WAAYnR,OACZnK,MAAOmK,OACP4H,MAAOc,OACP4rG,eAAgB,CACd56G,KAAMgP,OACN6rG,UAAW,WAAC1+G,GACV,OAAOpC,OAAO8D,KAAK0Y,IAAkB1U,SAAS1F,IAEhD0pB,QAAS,QAEXi1F,eAAgB,CACd96G,KAAMgP,OACN6rG,UAAW,WAAC1+G,GACV,OAAOpC,OAAO8D,KAAK0Y,IAAkB1U,SAAS1F,IAEhD0pB,QAAS,WAEXyY,UAAW,CACTt+B,KAAMgP,OACN6W,QAAS,WAEXk1F,mBAAoB,CAClB/6G,KAAME,MACN2lB,QAFkB,aAGhB,MAAO,MAIbvsB,KAnCwB,aAoCtB,MAAO,CACLoX,QAAS,KACTmpG,kBAAoB7yG,KAAK85F,WAAa,EACtCiZ,mBAAqB/yG,KAAKyQ,YAAc,EACxCwiG,mBAAoB,EACpBE,kBAAmB,IAGvBhrG,QA5CwB,aA6CtBnI,KAAKg0G,eACLh0G,KAAK0J,QAAU,OAEjB5H,MAAO,CACL3M,MADK,WACC+hB,EAAQE,GACZpX,KAAKg0G,iBAGTnyG,SAAU,OAAF,oDACH,eAAS,WAAY,CAAC,YACtB,eAAS,YAAa,CAAC,eACvB,eAAW,YAAa,CACzB,YACA,YACA,YACA,WACA,qBACA,CAIFoyG,oBAJE,aAKA,OAAO1kG,GAAiBvP,KAAK4zG,iBAE/BM,oBAPE,aAQA,OAAO3kG,GAAiBvP,KAAK8zG,iBAM/BV,mBAdE,aAeA,IAAM72E,EAAgB,IAAIrjC,MAGxB8G,KAAKi0G,qBAAuB1kG,GAAiBE,SAClB,IAA3BzP,KAAK6yG,mBAELt2E,EAAcnpC,KACZ4M,KAAKiZ,MAAM7jB,EAAE,qCAAqC0W,YAKpD9L,KAAKi0G,qBAAuB1kG,GAAiBG,UAClB,IAA3B1P,KAAK6yG,mBAELt2E,EAAcnpC,KACZ4M,KAAKiZ,MAAM7jB,EAAE,yCAAyC0W,YAI1D,OAAOywB,GAET+2E,oBArCE,aAsCA,IAAM/2E,EAAgB,IAAIrjC,MAGG,IAA3B8G,KAAK6yG,mBACuB,IAA5B7yG,KAAK+yG,oBACL/yG,KAAKi0G,qBAAuB1kG,GAAiBG,UAE7C6sB,EAAcnpC,KACZ4M,KAAKiZ,MACF7jB,EAAE,oDACF0W,YAIP,OAAOywB,GAETi3E,oBAtDE,aAuDA,IAAMj3E,EAAgB,IAAIrjC,MAGxB8G,KAAKi0G,qBAAuB1kG,GAAiBI,UACjB,IAA5B3P,KAAKizG,oBAEL12E,EAAcnpC,KACZ4M,KAAKiZ,MAAM7jB,EAAE,sCAAsC0W,YAIvD,OAAOywB,GAETm3E,mBApEE,aAqEA,IAAMn3E,EAAgB,IAAIrjC,MAGxB8G,KAAKi0G,qBAAuB1kG,GAAiBK,SAClB,IAA3B5P,KAAKmzG,mBAEL52E,EAAcnpC,KACZ4M,KAAKiZ,MAAM7jB,EAAE,qCAAqC0W,YAItD,OAAOywB,GAQT43E,kBAxFE,aAyFA,IAAMC,EAAa,CACjB59G,GAAI,EACJ9B,KAAM3B,OAAOyI,OAAO,GAAI6wB,IACxBrzB,KAAM,WAER,OAAOgH,KAAKoQ,UAAUpQ,KAAK7K,QAAUi/G,GAKvCxB,eAnGE,aAoGA,OAAO5yG,KAAKq0G,cAAcr0G,KAAKsQ,UAAW,YAK5CwiG,gBAzGE,aA0GA,OAAO9yG,KAAKq0G,cAAcr0G,KAAKuQ,UAAW,aAK5CyiG,gBA/GE,aAgHA,OAAOhzG,KAAKq0G,cACVr0G,KAAKwQ,UAAUxQ,KAAK+yG,oBACpB,aAMJG,eAxHE,aAyHA,OAAOlzG,KAAKq0G,cACVr0G,KAAK0Q,SAAS1Q,KAAKizG,oBACnB,YAGJqB,YA9HE,aAiIA,GAAIt0G,KAAK85F,UAAY,EACnB,OAAO,MAET,OAAO,MAETya,aAtIE,aAyIA,GAAIv0G,KAAKyQ,WAAa,EACpB,OAAO,MAKT,OAC6B,IAA3BzQ,KAAK6yG,qBACH7yG,KAAKk0G,qBACPl0G,KAAKk0G,qBAAuB3kG,GAAiBG,UAGjD8kG,aArJE,aAsJA,OACEx0G,KAAK+yG,mBAAqB,GAC1B/yG,KAAKk0G,qBAAuB3kG,GAAiBI,UAGjD8kG,YA3JE,aA4JA,OACEz0G,KAAKizG,mBAAqB,GAC1BjzG,KAAKk0G,qBAAuB3kG,GAAiBK,SAOjD+iG,yBArKE,aAsKA,IAAI+B,EAAM,EACN10G,KAAKs0G,aACPI,IAEE10G,KAAKu0G,cACPG,IAEE10G,KAAKw0G,cACPE,IAEE10G,KAAKy0G,aACPC,IAEF,OAAOA,KAGX1yG,QAAS,OAAF,wBACF,eAAW,YAAa,CAAC,iBAAkB,8BAA4B,CAK1EqxG,eAL0E,aAMxErzG,KAAK+yG,mBAAqB,EAC1B/yG,KAAKizG,mBAAqB,EAC1BjzG,KAAKmzG,kBAAoB,EACzBnzG,KAAK20G,oBAMPpB,gBAf0E,aAgBxEvzG,KAAKizG,mBAAqB,EAC1BjzG,KAAKmzG,kBAAoB,EACzBnzG,KAAK20G,oBAMPlB,gBAxB0E,aAyBxEzzG,KAAKmzG,kBAAoB,EACzBnzG,KAAK20G,oBAMPhB,eAhC0E,aAiCxE3zG,KAAK20G,oBAWDX,aA5CoE,a,4KA6ClEY,EAAO50G,KACb40G,EAAKlrG,QAAU,K,GAEV1J,KAAK7K,M,gBAQJ6K,KAAKyQ,WAAa,GACpBzQ,KAAK8H,MAAM,QAAS9H,KAAKyQ,YAEvBzQ,KAAK85F,UAAY,GACnB95F,KAAK8H,MAAM,QAAS9H,KAAK85F,W,0CAK7B,OAAM95F,KAAK0S,eAAe1S,KAAK7K,O,OACzB2b,EAAM9Q,KAAK+Q,gBAAgB/Q,KAAK7K,OAOlCwb,EAA4B,KACf,YAAbG,EAAI9X,KACN2X,EAAaG,EAAID,SACK,aAAbC,EAAI9X,OACb2X,EAAaG,EAAIta,I,IAEfma,E,2BACF,OAAM3Q,KAAK60G,oBAAoBlkG,G,QAC/BikG,EAAKE,kBACL90G,KAAK0J,QAAU,M,wBAEfkrG,EAAKE,kBACL90G,KAAK0J,QAAU,M,kDAUnBorG,gBA/F0E,aAkGxE,IAAMzoG,EAAM,CAACrM,KAAK7K,OACd2b,EAAM9Q,KAAKoQ,UAAUpQ,KAAK7K,OAC9B,MAAO2b,EAAID,SAAU,CACnBxE,EAAI6E,QAAQJ,EAAID,UAChBC,EAAM9Q,KAAKoQ,UAAUU,EAAID,UAIvBxE,EAAIvZ,OAAS,EACfkN,KAAK6yG,kBAAoBxmG,EAAI,GAE7BrM,KAAK6yG,kBAAoB,EAIvBxmG,EAAIvZ,OAAS,EACfkN,KAAK+yG,mBAAqB1mG,EAAI,GAE9BrM,KAAK+yG,mBAAqB,EAIxB1mG,EAAIvZ,OAAS,EACfkN,KAAKizG,mBAAqB5mG,EAAI,GAE9BrM,KAAKizG,mBAAqB,EAIxB5mG,EAAIvZ,OAAS,EACfkN,KAAKmzG,kBAAoB9mG,EAAI,GAE7BrM,KAAKmzG,kBAAoB,GAS7BwB,iBA3I0E,aA4IxE,IAAMx/G,EAAQ,IAAE+F,OACd,CACE8E,KAAK6yG,kBACL7yG,KAAK+yG,mBACL/yG,KAAKizG,mBACLjzG,KAAKmzG,oBAEP,SAACh4G,GAAD,OAAOA,EAAI,KACX45G,MACE5/G,GAASA,EAAQ,EACnB6K,KAAK8H,MAAM,QAAS3S,GAEpB6K,KAAK8H,MAAM,QAAS,IASxB+sG,oBAjK0E,WAiKtDlkG,GACbA,IACHA,EAAa3Q,KAAKizG,oBAEpB,IAAMz4G,EAAU,CAAEmW,aAAYoC,MAAO,OACrC,OAAO/S,KAAKgT,yBAAyBxY,IAWvC65G,cAjL0E,WAiL5DW,EAAsBh8G,GAAY,WACxC+vB,EAAU,IAAElqB,OAAOm2G,GAAS,SAACpjG,GAAD,OAAOA,EAAEld,KAAK,EAAK4H,WAC/C84B,EAAU,CACd5+B,GAAI,EACJI,KAAM,GACNumD,YAAa,GACbzoD,KACqB,QAAnBsL,KAAKs3B,UACDvkC,OAAOyI,OAAO,GAAIixB,IAClB15B,OAAOyI,OAAO,GAAI6wB,IACxBrzB,OACAmZ,KAAM,KAER4W,EAAQ7X,QAAQkkB,GAChB,OAAOrM,EAAQnqB,QAAO,SAACpK,GACrB,OAAQ,IAAEqG,SAAS,EAAKk5G,mBAAoBv/G,EAAEgC,YCjnBqY,M,aCQvb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACwS,iBAAA,KAAcxG,QAAA,KAAK8B,mBAAA,KAAgB5B,QAAA,OC3BjE,IAAI,GAAS,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAMJ,EAAI0F,GAAI1F,EAAS,OAAE,SAASoJ,EAAKvW,GAAG,OAAOuN,EAAG,OAAO,CAAC1K,IAAI0T,EAAK3S,IAAI,CAAE2S,EAAO,GAAEhJ,EAAG,cAAc,CAACE,MAAM,CAAC,GAAK8I,EAAKjK,GAAG,MAAQ,KAAK,CAAEiK,EAAO,GAAEhJ,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,MAAM2J,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,YAAY,GAAGL,EAAG,OAAO,CAACA,EAAG,sBAAsB,CAACE,MAAM,CAAC,GAAK8I,EAAK3S,OAAO,GAAI5D,EAAImN,EAAIs4B,MAAMvlC,OAAS,EAAGqN,EAAG,OAAO,CAACJ,EAAIO,GAAG,SAASP,EAAI6C,MAAM,MAAK,IACtd,GAAkB,GCqBP,UAAInB,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJJ,GAAInM,OACJkiH,kBAAmB,CACjBj8G,KAAMgP,OACN6W,QAAS,eAGbhd,SAAU,OAAF,sCACH,eAAW,OAAQ,CAAC,gBAAiB,sBACrC,eAAW,UAAW,CAAC,uBAAqB,CAE/CuP,UAF+C,aAG7C,OAAOpR,KAAK4iG,kBAAkB5iG,KAAKxJ,KAAO,IAG5C6hC,MAN+C,aAM1C,WACGA,EAAQ,IAAEhiC,IAAI2J,KAAKoR,WAAW,SAAC2+F,GACnC,IAAM5mG,EAAYpW,OAAOyI,OAAO,GAAIu0G,GACpC,GAAI,EAAK7wG,IAAM,EAAK1I,KAAO2S,EAAK3S,IAC1B,EAAK8M,cAAc,mBAAoB,WAAY6F,EAAK3S,IAAK,CAC/D2S,EAAKjK,GAAK,IAAE0X,UAAU,EAAK1X,IAC3B,IAAE5E,IAAI6O,EAAN,mBAAwB,EAAK8rG,mBAAqBlF,EAAKv5G,IAG3D,OAAO2S,KAOT,GAAInJ,KAAKm4F,iBAAkB,CACzB,IAAMkX,EAAW,CAAEnwG,GAAI,IAAE0X,UAAU5W,KAAKd,KACxC,IAAE5E,IAAI+0G,EAAN,mBAA4BrvG,KAAKi1G,mBAAqB,GACtD58E,EAAMrkC,OAAO,EAAG,EAAGq7G,GAErB,OAAOh3E,OC5Dsb,MCO/b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIt4B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAI2I,QAAQ,CAAC3I,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI0iD,KAAO1iD,EAAIoF,SAAWpF,EAAIrL,UAC/K,GAAkB,GCQhB,GAAU,MAED,UAAI+M,OAAO,CACxBsG,MAAO,CACLvR,GAAI8I,OACJmjD,KAAMx6C,QACNitG,YAAajtG,SAEfpG,SAAU,OAAF,sCACH,eAAW,UAAW,CAAC,eAAgB,sBACvC,eAAS,UAAW,CAAC,cAAY,CAEpCnN,KAFoC,aAGlC,IAAMA,EAAOsL,KAAK2kE,aAAa3kE,KAAKxJ,IACpC,OAAOwJ,KAAKyvG,OAAS/6G,EAAO,IAAWsL,KAAKk1G,YAAc,GAAKxgH,GAGjEyQ,SAPoC,aAQlC,IAAMA,EAAWnF,KAAKikC,iBAAiBjkC,KAAKxJ,IAC5C,OAAOwJ,KAAKyvG,OACRtqG,EACA,IAAWnF,KAAKk1G,YAChB,GACA/vG,GAGNuD,MAhBoC,aAiBlC,OAAO1I,KAAKtL,OAASsL,KAAKmF,SAAW,GAAKnF,KAAKmF,UAGjDsqG,OApBoC,aAqBlC,IAAKzvG,KAAKxJ,GACR,OAAO,MAGT,QAASwJ,KAAKijC,SAASjjC,KAAKxJ,OAGhCsL,MAAO,CACLtL,GAAI,CACFyN,UAAW,KACXC,QAFE,WAEMF,GACN,IAAKA,EAEH,OAGGhE,KAAKijC,SAASj/B,IACjBhE,KAAK2I,OAAOlQ,SAAS,wBAAyB,CAC5Csa,MAAO,MACP/O,oBC3Dib,MCOzb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIjE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAGJ,EAAI0H,SAAwnC1H,EAAI6C,KAAlnCzC,EAAG,QAAQ,CAAEJ,EAAS,MAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,KAAK,CAACmB,YAAY,eAAe,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAImH,YAAYnH,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,cAAc,MAAQT,EAAIqsB,eAAe1rB,GAAG,CAAC,SAAW,SAASC,GAAQ,OAAOZ,EAAIo1G,YAAYx0G,IAAS,OAAS,SAASA,GAAQ,OAAOZ,EAAIq1G,iBAAiBr0G,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAIo8F,MAAMp8F,EAAI4lC,GAAG1kC,IAAMG,WAAW,YAAY,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,eAAe,MAAQT,EAAIqsB,eAAe1rB,GAAG,CAAC,SAAW,SAASC,GAAQ,OAAOZ,EAAIo1G,YAAYx0G,IAAS,OAAS,SAASA,GAAQ,OAAOZ,EAAIq1G,iBAAiBr0G,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIgyG,OAAOhyG,EAAI4lC,GAAG1kC,IAAMG,WAAW,aAAa,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAG,aAAa,MAAQT,EAAIqsB,eAAe1rB,GAAG,CAAC,SAAW,SAASC,GAAQ,OAAOZ,EAAIo1G,YAAYx0G,IAAS,OAAS,SAASA,GAAQ,OAAOZ,EAAIq1G,iBAAiBr0G,MAAM,CAAC5L,MAAO4K,EAAQ,KAAEiB,SAAS,SAAUC,GAAMlB,EAAI8vG,KAAK9vG,EAAI4lC,GAAG1kC,IAAMG,WAAW,WAAW,IAAI,GAAarB,EAAY,SAAEI,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAImH,MAAM,MAAQnH,EAAIs1G,iBAAiBt1G,EAAI6C,MAAM,IACv0C,GAAkB,GC0ChB,GAAe,KACf,GAAgB,IAChB,GAAc,GAEL,UAAInB,OAAO,CACxBsG,MAAO,CACL5S,MAAOmK,OACP4H,MAAOc,OACPP,SAAUQ,QACV8Q,SAAU9Q,SAEZE,QAPwB,aAQtBnI,KAAK4iC,wBAAwB5iC,KAAK7K,QAEpC7C,KAVwB,aAWtB,MAAO,CACL6pG,MAAO,KACP4V,OAAQ,KACRlC,KAAM,OAGVhuG,SAAU,CAMRwzG,cANQ,aAON,IAAM3pG,EAAQ,GACd,GAAI1L,KAAKm8F,OAASn8F,KAAKm8F,MAAQ,EAAG,CAChC,IAAM6V,EAAYp0G,EAAKxI,EAAE,cACzBsW,EAAMtY,KAAN,UAAc4M,KAAKm8F,MAAnB,YAA4B6V,IAE9B,GAAIhyG,KAAK+xG,QAAU/xG,KAAK+xG,OAAS,EAAG,CAClC,IAAME,EAAar0G,EAAKxI,EAAE,eAC1BsW,EAAMtY,KAAN,UAAc4M,KAAK+xG,OAAnB,YAA6BE,IAE/B,GAAqB,IAAjBvmG,EAAM5Y,QAAiBkN,KAAK6vG,MAAQ7vG,KAAK6vG,KAAO,EAAI,CACtD,IAAMqC,EAAWt0G,EAAKxI,EAAE,aACxBsW,EAAMtY,KAAN,UAAc4M,KAAK6vG,KAAnB,YAA2BqC,IAE7B,OAAOxmG,EAAMV,KAAK,OAQpBsqG,wBA5BQ,aA6BN,IAAIC,EAAW,EACXv1G,KAAK6vG,OACP0F,GAAYv1G,KAAK6vG,KAAO,IAEtB7vG,KAAK+xG,SACPwD,GAAYv1G,KAAK+xG,OAAS,IAExB/xG,KAAKm8F,QACPoZ,GAAYv1G,KAAKm8F,MAAQ,IAE3B,OAAOoZ,GAOTnpF,cA9CQ,aA+CN,IAAKpsB,KAAK+Y,SAER,MAAO,GAET,GAAI/Y,KAAKs1G,wBAA0B,EAEjC,MAAO,GAET,MAAO,CAAC,SAACn6G,GAAD,OAAYA,EAAI,GAAKyC,EAAKxI,EAAE,sBAGxC0M,MAAO,CACL3M,MADK,WACC4M,GACJ/B,KAAK4iC,wBAAwB7gC,KAGjCC,QAAS,CAKP4gC,wBALO,WAKiB7gC,GACtB,GAAIA,EAAU,CACZ,IAAI+vG,EAAiB,EACrB9xG,KAAKm8F,MAAQ98D,KAAKC,OAAOt/B,KAAK7K,OAAS,GAAK,IAC5C28G,GAAkB9xG,KAAK7K,OAAS,GAAK6K,KAAKm8F,MAAQ,GAClDn8F,KAAK+xG,OAAS1yE,KAAKC,MAAMwyE,EAAiB,IAC1CA,GAAkC9xG,KAAK+xG,OAAS,GAChD/xG,KAAK6vG,KAAOxwE,KAAKC,MAAMwyE,EAAiB,QACnC,CACL9xG,KAAKm8F,MAAQ,EACbn8F,KAAK+xG,OAAS,EACd/xG,KAAK6vG,KAAO,IAQhBuF,aAxBO,aAyBLp1G,KAAK8H,MAAM,QAAS9H,KAAKs1G,0BAO3BH,YAhCO,WAgCKzK,GACVA,EAAMA,GAAYx0G,OAAO+8B,MACzB,IAAMuiF,EAAW9K,EAAI+K,MAAQ/K,EAAI+K,MAAQ/K,EAAIgL,QAC7C,GACEF,EAAW,KACVA,EAAW,IAAMA,EAAW,KAChB,KAAbA,EACA,CACA9K,EAAI9pG,iBACJ,OAAO,MAEP,OAAO,SC1Kob,MCO/b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAAC4B,QAAA,KAAKE,QAAA,KAAKC,cAAA,OCzBxC,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACmB,YAAY,uBAAuB,CAACnB,EAAG,QAAQ,CAACA,EAAG,KAAKJ,EAAI0F,GAAI1F,EAAiC,+BAAE,SAAS41G,EAAqBj7G,GAAO,OAAOyF,EAAG,KAAK,CAAC1K,IAAI,uBAAyBiF,EAAM4G,YAAY,cAAcsJ,MAAM,CACtU,mBAAoB7K,EAAI61G,QAAQD,EAAqBn/G,KACrD+N,YAAY,CAAC,iBAAiB,SAAS,CAACxE,EAAIO,GAAG,IAAIP,EAAIQ,GAAGo1G,EAAqBjhH,KAAKqL,EAAIzD,SAAS,KAAK6D,EAAG,MAAkC,GAA3Bw1G,EAAqBn/G,GAAS2J,EAAG,OAAO,CAACJ,EAAIO,GAAG,OAAOP,EAAI6C,KAAKzC,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQs1G,EAAqBj+C,gBAAgB33D,EAAIO,GAAG,OAAOH,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQs1G,EAAqBh+C,iBAAiB,MAAK,QAChV,GAAkB,GCyBP,UAAIl2D,OAAO,CACxBsG,MAAO,CACLwuD,YAAa,CACXv9D,KAAMjG,OACNgmB,SAAU,OAEZy9C,YAAa,CACXx9D,KAAMjG,OACNgmB,SAAU,QAGdlX,SAAU,OAAF,sCACH,eAAS,QAAS,CAAC,2BACnB,eAAS,WAAY,CAAC,YAAU,CACnCg0G,8BADmC,aAGjC,OAAO71G,KAAKirC,sBAAsB70C,MAChC,EACA4J,KAAKirC,sBAAsBn4C,WAIjCkP,QAAS,CACP4zG,QADO,WACCE,GACN,IAAMC,EACH/1G,KAAKu2D,aAAev2D,KAAKu2D,YAAY//D,IAAO,EAE3Cw/G,EAKFA,EAHGh2G,KAAKu2D,aAAgBv2D,KAAKw2D,YAI1Bx2D,KAAKw2D,aAAex2D,KAAKw2D,YAAYhgE,GAAK,GAC3CwJ,KAAKirC,sBAAsBn4C,OAJH,EAO5B,OAAO,IAAE8iH,QACPE,EACAC,EACAC,OCpE6b,MCOjc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC/mE,gBAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIlvC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAAOxG,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIwpG,gBAAgBxoG,MAAM,CAAC5L,MAAO4K,EAAkB,eAAEiB,SAAS,SAAUC,GAAMlB,EAAIypG,eAAevoG,GAAKG,WAAW,qBAAqB,IAC9T,GAAkB,GCaP,UAAIK,OAAO,CACxBsG,MAAO,CACLb,MAAO,CACLlO,KAAMgP,OACN6W,QAAS,IAEX1pB,MAAO,CACL6D,KAAME,MACN2lB,QAAS,mBAAM,MAGnB1W,QAXwB,aAYtBnI,KAAK4iC,wBAAwB5iC,KAAK7K,QAEpC7C,KAdwB,aAetB,MAAO,CACLm3G,UAAW,GACXD,eAAgB,OAGpB1nG,MAAO,CACL3M,MADK,WACC4M,GACJ/B,KAAK4iC,wBAAwB7gC,KAGjCC,QAAS,CACP4gC,wBADO,WACiB7gC,GACtB,GAAIA,EAAU,CACZ/B,KAAKypG,UAAY1nG,EACjB/B,KAAKwpG,eAAiBxpG,KAAKypG,UAAUz+F,KAAK,UACrC,CACLhL,KAAKwpG,eAAiB,KACtBxpG,KAAKypG,UAAY,KAGrBF,YAVO,aAWL,GAAKvpG,KAAKwpG,eAEH,CACLxpG,KAAKypG,UAAY,IAAE1uG,KACjB,IAAEkgB,QACAjb,KAAKwpG,eAAe7sE,MAAM,cAActmC,KAAI,SAACnC,GAAD,OAAOwF,SAASxF,EAAG,SAGnE8L,KAAKwpG,eAAiBxpG,KAAKypG,UAAUz+F,KAAK,WAP1ChL,KAAKypG,UAAY,GASnBzpG,KAAK8H,MAAM,QAAS9H,KAAKypG,eC5DwZ,MCOnb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC9mG,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAACE,MAAM,CAAC,UAAYN,EAAIwH,UAAU,KAAOxH,EAAIo4B,KAAK,QAAUp4B,EAAI2J,QAAQ,MAAQ3J,EAAImH,MAAM,kBAAkBnH,EAAIq4B,eAAe,cAAcr4B,EAAI2H,WAAW,SAAW3H,EAAI0H,SAAS,eAAe1H,EAAI4H,YAAY,OAAS5H,EAAI8pG,OAAO,OAAS9pG,EAAIkuC,OAAO,YAAcluC,EAAImkC,YAAY,MAAQnkC,EAAIk2G,eAAel1G,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAI08B,cAAcx7B,GAAKG,WAAW,oBAC9f,GAAkB,G,aCmBP,UAAIK,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CAACmK,OAAQ0I,QAChBT,UAAWU,QACXf,MAAOc,OACPmwB,KAAMnwB,OACN6hG,OAAQ7hG,OACRimC,OAAQjmC,OACRk8B,YAAal8B,OACbP,SAAUQ,QACVmwB,eAAgBnwB,QAChBN,YAAaM,QACbP,WAAYO,QACZyB,QAASzB,QACTZ,MAAOnO,OAET5G,KAhBwB,aAiBtB,MAAO,CACLmqC,cAAe,KAGnB56B,SAAU,CACRo0G,cADQ,aACK,WACX,MAAO,CACL,SAAC96G,GAAD,OACEmE,OAAO42G,SAAS52G,OAAOnE,KACvB,EAAK8d,MAAM7jB,EAAE,iBAAiB0W,aAHlC,sBAIM9L,KAAKqH,OAAS,OAIxBc,QA/BwB,aAgCtBnI,KAAK4iC,wBAAwB5iC,KAAK7K,QAEpC2M,MAAO,CACL3M,MADK,WACC6W,GACJhM,KAAK4iC,wBAAwB52B,IAE/BywB,cAJK,WAISzwB,GACZhM,KAAKm2G,aAAanqG,KAGtBhK,QAAS,CAUPm0G,aAVO,WAUMp0G,GAGX,GAAiB,KAAbA,EAAiB,CACnB/B,KAAK8H,MAAM,QAAS,GACpB,OAGExI,OAAO42G,SAAS52G,OAAOyC,IAEzB/B,KAAK8H,MAAM,QAASxI,OAAOyC,IAG3B/B,KAAK8H,MAAM,QAAS,IAUxB86B,wBAjCO,WAiCiB7gC,GAEtB,IAAIkL,GAAUlL,GAAY,IAAI+J,WAK9B,GAAe,MAAXmB,GAA2C,IAAzBvT,SAASuT,EAAQ,KAAwB,KAAXA,EAAe,CACjEA,EAAS,GACTjN,KAAK8H,MAAM,QAAS,GAGtB9H,KAAKy8B,cAAgBxvB,MC3GuZ,MCO9a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACtK,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAI+8B,MAAQ/8B,EAAIq2G,cAAej2G,EAAG,QAAQ,CAACmB,YAAY,kBAAkBjB,MAAM,CAAC,KAAON,EAAI+8B,KAAK,GAAK/8B,EAAIs2G,GAAG,GAAKt2G,EAAIu2G,GAAG,GAAKv2G,EAAIw2G,GAAG,GAAKx2G,EAAIsnE,GAAG,GAAKtnE,EAAIy2G,KAAK,CAACr2G,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI02G,kBAAkBt2G,EAAG,MAAM,CAACmB,YAAY,kCAAkC,CAACvB,EAAIgG,GAAG,WAAU,WAAW,MAAO,CAAChG,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI22G,eAAe32G,EAAIQ,GAAGR,EAAI8pG,cAAa,KAAK1pG,EAAG,MAAM,CAAEJ,EAAiB,cAAEI,EAAG,MAAM,CAACA,EAAG,MAAM,CAACmB,YAAY,gBAAgB,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI02G,kBAAkBt2G,EAAG,MAAM,CAACmB,YAAY,kCAAkC,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAI22G,eAAe32G,EAAIQ,GAAGR,EAAI8pG,QAAQ,SAAS9pG,EAAI6C,QACntB,GAAkB,GCiCP,UAAInB,OAAO,CACxBsG,MAAO,CACL+0B,KAAM,CACJ9jC,KAAM,CAACgP,OAAQ1I,SAEjB+2G,GAAI,CACFt9F,SAAU,MACV/f,KAAMgP,QAERsuG,GAAI,CACFv9F,SAAU,MACV/f,KAAMgP,QAERuuG,GAAI,CACFx9F,SAAU,MACV/f,KAAMgP,QAERq/D,GAAI,CACFtuD,SAAU,MACV/f,KAAMgP,QAERwuG,GAAI,CACFz9F,SAAU,MACV/f,KAAMgP,QAERd,MAAOc,OACP2uG,YAAa,CACX59F,SAAU,MACV/f,KAAMgP,QAER6hG,OAAQ7hG,OACR7S,MAAO,CACL6D,KAAM,CAACgP,OAAQ9O,MAAOoG,OAAQ2I,SAC9B4W,QAAS,MAEX+3F,YAAa5uG,OACbqvB,eAAgBpvB,SAElBpG,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,2BAAyB,CACpDu0G,cADoD,aAElD,GAAIp2G,KAAKqL,QAAUrL,KAAKqL,OAAOwT,QAC7B,OAAO,KAGT,GAA2B,KAAvB7e,KAAK02G,cACP,OAAO,MAGT,GAAI12G,KAAKq3B,eACP,OAAO,KAGT,QAASr3B,KAAK02G,eAAwC,MAAvB12G,KAAK02G,eAEtCD,cAhBoD,aAiBlD,OACEz2G,KAAK22G,aACLz9G,MAAMC,QAAQ6G,KAAK7K,QACnB6K,KAAK7K,MAAMrC,OAAS,EAEb,GAAP,OAAUkN,KAAK22G,aAER,GAAP,OAAU32G,KAAKkH,QAGnBwvG,cA3BoD,aA2BvC,WACX,GAAmB,OAAf12G,KAAK7K,YAAiCsF,IAAfuF,KAAK7K,MAC9B,MAAO,GAGT,GAAI+D,MAAMC,QAAQ6G,KAAK7K,OACrB,OAAI6K,KAAK42G,YACA,IAAEj4G,MAAM,CAACqB,KAAK7K,QAClB0W,UACAxV,KAAI,SAACG,GAAD,OAAQ,EAAK8lB,sBAAsB9lB,EAAI,EAAKogH,gBAChDzhH,QACA6V,KAAK,MAED,GAAP,OAAUhL,KAAK7K,MAAM6V,KAAK,OAEvB,GAAmB,OAAfhL,KAAK7K,OAAiC,QAAf6K,KAAK7K,MACrC,OAAO6K,KAAK7K,MACRyI,EAAKxI,EAAE,eAAe0W,WACtBlO,EAAKxI,EAAE,cAAc0W,WAEzB,GAAI9L,KAAK42G,YACP,OAAI52G,KAAK7K,OAAyB,IAAf6K,KAAK7K,OAAe6K,KAAKq3B,eACnCr3B,KAAKsc,sBAAsBtc,KAAK7K,MAAO6K,KAAK42G,aAE5C,GAGX,MAAO,GAAP,OAAU52G,KAAK7K,YChI8Z,MCOjb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACqN,QAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIzC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI82G,cACzH,GAAkB,GCOP,UAAIp1G,OAAO,CACxBsG,MAAO,CACL5S,MAAOmK,QAETuC,SAAU,CACRg1G,SADQ,aAEN,IAAK72G,KAAK7K,MACR,MAAO,GAGT,GAAI6K,KAAK7K,MAAQ,MAAS,EAAG,CAC3B,IAAM,GAAU6K,KAAK7K,MAAQ,KAAMu0G,iBACnC,MAAO,GAAP,OAAU,EAAV,YAAoB9rG,EAAKxI,EAAE,eAG7B,GAAI4K,KAAK7K,MAAQ,MAAQ,EAAG,CAC1B,IAAM,GAAU6K,KAAK7K,MAAQ,KAAKu0G,iBAClC,MAAO,GAAP,OAAU,EAAV,YAAoB9rG,EAAKxI,EAAE,eAG7B,GAAI4K,KAAK7K,MAAQ,IAAM,EAAG,CACxB,IAAM,GAAU6K,KAAK7K,MAAQ,GAAGu0G,iBAChC,MAAO,GAAP,OAAU,EAAV,YAAoB9rG,EAAKxI,EAAE,iBAG7B,IAAM6X,EAASjN,KAAK7K,MAAMu0G,iBAC1B,MAAO,GAAP,OAAUz8F,EAAV,YAAoBrP,EAAKxI,EAAE,yBClCiZ,MCO9a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI2K,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,UAAYN,EAAIwH,UAAU,KAAOxH,EAAIo4B,KAAK,QAAUp4B,EAAI2J,QAAQ,MAAQ3J,EAAImH,MAAM,kBAAkBnH,EAAIq4B,eAAe,cAAcr4B,EAAI2H,WAAW,SAAW3H,EAAI0H,SAAS,eAAe1H,EAAI4H,YAAY,OAAS5H,EAAIkuC,OAAO,MAAQluC,EAAIsH,MAAM,SAAWtH,EAAIyH,UAAU9G,GAAG,CAAC,KAAOX,EAAI+2G,MAAM/1G,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAI08B,cAAcx7B,GAAKG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIg3G,aAAa,SAAWh3G,EAAIyH,UAAU9G,GAAG,CAAC,KAAOX,EAAI+2G,MAAM/1G,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAIi3G,MAAM/1G,GAAKG,WAAW,YAAY,IAAI,IAC5zB,GAAkB,GCiCjB61G,IAAL,SAAKA,GACH,wBACA,wBACA,4BACA,qCAJF,CAAKA,QAAK,KAMV,IAAMC,GAAW,CAACD,GAAME,MAAOF,GAAMG,MAAOH,GAAMI,QAASJ,GAAMK,aAElD,UAAI71G,OAAO,CACxBsG,MAAO,CACL5S,MAAOmK,OACPiI,UAAWU,QACXf,MAAOc,OACPmwB,KAAMnwB,OACNimC,OAAQjmC,OACRR,SAAUS,QACVR,SAAUQ,QACVmwB,eAAgBnwB,QAChBN,YAAaM,QACbP,WAAYO,QACZyB,QAASzB,QACTZ,MAAOnO,OAET5G,KAfwB,aAgBtB,MAAO,CACLmqC,cAAe,EACfu6E,MAAOC,GAAME,QAGjBhvG,QArBwB,aAsBtBnI,KAAKu3G,oBAAoBv3G,KAAK7K,QAEhC0M,SAAU,CAKRk1G,aALQ,aAMN,OAAOG,GAAS7gH,KAAI,SAACu1D,GACnB,IAAM4rD,EAAiB,QAAUP,GAAMrrD,GAAGjY,cAC1C,MAAO,CACLx+C,MAAOy2D,EACPnjD,KAAM7K,EAAKxI,EAAEoiH,GAAgB1rG,iBAKrChK,MAAO,CACL3M,MADK,WACC4M,GACJ/B,KAAKu3G,oBAAoBx1G,KAG7BC,QAAS,CAOPu1G,oBAPO,WAOargG,GAClBlX,KAAKy8B,cAAgBvlB,EACrBlX,KAAKg3G,MAAQC,GAAMK,YACnBt3G,KAAK6gF,UAQPi2B,KAlBO,aAmBL92G,KAAK6gF,SACL,IAAM70E,EAAMhM,KAAKy3G,eAAez3G,KAAKy8B,cAAez8B,KAAKg3G,OACzDh3G,KAAK8H,MAAM,QAASkE,IAStB60E,OA9BO,aA+BL,IAAM62B,EAAe13G,KAAKy3G,eAAez3G,KAAKy8B,cAAez8B,KAAKg3G,OAClE,GAAIU,EAAe,MAAS,EAAG,CAC7B13G,KAAKy8B,cAAgBi7E,EAAe,IACpC13G,KAAKg3G,MAAQC,GAAME,WACd,GAAIO,EAAe,MAAQ,EAAG,CACnC13G,KAAKy8B,cAAgBi7E,EAAe,IACpC13G,KAAKg3G,MAAQC,GAAMG,WACd,GAAIM,EAAe,IAAM,EAAG,CACjC13G,KAAKy8B,cAAgBi7E,EAAe,EACpC13G,KAAKg3G,MAAQC,GAAMI,YACd,CACLr3G,KAAKy8B,cAAgBi7E,EACrB13G,KAAKg3G,MAAQC,GAAMK,cAQvBG,eAnDO,WAmDQzrG,EAAa2rG,GAC1B,OAAQA,GACN,KAAKV,GAAME,MACT,OAAa,IAANnrG,EACT,KAAKirG,GAAMG,MACT,OAAa,IAANprG,EACT,KAAKirG,GAAMI,QACT,OAAa,EAANrrG,EACT,QACE,OAAOA,OClJsa,MCOnb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACxJ,QAAA,KAAKE,QAAA,KAAKujB,WAAA,KAAQtjB,cAAA,OC1BhD,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,+BAA+B,MAAQT,EAAI5K,MAAM,MAAQ4K,EAAI63G,wBAAwB,MAAQ73G,EAAIsH,MAAM,SAAWtH,EAAIyH,SAAS,SAAWzH,EAAI0H,SAAS,QAAU1H,EAAI2J,QAAQ,UAAY3J,EAAIwH,UAAU,SAAWxH,EAAIuH,SAAS,MAAQvH,EAAI6H,MAAM,iBAAiB7H,EAAIw8B,eAAe77B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,IAAS,OAAS,SAASA,GAAQ,OAAOZ,EAAI+H,MAAM,SAAUnH,QAC9hB,GAAkB,GC4BhBk3G,GAAS,WAEA,UAAIp2G,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAO,CAACmK,OAAQpG,OAChBmO,MAAOnO,MACPsO,SAAUS,QACVR,SAAUQ,QACVV,UAAWU,QACXX,SAAUW,QACVL,MAAOK,SAET3V,KAXwB,aAYtB,MAAO,CACLoX,QAAS,MACT2C,IAAK,GACLyrG,WAAY,GAGZhmC,WAAY,GACZv1C,cAAe,KAGnBp0B,QAtBwB,aAuBtBnI,KAAKoI,aAEPvG,SAAU,OAAF,wBACH,eAAS,WAAY,CAAC,YAAU,CAQnC+1G,wBARmC,aAQZ,WACf7uF,EAAUh2B,OAAO2L,OAAOsB,KAAK83G,YACnC,OAAO,IAAEn5G,MAAMqB,KAAKqM,KACjBhW,KAAI,SAACG,GAAD,MAAiB,CACpBrB,MAAOqB,EACPiS,KAAM,EAAKqvG,WAAWthH,GAAI9B,KAAK,EAAK4H,YAErCuC,OAAO,QACP1J,WAGP6M,QAAS,CAKDoG,UALC,a,0KAMLpI,KAAK0J,QAAU,KACf1J,KAAKu8B,cAAgB,GACf/3B,EACJ,gJ,kBAEiB,OAAM,EAAAvG,EAAMlJ,IAAIyP,G,OAA3BvH,E,OACFA,GAAYA,EAAS3K,KACvB0N,KAAK+3G,YAAY96G,EAAS3K,MAE1B0N,KAAKu8B,cAAgB,CAAC,sB,qDAGxBv8B,KAAKu8B,cAAgB,CAAC,EAAD,I,QAEvBv8B,KAAK0J,QAAU,M,2DAQjBquG,YA5BO,WA4BKz7D,GAEVt8C,KAAKqM,IAAM,GACXrM,KAAK83G,WAAa,GAClB93G,KAAK8xE,WAAa,GAJM,sBASJx1B,GATI,MASxB,IAAK,EAAL,qBAA6B,KAAlBghB,EAAkB,QAG3B,OAAIhjE,IAAI0F,KAAK83G,WAAYx6C,EAAM06C,OAAQ,CACrCxhH,GAAI8mE,EAAM06C,OACVtjH,KAAM,CACJ43B,GAAIgxC,EAAM26C,YAAc,GACxB1rF,GAAI+wC,EAAM46C,YAAc,GACxB1rF,GAAI8wC,EAAM66C,YAAc,IAE1BtnG,SAAUysD,EAAM86C,YAAc,IAQhC,IAAK96C,EAAM26C,WACT,SAIF,GAAyB,IAArB36C,EAAM+6C,WACR,SAGFr4G,KAAKqM,IAAIjZ,KAAKkqE,EAAM06C,SApCE,oDA0CPh4G,KAAKqM,KA1CE,MA0CxB,IAAK,EAAL,qBAA2B,KAAhB7V,EAAgB,QACzBwJ,KAAKs4G,YAAY9hH,IA3CK,gCAmD1B8hH,YA/EO,WA+EK9hH,GAEV,GAAIwJ,KAAK8xE,WAAWt7E,GAClB,OAGF,IAAM2S,EAAOnJ,KAAK83G,WAAWthH,GACvBqa,EAAW1H,EAAK0H,SACtB,GAAIA,EAAW,EAAG,CAEhB7Q,KAAKs4G,YAAYznG,GACjB,GAAIA,IAAagnG,GAAQ,CACvB,IAAM9lG,EAAS/R,KAAK83G,WAAWjnG,GAC/B1H,EAAKzU,KAAO,CACV43B,GAAIva,EAAOrd,KAAK43B,GAAK,OAASnjB,EAAKzU,KAAK43B,GACxCC,GAAIxa,EAAOrd,KAAK63B,GAAK,OAASpjB,EAAKzU,KAAK63B,GACxCC,GAAIza,EAAOrd,KAAK83B,GAAK,OAASrjB,EAAKzU,KAAK83B,KAK9CxsB,KAAK8xE,WAAWt7E,GAAM,SChLsa,MCO9b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACwS,iBAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIjJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,YAAY,MAAM,iBAAiB,KAAK,yBAAyB,MAAM,WAAW,IAAIgF,YAAYtF,EAAIuF,GAAG,CAAC,CAAC7P,IAAI,YAAY8P,GAAG,SAAS9E,GAC3P,IAAIC,EAAKD,EAAIC,GACTL,EAAQI,EAAIJ,MAChB,MAAO,CAACF,EAAG,eAAeJ,EAAIoiD,GAAG,CAAC9hD,MAAM,CAAC,MAAQN,EAAIw4G,gBAAgB,eAAe,QAAQ,SAAWx4G,EAAIyH,SAAS,MAAQzH,EAAImH,MAAM,KAAOnH,EAAIo4B,KAAK,UAAYp4B,EAAIwH,UAAU,MAAQxH,EAAIsH,MAAM,SAAW,IAAI3G,GAAG,CAAC,MAAQ,SAASC,IAASZ,EAAI0H,WAAa1H,EAAIw4G,iBAAmBx4G,EAAI+lC,KAAKplC,EAAIC,IAAS,MAAQ,SAASA,IAASZ,EAAI0H,UAAY1H,EAAI+lC,KAAKplC,EAAIC,IAAS,cAAc,SAASA,GAAQ,OAAOZ,EAAI+H,MAAM,QAAS,OAAO,eAAezH,EAAM,aAAaU,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAACjB,EAAG,SAAS,CAACA,EAAG,SAAS,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAO4K,EAAY,SAAEqB,WAAW,aAAaf,MAAM,CAAC,aAAa,IAAIU,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAIovE,UAAUluE,GAAKG,WAAW,cAAc,CAACjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,UAAU,CAACF,EAAG,SAAS,CAACJ,EAAIO,GAAG,YAAY,GAAIP,EAAY,SAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,QAAQ,UAAYL,KAAKqzB,WAAW,CAAClzB,EAAG,SAAS,CAACJ,EAAIO,GAAG,kBAAkB,GAAGP,EAAI6C,MAAM,GAAGzC,EAAG,eAAe,CAACY,MAAM,CAAC5L,MAAO4K,EAAa,UAAEiB,SAAS,SAAUC,GAAMlB,EAAIovE,UAAUluE,GAAKG,WAAW,cAAc,CAACjB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ,SAAS,CAACF,EAAG,gBAAgB,CAACM,IAAI,aAAaJ,MAAM,CAAC,OAAuB,MAAdN,EAAIzD,OAAiB,KAAO,KAAK,WAAW,GAAG,IAAMyD,EAAIy4G,kBAAkB,qBAAqBz4G,EAAIqgF,qBAAqB,eAAergF,EAAIqgF,qBAAqB,aAAa,GAAG,gBAAgBrgF,EAAI04G,eAAe/3G,GAAG,CAAC,MAAQX,EAAI24G,cAAc33G,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAIszB,SAASpyB,GAAKG,WAAW,eAAe,GAAGjB,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ,SAAS,CAACF,EAAG,gBAAgB,CAACM,IAAI,aAAaJ,MAAM,CAAC,aAAa,GAAG,OAAS,OAAO,MAAQ,YAAY,kBAAkBN,EAAI44G,gBAAgB53G,MAAM,CAAC5L,MAAO4K,EAAY,SAAEiB,SAAS,SAAUC,GAAMlB,EAAIigF,SAAS/+E,GAAKG,WAAW,eAAe,IAAI,GAAGjB,EAAG,aAAaA,EAAG,iBAAiB,CAACA,EAAG,YAAYJ,EAAIgG,GAAG,WAAU,WAAW,MAAO,CAAC5F,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,QAAQ,MAAQ,GAAG,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI4hB,WAAW,CAAC5hB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,OAAOL,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAUK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI8F,UAAU,CAAC9F,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,eAAe,UAAS,CAAC,OAASR,QAAQ,IAAI,IAAI,IAC3rE,GAAkB,GCwFhB44G,GAAS,SAEA,UAAIn3G,OAAO,CACxBsG,MAAO,CAML5S,MAAO6S,OACPd,MAAOc,OACPmwB,KAAMnwB,OACNR,SAAUS,QACVR,SAAUQ,QACVV,UAAWU,QACXZ,MAAOnO,MACP++D,IAAKjwD,OACL6wG,cAAe5wG,QACf6wG,UAAW7wG,QACX63E,SAAU73E,QACV8wG,gBAAiB,CACf//G,KAAMsG,OACNuf,QAAS,KAIb1W,QAxBwB,aAoCtBnI,KAAK8lC,KAAO,IAAElwB,SAAS5V,KAAK8lC,KAAM,MAGpCxzC,KAvCwB,aAwCtB,MAAO,CACLoF,OAAQ,MACRy3E,UAAW,OAEX97C,SAAU,GACV2sD,SAAU,KAIdn+E,SAAU,OAAF,wBACH,eAAS,WAAY,CAAC,YAAU,CAOnC22G,kBAPmC,aAQjC,GAAIx4G,KAAK64G,cACP,OAAO,KAAOpjC,GAAG,cAAckK,MAAM,OAAOngE,OAAO,cAErD,OAAOxf,KAAKi4D,KAQdsgD,gBAnBmC,aAoBjC,OAAO34B,GAAgB5/E,KAAK7K,MAAO6K,KAAK8/E,WAS1Ck5B,qBA7BmC,aA8BjC,IAAKh5G,KAAKqzB,SACR,MAAO,GAGT,IAAIrnB,EAAMhM,KAAKqzB,SACXrzB,KAAK8/E,WACP9zE,GAAO,IAAMhM,KAAKggF,SAAW,MAAQ44B,IAEvC,OAAO5sG,GAST2sG,eA/CmC,aAgDjC,GAA6B,IAAzB34G,KAAK+4G,gBACP,OAGF,IADA,IAAME,EAAU,GACPrmH,EAAI,EAAGA,EAAI,GAAIA,GAAKoN,KAAK+4G,gBAChCE,EAAQ7lH,KAAKR,GAEf,OAAOqmH,GAQTR,cA/DmC,aAgEjC,OAAIz4G,KAAK84G,UACA,OAEA,UAKbh3G,MAAO,CACL3M,MAAO,CACL8O,UAAW,KACXC,QAFK,WAEGg1G,GACNl5G,KAAKm5G,oBAAoBD,KAI7BxhH,OARK,WAQEy8C,GACL,GAAIA,EAAS,CACXn0C,KAAKmvE,UAAY,OACjBnvE,KAAKo5G,wBAITt5B,SAfK,WAeIu5B,GACHA,GAAiC,KAAlBr5G,KAAKggF,WAGtBhgF,KAAKggF,SAAW,SAMlBhgF,KAAKs5G,aAITt3G,QAAS,CACPo+E,wBAKAt6C,KANO,WAMFplC,EAASC,GACZD,EAAGizD,MAAMhzD,IASXw4G,oBAhBO,WAgBajiG,GAClBlX,KAAKo5G,sBAOL,IAAMzlH,EAASqM,KAAKg5G,qBAChBrlH,GAAUA,IAAWujB,GACvBlX,KAAKs5G,YAWTF,oBArCO,aAsCL,IAAKp5G,KAAK7K,MAAO,CACf6K,KAAKqzB,SAAW,GAChBrzB,KAAKggF,SAAW,GAChB,OAEF,IAAMzrF,EAAI,KAAOkhF,GAAGz1E,KAAK7K,MAAO,cAChC6K,KAAKqzB,SAAW9+B,EAAEirB,OAAO,cACpBxf,KAAK8/E,SAGJ9/E,KAAK7K,MAAMrC,OAAS,GACtBkN,KAAKggF,SAAWzrF,EAAEirB,OAAO,SAEzBxf,KAAKggF,SAAW,QALlBhgF,KAAKggF,SAAW,IAepBs5B,SA7DO,aA8DLt5G,KAAK8H,MAAM,QAAS9H,KAAKg5G,uBAO3BnzG,KArEO,aAsEL7F,KAAKs5G,WACLt5G,KAAK2hB,SAOP+2F,aA9EO,aA+EL,GAAI14G,KAAK8/E,SAAU,CACjB9/E,KAAKggF,SAAW,QAChBhgF,KAAKmvE,UAAY,OACbnvE,KAAK2B,MAAM43G,aACbv5G,KAAK2B,MAAM43G,WAAWC,cAAgB,QAW5C73F,MA9FO,aA+FL3hB,KAAKtI,OAAS,UCpVqa,M,aCOrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAkBhC,KAAkB,GAAW,CAACyK,QAAA,KAAKC,SAAA,KAAMC,aAAA,QAAao3G,eAAA,KAAY30G,YAAA,KAAS2P,SAAA,KAAMomD,SAAA,KAAM91D,WAAA,KAAQ0qE,QAAA,KAAKC,YAAA,KAASC,SAAA,KAAMgE,cAAA,KAAWhxE,cAAA,KAAWm4D,eAAA,OCpCzI,IAAI,GAAS,WAAa,IAAI/6D,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACmB,YAAY,kBAAkBjB,MAAM,CAAC,GAAKN,EAAI25G,WAAW,CAACv5G,EAAG,MAAM,CAACmB,YAAY,qDAAqD,CAAGvB,EAAI45G,cAAwW55G,EAAI6C,KAA7VzC,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,mBAAmB,MAAQT,EAAI65G,cAAgB75G,EAAI65G,cAAc1yG,QAAUnH,EAAI85G,aAAa,eAAe,QAAQ,YAAc,IAAI,KAAO95G,EAAIo4B,KAAK,eAAiBp4B,EAAIq4B,eAAe,SAAW,GAAG,cAAc,YAAY,SAAWr4B,EAAIyH,UAAU9G,GAAG,CAAC,MAAQX,EAAI+lC,KAAK,MAAQ/lC,EAAI+lC,QAAkB/lC,EAAiB,cAAEI,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,mBAAmB,MAAQT,EAAI6/E,gBAAgB7/E,EAAI8pE,WAAW,eAAe,QAAQ,YAAc,IAAI,SAAW,GAAG,cAAc,YAAY,SAAW9pE,EAAIyH,UAAU9G,GAAG,CAAC,MAAQX,EAAI+lC,KAAK,MAAQ/lC,EAAI+lC,QAAQ/lC,EAAI6C,KAAM7C,EAAiB,cAAEI,EAAG,OAAO,CAACmB,YAAY,QAAQ,CAACvB,EAAIO,GAAG,OAAOP,EAAI6C,KAAM7C,EAAiB,cAAEI,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAI6/E,gBAAgB7/E,EAAI+5G,SAAS,eAAe,QAAQ,YAAc,IAAI,SAAW,GAAG,cAAc,YAAY,SAAW/5G,EAAIyH,UAAU9G,GAAG,CAAC,MAAQX,EAAI+lC,KAAK,MAAQ/lC,EAAI+lC,QAAQ/lC,EAAI6C,MAAM,GAAGzC,EAAG,SAAS,CAACE,MAAM,CAAC,OAAS,IAAMN,EAAI25G,SAAS,MAAQ,MAAM,YAAY35G,EAAIg6G,eAAiB,IAAM,IAAI,aAAah6G,EAAIg6G,eAAiB,IAAM,IAAI,eAAe,KAAK,WAAW,GAAG,iBAAiB,KAAK,yBAAyB,OAAOh5G,MAAM,CAAC5L,MAAO4K,EAAU,OAAEiB,SAAS,SAAUC,GAAMlB,EAAIrI,OAAOuJ,GAAKG,WAAW,WAAW,CAAGrB,EAAIg6G,eAA6Vh6G,EAAI6C,KAAjVzC,EAAG,UAAU,CAACA,EAAG,SAASJ,EAAI0F,GAAI1F,EAAU,QAAE,SAASi6G,GAAK,OAAO75G,EAAG,cAAc,CAAC1K,IAAIukH,EAAIvkH,IAAIiL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIk6G,cAAcD,MAAQ,CAAC75G,EAAG,oBAAoB,CAAG65G,EAAI9iC,QAAiFn3E,EAAI6C,KAA5EzC,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,qBAA8BP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGy5G,EAAI9yG,SAAS,MAAM,IAAI,MAAK,IAAI,GAAanH,EAAkB,eAAEI,EAAG,UAAU,CAACA,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,QAAU,iBAAiB,CAACF,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,yDAAyD,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,oBAAoB,KAAKL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,UAAU,GAAG,MAAQ,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIm6G,gBAAkB,MAAM,CAAC/5G,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,GAAG,KAAO,KAAK,CAACN,EAAIO,GAAG,uBAAuBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,MAAM,IAAI,GAAGL,EAAG,gBAAgB,CAACE,MAAM,CAAC,qBAAqBN,EAAIqgF,qBAAqB,OAAuB,MAAdrgF,EAAIzD,OAAiB,KAAO,KAAK,IAAMyD,EAAIo6G,cAAgBp6G,EAAIo6G,cAAgB,GAAG,eAAe,OAAOp5G,MAAM,CAAC5L,MAAO4K,EAAmB,gBAAEiB,SAAS,SAAUC,GAAMlB,EAAIm6G,gBAAgBj5G,GAAKG,WAAW,qBAAqBjB,EAAG,QAAQ,GAAGA,EAAG,QAAQ,CAACmB,YAAY,cAAcjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,MAAM,CAACmB,YAAY,yDAAyD,CAACvB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,KAAKL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,UAAU,GAAG,MAAQ,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQZ,EAAIo6G,cAAgB,MAAM,CAACh6G,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,UAAU,KAAK,CAACN,EAAIO,GAAG,uBAAuBP,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,kBAAkB,MAAM,IAAI,GAAGL,EAAG,gBAAgB,CAACE,MAAM,CAAC,qBAAqBN,EAAIqgF,qBAAqB,OAAuB,MAAdrgF,EAAIzD,OAAiB,KAAO,KAAK,IAAMyD,EAAIm6G,gBAAkBn6G,EAAIm6G,gBAAkB,GAAG,eAAe,OAAOn5G,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAIo6G,cAAcl5G,GAAKG,WAAW,oBAAoB,IAAI,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,QAAQ,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,MAAQ,SAASK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI4hB,WAAW,CAAC5hB,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,mBAAmB,QAAQ,GAAGL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAUK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI8F,UAAU,CAAC9F,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIS,GAAG,eAAe,QAAQ,IAAI,IAAI,GAAGT,EAAI6C,MAAM,IAAI,IACx2H,GAAkB,GCiCTw3G,GAAiB,CAC5B3kH,IAAK,UACLyR,MAF4B,aAG1B,OAAOtJ,EAAKxI,EAAE,oBAEhB8hF,MAL4B,aAM1B,MAAO,CAAC,GAAI,MAIHmjC,GAAkB,CAC7B5kH,IAAK,SACLyR,MAF6B,aAG3B,OAAOtJ,EAAKxI,EAAE,qBAEhB8hF,MAL6B,aAM3B,SAIE,SAAUojC,KACd,IAAIn6B,EAAM,KACU,OAAhBviF,EAAKtB,SACP6jF,EAAM,MAGR,IAAM9nD,EAA2B,GAEjCA,EAAMjlC,KAAKgnH,IACX/hF,EAAMjlC,KAAKinH,IAGXhiF,EAAMjlC,KAAKkiF,GAAQ,QAASA,GAAQ,UAChB,OAAhB13E,EAAKtB,QAEP+7B,EAAMjlC,KAAKkiF,GAAQ,YAErBj9C,EAAMjlC,KAAKkiF,GAAQ,SAGnBj9C,EAAMjlC,KAAKmnH,GAAM,QAASA,GAAM,UACZ,OAAhB38G,EAAKtB,QAEP+7B,EAAMjlC,KAAKmnH,GAAM,YAEnBliF,EAAMjlC,KAAKmnH,GAAM,SAGjBliF,EAAMjlC,KAAKm2E,GAAU,IAAKA,GAAU,IAAKA,GAAU,IAAKA,GAAU,MAElE,OAAOlxC,EAYT,SAASi9C,GACPklC,GAEA,IAAMC,EAAgB,IAAEC,WAAWF,GACnC,MAAO,CACL/kH,IAAK,UAAF,OAAYglH,GACfvzG,MAFK,aAGH,OAAOtJ,EAAKxI,EAAL,2BAA2BqlH,KAEpCvjC,MALK,aAMH,IAAI+E,EAAgB,GAChBvG,EAAc,GAClB,GAAoB,OAAhB93E,EAAKtB,OAAiB,CACxB2/E,EAAQ,OAAUkD,QAAV,WAAsBs7B,IAAiBj7F,OAAO,cACtDk2D,EAAM,OAAUiK,MAAV,WAAoB86B,IAAiBj7F,OAAO,kBAC7C,CACLy8D,EAAQ,OAASkD,QAAQq7B,GAAQh7F,OAAO,cACxCk2D,EAAM,OAASiK,MAAM66B,GAAQh7F,OAAO,cAEtC,MAAO,CAACy8D,EAAOvG,KAcrB,SAAS6kC,GAAMC,GACb,IAAMC,EAAgB,IAAEC,WAAWF,GACnC,MAAO,CACL/kH,IAAK,QAAUglH,EACfvzG,MAFK,aAGH,OAAOtJ,EAAKxI,EAAL,yBAAyBqlH,KAElCvjC,MALK,aAMH,IAAI+E,EAAgB,GAChBvG,EAAc,GAElB,GAAoB,OAAhB93E,EAAKtB,OAAiB,CACxB,IAAMq+G,EAAQ,IAAH,OAAOF,GAClBx+B,EAAQ,OAAUkD,QAAQw7B,GAAO7wC,SAAS,EAAG6wC,GAAOn7F,OAAO,cAC3Dk2D,EAAM,OAAUyJ,QAAQw7B,GAAO7wC,SAAS,EAAG,OAAOtqD,OAAO,kBACpD,CACL,IAAMo7F,EAAYJ,EACZzuB,EAAWyuB,EACjBv+B,EAAQ,OAASkD,QAAQy7B,GAAW9wC,SAAS,EAAGiiB,GAAUvsE,OAAO,cACjEk2D,EAAM,OAASyJ,QAAQy7B,GAAW9wC,SAAS,EAAG,OAAOtqD,OAAO,cAG9D,MAAO,CAACy8D,EAAOvG,KAarB,SAASnM,GAAU5zE,GACjB,MAAO,CACLF,IAAK,OAAF,OAASE,EAAT,QACHuR,MAFK,aAGH,OAAOtJ,EAAKxI,EAAE,sBAAuB,CAAEy6G,KAAMl6G,KAE/CuhF,MALK,aAMH,IAAM+E,EAAQ,OAASnS,SAASn0E,EAAG,QAAQ6pB,OAAO,cAC5Ck2D,EAAM,OAASl2D,OAAO,cAC5B,MAAO,CAACy8D,EAAOvG,KAKf,SAAUmlC,GACd3jC,EACA4jC,GAEKA,GAA4B,IAAlBA,EAAOhoH,SACpBgoH,EAASR,MAEX,OAAO,IAAE9wF,KAAKsxF,GAAQ,SAACxjD,GACrB,IAAMyjD,EAAgBzjD,EAAM4f,QAC5B,GACE6jC,GACAA,EAAc,KAAO7jC,EAAM,IAC3B6jC,EAAc,KAAO7jC,EAAM,GAE3B,OAAO,KAET,OAAO,SCjCI,cAAIz1E,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACP7S,MAAO6S,OACPowB,eAAgBnwB,QAChBT,SAAUS,QACVR,SAAUQ,QACVgwD,IAAKjwD,OAELgzG,UAAW,CACThiH,KAAMgP,OACN6W,QAAS,iBACTg1F,UAAW,WAAC14G,GAAD,OAC2D,IAApE,CAAC,QAAS,SAAU,aAAc,kBAAkB6nC,QAAQ7nC,KAGhE8/G,YAAa,CACXjiH,KAAMiP,QACN4W,QAAS,MAGXq8F,aAAclzG,QAGhBG,QAxBwB,aAyBtBnI,KAAK05G,SAAW,kBAAoBr6E,KAAKC,MAAsB,KAAhBD,KAAKE,UAapDv/B,KAAK8lC,KAAO,IAAElwB,SAAS5V,KAAK8lC,KAAM,KAElC,GAAI9lC,KAAKk7G,aAAc,CACrB,IAAM5jD,EAAQ,IAAE9tC,KAAKxpB,KAAK86G,OAAQ,CAAErlH,IAAKuK,KAAKk7G,eAC9Cl7G,KAAKi6G,cAAc3iD,KAIvBhlE,KA9CwB,aA+CtB,MAAO,CAMLonH,SAAU,GAEVhiH,OAAQ,MACRqiH,eAAgB,MAEhBlwC,UAAW,GACXiwC,QAAS,GAETI,gBAAiB,GACjBC,cAAe,GAQfP,cAAe,OAInB/3G,SAAU,OAAF,wBACH,eAAS,WAAY,CAAC,YAAU,CAOnC83G,cAPmC,aAQjC,OAAQ35G,KAAKg7G,WACX,IAAK,QACH,OAAO,MACT,IAAK,SACH,OAAO,KACT,IAAK,aACH,OAAQh7G,KAAK45G,eAA4C,YAA3B55G,KAAK45G,cAAcnkH,IACnD,IAAK,iBACH,OAAQuK,KAAK45G,eAAgC,KAAf55G,KAAK7K,MACrC,QACE,OAAO,OAUb0kH,aA5BmC,aA6BjC,IAAM59B,EAAQ2D,GAAgB5/E,KAAK6pE,WAC7B6L,EAAMkK,GAAgB5/E,KAAK85G,SAC3B3+G,EAAI,GAAH,OAAM8gF,EAAN,cAAiBvG,GACxB,MAAa,QAANv6E,EAAc,GAAKA,GAQ5Bg9B,KAxCmC,aAyCjC,GAAuB,UAAnBn4B,KAAKg7G,YAA0Bh7G,KAAK45G,cACtC,MAAO,GAET,OAAO55G,KAAK65G,cAOdiB,OAnDmC,aAoDjC,IAAIA,EAASR,KACRt6G,KAAKi7G,cACRH,EAAS,IAAE5/G,OAAO4/G,EAAQ,CAAC,MAAO,YAEpC,OAAOA,KAIXh5G,MAAO,CAKL3M,MAAO,CACL8O,UAAW,KACXC,QAFK,WAEGgT,GACNlX,KAAK4iC,wBAAwB1rB,KAUjCxf,OAlBK,WAkBEy8C,GACL,GAAIA,EAAS,CAEXn0C,KAAKk6G,gBAAkBl6G,KAAK6pE,UAC5B7pE,KAAKm6G,cAAgBn6G,KAAK85G,aAG1B95G,KAAK+5G,eAAiB,QAK5B/3G,QAAS,CACP49E,mBACAQ,wBAQA+6B,SAVO,WAUEjkC,GACPl3E,KAAK6pE,UAAYqN,EAAM,GACvBl3E,KAAK85G,QAAU5iC,EAAM,GAErB,IAAM5f,EAAQujD,GAAmB3jC,GAE/Bl3E,KAAK45G,cADHtiD,GAGmB,KAGvB,IAAM8jD,EAAW,GAAH,OAAMp7G,KAAK6pE,UAAX,YAAwB7pE,KAAK85G,SAC3C95G,KAAK8H,MAAM,QAAsB,MAAbszG,EAAmB,GAAKA,IAO9CnB,cA7BO,WA6BO3iD,GACZ,IAAKA,EAAO,CACVt3D,KAAK45G,cAAgB,KACrB,OAGF55G,KAAK45G,cAAgBtiD,EAErB,IAAM4f,EAAQ5f,EAAM4f,QACpB,GAAIA,EAAO,CACTl3E,KAAKm7G,SAASjkC,GACdl3E,KAAK2hB,QACL,OAEA3hB,KAAK+5G,eAAiB,MAU1Bn3E,wBArDO,WAqDiB1rB,GACtB,IAAMggE,EAA0B,CAAC,GAAI,IAC/BxrE,EAAQwL,EAAOylB,MAAM,KACvBjxB,EAAM5Y,OAAS,IACjBokF,EAAM,GAAKxrE,EAAM,IAEfA,EAAM5Y,OAAS,IACjBokF,EAAM,GAAKxrE,EAAM,IAEnB1L,KAAKm7G,SAASjkC,IAGhBpxC,KAjEO,aAkEL9lC,KAAKtI,OAAS,MAGhBmO,KArEO,aAsEL7F,KAAKm7G,SAAS,CAACn7G,KAAKk6G,iBAAmB,GAAIl6G,KAAKm6G,eAAiB,KACjEn6G,KAAK2hB,SAGPA,MA1EO,aA2EL3hB,KAAKtI,OAAS,UCjZqa,M,0BCQrb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAehC,KAAkB,GAAW,CAACyK,QAAA,KAAKK,QAAA,KAAKi3G,eAAA,KAAYhlG,SAAA,KAAMoM,MAAA,QAAMF,aAAA,KAAUI,eAAAF,GAAA,KAAeg6C,SAAA,KAAMn4D,QAAA,KAAK24G,UAAA,KAAO14G,cAAA,OClC3G,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAASF,EAAIu7G,aAAkXn7G,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAI5K,MAAM,MAAQ4K,EAAIw7G,kBAAkB,MAAQx7G,EAAImH,MAAM,SAAWnH,EAAIuH,SAAS,MAAQvH,EAAIsH,MAAM,UAAYtH,EAAIwH,UAAU,SAAWxH,EAAIyH,SAAS,MAAQzH,EAAI6H,MAAM,kBAAkB7H,EAAI8H,eAAe,cAAc9H,EAAImwG,YAAYxvG,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,IAAS,cAAcZ,EAAIy7G,SAArsBr7G,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAI5K,MAAM,MAAQ4K,EAAIw7G,kBAAkB,MAAQx7G,EAAImH,MAAM,SAAWnH,EAAIuH,SAAS,MAAQvH,EAAIsH,MAAM,UAAYtH,EAAIwH,UAAU,SAAWxH,EAAIyH,SAAS,MAAQzH,EAAI6H,MAAM,kBAAkB7H,EAAI8H,eAAe,cAAc9H,EAAImwG,YAAYxvG,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,IAAS,cAAcZ,EAAIy7G,UAC3c,GAAkB,GCyCP,UAAI/5G,OAAO,CACxBsG,MAAO,CAWLswB,MAAO,CACLr/B,KAAMgP,OACN+Q,SAAU,MAEZ/f,KAAMgP,OACNR,SAAUS,QACVwzG,eAAgBxzG,QAChB8kC,eAAgB9kC,QAChByjB,YAAaxyB,MACbqK,WAAYrK,MACZ/D,MAAO,CAACmK,OAAQpG,OAChBgO,MAAOc,OACPX,MAAOnO,MACPoO,SAAUW,QACVV,UAAWU,QACXL,MAAOK,QACPioG,WAAYjoG,QACZJ,eAAgBI,QAChBqzG,aAAcrzG,QAYdqvB,UAAW,CAAEt+B,KAAMgP,SAGrBnG,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAW,WAAY,CAAC,oBAAkB,CAY7CknB,QAZ6C,aAYtC,WACDA,EAAwB,GAGtB2yF,EAAY17G,KAAKq4B,MAAMsE,MAAM,KACnC,GAAI++E,EAAU5oH,OAAS,EAAG,CACxB,IAAM2wD,EAAai4D,EAAU,GACvBh4D,EAAeg4D,EAAU,GAG/B3yF,EAAU,IAAEnS,UAAU5W,KAAK2I,OAAO9Q,MAAM4rD,GAAYC,SAIpD36B,EAAU,IAAEnS,UAAU5W,KAAK2I,OAAO9Q,MAAMmI,KAAKq4B,QAE/C,IAAKtP,EACH,MAAM,IAAIpyB,MAAJ,0BAA6BqJ,KAAKq4B,MAAlC,qBAIRtP,EAAU,IAAEnqB,OAAOmqB,GAAS,SAACv0B,GAC3B,QAASA,EAAEE,QAKb,IAAMg3B,EAAc,IAAE7f,QAAQ,CAAC7L,KAAK0rB,aAAe,KAC/C1rB,KAAK+sC,gBACPrhB,EAAYt4B,KAAK,GAEfs4B,EAAY54B,OAAS,IACvBi2B,EAAU,IAAE7tB,OAAO6tB,GAAS,SAACv0B,GAC3B,OAAO,IAAEqG,SAAS6wB,EAAal3B,EAAEgC,QAMjCwJ,KAAKuD,YAAcvD,KAAKuD,WAAWzQ,OAAS,IAC9Ci2B,EAAU,IAAEnqB,OAAOmqB,GAAS,SAACv0B,GAC3B,OAAO,IAAEqG,SAAS,EAAK0I,WAAY/O,EAAEgC,QAKrCwJ,KAAKhH,OACP+vB,EAAU,IAAEnqB,OAAOmqB,EAAS,CAAE/vB,KAAMgH,KAAKhH,QAIvCgH,KAAKs3B,YACPvO,EAAU,IAAE1yB,IAAI0yB,GAAS,SAACv0B,GACX,IAATA,EAAEgC,KACmB,QAAnB,EAAK8gC,UACP9iC,EAAEE,KAAO+3B,GACmB,YAAnB,EAAK6K,YACd9iC,EAAEE,KAAO23B,KAGb,OAAO73B,MAMX,IAAKwL,KAAKy7G,eAAgB,CACxB,IAAME,EAAW,IAAE79E,KAAK/U,GAAS,SAACv0B,GAAD,OAAOA,EAAE8wB,MAAQ9wB,EAAE8wB,KAAO,KAGzDyD,EAFE4yF,EAEQ,IAAEh9G,MAAMoqB,GACf1yB,KAAI,SAAC7B,GAAD,OACHzB,OAAOyI,OAAOhH,EAAG,CACf8wB,KAAM9wB,EAAE8wB,MAAQ,SAGnBzmB,OAAO,CAAC,OAAQ,SAACrK,GAAD,OAAO,EAAK+sB,eAAe/sB,EAAEE,SAC7CS,QAGO,IAAE0J,OAAOkqB,GAAS,SAACv0B,GAAD,OAAO,EAAK+sB,eAAe/sB,EAAEE,SAI7D,OAAOq0B,GAQTwyF,kBAxG6C,aAwG5B,WACf,OAAO,IAAEllH,IAAI2J,KAAK+oB,SAAS,SAACv0B,GAC1B,MAAO,CAAEW,MAAOX,EAAEgC,GAAIiS,KAAMjU,EAAEE,KAAK,EAAK4H,eAK9CwF,MAAO,CAML9I,KANK,WAMA+0D,GACH,IAAM54D,EAAQ6K,KAAK7K,MACbsiC,EAAW,IAAEphC,IAAI2J,KAAK+oB,QAAS,MACjC0O,EAAS3kC,OAAS,IAAM,IAAE+H,SAAS48B,EAAUtiC,IAC/C6K,KAAK8H,MAAM,QAAS2vB,EAAS,MAKnCz1B,QAAS,CAOPw5G,MAPO,aAOF,WACGriH,EAAUD,MAAMC,QAAQ6G,KAAK7K,OACnC6K,KAAKyX,WAAU,WACTte,EACF,EAAK2O,MAAM,QAAS,IAEpB,EAAKA,MAAM,QAAS,UCpOma,MCO7b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACkB,iBAAA,KAAcid,WAAA,OCxB5C,IAAI,GAAS,WAAa,IAAIlmB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAI5K,MAAM,MAAQ4K,EAAIyiC,MAAM,MAAQziC,EAAImH,MAAM,MAAQnH,EAAIsH,MAAM,UAAYtH,EAAIwH,UAAU,SAAWxH,EAAIyH,UAAU9G,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,QACpS,GAAkB,GCmBP,UAAIc,OAAO,CACxBsG,MAAO,CAOLswB,MAAO,CACLr/B,KAAMgP,OACN+Q,SAAU,MAEZ6iG,qBAAsB,CACpB5iH,KAAMgP,OACN+Q,SAAU,MAEZ5jB,MAAO6S,OACPd,MAAOc,OACPX,MAAOnO,MACPsO,SAAUS,QACVV,UAAWU,SAEbpG,SAAU,CAMR2gC,MANQ,aAMH,WACGA,EAAQ,IAAE7jC,MAAMqB,KAAK67G,kBAAkBxlH,IAAI,QAAQ0E,OAAO5F,QAChE,OAAO,IAAEkB,IAAImsC,GAAO,SAACxpC,GAAD,MAAW,CAC7B7D,MAAO6D,EACPyP,KAAM7K,EAAKxI,EAAE,EAAKwmH,qBAAuB,IAAM5iH,QAQnD6iH,iBAlBQ,aAmBN,IAAI9yF,EAAwB,GAGtB2yF,EAAY17G,KAAKq4B,MAAMsE,MAAM,KACnC,GAAI++E,EAAU5oH,OAAS,EAAG,CACxB,IAAM2wD,EAAai4D,EAAU,GACvBh4D,EAAeg4D,EAAU,GAG/B3yF,EAAU,IAAEnS,UAAU5W,KAAK2I,OAAO9Q,MAAM4rD,GAAYC,SAIpD36B,EAAU,IAAEnS,UAAU5W,KAAK2I,OAAO9Q,MAAMmI,KAAKq4B,QAE/C,IAAKtP,EACH,MAAM,IAAIpyB,MAAJ,0BAA6BqJ,KAAKq4B,MAAlC,qBAIRtP,EAAU,IAAEnqB,OAAOmqB,GAAS,SAACv0B,GAC3B,QAASA,EAAEE,QAGb,OAAOq0B,MCrFob,MCO7b,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC9C,WAAA,OCvB9B,IAAI,GAAS,WAAa,IAAIlmB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAI+7G,qBACzH,GAAkB,GCMP,UAAIr6G,OAAO,CACxBsG,MAAO,CACL5S,MAAOmK,QAETuC,SAAU,CACRi6G,gBADQ,aAEN,OAAO,IAAIvkD,KAAKC,cAAeh4C,OAAOxf,KAAK7K,WCb+X,MCO5a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI4K,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAI02G,cAAc,MAAQ12G,EAAI5K,MAAM,MAAQ4K,EAAIg8G,YAAY,YAAch8G,EAAIi8G,oBAAoB,SAAWj8G,EAAIyH,SAAS,MAAQzH,EAAIkK,MAAM,cAAclK,EAAI2H,WAAW,eAAe3H,EAAI4H,YAAY,KAAO5H,EAAIo4B,KAAK,eAAe,mBAAmBz3B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,IAAS,KAAO,SAASA,GAAQ,OAAOZ,EAAIk8G,gBAC3d,GAAkB,G,wBCuBP,UAAIx6G,OAAO,CACxBsG,MAAO,CACLb,MAAOc,OACPk8B,YAAal8B,OACbmwB,KAAMnwB,OACN7S,MAAO6S,OACPX,MAAOnO,MACPsO,SAAUS,QACVR,SAAUQ,QACVP,WAAYO,QACZgC,MAAOhC,QACPN,YAAaM,SAGfpG,SAAU,CACRk6G,YADQ,aACG,WACT,MAAO,GAAP,sBAEM/7G,KAAKqH,OAAS,IAFpB,CAGE,SAAC2E,GAAD,OAAS,EAAKkwG,cAAclwG,IAAQpO,EAAKxI,EAAE,+BAI/CqhH,cATQ,aAUN,IAAKz2G,KAAKkH,MACR,OAAOtJ,EAAKxI,EAAE,sBAAsB0W,WAEtC,OAAO9L,KAAKkH,OAGd80G,oBAhBQ,aAiBN,OACEh8G,KAAKkkC,aACL,KAAYi4E,WAAW,MAAMC,UAAU,mBAK7Cp6G,QAAS,CAMPk6G,cANO,WAMOlwG,GACZ,IAAKA,EAGH,OAAO,KAET,OAAOhM,KAAKq8G,iBAAiBrwG,GAAKyqD,WAOpCwlD,SAnBO,aAoBL,IAAMK,EAAKt8G,KAAKq8G,iBAAiBr8G,KAAK7K,OACtC6K,KAAK8H,MAAM,QAASw0G,EAAGF,UAAU,mBAWnCC,iBAhCO,WAgCUrwG,GACf,IAAIswG,EAAK,IAAI,KAAYtwG,GAAO,IAChC,GAAIswG,EAAG7lD,UACL,OAAO6lD,EAETA,EAAK,IAAI,KAAYtwG,GAAO,GAAI,MAChC,OAAOswG,MCpGua,MCOhb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC35G,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,WAAW,SAAWN,EAAIw8G,iBAAiB,QAAUx8G,EAAIi3E,aAAa,KAAOj3E,EAAIg3E,cACxM,GAAkB,GCeP,UAAIt1E,OAAO,CACxBsG,MAAO,CAqBLzV,KAAM4G,MAMNsjH,WAAY,CACVxjH,KAAMgP,OACN6W,QAAS,oBAAMjhB,EAAKxI,EAAE,WASxBqiF,OAAQv+E,MASRujH,cAAe,CACbzjH,KAAMgP,OACN6W,QAAS,cAUX69F,SAAU,CACR1jH,KAAMgP,OACN6W,QAAS,UAIbhd,SAAU,OAAF,sCACH,eAAS,WAAY,CAAC,YACtB,eAAW,YAAa,CAAC,qBAAmB,CAU/Ck1E,UAV+C,aAUtC,WACD9wB,EAAc,GACpBA,EAAK7yD,KAAK,CAAC,SAAU4M,KAAKw8G,aAC1B,IAAEvlC,KAAKj3E,KAAK1N,MAAQ,IAAI,SAACqqH,GACvB,IAAI/lH,EAAO,IAAE7B,IAAI4nH,EAAW,cAAe,IACvCz1G,EAAQ,IAAEnS,IAAI4nH,EAAW,QAAS,IAChCxnH,EAAQ,IAAEJ,IAAI4nH,EAAW,EAAKD,SAAU,GACxCjsG,EAAa,IAAE1b,IAAI4nH,EAAW,EAAKF,cAAe,GACxD,GAAIhsG,EAAY,CACd,IAAMK,EAAM,EAAKC,gBAAgB4rG,EAAU,EAAKF,gBAChD,GAAI3rG,EAAK,CACP5J,EAAQ4J,EAAIpc,KAAK,EAAK4H,QACjB1F,IACHA,EAAOka,EAAIqsC,cAKXvmD,EACEsQ,EACJ++C,EAAK7yD,KAAK,CAAC,CAAE+H,EAAGvE,EAAM6tC,EAAGv9B,GAAS/R,IAElC8wD,EAAK7yD,KAAK,CAACwD,EAAMzB,IAGnBqE,QAAQC,MAAM,8BAA+BkjH,MAGjD,OAAO12D,GAUT+wB,aAhD+C,aAiD7C,IAAM9qB,EAAO,CACX0wD,OAAQ,KACRC,WAAY,YACZC,UAAW,CACTrlC,OAAQz3E,KAAKy3E,SAGbz3E,KAAKy3E,QAAUz3E,KAAKy3E,OAAO3kF,SAC7Bo5D,EAAK4wD,UAAY,CACfrlC,OAAQz3E,KAAKy3E,SAGjB,OAAOvrB,GAUTqwD,iBAvE+C,aAwE7C,MAAO,CACLQ,SAAU,CAAC,YACX35D,SAAUpjD,KAAK1D,aC9J8Z,MCOjb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIyD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,SAAS,CAACyK,MAAM7K,EAAIi9G,UAAU38G,MAAM,CAAC,MAAQN,EAAI04E,MAAM,MAAQ,KAAK,CAACt4E,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIk9G,gBAAgB,GAAG98G,EAAG,OAAO,CAACA,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQN,EAAIk9G,gBAAgB,IAC5R,GAAkB,GCYP,UAAIx7G,OAAO,CACxBsG,MAAO,CAMLkoE,QAASjoE,OAMT68D,kBAAmB78D,OAYnBk1G,gBAAiB,CACflkH,KAAMiP,QACN4W,QAAS,OAGX45D,MAAOxwE,SAETpG,SAAU,CAKRo7G,YALQ,aAMN,GAAIj9G,KAAKiwE,QACP,OAAOjwE,KAAKiwE,QAEd,OAAOjwE,KAAK6kE,mBAOds4C,QAhBQ,aAiBN,IAAKn9G,KAAKk9G,gBACR,OAAO,KAET,GAAIl9G,KAAKo9G,iBAAmBp9G,KAAKq9G,IAC/B,OAAO,MAET,OAAOr9G,KAAKs9G,MAAQt9G,KAAKu9G,MAQ3BC,iBA/BQ,aAgCN,IAAMt2D,EAAQ,OACR0d,EAAkB,KAAO5kE,KAAK6kE,mBACpC,OAAOD,EAAgBuD,KAAKjhB,EAAO,SAQrCk2D,gBA1CQ,aA2CN,QAASp9G,KAAKiwE,SAOhBqtC,KAlDQ,aAmDN,OAAOt9G,KAAKw9G,kBAAoB,GAOlCD,KA1DQ,aA2DN,OAAOv9G,KAAKw9G,iBAAmB,IAOjCH,IAlEQ,aAmEN,OAAOr9G,KAAKw9G,kBAAoB,IAOlCR,UA1EQ,aA2EN,OAAIh9G,KAAKo9G,gBACA,2BACEp9G,KAAKs9G,KACP,QACEt9G,KAAKu9G,KACP,UAEA,OC/Hsa,M,aCQjb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,WACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC3kG,SAAA,OCxB9B,IAAI,GAAS,WAAa,IAAI7Y,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,kBAAkBjB,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAImH,OAAO,KAAK/G,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI09G,aAAa,CAACt9G,EAAG,SAAS,CAACJ,EAAIO,GAAG,qBAAqB,IAAI,GAAGP,EAAI0F,GAAI1F,EAAS,OAAE,SAASoJ,EAAKvW,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAI7C,EAAE0O,YAAY,sBAAsBjB,MAAM,CAAC,KAAO,KAAK,GAAKN,EAAI+8B,MAAQ,IAAI,CAAC38B,EAAG,eAAe,CAACY,MAAM,CAAC5L,MAAO4K,EAAIs4B,MAAMzlC,GAAIoO,SAAS,SAAUC,GAAMlB,EAAIsK,KAAKtK,EAAIs4B,MAAOzlC,EAAmB,kBAARqO,EAAkBA,EAAIE,OAAQF,IAAOG,WAAW,cAAcjB,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,UAAU,GAAG,MAAQ,iBAAiB,KAAO,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI0hG,WAAW7uG,MAAM,CAACuN,EAAG,SAAS,CAACJ,EAAIO,GAAG,mBAAmB,IAAI,OAAM,IACl2B,GAAkB,GCgCP,UAAImB,OAAO,CACxBsG,MAAO,CACL5S,MAAO+D,MACPgO,MAAOc,OACP80B,KAAM,CACJ9jC,KAAM,CAACsG,OAAQ0I,QACf6W,QAAS,IAGbnd,QATwB,aAUlB1B,KAAKq4B,MAAMvlC,OAAS,GACtBkN,KAAKy9G,WAGTnrH,KAdwB,aAetB,MAAO,CACL+lC,MAAOr4B,KAAK7K,OAAS,CAAC,MAG1B2M,MAAO,CACL3M,MADK,WACC+hB,GAGJ,IAAMwmG,EAAgB,eAAIxmG,GACG,IAAzBwmG,EAAc5qH,QAChB4qH,EAActqH,KAAK,IAKhB,IAAE4Z,QAAQhN,KAAKq4B,MAAOqlF,KACzB19G,KAAKq4B,MAAQqlF,IAGjBrlF,MAfK,WAeCnf,GAGJ,IAAMykG,EAAgB,IAAE1iG,QAAF,eAAc/B,IAK/B,IAAElM,QAAQhN,KAAK7K,MAAOwoH,IACzB39G,KAAK8H,MAAM,QAAS61G,KAI1B37G,QAAS,CACPy7G,QADO,aAELz9G,KAAKq4B,MAAMjlC,KAAK,KAElBquG,WAJO,WAII7uG,GACToN,KAAKq4B,MAAMrkC,OAAOpB,EAAG,KAGzBkhB,WAAY,KCxFua,MCOjb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC3R,QAAA,KAAKK,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKC,cAAA,OC3BnD,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAAC8F,WAAW,CAAC,CAACvR,KAAK,OAAOwR,QAAQ,SAAS/Q,MAAM,QAAUiM,WAAW,YAAYf,MAAM,CAAC,MAAQN,EAAImH,OAASnH,EAAIS,GAAG,aAAa,MAAQT,EAAI5K,MAAM,KAAO4K,EAAIo4B,KAAK,kBAAkBp4B,EAAIq4B,eAAe,UAAYr4B,EAAIwH,UAAU,MAAQxH,EAAIqsB,eAAe1rB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI+H,MAAM,QAASnH,IAAS,OAAS,SAASA,GAAQ,OAAOZ,EAAI+H,MAAM,SAAUnH,QACje,GAAkB,GCiBP,UAAIc,OAAO,CACxBsG,MAAO,CACLR,UAAW,CACTvO,KAAMiP,QACN4W,QAAS,OAEX1pB,MAAO6S,OACPd,MAAOc,OACPmwB,KAAM,CACJn/B,KAAMgP,OACN6W,QAAS,SAEXuZ,eAAgBnwB,QAChBZ,MAAOnO,MACPwQ,QAASzB,SAEX3V,KAhBwB,aAiBtB,MAAO,IAETuP,SAAU,CAORuqB,cAPQ,aAOK,WACX,MAAO,GAAP,sBACMpsB,KAAKqH,OAAS,IADpB,CAEE,SAAC2E,GAAD,OAAS,EAAK4xG,iBAAiB5xG,IAAQpO,EAAKxI,EAAE,+BAIpD4M,QAAS,CAOP47G,iBAPO,WAOU5xG,GACf,IAAKA,EACH,OAAO,KAGT,IAAM6xG,EAAW7xG,EAAI2wB,MAAM,KAC3B,GAAIkhF,EAAS/qH,OAAS,EACpB,OAAO,MAET,IAAM4+G,EAAQmM,EAAS,GACjBC,EAAUD,EAAS,GAGzB,GAAInkH,SAASg4G,EAAO,IAAM,IAAMh4G,SAASg4G,EAAO,IAAM,EACpD,OAAO,MAIT,GAAIh4G,SAASokH,EAAS,IAAM,IAAMpkH,SAASg4G,EAAO,IAAM,EACtD,OAAO,MAGT,OAAO,OAGX5vG,MAAO,KCnF0a,MCO/a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACa,cAAA,OCvB9B,IAAI,GAAS,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAAEN,EAAS,MAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,KAAK,CAACmB,YAAY,WAAW,CAACvB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAImH,YAAYnH,EAAI6C,KAAKzC,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,IAAM,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIg+G,YAAY,CAAC59G,EAAG,SAAS,CAACJ,EAAIO,GAAG,UAAU,GAAGH,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,IAAM,IAAIK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIi+G,eAAe,CAAC79G,EAAG,SAAS,CAACJ,EAAIO,GAAG,aAAa,IAAI,GAAGH,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAON,EAAI0F,GAAI1F,EAAS,OAAE,SAASoJ,EAAKvW,GAAG,OAAOuN,EAAG,QAAQ,CAAC1K,IAAI7C,GAAGmN,EAAI0F,GAAI1F,EAAa,WAAE,SAAS8jD,EAAK/vD,GAAG,OAAOqM,EAAG,QAAQ,CAAC1K,IAAIouD,EAAKvnD,OAAOsO,MAAM,CAAEg7B,MAAOie,EAAKje,OAAQvlC,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIS,GAAGqjD,EAAKvnD,QAAQ,MAAQ6M,EAAK06C,EAAKvnD,QAAQ,MAAQ,CAAC,SAAUnB,GAAK,QAASA,GAAK4E,EAAIS,GAAG,oBAAsB,KAAO,IAAI,OAAS,IAAIE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIsN,OAAOza,EAAGixD,EAAKvnD,OAAQqE,IAAS,KAAO,SAASA,GAAQ,OAAOZ,EAAIk+G,QAAQrrH,EAAGkB,QAAQ,MAAK,MAAK,IAAI,IACxkC,GAAkB,GC6CP,UAAI2N,OAAO,CACxBsG,MAAO,CACL5S,MAAO,CACL6D,KAAME,MACN2lB,QAAS,mBAAM,KAEjB3X,MAAOc,QAGTnG,SAAU,OAAF,wBACH,eAAW,WAAY,CAAC,QAAS,YAAa,oBAAkB,CAEnEw2B,MAFmE,aAGjE,IAAMA,EAASr4B,KAAK7K,OAAS,GAC7B,OAAOkjC,KAIXr2B,QAAS,CACPqL,OADO,WACAza,EAAW0J,EAAgBnH,GAChC,IAAM+jB,EAAWnmB,OAAOyI,OAAO,GAAIwE,KAAKq4B,OACpCnf,EAASpmB,OAASF,EAAI,GACxBsmB,EAAS9lB,KAAKu5B,MAEhBzT,EAAStmB,GAAG0J,GAAUnH,EAAMgM,OAC5BnB,KAAK8H,MAAM,QAASoR,IAGtB+kG,QAVO,WAUCC,EAAkBC,GACpBD,IAAal+G,KAAKq4B,MAAMvlC,OAAS,GAE/BqrH,IAAcn+G,KAAKqjD,UAAUvwD,OAAS,GAExCkN,KAAKo+G,mBAKXL,OApBO,aAqBL,GAAI/9G,KAAKq4B,MAAMvlC,OAAS,EAAG,CACzB,IAAMurH,EAAW,IAAEvpF,KAAK90B,KAAKq4B,OAC7B,GAAIr4B,KAAKiM,QAAQoyG,GACf,OAGJ,IAAMnlG,EAAWnmB,OAAOyI,OAAO,GAAIwE,KAAKq4B,OACxCnf,EAAS9lB,KAAKu5B,MACd3sB,KAAK8H,MAAM,QAASoR,IAGtB8kG,UAhCO,aAiCL,GAAIh+G,KAAKq4B,MAAMvlC,QAAU,EACvB,OAEF,IAAMurH,EAAW,IAAEvpF,KAAK90B,KAAKq4B,OAC7B,GAAIr4B,KAAKiM,QAAQoyG,GAAW,CAC1B,IAAMnlG,EAAWnmB,OAAOyI,OAAO,GAAIwE,KAAKq4B,OACxCnf,EAASllB,OAAOklB,EAASpmB,OAAS,EAAG,GACrCkN,KAAK8H,MAAM,QAASoR,KAIxBklG,gBA5CO,aA8CL,IADA,IAAMllG,EAAWnmB,OAAOyI,OAAO,GAAIwE,KAAKq4B,OAC/BzlC,EAAIsmB,EAASpmB,OAAS,EAAGF,GAAK,EAAGA,IAAK,CAC7C,IAAM24B,EAAMrS,EAAStmB,GACjBoN,KAAKiM,QAAQsf,IACfrS,EAASllB,OAAOpB,EAAG,GAGvBoN,KAAK8H,MAAM,QAASoR,IAGtBjN,QAvDO,WAuDCsf,GACN,QAAY9wB,IAAR8wB,EACF,OAAO,KAET,OAAO,IAAE6nB,MAAM,IAAE10C,OAAO6sB,IAAM,SAACpwB,GAAD,MAAa,KAANA,SC3HyZ,MCOhc,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACgH,QAAA,KAAKK,QAAA,KAAKiS,SAAA,KAAM/R,QAAA,KAAKgR,aAAA,OC3BnD,IAAI,GAAS,WAAa,IAAI3T,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIu+G,oBACzH,GAAkB,GCKP,UAAI78G,OAAO,CACxBsG,MAAO,CACL5S,MAAO6S,OACPlV,OAAQ,CACNkG,KAAMsG,OACNuf,QAAS,KAIbhd,SAAU,CACRy8G,eADQ,aAEN,GAA0B,kBAAft+G,KAAK7K,MACd,OAAO6K,KAAK7K,MAEd,GAAI6K,KAAK7K,MAAMrC,OAASkN,KAAKlN,OAC3B,OAAOkN,KAAK7K,MAAMu1D,OAAO,EAAG1qD,KAAKlN,QAAU,MAE7C,OAAOkN,KAAK7K,UCvBga,MCO9a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI4K,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACJ,EAAIO,GAAG,IAAIP,EAAIQ,GAAGR,EAAIw+G,kBAC7H,GAAkB,GCMP,UAAI98G,OAAO,CACxBsG,MAAO,CACL5S,MAAOmK,QAETuC,SAAU,CAKR08G,aALQ,aAMN,IAAKv+G,KAAK7K,MACR,MAAO,GAGT,GAAI6K,KAAK7K,MAAQ,aAAe,EAAG,CACjC,IAAM,GAAU6K,KAAK7K,MAAQ,YAAYu0G,iBACzC,MAAO,GAAP,OAAU,EAAV,YAAoB9rG,EAAKxI,EAAE,oBAG7B,GAAI4K,KAAK7K,MAAQ,WAAa,EAAG,CAC/B,IAAM,GAAU6K,KAAK7K,MAAQ,UAAUu0G,iBACvC,MAAO,GAAP,OAAU,EAAV,YAAoB9rG,EAAKxI,EAAE,eAG7B,GAAI4K,KAAK7K,MAAQ,UAAY,EAAG,CAC9B,IAAM,GAAU6K,KAAK7K,MAAQ,SAASu0G,iBACtC,MAAO,GAAP,OAAU,EAAV,YAAoB9rG,EAAKxI,EAAE,gBAG7B,GAAI4K,KAAK7K,MAAQ,UAAY,EAAG,CAC9B,IAAM,GAAU6K,KAAK7K,MAAQ,SAASu0G,iBACtC,MAAO,GAAP,OAAU,EAAV,YAAoB9rG,EAAKxI,EAAE,mBAG7B,GAAI4K,KAAK7K,MAAQ,SAAW,EAAG,CAC7B,IAAM,GAAU6K,KAAK7K,MAAQ,QAAQu0G,iBACrC,MAAO,GAAP,OAAU,EAAV,YAAoB9rG,EAAKxI,EAAE,gBAG7B,GAAI4K,KAAK7K,MAAQ,SAAW,EAAG,CAC7B,IAAM,GAAU6K,KAAK7K,MAAQ,QAAQu0G,iBACrC,MAAO,GAAP,OAAU,EAAV,YAAoB9rG,EAAKxI,EAAE,iBAG7B,GAAI4K,KAAK7K,MAAQ,QAAU,EAAG,CAC5B,IAAM,GAAU6K,KAAK7K,MAAQ,OAAOu0G,iBACpC,MAAO,GAAP,OAAU,EAAV,YAAoB9rG,EAAKxI,EAAE,kBAG7B,GAAI4K,KAAK7K,MAAQ,OAAS,EAAG,CAC3B,IAAM,GAAU6K,KAAK7K,MAAQ,MAAMu0G,iBACnC,MAAO,GAAP,OAAU,EAAV,YAAoB9rG,EAAKxI,EAAE,mBAG7B,GAAI4K,KAAK7K,MAAQ,MAAS,EAAG,CAC3B,IAAM,GAAU6K,KAAK7K,MAAQ,KAAMu0G,iBACnC,MAAO,GAAP,OAAU,EAAV,YAAoB9rG,EAAKxI,EAAE,gBAG7B,GAAI4K,KAAK7K,MAAQ,MAAQ,EAAG,CAC1B,IAAM,GAAU6K,KAAK7K,MAAQ,KAAKu0G,iBAClC,MAAO,GAAP,OAAU,EAAV,YAAoB9rG,EAAKxI,EAAE,kBAG7B,IAAM6X,EAASjN,KAAK7K,MAAMu0G,iBAC1B,MAAO,GAAP,OAAUz8F,EAAV,YAAoBrP,EAAKxI,EAAE,0BCxE+Y,MCO5a,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI2K,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACmB,YAAY,OAAOjB,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,UAAYN,EAAIwH,UAAU,KAAOxH,EAAIo4B,KAAK,QAAUp4B,EAAI2J,QAAQ,MAAQ3J,EAAImH,MAAM,kBAAkBnH,EAAIq4B,eAAe,cAAcr4B,EAAI2H,WAAW,SAAW3H,EAAI0H,SAAS,eAAe1H,EAAI4H,YAAY,OAAS5H,EAAIkuC,OAAO,MAAQluC,EAAIsH,MAAM,SAAWtH,EAAIyH,UAAU9G,GAAG,CAAC,KAAOX,EAAI+2G,MAAM/1G,MAAM,CAAC5L,MAAO4K,EAAiB,cAAEiB,SAAS,SAAUC,GAAMlB,EAAI08B,cAAcx7B,GAAKG,WAAW,oBAAoB,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIg3G,aAAa,SAAWh3G,EAAIyH,UAAU9G,GAAG,CAAC,KAAOX,EAAI+2G,MAAM/1G,MAAM,CAAC5L,MAAO4K,EAAS,MAAEiB,SAAS,SAAUC,GAAMlB,EAAIi3G,MAAM/1G,GAAKG,WAAW,YAAY,IAAI,IAC5zB,GAAkB,GCiCjB,IAAL,SAAK61G,GACH,kCACA,0BACA,sBACA,4BACA,0BACA,wBACA,sBACA,4BACA,sBACA,qBACA,gCAXF,CAAK,QAAK,KAaV,IAAM,GAAW,CACf,GAAMuH,WACN,GAAMC,OACN,GAAMC,KACN,GAAMC,QACN,GAAMC,OACN,GAAMC,MACN,GAAMC,KACN,GAAMC,QACN,GAAMC,KACN,GAAMC,IACN,GAAMC,UAGO,UAAIz9G,OAAO,CACxBsG,MAAO,CACL5S,MAAOmK,OACPiI,UAAWU,QACXf,MAAOc,OACPmwB,KAAMnwB,OACNimC,OAAQjmC,OACRR,SAAUS,QACVR,SAAUQ,QACVmwB,eAAgBnwB,QAChBN,YAAaM,QACbP,WAAYO,QACZyB,QAASzB,QACTZ,MAAOnO,OAET5G,KAfwB,aAgBtB,MAAO,CACLmqC,cAAe,EACfu6E,MAAO,GAAMwH,aAGjBr2G,QArBwB,aAsBtBnI,KAAKu3G,oBAAoBv3G,KAAK7K,QAEhC0M,SAAU,CAKRk1G,aALQ,aAMN,OAAO,GAAS1gH,KAAI,SAACu1D,GACnB,IAAM4rD,EAAiB,UAAY,GAAM5rD,GAAGjY,cAC5C,MAAO,CACLx+C,MAAOy2D,EACPnjD,KAAM7K,EAAKxI,EAAEoiH,GAAgB1rG,iBAKrChK,MAAO,CACL3M,MADK,WACC4M,GACJ/B,KAAKu3G,oBAAoBx1G,KAG7BC,QAAS,CAOPu1G,oBAPO,WAOargG,GAClBlX,KAAKy8B,cAAgBvlB,EACrBlX,KAAKg3G,MAAQ,GAAMwH,WACnBx+G,KAAK6gF,UAQPi2B,KAlBO,aAmBL92G,KAAK6gF,SACL,IAAM70E,EAAMhM,KAAKm/G,aAAan/G,KAAKy8B,cAAez8B,KAAKg3G,OACvDh3G,KAAK8H,MAAM,QAASkE,IAStB60E,OA9BO,aA+BL,IAAMu+B,EAAap/G,KAAKm/G,aAAan/G,KAAKy8B,cAAez8B,KAAKg3G,OAC9D,GAAIoI,EAAa,aAAe,EAAG,CACjCp/G,KAAKy8B,cAAgB2iF,EAAa,WAClCp/G,KAAKg3G,MAAQ,GAAMkI,cACd,GAAIE,EAAa,WAAa,EAAG,CACtCp/G,KAAKy8B,cAAgB2iF,EAAa,SAClCp/G,KAAKg3G,MAAQ,GAAMiI,SACd,GAAIG,EAAa,UAAY,EAAG,CACrCp/G,KAAKy8B,cAAgB2iF,EAAa,QAClCp/G,KAAKg3G,MAAQ,GAAMgI,UACd,GAAII,EAAa,UAAY,EAAG,CACrCp/G,KAAKy8B,cAAgB2iF,EAAa,QAClCp/G,KAAKg3G,MAAQ,GAAM+H,aACd,GAAIK,EAAa,SAAW,EAAG,CACpCp/G,KAAKy8B,cAAgB2iF,EAAa,OAClCp/G,KAAKg3G,MAAQ,GAAM8H,UACd,GAAIM,EAAa,SAAW,EAAG,CACpCp/G,KAAKy8B,cAAgB2iF,EAAa,OAClCp/G,KAAKg3G,MAAQ,GAAM6H,WACd,GAAIO,EAAa,QAAU,EAAG,CACnCp/G,KAAKy8B,cAAgB2iF,EAAa,MAClCp/G,KAAKg3G,MAAQ,GAAM4H,YACd,GAAIQ,EAAa,OAAS,EAAG,CAClCp/G,KAAKy8B,cAAgB2iF,EAAa,KAClCp/G,KAAKg3G,MAAQ,GAAM2H,aACd,GAAIS,EAAa,MAAS,EAAG,CAClCp/G,KAAKy8B,cAAgB2iF,EAAa,IAClCp/G,KAAKg3G,MAAQ,GAAM0H,UACd,GAAIU,EAAa,MAAQ,EAAG,CACjCp/G,KAAKy8B,cAAgB2iF,EAAa,IAClCp/G,KAAKg3G,MAAQ,GAAMyH,WACd,CACLz+G,KAAKy8B,cAAgB2iF,EACrBp/G,KAAKg3G,MAAQ,GAAMwH,aAQvBW,aAxEO,WAwEMnzG,EAAa2rG,GACxB,OAAQA,GACN,KAAK,GAAMuH,SACT,OAAa,WAANlzG,EACT,KAAK,GAAMizG,IACT,OAAa,SAANjzG,EACT,KAAK,GAAMgzG,KACT,OAAa,QAANhzG,EACT,KAAK,GAAM+yG,QACT,OAAa,QAAN/yG,EACT,KAAK,GAAM8yG,KACT,OAAa,OAAN9yG,EACT,KAAK,GAAM6yG,MACT,OAAa,OAAN7yG,EACT,KAAK,GAAM4yG,OACT,OAAa,MAAN5yG,EACT,KAAK,GAAM2yG,QACT,OAAa,KAAN3yG,EACT,KAAK,GAAM0yG,KACT,OAAa,IAAN1yG,EACT,KAAK,GAAMyyG,OACT,OAAa,IAANzyG,EACT,QACE,OAAOA,OCxMoa,MCOjb,GAAY,gBACd,GACA,GACA,GACA,MACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACxJ,QAAA,KAAKE,QAAA,KAAKujB,WAAA,KAAQtjB,cAAA,O,yCCdhD,OAAIxF,OAAOkiH,cAAgB,MAgE3B,OAAI1uD,UAAU,mBAAoB2uD,IAClC,OAAI3uD,UAAU,aAAc4uD,IAC5B,OAAI5uD,UAAU,aAAc6uD,IAC5B,OAAI7uD,UAAU,2BAA4B8uD,IAC1C,OAAI9uD,UAAU,sBAAuBw7C,IACrC,OAAIx7C,UAAU,kBAAmB+uD,IACjC,OAAI/uD,UAAU,mBAAoBgvD,IAClC,OAAIhvD,UAAU,kBAAmBivD,IACjC,OAAIjvD,UAAU,mBAAoBkvD,IAClC,OAAIlvD,UAAU,oBAAqBmvD,IACnC,OAAInvD,UAAU,oBAAqBovD,IACnC,OAAIpvD,UAAU,iBAAkBqvD,IAChC,OAAIrvD,UAAU,qBAAsBsvD,IACpC,OAAItvD,UAAU,kBAAmBuvD,IACjC,OAAIvvD,UAAU,gBAAiBwvD,IAC/B,OAAIxvD,UAAU,qBAAsByvD,IACpC,OAAIzvD,UAAU,kBAAmB0vD,IACjC,OAAI1vD,UAAU,YAAa2vD,IAC3B,OAAI3vD,UAAU,OAAQ,IACtB,OAAIA,UAAU,kBAAmB4vD,IACjC,OAAI5vD,UAAU,uBAAwB6vD,IACtC,OAAI7vD,UAAU,iBAAkB8vD,IAChC,OAAI9vD,UAAU,qBAAsB+vD,IACpC,OAAI/vD,UAAU,0BAA2BgwD,IACzC,OAAIhwD,UAAU,gBAAiBiwD,IAC/B,OAAIjwD,UAAU,qBAAsBkwD,IACpC,OAAIlwD,UAAU,WAAYmwD,IAC1B,OAAInwD,UAAU,gBAAiBowD,IAC/B,OAAIpwD,UAAU,iBAAkBqwD,IAChC,OAAIrwD,UAAU,iBAAkBswD,IAChC,OAAItwD,UAAU,aAAcuwD,IAC5B,OAAIvwD,UAAU,YAAawwD,IAC3B,OAAIxwD,UAAU,sBAAuBywD,IACrC,OAAIzwD,UAAU,gBAAiB0wD,IAC/B,OAAI1wD,UAAU,oBAAqB2wD,IACnC,OAAI3wD,UAAU,4BAA6B4wD,IAC3C,OAAI5wD,UAAU,sBAAuB6wD,IACrC,OAAI7wD,UAAU,4BAA6B8wD,IAC3C,OAAI9wD,UAAU,8BAA+B+wD,IAC7C,OAAI/wD,UAAU,gBAAiBgxD,IAC/B,OAAIhxD,UAAU,WAAYixD,IAC1B,OAAIjxD,UAAU,cAAekxD,IAC7B,OAAIlxD,UAAU,WAAYmxD,IAC1B,OAAInxD,UAAU,gBAAiBoxD,IAC/B,OAAIpxD,UAAU,2BAA4BqxD,IAC1C,OAAIrxD,UAAU,kBAAmBsxD,IACjC,OAAItxD,UAAU,kBAAmBuxD,IACjC,OAAIvxD,UAAU,0BAA2BwxD,IACzC,OAAIxxD,UAAU,0BAA2ByxD,IACzC,OAAIzxD,UAAU,SAAU0xD,IACxB,OAAI1xD,UAAU,cAAe2xD,IAC7B,OAAI3xD,UAAU,aAAc4xD,IAC5B,OAAI5xD,UAAU,cAAe6xD,IAC7B,OAAI7xD,UAAU,cAAe8xD,IAC7B,OAAI9xD,UAAU,YAAa+xD,IAC3B,OAAI/xD,UAAU,6BAA8BgyD,IAC5C,OAAIhyD,UAAU,WAAYiyD,IAC1B,OAAIjyD,UAAU,SAAUkyD,IACxB,OAAIlyD,UAAU,cAAemyD,IAK7B,IAAMC,GAAc,IAAQhuH,IAAI,EAAgBwC,iBAC1CquC,GAAQm9E,IAA+B,SAAhBA,GAE7B,OAAI/mH,IAAI,QAER,IAAMgnH,GAAU,IAAI,OAAQ,CAC1BC,MAAO,CACLC,SAAU,MAEZxvD,IAAK9tB,GACLu9E,MAAO,CACLC,OAAQ,CACNxX,KAAM,CACJ75E,QAAS,UACTsxF,OAAQ,UACRC,UAAW,UACXC,QAAS,UACTC,KAAM,UACNC,QAAS,UACThqH,MAAO,WAETsyG,MAAO,CACLh6E,QAAS,UACTsxF,OAAQ,UACRC,UAAW,UACXC,QAAS,UACTC,KAAM,UACNC,QAAS,UACThqH,MAAO,eAOf,OAAIuC,IAAI,MAGR,OAAIA,IAAI,eAER,OAAI0nH,MAAM,CACR1hH,QAAS,CAYP+tD,SAZO,WAYE4zD,GAAsC,IAAnBhmF,EAAmB,uDAAX,EAC5BloC,EAAM,UAAiBkuH,EAAP,IAAVhmF,EAAA,uBACZ,MAAO,GAAP,OAAU//B,EAAKxI,EAAEK,QAKR,wBAAI,OAAG,6BACpBonG,OAAA,GACA79F,MAAA,GACApB,QACG,CAAEolH,aAAS,CACdY,OAAQ,WAAC5qG,GAAD,OAAOA,EAAE6qG,QAChBC,OAAO,S,yDC7MV,0B,kCCAA,0B,mCCAA,0B,kCCAA,0B,kCCAA,yBAA8Q,eAAG,G,0iBCAjR,0B","file":"js/app.e26fae83.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./PunishmentTypeSelector.vue?vue&type=style&index=0&lang=css&\"","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./GeographySelector.vue?vue&type=style&index=0&lang=css&\"","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./ChargeForm.vue?vue&type=style&index=0&lang=css&\"","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./NewLocaleMessageDialog.vue?vue&type=style&index=0&id=b8aa6ba6&scoped=true&lang=css&\"","var map = {\n\t\"./en.json\": \"edd4\",\n\t\"./fa.json\": \"15ad\",\n\t\"./ps.json\": \"afab\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"49f8\";","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./AFNCurrencyField.vue?vue&type=style&index=0&lang=css&\"","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./UserAuditReport.vue?vue&type=style&index=0&id=22023296&scoped=true&lang=css&\"","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./LocaleDateRange.vue?vue&type=style&index=0&lang=css&\"","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"en\":{\"login\":\"Login\",\"username\":\"Username\",\"password\":\"Password\"},\"fa\":{\"login\":\"ورود\",\"username\":\"نام کاربری\",\"password\":\"کلمه عبور\"},\"ps\":{\"login\":\"د ننه کیدل\",\"username\":\"کارن نوم\",\"password\":\"رمز\"}}')\n delete Component.options._Ctor\n}\n","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./LocaleMessageList.vue?vue&type=style&index=0&id=36ec2a44&scoped=true&lang=css&\"","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./ProsecutorSearchSelector.vue?vue&type=style&index=0&lang=css&\"","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./PartySearchSelector.vue?vue&type=style&index=0&lang=css&\"","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./ClassificationScoreSlider.vue?vue&type=style&index=0&id=ca8c4ebc&scoped=true&lang=css&\"","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./AttorneySelector.vue?vue&type=style&index=0&lang=css&\"","const variables = {\n DEFAULT_LOCALE: 'fa',\n LOCALE_COOKIE_NAME: 'cmslocale',\n RTL_COOKIE_NAME: 'cmsrtl',\n};\n\nexport default variables;\n","const state = {\n snackbar: {\n message: '',\n isOpen: false,\n colorClass: 'info',\n },\n};\n\nconst getters = {\n snackbarMessage(state): string {\n return state.snackbar.message;\n },\n snackbarIsOpen(state): boolean {\n return state.snackbar.isOpen;\n },\n snackbarColorClass(state): string {\n return state.snackbar.colorClass;\n },\n};\n\nconst mutations = {\n setSnackbarMessage(state, message: string) {\n state.snackbar.message = message;\n },\n\n openSnackbarSuccess(state): void {\n state.snackbar.isOpen = true;\n state.snackbar.colorClass = 'success';\n },\n\n openSnackbarError(state): void {\n state.snackbar.isOpen = true;\n state.snackbar.colorClass = 'error';\n },\n\n openSnackbarInfo(state): void {\n state.snackbar.isOpen = true;\n state.snackbar.colorClass = 'info';\n },\n\n setSnackbarClosed(state): void {\n state.snackbar.isOpen = false;\n },\n};\n\nconst actions = {\n showSnackbarSuccess({ commit, dispatch }, message: string): void {\n commit('setSnackbarMessage', message);\n commit('openSnackbarSuccess');\n },\n\n showSnackbarError({ commit, dispatch }, message: string): void {\n commit('setSnackbarMessage', message);\n commit('openSnackbarError');\n },\n\n showSnackbarInfo({ commit, dispatch }, message: string): void {\n commit('setSnackbarMessage', message);\n commit('openSnackbarInfo');\n },\n\n closeSnackbar({ commit }): void {\n commit('setSnackbarClosed');\n },\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","import _ from 'lodash';\nimport Vue from 'vue';\nimport { MutationTree } from 'vuex';\n\n/**\n * modelsToState converts an array of domain models to a state object\n * that can be passed to the setState mutation. For an array\n * of Escape objects, modelsToState('escape', escapes) returns\n *\n * {\n * escape: {\n * 34: {\n * id: 34,\n * offenderID: 1,\n * housingFacilityID: 1,\n * ....\n * }\n * }\n * }\n *\n * Objects are keyed using the `id` property by default, but\n * this can be overridden by providing a different property\n * as the third argument. For example LocaleMessages don't\n * have integer ids:\n *\n * modelsToState('localeMessage', messages, 'key') returns\n *\n * {\n * localeMessage: {\n * \"escape.housingFacility\": {\n * key: \"escape.housingFacility\",\n * message: {\n * en: \"Housing Facility\",\n * ...\n * }\n * }\n * }\n * }\n */\nexport function modelsToState(\n type: string,\n models: any[],\n key: string = 'id',\n): any {\n if (!Array.isArray(models)) {\n models = [models];\n } // if any model sent to this function isn't an array, this makes them one\n const newState = {};\n newState[type] = _.keyBy(models, key);\n return newState;\n}\n\n/**\n * firstModelIDInState retrieves the first entity ID in the provided state\n * for a particular domain model type (e.g. the first Prosecutor in the state).\n *\n * Example usage:\n *\n * const newState = response.data.data;\n * const newID = firstModelIDInState(newState, 'prosecutor');\n *\n * @param state A domain model state object\n * @param type The (string) domain type for which we want the first ID\n */\nexport function firstModelIDInState(state: any, type: string): number {\n const modelState = _.get(state, type);\n if (!modelState) {\n console.error(`firstModelIDInState found no ${type} in state`);\n return 0;\n }\n const keys = Object.keys(modelState);\n if (keys.length < 1) {\n console.error(\n `firstModelIDInState found no entities of type '${type}' in state`,\n );\n return 0;\n }\n return parseInt(keys[0], 10);\n}\n\n/**\n * domainModelMutations provides several universal mutations\n * that can be imported into any store\n */\nexport const domainmodelMutations: MutationTree = {\n /**\n * setState is a generic mutation which does a deep assignment of any number\n * of properties in the state. Calling setState with this object:\n *\n * {\n * \"leave\": { \"45\": { \"id\": 45, \"offenderID\": 23, ... } },\n * \"offender\": { \"23\": { \"id\": 23, \"custodyStatus\", ... } }\n * }\n *\n * Would update both the leave and offender lookup tables in\n * the Vuex state.\n *\n * NOTE: Top-level keys in newState that don't already exist in\n * state are quietly ignored. This is done to allow calling this\n * function on multiple stores with newState that might affect\n * more than one Vuex store.\n */\n setState(state, newState): void {\n const isObject = (obj: any): boolean => {\n return obj && typeof obj === 'object' && !Array.isArray(obj);\n };\n\n // deepAssign iterates over each item in newObj. If newState\n // and oldObj both hold a complex object at that address, it\n // recurses down another level with the same behavior up until\n // maxLevel. Once maxLevel is reached, or when non-complex\n // values are encountered, it overwrites the entire\n // key in the destination instead of copying prop-by-prop\n // recursively.\n const deepAssign = (oldObj, newObj, level, maxLevel) => {\n for (const key of Object.keys(newObj)) {\n if (!oldObj.hasOwnProperty(key) && level === 0) {\n console.error(`setState mutation is attempting to set \"${key}\" which is not\n defined in the Vuex state. Forgot to create it? Typo?`);\n continue;\n }\n const source = newObj[key];\n const target = oldObj[key];\n if (isObject(source) && isObject(target) && level < maxLevel) {\n deepAssign(target, source, level + 1, maxLevel);\n } else {\n Vue.set(oldObj, key, source);\n }\n }\n };\n\n deepAssign(state, newState, 0, 1);\n },\n\n /**\n * setTarget is a generic mutation which is a thin wrapper\n * around a Vue.set() call. This mutation is similar to\n * setState, but with more fine-grained control. Where\n * setState can set any number of properties, setTarget\n * sets a single value.\n *\n * The three parameters target,\n * index (optional) and value correspond to the parameters\n * from the Vue.set docs: https://vuejs.org/api/#Vue-set.\n *\n * This is easiest to understand from an example.\n * Given the following state:\n *\n * state = {\n * escape: { [id: number}: Escape },\n * escapeIDsForOffender: { [offenderID: number]: number[] }\n * }\n *\n * Calling:\n *\n * setTarget({\n * target: 'escapeIDsForOffender',\n * index: 45, // The ID for the current offender\n * value: [1,2,3], // Array of escapes from the server\n * })\n *\n * Would have the same effect as:\n *\n * state.escapeIDsForOffender[45] = [1,2,3];\n *\n * The key parameter can be omitted to set a value in the\n * top-level of the state. Consider a different structure:\n *\n * state = {\n * crime: { [id: number]: Crime },\n * crimeIDs: [] as number[],\n * };\n *\n * In this case, you would omit the key parameter, so\n * calling:\n *\n * setTarget({ target: 'crimeIDs', value: [1,2,3] });\n *\n * would have the same effect as:\n *\n * state.crimeIDs = [1,2,3];\n *\n */\n setTarget(state, payload: { target: string; index: any; value: any }): void {\n if (payload.target === null || payload.target === undefined) {\n console.error('setTarget called without target');\n return;\n }\n if (!state.hasOwnProperty(payload.target)) {\n console.error(\n `Target \"${payload.target}\" does not exist in Vuex. Forgot to create it? Typo?`,\n );\n return;\n }\n if (payload.value === null || payload.value === undefined) {\n console.error('setTarget called without value');\n return;\n }\n if (payload.index === null || payload.index === undefined) {\n Vue.set(state, payload.target, payload.value);\n } else {\n Vue.set(state[payload.target], payload.index, payload.value);\n }\n },\n\n /**\n * appendToTarget is a generic mutation which is a thin\n * wrapper around a Vue.set call. See: https://vuejs.org/api/#Vue-set\n *\n * The parameters target, index, and value work similarly to Vue.set,\n * except the value parameter, which will be merged to the end\n * of any existing array value (removing duplicates).\n *\n * As with the setTarget() mutation, the index parameter can be\n * omitted, indicating a mutation to a top-level array directly.\n *\n * The value parameter can be given a single value or an array.\n */\n appendToTarget(\n state,\n payload: { target: string; index: any; value: any },\n ): void {\n if (payload.target === null || payload.target === undefined) {\n console.error('appendToTarget called without target');\n return;\n }\n if (!state.hasOwnProperty(payload.target)) {\n console.error(\n `Target \"${payload.target}\" does not exist in Vuex. Forgot to create it? Typo?`,\n );\n return;\n }\n if (payload.value === null || payload.value === undefined) {\n console.error('appendToTarget called without value');\n return;\n }\n // Ensure value is wrapped in an array\n const newValues = Array.isArray(payload.value)\n ? payload.value\n : [payload.value];\n\n // Prevent appending objects to ID array indices\n if (typeof newValues[0] === 'object' && payload.target.includes('IDs')) {\n console.error(\n 'appendToTarget called with an array of objects. ' +\n 'Expected ID primitives. ' +\n 'Did you use Object.values() instead of Object.keys()?',\n );\n return;\n }\n\n if (payload.index === null || payload.index === undefined) {\n // If no index was provided, the target itself holds the array\n const oldValues = state[payload.target] || [];\n if (_.isObject(oldValues) && !_.isArray(oldValues)) {\n console.error(\n `appendToTarget is unable to append ${payload.value} to ${payload.target}[undefined]. Undefined index supplied for an object.`,\n );\n return;\n }\n Vue.set(state, payload.target, _.uniq([...oldValues, ...newValues]));\n } else {\n // If an index was provided, the array is keyed inside the target variable\n const oldValues = state[payload.target][payload.index] || [];\n if (_.isObject(oldValues) && !_.isArray(oldValues)) {\n console.error(\n `appendToTarget is unable to append ${payload.value} to ${payload.target}[undefined]. Undefined index supplied for an object.`,\n );\n }\n Vue.set(\n state[payload.target],\n payload.index,\n _.uniq([...oldValues, ...newValues]),\n );\n }\n },\n\n /**\n * prependToTarget is a generic mutation which is a thin\n * wrapper around a Vue.set call. See: https://vuejs.org/api/#Vue-set\n *\n * The parameters target, index, and value work similarly to Vue.set,\n * except the value parameter, which will be merged to the beginning\n * of any existing array value (removing duplicates).\n *\n * As with the setTarget() mutation, the index parameter can be\n * omitted, indicating a mutation to a top-level array directly.\n *\n * The value parameter can be given a single value or an array.\n */\n prependToTarget(\n state,\n payload: { target: string; index: any; value: any },\n ): void {\n // Convert bad input into helpful error messages\n if (payload.target === null || payload.target === undefined) {\n console.error('prependToTarget called without target');\n return;\n }\n if (payload.value === null || payload.value === undefined) {\n console.error('prependToTarget called without value');\n return;\n }\n if (!state.hasOwnProperty(payload.target)) {\n console.error(\n `Target \"${payload.target}\" does not exist in Vuex. Forgot to create it? Typo?`,\n );\n return;\n }\n\n // Ensure value is wrapped in an array\n const newValues = Array.isArray(payload.value)\n ? payload.value\n : [payload.value];\n\n // Prevent prepending objects to ID array indices\n if (typeof newValues[0] === 'object' && payload.target.includes('IDs')) {\n console.error(\n 'prependToTarget called with an array of objects. ' +\n 'Expected ID primitives. ' +\n 'Did you use Object.values() instead of Object.keys()?',\n );\n return;\n }\n\n // Assign the new state\n if (payload.index === null || payload.index === undefined) {\n // If no key was provided, the index itself holds the array\n const oldValues = state[payload.target] || [];\n if (_.isObject(oldValues) && !_.isArray(oldValues)) {\n console.error(\n `prependToTarget is unable to prepend ${payload.value} to ${payload.target}[undefined]. Undefined index supplied for an object.`,\n );\n return;\n }\n Vue.set(state, payload.target, _.uniq([...newValues, ...oldValues]));\n } else {\n // If a key was provided, the array is keyed inside the index variable\n const oldValues = state[payload.target][payload.index] || [];\n Vue.set(\n state[payload.target],\n payload.index,\n _.uniq([...newValues, ...oldValues]),\n );\n }\n },\n\n removeFromTarget(\n state,\n payload: { target: string; index: any; value: any },\n ): void {\n // Convert bad input into helpful error messages\n if (payload.target === null || payload.target === undefined) {\n console.error('removeFromTarget called without target');\n return;\n }\n if (payload.value === null || payload.value === undefined) {\n console.error('removeFromTarget called without value');\n return;\n }\n if (!state.hasOwnProperty(payload.target)) {\n console.error(\n `Target \"${payload.target}\" does not exist in Vuex. Forgot to create it? Typo?`,\n );\n return;\n }\n\n if (payload.index === null || payload.index === undefined) {\n const oldValues = state[payload.target] || [];\n const newValues = _.reject(oldValues, (v) => v == payload.value); // tslint:disable-line:triple-equals\n\n Vue.set(state, payload.target, newValues);\n } else {\n // If an index was provided, the array is keyed inside the target variable\n const oldValues = state[payload.target][payload.index] || [];\n const newValues = _.reject(oldValues, (v) => v == payload.value); // tslint:disable-line:triple-equals\n\n if (_.isObject(oldValues) && !_.isArray(oldValues)) {\n console.error(\n `removeFromTarget is unable to remove ${payload.value} from ${payload.target}[${payload.index}]. Undefined index supplied for an object.`,\n );\n }\n\n Vue.set(state[payload.target], payload.index, newValues);\n }\n },\n\n createIndex(state, payload: { target: string; data: any; indexKey: string }) {\n // Convert bad input into helpful error messages\n if (payload.target === null || payload.target === undefined) {\n console.error('createIndex called without target');\n return;\n }\n if (!state.hasOwnProperty(payload.target)) {\n console.error(\n `Target \"${payload.target}\" does not exist in Vuex (trying to createIndex). Forgot to create it? Typo?`,\n );\n return;\n }\n\n const withIDs = _.mapValues(payload.data, (entity, key) => {\n return Object.assign({}, entity, {\n id: key, // There is very likely already an id property that matches key, but just to make sure\n });\n });\n const groups = _.groupBy(withIDs, payload.indexKey);\n const groupsWithIDs = _.mapValues(groups, (entities) => {\n return _.map(entities, 'id');\n });\n _.forEach(groupsWithIDs, (idArray, index) => {\n Vue.set(state[payload.target], index, idArray);\n });\n },\n};\n","import Vue from 'vue';\nimport VueI18n, { LocaleMessages } from 'vue-i18n';\n\nVue.use(VueI18n);\n\nfunction loadLocaleMessagesFromDisk(): LocaleMessages {\n const locales = require.context(\n './locales',\n true,\n /[A-Za-z0-9-_,\\s]+\\.json$/i,\n );\n const messages: LocaleMessages = {};\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i);\n if (matched && matched.length > 1) {\n const locale = matched[1];\n messages[locale] = locales(key);\n }\n });\n return messages;\n}\n\nexport default new VueI18n({\n locale: process.env.VUE_APP_I18N_LOCALE || 'en',\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'en',\n messages: loadLocaleMessagesFromDisk(),\n});\n","import _ from 'lodash';\nimport axios, { AxiosInstance, AxiosRequestConfig } from 'axios';\n\nimport i18n from '@/i18n';\nimport store from '@/vuex/store';\n\nconst API_BASE = process.env.VUE_APP_API_BASE || '/api/v1/';\n\n/*******************************************************************************\n * addAuthInterceptors intercepts requests and responses for authorization\n * purposes.\n *\n * For requests, it adds a JWT Bearer token to the Authorization header.\n * For responses, it catches auth-related failures and updates local auth\n * state to reflect the failure.\n *\n */\nexport function addAuthInterceptors(axios: AxiosInstance): void {\n axios.interceptors.request.use(authRequestInterceptor);\n\n axios.interceptors.response.use(\n // Any 2XX status codes hit this code path. We don't modify these\n // responses, so we just return the original response.\n (response) => {\n return response;\n },\n // Any non-2XX status codes hit this code path. We catch certain\n // errors and process them globally.\n authorizationResponseErrorInterceptor,\n );\n}\n\n/*******************************************************************************\n * authorizationRequestInterceptor is an Axios interceptor which adds an\n * Authorization header with a Bearer token taken from the auth Vuex store.\n * To avoid failures parsing a blank token server-side, no header is added (i.e\n * this interceptor does nothing) if the auth store does not have a token.\n *\n */\nexport function authRequestInterceptor(\n config: AxiosRequestConfig,\n): AxiosRequestConfig {\n const token = store.state.auth.token;\n if (token) {\n config.headers = config.headers || {}; // Ensure config.headers is defined\n config.headers.Authorization = 'Bearer ' + token;\n }\n return config;\n}\n\n/*******************************************************************************\n * authorizationResponseErrorInterceptor is an Axios response interceptor which\n * catches response errors which indicate an authorization failure and updates\n * the Vuex store to reflect them.\n */\nexport function authorizationResponseErrorInterceptor(error: any): any {\n if (error.response) {\n // 401 - Unauthorized Response, Login Required\n if (error.response.status === 401) {\n const resp = error.response;\n\n // Detect the authentication error format and update the store's state\n // to indicate to the user what the error was.\n if (resp.data && resp.data.errors && resp.data.errors.length > 0) {\n // Return the whole error object to the state, since the FormError component\n // handles/translates these properly.\n store.commit('auth/setError', error);\n }\n\n // TODO - Potentially too aggressive. It's fine when 401 Unauthorized\n // is only returned by login, but eventually we might have a permissions\n // mismatch, where we let a user *attempt* to make an API request that the\n // server rejects with a 401 Unauthorized response... we don't really need\n // to log the user out in that circumstance.\n store.dispatch('auth/logout');\n }\n\n // 403 - Forbidden, Re-Logging in won't help\n if (error.response.status === 403) {\n const code = _.get(error, 'response.data.errors[0].code', 'Forbidden');\n const msg = i18n.t(code);\n if (window && window.location && window.location.pathname !== '/login') {\n store.dispatch('application/showSnackbarError', msg);\n }\n }\n }\n\n // Pass the failure on to the calling function.\n return Promise.reject(error);\n}\n\n/*******************************************************************************\n * Export the default Axios instance using the standard interceptors.\n */\nconst api = axios.create({ baseURL: `${API_BASE}` });\naddAuthInterceptors(api);\nexport default api;\n","import axios from 'axios';\n\nimport api, { addAuthInterceptors } from '@/api';\n\nconst attachmentAPI = axios.create({\n baseURL: `${api.defaults.baseURL}attachmentservice/`,\n});\naddAuthInterceptors(attachmentAPI);\nexport default attachmentAPI;\n","import _ from 'lodash';\nimport { domainmodelMutations } from '@/lib/vuex-domainmodel';\nimport attachmentAPI from './attachmentAPI';\n\nexport interface Attachment {\n id?: number;\n entityType: string;\n entityID: number;\n location?: string;\n label: string;\n mimeType: string;\n fileSize?: number;\n fileNameOriginal: string;\n thumbnailURI?: string;\n uri?: string;\n uploadedAt: string | Date | null;\n isDeleted: boolean;\n}\n\nconst state = {\n attachment: {} as { [id: number]: Attachment },\n};\n\nconst getters = {\n attachmentsForEntity:\n (state) =>\n (entityType: string, entityID: number, location = ''): Attachment[] => {\n const attachments = (Object.values(state.attachment) ||\n []) as Attachment[];\n return _.chain(attachments)\n .filter((a) => {\n return (\n a.entityType === entityType &&\n a.entityID === entityID &&\n a.location === location\n );\n })\n .sortBy((a) => a.uploadedAt)\n .value() as Attachment[];\n },\n};\n\nconst mutations = {\n ...domainmodelMutations,\n};\n\nconst actions = {\n async fetchAttachments(\n { commit },\n payload = {} as { entityType: string; entityID: number; location: string },\n ): Promise {\n const response = await attachmentAPI.get(\n `/attachments/${payload.entityType}/${payload.entityID}?location=${payload.location}`,\n );\n const newState = response.data.data;\n commit('setState', newState);\n return Promise.resolve();\n },\n};\n\nconst store = {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\nexport default store;\n","import store from '@/vuex/store';\n\n/******************************************************************************\n * Navigation Guards\n *\n * The functions below are Vue Navigation guards\n * https://router.vuejs.org/guide/advanced/navigation-guards.html\n *\n * They are code that runs immediately prior to the Vue router navigating to a\n * new URL. This happens both for \"full page\" loads (as when the user hard-\n * refreshes the current page or navigates to a page for the first time)... and\n * when the user clicks an internal application link.\n */\n\n/**\n * fetchCaseFirst retrieves the basic data needed for all Court Case-related\n * pages.\n *\n * @param to the target Route Object being navigated to\n * see: https://router.vuejs.org/api/#the-route-object\n * @param from the current route being navigated away from\n * @param next this function must be called to resolve the hook\n */\nexport async function fetchCaseFirst(to, from, next): Promise {\n // Navigate right away... pages should implement loading logic while they\n // wait for the Case and Dossier to load.\n next();\n\n if (to.params.id) {\n const id = Number(to.params.id);\n let kase = null as any;\n\n // Fetch the Case\n try {\n await store.dispatch('court/fetchCase', id);\n kase = store.getters['court/caseWithID'](id);\n } catch (e) {\n if (e.message.match(/404|500/)) {\n store.dispatch(\n 'application/showSnackbarError',\n `${e.name}: ${e.message}. Cant find Case #${id}`,\n );\n }\n }\n\n // Fetch the Dossier which is attached to this Case\n if (kase && kase.dossierID) {\n try {\n await store.dispatch('court/fetchDossier', kase.dossierID);\n } catch (e) {\n console.error(e);\n if (e.message.match(/404|500/)) {\n store.dispatch(\n `application/showSnackbarError`,\n `${e.name}: ${e.message}. Cant find Dossier #${kase.dossierID}`,\n );\n }\n }\n }\n }\n}\n\n/**\n * fetchProfileFirst retrieves the basic data needed for all Profile-related\n * pages.\n *\n * @param to the target Route Object being navigated to\n * see: https://router.vuejs.org/api/#the-route-object\n * @param from the current route being navigated away from\n * @param next this function must be called to resolve the hook\n */\nexport async function fetchProfileFirst(to, from, next): Promise {\n // Navigate right away... pages should implement loading logic while they\n // wait for the Profile to load.\n next();\n\n // Get the profile ID from the URL via the to route object\n const id = Number(to.params.id);\n\n try {\n // Since we can fetch the Offender and Profile data directly from the ID\n // do that simultaneously...\n await Promise.all([\n store.dispatch('profile/fetchProfile', id),\n store.dispatch('offender/fetchOffenderForProfile', id),\n ]);\n } catch (e) {\n console.error(e);\n }\n\n // ... then after both of those return, get the Profile\n const profile = store.getters['profile/profileWithID'](id);\n if (!profile) {\n store.dispatch('application/showSnackbarError', `Cant load Profile #${id}`);\n }\n\n if (profile && profile.partyID) {\n await store.dispatch('court/fetchDossiersForParty', profile.partyID);\n }\n}\n\n/**\n * fetchOffenderFirst retrieves the basic data needed for all Offender-related\n * pages.\n *\n * @param to the target Route Object being navigated to\n * see: https://router.vuejs.org/api/#the-route-object\n * @param from the current route being navigated away from\n * @param next this function must be called to resolve the hook\n */\nexport async function fetchOffenderFirst(to, from, next): Promise {\n // Navigate right away... pages should implement loading logic while they\n // wait for the Offender data to load.\n next();\n\n // Get the ID from out of the URL in the to route\n const id = Number(to.params.id);\n\n try {\n // Fetch the Offender\n await store.dispatch('offender/fetchOffender', id);\n const offender = store.getters['offender/offenderWithID'](id);\n if (!offender) {\n store.dispatch(\n 'application/showSnackbarError',\n `Cant load Offender #${id}`,\n );\n return;\n }\n\n // Fetch the Attached Dossier\n if (offender && offender.dossierID) {\n try {\n await store.dispatch('court/fetchDossier', offender.dossierID);\n } catch (e) {\n if (e.message.match(/404|500/)) {\n store.dispatch(\n `application/showSnackbarError`,\n `${e.name}: ${e.message}. Cant find linked Offender Dossier #${offender.dossierID}`,\n );\n }\n }\n }\n } catch (e) {\n if (e.message.match(/404|500/)) {\n store.dispatch(\n `application/showSnackbarError`,\n `${e.name}: ${e.message}. Cant find Offender #${id}`,\n );\n }\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-card',[_c('v-card-title',[_c('h1',[_vm._v(_vm._s(_vm.$t('login')))])]),_c('v-card-text',[_c('form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.attemptLogin.apply(null, arguments)}}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{ref:\"username\",attrs:{\"prepend-icon\":\"person\",\"name\":\"username\",\"label\":_vm.$t('username')},model:{value:(_vm.username),callback:function ($$v) {_vm.username=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"username\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"prepend-icon\":\"lock\",\"name\":\"password\",\"type\":\"password\",\"label\":_vm.$t('password')},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}})],1),_c('v-col',{staticClass:\"d-flex flex-row-reverse\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"loading\":_vm.loginPending,\"type\":\"submit\",\"color\":\"accent\"}},[_vm._v(\" \"+_vm._s(_vm.$t('login'))+\" \")])],1)],1)],1)]),_c('v-card-actions')],1)],1)],1),_c('v-row',{staticClass:\"text-caption\",attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-row',[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('img',{staticClass:\"mr-md-4 mr-xs-2\",attrs:{\"width\":\"150\",\"contain\":\"\",\"src\":\"/af-logo.png\"}}),_c('img',{staticClass:\"ml-md-4 ml-xs-2\",attrs:{\"width\":\"150\",\"contain\":\"\",\"src\":\"/cms-logo.png\"}})]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" این یک بانک معلوماتی داخلی است ومربوط به دولت جمهوری اسلامی افغانستان میباشد.این سیستم تنها برای استفاده اشخاص رسمی مربوط به ارگان های عدلی وقضائی است.دستر سی بدون مجوزیا استفاده اشخاص غیر مسئول،مطابق به قانون افغانستان مورد پیگرد قانونی قرار خواهد گرفت. \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" This is an internal database and is the property of the Islamic Republic of Afghanistan. It is for authorized use only. Unauthorized access or use of this system will be prosecuted to fullest extent under law. \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapActions, mapState } from 'vuex';\n\nexport default Vue.extend({\n mounted() {\n (this.$refs.username as HTMLElement).focus();\n },\n data() {\n return {\n username: '',\n password: '',\n loginPending: false,\n };\n },\n computed: {\n ...mapState('auth', ['error']),\n },\n watch: {\n '$i18n.local'(newValue) {\n (this.$refs.username as HTMLElement).focus();\n },\n },\n methods: {\n ...mapActions('auth', ['login']),\n async attemptLogin(): Promise {\n const creds = {\n username: this.username,\n password: this.password,\n };\n this.loginPending = true;\n await this.login(creds);\n this.loginPending = false;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=a7260828&\"\nimport script from \"./Login.vue?vue&type=script&lang=ts&\"\nexport * from \"./Login.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Login.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VContainer,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',{staticClass:\"mt-10\",attrs:{\"justify\":\"center\"}},[(_vm.waiting)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('div',{staticClass:\"text-h5 mb-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('system.loading'))+\" \")]),_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1):_vm._e(),(!_vm.waiting && !_vm.dashboardRoute)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_vm._v(\" User account has no permissions for any Dashboard. \")]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport { User } from '@/vuex/user/user';\n\nexport default Vue.extend({\n data() {\n return {\n waiting: true,\n };\n },\n\n computed: {\n ...mapState('auth', ['user']),\n ...mapGetters('auth', [\n 'allowedDepartmentIDs',\n 'allowedCourtIDs',\n 'allowedFacilityIDs',\n 'hasPermission',\n ]),\n\n roles(): any[] {\n return this.user.roles;\n },\n\n dashboardRoute(): any {\n if (this.detectionDashboardRoute) {\n return this.detectionDashboardRoute;\n } else if (this.investigationDashboardRoute) {\n return this.investigationDashboardRoute;\n } else if (this.courtDashboardRoute) {\n return this.courtDashboardRoute;\n } else if (this.offenderDashboardRoute) {\n return this.offenderDashboardRoute;\n } else if (this.userHomeRoute) {\n return this.userHomeRoute;\n }\n return false;\n },\n\n /**\n * detectionDashboardRoute computes the Route object to redirect this user\n * to for their Detection dashboard. If they don't have permissions to\n * access the Detection Dashboard, false is returned instead.\n *\n * TODO This code duplicates a computed property in PrimaryDetectionNav.\n * It would probably be better to have the DetectionDashboard not require\n * any incoming parameters and figure out the correct default permissions.\n */\n detectionDashboardRoute(): any {\n if (!this.hasPermission('dashboard.detection')) {\n return false;\n }\n const allowedIDs = this.allowedDepartmentIDs;\n if (allowedIDs.length < 1) {\n // Early exit without building a route if the User has no allowed IDs\n return false;\n }\n const route = { name: 'detectionDashboard', params: {}, query: {} };\n if (_.includes(allowedIDs, '*')) {\n route.query = { departmentID: 1000000002 };\n } else {\n route.query = { departmentID: allowedIDs[0] };\n }\n return route;\n },\n\n /**\n * investigationDashboardRoute computes the Route object to redirect this user\n * to for their Investigation dashboard. If they don't have permissions to\n * access the Investigation Dashboard, false is returned instead.\n *\n * TODO This code duplicates a computed property in PrimaryInvestigationNav.\n * It would probably be better to have the InvestigationDashboard not require\n * any incoming parameters and figure out the correct default permissions.\n */\n investigationDashboardRoute(): any {\n if (!this.hasPermission('dashboard.investigation')) {\n return false;\n }\n const allowedIDs = this.allowedDepartmentIDs;\n if (allowedIDs.length < 1) {\n // Early exit without building a route if the User has no allowed IDs\n return false;\n }\n\n const route = { name: 'investigationDashboard', params: {}, query: {} };\n if (_.includes(allowedIDs, '*')) {\n route.query = {};\n } else {\n route.query = { lastDepartmentID: allowedIDs[0] };\n }\n return route;\n },\n\n /**\n * courtDashboardRoute computes the Route object to redirect this user\n * to for their Court dashboard. If they don't have permissions to\n * access the Court Dashboard, false is returned instead.\n *\n * TODO This code duplicates a computed property in PrimaryCourtNav.\n * It would probably be better to have the CourtDashboard not require\n * any incoming parameters and figure out the correct default permissions.\n */\n courtDashboardRoute(): any {\n if (!this.hasPermission('dashboard.court')) {\n return false;\n }\n\n const allowedIDs = this.allowedCourtIDs;\n if (allowedIDs.length < 1) {\n // Early exit without building a route if the User has no allowed IDs\n return false;\n }\n\n const route = { name: 'courtDashboard', params: {}, query: {} };\n if (_.includes(allowedIDs, '*')) {\n route.query = {};\n } else {\n route.query = { courtID: allowedIDs[0] };\n }\n return route;\n },\n\n /**\n * offenderDashboardRoute computes the Route object to redirect this user\n * to for their Offender dashboard. If they don't have permissions to\n * access the Offender Dashboard, false is returned instead.\n *\n * TODO This code duplicates a computed property in PrimaryPrisonNav.\n * It would probably be better to have the CourtDashboard not require\n * any incoming parameters and figure out the correct default permissions.\n */\n offenderDashboardRoute(): any {\n if (!this.hasPermission('dashboard.prison')) {\n return false;\n }\n\n const allowedIDs = this.allowedFacilityIDs;\n\n if (allowedIDs.length < 1) {\n // Early exit without building a route if the User has no allowed IDs\n return false;\n }\n\n const route = { name: 'offenderDashboard', query: {} };\n if (_.includes(allowedIDs, '*')) {\n route.query = {};\n } else {\n route.query = { facilityID: allowedIDs[0] };\n }\n return route;\n },\n\n /**\n * userHomeRoute computes the Route object to redirect this user\n * to a default page if they DO NOT have permissions for any dashboard\n */\n userHomeRoute(): any {\n if (\n this.hasPermission('dashboard.prison') ||\n this.hasPermission('dashboard.offender') ||\n this.hasPermission('dashboard.court') ||\n this.hasPermission('dashboard.investigation') ||\n this.hasPermission('dashboard.detection')\n ) {\n return false;\n }\n const route = { name: 'userHome', query: {} };\n return route;\n },\n },\n\n watch: {\n user: {\n immediate: true,\n handler(newUser: User) {\n if (newUser && newUser.id) {\n if (this.dashboardRoute) {\n this.$router.push(this.dashboardRoute);\n } else {\n console.log('No Dashboards');\n }\n }\n },\n },\n },\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomeRedirector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomeRedirector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HomeRedirector.vue?vue&type=template&id=472ddd62&\"\nimport script from \"./HomeRedirector.vue?vue&type=script&lang=ts&\"\nexport * from \"./HomeRedirector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticStyle:{\"height\":\"100%\"}},[_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\",\"flat\":\"\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t('error.404'))+\" \")]),_c('v-spacer')],1),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.$t('error.notFound', { url: _vm.url }))+\" \")]),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.back()}}},[_vm._v(_vm._s(_vm.$t('menu.back')))]),_c('v-btn',{attrs:{\"color\":\"accent\"},on:{\"click\":function($event){return _vm.home()}}},[_vm._v(_vm._s(_vm.$t('menu.home')))])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nexport default Vue.extend({\n computed: {\n url(): string {\n return this.$route.fullPath;\n },\n },\n methods: {\n back() {\n history.back();\n },\n home() {\n this.$router.push({ name: 'home' });\n },\n },\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotFound.vue?vue&type=template&id=5a011878&\"\nimport script from \"./NotFound.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotFound.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCol,VContainer,VDivider,VRow,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fill-height\":\"\"}},[_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{staticClass:\"text-center text-h6 pt-10\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.$t('error.unauthorized'))+\" \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Unauthorized.vue?vue&type=template&id=260e6185&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.user)?_c('v-container',[_c('v-row',{staticClass:\"mt-10\"},[_c('v-col',{staticClass:\"pb-2 text-h5 grey--text text--darken-1\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('welcome'))+\" \"+_vm._s(_vm.user.fullName)+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-divider')],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('PrimaryDetectionNav',{attrs:{\"active\":\"\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('PrimaryInvestigationNav',{attrs:{\"active\":\"\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('PrimaryCourtNav',{attrs:{\"active\":\"\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('PrimaryPrisonNav',{attrs:{\"active\":\"\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('PrimaryAdministrationNav',{attrs:{\"active\":\"\"}})],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (\n _vm.hasPermission('crimeReport.create') ||\n _vm.hasPermission('search.crimeReport') ||\n _vm.hasPermission('search.profile') ||\n _vm.hasPermission('dashboard.detection') ||\n _vm.hasPermission('profile.backgroundCheck')\n )?_c('v-list-group',{attrs:{\"value\":_vm.active},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-item-title',[_c('v-subheader',{staticClass:\"ml-n2\"},[_vm._v(\" \"+_vm._s(_vm.$t('module.police'))+\" \")])],1)]},proxy:true}],null,false,3088111375)},[_vm._l((_vm.detectionDashboardRoutes),function(rte,index){return _c('v-list-item',{key:index,attrs:{\"to\":rte,\"exact\":\"\"}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-home\")])],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-wrap\"},[_vm._v(\" \"+_vm._s(_vm.$t('dashboard.singular'))+\" \"),_c('div',{staticClass:\"text--disabled text-caption\"},[(rte.query.departmentID > 0)?_c('DepartmentName',{attrs:{\"id\":rte.query.departmentID}}):_c('GeographyName',{attrs:{\"id\":1}})],1)])],1)],1)}),(_vm.hasPermission('crimeReport.create'))?_c('NewCrimeReportDialog',{scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-list-item',_vm._g({},on),[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-plus\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('crimeReport.singular'))+\" \")])],1)],1)]}}],null,false,2209741326)}):_vm._e(),(_vm.hasPermission('search.crimeReport'))?_c('v-list-item',{attrs:{\"to\":{ name: 'crimeReportSearch' }}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-search\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('crimeReport.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('search.profile'))?_c('v-list-item',{attrs:{\"to\":{ name: 'profileList' }}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-search\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('profile.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('profile.backgroundCheck'))?_c('v-list-item',{attrs:{\"to\":{ name: 'backgroundCheck' }}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-mask\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('profile.backgroundCheck'))+\" \")])],1)],1):_vm._e()],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"fullscreen\":\"\",\"add\":\"\",\"title\":_vm.$t('crimeReport.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",null,null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('DossierNumberField',{attrs:{\"required\":\"\"},model:{value:(_vm.dossierNumber),callback:function ($$v) {_vm.dossierNumber=$$v},expression:\"dossierNumber\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('######'),expression:\"'######'\"}],attrs:{\"label\":_vm.$t('crimeReport.awarenessNumber'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.awarenessNumber),callback:function ($$v) {_vm.awarenessNumber=$$v},expression:\"awarenessNumber\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('crimeReport.occurredAtDate'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.occurredOn),callback:function ($$v) {_vm.occurredOn=$$v},expression:\"occurredOn\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('TimeField',{attrs:{\"label\":_vm.$t('crimeReport.occurredAtTime'),\"clearable\":\"\"},model:{value:(_vm.occurredAt),callback:function ($$v) {_vm.occurredAt=$$v},expression:\"occurredAt\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('crimeReport.officerName'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.officerName),callback:function ($$v) {_vm.officerName=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"officerName\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"4\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('case.filedAt'),\"past-dates-only\":\"\"},model:{value:(_vm.filedAt),callback:function ($$v) {_vm.filedAt=$$v},expression:\"filedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('crimeReport.coalitionForcesAffected')},model:{value:(_vm.coalitionForcesAffected),callback:function ($$v) {_vm.coalitionForcesAffected=$$v},expression:\"coalitionForcesAffected\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('DepartmentSelector',{attrs:{\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"require-leaf-node\":\"\"},model:{value:(_vm.departmentID),callback:function ($$v) {_vm.departmentID=$$v},expression:\"departmentID\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('crimeReport.locationID')},model:{value:(_vm.locationID),callback:function ($$v) {_vm.locationID=$$v},expression:\"locationID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CrimeSelector',{attrs:{\"label\":_vm.$t('crime.plural'),\"multiple\":\"\",\"exclude-nonchargeable\":\"\",\"chips\":\"\",\"rules\":[function (v) { return v.length > 0 || _vm.$t('error.required'); }]},model:{value:(_vm.crimeIDs),callback:function ($$v) {_vm.crimeIDs=$$v},expression:\"crimeIDs\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('crimeReport.description')},model:{value:(_vm.description),callback:function ($$v) {_vm.description=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"description\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"lg\":\"2\"}},[_c('v-checkbox',{attrs:{\"hide-details\":\"\",\"label\":_vm.$t('crimeReport.knownSuspects')},model:{value:(_vm.knownSuspects),callback:function ($$v) {_vm.knownSuspects=$$v},expression:\"knownSuspects\"}})],1),(_vm.knownSuspects)?_c('v-col',{attrs:{\"cols\":\"12\",\"lg\":\"10\"}},[_c('SuspectsTable',{model:{value:(_vm.knownSuspectProfileIDs),callback:function ($$v) {_vm.knownSuspectProfileIDs=$$v},expression:\"knownSuspectProfileIDs\"}})],1):_vm._e(),(!_vm.knownSuspects)?_c('v-col',{attrs:{\"cols\":\"12\",\"lg\":\"10\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('crimeReport.wantedSuspectDescription')},model:{value:(_vm.wantedSuspectDescription),callback:function ($$v) {_vm.wantedSuspectDescription=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"wantedSuspectDescription\"}})],1):_vm._e()],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('VictimsTable',{model:{value:(_vm.victimIDs),callback:function ($$v) {_vm.victimIDs=$$v},expression:\"victimIDs\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('SubjectPropertiesForm',{model:{value:(_vm.subjectProperties),callback:function ($$v) {_vm.subjectProperties=$$v},expression:\"subjectProperties\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"crimeReport\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from 'axios';\n\nimport api, { addAuthInterceptors } from '@/api';\n\nconst investigationAPI = axios.create({\n baseURL: `${api.defaults.baseURL}investigationservice/`,\n});\naddAuthInterceptors(investigationAPI);\nexport default investigationAPI;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-autocomplete',{attrs:{\"label\":_vm.label || _vm.$t('crime.singular'),\"value\":_vm.value,\"items\":_vm.crimeChoices,\"search-input\":_vm.search,\"rules\":_vm.rules,\"multiple\":_vm.multiple,\"clearable\":_vm.clearable,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"single-line\":_vm.singleLine,\"hide-details\":_vm.hideDetails,\"chips\":_vm.chips,\"smallChips\":_vm.chips,\"deletable-chips\":_vm.deletableChips},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"change\":function($event){_vm.search = ''},\"update:searchInput\":function($event){_vm.search=$event},\"update:search-input\":function($event){_vm.search=$event}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport { Crime } from '@/vuex/crime/crime';\nimport { Corpus } from '@/vuex/corpus/corpus';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: [Array, Number],\n multiple: Boolean,\n clearable: Boolean,\n disabled: Boolean,\n readonly: Boolean,\n hideDetails: Boolean,\n singleLine: Boolean,\n chips: Boolean,\n deletableChips: Boolean,\n rules: Array,\n excludeNonchargeable: Boolean,\n },\n data() {\n return {\n search: '',\n };\n },\n created() {\n this.fetchData();\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['valueForLocale']),\n ...mapGetters('crime', ['allCrimes', 'crimeWithID']),\n ...mapGetters('corpus', ['corpusWithID']),\n crimeChoices(): VSelectItem[] {\n let crimes = (this.allCrimes || []) as Crime[];\n if (this.excludeNonchargeable) {\n crimes = _.reject(crimes, this.isNonchargeable);\n }\n const optionForSelect = (c: Crime): VSelectItem => {\n return { text: (c.title[this.locale] || '').trim(), value: c.id };\n };\n return _.chain(crimes).map(optionForSelect).sortBy('text').value();\n },\n },\n methods: {\n /**\n * fetchData ensures the crimes and corpora are loaded\n */\n async fetchData(): Promise {\n // NOTE fetchCrimes and fetchCorpora are not likely necessary since\n // App.vue calls fetchCrimes during the progress bar loaded. We supply\n // force = false, so it won't re-do the API call.\n await Promise.all([\n this.$store.dispatch('crime/fetchCrimes', false),\n this.$store.dispatch('corpus/fetchCorpora', false),\n ]);\n },\n\n /**\n * isNonChargeable returns true when the Crime is non-chargeable, or if it\n * is in a non-chargeable Corpus.\n */\n isNonchargeable(crime: Crime): boolean {\n if (crime.isNonchargeable) {\n return true;\n }\n const corpus: Corpus = this.corpusWithID(crime.corpusID);\n if (corpus && corpus.isNonchargeable) {\n return true;\n }\n return false;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeSelector.vue?vue&type=template&id=34d0b8f6&\"\nimport script from \"./CrimeSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\ninstallComponents(component, {VAutocomplete})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\",\"dense\":\"\",\"extension-height\":\"20\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('AddSuspectDialog',{on:{\"save\":function($event){return _vm.addSuspectWithProfileID($event)}}})]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('suspect.plural')))])],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"items\":_vm.suspects,\"headers\":_vm.headers,\"hide-default-footer\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nvar index = ref.index;\nreturn [_c('tr',[_c('td',[_vm._v(_vm._s(item.name))]),_c('td',[_vm._v(_vm._s(item.surname))]),_c('td',[_vm._v(_vm._s(item.fatherName))]),_c('td',[_vm._v(_vm._s(item.grandfatherName))]),_c('td',[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.deleteSuspectByIndex(index)}}},[_c('v-icon',[_vm._v(\"fa-times-circle\")])],1)],1)])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('suspect.singular'),\"saveAllowed\":!!_vm.suspectProfileID,\"buttonSize\":\"small\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ProfileSearchSelector',{attrs:{\"label\":_vm.$t('suspect.singular'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.suspectProfileID),callback:function ($$v) {_vm.suspectProfileID=$$v},expression:\"suspectProfileID\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-text-field',{staticClass:\"profile-selector\",attrs:{\"label\":_vm.label || _vm.$t('profile.singular'),\"value\":_vm.currentProfileName,\"readonly\":\"\",\"append-icon\":\"arrow_drop_down\",\"rules\":_vm.rules,\"disabled\":_vm.disabled,\"loading\":_vm.loading,\"clearable\":_vm.clearable},on:{\"click\":function($event){_vm.isOpen = true},\"click:clear\":_vm.clearSelection}}),_c('v-dialog',{attrs:{\"max-width\":\"900px\",\"scrollable\":\"\"},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('ProfileSearcher',{ref:\"profileSearcher\",attrs:{\"selectable\":\"\",\"multiple\":_vm.multiple},on:{\"selected\":function($event){return _vm.makeSelection($event)}},scopedSlots:_vm._u([(_vm.multiple && _vm.profileIDs.length)?{key:\"header\",fn:function(){return [_c('div',{staticClass:\"pa-4\"},_vm._l((_vm.profileIDs),function(profileID,index){return _c('v-chip',{key:index,staticClass:\"ma-1\",attrs:{\"close\":\"\"},on:{\"click:close\":function($event){return _vm.removeSelectionAtIndex(index)}}},[_vm._v(\" \"+_vm._s(_vm.profileName(profileID))+\" \")])}),1)]},proxy:true}:null,{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"small\":\"\",\"text\":\"\",\"color\":\"error\"},on:{\"click\":function($event){_vm.isOpen = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.cancel'))+\" \")]),(_vm.multiple)?_c('v-btn',{attrs:{\"color\":\"accent\",\"type\":\"submit\"},on:{\"click\":function($event){_vm.isOpen = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.ok'))+\" \")]):_vm._e()]},proxy:true}],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.fetchData.apply(null, arguments)}}},[_c('v-card',{attrs:{\"loading\":_vm.loading}},[_c('v-toolbar',{staticClass:\"mb-5\",attrs:{\"dark\":\"\",\"color\":\"primary\",\"extension-height\":_vm.dense ? '20px' : '40px'},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.allowAdding)?_c('AddProfileDialog',{on:{\"saved\":function($event){return _vm.afterProfileAdded($event)}}}):_vm._e(),_c('v-spacer'),_c('v-checkbox',{attrs:{\"label\":_vm.$t('advancedSearch')},model:{value:(_vm.advancedSearch),callback:function ($$v) {_vm.advancedSearch=$$v},expression:\"advancedSearch\"}})]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('profile.plural')))]),_c('v-spacer'),(!_vm.advancedSearch)?_c('v-text-field',{ref:\"query\",attrs:{\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\",\"append-icon\":\"search\",\"clearable\":\"\"},model:{value:(_vm.criteria.q),callback:function ($$v) {_vm.$set(_vm.criteria, \"q\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"criteria.q\"}}):_vm._e()],1),_vm._t(\"header\"),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),(_vm.advancedSearch)?_c('div',[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.name')},model:{value:(_vm.criteria.name),callback:function ($$v) {_vm.$set(_vm.criteria, \"name\", $$v)},expression:\"criteria.name\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.surname')},model:{value:(_vm.criteria.surname),callback:function ($$v) {_vm.$set(_vm.criteria, \"surname\", $$v)},expression:\"criteria.surname\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.fatherName')},model:{value:(_vm.criteria.fatherName),callback:function ($$v) {_vm.$set(_vm.criteria, \"fatherName\", $$v)},expression:\"criteria.fatherName\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.grandfatherName')},model:{value:(_vm.criteria.grandfatherName),callback:function ($$v) {_vm.$set(_vm.criteria, \"grandfatherName\", $$v)},expression:\"criteria.grandfatherName\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.alias.singular')},model:{value:(_vm.criteria.alias),callback:function ($$v) {_vm.$set(_vm.criteria, \"alias\", $$v)},expression:\"criteria.alias\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.gender'),\"items\":\"profile/genders\",\"disable-sorting\":\"\",\"clearable\":\"\",\"exclude-unknown\":\"\"},model:{value:(_vm.criteria.genderID),callback:function ($$v) {_vm.$set(_vm.criteria, \"genderID\", $$v)},expression:\"criteria.genderID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.age') + ' (' + _vm.$t('range.minimum') + ')'},model:{value:(_vm.criteria.minAge),callback:function ($$v) {_vm.$set(_vm.criteria, \"minAge\", $$v)},expression:\"criteria.minAge\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.age') + ' (' + _vm.$t('range.maximum') + ')'},model:{value:(_vm.criteria.maxAge),callback:function ($$v) {_vm.$set(_vm.criteria, \"maxAge\", $$v)},expression:\"criteria.maxAge\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.nationality'),\"items\":\"profile/nationalities\",\"zero-label\":\"all\",\"disable-sorting\":\"\"},model:{value:(_vm.criteria.nationalityID),callback:function ($$v) {_vm.$set(_vm.criteria, \"nationalityID\", $$v)},expression:\"criteria.nationalityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.birthplace'),\"zero-label\":\"all\"},model:{value:(_vm.criteria.birthplaceGeographyID),callback:function ($$v) {_vm.$set(_vm.criteria, \"birthplaceGeographyID\", $$v)},expression:\"criteria.birthplaceGeographyID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.residence'),\"zero-label\":\"all\"},model:{value:(_vm.criteria.residenceGeographyID),callback:function ($$v) {_vm.$set(_vm.criteria, \"residenceGeographyID\", $$v)},expression:\"criteria.residenceGeographyID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('BooleanSelector',{attrs:{\"label\":_vm.$t('person.isKochi'),\"unknown-label\":_vm.$t('all')},model:{value:(_vm.criteria.isKochi),callback:function ($$v) {_vm.$set(_vm.criteria, \"isKochi\", $$v)},expression:\"criteria.isKochi\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.minHeight'),\"suffix\":\"cm\",\"type\":\"number\",\"clearable\":\"\"},model:{value:(_vm.criteria.minHeightInCm),callback:function ($$v) {_vm.$set(_vm.criteria, \"minHeightInCm\", $$v)},expression:\"criteria.minHeightInCm\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.maxHeight'),\"suffix\":\"cm\",\"type\":\"number\",\"clearable\":\"\"},model:{value:(_vm.criteria.maxHeightInCm),callback:function ($$v) {_vm.$set(_vm.criteria, \"maxHeightInCm\", $$v)},expression:\"criteria.maxHeightInCm\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.minWeight'),\"suffix\":\"cm\",\"type\":\"number\",\"clearable\":\"\"},model:{value:(_vm.criteria.minWeightInKg),callback:function ($$v) {_vm.$set(_vm.criteria, \"minWeightInKg\", $$v)},expression:\"criteria.minWeightInKg\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.maxWeight'),\"suffix\":\"cm\",\"type\":\"number\",\"clearable\":\"\"},model:{value:(_vm.criteria.maxWeightInKg),callback:function ($$v) {_vm.$set(_vm.criteria, \"maxWeightInKg\", $$v)},expression:\"criteria.maxWeightInKg\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.hairColor'),\"items\":\"profile/hairColors\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.hairColorID),callback:function ($$v) {_vm.$set(_vm.criteria, \"hairColorID\", $$v)},expression:\"criteria.hairColorID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.eyeColor'),\"items\":\"profile/eyeColors\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.eyeColorID),callback:function ($$v) {_vm.$set(_vm.criteria, \"eyeColorID\", $$v)},expression:\"criteria.eyeColorID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('BloodTypeSelector',{attrs:{\"zero-label\":\"all\"},model:{value:(_vm.criteria.bloodType),callback:function ($$v) {_vm.$set(_vm.criteria, \"bloodType\", $$v)},expression:\"criteria.bloodType\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.nativeLanguage'),\"items\":\"profile/languages\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.nativeLanguageID),callback:function ($$v) {_vm.$set(_vm.criteria, \"nativeLanguageID\", $$v)},expression:\"criteria.nativeLanguageID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.secondLanguage'),\"items\":\"profile/languages\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.secondLanguageID),callback:function ($$v) {_vm.$set(_vm.criteria, \"secondLanguageID\", $$v)},expression:\"criteria.secondLanguageID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('classification.criminalGroups'),\"items\":\"offender/criminalGroups\",\"multiple\":\"\",\"clearable\":\"\"},model:{value:(_vm.criteria.criminalGroupIDs),callback:function ($$v) {_vm.$set(_vm.criteria, \"criminalGroupIDs\", $$v)},expression:\"criteria.criminalGroupIDs\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.educationLevel'),\"items\":\"profile/educationLevels\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.educationLevelID),callback:function ($$v) {_vm.$set(_vm.criteria, \"educationLevelID\", $$v)},expression:\"criteria.educationLevelID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('BooleanSelector',{attrs:{\"label\":_vm.$t('person.canRead'),\"unknown-label\":_vm.$t('all')},model:{value:(_vm.criteria.canRead),callback:function ($$v) {_vm.$set(_vm.criteria, \"canRead\", $$v)},expression:\"criteria.canRead\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('BooleanSelector',{attrs:{\"label\":_vm.$t('person.canWrite'),\"unknown-label\":_vm.$t('all')},model:{value:(_vm.criteria.canWrite),callback:function ($$v) {_vm.$set(_vm.criteria, \"canWrite\", $$v)},expression:\"criteria.canWrite\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('BooleanSelector',{attrs:{\"label\":_vm.$t('person.militaryMember'),\"unknown-label\":_vm.$t('na')},model:{value:(_vm.criteria.isMilitary),callback:function ($$v) {_vm.$set(_vm.criteria, \"isMilitary\", $$v)},expression:\"criteria.isMilitary\"}})],1),(_vm.criteria.isMilitary)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.militaryRank'),\"items\":\"profile/militaryRanks\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.militaryRankID),callback:function ($$v) {_vm.$set(_vm.criteria, \"militaryRankID\", $$v)},expression:\"criteria.militaryRankID\"}})],1):_vm._e()],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"start\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":_vm.crimeCols}},[_c('CrimeSelector',{attrs:{\"label\":_vm.$t('crime.plural'),\"multiple\":\"\",\"clearable\":\"\"},model:{value:(_vm.criteria.crimeIDs),callback:function ($$v) {_vm.$set(_vm.criteria, \"crimeIDs\", $$v)},expression:\"criteria.crimeIDs\"}}),(_vm.criteria.crimeIDs.length)?_c('div',[_c('v-radio-group',{staticClass:\"pt-0 mt-0\",attrs:{\"row\":\"\"},model:{value:(_vm.criteria.crimeMatchAll),callback:function ($$v) {_vm.$set(_vm.criteria, \"crimeMatchAll\", $$v)},expression:\"criteria.crimeMatchAll\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('matchmode.any'),\"value\":false}}),_c('v-radio',{attrs:{\"label\":_vm.$t('matchmode.all'),\"value\":true}})],1)],1):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":_vm.crimeCols}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('charge.severity'),\"items\":\"crime/severities\",\"zero-label\":\"all\",\"disable-sorting\":\"\"},model:{value:(_vm.criteria.severityID),callback:function ($$v) {_vm.$set(_vm.criteria, \"severityID\", $$v)},expression:\"criteria.severityID\"}})],1),(_vm.showChargeDisposition)?_c('v-col',{attrs:{\"cols\":_vm.crimeCols}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('case.criteria.chargeDisposition'),\"items\":\"court/chargeDispositionTypes\",\"zero-label\":\"unknown\",\"multiple\":\"\",\"clearable\":\"\"},model:{value:(_vm.criteria.chargeDispositionIDs),callback:function ($$v) {_vm.$set(_vm.criteria, \"chargeDispositionIDs\", $$v)},expression:\"criteria.chargeDispositionIDs\"}})],1):_vm._e()],1)],1):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.profiles,\"loading\":_vm.loading,\"disable-sort\":\"\",\"page\":_vm.page.number,\"items-per-page\":_vm.page.size,\"server-items-length\":_vm.page.serverCount,\"footer-props\":{\n 'items-per-page-options': [10, 20, 40, 50, 100],\n },\"no-data-text\":_vm.$t('error.nodata'),\"dense\":\"\"},on:{\"update:page\":function($event){return _vm.$set(_vm.page, \"number\", $event)},\"update:itemsPerPage\":function($event){return _vm.$set(_vm.page, \"size\", $event)},\"update:items-per-page\":function($event){return _vm.$set(_vm.page, \"size\", $event)}},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\n var item = ref.item;\nreturn [_c('tr',{class:{ selectable: _vm.selectable },on:{\"click\":function($event){return _vm.selectProfile(item.id)}}},[_c('td',[_c('router-link',{attrs:{\"to\":{ name: 'profileShow', params: { id: item.id } }}},[_vm._v(\" \"+_vm._s(item.name)+\" \")])],1),_c('td',[_c('router-link',{attrs:{\"to\":{ name: 'profileShow', params: { id: item.id } }}},[_vm._v(\" \"+_vm._s(item.surname)+\" \")])],1),_c('td',[_vm._v(_vm._s(item.fatherName))]),_c('td',[_vm._v(_vm._s(item.grandfatherName))]),_c('td',[_vm._v(_vm._s(item.aliases.join(', ')))]),_c('td',[_c('GeographyName',{attrs:{\"full\":\"\",\"id\":item.birthplaceGeographyID}})],1),_c('td',[_c('AgeDisplay',{attrs:{\"birthdate\":item.birthdate,\"isApproximate\":item.birthdateIsApproximate}})],1),_c('td',[_c('ExpanderDialog',{attrs:{\"title\":_vm.$t('profile.singular') +\n \" #\" + (item.id) + \": \" + (item.name) + \" \" + (item.surname),\"max-width\":\"1200\"}},[_c('v-row',{staticClass:\"mt-2\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ProfileIdentityCard',{attrs:{\"id\":item.id,\"flat\":\"\",\"dense\":\"\",\"allow-edit\":!_vm.selectable}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ProfileDetailsCard',{attrs:{\"profileID\":item.id,\"flat\":\"\",\"dense\":\"\",\"allow-edit\":!_vm.selectable}})],1)],1)],1)],1)])]}}])})],1),(_vm.hasPermission('profile.excelExport'))?_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"accent\",\"href\":'/api/v1/profileservice/profiles/search/excel?' + _vm.queryString}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-file-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.export'))+\" \")],1)],1):_vm._e()],1),_vm._t(\"footer\")],2),(_vm.$slots.actions)?_c('v-divider'):_vm._e(),(_vm.$slots.actions)?_c('v-card-actions',[_vm._t(\"actions\")],2):_vm._e()],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from 'axios';\n\nimport api, { addAuthInterceptors } from '@/api';\n\nconst profileAPI = axios.create({\n baseURL: `${api.defaults.baseURL}profileservice/`,\n});\naddAuthInterceptors(profileAPI);\nexport default profileAPI;\n","import Vue from 'vue';\nimport _ from 'lodash';\nimport { Route } from 'vue-router';\n\nexport interface PagerData {\n number: number;\n size: number;\n serverCount: number;\n}\n\n/**\n * criteriaToQueryString takes a one-layer-deep object of key-value pairs, and\n * converts it to a URL querystring. It is essentially the opposite of the\n * param.QueryStruct feature in the Go backend. It optionally accepts a second\n * parameter containing the paging status\n *\n * For easier handling on the server, we handle array values with multiple\n * entries in a special way. If any of the values on the right side of the\n * criteria object are Arrays, they will be expanded into multiple instances of\n * that parameter in the querystring. For example, if you\n * have the following criteria object:\n *\n * teas = { teaColors: ['black', 'green'] }\n *\n * Then calling criteriaToQueryString(teas), would result in this output:\n *\n * teaColors=black&teaColors=green\n *\n * This format translates in the backend Go code to the following url.Values:\n *\n * map[string][]string = {\n * \"teaColors\": [\"black\", \"green\"]\n * }\n *\n * @param criteria An Object of key-value pairs where each key will become\n * a key in the URL querystring.\n * @param pd The pagination data parameter that indicates the current page\n * number and page size.\n *\n * @returns A string that can be used as the querystring for a URL.\n */\nexport function criteriaToQueryString(\n criteria: object,\n pd?: PagerData,\n): string {\n const keys = populatedCriteriaKeys(criteria);\n const parts: string[] = [];\n const criteriaPart = _.chain(keys)\n // Make sure the keys are always in alphabetical order\n // so change detection isn't flagged by randomness in key\n // order\n .sort()\n // Convert remaining non-blank keys into a equals-separated key\n // value string (e.g. 'key=value' or 'key=value1&key=value2' for arrays)\n .map((key) => {\n // Convert all criteria values into arrays of URI-encoded string values\n const values = _.chain([criteria[key]])\n // Then flatten it back to a single-level array in case it already was\n // an array\n .flatten()\n // Convert each value to a URI-encoded string\n .map(_.toString)\n .map(encodeURIComponent)\n .value();\n return _.map(values, (val) => `${key}=${val}`).join('&');\n })\n .reject(_.isEmpty)\n .value()\n .join('&');\n if (criteriaPart !== '') {\n parts.push(criteriaPart);\n }\n if (pd) {\n parts.push(`page[number]=${pd.number}`);\n parts.push(`page[size]=${pd.size}`);\n }\n return parts.join('&');\n}\n\n/**\n * routeToCriteria takes a Vue Router Route object and converts it into criteria\n * object which can be combined with local data and later submitted to\n * criteriaToQueryString for sending to an API endpoint.\n *\n * @param route The Vue Router route object (this.$route in a component)\n * @param pd The pagination data object (optional)\n */\nexport function routeToCriteria(\n route: Route,\n criteria: object,\n pd?: PagerData,\n) {\n // pageRE is how we recognize a pagination parameter in the querystring\n const pageRE = /^page\\[(\\w+)\\]$/;\n const keys = Object.keys(route.query);\n for (const key of keys) {\n const val: any = route.query[key];\n\n const match = pageRE.exec(key);\n if (match != null) {\n if (pd) {\n Vue.set(pd, match[1], parseInt(val, 10));\n }\n continue;\n }\n\n if (Array.isArray(criteria[key])) {\n const ids = [] as any[];\n if (Array.isArray(val)) {\n for (const strID of val) {\n ids.push(safeIDConvert(strID));\n }\n } else {\n ids.push(safeIDConvert(val));\n }\n Vue.set(criteria, key, ids);\n } else if (_.isNumber(criteria[key])) {\n Vue.set(criteria, key, safeIDConvert(val));\n } else if (Array.isArray(val)) {\n Vue.set(criteria, key, _.uniq(val));\n } else {\n if (val === 'true' || val === true) {\n Vue.set(criteria, key, true);\n } else if (val === 'false' || val === false) {\n Vue.set(criteria, key, false);\n } else if (val === 'null' || val === null || val === undefined) {\n Vue.set(criteria, key, null);\n } else {\n Vue.set(criteria, key, decodeURIComponent(val));\n }\n }\n }\n}\n\n/**\n * populatedCriteriaKeys takes a criteria and returns an array of the criteria\n * keys which are populated with data (i.e. the \"active search terms\").\n *\n * @param criteria An object containing an entity search criteria\n * @returns\n */\nexport function populatedCriteriaKeys(criteria: object): string[] {\n const populatedKeys: string[] = [];\n const allKeys = Object.keys(criteria);\n for (const key of allKeys) {\n const val = criteria[key];\n\n if (val === '') {\n continue;\n }\n\n if (val === 0) {\n continue;\n }\n\n if (val === null) {\n continue;\n }\n\n if (val === undefined) {\n continue;\n }\n\n if (_.isArray(val) && val.length === 0) {\n continue;\n }\n\n populatedKeys.push(key);\n }\n\n return populatedKeys;\n}\n\n/**\n * changedCriteria builds a new object containing only the parameters from\n * currentCriteria (its first param) which differ from their values in\n * originalCriteria (the second param). This function helps build the queryString\n * with as few parameters as possible.\n *\n * @param currentCriteria Object whose criteria are desired in the output.\n * @param originalCriteria Object with which to compare\n * @return An object containing the subset of properties in currentCriteria\n * which differ from originalCriteria.\n */\nexport function changedCriteria(currentCriteria, originalCriteria): object {\n return _.transform(\n currentCriteria,\n (result: object, value: any, key: string) => {\n if (!_.isEqual(value, originalCriteria[key])) {\n result[key] =\n _.isObject(value) && _.isObject(originalCriteria[key])\n ? changedCriteria(value, originalCriteria[key])\n : value;\n }\n },\n );\n}\n\n/**\n * safeIDConvert intelligently converts string input into a number if the string\n * contains only digits (i.e. it looks like an integer ID). Otherwise it leaves\n * the string unchanged.\n */\nexport function safeIDConvert(val: string | number | null): string | number {\n let strVal = '';\n if (val === null || val === undefined) {\n strVal = '';\n } else {\n strVal = val.toString();\n }\n if (strVal.match(/\\d+/g)) {\n return _.toNumber(val);\n }\n return strVal;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"fullscreen\":\"\",\"add\":\"\",\"title\":_vm.$t('profile.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('ProfileForm',{ref:\"profileForm\",attrs:{\"allow-identity-edit\":\"\"},model:{value:(_vm.profile),callback:function ($$v) {_vm.profile=$$v},expression:\"profile\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.name'),\"value\":_vm.profile.name,\"disabled\":!_vm.allowIdentityEdit,\"rules\":_vm.nameRules},on:{\"input\":function($event){return _vm.update('name', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.surname'),\"value\":_vm.profile.surname,\"disabled\":!_vm.allowIdentityEdit,\"rules\":_vm.nameRules},on:{\"input\":function($event){return _vm.update('surname', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.fatherName'),\"value\":_vm.profile.fatherName,\"disabled\":!_vm.allowIdentityEdit,\"rules\":_vm.nameRules},on:{\"input\":function($event){return _vm.update('fatherName', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.grandfatherName'),\"value\":_vm.profile.grandfatherName,\"disabled\":!_vm.allowIdentityEdit,\"rules\":_vm.nameRules},on:{\"input\":function($event){return _vm.update('grandfatherName', $event, 'trim')}}})],1)],1),(!_vm.allowIdentityEdit)?_c('v-row',{staticClass:\"grey--text\"},[_c('LabeledData',{attrs:{\"cols\":\"6\",\"label\":_vm.$t('person.birthplace')}},[_c('GeographyName',{attrs:{\"full\":\"\",\"id\":_vm.profile.birthplaceGeographyID}})],1),_c('LabeledData',{attrs:{\"cols\":\"6\",\"label\":_vm.$t('person.residence')}},[_c('GeographyName',{attrs:{\"full\":\"\",\"id\":_vm.profile.residenceGeographyID}})],1)],1):_vm._e(),(_vm.allowIdentityEdit)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.birthplace'),\"value\":_vm.profile.birthplaceGeographyID,\"readonly\":!_vm.allowIdentityEdit},on:{\"input\":function($event){return _vm.update('birthplaceGeographyID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.residence'),\"value\":_vm.profile.residenceGeographyID,\"readonly\":!_vm.allowIdentityEdit},on:{\"input\":function($event){return _vm.update('residenceGeographyID', $event)}}})],1)],1):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.gender'),\"value\":_vm.profile.genderID,\"items\":\"profile/genders\",\"exclude-unknown\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('genderID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('BirthdateSelector',{attrs:{\"value\":_vm.profile.birthdate,\"isApproximate\":_vm.profile.birthdateIsApproximate,\"required\":\"\"},on:{\"input\":function($event){return _vm.update('birthdate', $event)},\"approximateChanged\":function($event){return _vm.update('birthdateIsApproximate', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.height'),\"value\":_vm.profile.heightInCm,\"suffix\":\"cm\",\"type\":\"number\"},on:{\"input\":function($event){return _vm.update('heightInCm', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.weight'),\"value\":_vm.profile.weightInKg,\"suffix\":\"kg\",\"type\":\"number\"},on:{\"input\":function($event){return _vm.update('weightInKg', $event)}}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.hairColor'),\"value\":_vm.profile.hairColorID,\"items\":\"profile/hairColors\"},on:{\"input\":function($event){return _vm.update('hairColorID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.eyeColor'),\"value\":_vm.profile.eyeColorID,\"items\":\"profile/eyeColors\"},on:{\"input\":function($event){return _vm.update('eyeColorID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('div',{staticClass:\"text-center text-h6\"},[_vm._v(\" \"+_vm._s(_vm.$t('mugshot.front'))+\" \")]),_c('AddImageAttachmentDialog',{ref:\"frontUpload\",attrs:{\"entityType\":\"profile\",\"entityID\":_vm.profile.id,\"location\":\"front\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('div',{staticClass:\"text-center text-h6\"},[_vm._v(\" \"+_vm._s(_vm.$t('mugshot.leftSide'))+\" \")]),_c('AddImageAttachmentDialog',{ref:\"sideUpload\",attrs:{\"entityType\":\"profile\",\"entityID\":_vm.profile.id,\"location\":\"side\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('div',{staticClass:\"text-center text-h6\"},[_vm._v(\" \"+_vm._s(_vm.$t('mugshot.rightSide'))+\" \")]),_c('AddImageAttachmentDialog',{ref:\"rightSideUpload\",attrs:{\"entityType\":\"profile\",\"entityID\":_vm.profile.id,\"location\":\"rightSide\"}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.nationality'),\"value\":_vm.profile.nationalityID,\"items\":\"profile/nationalities\"},on:{\"input\":function($event){return _vm.update('nationalityID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('BloodTypeSelector',{attrs:{\"value\":_vm.profile.bloodType},on:{\"input\":function($event){return _vm.update('bloodType', $event)}}})],1)],1),_c('v-row',{attrs:{\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('classification.criminalGroupMember'),\"items\":\"offender/criminalGroups\",\"value\":_vm.profile.criminalGroupIDs,\"multiple\":\"\",\"chips\":\"\"},on:{\"input\":function($event){return _vm.update('criminalGroupIDs', $event)}}})],1),(_vm.profile.criminalGroupIDs.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('classification.criminalGroupRole'),\"items\":\"offender/criminalGroupRoles\",\"value\":_vm.profile.criminalGroupRoleID,\"exclude-unknown\":\"\"},on:{\"input\":function($event){return _vm.update('criminalGroupRoleID', $event)}}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('classification.infectiousDisease'),\"items\":\"offender/infectiousDiseases\",\"value\":_vm.profile.infectiousDiseaseIDs,\"multiple\":\"\",\"chips\":\"\"},on:{\"input\":function($event){return _vm.update('infectiousDiseaseIDs', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('classification.mentalDisorders'),\"items\":\"offender/mentalDisorders\",\"value\":_vm.profile.mentalDisorderIDs,\"multiple\":\"\",\"chips\":\"\"},on:{\"input\":function($event){return _vm.update('mentalDisorderIDs', $event)}}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"value\":_vm.profile.nationalID,\"label\":_vm.$t('person.nationalID')},on:{\"input\":function($event){return _vm.update('nationalID', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('ETazkiraField',{attrs:{\"value\":_vm.profile.eNationalID,\"label\":_vm.$t('person.eNationalID')},on:{\"input\":function($event){return _vm.update('eNationalID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.passport'),\"value\":_vm.profile.passportNumber},on:{\"input\":function($event){return _vm.update('passportNumber', $event, 'trim')}}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('PhoneField',{attrs:{\"label\":_vm.$t('person.phoneNumber'),\"value\":_vm.profile.phoneNumber},on:{\"input\":function($event){return _vm.update('phoneNumber', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.emailAddress'),\"value\":_vm.profile.emailAddress},on:{\"input\":function($event){return _vm.update('emailAddress', $event)}}})],1)],1),_c('v-row',{attrs:{\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.maritalStatus'),\"value\":_vm.profile.maritalStatusID,\"items\":\"profile/maritalStatuses\"},on:{\"input\":function($event){return _vm.update('maritalStatusID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.numberOfChildren'),\"value\":_vm.profile.numberOfChildren,\"type\":\"number\"},on:{\"input\":function($event){return _vm.update('numberOfChildren', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('classification.motherChildConcerns'),\"items\":\"offender/motherAndChildConcerns\",\"value\":_vm.profile.motherChildConcernIDs,\"multiple\":\"\",\"chips\":\"\"},on:{\"input\":function($event){return _vm.update('motherChildConcernIDs', $event)}}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.nativeLanguage'),\"value\":_vm.profile.nativeLanguageID,\"items\":\"profile/languages\",\"rules\":[function (v) { return v != undefined || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('nativeLanguageID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.secondLanguage'),\"value\":_vm.profile.secondLanguageID,\"items\":\"profile/languages\",\"rules\":[function (v) { return v != undefined || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('secondLanguageID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.educationLevels'),\"value\":_vm.profile.educationLevelID,\"items\":\"profile/educationLevels\",\"disable-sorting\":\"\"},on:{\"input\":function($event){return _vm.update('educationLevelID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('person.canRead'),\"input-value\":_vm.profile.canRead},on:{\"change\":function($event){return _vm.update('canRead', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('person.canWrite'),\"input-value\":_vm.profile.canWrite},on:{\"change\":function($event){return _vm.update('canWrite', $event)}}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.occupation'),\"value\":_vm.profile.occupation},on:{\"input\":function($event){return _vm.update('occupation', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('person.militaryMember'),\"value\":_vm.profile.isMilitary},on:{\"change\":function($event){return _vm.update('isMilitary', $event)}}})],1),(_vm.profile.isMilitary)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.chooseMilitaryRank'),\"value\":_vm.profile.militaryRankID,\"items\":\"profile/militaryRanks\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('militaryRankID', $event)}}})],1):_vm._e()],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('person.description'),\"value\":_vm.profile.description},on:{\"input\":function($event){return _vm.update('description', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('person.familyContact'),\"value\":_vm.profile.familyContact},on:{\"input\":function($event){return _vm.update('familyContact', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('person.visitors'),\"value\":_vm.profile.visitors},on:{\"input\":function($event){return _vm.update('visitors', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('StringArray',{attrs:{\"label\":_vm.$t('person.alias.plural'),\"value\":_vm.profile.aliases,\"cols\":\"4\"},on:{\"input\":function($event){return _vm.update('aliases', $event)}}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('person.isKochi'),\"input-value\":_vm.profile.isKochi},on:{\"change\":function($event){return _vm.update('isKochi', !!$event)}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from 'axios';\n\nimport api, { addAuthInterceptors } from '@/api';\n\nconst geographyAPI = axios.create({\n baseURL: `${api.defaults.baseURL}geographyservice/`,\n});\naddAuthInterceptors(geographyAPI);\nexport default geographyAPI;\n","import _ from 'lodash';\nimport Vue from 'vue';\nimport { TranslatedString } from '@/lib/translated';\n\nimport geographyAPI from './geographyAPI';\nimport i18n from '@/i18n';\nimport { domainmodelMutations } from '@/lib/vuex-domainmodel';\n\nexport const AfghanistanID = 1;\n\nexport interface Geography {\n id: number;\n name: TranslatedString;\n type: string;\n code: string;\n iso3166Code: string;\n parentID?: number;\n path: string;\n}\n\nexport const GeographyRegions = {\n none: 0,\n country: 1,\n province: 2,\n district: 3,\n village: 4,\n};\n\nconst state = {\n geographiesLoaded: false,\n geographyIDs: [] as number[],\n countryIDs: [] as number[],\n provinceIDs: [] as number[],\n provinceDistrictIDs: {} as { [id: number]: number[] },\n districtVillageIDs: {} as { [id: number]: number[] },\n districtVillagesLoaded: {} as { [id: number]: boolean },\n geography: {} as { [id: number]: Geography },\n};\n\nconst getters = {\n allGeographies(state): Geography[] {\n return state.geographyIDs.map((id) => state.geography[id]);\n },\n countries(state): Geography[] {\n return state.countryIDs.map((id) => state.geography[id]);\n },\n provinces(state): Geography[] {\n return state.provinceIDs.map((id) => state.geography[id]);\n },\n districts:\n (state) =>\n (provinceID): Geography[] => {\n return (state.provinceDistrictIDs[provinceID] || []).map(\n (id) => state.geography[id],\n );\n },\n villages:\n (state) =>\n (districtID): Geography[] => {\n return (state.districtVillageIDs[districtID] || []).map(\n (id) => state.geography[id],\n );\n },\n geographiesWithParentID:\n (state, getters) =>\n (parentID: number): Geography[] => {\n return getters.allGeographies.filter((geo) => geo.parentID === parentID);\n },\n geographyWithID:\n (state) =>\n (id: number): Geography | null => {\n return state.geography[id] || null;\n },\n ancestorIDs:\n (state) =>\n (id: number): number[] => {\n const ids = [] as number[];\n let currID = id;\n while (state.geography[currID]) {\n ids.unshift(currID);\n currID = state.geography[currID].parentID;\n }\n return ids;\n },\n\n provinceCode:\n (state, getters) =>\n (id: number): string => {\n const ancestors: Geography[] = getters.geographyAncestors(id);\n for (const geo of ancestors) {\n if (geo.type === 'province') {\n return geo.code;\n }\n }\n return '';\n },\n\n districtCode:\n (state, getters) =>\n (id: number): string => {\n const ancestors: Geography[] = getters.geographyAncestors(id);\n for (const geo of ancestors) {\n if (geo.type === 'district') {\n return geo.code;\n }\n }\n return '';\n },\n\n geographyAncestors:\n (state, getters) =>\n (id: number): Geography[] => {\n // Returns an array of ancestor objects for a given geography ID (country, province, district, village)\n return getters.ancestorIDs(id).map((id) => state.geography[id]);\n },\n\n /**\n * geographyName returns the name of just this Geography (not including)\n * any of its parents.\n */\n geographyName:\n (state) =>\n (id: number): string => {\n const geo = state.geography[id];\n if (geo) {\n return geo.name[i18n.locale];\n }\n if (id) {\n return `Unknown Geography #${id}`;\n }\n return '';\n },\n\n /**\n * fullGeographyName returns a complete (translated)\n * description of the geography, with commas separating each level.\n * To save space, it drops the country if the country is Afghanistan,\n * and more-specific geography info is available. Countries other than\n * Afghanistan will always be included.\n */\n fullGeographyName:\n (state, getters) =>\n (id: number): string => {\n // Get Geography objects for each ancestor of the submitted Geography ID\n let geographies = getters.geographyAncestors(id) as Geography[];\n\n // Re-order so the lowest-level values (village, district) come first,\n // and country comes last.\n geographies = geographies.reverse();\n\n // Chop off the last entry if it's Afghanistan and we have lower-level\n // information.\n if (geographies.length > 1) {\n const lastGeography = geographies[geographies.length - 1];\n if (lastGeography.id === AfghanistanID) {\n geographies.splice(-1, 1);\n }\n }\n\n // Convert each entry to a translated string of just the name, join\n // with commas.\n return geographies.map((g) => g.name[i18n.locale]).join(', ');\n },\n\n /**\n * isDescendantGeography returns true when the childGeography is contained within,\n * or matches, the parentGeographyID. The comparison leverages the .path\n * attribute, which is maintained by the PostgreSQL LTREE extension. Paths\n * are strings of dot-separated ids. Example Afghanistan is ID=1. It's path\n * is the string \"1\". The Kabul province is ID=201. It's path is the string\n * \"1.201\" (it's a child of Afghanstan).\n */\n isDescendantGeography:\n (state) =>\n (\n args = {} as { parentGeographyID: number; childGeographyID: number },\n ): boolean => {\n const parent = state.geography[args.parentGeographyID] || null;\n if (!parent) {\n throw new Error(\n `isDescendant getter can't find parentGeographyID=${args.parentGeographyID}. Perhaps it's a village which isn't loaded?`,\n );\n }\n const child = state.geography[args.childGeographyID] || null;\n if (!child) {\n throw new Error(\n `isDescendant getter can't find childGeographyID=${args.childGeographyID}. Perhaps it's a village which isn't loaded?`,\n );\n }\n return child.path.startsWith(parent.path);\n },\n};\n\nconst mutations = {\n ...domainmodelMutations,\n\n setGeographiesLoaded(state, val: boolean) {\n state.geographiesLoaded = val;\n },\n\n setDistrictVillagesLoaded(state, districtID: number) {\n state.districtVillagesLoaded[districtID] = true;\n },\n\n /**\n * setGeographyState is similar to the standard setState, but with some\n * geography-specific caching and indexing features.\n */\n setGeographyState(state, newState: any) {\n if (!newState.geography) {\n // Early exit if no state was provided\n return;\n }\n\n const newGeos = Object.values(newState.geography) as Geography[];\n\n newGeos.forEach((geo) => {\n if (state.geography.hasOwnProperty(geo.id)) {\n // We've already seen and indexed this... bail out\n return;\n }\n\n // Figure which index we need to store this ID in\n let typeIndex = null as null | number[];\n if (geo.type === 'country') {\n typeIndex = state.countryIDs;\n } else if (geo.type === 'province') {\n typeIndex = state.provinceIDs;\n } else if (geo.type === 'district' && geo.parentID) {\n if (!state.provinceDistrictIDs[geo.parentID]) {\n Vue.set(state.provinceDistrictIDs, geo.parentID, []);\n }\n typeIndex = state.provinceDistrictIDs[geo.parentID];\n } else if (geo.type === 'village' && geo.parentID) {\n if (!state.districtVillageIDs[geo.parentID]) {\n Vue.set(state.districtVillageIDs, geo.parentID, []);\n }\n typeIndex = state.districtVillageIDs[geo.parentID];\n }\n\n // Incorporate the Geography entity into the state lookup\n Vue.set(state.geography, geo.id, geo);\n\n // Add to the global geography index\n state.geographyIDs.push(geo.id);\n\n // Add to the type-specific index if one was identified\n if (typeIndex) {\n typeIndex.push(geo.id);\n }\n });\n },\n};\n\nconst actions = {\n /**\n * fetchGeography ensures the supplied Geography with the supplied id (or ids)\n * is fetched from the server and is present in the Vuex store.\n */\n async fetchGeography(\n { commit, dispatch, state },\n id: number | number[],\n ): Promise {\n // First ensure the base-level (Country + Province + District) geographies\n // are loaded in case this is one of those, but don't force-load them.\n // This should resolve instantly if the Application-wide initialization\n // routine (in App.vue) succeeded.\n await dispatch('fetchGeographies', false);\n\n // Find IDs that are not in existing state\n const ids: number[] = _.flatten([id]);\n const idsToFetch: number[] = _.difference(ids, state.geographyIDs);\n\n // Only make API call if there are new geographies to fetch\n if (idsToFetch.length > 0) {\n const idsStr = idsToFetch.join(',');\n const response = await geographyAPI.get(\n `/geographies/batch?ids=${idsStr}`,\n );\n const newState = response.data.data;\n commit('setState', newState);\n }\n },\n\n /**\n * fetchGeographies fetches the \"base\" (Country, Province, and District) geos\n * from the server and adds them to Vuex. This is called by App.vue to ensure\n * base geography data is always available.\n */\n async fetchGeographies({ commit, state }, force: boolean): Promise {\n if (!force && state.geographiesLoaded) {\n return await Promise.resolve();\n }\n const response = await geographyAPI.get(`/geographies`);\n const newState = response.data.data;\n commit('setGeographyState', newState);\n commit('setGeographiesLoaded');\n },\n\n /**\n * fetchVillagesForDistrict is useful to supplement fetchGeographies, to fetch\n * a targeted set of geographies that were not fetched at startup. The\n * GeographySelector calls this fetcher when a District is selected so that it\n * can display the Villages beneath that district.\n */\n async fetchVillagesForDistrict(\n { commit, state },\n payload: { districtID: number; force: boolean },\n ): Promise {\n if (!payload.force && state.districtVillagesLoaded[payload.districtID]) {\n return await Promise.resolve();\n }\n const response = await geographyAPI.get(\n `/districts/${payload.districtID}/villages`,\n );\n const newState = response.data.data;\n commit('setGeographyState', newState);\n commit('setDistrictVillagesLoaded', payload.districtID);\n },\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport { AfghanistanID } from '@/vuex/geography/geography';\nimport { Profile } from '@/vuex/profile/profile';\n\nexport default Vue.extend({\n props: {\n value: Object,\n allowIdentityEdit: Boolean,\n },\n\n computed: {\n /**\n * profile computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n profile(): Profile {\n const defaultProfile: Profile = {\n id: 0,\n partyID: 0,\n name: '',\n surname: '',\n fatherName: '',\n grandfatherName: '',\n birthplaceGeographyID: AfghanistanID,\n residenceGeographyID: AfghanistanID,\n nationalityID: 1,\n aliases: [],\n birthdate: '',\n birthdateIsApproximate: true,\n heightInCm: 0,\n weightInKg: 0,\n hairColorID: 0,\n eyeColorID: 0,\n genderID: 1,\n criminalGroupIDs: [],\n criminalGroupRoleID: 0,\n infectiousDiseaseIDs: [],\n mentalDisorderIDs: [],\n motherChildConcernIDs: [],\n bloodType: 'Unknown',\n maritalStatusID: 0,\n numberOfChildren: 0,\n nativeLanguageID: 0,\n secondLanguageID: 0,\n nationalID: '',\n eNationalID: '',\n passportNumber: '',\n isMilitary: false,\n militaryRankID: 0,\n occupation: '',\n description: '',\n identifyingMarks: '',\n canWrite: false,\n canRead: false,\n educationLevelID: 0,\n familyContact: '',\n visitors: '',\n phoneNumber: '',\n emailAddress: '',\n isKochi: false,\n };\n return this.value ? this.value : defaultProfile;\n },\n\n /**\n * nameRules computes the array of rule funcs that is passed to the\n * rules prop on each of the 4 name fields. It needs to be a computed\n * prop so that it can turn off validation if the profile fields are not\n * allowed to be edited on this screen.\n */\n nameRules(): any[] {\n if (!this.allowIdentityEdit) {\n return [];\n }\n return [(v) => !!v || i18n.t('error.required')];\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, val: any, modifier: string = ''): void {\n if (modifier === 'trim') {\n val = val.trim();\n }\n\n const newP = tap(cloneDeep(this.profile), (v) => set(v, key, val));\n\n if (newP.criminalGroupIDs.length < 1) {\n // When no Criminal Groups are selected, we don't want a\n // CriminalGroupRole set\n newP.criminalGroupRoleID = 0;\n }\n if (newP.criminalGroupIDs.length >= 1 && newP.criminalGroupRoleID === 0) {\n // When at least one Criminal Group is set, don't allow Unknown to be\n // set for the CriminalGroupRoleID\n newP.criminalGroupRoleID = 1;\n }\n\n this.$emit('input', newP);\n },\n\n /**\n * updateEntityID wraps the same-named function on the\n * AddImageAttachmentDialog components embedded on the ProfileForm. Since\n * they are not easily accessible to consumers of ProfileForm, this function\n * just calls updateEntityID on each embedded component.\n */\n updateEntityID(entityID: number): void {\n (this.$refs.frontUpload as any).updateEntityID(entityID);\n (this.$refs.sideUpload as any).updateEntityID(entityID);\n (this.$refs.rightSideUpload as any).updateEntityID(entityID);\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfileForm.vue?vue&type=template&id=4c9d59f4&\"\nimport script from \"./ProfileForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfileForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCheckbox,VCol,VRow,VTextField,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport profileAPI from '@/vuex/profile/profileAPI';\nimport { firstModelIDInState } from '@/lib/vuex-domainmodel';\nimport { Profile } from '@/vuex/profile/profile';\n\nimport ProfileForm from '@/components/profile/ProfileForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n error: null as any,\n isOpen: false,\n profile: null as Profile | null,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.error = null;\n this.profile = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (this.profile == null) {\n return;\n }\n try {\n this.error = null;\n const response = await profileAPI.post('profiles/create', {\n data: {\n name: this.profile.name,\n surname: this.profile.surname,\n fatherName: this.profile.fatherName,\n grandfatherName: this.profile.grandfatherName,\n birthdate: this.profile.birthdate,\n birthdateIsApproximate: this.profile.birthdateIsApproximate,\n aliases: this.profile.aliases,\n birthplaceGeographyID: this.profile.birthplaceGeographyID,\n residenceGeographyID: this.profile.residenceGeographyID,\n nationalityID: this.profile.nationalityID,\n nationalID: this.profile.nationalID,\n eNationalID: this.profile.eNationalID,\n passportNumber: this.profile.passportNumber,\n criminalGroupIDs: this.profile.criminalGroupIDs,\n criminalGroupRoleID: this.profile.criminalGroupRoleID,\n genderID: this.profile.genderID,\n heightInCm: this.profile.heightInCm,\n weightInKg: this.profile.weightInKg,\n hairColorID: this.profile.hairColorID,\n eyeColorID: this.profile.eyeColorID,\n bloodType: this.profile.bloodType,\n maritalStatusID: this.profile.maritalStatusID,\n numberOfChildren: this.profile.numberOfChildren,\n nativeLanguageID: this.profile.nativeLanguageID,\n secondLanguageID: this.profile.secondLanguageID,\n canWrite: this.profile.canWrite,\n canRead: this.profile.canRead,\n educationLevelID: this.profile.educationLevelID,\n occupation: this.profile.occupation,\n isMilitary: this.profile.isMilitary,\n militaryRankID: this.profile.militaryRankID,\n description: this.profile.description,\n familyContact: this.profile.familyContact,\n visitors: this.profile.visitors,\n phoneNumber: this.profile.phoneNumber,\n emailAddress: this.profile.emailAddress,\n isKochi: this.profile.isKochi,\n },\n });\n\n // Write the state into the profile store\n const newState = response.data.data;\n this.$store.commit('profile/setState', newState);\n\n // Attach the attachments\n // Any attachments which were uploaded during the Profile creation are\n // stored in the database associated to a random negative ID. This\n // process ensures each attachment get associated with the newly-created\n // Profile ID after its saved.\n const newID = firstModelIDInState(newState, 'profile');\n (this.$refs.profileForm as any).updateEntityID(newID);\n\n this.$emit('saved', newID);\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n ProfileForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddProfileDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddProfileDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddProfileDialog.vue?vue&type=template&id=61f782b0&\"\nimport script from \"./AddProfileDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddProfileDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":_vm.flat,\"tile\":_vm.tile}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dense\":_vm.dense,\"dark\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('profile.profile')))]),_c('v-spacer'),(_vm.allowEdit)?_c('ProfileEditDialog',{attrs:{\"profileID\":_vm.profileID,\"offenderID\":_vm.offenderID}}):_vm._e()],1),_c('v-card-text',[_c('ProfileDetailsDisplay',{attrs:{\"profile\":_vm.profile}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasPermission('profile.edit'))?_c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('profile.editProfile'),\"max-width\":\"1200\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",function(){return [_c('v-btn',_vm._g({attrs:{\"text\":\"\"}},slotProps.on),[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fas fa-edit\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.edit'))+\" \")],1)]},null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('ProfileForm',{model:{value:(_vm.profile),callback:function ($$v) {_vm.profile=$$v},expression:\"profile\"}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport profileAPI from '@/vuex/profile/profileAPI';\nimport { Profile } from '@/vuex/profile/profile';\n\nimport ProfileForm from '@/components/profile/ProfileForm.vue';\n\nexport default Vue.extend({\n props: {\n profileID: Number,\n offenderID: Number,\n },\n data() {\n return {\n error: null as any,\n isOpen: false,\n profile: null as Profile | null,\n };\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('profile', ['profileWithID']),\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n async reset(): Promise {\n if (this.profileID) {\n const myCopy = Object.assign({}, this.profileWithID(this.profileID));\n this.profile = myCopy;\n } else {\n this.profile = null;\n }\n this.error = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.profile) {\n return;\n }\n try {\n this.error = null;\n const response = await profileAPI.post('profiles/update-profile', {\n data: {\n offenderID: this.offenderID || 0,\n profileID: this.profile.id,\n nationalityID: this.profile.nationalityID,\n birthdate: this.profile.birthdate,\n birthdateIsApproximate: this.profile.birthdateIsApproximate,\n heightInCm: this.profile.heightInCm,\n weightInKg: this.profile.weightInKg,\n hairColorID: this.profile.hairColorID,\n eyeColorID: this.profile.eyeColorID,\n genderID: this.profile.genderID,\n criminalGroupIDs: this.profile.criminalGroupIDs,\n criminalGroupRoleID: this.profile.criminalGroupRoleID,\n infectiousDiseaseIDs: this.profile.infectiousDiseaseIDs,\n mentalDisorderIDs: this.profile.mentalDisorderIDs,\n motherChildConcernIDs: this.profile.motherChildConcernIDs,\n bloodType: this.profile.bloodType,\n maritalStatusID: this.profile.maritalStatusID,\n numberOfChildren: this.profile.numberOfChildren,\n nativeLanguageID: this.profile.nativeLanguageID,\n secondLanguageID: this.profile.secondLanguageID,\n nationalID: this.profile.nationalID,\n eNationalID: this.profile.eNationalID,\n passportNumber: this.profile.passportNumber,\n phoneNumber: this.profile.phoneNumber,\n emailAddress: this.profile.emailAddress,\n isMilitary: this.profile.isMilitary,\n militaryRankID: this.profile.militaryRankID,\n occupation: this.profile.occupation,\n description: this.profile.description,\n educationLevelID: this.profile.educationLevelID,\n canRead: this.profile.canRead,\n canWrite: this.profile.canWrite,\n familyContact: this.profile.familyContact,\n visitors: this.profile.visitors,\n aliases: this.profile.aliases,\n isKochi: this.profile.isKochi,\n },\n });\n const combinedState = response.data.data;\n\n const offenderState = _.pick(combinedState, ['offender']);\n this.$store.commit('offender/setState', offenderState);\n\n const profileState = _.pick(combinedState, ['profile']);\n this.$store.commit('profile/setState', profileState);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n ProfileForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileEditDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileEditDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfileEditDialog.vue?vue&type=template&id=6d06bd5a&\"\nimport script from \"./ProfileEditDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfileEditDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.profile)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"3\",\"sm\":\"3\",\"label\":_vm.$t('person.gender'),\"value\":_vm.profile.genderID,\"lookup-table\":\"profile/genders\"}}),(_vm.profile.birthdate)?_c('LabeledData',{attrs:{\"cols\":\"5\",\"label\":_vm.$t('person.birthdate')}},[_c('BirthdateDisplay',{attrs:{\"birthdate\":_vm.profile.birthdate,\"isApproximate\":_vm.profile.birthdateIsApproximate}})],1):_vm._e(),(_vm.profile.birthdate)?_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('person.age')}},[_c('AgeDisplay',{attrs:{\"birthdate\":_vm.profile.birthdate,\"isApproximate\":_vm.profile.birthdateIsApproximate}})],1):_vm._e()],1),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"label\":_vm.$t('person.height'),\"value\":_vm.profile.heightInCm,\"suffix\":\"cm\"}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"label\":_vm.$t('person.weight'),\"value\":_vm.profile.weightInKg,\"suffix\":\"kg\"}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"label\":_vm.$t('person.hairColor'),\"value\":_vm.profile.hairColorID,\"lookup-table\":\"profile/hairColors\",\"include-unknown\":\"\"}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"label\":_vm.$t('person.eyeColor'),\"value\":_vm.profile.eyeColorID,\"lookup-table\":\"profile/eyeColors\",\"include-unknown\":\"\"}})],1),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"6\",\"sm\":\"4\",\"label\":_vm.$t('person.bloodType'),\"value\":_vm.localeStringForBloodType(_vm.profile.bloodType)}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"sm\":\"4\",\"label\":_vm.$t('person.nationality'),\"value\":_vm.profile.nationalityID,\"lookup-table\":\"profile/nationalities\",\"include-unknown\":\"\"}})],1),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('person.nationalID'),\"value\":_vm.profile.nationalID}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('person.eNationalID'),\"value\":_vm.profile.eNationalID}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('person.passport'),\"value\":_vm.profile.passportNumber}})],1),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"4\",\"label\":_vm.$t('person.maritalStatus'),\"value\":_vm.profile.maritalStatusID,\"lookup-table\":\"profile/maritalStatuses\"}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"4\",\"label\":_vm.$t('person.occupation'),\"value\":_vm.profile.occupation,\"include-unknown\":\"\"}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"4\",\"label\":_vm.$t('person.militaryRank'),\"value\":_vm.profile.militaryRankID,\"lookup-table\":\"profile/militaryRanks\"}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"4\",\"label\":_vm.$t('person.numberOfChildren'),\"value\":_vm.profile.numberOfChildren}})],1),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('person.educationLevel'),\"value\":_vm.profile.educationLevelID,\"lookup-table\":\"profile/educationLevels\",\"include-unknown\":\"\"}}),_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('person.canRead'),\"value\":_vm.profile.canRead}}),_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('person.canWrite'),\"value\":_vm.profile.canWrite}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"4\",\"label\":_vm.$t('person.nativeLanguage'),\"value\":_vm.profile.nativeLanguageID,\"lookup-table\":\"profile/languages\",\"include-unknown\":\"\"}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"4\",\"label\":_vm.$t('person.secondLanguage'),\"value\":_vm.profile.secondLanguageID,\"lookup-table\":\"profile/languages\"}})],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-row',{staticClass:\"text-center\",attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"md\":\"10\"}},[_c('AttachmentImage',{attrs:{\"entityType\":\"profile\",\"entityID\":_vm.profile.id,\"location\":\"front\",\"placeholder\":\"/mug-front-gray.jpg\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('AttachmentImage',{attrs:{\"entityType\":\"profile\",\"entityID\":_vm.profile.id,\"location\":\"side\",\"placeholder\":\"/mug-leftSide.jpg\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('AttachmentImage',{attrs:{\"entityType\":\"profile\",\"entityID\":_vm.profile.id,\"location\":\"rightSide\",\"placeholder\":\"/mug-rightSide.jpg\"}})],1)],1),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('classification.criminalGroups'),\"value\":_vm.profile.criminalGroupIDs,\"lookup-table\":\"offender/criminalGroups\"}}),(_vm.profile.criminalGroupRoleID != 0)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('classification.criminalGroupRole'),\"value\":[_vm.profile.criminalGroupRoleID],\"lookup-table\":\"offender/criminalGroupRoles\"}}):_vm._e(),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('classification.mentalDisorders'),\"value\":_vm.profile.mentalDisorderIDs,\"lookup-table\":\"offender/mentalDisorders\"}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.infectiousDiseases'),\"value\":_vm.profile.infectiousDiseaseIDs,\"lookup-table\":\"offender/infectiousDiseases\"}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('classification.motherChildConcerns'),\"value\":_vm.profile.motherChildConcernIDs,\"lookup-table\":\"offender/motherAndChildConcerns\"}})],1)],1)],1),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('person.description'),\"value\":_vm.profile.description}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('person.familyContact'),\"value\":_vm.profile.familyContact}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('person.visitors'),\"value\":_vm.profile.visitors}})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nexport default Vue.extend({\n props: {\n profile: Object,\n },\n computed: {\n ...mapGetters('geography', ['fullGeographyName']),\n ...mapGetters('language', ['localeStringForBloodType']),\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileDetailsDisplay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileDetailsDisplay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfileDetailsDisplay.vue?vue&type=template&id=df50280a&\"\nimport script from \"./ProfileDetailsDisplay.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfileDetailsDisplay.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Profile } from '@/vuex/profile/profile';\n\nimport ProfileEditDialog from '@/components/profile/ProfileEditDialog.vue';\nimport ProfileDetailsDisplay from '@/components/profile/ProfileDetailsDisplay.vue';\n\nexport default Vue.extend({\n props: {\n profileID: Number,\n offenderID: Number,\n allowEdit: Boolean,\n tile: Boolean,\n flat: Boolean,\n dense: Boolean,\n },\n computed: {\n ...mapGetters('profile', ['profileWithID']),\n\n profile(): Profile {\n return this.profileWithID(this.profileID);\n },\n },\n components: {\n ProfileEditDialog,\n ProfileDetailsDisplay,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileDetailsCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileDetailsCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfileDetailsCard.vue?vue&type=template&id=31c6cb9f&\"\nimport script from \"./ProfileDetailsCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfileDetailsCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.profile)?_c('v-card',{attrs:{\"flat\":_vm.flat,\"tile\":_vm.tile}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dense\":_vm.dense,\"dark\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('identity.identity')))]),_c('v-spacer'),(_vm.profile && _vm.allowEdit)?_c('EditIdentityDialog',{attrs:{\"profileID\":_vm.profile.id}}):_vm._e()],1),_c('v-card-text',[_c('ProfileIdentityDisplay',{attrs:{\"profile\":_vm.profile}})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.profileID && _vm.hasPermission('identity.edit'))?_c('CMSFormDialog',{attrs:{\"title\":_vm.$t('identity.editIdentity')},on:{\"reset\":function($event){return _vm.reset()},\"save\":function($event){return _vm.save()}},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('ConfirmationButton',{attrs:{\"text\":\"\",\"prompt\":_vm.$t('person.identityChangePrompt')},on:{\"confirm\":function($event){_vm.isOpen = true}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-edit\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.edit'))+\" \")],1)]},proxy:true}],null,false,4023007400),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),(_vm.profile)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.name')},model:{value:(_vm.profile.name),callback:function ($$v) {_vm.$set(_vm.profile, \"name\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"profile.name\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.surname')},model:{value:(_vm.profile.surname),callback:function ($$v) {_vm.$set(_vm.profile, \"surname\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"profile.surname\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.fatherName')},model:{value:(_vm.profile.fatherName),callback:function ($$v) {_vm.$set(_vm.profile, \"fatherName\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"profile.fatherName\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.grandfatherName')},model:{value:(_vm.profile.grandfatherName),callback:function ($$v) {_vm.$set(_vm.profile, \"grandfatherName\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"profile.grandfatherName\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.birthplace')},model:{value:(_vm.profile.birthplaceGeographyID),callback:function ($$v) {_vm.$set(_vm.profile, \"birthplaceGeographyID\", $$v)},expression:\"profile.birthplaceGeographyID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.residence')},model:{value:(_vm.profile.residenceGeographyID),callback:function ($$v) {_vm.$set(_vm.profile, \"residenceGeographyID\", $$v)},expression:\"profile.residenceGeographyID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('StringArray',{attrs:{\"label\":_vm.$t('person.alias.plural')},model:{value:(_vm.profile.aliases),callback:function ($$v) {_vm.$set(_vm.profile, \"aliases\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"profile.aliases\"}})],1)],1):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport profileAPI from '@/vuex/profile/profileAPI';\nimport { Profile } from '@/vuex/profile/profile';\n\nexport default Vue.extend({\n props: {\n profileID: Number,\n value: Boolean,\n },\n data() {\n return {\n error: null as any,\n isOpen: false,\n\n profile: null as Profile | null,\n };\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('profile', ['profileWithID']),\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to fetch and populate the profile object from the Vuex\n * data.\n */\n async reset(): Promise {\n const localCopy = Object.assign({}, this.profileWithID(this.profileID));\n this.profile = localCopy;\n this.error = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.profile) {\n return;\n }\n try {\n this.error = null;\n const response = await profileAPI.post('profiles/update-identity', {\n data: {\n profileID: this.profileID,\n name: this.profile.name,\n surname: this.profile.surname,\n fatherName: this.profile.fatherName,\n grandfatherName: this.profile.grandfatherName,\n birthplaceGeographyID: this.profile.birthplaceGeographyID,\n residenceGeographyID: this.profile.residenceGeographyID,\n aliases: this.profile.aliases,\n },\n });\n const newState = response.data.data;\n this.$store.commit('profile/setState', newState);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditIdentityDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditIdentityDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditIdentityDialog.vue?vue&type=template&id=43411b80&\"\nimport script from \"./EditIdentityDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditIdentityDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VIcon,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.profile)?_c('div',[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"2\",\"label\":_vm.$t('person.name'),\"value\":_vm.profile.name}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"2\",\"label\":_vm.$t('person.surname'),\"value\":_vm.profile.surname}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"2\",\"label\":_vm.$t('person.fatherName'),\"value\":_vm.profile.fatherName}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"sm\":\"2\",\"label\":_vm.$t('person.grandfatherName'),\"value\":_vm.profile.grandfatherName}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"sm\":\"4\",\"label\":_vm.$t('person.alias.plural'),\"value\":_vm.profile.aliases}}),_c('LabeledData',{attrs:{\"label\":_vm.$t('person.birthplace'),\"value\":_vm.fullGeographyName(_vm.profile.birthplaceGeographyID),\"cols\":\"12\",\"sm\":\"6\"}}),_c('LabeledData',{attrs:{\"label\":_vm.$t('person.residence'),\"cols\":\"12\",\"sm\":\"6\",\"value\":_vm.fullGeographyName(_vm.profile.residenceGeographyID)}})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nexport default Vue.extend({\n props: {\n profile: Object,\n },\n computed: {\n ...mapGetters('geography', ['fullGeographyName']),\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileIdentityDisplay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileIdentityDisplay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfileIdentityDisplay.vue?vue&type=template&id=2154762e&\"\nimport script from \"./ProfileIdentityDisplay.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfileIdentityDisplay.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Profile } from '@/vuex/profile/profile';\n\nimport EditIdentityDialog from '@/components/profile/EditIdentityDialog.vue';\nimport ProfileIdentityDisplay from '@/components/profile/ProfileIdentityDisplay.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n allowEdit: Boolean,\n tile: Boolean,\n flat: Boolean,\n dense: Boolean,\n },\n\n computed: {\n ...mapGetters('profile', ['profileWithID']),\n ...mapGetters('geography', ['fullGeographyName']),\n\n profile(): Profile {\n return this.profileWithID(this.id);\n },\n },\n\n components: {\n EditIdentityDialog,\n ProfileIdentityDisplay,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileIdentityCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileIdentityCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfileIdentityCard.vue?vue&type=template&id=31db5bce&\"\nimport script from \"./ProfileIdentityCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfileIdentityCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VSpacer,VToolbar,VToolbarTitle})\n","import _ from 'lodash';\nimport { TranslatedString } from '@/lib/translated';\n\nexport interface Charge {\n id?: number;\n dossierID?: number;\n caseID?: number;\n partyID?: number;\n crimeID: number;\n participationTypeID: number;\n completionStatusID: number;\n crimeSeverityID: number;\n aggravators?: TranslatedString[];\n mitigators?: TranslatedString[];\n generalAggravatorIDs?: number[];\n generalMitigatorIDs?: number[];\n dispositionTypeID: number;\n}\n\n/**\n * ChargeDispositionTypeID is an enum which mirrors the data in the\n * backend charge_disposition_types database. It exists to allow client-side\n * dynamic behaviors triggered by certain disposition types.\n *\n * Each Charge introduced by a Prosecutor needs to be \"disposed\" at some point\n * (i.e. it needs to reach a resolution). Some dispositions are reached because\n * of actions of the prosecutor, such as NolleProsequi, which means the\n * Prosecutor decided not to prosecute the charge. Others are reached because\n * of the actions of a Judge, such as JudgeDismissed, Acquitted, or Guilty.\n */\nexport const enum ChargeDispositionTypeID {\n Unknown = 0,\n Guilty = 1,\n Acquitted = 2,\n JudgeDismissed = 3,\n NolleProsequi = 4,\n}\n\n/**\n * GuiltyChargeDispositionTypeIDs is a convenience constant which can be\n * referenced in client-side decision making around only those charges which\n * a Judge found the Defendant guilty.\n */\nexport const GuiltyChargeDispositionTypeIDs = [ChargeDispositionTypeID.Guilty];\n\n/**\n * ActiveChargeDispositionTypeIDs is a convenience constant which can be\n * referenced when Guilty or \"potentially Guilty\" charges are desired.\n */\nexport const ActiveChargeDispositionTypeIDs = [\n ChargeDispositionTypeID.Unknown,\n ChargeDispositionTypeID.Guilty,\n];\n\n/**\n * NotGuiltyChargeDispositionTypeIDs is a convenience constant which can be\n * referenced in client-side decision making around only those charges which\n * are resolved in the Defendant not being guilty of the charge.\n */\nexport const NotGuiltyChargeDispositionTypeIDs = [\n ChargeDispositionTypeID.Acquitted,\n ChargeDispositionTypeID.JudgeDismissed,\n ChargeDispositionTypeID.NolleProsequi,\n];\n\n/**\n * JudgeDispositionTypeIDs is a convenience constant which holds the Charge\n * disposition types which can only be set by a Judge. This is intended to be\n * referenced so that Prosecutors get these types excluded on screens which\n * with they interact.\n */\nexport const JudgeDispositionTypeIDs = [\n ChargeDispositionTypeID.Guilty,\n ChargeDispositionTypeID.Acquitted,\n ChargeDispositionTypeID.JudgeDismissed,\n];","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport profileAPI from '@/vuex/profile/profileAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\nimport {\n changedCriteria,\n criteriaToQueryString,\n routeToCriteria,\n} from '@/lib/criteria';\nimport { Profile } from '@/vuex/profile/profile';\n\nimport AddProfileDialog from '@/components/profile/AddProfileDialog.vue';\nimport CrimeSelector from '@/components/crime/CrimeSelector.vue';\nimport ProfileDetailsCard from '@/components/profile/ProfileDetailsCard.vue';\nimport ProfileIdentityCard from '@/components/profile/ProfileIdentityCard.vue';\nimport { ChargeDispositionTypeID } from '@/vuex/court/charge';\n\nexport default Vue.extend({\n props: {\n /**\n * route expects the $route object from the parent component. It is optional\n * and should only be supplied by OffenderList, where we *want* a tight\n * connection between the page URL and the OffenderSearcher criteria object.\n */\n route: Object,\n\n /**\n * dense triggers a more condensed design for the component, which is useful\n * when it appears in a popup or other compressed space.\n */\n dense: Boolean,\n\n selectable: Boolean,\n },\n\n created() {\n if (this.route) {\n this.routeChanged();\n }\n\n // Load the initial data...\n this.fetchData();\n\n // ...then make every future calls to this.fetchData or this.routeChanged\n // be debounced so that they can never be called faster than once\n // every N milliseconds.\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.fetchData = _.debounce(this.fetchData, 400);\n this.routeChanged = _.debounce(this.routeChanged, 400);\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n advancedSearch: false,\n\n initialCriteria: {},\n criteria: {\n q: '',\n name: '',\n surname: '',\n fatherName: '',\n grandfatherName: '',\n alias: '',\n genderID: 0,\n birthplaceGeographyID: 0,\n residenceGeographyID: 0,\n minAge: 0,\n maxAge: 0,\n minHeightInCm: 0,\n maxHeightInCm: 0,\n minWeightInKg: 0,\n maxWeightInKg: 0,\n hairColorID: 0,\n eyeColorID: 0,\n bloodType: '',\n nativeLanguageID: 0,\n secondLanguageID: 0,\n educationLevelID: 0,\n canRead: null as null | boolean,\n canWrite: null as null | boolean,\n isKochi: null as null | boolean,\n isMilitary: null as null | boolean,\n militaryRankID: 0,\n criminalGroupIDs: [],\n nationalityID: 0,\n crimeIDs: [],\n crimeMatchAll: false,\n severityID: 0,\n chargeDispositionIDs: [0, 1],\n },\n resultIDs: [] as number[],\n\n page: {\n number: 1,\n size: 10,\n serverCount: 0,\n },\n };\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('profile', ['profileWithID']),\n ...mapGetters('auth', ['hasPermission']),\n\n allowAdding(): boolean {\n if (!this.hasPermission('profile.create')) {\n return false;\n }\n\n if (!this.selectable) {\n return true;\n }\n return !!this.queryString;\n },\n\n /**\n * criteriaUnchanged returns true when the currently-active criteria\n * is unchanged from its original, default state on the form.\n */\n criteriaUnchanged(): boolean {\n return _.isEqual(this.criteria, this.initialCriteria);\n },\n\n /**\n * profiles computes the array of Profile entities which currently appear\n * in the data table. By injecting search results into the Profile store in\n * Vuex, we ensure that all Profile entity data for the selected item\n * lives on when selecting a Profile for use on other pages.\n */\n profiles(): Profile[] {\n return _.map(this.resultIDs || [], this.profileWithID);\n },\n\n /**\n * queryString computes the URL querystring parameters which will be\n * submitted to the server to perform the search. NOTE that this\n * value is combined with pagination criteria inside fetchData, so this\n * value doesn't exactly match the API request.\n */\n queryString(): string {\n if (_.isEmpty(this.initialCriteria)) {\n this.initialCriteria = _.cloneDeep(this.criteria);\n }\n const cc = changedCriteria(this.criteria, this.initialCriteria);\n return criteriaToQueryString(cc, this.page);\n },\n\n /**\n * headers dynamically builds the headers array so that translations for\n * the column titles can update live, and so that the edit link column is\n * removed *automatically when the selectable prop is set\n */\n headers(): any[] {\n const headers: any[] = [\n { text: i18n.t('person.name'), value: 'name' },\n { text: i18n.t('person.surname'), value: 'surname' },\n { text: i18n.t('person.fatherName'), value: 'fatherName' },\n { text: i18n.t('person.grandfatherName'), value: 'grandfatherName' },\n { text: i18n.t('person.alias.plural'), value: 'alias', width: '15%' },\n {\n text: i18n.t('person.birthplace'),\n value: 'birthplaceGeographyID',\n },\n {\n text: 'Age',\n value: 'birthdate',\n },\n { value: null, text: '', width: '2%' },\n ];\n return headers;\n },\n\n /**\n * crimeCols computes the number of columns each UI element should\n * occupy in the crime selection row.\n */\n crimeCols(): number {\n if (this.showChargeDisposition) {\n return 4;\n }\n return 6;\n },\n\n /**\n * showChargeDisposition computes whether the Charge Disposition Column\n * should be displayed.\n */\n showChargeDisposition(): boolean {\n const haveCrimes = this.criteria.crimeIDs.length > 0;\n const haveSeverity = this.criteria.severityID !== 0;\n if (haveCrimes || haveSeverity) {\n return true;\n }\n return false;\n },\n },\n\n watch: {\n /**\n * route is watched so that when the $route of the topmost component\n * changes, we can update the query string. Note that we don't watch\n * $route directly from this component (note the lack of a dollar sign here),\n * because that would potentially trigger at undesirable times.\n *\n * Since we can search for Offenders from other places than the full\n * OffenderList page, we don't always want the route to be tied to this\n * component's behavior.\n */\n route(route: any) {\n this.routeChanged();\n },\n\n /**\n * queryString is watched so that a new search can be triggered.\n */\n queryString(newVal: string) {\n this.fetchData();\n },\n\n /**\n * criteria is watched so that when the search criteria is changed after\n * results have already been returned, we can reset the page number.\n */\n criteria: {\n deep: true,\n immediate: false,\n handler(newVal, oldVal) {\n if (this.page.serverCount > 0 && this.page.number > 1) {\n this.page.number = 1;\n }\n },\n },\n\n /**\n * advancedSearch changes the UI, so we need to make sure to reset\n * the no longer visible fields\n */\n advancedSearch(isAdvanced: boolean) {\n if (isAdvanced) {\n this.resetSimpleCriteria();\n } else {\n this.resetAdvancedCriteria();\n }\n },\n\n showChargeDisposition(show: boolean): void {\n if (show) {\n this.criteria.chargeDispositionIDs = [\n ChargeDispositionTypeID.Unknown,\n ChargeDispositionTypeID.Guilty,\n ];\n }\n },\n },\n\n methods: {\n /**\n * afterProfileAdded is triggered when the user successfully adds a new\n * record via the add dialog attached to the search interface. It receives\n * the ID of the newly-created Profile, and immediately selects it if the\n * searcher is in selectable mode. If not, it forcefully adds it to the\n * front of the search results so the user immediately sees it.\n */\n afterProfileAdded(newID: number): void {\n if (this.selectable) {\n this.selectProfile(newID);\n } else {\n this.resultIDs.unshift(newID);\n if (this.page.serverCount < 1) {\n this.page.serverCount = 1;\n }\n }\n },\n\n /**\n * selectProfile is triggered by a click on one of the rows in the table,\n * only when the selectable prop is set.\n */\n selectProfile(profileID: any): void {\n this.$emit('selected', parseInt(profileID, 10));\n },\n\n /**\n * routeChanged is triggered when the page URL changes.\n */\n routeChanged(): void {\n routeToCriteria(this.route, this.criteria, this.page);\n if (!this.criteriaUnchanged && this.criteria.q === '') {\n this.advancedSearch = true;\n }\n },\n\n /**\n * reset clears the search and resets search results. Primarily designed\n * to be called externally via a $ref to this component so that the searcher\n * can be reset when a dialog is opened.\n */\n reset(): void {\n this.$nextTick(() => {\n this.resetSimpleCriteria();\n this.resetAdvancedCriteria();\n\n if (this.$refs.query) {\n (this.$refs.query as any).focus();\n }\n });\n },\n\n resetSimpleCriteria(): void {\n this.criteria.q = '';\n },\n\n resetAdvancedCriteria(): void {\n this.criteria = Object.assign(this.criteria, this.initialCriteria);\n },\n\n /**\n * fetchData performs the actual search. It hits the API with the active\n * query and pagination criteria and updates the locally-held search results\n * data.\n */\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n\n try {\n const url = `/profiles/search?${this.queryString}`;\n const resp = await profileAPI.get(url);\n this.page.serverCount = _.get(resp, 'data.meta.totalResults', 0);\n const profiles = _.get(resp, 'data.data', []);\n this.resultIDs = _.map(profiles, 'id');\n const newState = modelsToState('profile', profiles);\n this.$store.commit('profile/setState', newState);\n this.$emit('queryChanged', this.queryString);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n\n components: {\n AddProfileDialog,\n CrimeSelector,\n ProfileDetailsCard,\n ProfileIdentityCard,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSearcher.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSearcher.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfileSearcher.vue?vue&type=template&id=3b8f27b7&\"\nimport script from \"./ProfileSearcher.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfileSearcher.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCheckbox,VCol,VDataTable,VDivider,VForm,VIcon,VRadio,VRadioGroup,VRow,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Profile } from '@/vuex/profile/profile';\n\nimport ProfileSearcher from '@/components/profile/ProfileSearcher.vue';\n\nexport default Vue.extend({\n props: {\n value: [Array, Number],\n\n // label is a passthrough to the v-autocomplete label prop\n label: String,\n\n // rules is a passthrough to the v-autocomplete rules prop\n rules: Array,\n\n // disabled is a passthrough to the v-autocomplete disabled prop\n disabled: Boolean,\n\n // value is the prop that makes this component work with v-model\n clearable: Boolean,\n\n // partyMode changes the v-model binding behavior of the\n // ProfileSearchSelector. Normally, the ProfileSearchSelector binds\n // with the ID of a profile.\n partyMode: Boolean,\n\n // Controls whether multiple profiles may be selected\n multiple: Boolean,\n },\n data() {\n return {\n loading: false,\n isOpen: false,\n\n // profileIDs is the internal representation of the IDs for the\n // selected profiles. When partyMode is false, this variable\n // will be updated to ensure it always matches the value prop.\n // When partyMode is true, this variable holds the equivalent\n // profileIDs to match the partyIDs which are in the value\n // prop.\n profileIDs: [] as number[],\n };\n },\n watch: {\n /**\n * isOpen is watched so that we can ensure the search criteria\n * in the profileSearcher gets reset each time we begin a new\n * selection process.\n */\n isOpen(newVal: boolean): void {\n this.$nextTick(() => {\n (this.$refs.profileSearcher as any).reset();\n });\n },\n\n /**\n * value is watched so that when something outside this component\n * changes the value to which we are binding data, the internal\n * representation held inside this component (profileIDs) can\n * be updated to match.\n */\n value(newVal: number | number[]): void {\n const newValAsArray = _.flatten([newVal]) as number[];\n if (newValAsArray.length === 0 && this.profileIDs.length !== 0) {\n // Special early-exit case that works for partyMode and non-partyMode.\n // When the incoming data is blank, we can blank the local data.\n this.profileIDs = [];\n return;\n }\n\n if (this.partyMode) {\n // The incoming data are Party IDs\n // TODO - Could we somehow ask the server to translate\n // PartyIDs => ProfileIDs here?\n } else {\n // Incoming data are Profile IDs\n // To avoid infinite recursion between the value and profileIDs\n // watchers, we only apply the change if the IDs differ.\n const idsMatch = _.isEqual(\n _.sortBy(newValAsArray),\n _.sortBy(this.profileIDs),\n );\n if (!idsMatch) {\n this.profileIDs = [...newValAsArray];\n }\n }\n },\n\n /**\n * profileIDs is watched so that when the internal representation\n * of data is changed (by user selection activity), we can broadcast\n * that change out to get externally data-bound values updated.\n */\n async profileIDs(newIDs: number[]): Promise {\n let ids = [...this.profileIDs] as number[];\n\n if (this.partyMode) {\n // In partyMode, we can't be confident that the referenced party\n // objects are loaded in the court.party Vuex store, so we have to\n // fetch them.\n if (this.profiles.length > 0) {\n ids = _.map(this.profiles, 'partyID');\n this.loading = true;\n await this.$store.dispatch('court/fetchParty', ids);\n this.loading = false;\n }\n }\n\n if (this.multiple) {\n this.$emit('input', ids);\n } else {\n this.$emit('input', _.first(ids));\n }\n },\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('court', ['partyName']),\n ...mapGetters('profile', ['profileWithID', 'profileName']),\n\n profiles(): Profile[] {\n return _.map(this.profileIDs, this.profileWithID);\n },\n\n currentProfileName(): string {\n // Use a different name-mapping function in party and non-party mode\n const nameFunc = this.partyMode ? this.partyName : this.profileName;\n // Convert value to an array of IDs, which might be empty\n const ids = _.flatten([this.value || []]);\n // Map the ids into names\n return _.map(ids, nameFunc).join(', ');\n },\n },\n methods: {\n /**\n * clearSelection is the event handler for the textfield's clear button\n * We use it to reset the data-bound value to its zero value. In\n * single mode, this is the number 0. In multiple mode, this is an empty\n * array.\n */\n clearSelection(): void {\n if (!this.multiple) {\n this.$emit('input', 0);\n } else {\n this.$emit('input', []);\n }\n },\n\n /**\n * makeSelection is the event handler for the user either clicking-on\n * or finishing the creation of an entity. In both cases, that ID becomes\n * part of the selection.\n */\n makeSelection(selectedID: any): void {\n if (!this.multiple) {\n this.profileIDs = [selectedID];\n this.isOpen = false;\n } else {\n this.profileIDs = _.uniq([...this.profileIDs, selectedID]);\n }\n },\n\n /**\n * removeSelectionAtIndex is the event handler for the X (remove) button\n * on the chips of selected items in multiple mode. We use it to splice\n * out the clicked item from the values and re-emit the updated value.\n */\n removeSelectionAtIndex(i: number): void {\n this.profileIDs.splice(i, 1);\n },\n },\n components: {\n ProfileSearcher,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSearchSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSearchSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfileSearchSelector.vue?vue&type=template&id=6e7b6c90&\"\nimport script from \"./ProfileSearchSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfileSearchSelector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProfileSearchSelector.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VChip,VDialog,VSpacer,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport ProfileSearchSelector from '@/components/profile/ProfileSearchSelector.vue';\n\nexport default Vue.extend({\n data() {\n return {\n isOpen: false,\n suspectProfileID: 0,\n };\n },\n methods: {\n reset(): void {\n this.suspectProfileID = 0;\n },\n save(): void {\n this.$emit('save', this.suspectProfileID);\n this.isOpen = false;\n },\n },\n components: {\n ProfileSearchSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddSuspectDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddSuspectDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddSuspectDialog.vue?vue&type=template&id=356a8138&\"\nimport script from \"./AddSuspectDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddSuspectDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Profile } from '@/vuex/profile/profile';\n\nimport AddSuspectDialog from '@/components/detection/crimeReport/AddSuspectDialog.vue';\n\nexport default Vue.extend({\n props: {\n value: {\n type: Array,\n required: true,\n },\n },\n computed: {\n ...mapGetters('profile', ['profileWithID']),\n suspects(): Profile[] {\n return _.map(this.value || [], (id) => this.profileWithID(id));\n },\n headers(): any[] {\n const h = [\n {\n text: this.$i18n.t('person.name'),\n value: 'name',\n },\n {\n text: this.$i18n.t('person.surname'),\n value: 'surname',\n },\n {\n text: this.$i18n.t('person.fatherName'),\n value: 'fatherName',\n },\n {\n text: this.$i18n.t('person.grandfatherName'),\n value: 'grandfatherName',\n },\n\n {\n text: this.$i18n.t('command.delete'),\n width: '2%',\n },\n ];\n return h;\n },\n },\n methods: {\n addSuspectWithProfileID(profileID: number): void {\n const newItems = _.uniq([...this.value, profileID]);\n this.$emit('input', newItems);\n },\n deleteSuspectByIndex(index: number): void {\n const newItems = [...this.value];\n newItems.splice(index, 1);\n this.$emit('input', newItems);\n },\n },\n components: {\n AddSuspectDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuspectsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuspectsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SuspectsTable.vue?vue&type=template&id=478edcca&\"\nimport script from \"./SuspectsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./SuspectsTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VDataTable,VIcon,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\",\"dense\":\"\",\"extension-height\":\"20\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('AddVictimDialog',{on:{\"save\":function($event){return _vm.addVictim($event)}}})]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('victim.plural')))])],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"items\":_vm.victims,\"headers\":_vm.headers,\"hide-default-footer\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nvar index = ref.index;\nreturn [_c('tr',[_c('td',[_vm._v(_vm._s(item.name))]),_c('td',[_vm._v(_vm._s(item.surname))]),_c('td',[_vm._v(_vm._s(item.fatherName))]),_c('td',[_vm._v(_vm._s(item.grandfatherName))]),_c('td',[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.deleteVictimByIndex(index)}}},[_c('v-icon',[_vm._v(\"fa-times-circle\")])],1)],1)])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('victim.singular'),\"saveAllowed\":!!_vm.partyID,\"buttonSize\":\"small\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('PartySearchSelector',{attrs:{\"label\":_vm.$t('victim.singular'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.partyID),callback:function ($$v) {_vm.partyID=$$v},expression:\"partyID\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-text-field',{staticClass:\"party-selector\",attrs:{\"value\":_vm.currentPartyName,\"readonly\":\"\",\"append-icon\":\"arrow_drop_down\",\"rules\":_vm.rules,\"disabled\":_vm.disabled || false,\"label\":_vm.label || _vm.$t('party.singular'),\"clearable\":_vm.clearable},on:{\"click\":function($event){_vm.isOpen = true},\"click:clear\":_vm.clearSelection}}),_c('v-dialog',{attrs:{\"max-width\":\"900px\",\"scrollable\":\"\",\"persistent\":\"\"},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('PartySearcher',{ref:\"partySearcher\",attrs:{\"selectable\":\"\"},on:{\"selected\":function($event){return _vm.makeSelection($event)}},scopedSlots:_vm._u([(_vm.multiple && _vm.value.length)?{key:\"header\",fn:function(){return [_c('div',{staticClass:\"pa-4\"},_vm._l((_vm.value),function(partyID,index){return _c('v-chip',{key:index,staticClass:\"ma-1\",attrs:{\"close\":\"\"},on:{\"click:close\":function($event){return _vm.removeSelectionAtIndex(index)}}},[_vm._v(\" \"+_vm._s(_vm.partyName(partyID))+\" \")])}),1)]},proxy:true}:null,{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"small\":\"\",\"text\":\"\",\"color\":\"error\"},on:{\"click\":function($event){_vm.isOpen = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.cancel'))+\" \")]),(_vm.multiple)?_c('v-btn',{attrs:{\"color\":\"accent\",\"type\":\"submit\"},on:{\"click\":function($event){_vm.isOpen = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.ok'))+\" \")]):_vm._e()]},proxy:true}],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.fetchData()}}},[_c('v-toolbar',{staticClass:\"mb-5\",attrs:{\"dark\":\"\",\"color\":\"primary\",\"extension-height\":_vm.dense ? '20px' : '40px'},scopedSlots:_vm._u([(_vm.allowAdding)?{key:\"extension\",fn:function(){return [_c('AddPartyDialog',{on:{\"saved\":function($event){return _vm.afterPartyAdded($event)}}}),_c('v-spacer'),_c('v-checkbox',{attrs:{\"label\":_vm.$t('advancedSearch')},model:{value:(_vm.advancedSearch),callback:function ($$v) {_vm.advancedSearch=$$v},expression:\"advancedSearch\"}})]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('party.plural')))]),_c('v-spacer'),(!_vm.advancedSearch)?_c('v-text-field',{ref:\"query\",attrs:{\"single-line\":\"\",\"hide-details\":\"\",\"append-icon\":\"search\",\"clearable\":\"\",\"label\":_vm.$t('search')},on:{\"keyup\":function($event){_vm.currentPage = 1;\n _vm.fetchData();},\"click:clear\":_vm.fetchData},model:{value:(_vm.criteria.q),callback:function ($$v) {_vm.$set(_vm.criteria, \"q\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"criteria.q\"}}):_vm._e()],1),_vm._t(\"header\")],2),_c('v-card-text',[(_vm.advancedSearch)?_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.name')},model:{value:(_vm.criteria.name),callback:function ($$v) {_vm.$set(_vm.criteria, \"name\", $$v)},expression:\"criteria.name\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.surname')},model:{value:(_vm.criteria.surname),callback:function ($$v) {_vm.$set(_vm.criteria, \"surname\", $$v)},expression:\"criteria.surname\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.fatherName')},model:{value:(_vm.criteria.fatherName),callback:function ($$v) {_vm.$set(_vm.criteria, \"fatherName\", $$v)},expression:\"criteria.fatherName\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.grandfatherName')},model:{value:(_vm.criteria.grandfatherName),callback:function ($$v) {_vm.$set(_vm.criteria, \"grandfatherName\", $$v)},expression:\"criteria.grandfatherName\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.alias.singular')},model:{value:(_vm.criteria.alias),callback:function ($$v) {_vm.$set(_vm.criteria, \"alias\", $$v)},expression:\"criteria.alias\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.gender'),\"items\":\"profile/genders\",\"disable-sorting\":\"\",\"clearable\":\"\",\"exclude-unknown\":\"\"},model:{value:(_vm.criteria.genderID),callback:function ($$v) {_vm.$set(_vm.criteria, \"genderID\", $$v)},expression:\"criteria.genderID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.birthplace'),\"min-specificity\":\"country\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.birthplaceGeographyID),callback:function ($$v) {_vm.$set(_vm.criteria, \"birthplaceGeographyID\", $$v)},expression:\"criteria.birthplaceGeographyID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.residence'),\"min-specificity\":\"country\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.residenceGeographyID),callback:function ($$v) {_vm.$set(_vm.criteria, \"residenceGeographyID\", $$v)},expression:\"criteria.residenceGeographyID\"}})],1)],1)],1):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"disable-sort\":\"\",\"headers\":_vm.headers,\"items\":_vm.parties,\"loading\":_vm.loading,\"page\":_vm.currentPage,\"items-per-page\":_vm.pageSize,\"server-items-length\":_vm.serverTotalResults,\"footer-props\":{\n 'items-per-page-options': [10, 20, 40, 50, 100],\n },\"no-data-text\":_vm.$t('error.nodata')},on:{\"update:page\":[function($event){_vm.currentPage=$event},function($event){return _vm.fetchData()}],\"update:itemsPerPage\":function($event){_vm.pageSize=$event},\"update:items-per-page\":[function($event){_vm.pageSize=$event},function($event){return _vm.fetchData()}]},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\n var item = ref.item;\nreturn [_c('tr',{class:{ selectable: _vm.selectable },on:{\"click\":function($event){return _vm.selectParty(item.id)}}},[(!_vm.selectable && _vm.hasPermission('party.create'))?_c('td',{staticClass:\"text-center\"},[_c('EditPartyDialog',{attrs:{\"id\":item.id}})],1):_vm._e(),_c('td',[_vm._v(_vm._s(_vm.fullPartyName(item.id)))]),_c('td',[_vm._v(_vm._s(item.aliases.join(', ')))]),_c('td',[_vm._v(_vm._s(item.phoneNumber))]),_c('td',[_vm._v(_vm._s(item.emailAddress))]),_c('td',[_vm._v(_vm._s(_vm.fullGeographyName(item.residenceGeographyID)))])])]}}])})],1)],1),_vm._t(\"footer\")],2),(_vm.$slots.actions)?_c('v-divider'):_vm._e(),(_vm.$slots.actions)?_c('v-card-actions',[_vm._t(\"actions\")],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from 'axios';\n\nimport api, { addAuthInterceptors } from '@/api';\n\nconst courtAPI = axios.create({\n baseURL: `${api.defaults.baseURL}courtservice/`,\n});\naddAuthInterceptors(courtAPI);\nexport default courtAPI;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('party.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('PartyForm',{model:{value:(_vm.party),callback:function ($$v) {_vm.party=$$v},expression:\"party\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('organization.isOrganization'),\"input-value\":_vm.party.isOrganization},on:{\"change\":function($event){return _vm.update('isOrganization', !!$event)}}})],1)],1),(_vm.party.isOrganization)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('organization.orBusinessName'),\"value\":_vm.party.organizationName,\"rules\":_vm.requiredIfOrganization},on:{\"input\":function($event){return _vm.update('organizationName', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('organization.businessLicenseNumber'),\"value\":_vm.party.businessLicenseNumber},on:{\"input\":function($event){return _vm.update('businessLicenseNumber', $event, 'trim')}}})],1)],1):_vm._e(),_c('v-row',{class:{ 'pt-6': _vm.party.isOrganization }},[(_vm.party.isOrganization)?_c('v-col',{staticClass:\"text-h5\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('organization.pointOfContact'))+\" \")]):_vm._e(),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.name'),\"value\":_vm.party.name,\"rules\":_vm.requiredIfIndividual},on:{\"input\":function($event){return _vm.update('name', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.surname'),\"value\":_vm.party.surname,\"rules\":_vm.requiredIfIndividual},on:{\"input\":function($event){return _vm.update('surname', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.fatherName'),\"value\":_vm.party.fatherName,\"rules\":_vm.requiredIfIndividual},on:{\"input\":function($event){return _vm.update('fatherName', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.grandfatherName'),\"value\":_vm.party.grandfatherName,\"rules\":_vm.requiredIfIndividual},on:{\"input\":function($event){return _vm.update('grandfatherName', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.gender'),\"value\":_vm.party.genderID,\"items\":\"profile/genders\",\"exclude-unknown\":\"\"},on:{\"input\":function($event){return _vm.update('genderID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.nationalID'),\"value\":_vm.party.nationalID},on:{\"input\":function($event){return _vm.update('nationalID', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.occupation'),\"value\":_vm.party.occupation},on:{\"input\":function($event){return _vm.update('occupation', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('PhoneField',{attrs:{\"label\":_vm.$t('person.phoneNumber'),\"value\":_vm.party.phoneNumber},on:{\"input\":function($event){return _vm.update('phoneNumber', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.emailAddress'),\"value\":_vm.party.emailAddress},on:{\"input\":function($event){return _vm.update('emailAddress', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.residence'),\"value\":_vm.party.residenceGeographyID,\"min-specificity\":\"country\"},on:{\"input\":function($event){return _vm.update('residenceGeographyID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.birthplace'),\"value\":_vm.party.birthplaceGeographyID,\"min-specificity\":\"country\"},on:{\"input\":function($event){return _vm.update('birthplaceGeographyID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('StringArray',{attrs:{\"label\":_vm.$t('person.alias.plural'),\"value\":_vm.party.aliases,\"title\":_vm.$t('person.addAlias')},on:{\"input\":function($event){return _vm.update('aliases', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('person.isKochi'),\"input-value\":_vm.party.isKochi},on:{\"change\":function($event){return _vm.update('isKochi', $event)}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\n\nimport { Party } from '@/vuex/court/party';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n computed: {\n /**\n * party computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n party(): Party {\n return this.value\n ? this.value\n : {\n id: 0,\n partyTypeID: 0,\n name: '',\n surname: '',\n fatherName: '',\n grandfatherName: '',\n aliases: [],\n nationalID: '',\n genderID: 0,\n isKochi: false,\n occupation: '',\n phoneNumber: '',\n emailAddress: '',\n birthplaceGeographyID: 1,\n residenceGeographyID: 1,\n partyAttorneys: [],\n isOrganization: false,\n organizationName: '',\n businessLicenseNumber: '',\n isDeleted: false,\n };\n },\n\n requiredIfIndividual(): any[] {\n if (!this.party.isOrganization) {\n return [(v) => !!v || this.$i18n.t('error.required')];\n }\n return [];\n },\n\n requiredIfOrganization(): any[] {\n if (this.party.isOrganization) {\n return [(v) => !!v || this.$i18n.t('error.required')];\n }\n return [];\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.party), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PartyForm.vue?vue&type=template&id=ef65b76e&\"\nimport script from \"./PartyForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./PartyForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCheckbox,VCol,VRow,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { firstModelIDInState } from '@/lib/vuex-domainmodel';\nimport { Party } from '@/vuex/court/party';\n\nimport PartyForm from '@/components/court/party/PartyForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n error: null as any,\n isOpen: false,\n party: null as Party | null,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.error = null;\n this.party = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.party) {\n return;\n }\n\n try {\n this.error = null;\n const response = await courtAPI.post('parties/create', {\n data: {\n name: this.party.name,\n surname: this.party.surname,\n fatherName: this.party.fatherName,\n grandfatherName: this.party.grandfatherName,\n aliases: this.party.aliases,\n nationalID: this.party.nationalID,\n genderID: this.party.genderID,\n isKochi: this.party.isKochi,\n occupation: this.party.occupation,\n phoneNumber: this.party.phoneNumber,\n emailAddress: this.party.emailAddress,\n birthplaceGeographyID: this.party.birthplaceGeographyID,\n residenceGeographyID: this.party.residenceGeographyID,\n isOrganization: this.party.isOrganization,\n organizationName: this.party.organizationName,\n businessLicenseNumber: this.party.businessLicenseNumber,\n },\n });\n // Store the newly-created entity in the Vuex store\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n\n // Notify consumers of the newly-created record's ID\n const newID = firstModelIDInState(newState, 'party');\n this.$emit('saved', newID);\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n PartyForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPartyDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPartyDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddPartyDialog.vue?vue&type=template&id=70540730&\"\nimport script from \"./AddPartyDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddPartyDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"fullscreen\":\"\",\"title\":_vm.$t('party.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",null,null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('PartyForm',{model:{value:(_vm.party),callback:function ($$v) {_vm.party=$$v},expression:\"party\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { Party } from '@/vuex/court/party';\n\nimport PartyForm from './PartyForm.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n data() {\n return {\n error: null as any,\n isOpen: false,\n party: null as Party | null,\n };\n },\n computed: {\n ...mapGetters('court', ['partyWithID']),\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n if (this.id) {\n // Make a copy of the party so that the form remains cancellable\n // and we don't make direct edits to the Vuex object\n const existingParty = this.partyWithID(this.id);\n this.party = Object.assign({}, existingParty);\n } else {\n this.party = null;\n }\n this.error = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.party) {\n return;\n }\n try {\n this.error = null;\n const response = await courtAPI.post('parties/update', {\n data: {\n id: this.id,\n name: this.party.name,\n surname: this.party.surname,\n fatherName: this.party.fatherName,\n grandfatherName: this.party.grandfatherName,\n aliases: this.party.aliases,\n nationalID: this.party.nationalID,\n genderID: this.party.genderID,\n isKochi: this.party.isKochi,\n occupation: this.party.occupation,\n phoneNumber: this.party.phoneNumber,\n emailAddress: this.party.emailAddress,\n birthplaceGeographyID: this.party.birthplaceGeographyID,\n residenceGeographyID: this.party.residenceGeographyID,\n isOrganization: this.party.isOrganization,\n organizationName: this.party.organizationName,\n businessLicenseNumber: this.party.businessLicenseNumber,\n isDeleted: this.party.isDeleted,\n },\n });\n\n // Store the newly-created entity in the Vuex store\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n PartyForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditPartyDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditPartyDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditPartyDialog.vue?vue&type=template&id=368244e2&\"\nimport script from \"./EditPartyDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditPartyDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\nimport { Party } from '@/vuex/court/party';\n\nimport AddPartyDialog from '@/components/court/party/AddPartyDialog.vue';\nimport EditPartyDialog from '@/components/court/party/EditPartyDialog.vue';\n\nexport default Vue.extend({\n props: {\n selectable: Boolean,\n dense: Boolean,\n },\n created() {\n // Load the initial data...\n this.fetchData();\n // then make every future call to this.fetchData be debounced so that\n // it can never be called faster than once every N milliseconds.\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.fetchData = _.debounce(this.fetchData, 400);\n },\n data() {\n return {\n loading: false,\n advancedSearch: false,\n criteria: {\n q: '',\n name: '',\n surname: '',\n fatherName: '',\n grandfatherName: '',\n alias: '',\n genderID: 0,\n birthplaceGeographyID: 0,\n residenceGeographyID: 0,\n },\n resultIDs: [] as number[],\n currentPage: 1,\n serverTotalResults: 0,\n pageSize: 10,\n };\n },\n computed: {\n ...mapGetters('geography', ['fullGeographyName']),\n ...mapGetters('court', ['fullPartyName', 'partyWithID']),\n ...mapGetters('auth', ['hasPermission']),\n\n allowAdding(): boolean {\n if (this.hasPermission('party.create')) {\n if (!this.selectable) {\n // On the PartyList page, or any context where the user is not\n // being asked to select something, allow them to Add new parties\n // anytime.\n return true;\n }\n // Otherwise require them to search first\n return !!this.queryString;\n }\n\n return false;\n },\n\n /**\n * parties computes the array of Party entities which currently appear\n * in the data table. By injecting search results into the Party store in\n * Vuex, we ensure that all Party entity data for the selected item\n * lives on when selecting a Party for use on other pages.\n */\n parties(): Party[] {\n return _.map(this.resultIDs || [], this.partyWithID);\n },\n\n /**\n * queryString computes the URL querystring parameters which will be\n * submitted to the server to perform the search. NOTE that this\n * value is combined with pagination criteria inside fetchData, so this\n * value doesn't exactly match the API request.\n */\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n\n /**\n * headers dynamically builds the headers array so that translations for\n * the column titles can update live.\n */\n headers(): any[] {\n const headers: any[] = [\n { text: i18n.t('person.name'), value: 'name ', width: '30%' },\n { text: i18n.t('person.alias.plural'), value: 'alias ', width: '15%' },\n {\n text: i18n.t('person.phoneNumber'),\n value: 'phoneNumber',\n },\n {\n text: i18n.t('person.emailAddress'),\n value: 'emailAddress',\n },\n {\n text: i18n.t('person.residence'),\n value: 'residenceGeographyID',\n },\n ];\n if (!this.selectable) {\n headers.unshift({\n text: i18n.t('command.edit'),\n value: null,\n sortable: false,\n });\n }\n return headers;\n },\n },\n watch: {\n /**\n * queryString is watched so that a new search can be triggered.\n * We also reset back to page #1 anytime a new search is triggered.\n */\n queryString(newVal: string) {\n this.currentPage = 1;\n this.fetchData();\n },\n\n /**\n * advancedSearch changes the UI, so we need to make sure to reset\n * the no longer visible fields\n */\n advancedSearch(isAdvanced: boolean) {\n this.reset();\n },\n },\n methods: {\n /**\n * afterPartyAdded is triggered when the user successfully adds a new\n * record via the add dialog attached to the search interface. It receives\n * the ID of the newly-created Party, and immediately selects it if the\n * searcher is in selectable mode. If not, it forcefully adds it to the\n * front of the search results so the user immediately sees it.\n */\n afterPartyAdded(newID: number): void {\n if (this.selectable) {\n this.selectParty(newID);\n } else {\n this.resultIDs.unshift(newID);\n if (this.serverTotalResults < 1) {\n this.serverTotalResults = 1;\n }\n }\n },\n\n /**\n * selectParty is triggered by a click on one of the rows in the table,\n * only when the selectable prop is set.\n */\n selectParty(partyID: any): void {\n this.$emit('selected', parseInt(partyID, 10));\n },\n\n /**\n * reset clears the search and resets search results. Primarily designed\n * to be called externally via a $ref to this component so that the searcher\n * can be reset when a dialog is opened.\n */\n reset(): void {\n this.$nextTick(() => {\n this.criteria.q = '';\n this.criteria.name = '';\n this.criteria.surname = '';\n this.criteria.fatherName = '';\n this.criteria.grandfatherName = '';\n this.criteria.alias = '';\n this.criteria.genderID = 0;\n this.criteria.birthplaceGeographyID = 0;\n this.criteria.residenceGeographyID = 0;\n this.fetchData();\n if (this.$refs.query) {\n (this.$refs.query as any).focus();\n }\n });\n },\n\n /**\n * fetchData performs the actual search. It hits the API with the active\n * query and pagination criteria and updates the locally-held search results\n * data.\n */\n async fetchData(): Promise {\n this.loading = true;\n\n const args = [] as string[];\n args.push(`page[size]=${this.pageSize}`);\n args.push(`page[number]=${this.currentPage}`);\n args.push(this.queryString);\n\n try {\n const response = await courtAPI.get(\n `/parties/search?` + args.join('&'),\n );\n if (response && response.data && response.data.data) {\n if (response.data.meta) {\n this.serverTotalResults = response.data.meta.totalResults;\n }\n const parties = response.data.data;\n this.resultIDs = _.map(parties, 'id');\n const newState = modelsToState('party', parties);\n this.$store.commit('court/setState', newState);\n\n // Ensure the referenced Geographies are loaded\n const geoIDs = _.chain(this.parties)\n .map((p) => [p.residenceGeographyID])\n .flatten()\n .compact()\n .uniq()\n .value();\n this.$store.dispatch('geography/fetchGeography', geoIDs);\n }\n } finally {\n this.loading = false;\n }\n },\n },\n components: {\n AddPartyDialog,\n EditPartyDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartySearcher.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartySearcher.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PartySearcher.vue?vue&type=template&id=f95efe46&\"\nimport script from \"./PartySearcher.vue?vue&type=script&lang=ts&\"\nexport * from \"./PartySearcher.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardActions,VCardText,VCheckbox,VCol,VDataTable,VDivider,VForm,VRow,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport PartySearcher from '@/components/court/party/PartySearcher.vue';\n\nexport default Vue.extend({\n props: {\n value: [Array, Number],\n\n // label is a passthrough to the v-autocomplete label prop\n label: String,\n\n // rules is a passthrough to the v-autocomplete rules prop\n rules: Array,\n\n // disabled is a passthrough to the v-autocomplete disabled prop\n disabled: Boolean,\n\n // value is the prop that makes this component work with v-model\n clearable: Boolean,\n\n // multiple specifies if selection is a single party ID or an array\n // of IDs\n multiple: Boolean,\n },\n\n data() {\n return {\n isOpen: false,\n };\n },\n\n watch: {\n isOpen(newVal: boolean) {\n this.$nextTick(() => {\n (this.$refs.partySearcher as any).reset();\n });\n },\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('court', ['partyName']),\n currentPartyName(): string {\n // Convert value to an array of IDs, which might be empty\n const ids = _.flatten([this.value || []]);\n // Map the ids into party names, and join into a comma-separated string\n return _.map(ids, this.partyName).join(', ');\n },\n },\n\n methods: {\n /**\n * clearSelection is the event handler for the textfield's clear button\n * We use it to reset the data-bound value to its zero value. In\n * single mode, this is the number 0. In multiple mode, this is an empty\n * array.\n */\n clearSelection(): void {\n if (!this.multiple) {\n this.$emit('input', 0);\n } else {\n this.$emit('input', []);\n }\n },\n\n /**\n * makeSelection is the event handler for the user either clicking-on\n * or finishing the creation of an entity. In both cases, that ID becomes\n * part of the selection. In multiple mode, we add it to the array.\n * In single mode we set the value directly.\n */\n makeSelection(selectedID: any): void {\n if (!this.multiple) {\n this.$emit('input', selectedID);\n // We close immediately after selection in single-select mode\n this.isOpen = false;\n return;\n }\n const existingIDs = _.flatten([this.value || []]);\n const newIDs = _.uniq([...existingIDs, selectedID]);\n this.$emit('input', newIDs);\n },\n\n /**\n * removeSelectionAtIndex is the event handler for the X (remove) button\n * on the chips of selected items in multiple mode. We use it to splice\n * out the clicked item from the values and re-emit the updated value.\n */\n removeSelectionAtIndex(i: number): void {\n const existingIDs = _.flatten([this.value || []]);\n const newIDs = [...existingIDs];\n newIDs.splice(i, 1);\n this.$emit('input', newIDs);\n },\n },\n components: {\n PartySearcher,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartySearchSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartySearchSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PartySearchSelector.vue?vue&type=template&id=92ff1b32&\"\nimport script from \"./PartySearchSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./PartySearchSelector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PartySearchSelector.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VChip,VDialog,VSpacer,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport PartySearchSelector from '@/components/court/party/PartySearchSelector.vue';\n\nexport default Vue.extend({\n data() {\n return {\n isOpen: false,\n\n partyID: 0,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.partyID = 0;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use to to notify other components which partyID was selected.\n */\n save(): void {\n this.$emit('save', this.partyID);\n this.isOpen = false;\n },\n },\n components: {\n PartySearchSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddVictimDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddVictimDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddVictimDialog.vue?vue&type=template&id=341fc6c8&\"\nimport script from \"./AddVictimDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddVictimDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Party } from '@/vuex/court/party';\n\nimport AddVictimDialog from '@/components/detection/crimeReport/AddVictimDialog.vue';\n\nexport default Vue.extend({\n props: {\n value: {\n type: Array,\n required: true,\n },\n },\n computed: {\n ...mapGetters('court', ['partyWithID']),\n victims(): Party[] {\n return _.map(this.value || [], (id) => this.partyWithID(id));\n },\n headers(): any[] {\n const h = [\n {\n text: this.$i18n.t('person.name'),\n value: 'name',\n },\n {\n text: this.$i18n.t('person.surname'),\n value: 'surname',\n },\n {\n text: this.$i18n.t('person.fatherName'),\n value: 'fatherName',\n },\n {\n text: this.$i18n.t('person.grandfatherName'),\n value: 'grandfatherName',\n },\n {\n text: this.$i18n.t('command.delete'),\n width: '36px',\n },\n ];\n return h;\n },\n },\n methods: {\n addVictim(partyID: number): void {\n const newItems = _.uniq([...this.value, partyID]);\n this.$emit('input', newItems);\n },\n deleteVictimByIndex(index: number): void {\n const newItems = [...this.value];\n newItems.splice(index, 1);\n this.$emit('input', newItems);\n },\n },\n components: {\n AddVictimDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VictimsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VictimsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./VictimsTable.vue?vue&type=template&id=339a5053&\"\nimport script from \"./VictimsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./VictimsTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VDataTable,VIcon,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\",\"extension-height\":\"20px\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('AddSubjectPropertyDialog',{attrs:{\"buttonSize\":\"small\"},on:{\"saved\":function($event){return _vm.addProperty($event)}}})]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('subjectProperties.plural')))])],1),_c('v-card-text',[(_vm.subjectProperties.length)?_c('v-data-table',{attrs:{\"items\":_vm.subjectProperties,\"headers\":_vm.headers,\"disable-sort\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nvar index = ref.index;\nreturn [_c('tr',[_c('td',[_c('EditSubjectPropertyDialog',{attrs:{\"button-size\":\"xSmall\"},model:{value:(_vm.subjectProperties[index]),callback:function ($$v) {_vm.$set(_vm.subjectProperties, index, $$v)},expression:\"subjectProperties[index]\"}})],1),_c('td',[_vm._v(_vm._s(item.label))]),_c('td',[_vm._v(_vm._s(item.description))]),_c('td',[_vm._v(_vm._s(_vm.fullGeographyName(item.locationGeographyID)))]),_c('td',{staticClass:\"text-right\"},[_vm._v(_vm._s(item.quantity))]),_c('td',{staticClass:\"text-right\"},[_c('AFNDisplay',{attrs:{\"value\":item.totalValueInPuls}})],1),_c('td',{staticClass:\"text-center\"},[_c('ConfirmationButton',{attrs:{\"icon\":\"\",\"x-small\":\"\",\"prompt\":_vm.$t('command.delete') + '?: ' + item.label},on:{\"confirm\":function($event){return _vm.removeProperty(item.index)}}},[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"fa-trash-alt\")])],1)],1),_c('td',[_c('SubjectPropertyExpander',{attrs:{\"object\":_vm.subjectProperties[index]}})],1)])]}}],null,false,532733023)}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"no-activator\":_vm.noActivator,\"title\":_vm.$t('subjectProperties.singular'),\"buttonSize\":_vm.buttonSize},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('SubjectPropertyForm',{model:{value:(_vm.subjectProperty),callback:function ($$v) {_vm.subjectProperty=$$v},expression:\"subjectProperty\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\nvar this$1 = this;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('subjectProperty.type'),\"value\":_vm.subjectProperty.typeID,\"items\":\"court/subjectPropertyTypes\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"exclude-unknown\":\"\"},on:{\"input\":function($event){return _vm.update('typeID', $event)}}})],1),_c('v-spacer'),(_vm.subjectProperty.totalValueInPuls)?_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('AFNCurrencyField',{attrs:{\"value\":_vm.subjectProperty.totalValueInPuls,\"label\":_vm.$t('subjectProperties.totalValue'),\"readonly\":\"\"}})],1):_vm._e()],1),_c('v-row',[(_vm.isDrugs)?_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('court.drug.drugType'),\"items\":\"court/illegalDrugs\",\"value\":_vm.subjectProperty.drugID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"exclude-unknown\":\"\"},on:{\"input\":function($event){return _vm.update('drugID', $event)}}})],1):_vm._e(),(_vm.isCurrency)?_c('v-col',{attrs:{\"cols\":_vm.isForeignCurrency ? 5 : 9}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('currency.singular'),\"items\":\"court/currencies\",\"value\":_vm.subjectProperty.currencyID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"exclude-unknown\":\"\"},on:{\"input\":function($event){return _vm.update('currencyID', $event)}}})],1):_vm._e(),(_vm.isForeignCurrency)?_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('IntField',{attrs:{\"label\":_vm.nameForIDInCollection(\n _vm.subjectProperty.currencyID,\n 'court/currencies'\n ),\"value\":_vm.subjectProperty.foreignCurrencyAmount},on:{\"input\":function($event){return _vm.update('foreignCurrencyAmount', $event)}}})],1):_vm._e(),(_vm.hasQuantity)?_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('subjectProperties.quantity'),\"value\":_vm.subjectProperty.quantity},on:{\"input\":function($event){return _vm.update('quantity', $event, 'number')}}})],1):_vm._e(),(_vm.hasLabel)?_c('v-col',{attrs:{\"cols\":\"5\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('subjectProperties.label'),\"value\":_vm.subjectProperty.label,\"required\":\"\",\"rules\":[function (v) { return !!v || this$1.$i18n.t('error.required'); }]},on:{\"input\":function($event){return _vm.update('label', $event, 'trim')}}})],1):_vm._e(),(_vm.hasLandArea)?_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('LandAreaField',{attrs:{\"label\":_vm.$t('subjectProperties.landArea'),\"type\":\"number\",\"rules\":_vm.requiredForLand},on:{\"input\":function($event){return _vm.update('landAreaInSquareMeters', $event, 'number')}},model:{value:(_vm.subjectProperty.landAreaInSquareMeters),callback:function ($$v) {_vm.$set(_vm.subjectProperty, \"landAreaInSquareMeters\", $$v)},expression:\"subjectProperty.landAreaInSquareMeters\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('AFNCurrencyField',{attrs:{\"label\":_vm.$t('subjectProperties.itemValue') +\n (_vm.isForeignCurrency\n ? ' (' + _vm.nameForIDInCollection(1, 'court/currencies') + ')'\n : ''),\"rules\":[function (v) { return !!v || this$1.$i18n.t('error.required'); }],\"required\":\"\"},on:{\"input\":function($event){return _vm.update('itemValueInPuls', $event)}},model:{value:(_vm.subjectProperty.itemValueInPuls),callback:function ($$v) {_vm.$set(_vm.subjectProperty, \"itemValueInPuls\", $$v)},expression:\"subjectProperty.itemValueInPuls\"}})],1)],1),(_vm.hasLegalDescription)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('subjectProperties.description'),\"value\":_vm.subjectProperty.description,\"rows\":\"2\"},on:{\"input\":function($event){return _vm.update('description', $event, 'trim')}}})],1)],1):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('location.singular'),\"value\":_vm.subjectProperty.locationGeographyID,\"rules\":_vm.requiredForLand},on:{\"input\":function($event){return _vm.update('locationGeographyID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"value\":_vm.subjectProperty.locationDetails,\"rows\":\"2\",\"label\":_vm.$t('subjectProperties.locationDetails')},on:{\"input\":function($event){return _vm.update('locationDetails', $event, 'trim')}}})],1),(_vm.subjectProperty.id)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('item.isDeleted'),\"input-value\":_vm.subjectProperty.isDeleted},on:{\"change\":function($event){return _vm.update('isDeleted', !!$event)}}})],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _ from 'lodash';\nimport Vue from 'vue';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface SubjectProperty {\n id?: number; // Unset during creation when creating New Dossier\n dossierID: number;\n typeID: number;\n label: string;\n description: string;\n drugID: number;\n currencyID: number;\n foreignCurrencyAmount: number;\n locationGeographyID: number;\n locationDetails: string;\n landAreaInSquareMeters: number;\n itemValueInPuls: number;\n quantity: number;\n totalValueInPuls: number;\n isDeleted: boolean;\n}\n\nexport const enum SubjectPropertyTypeID {\n Unknown = 0,\n Movable = 1,\n Immovable = 2,\n Drugs = 3,\n Currency = 4,\n}\n\nexport const state = {\n subjectProperty: {} as { [id: number]: SubjectProperty },\n subjectPropertyIDsForDossier: {} as { [dossierID: number]: number[] },\n};\n\nexport const getters = {\n subjectPropertyForDossier:\n (state) =>\n (dossierID: number): SubjectProperty[] => {\n const properties = state.subjectPropertyIDsForDossier[dossierID] || [];\n return properties.map(\n (id: number) => state.subjectProperty[id],\n ) as SubjectProperty[];\n },\n subjectPropertyTotalValueInPulsForDossier:\n (state, getters) =>\n (dossierID: number): number => {\n const properties = getters.subjectPropertyForDossier(dossierID) || [];\n return _.chain(properties)\n .map((subjectProperty) => subjectProperty.totalValueInPuls)\n .sum()\n .value();\n },\n subjectPropertyWithID:\n (state) =>\n (id: number): SubjectProperty => {\n return state.subjectProperty[id];\n },\n /**\n * subjectPropertyName builds a short string describing one or more subject\n * properties when provided with their IDs. This function depends on the\n * subject property already having been loaded into Vuex.\n */\n subjectPropertyName:\n (state, getters, rootState, rootGetters) =>\n (subjectPropertyID: number | number[]): string => {\n const ids = _.flatten([subjectPropertyID]);\n return _.chain(ids)\n .map((id: number) => {\n const subProp = state.subjectProperty[id];\n if (!subProp) {\n return `Unknown Subject Property: ${id}`;\n }\n\n const nfIDInCol = rootGetters['language/nameForIDInCollection'];\n if (\n subProp.typeID === SubjectPropertyTypeID.Drugs &&\n subProp.drugID\n ) {\n return nfIDInCol(subProp.drugID, 'court/illegalDrugs');\n }\n if (\n subProp.typeID === SubjectPropertyTypeID.Currency &&\n subProp.currencyID\n ) {\n return nfIDInCol(subProp.currencyID, 'court/currencies');\n }\n let label = subProp.label;\n if (subProp.description) {\n label = label + ' - ' + subProp.description;\n }\n return label;\n })\n .value()\n .join(', ');\n },\n};\n\nexport const mutations = {\n /**\n * reindexSubjectPropertiesForDossier re-computes the\n * subjectPropertyIDsForDossier index from scratch by scanning the entire\n * local subjectProperty state and finding the ones with the provided\n * dossierID. This mutation is intended to be called after new subject\n * properties are added to the state.\n */\n reindexSubjectPropertiesForDossier(state, dossierID): void {\n const all: SubjectProperty[] = Object.values(state.subjectProperty);\n const ids = _.chain(all).filter({ dossierID }).map('id').value();\n Vue.set(state.subjectPropertyIDsForDossier, dossierID, ids);\n },\n};\n\nexport const actions = {\n async fetchSubjectPropertiesForDossier(\n { commit },\n payload: { dossierID: number },\n ) {\n const response = await courtAPI.get(\n `dossiers/${payload.dossierID}/subject-properties`,\n );\n const subjectProperties = response.data.data;\n const newState = modelsToState('subjectProperty', subjectProperties);\n commit('setState', newState);\n commit('setTarget', {\n target: 'subjectPropertyIDsForDossier',\n index: payload.dossierID,\n value: _.map(subjectProperties, 'id'),\n });\n },\n};\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\nimport i18n from '@/i18n';\nimport { mapGetters, mapState } from 'vuex';\nimport {\n SubjectProperty,\n SubjectPropertyTypeID,\n} from '@/vuex/court/subjectProperty';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n computed: {\n ...mapGetters('language', ['valueForLocale', 'nameForIDInCollection']),\n ...mapState('court', ['illegalDrugs', 'subjectPropertyTypes']),\n subjectPropertyTypeChoices(): any[] {\n return this.subjectPropertyTypes.map((s) => ({\n value: s,\n text: i18n.t('subjectProperty.subjectPropertyTypes.' + s),\n }));\n },\n\n /**\n * subjectProperty computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n subjectProperty(): SubjectProperty {\n return this.value\n ? this.value\n : {\n id: 0,\n dossierID: 0,\n typeID: SubjectPropertyTypeID.Movable,\n drugID: 0,\n currencyID: 0,\n label: '',\n description: '',\n locationGeographyID: 1,\n locationDetails: '',\n landAreaInSquareMeters: 0,\n itemValueInPuls: 0,\n quantity: 1,\n totalValueInPuls: 0,\n };\n },\n\n drugName(): any {\n if (this.subjectProperty.drugID !== undefined) {\n return this.nameForIDInCollection(\n this.subjectProperty.drugID,\n this.illegalDrugs,\n );\n }\n return ' ';\n },\n\n hasLabel(): boolean {\n switch (this.subjectProperty.typeID) {\n case SubjectPropertyTypeID.Drugs:\n return false;\n case SubjectPropertyTypeID.Currency:\n return false;\n default:\n return true;\n }\n },\n\n isForeignCurrecy(): boolean {\n return this.subjectProperty.currencyID !== 1;\n },\n\n isDrugs(): boolean {\n return this.subjectProperty.typeID === SubjectPropertyTypeID.Drugs;\n },\n\n isCurrency(): boolean {\n return this.subjectProperty.typeID === SubjectPropertyTypeID.Currency;\n },\n\n isForeignCurrency(): boolean {\n if (!this.isCurrency) {\n return false;\n }\n return this.subjectProperty.currencyID !== 1;\n },\n\n hasQuantity(): boolean {\n return this.subjectProperty.typeID === SubjectPropertyTypeID.Movable;\n },\n\n hasLandArea(): boolean {\n return this.subjectProperty.typeID === SubjectPropertyTypeID.Immovable;\n },\n\n hasLegalDescription(): boolean {\n if (this.isCurrency) {\n return false;\n }\n if (this.isDrugs) {\n return false;\n }\n return true;\n },\n\n // requiredForLand returns an error if the value is blank and the\n // subject property is not movable (i.e. if it is land).\n requiredForLand(): any[] {\n if (this.hasLandArea) {\n return [(v) => v > 0 || this.$i18n.t('error.required')];\n }\n return [];\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n // -----------------------------------------------------------------------\n // Apply modifiers to the submitted value (if requested)\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n if (modifier === 'number') {\n let quant = parseInt(value, 10);\n // Force non-numeric input to a number so that the form\n // ignores it (this will show '0' if you type 'a').\n if (Number.isNaN(quant)) {\n quant = 0;\n }\n modifiedValue = quant;\n }\n\n // Build a new entity object including the changed field\n const newSP = tap(cloneDeep(this.subjectProperty), (v) =>\n set(v, key, modifiedValue),\n );\n\n if (key === 'typeID') {\n // Force a Quantity of 1 for everything except Movable property\n // (Drugs, Currency, and Real Estate don't need this)\n if (newSP.typeID !== SubjectPropertyTypeID.Movable) {\n newSP.quantity = 1;\n }\n\n // Force Land Area of 0 for everything except Immovable property\n if (newSP.typeID !== SubjectPropertyTypeID.Immovable) {\n newSP.landAreaInSquareMeters = 0;\n }\n\n // Force Drug ID of 0 for everything except Drugs\n if (newSP.typeID !== SubjectPropertyTypeID.Drugs) {\n newSP.drugID = 0;\n }\n\n // Force Currency ID of 0 for everything except Currency\n if (newSP.typeID !== SubjectPropertyTypeID.Currency) {\n newSP.currencyID = 0;\n } else {\n if (newSP.currencyID === 0) {\n // Default-select Afghani\n newSP.currencyID = 1;\n }\n }\n }\n\n // Ensure the totalValueInPuls field is set\n newSP.totalValueInPuls = newSP.quantity * newSP.itemValueInPuls;\n\n // -----------------------------------------------------------------------\n // Notify the parent that the object changed\n this.$emit('input', newSP);\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertyForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertyForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubjectPropertyForm.vue?vue&type=template&id=0922cb90&\"\nimport script from \"./SubjectPropertyForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubjectPropertyForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCheckbox,VCol,VRow,VSpacer,VTextField,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { SubjectProperty } from '@/vuex/court/subjectProperty';\n\nimport SubjectPropertyForm from '@/components/subjectProperty/SubjectPropertyForm.vue';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n dossierID: {\n default: 0,\n type: Number,\n },\n caseID: {\n default: 0,\n type: Number,\n },\n noActivator: Boolean,\n buttonSize: String,\n },\n\n created() {\n this.isOpen = !!this.value;\n },\n\n data() {\n return {\n isOpen: false,\n error: null as any,\n\n subjectProperty: null as SubjectProperty | null,\n };\n },\n\n watch: {\n value(newVal) {\n this.isOpen = !!newVal;\n },\n\n isOpen(newVal) {\n this.$emit('input', !!newVal);\n },\n },\n\n methods: {\n reset(): void {\n this.subjectProperty = null;\n },\n\n // save is the event handler for the CMSFormDialog's @save event.\n //\n save(): void {\n if (!this.subjectProperty) {\n return;\n }\n if (this.dossierID) {\n this.saveToServer(this.subjectProperty);\n } else {\n this.saveToParent(this.subjectProperty);\n }\n },\n\n // saveToParent is used when the dossierID prop was not supplied to this\n // form. We just notify the parent component that a new SubjectProperty\n // was added.\n saveToParent(sp: SubjectProperty): void {\n this.$emit('saved', sp);\n this.isOpen = false;\n },\n\n // saveToServer is used when the dossierID prop is known and we can persist\n // immediately to the server.\n //\n async saveToServer(sp: SubjectProperty): Promise {\n this.error = null;\n try {\n const response = await courtAPI.post('subject-properties/create', {\n data: {\n dossierID: this.dossierID,\n caseID: this.caseID,\n typeID: sp.typeID,\n drugID: sp.drugID,\n currencyID: sp.currencyID,\n foreignCurrencyAmount: sp.foreignCurrencyAmount,\n label: sp.label,\n description: sp.description,\n locationGeographyID: sp.locationGeographyID,\n locationDetails: sp.locationDetails,\n landAreaInSquareMeters: sp.landAreaInSquareMeters,\n itemValueInPuls: sp.itemValueInPuls,\n quantity: sp.quantity,\n totalValueInPuls: sp.totalValueInPuls,\n },\n });\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/prependToTarget', {\n target: 'subjectPropertyIDsForDossier',\n index: this.dossierID,\n value: Object.keys(newState.subjectProperty),\n });\n\n // Add to the docket\n this.$store.commit('court/addDocketEntry', response);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n SubjectPropertyForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddSubjectPropertyDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddSubjectPropertyDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddSubjectPropertyDialog.vue?vue&type=template&id=07314ad5&\"\nimport script from \"./AddSubjectPropertyDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddSubjectPropertyDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('subjectProperties.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('SubjectPropertyForm',{model:{value:(_vm.subjectProperty),callback:function ($$v) {_vm.subjectProperty=$$v},expression:\"subjectProperty\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { SubjectProperty } from '@/vuex/court/subjectProperty';\n\nimport SubjectPropertyForm from '@/components/subjectProperty/SubjectPropertyForm.vue';\n\nexport default Vue.extend({\n props: {\n id: {\n type: Number,\n required: false,\n default: 0,\n },\n value: {\n type: Object,\n required: false,\n },\n dossierID: {\n default: 0,\n type: Number,\n },\n caseID: {\n default: 0,\n type: Number,\n },\n },\n\n data() {\n return {\n isOpen: false,\n error: null as any,\n\n subjectProperty: null as SubjectProperty | null,\n };\n },\n\n computed: {\n ...mapGetters('court', ['subjectPropertyWithID']),\n },\n\n watch: {\n isOpen(nowOpening: boolean): void {\n if (nowOpening) {\n if (this.id) {\n // Existing SubjectProperty stored in Vuex, supplied via our id prop\n const myCopy = Object.assign({}, this.subjectPropertyWithID(this.id));\n this.subjectProperty = myCopy;\n } else if (this.value) {\n // Existing SubjectProperty stored who knows where, supplied via\n // our v-model binding (the value prop).\n const myCopy = Object.assign({}, this.value);\n this.subjectProperty = myCopy;\n }\n }\n },\n },\n\n methods: {\n reset(): void {\n this.subjectProperty = null;\n },\n\n save(): void {\n if (this.subjectProperty === null) {\n return;\n }\n if (this.dossierID) {\n this.saveToServer(this.subjectProperty);\n } else {\n this.saveToParent(this.subjectProperty);\n }\n },\n\n saveToParent(sp: SubjectProperty): void {\n this.$emit('input', sp);\n this.isOpen = false;\n },\n\n async saveToServer(sp: SubjectProperty): Promise {\n this.error = null;\n\n try {\n const response = await courtAPI.post('subject-properties/update', {\n data: {\n id: sp.id,\n dossierID: this.dossierID,\n caseID: this.caseID,\n typeID: sp.typeID,\n drugID: sp.drugID,\n currencyID: sp.currencyID,\n foreignCurrencyAmount: sp.foreignCurrencyAmount,\n label: sp.label,\n description: sp.description,\n locationGeographyID: sp.locationGeographyID,\n locationDetails: sp.locationDetails,\n landAreaInSquareMeters: sp.landAreaInSquareMeters,\n itemValueInPuls: sp.itemValueInPuls,\n quantity: sp.quantity,\n totalValueInPuls: sp.totalValueInPuls,\n isDeleted: sp.isDeleted,\n },\n });\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n\n // Add to the docket\n this.$store.commit('court/addDocketEntry', response);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n SubjectPropertyForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditSubjectPropertyDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditSubjectPropertyDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditSubjectPropertyDialog.vue?vue&type=template&id=11bb4e3b&\"\nimport script from \"./EditSubjectPropertyDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditSubjectPropertyDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.subjectProperty)?_c('ExpanderDialog',{attrs:{\"title\":_vm.$t('subjectProperties.singular'),\"text\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",null,null,slotProps)]}}],null,true)},[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('subjectProperty.type'),\"value\":_vm.nameForIDInCollection(\n _vm.subjectProperty.typeID,\n 'court/subjectPropertyTypes'\n )}}),(_vm.subjectProperty.quantity > 1)?_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('LabeledData',{attrs:{\"label\":_vm.$t('subjectProperties.quantity'),\"value\":_vm.subjectProperty.quantity}})],1):_vm._e(),(_vm.subjectProperty.quantity > 1)?_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('AFNCurrencyField',{staticClass:\"pa-3 mt-3\",attrs:{\"value\":_vm.subjectProperty.totalValueInPuls,\"label\":_vm.$t('subjectProperties.totalValue'),\"readonly\":\"\"}})],1):_vm._e()],1),_c('v-divider'),_c('v-row',[(_vm.subjectProperty.subjectPropertyType)?_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('subjectProperties.quantity'),\"value\":_vm.subjectProperty.quantity}}):_vm._e(),_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('subjectProperties.label'),\"value\":_vm.subjectProperty.label}}),(_vm.subjectProperty.drugID)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"label\":_vm.$t('court.drug.drugType'),\"value\":_vm.nameForIDInCollection(_vm.subjectProperty.drugID, 'court/illegalDrugs')}}):_vm._e(),(_vm.subjectProperty.currencyID)?_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('currency.singular'),\"value\":_vm.nameForIDInCollection(_vm.subjectProperty.currencyID, 'court/currencies')}}):_vm._e(),(_vm.subjectProperty.foreignCurrencyAmount)?_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.nameForIDInCollection(_vm.subjectProperty.currencyID, 'court/currencies'),\"value\":_vm.subjectProperty.foreignCurrencyAmount}}):_vm._e(),(_vm.subjectProperty.landAreaInSquareMeters)?_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('subjectProperties.landArea'),\"value\":_vm.subjectProperty.landAreaInSquareMeters}},[_c('LandArea',{attrs:{\"value\":_vm.subjectProperty.landAreaInSquareMeters}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('AFNCurrencyField',{attrs:{\"value\":_vm.subjectProperty.itemValueInPuls,\"label\":_vm.$t('subjectProperties.itemValue'),\"readonly\":\"\"}})],1)],1),_c('v-divider'),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"12\",\"label\":_vm.$t('subjectProperties.description'),\"value\":_vm.subjectProperty.description}})],1),_c('v-divider'),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('location.singular'),\"value\":_vm.fullGeographyName(_vm.subjectProperty.locationGeographyID)}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('subjectProperties.locationDetails'),\"value\":_vm.subjectProperty.locationDetails}})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport { SubjectProperty } from '@/vuex/court/subjectProperty';\nimport { mapGetters } from 'vuex';\n\nexport default Vue.extend({\n props: {\n id: Number,\n object: Object,\n },\n computed: {\n ...mapGetters('geography', ['fullGeographyName']),\n ...mapGetters('court', ['subjectPropertyWithID']),\n ...mapGetters('language', ['nameForIDInCollection']),\n subjectProperty(): SubjectProperty | null {\n if (this.id) {\n return this.subjectPropertyWithID(this.id);\n }\n if (this.object) {\n return this.object;\n }\n return null;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertyExpander.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertyExpander.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubjectPropertyExpander.vue?vue&type=template&id=0a8c0ebc&\"\nimport script from \"./SubjectPropertyExpander.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubjectPropertyExpander.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VDivider,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { SubjectProperty } from '@/vuex/court/subjectProperty';\n\nimport AddSubjectPropertyDialog from '@/components/subjectProperty/AddSubjectPropertyDialog.vue';\nimport EditSubjectPropertyDialog from '@/components/subjectProperty/EditSubjectPropertyDialog.vue';\nimport SubjectPropertyForm from '@/components/subjectProperty/SubjectPropertyForm.vue';\nimport SubjectPropertyExpander from '@/components/subjectProperty/SubjectPropertyExpander.vue';\n\nexport default Vue.extend({\n props: {\n value: Array,\n },\n computed: {\n ...mapGetters('geography', ['fullGeographyName']),\n\n subjectProperties(): SubjectProperty[] {\n return (this.value ? this.value : []) as SubjectProperty[];\n },\n\n headers(): any[] {\n return [\n { value: 'edit', text: i18n.t('command.edit'), width: '5%' },\n { value: 'label', text: i18n.t('subjectProperties.label') },\n { value: 'description', text: i18n.t('subjectProperties.description') },\n { value: 'locationGeographyID', text: i18n.t('location.singular') },\n {\n value: 'quantity',\n align: 'right',\n text: i18n.t('subjectProperties.quantity'),\n },\n {\n value: 'totalValueInPuls',\n align: 'right',\n text: i18n.t('subjectProperties.totalValue'),\n },\n {\n value: 'delete',\n text: i18n.t('command.delete'),\n align: 'center',\n width: '5%',\n },\n { value: null, text: '', width: '5%' },\n ];\n },\n },\n\n methods: {\n addProperty(p: SubjectProperty) {\n const properties = [...this.subjectProperties, p];\n this.$emit('input', properties);\n },\n\n removeProperty(i: number) {\n const newItems = [...this.subjectProperties];\n newItems.splice(i, 1);\n this.$emit('input', newItems);\n },\n },\n\n components: {\n AddSubjectPropertyDialog,\n EditSubjectPropertyDialog,\n SubjectPropertyExpander,\n SubjectPropertyForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertiesForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertiesForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubjectPropertiesForm.vue?vue&type=template&id=1a7804cc&\"\nimport script from \"./SubjectPropertiesForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubjectPropertiesForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VDataTable,VIcon,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\n\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport router from '@/router';\n\nimport { SubjectProperty } from '@/vuex/court/subjectProperty';\n\nimport CrimeSelector from '@/components/crime/CrimeSelector.vue';\nimport SuspectsTable from '@/components/detection/crimeReport/SuspectsTable.vue';\nimport VictimsTable from '@/components/detection/crimeReport/VictimsTable.vue';\nimport SubjectPropertiesForm from '@/components/subjectProperty/SubjectPropertiesForm.vue';\n\nexport default Vue.extend({\n props: {\n title: String,\n },\n data() {\n return {\n isOpen: false,\n\n error: null as any,\n\n occurredOn: moment().format(),\n occurredAt: '',\n dossierNumber: '',\n awarenessNumber: '',\n departmentID: 0,\n locationID: 1,\n crimeIDs: [] as number[],\n description: '',\n knownSuspects: false,\n knownSuspectProfileIDs: [] as number[],\n victimIDs: [] as number[],\n wantedSuspectDescription: '',\n wantedSuspectDescriptionBackup: '',\n officerName: '',\n coalitionForcesAffected: false,\n filedAt: moment().format(),\n registeredAt: moment().format(),\n subjectProperties: [] as SubjectProperty[],\n };\n },\n\n watch: {\n /**\n * knownSuspects is watched so that if the user toggles the known suspects\n * we don't lose what was previously entered in the Wanted Suspect Description\n * if they switch back. We don't want to send the wanted suspect description\n * to the server if suspectIDs are sent, but we also don't want to lose\n * the user's entered information if they toggle back-and-forth briefly.\n * Hence the need to store a \"backup\" value.\n */\n knownSuspects(val: boolean): void {\n if (val) {\n this.wantedSuspectDescriptionBackup = this.wantedSuspectDescription;\n this.wantedSuspectDescription = '';\n } else {\n this.wantedSuspectDescription = this.wantedSuspectDescriptionBackup;\n this.wantedSuspectDescriptionBackup = '';\n this.knownSuspectProfileIDs = [];\n }\n },\n },\n\n methods: {\n reset(): void {\n this.dossierNumber = '';\n this.awarenessNumber = '';\n this.departmentID = 0;\n this.filedAt = moment().format();\n this.occurredOn = moment().format();\n this.occurredAt = '';\n this.crimeIDs = [];\n this.description = '';\n this.victimIDs = [];\n this.officerName = '';\n this.wantedSuspectDescription = '';\n this.coalitionForcesAffected = false;\n this.filedAt = moment().format();\n this.registeredAt = moment().format();\n this.subjectProperties = [] as SubjectProperty[];\n this.locationID = 1;\n this.knownSuspectProfileIDs = [] as number[];\n this.knownSuspects = false;\n this.error = null;\n },\n\n async save(): Promise {\n try {\n const response = await investigationAPI.post('crime-reports/create', {\n data: {\n dossierNumber: this.dossierNumber,\n awarenessNumber: this.awarenessNumber,\n departmentID: this.departmentID,\n locationID: this.locationID,\n occurredOn: this.occurredOn,\n occurredAt: this.occurredAt,\n crimeIDs: this.crimeIDs,\n description: this.description,\n victimIDs: this.victimIDs,\n officerName: this.officerName,\n wantedSuspectDescription: this.wantedSuspectDescription,\n suspectIDs: this.knownSuspectProfileIDs,\n hasKnownSuspects: this.knownSuspectProfileIDs.length > 0,\n coalitionForcesAffected: this.coalitionForcesAffected,\n filedAt: this.filedAt,\n subjectProperties: this.subjectProperties,\n },\n });\n\n // Since we have separate Vuex stores for court and investigation\n // We need to split the returned state into two\n const dossierState = { dossier: response.data.data.dossier };\n this.$store.commit('court/setState', dossierState);\n\n const crimeReportState = {\n crimeReport: response.data.data.crimeReport,\n };\n this.$store.commit('investigation/setState', crimeReportState);\n const crimeReportID = Object.keys(crimeReportState.crimeReport)[0];\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(crimeReportID);\n router.push({\n name: 'crimeReportShow',\n params: { id: crimeReportID },\n });\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n CrimeSelector,\n SuspectsTable,\n VictimsTable,\n SubjectPropertiesForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewCrimeReportDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewCrimeReportDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewCrimeReportDialog.vue?vue&type=template&id=b2b1482c&\"\nimport script from \"./NewCrimeReportDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewCrimeReportDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCheckbox,VCol,VRow,VTextField,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport NewCrimeReportDialog from '@/components/detection/crimeReport/NewCrimeReportDialog.vue';\n\nexport default Vue.extend({\n props: {\n active: Boolean,\n },\n computed: {\n ...mapGetters('auth', ['hasPermission', 'entityIDsWithPermission']),\n\n detectionDashboardRoutes(): any {\n const entityIDs = this.entityIDsWithPermission('dashboard.detection');\n const routeTemplate = { name: 'detectionDashboard' };\n\n return _.map(entityIDs, (id: number | string) => {\n if (id === '*') {\n return Object.assign({}, routeTemplate, {\n query: { departmentID: null },\n });\n }\n return Object.assign({}, routeTemplate, {\n query: { departmentID: id },\n });\n });\n },\n },\n components: {\n NewCrimeReportDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryDetectionNav.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryDetectionNav.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PrimaryDetectionNav.vue?vue&type=template&id=5578e1e5&\"\nimport script from \"./PrimaryDetectionNav.vue?vue&type=script&lang=ts&\"\nexport * from \"./PrimaryDetectionNav.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VListGroup } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\ninstallComponents(component, {VIcon,VListGroup,VListItem,VListItemContent,VListItemIcon,VListItemTitle,VSubheader})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (\n _vm.hasPermission('dashboard.investigation') ||\n _vm.hasPermission('dossier.create') ||\n _vm.hasPermission('search.dossier') ||\n _vm.hasPermission('prosecutors.view')\n )?_c('v-list-group',{attrs:{\"value\":_vm.active},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-item-title',[_c('v-subheader',{staticClass:\"ml-n2\"},[_vm._v(\" \"+_vm._s(_vm.$t('module.investigation'))+\" \")])],1)]},proxy:true}],null,false,1981873843)},[_c('NewDossierDialog',{attrs:{\"title\":_vm.dossierDialogTitle,\"forceCaseType\":_vm.dossierCaseType},model:{value:(_vm.dossierDialogOpen),callback:function ($$v) {_vm.dossierDialogOpen=$$v},expression:\"dossierDialogOpen\"}}),_vm._l((_vm.investigationDashboardRoutes),function(rte,index){return _c('v-list-item',{key:index,attrs:{\"to\":rte,\"exact\":\"\"}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-home\")])],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-wrap\"},[_vm._v(\" \"+_vm._s(_vm.$t('dashboard.singular'))+\" \"),_c('div',{staticClass:\"text--disabled text-caption\"},[(rte.query.lastDepartmentID > 0)?_c('DepartmentName',{attrs:{\"id\":rte.query.lastDepartmentID}}):_c('GeographyName',{attrs:{\"id\":1}})],1)])],1)],1)}),(_vm.hasPermission('dossier.create'))?_c('v-list-item',{on:{\"click\":function($event){return _vm.openDossierDialog('huquq')}}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-plus\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('huquqPetition.singular'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('dossier.create'))?_c('v-list-item',{on:{\"click\":function($event){return _vm.openDossierDialog('criminal')}}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-plus\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('investigation.singular'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('dossier.create'))?_c('v-list-item',{on:{\"click\":function($event){return _vm.openDossierDialog('state')}}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-plus\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('stateCase.singular'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('search.dossier'))?_c('v-list-item',{attrs:{\"to\":{ name: 'dossierSearch' }}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-search\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('court.dossier'))+\" \"+_vm._s(_vm.$t('search'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('prosecutors.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'prosecutors' }}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-briefcase\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('prosecutor.plural'))+\" \")])],1)],1):_vm._e()],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"scrollable\":\"\",\"fullscreen\":\"\",\"value\":_vm.value,\"max-width\":\"800px\"},on:{\"input\":function($event){return _vm.$emit('input')}}},[_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.save.apply(null, arguments)}}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"secondary\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.title || '+ ' + _vm.$t('court.dossier'))+\" \")])],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error,\"code-override\":{\n 'postgres.unique_violation': 'dossier.duplicateNumber',\n }}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('DossierNumberField',{attrs:{\"unique\":\"\",\"required\":\"\"},model:{value:(_vm.number),callback:function ($$v) {_vm.number=$$v},expression:\"number\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('dossier.dateCreated'),\"past-dates-only\":\"\"},model:{value:(_vm.filedAt),callback:function ($$v) {_vm.filedAt=$$v},expression:\"filedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('DepartmentSelector',{model:{value:(_vm.departmentID),callback:function ($$v) {_vm.departmentID=$$v},expression:\"departmentID\"}})],1),_c('v-col',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.forceCaseType),expression:\"!forceCaseType\"}]},[_c('CaseTypeSelector',{attrs:{\"label\":_vm.$t('dossier.caseType')},model:{value:(_vm.type),callback:function ($$v) {_vm.type=$$v},expression:\"type\"}})],1),(_vm.type !== 'criminal')?_c('v-col',[_c('v-select',{attrs:{\"items\":_vm.caseTopics,\"label\":_vm.$t('dossier.caseTopic'),\"item-text\":function (d) { return _vm.valueForLocale(d.name); },\"item-value\":\"id\"},model:{value:(_vm.topicID),callback:function ($$v) {_vm.topicID=$$v},expression:\"topicID\"}})],1):_vm._e(),(_vm.type !== 'criminal')?_c('v-col',[_c('LookupTableItemSelector',{attrs:{\"items\":\"court/lawsuitTypes\",\"multiple\":\"\",\"autocomplete\":\"\",\"clearable\":\"\",\"rules\":[function (v) { return v.length > 0 || _vm.$t('error.required'); }],\"label\":_vm.$t('lawsuitType.singular')},model:{value:(_vm.lawsuitTypeIDs),callback:function ($$v) {_vm.lawsuitTypeIDs=$$v},expression:\"lawsuitTypeIDs\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ParticipantsForm',{attrs:{\"caseType\":_vm.type},model:{value:(_vm.participants),callback:function ($$v) {_vm.participants=$$v},expression:\"participants\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('SubjectPropertiesForm',{model:{value:(_vm.subjectProperties),callback:function ($$v) {_vm.subjectProperties=$$v},expression:\"subjectProperties\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"dossier\"}})],1)],1)],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"small\":\"\",\"text\":\"\",\"color\":\"error\"},on:{\"click\":function($event){return _vm.close()}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.cancel'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"accent\",\"type\":\"submit\"}},[_vm._v(\" \"+_vm._s(_vm.$t('command.save'))+\" \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import courtAPI from '@/vuex/court/courtAPI';\nimport { TranslatedString } from '@/lib/translated';\n\nexport interface LookupItem {\n id: number;\n name: TranslatedString;\n type?: string;\n rank?: number;\n}\n\nexport interface AttorneyType {\n id: number;\n name: string;\n}\n\nexport interface DocketEventType {\n id: number;\n name: string;\n module: string;\n willChangeDossierStage: boolean;\n newDossierStageID: number;\n willChangeDepartment: boolean;\n newDepartmentID: number;\n willChangeCourtStage: boolean;\n newCourtStageID: number;\n willChangeCaseStatus: boolean;\n willChangeDossierStatus: boolean;\n newCaseStatusID: number;\n caseDispositionReasonID: number;\n newDossierStatusID: number;\n allowedCourtStageIDs: number[];\n allowedDossierStageIDs: number[];\n allowedCaseTypes: string[];\n fields: CustomField[];\n categoryID: number;\n rank: number;\n willSetAwarenessNumber: boolean;\n willFinalizeDossier: boolean;\n isDiscontinued: boolean;\n}\n\nexport const enum DocketEventTypeModule {\n Investigation = 'investigation',\n Detection = 'detection',\n Court = 'court',\n}\n\nexport const AllDocketEventTypeModules = [\n DocketEventTypeModule.Detection,\n DocketEventTypeModule.Investigation,\n DocketEventTypeModule.Court,\n];\n\nexport interface CustomField {\n name: string;\n label: TranslatedString;\n type: string;\n typeArgs: CustomFieldTypeArgs;\n // required: boolean;\n isRequired: boolean;\n}\n\nexport interface CustomFieldTypeArgs {\n tableName?: string;\n feeCategoryID?: number;\n allowedChoices?: any[];\n}\n\nexport interface CourtFeeTransaction {\n categoryID: number; // References feeCategories lookup table\n amountInPuls: number;\n calculation?: any;\n}\n\nexport interface FeeAssessment {\n id?: number;\n dossierID: number;\n caseID: number;\n categoryID: number;\n amountInPuls: number;\n percentOfValue: number;\n disputedValueInPuls: number;\n assessedAt?: string;\n}\n\nexport interface FeePayment {\n id?: number;\n dossierID: number;\n caseID: number;\n categoryID: number;\n amountInPuls: number;\n paidAt?: string;\n}\n\nexport const enum CaseTopicID {\n Property = 1,\n Business = 2,\n Financial = 3,\n Administrative = 4,\n Family = 5,\n}\n\nexport const state = {\n optionsLoaded: false,\n\n attorneyTypes: [] as LookupItem[],\n cancellationReasons: [] as LookupItem[],\n caseStatuses: [] as LookupItem[],\n caseTypes: [] as LookupItem[],\n chargeDispositionTypes: [] as LookupItem[],\n civilCaseTopics: [] as LookupItem[],\n civilObjectionTypes: [] as LookupItem[],\n courtStages: [] as LookupItem[],\n criminalObjectionTypes: [] as LookupItem[],\n currencies: [] as LookupItem[],\n dispositionReasons: [] as LookupItem[],\n dispositionTypes: [] as LookupItem[],\n docketEventCategories: [] as LookupItem[],\n docketEventTypes: [] as DocketEventType[],\n dossierStages: [] as LookupItem[],\n dossierStatuses: [] as LookupItem[],\n feeCategories: [] as LookupItem[],\n generalAggravators: [] as LookupItem[],\n generalMitigators: [] as LookupItem[],\n hearingTypes: [] as LookupItem[],\n illegalDrugs: [] as LookupItem[],\n judgeRemovalReasons: [] as LookupItem[],\n lawsuitTypes: [] as LookupItem[],\n partyTypes: [] as LookupItem[],\n releaseReasons: [] as LookupItem[],\n subjectPropertyTypes: [] as LookupItem[],\n summonsModes: [] as LookupItem[],\n summonsServiceResults: [] as LookupItem[],\n};\n\nexport const getters = {};\n\nexport const mutations = {\n /**\n * setOptionsLoaded sets the tracking variable which identifies\n * whether the options have been successfully fetched from the\n * API or not.\n */\n setOptionsLoaded(state, isLoaded) {\n state.optionsLoaded = isLoaded;\n },\n};\n\nexport const actions = {\n /**\n * fetchOptions fetches all dropdown choices for entities in this Vuex\n * store from the API.\n *\n * Most of the time it should be called as fetchOptions({ force: false }),\n * to avoid re-fetching options from the API that have already been\n * loaded.\n */\n async fetchOptions(\n { state, commit },\n payload = {} as { force: boolean },\n ): Promise {\n // Early return when the options are already loaded\n if (!payload.force && state.optionsLoaded) {\n return Promise.resolve(true);\n }\n\n // Fetch all offender-related options from the API\n const response = await courtAPI.get('/options');\n if (response.data && response.data.data) {\n const newState = response.data.data;\n // Set each option array in the state. This will throw\n // an error if the server sends any top-level\n // properties which are not initialized to their\n // initial state (typically an empty array) above in\n // the state definition.\n commit('setState', newState);\n\n // Set loaded\n commit('setOptionsLoaded', true);\n return Promise.resolve(true);\n }\n\n // We reach here only in case of failure\n return Promise.reject();\n },\n};\n","import _ from 'lodash';\nimport { Participant } from './participant';\nimport courtAPI from './courtAPI';\n\nexport const PrimaryPartyMaxRank = 30;\n\nexport interface Party {\n id: number;\n name: string;\n surname: string;\n fatherName: string;\n grandfatherName: string;\n aliases: [];\n nationalID: string;\n genderID: number;\n isKochi: boolean;\n occupation: string;\n phoneNumber: string;\n emailAddress: string;\n birthplaceGeographyID: number;\n residenceGeographyID: number;\n isOrganization: boolean;\n organizationName: string;\n businessLicenseNumber: string;\n isDeleted: boolean;\n}\n\nexport const enum PartyTypeID {\n Unknown = 0,\n Defendant = 1,\n Respondent = 2,\n Petitioner = 3,\n Plaintiff = 4,\n Prosecutor = 5,\n Victim = 6,\n Witness = 7,\n Expert = 8,\n RestitutionRecipient = 9,\n Appellant = 10,\n Appellee = 11,\n CivilDefendant = 12,\n}\n\nexport const ProsecutorPartyTypeIDs = [PartyTypeID.Prosecutor];\nexport const DefendantPartyTypeIDs = [PartyTypeID.Defendant];\nexport const AppealPartyTypeIDs = [PartyTypeID.Appellant, PartyTypeID.Appellee];\n/**\n * NonAppealPartyTypes holds the broadest list of \"regular\" parties which can\n * appear in \"non-appeal\" (i.e. \"Primary\") cases.\n */\nexport const NonAppealPartyTypes = [\n PartyTypeID.Defendant,\n PartyTypeID.Respondent,\n PartyTypeID.Petitioner,\n PartyTypeID.Plaintiff,\n PartyTypeID.Prosecutor,\n PartyTypeID.Victim,\n PartyTypeID.Witness,\n PartyTypeID.Expert,\n PartyTypeID.RestitutionRecipient,\n PartyTypeID.CivilDefendant,\n];\nexport const LeftPartyTypeIDs = [\n PartyTypeID.Petitioner,\n PartyTypeID.Prosecutor,\n PartyTypeID.Plaintiff,\n PartyTypeID.Appellant,\n];\nexport const RightPartyTypeIDs = [\n PartyTypeID.Respondent,\n PartyTypeID.Defendant,\n PartyTypeID.Appellee,\n];\n\nexport const state = {\n party: {} as { [id: number]: Party },\n};\n\nexport const getters = {\n partyWithID:\n (state) =>\n (partyID: number): Party => {\n return state.party[partyID];\n },\n primaryPartyTypes: (state) => {\n return _.filter(state.partyTypes, (pt) => pt.rank < PrimaryPartyMaxRank);\n },\n primaryPartyTypeIDs: (state, getters) => {\n return _.map(getters.primaryPartyTypes, (pt) => pt.id);\n },\n\n /**\n * partyName accepts either a single number or an array of numbers and returns\n * the name/surname or the Party with that id. In the case of multiple ids,\n * the result is a comma-separated string.\n */\n partyName:\n (state) =>\n (partyID: number | number[]): string => {\n const ids = _.flatten([partyID]);\n const parties: Party[] = _.map(ids, (id) => state.party[id]);\n const names: string[] = _.map(parties, (party) => {\n if (!party) {\n return `Unknown Party: ${partyID}`;\n }\n if (party.isOrganization) {\n return `${party.organizationName}`;\n }\n return `${party.name} ${party.surname}`;\n });\n return names.join(', ');\n },\n\n fullPartyName:\n (state) =>\n (partyID: number): string => {\n const party = state.party[partyID];\n if (!party) {\n return `Unknown Party: ${partyID}`;\n }\n\n let name = '';\n if (party.isOrganization) {\n name = party.organizationName;\n if (party.businessLicenseNumber) {\n name = name + ` (${party.businessLicenseNumber})`;\n }\n } else {\n name = `${party.name} ${party.surname}`;\n }\n return name;\n },\n partiesForDossier:\n (state, getters) =>\n (dossierID: number): Party[] => {\n const participants = getters.participantsForDossier(dossierID);\n return _.map(participants, (participant: Participant) => {\n return state.party[participant.partyID];\n });\n },\n partiesForCase:\n (state, getters) =>\n (caseID: number): Party[] => {\n const participants = getters.participantsForCase(caseID);\n return _.map(participants, (participant: Participant) => {\n return state.party[participant.partyID];\n }) as Party[];\n },\n};\n\nexport const mutations = {};\n\nexport const actions = {\n /**\n * fetchParty retrieves court Party entities from the server and\n * injects them into the local Vuex store. It accepts a single party ID\n * or an array of IDs.\n */\n async fetchParty({ commit }, id: number | number[]): Promise {\n const idsStr = _.flatten([id]).join(',');\n if (idsStr) {\n const response = await courtAPI.get(`/parties/batch?ids=${idsStr}`);\n const partyState = response.data.data;\n commit('setState', partyState);\n }\n },\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"label\":_vm.label || _vm.$t('dossier.caseType'),\"value\":_vm.value,\"items\":_vm.caseTypeChoices,\"rules\":_vm.rules,\"disabled\":_vm.disabled,\"multiple\":_vm.multiple,\"chips\":_vm.chips,\"clearable\":_vm.clearable},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"change\":function($event){return _vm.$emit('change', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport i18n from '@/i18n';\nimport { mapState } from 'vuex';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: [String, Array],\n rules: Array,\n disabled: Boolean,\n multiple: Boolean,\n chips: Boolean,\n clearable: Boolean,\n },\n computed: {\n ...mapState('court', ['caseTypes']),\n caseTypeChoices(): any[] {\n return this.caseTypes.map((s) => ({\n value: s,\n text: i18n.t('dossier.caseTypeOptions.' + s),\n }));\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseTypeSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseTypeSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CaseTypeSelector.vue?vue&type=template&id=66f368ce&\"\nimport script from \"./CaseTypeSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./CaseTypeSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"secondary\",\"extension-height\":\"20px\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('AddParticipantDialog',{attrs:{\"caseType\":_vm.caseType,\"tentativelyAddedPartyIDs\":_vm.partyIDs,\"courtStageID\":_vm.courtStageID},on:{\"saved\":function($event){return _vm.addParticipant($event)}}})]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('party.plural')))])],1),_c('v-card-text',[_c('v-row',_vm._l((_vm.participants),function(p,i){return _c('v-col',{key:i,attrs:{\"cols\":\"12\",\"md\":_vm.participantColumnWidth}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(p.partyTypeID, _vm.partyTypes))+\" \"),(\n p.originalPartyTypeID &&\n p.partyTypeID != p.originalPartyTypeID\n )?_c('span',[_vm._v(\" ( \"+_vm._s(_vm.nameForIDInCollection(p.originalPartyTypeID, _vm.partyTypes))+\" ) \")]):_vm._e()]),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.removeParticipant(i)}}},[_c('v-icon',[_vm._v(\"fa-times-circle\")])],1)],1),_c('v-card-text',[_c('ParticipantForm',{attrs:{\"caseType\":_vm.caseType,\"courtStageID\":_vm.courtStageID},model:{value:(_vm.participants[i]),callback:function ($$v) {_vm.$set(_vm.participants, i, $$v)},expression:\"participants[i]\"}})],1)],1)],1)}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('party.singular'),\"saveAllowed\":_vm.saveAllowed,\"noActivator\":_vm.noActivator},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('filedAt'),\"past-dates-only\":\"\"},model:{value:(_vm.filedAt),callback:function ($$v) {_vm.filedAt=$$v},expression:\"filedAt\"}})],1)],1),_c('ParticipantForm',{attrs:{\"caseType\":_vm.caseType,\"courtStageID\":_vm.courtStageID},model:{value:(_vm.participant),callback:function ($$v) {_vm.participant=$$v},expression:\"participant\"}}),(_vm.wasAlreadyAdded)?_c('v-alert',{attrs:{\"type\":\"warning\"}},[_vm._v(\" \"+_vm._s(_vm.$t('error.duplicate'))+\": \"+_vm._s(_vm.fullPartyName(_vm.participant.partyID))+\" \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":_vm.partyTypeCols}},[_c('PartyTypeSelector',{attrs:{\"label\":_vm.$t('partyType.singular'),\"value\":_vm.participant.partyTypeID,\"caseType\":_vm.caseType,\"courtStageID\":_vm.courtStageID,\"originalPartyTypeID\":_vm.participant.originalPartyTypeID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"disabled\":!!this.forcePartyTypeID},on:{\"input\":function($event){return _vm.partyTypeChanged($event)}}})],1),(_vm.isAppellantOrAppellee)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":_vm.partyTypeCols}},[_c('PartyTypeSelector',{attrs:{\"label\":_vm.$t('partyType.original'),\"value\":_vm.participant.originalPartyTypeID,\"disabled\":_vm.lockParty,\"caseType\":_vm.caseType,\"courtStageID\":_vm.courtStageID,\"originalPartyTypeID\":_vm.participant.originalPartyTypeID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.originalPartyTypeChanged($event)}}})],1):_vm._e(),(_vm.showPartySelector)?_c('v-col',{attrs:{\"cols\":\"6\"}},[(_vm.isDefendant)?_c('ProfileSearchSelector',{attrs:{\"value\":_vm.participant.partyID,\"disabled\":_vm.lockParty,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"party-mode\":\"\"},on:{\"input\":function($event){return _vm.partyChanged($event)}}}):(_vm.isProsecutor)?_c('ProsecutorSearchSelector',{attrs:{\"value\":_vm.participant.partyID,\"disabled\":_vm.lockParty,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"party-mode\":\"\"},on:{\"input\":function($event){return _vm.partyChanged($event)}}}):_c('PartySearchSelector',{attrs:{\"value\":_vm.participant.partyID,\"disabled\":_vm.lockParty,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.partyChanged($event)}}})],1):_vm._e(),(_vm.canHaveCharges)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ChargesForm',{attrs:{\"value\":_vm.participant.charges},on:{\"input\":function($event){return _vm.update('charges', $event)}}})],1):_vm._e(),(_vm.canHaveAttorneys)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('PartyAttorneysForm',{attrs:{\"value\":_vm.participant.attorneys},on:{\"input\":function($event){return _vm.update('attorneys', $event)}}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"shaped\":\"\"}},[_c('v-toolbar',{attrs:{\"dense\":\"\",\"color\":\"primary lighten-4\"}},[_c('v-toolbar-title',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('court.charges'))+\" \")]),_c('AddChargeDialog',{on:{\"save\":function($event){return _vm.addCharge($event)}}})],1),_c('v-card-text',[(_vm.translatedCharges.length)?_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.translatedCharges,\"disable-pagination\":\"\",\"disable-sort\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nvar index = ref.index;\nreturn [_c('tr',[_c('td',[_vm._v(\" \"+_vm._s(item.crime)+\" \"),_c('AggravatorsMitigatorsDetail',{attrs:{\"charge\":item}})],1),_c('td',[_vm._v(_vm._s(item.participationType))]),_c('td',[_vm._v(_vm._s(item.completionStatus))]),_c('td',[_vm._v(_vm._s(item.severity))]),_c('td',[(_vm.readonly)?_c('span',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( item.dispositionTypeID, _vm.chargeDispositionTypes ))+\" \")]):_vm._e(),(!_vm.readonly)?_c('LookupTableItemSelector',{attrs:{\"label\":'',\"value\":item.dispositionTypeID,\"items\":\"court/chargeDispositionTypes\",\"exclude-unknown\":!!_vm.requireDispositions,\"rules\":_vm.dispositionRules},on:{\"input\":function($event){return _vm.updateChargeDisposition(index, $event)}}}):_vm._e()],1)])]}}],null,false,1681481252)}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('charge.singular'),\"button-size\":\"x-small\",\"max-width\":\"700\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('ChargeForm',{model:{value:(_vm.charge),callback:function ($$v) {_vm.charge=$$v},expression:\"charge\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"space-around\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('CrimeSelector',{attrs:{\"value\":_vm.charge.crimeID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"exclude-nonchargeable\":\"\"},on:{\"input\":_vm.crimeChanged}})],1),(_vm.charge.crimeID && _vm.participationTypeChoices.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-select',{attrs:{\"value\":_vm.charge.participationTypeID,\"items\":_vm.participationTypeChoices,\"disabled\":_vm.participationTypeChoices.length === 1,\"item-text\":function (v) { return _vm.valueForLocale(v.name); },\"item-value\":\"id\",\"label\":_vm.$t('charge.participationType'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('participationTypeID', $event)}}})],1):_vm._e(),(_vm.charge.crimeID && _vm.completionStatusChoices.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-select',{attrs:{\"value\":_vm.charge.completionStatusID,\"items\":_vm.completionStatusChoices,\"disabled\":_vm.completionStatusChoices.length === 1,\"item-text\":function (v) { return _vm.valueForLocale(v.name); },\"item-value\":\"id\",\"label\":_vm.$t('charge.completionStatus'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('completionStatusID', $event)}}})],1):_vm._e(),(_vm.charge.crimeID && _vm.severityChoices.length)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-select',{attrs:{\"value\":_vm.charge.crimeSeverityID,\"items\":_vm.severityChoices,\"disabled\":_vm.severityChoices.length === 1,\"item-text\":function (v) { return _vm.valueForLocale(v.name); },\"item-value\":\"id\",\"label\":_vm.$t('charge.severity'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('crimeSeverityID', $event)}}})],1):_vm._e(),(_vm.loading)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1):_vm._e()],1),(!_vm.loading && _vm.charge.crimeID)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('crime.generalAggravators'),\"items\":\"court/generalAggravators\",\"multiple\":\"\"},on:{\"input\":function($event){return _vm.update('generalAggravatorIDs', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('crime.generalMitigators'),\"items\":\"court/generalMitigators\",\"multiple\":\"\"},on:{\"input\":function($event){return _vm.update('generalMitigatorIDs', $event)}}})],1)],1):_vm._e(),(!_vm.loading && _vm.aggravatorChoices.length)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-subtitle font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('crime.specialAggravators'))+\" \")]),_vm._l((_vm.aggravatorChoices),function(aggravator,i){return _c('v-checkbox',{key:'aggravator' + i,staticClass:\"text-caption\",attrs:{\"dense\":\"\",\"label\":_vm.aggravatorChoices[i][_vm.locale],\"value\":_vm.aggravatorChoices[i]},model:{value:(_vm.charge.aggravators),callback:function ($$v) {_vm.$set(_vm.charge, \"aggravators\", $$v)},expression:\"charge.aggravators\"}})})],2)],1):_vm._e(),(!_vm.loading && _vm.mitigatorChoices.length)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-subtitle font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('crime.specialMitigators'))+\" \")]),_vm._l((_vm.mitigatorChoices),function(mitigator,i){return _c('v-checkbox',{key:'mitigator' + i,staticClass:\"text-caption\",attrs:{\"dense\":\"\",\"label\":_vm.mitigatorChoices[i][_vm.locale],\"value\":_vm.mitigatorChoices[i]},model:{value:(_vm.charge.mitigators),callback:function ($$v) {_vm.$set(_vm.charge, \"mitigators\", $$v)},expression:\"charge.mitigators\"}})})],2)],1):_vm._e(),(!_vm.loading && _vm.crime.text)?_c('v-divider'):_vm._e(),(!_vm.loading && _vm.crime.text)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('crime.article'))+\" \")]),_c('div',{staticClass:\"text-h2\"},[_vm._v(\" \"+_vm._s(_vm.crime.article)+\" \")])]),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"9\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(_vm._s(_vm.$t('crime.text')))]),_c('div',{staticClass:\"text-caption\"},[_vm._v(\" \"+_vm._s(_vm.crime.text[_vm.locale])+\" \")]),(true || _vm.crime.relatedArticles.length)?_c('div',{staticClass:\"text-overline mt-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('crime.relatedArticles'))+\" \")]):_vm._e(),(true || (_vm.crime.relatedArticles && _vm.crime.relatedArticles.length))?_c('div',[_c('div',{staticClass:\"text-body-2\"},[_vm._v(\" \"+_vm._s([].concat( _vm.crime.relatedArticles ).join(', '))+\" \")])]):_vm._e()])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { cloneDeep, tap, set } from 'lodash';\nimport { mapState, mapGetters } from 'vuex';\n\nimport { Charge } from '@/vuex/court/charge';\nimport { Crime, CompletionStatus } from '@/vuex/crime/crime';\nimport { LookupTableRow } from '@/vuex/language/language';\n\nimport CrimeSelector from '@/components/crime/CrimeSelector.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n data() {\n return {\n loading: false,\n };\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['languages', 'valueForLocale']),\n ...mapState('crime', [\n 'completionStatuses',\n 'participationTypes',\n 'severities',\n ]),\n ...mapGetters('crime', ['crimeWithID']),\n\n /**\n * charge computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n charge(): Charge {\n return this.value\n ? this.value\n : {\n crimeID: 0,\n participationTypeID: 0,\n completionStatusID: 0,\n crimeSeverityID: 0,\n aggravators: [],\n mitigators: [],\n dispositionTypeID: 0,\n };\n },\n\n crime(): Crime {\n return this.crimeWithID(this.charge.crimeID);\n },\n\n participationTypeChoices(): LookupTableRow[] {\n const all = this.participationTypes as LookupTableRow[];\n const choices = all.filter((c) =>\n this.crime.validParticipationTypeIDs.includes(c.id),\n );\n return choices;\n },\n\n completionStatusChoices(): CompletionStatus[] {\n const all = this.completionStatuses as CompletionStatus[];\n const choices = all.filter((c) =>\n this.crime.validCompletionStatusIDs.includes(c.id),\n );\n return choices;\n },\n\n severityChoices(): LookupTableRow[] {\n const all = this.severities as LookupTableRow[];\n const choices = all.filter((c) =>\n this.crime.validSeverityIDs.includes(c.id),\n );\n return choices;\n },\n\n aggravatorChoices(): any[] {\n return this.crime.aggravators || [];\n },\n\n mitigatorChoices(): any[] {\n return this.crime.mitigators || [];\n },\n },\n\n methods: {\n crimeChanged(newCrimeID: number) {\n const newCharge = cloneDeep(this.charge);\n newCharge.crimeID = newCrimeID;\n\n // Get the new crime so that we can validate our exisitng data\n // against it.\n const newCrime = this.crimeWithID(newCrimeID);\n\n if (newCrime) {\n // Ensure the participation type is valid for the new crime, and if\n // there's only one choice, choose it.\n if (newCrime.validParticipationTypeIDs.length === 1) {\n newCharge.participationTypeID = newCrime.validParticipationTypeIDs[0];\n } else {\n // If there's more than one choice, try in order: 1) the current participation\n // type, 2) 'Principal Offender'. Fall back to 0 (which will trigger\n // a validation error and forced choice) otherwise.\n newCharge.participationTypeID =\n _.find([newCharge.participationTypeID, 1], (idToTry) => {\n return _.includes(newCrime.validParticipationTypeIDs, idToTry);\n }) || 0;\n }\n\n // Ensure completion status type is valid for the new crime, and if\n // there's only one choice, choose it.\n if (newCrime.validCompletionStatusIDs.length === 1) {\n newCharge.completionStatusID = newCrime.validCompletionStatusIDs[0];\n } else {\n // If there's more than one choice, try in order: 1) the current\n // completion status, 2) 'Completion'. Fall back to 0 (which will\n // trigger a validation error and forced choice) otherwise.\n newCharge.completionStatusID =\n _.find([newCharge.completionStatusID, 1], (idToTry) => {\n return _.includes(newCrime.validCompletionStatusIDs, idToTry);\n }) || 0;\n }\n\n // Ensure severity is valid for the new crime, and if there's only one\n // choice, choose it.\n if (newCrime.validSeverityIDs.length === 1) {\n newCharge.crimeSeverityID = newCrime.validSeverityIDs[0];\n } else {\n newCharge.crimeSeverityID =\n _.find([newCharge.crimeSeverityID, 2], (idToTry) => {\n return _.includes(newCrime.validSeverityIDs, idToTry);\n }) || 0;\n }\n }\n\n // Never allow a charge with a changed crime to keep its prior\n // aggravators and mitigators.\n newCharge.aggravators = [];\n newCharge.mitigators = [];\n\n // Notify consumers of the change via the input event\n this.$emit('input', newCharge);\n\n if (newCrimeID) {\n this.loading = true;\n this.$store.dispatch('crime/fetchCrime', newCrimeID).finally(() => {\n this.loading = false;\n });\n }\n },\n\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any): void {\n this.$emit(\n 'input',\n tap(cloneDeep(this.charge), (v) => set(v, key, value)),\n );\n },\n },\n components: {\n CrimeSelector,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChargeForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChargeForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChargeForm.vue?vue&type=template&id=26078058&\"\nimport script from \"./ChargeForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChargeForm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ChargeForm.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VCheckbox,VCol,VDivider,VProgressLinear,VRow,VSelect})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport ChargeForm from './ChargeForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n charge: null,\n isOpen: false,\n };\n },\n\n methods: {\n reset(): void {\n this.charge = null;\n },\n\n save(): void {\n this.$emit('save', this.charge);\n this.isOpen = false;\n },\n },\n\n components: {\n ChargeForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddChargeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddChargeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddChargeDialog.vue?vue&type=template&id=3e732a7f&\"\nimport script from \"./AddChargeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddChargeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showActivator)?_c('ExpanderDialog',{attrs:{\"icon\":\"fa-balance-scale-left\",\"title\":_vm.$t('crime.aggravators') + ' / ' + _vm.$t('crime.mitigators')}},[(_vm.charge.generalAggravatorIDs)?_c('v-row',[_c('v-col',{staticClass:\"text-h6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('crime.generalAggravators'))+\" \")]),_vm._l((_vm.charge.generalAggravatorIDs),function(aggravatorID,index){return _c('v-col',{key:index,attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(aggravatorID, _vm.generalAggravators))+\" \")])})],2):_vm._e(),(_vm.charge.aggravators.length)?_c('v-row',[_c('v-col',{staticClass:\"text-h6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('crime.specialAggravators'))+\" \")]),_vm._l((_vm.charge.aggravators),function(aggravator,index){return _c('v-col',{key:index,attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(aggravator[_vm.locale])+\" \")])})],2):_vm._e(),(_vm.charge.generalMitigatorIDs)?_c('v-row',[_c('v-col',{staticClass:\"text-h6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('crime.generalMitigators'))+\" \")]),_vm._l((_vm.charge.generalMitigatorIDs),function(aggravatorID,index){return _c('v-col',{key:index,attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(aggravatorID, _vm.generalMitigators))+\" \")])})],2):_vm._e(),(_vm.charge.mitigators.length)?_c('v-row',[_c('v-col',{staticClass:\"text-h6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('crime.specialMitigators'))+\" \")]),_vm._l((_vm.charge.mitigators),function(mitigator,index){return _c('v-col',{key:index,attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(mitigator[_vm.locale])+\" \")])})],2):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nexport default Vue.extend({\n props: {\n charge: Object,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection', 'valueForLocale']),\n ...mapState('language', ['locale']),\n ...mapState('court', ['generalAggravators', 'generalMitigators']),\n showActivator(): boolean {\n if (!this.charge) {\n return false;\n }\n if (\n (this.charge.aggravators && this.charge.aggravators.length > 0) ||\n (this.charge.generalAggravatorIDs &&\n this.charge.generalAggravatorIDs.length > 0)\n ) {\n return true;\n }\n if (\n (this.charge.mitigators && this.charge.mitigators.length > 0) ||\n (this.charge.generalMitigatorIDs &&\n this.charge.generalMitigatorIDs.length > 0)\n ) {\n return true;\n }\n return false;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AggravatorsMitigatorsDetail.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AggravatorsMitigatorsDetail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AggravatorsMitigatorsDetail.vue?vue&type=template&id=a4265de8&\"\nimport script from \"./AggravatorsMitigatorsDetail.vue?vue&type=script&lang=ts&\"\nexport * from \"./AggravatorsMitigatorsDetail.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { Charge } from '@/vuex/court/charge';\n\nimport AddChargeDialog from './AddChargeDialog.vue';\nimport AggravatorsMitigatorsDetail from './AggravatorsMitigatorsDetail.vue';\n\nexport default Vue.extend({\n props: {\n value: {\n type: Array,\n default: () => [] as Charge[],\n },\n readonly: Boolean,\n requireDispositions: Boolean,\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapState('crime', [\n 'completionStatuses',\n 'participationTypes',\n 'severities',\n ]),\n ...mapState('court', ['chargeDispositionTypes']),\n ...mapGetters('language', ['valueForLocale', 'nameForIDInCollection']),\n ...mapGetters('crime', ['crimeWithID']),\n\n charges(): Charge[] {\n if (this.value) {\n return this.value as Charge[];\n } else {\n return [];\n }\n },\n\n translatedCharges(): any[] {\n return this.charges.map((charge) => {\n const crime = this.crimeWithID(charge.crimeID);\n return Object.assign({}, charge, {\n crime: this.valueForLocale(crime.title),\n completionStatus: this.nameForIDInCollection(\n charge.completionStatusID,\n this.completionStatuses,\n ),\n participationType: this.nameForIDInCollection(\n charge.participationTypeID,\n this.participationTypes,\n ),\n severity: this.nameForIDInCollection(\n charge.crimeSeverityID,\n this.severities,\n ),\n });\n });\n },\n\n headers(): any[] {\n return [\n { value: 'crime', text: i18n.t('charge.crime.singular') },\n {\n value: 'participationType',\n text: i18n.t('charge.participationType'),\n },\n { value: 'completionStatus', text: i18n.t('charge.completionStatus') },\n { value: 'severity', text: i18n.t('charge.severity') },\n { value: null, text: i18n.t('charge.disposition') },\n ];\n },\n\n dispositionRules(): any[] {\n if (!this.requireDispositions) {\n return [];\n }\n return [(v) => !!v || i18n.t('error.required')];\n },\n },\n\n methods: {\n addCharge(charge: Charge): void {\n const newItems = [...(this.value || []), charge];\n this.$emit('input', newItems);\n },\n\n updateChargeDisposition(index: number, typeID: number): void {\n const changedItems = [...this.charges];\n changedItems[index].dispositionTypeID = typeID;\n this.$emit('input', changedItems);\n },\n },\n\n components: {\n AddChargeDialog,\n AggravatorsMitigatorsDetail,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChargesForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChargesForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChargesForm.vue?vue&type=template&id=e4f85806&\"\nimport script from \"./ChargesForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChargesForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VDataTable,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"shaped\":\"\"}},[_c('v-toolbar',{attrs:{\"dense\":\"\",\"color\":\"primary lighten-4\"}},[_c('v-toolbar-title',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('attorney.plural'))+\" \")]),_c('AddPartyAttorneyDialog',{on:{\"save\":function($event){return _vm.addPartyAttorney($event)}}})],1),_c('v-card-text',[(_vm.partyAttorneys.length)?_c('v-list',{attrs:{\"dense\":\"\"}},_vm._l((_vm.partyAttorneys),function(partyAttorney,index){return _c('v-list-item',{key:index,attrs:{\"dense\":\"\"}},[_c('v-list-item-icon',[_c('EditPartyAttorneyDialog',{model:{value:(_vm.partyAttorneys[index]),callback:function ($$v) {_vm.$set(_vm.partyAttorneys, index, $$v)},expression:\"partyAttorneys[index]\"}})],1),_c('v-list-item-content',[_c('PartyAttorneyDisplay',{attrs:{\"attorney\":_vm.partyAttorneys[index]}})],1),_c('v-list-item-icon',[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.deletePartyAttorneyAtIndex(index)}}},[_c('v-icon',[_vm._v(\"fa-times-circle\")])],1)],1)],1)}),1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('attorney.singular'),\"max-width\":\"500\",\"button-size\":\"x-small\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('PartyAttorneyForm',{model:{value:(_vm.partyAttorney),callback:function ($$v) {_vm.partyAttorney=$$v},expression:\"partyAttorney\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('AttorneySelector',{attrs:{\"value\":_vm.partyAttorney.attorneyID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('attorneyID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"5\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('attorneyType.singular'),\"value\":_vm.partyAttorney.attorneyTypeID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"items\":\"court/attorneyTypes\"},on:{\"input\":function($event){return _vm.update('attorneyTypeID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"input-value\":_vm.partyAttorney.isCourtAssigned,\"label\":_vm.$t('attorney.isCourtAssigned')},on:{\"change\":function($event){return _vm.update('isCourtAssigned', !!$event)}}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-text-field',{staticClass:\"attorney-selector\",attrs:{\"value\":_vm.currentAttorneyName,\"readonly\":\"\",\"append-icon\":\"arrow_drop_down\",\"rules\":_vm.rules,\"disabled\":_vm.disabled || false,\"label\":_vm.label || _vm.$t('attorney.singular'),\"loading\":_vm.loading,\"clearable\":_vm.clearable},on:{\"click\":function($event){_vm.isOpen = true}}}),_c('v-dialog',{attrs:{\"max-width\":\"800px\"},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-card',[_c('AttorneySearcher',{ref:\"attorneySearcher\",attrs:{\"selectable\":\"\"},on:{\"selected\":function($event){_vm.$emit('input', $event);\n _vm.isOpen = false;}}},[_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"small\":\"\",\"text\":\"\",\"color\":\"error\"},on:{\"click\":function($event){_vm.isOpen = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.cancel'))+\" \")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.fetchData()}}},[_c('v-toolbar',{staticClass:\"mb-5\",attrs:{\"dark\":\"\",\"color\":\"primary\",\"extension-height\":_vm.dense ? '20px' : '40px'},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.canAdd)?_c('AddAttorneyDialog',{on:{\"saved\":function($event){return _vm.afterAttorneyAdded($event)}}}):_vm._e(),_c('v-spacer'),_c('v-checkbox',{attrs:{\"label\":_vm.$t('advancedSearch')},model:{value:(_vm.advancedSearch),callback:function ($$v) {_vm.advancedSearch=$$v},expression:\"advancedSearch\"}})]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('attorney.plural')))]),_c('v-spacer'),(!_vm.advancedSearch)?_c('v-text-field',{ref:\"query\",attrs:{\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\",\"append-icon\":\"search\",\"clearable\":\"\"},model:{value:(_vm.criteria.q),callback:function ($$v) {_vm.$set(_vm.criteria, \"q\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"criteria.q\"}}):_vm._e()],1),_vm._t(\"header\")],2),_c('v-card-text',[(_vm.advancedSearch)?_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.name')},model:{value:(_vm.criteria.name),callback:function ($$v) {_vm.$set(_vm.criteria, \"name\", $$v)},expression:\"criteria.name\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.surname')},model:{value:(_vm.criteria.surname),callback:function ($$v) {_vm.$set(_vm.criteria, \"surname\", $$v)},expression:\"criteria.surname\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.fatherName')},model:{value:(_vm.criteria.fatherName),callback:function ($$v) {_vm.$set(_vm.criteria, \"fatherName\", $$v)},expression:\"criteria.fatherName\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.grandfatherName')},model:{value:(_vm.criteria.grandfatherName),callback:function ($$v) {_vm.$set(_vm.criteria, \"grandfatherName\", $$v)},expression:\"criteria.grandfatherName\"}})],1),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('attorney.licenseNumber')},model:{value:(_vm.criteria.licenseNumber),callback:function ($$v) {_vm.$set(_vm.criteria, \"licenseNumber\", $$v)},expression:\"criteria.licenseNumber\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('command.includeDeleted')},model:{value:(_vm.criteria.isDeleted),callback:function ($$v) {_vm.$set(_vm.criteria, \"isDeleted\", $$v)},expression:\"criteria.isDeleted\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.residence'),\"min-specificity\":\"country\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.residenceGeographyID),callback:function ($$v) {_vm.$set(_vm.criteria, \"residenceGeographyID\", $$v)},expression:\"criteria.residenceGeographyID\"}})],1)],1)],1):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.attorneys,\"loading\":_vm.loading,\"disable-sort\":\"\",\"page\":_vm.currentPage,\"items-per-page\":_vm.pageSize,\"server-items-length\":_vm.serverTotalResults,\"footer-props\":{\n 'items-per-page-options': [10, 20, 40, 50, 100],\n },\"no-data-text\":_vm.$t('error.nodata'),\"item-class\":_vm.rowClasses},on:{\"update:page\":[function($event){_vm.currentPage=$event},function($event){return _vm.fetchData()}],\"update:itemsPerPage\":function($event){_vm.pageSize=$event},\"update:items-per-page\":[function($event){_vm.pageSize=$event},function($event){return _vm.fetchData()}],\"click:row\":function($event){return _vm.selectAttorney($event)}},scopedSlots:_vm._u([{key:\"item.id\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EditAttorneyDialog',{attrs:{\"id\":item.id}})]}},{key:\"item.name\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.attorneyName(item.id))+\" \")]}},{key:\"item.residenceGeographyID\",fn:function(ref){\n var value = ref.value;\nreturn [_c('GeographyName',{attrs:{\"full\":\"\",\"id\":value}})]}}],null,true)})],1)],1)],1),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('attorney.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('AttorneyForm',{model:{value:(_vm.attorney),callback:function ($$v) {_vm.attorney=$$v},expression:\"attorney\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.attorney)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.name'),\"value\":_vm.attorney.name,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('name', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.surname'),\"value\":_vm.attorney.surname,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('surname', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.fatherName'),\"value\":_vm.attorney.fatherName},on:{\"input\":function($event){return _vm.update('fatherName', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.grandfatherName'),\"value\":_vm.attorney.grandfatherName},on:{\"input\":function($event){return _vm.update('grandfatherName', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('attorney.licenseNumber'),\"value\":_vm.attorney.licenseNumber},on:{\"input\":function($event){return _vm.update('licenseNumber', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('PhoneField',{attrs:{\"label\":_vm.$t('person.phoneNumber'),\"value\":_vm.attorney.phoneNumber},on:{\"input\":function($event){return _vm.update('phoneNumber', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.emailAddress'),\"value\":_vm.attorney.emailAddress},on:{\"input\":function($event){return _vm.update('emailAddress', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"min-specificity\":\"country\",\"label\":_vm.$t('person.residence'),\"value\":_vm.attorney.residenceGeographyID},on:{\"input\":function($event){return _vm.update('residenceGeographyID', $event)}}})],1),(_vm.attorney.id)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('item.isDeleted'),\"input-value\":_vm.attorney.isDeleted},on:{\"change\":function($event){return _vm.update('isDeleted', !!$event)}}})],1):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\n\nimport { Attorney } from '@/vuex/court/attorney';\nimport { AfghanistanID } from '@/vuex/geography/geography';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n computed: {\n /**\n * attorney computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n attorney(): Attorney {\n return this.value\n ? this.value\n : {\n name: '',\n surname: '',\n fatherName: '',\n grandfatherName: '',\n licenseNumber: '',\n phoneNumber: '',\n emailAddress: '',\n residenceGeographyID: AfghanistanID,\n isDeleted: false,\n };\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.attorney), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttorneyForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttorneyForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AttorneyForm.vue?vue&type=template&id=0190d86c&\"\nimport script from \"./AttorneyForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./AttorneyForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCheckbox,VCol,VRow,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { Attorney } from '@/vuex/court/attorney';\nimport { firstModelIDInState } from '@/lib/vuex-domainmodel';\n\nimport AttorneyForm from './AttorneyForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n isOpen: false,\n error: null as any,\n attorney: null as null | Attorney,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.attorney = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.attorney) {\n return;\n }\n this.error = null;\n try {\n const response = await courtAPI.post('create-attorney', {\n data: {\n name: this.attorney.name,\n surname: this.attorney.surname,\n fatherName: this.attorney.fatherName,\n grandfatherName: this.attorney.grandfatherName,\n licenseNumber: this.attorney.licenseNumber,\n phoneNumber: this.attorney.phoneNumber,\n emailAddress: this.attorney.emailAddress,\n residenceGeographyID: this.attorney.residenceGeographyID,\n },\n });\n\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n\n const newID = firstModelIDInState(newState, 'attorney');\n this.$emit('saved', newID);\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n AttorneyForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddAttorneyDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddAttorneyDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddAttorneyDialog.vue?vue&type=template&id=19d3c9ec&\"\nimport script from \"./AddAttorneyDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddAttorneyDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('attorney.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('AttorneyForm',{model:{value:(_vm.attorney),callback:function ($$v) {_vm.attorney=$$v},expression:\"attorney\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { Attorney } from '@/vuex/court/attorney';\n\nimport AttorneyForm from './AttorneyForm.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n data() {\n return {\n isOpen: false,\n error: null as any,\n attorney: null as Attorney | null,\n };\n },\n computed: {\n ...mapGetters('court', ['attorneyWithID']),\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n async reset(): Promise {\n await this.$store.dispatch('court/fetchAttorney', this.id);\n const localCopy = Object.assign({}, this.attorneyWithID(this.id));\n this.attorney = localCopy;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.attorney) {\n return;\n }\n this.error = null;\n try {\n const response = await courtAPI.post('/attorneys/update', {\n data: {\n id: this.attorney.id,\n name: this.attorney.name,\n surname: this.attorney.surname,\n fatherName: this.attorney.fatherName,\n grandfatherName: this.attorney.grandfatherName,\n licenseNumber: this.attorney.licenseNumber,\n phoneNumber: this.attorney.phoneNumber,\n emailAddress: this.attorney.emailAddress,\n residenceGeographyID: this.attorney.residenceGeographyID,\n isDeleted: this.attorney.isDeleted,\n },\n });\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n AttorneyForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditAttorneyDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditAttorneyDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditAttorneyDialog.vue?vue&type=template&id=e8e13ad8&\"\nimport script from \"./EditAttorneyDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditAttorneyDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport i18n from '@/i18n';\nimport { criteriaToQueryString } from '@/lib/criteria';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\nimport { Attorney } from '@/vuex/court/attorney';\n\nimport AddAttorneyDialog from '@/components/court/attorney/AddAttorneyDialog.vue';\nimport EditAttorneyDialog from '@/components/court/attorney/EditAttorneyDialog.vue';\n\nexport default Vue.extend({\n props: {\n selectable: Boolean,\n dense: Boolean,\n },\n created() {\n // Remember what the blank queryString looked like so we can compare\n // it later to see if any user modifications were made.\n this.initialQueryString = this.queryString;\n\n // Load the initial data...\n this.fetchData();\n // then make every future call to this.fetchData be debounced so that\n // it can never be called faster than once every N milliseconds.\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.fetchData = _.debounce(this.fetchData, 400);\n },\n data() {\n return {\n loading: false,\n advancedSearch: false,\n criteria: {\n q: '',\n name: '',\n surname: '',\n fatherName: '',\n grandfatherName: '',\n licenseNumber: '',\n residenceGeographyID: 0,\n isDeleted: false,\n },\n attorneyIDs: [] as number[],\n\n currentPage: 1,\n serverTotalResults: 0,\n pageSize: 10,\n\n // initialQueryString is set in the created() hook to remember what the\n // initial queryString() output was.\n initialQueryString: '',\n };\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('geography', ['fullGeographyName']),\n ...mapGetters('court', ['attorneyWithID', 'attorneyName']),\n\n canAdd(): boolean {\n // Some users are just not allowed to create attorneys. Forbid them\n // first.\n if (!this.hasPermission('attorney.create')) {\n return false;\n }\n\n if (this.selectable) {\n // The selectable prop indicates that the user is supposed to be\n // choosing an existing attorney. Before letting them create one in that\n // circumstance, force them to do a search first.\n return this.queryStringChanged;\n }\n\n return true;\n },\n\n /**\n * attorneys computes the array of Attorney entities which currently appear\n * in the data table. By injecting search results into the Attorney store in\n * Vuex, we ensure that all Attorney entity data for the selected item\n * lives on when selecting a Attorney for use on other pages.\n */\n attorneys(): Attorney[] {\n return this.attorneyIDs.map((id: number) => this.attorneyWithID(id));\n },\n\n /**\n * queryString computes the URL querystring parameters which will be\n * submitted to the server to perform the search. NOTE that this\n * value is combined with pagination criteria inside fetchData, so this\n * value doesn't exactly match the API request.\n */\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n\n /**\n * queryStringChanged computes whether the queryString on this component\n * has changed from what its initial value was when the component was\n * created.\n */\n queryStringChanged(): boolean {\n return this.queryString !== this.initialQueryString;\n },\n\n /**\n * headers dynamically builds the headers array so that translations for\n * the column titles can update live.\n */\n headers(): any[] {\n const h: any[] = [\n { text: i18n.t('person.name'), value: 'name', width: '30%' },\n { text: i18n.t('attorney.licenseNumber'), value: 'licenseNumber' },\n { text: i18n.t('person.phoneNumber'), value: 'phoneNumber' },\n { text: i18n.t('person.residence'), value: 'residenceGeographyID' },\n ];\n if (!this.selectable && this.canAdd) {\n h.unshift({\n text: i18n.t('command.edit'),\n value: 'id',\n width: '4em',\n sortable: false,\n });\n }\n return h;\n },\n },\n watch: {\n /**\n * queryString is watched so that a new search can be triggered.\n * We also reset back to page #1 anytime a new search is triggered.\n */\n queryString(newVal: string) {\n this.currentPage = 1;\n this.fetchData();\n },\n\n /**\n * advancedSearch changes the UI, so we need to make sure to reset\n * the no longer visible fields\n */\n advancedSearch(isAdvanced: boolean) {\n this.reset();\n },\n },\n methods: {\n /**\n * rowClasses conditionally adds classes to the tag.\n */\n rowClasses(item: Attorney): string[] {\n const classes = [] as string[];\n if (this.selectable) {\n classes.push('selectable');\n }\n if (item.isDeleted) {\n classes.push('isDeleted');\n }\n return classes;\n },\n\n /**\n * afterAttorneyAdded is triggered when the user successfully adds a new\n * record via the add dialog attached to the search interface. It receives\n * the ID of the newly-created Attorney, and immediately selects it if the\n * searcher is in selectable mode. If not, it forcefully adds it to the\n * front of the search results so the user immediately sees it.\n */\n afterAttorneyAdded(newID: number): void {\n if (this.selectable) {\n this.selectAttorney(newID);\n } else {\n this.attorneyIDs.unshift(newID);\n if (this.serverTotalResults < 1) {\n this.serverTotalResults = 1;\n }\n }\n },\n\n /**\n * selectAttorney is triggered by a click on one of the rows in the table,\n * only when the selectable prop is set.\n */\n selectAttorney(row: any): void {\n if (this.selectable) {\n this.$emit('selected', parseInt(row.id, 10));\n }\n },\n\n /**\n * reset clears the search and resets search results. Primarily designed\n * to be called externally via a $ref to this component so that the searcher\n * can be reset when a dialog is opened.\n */\n reset(): void {\n this.$nextTick(() => {\n this.criteria.q = '';\n this.criteria.name = '';\n this.criteria.surname = '';\n this.criteria.fatherName = '';\n this.criteria.grandfatherName = '';\n this.fetchData();\n if (this.$refs.query) {\n (this.$refs.query as any).focus();\n }\n });\n },\n\n /**\n * fetchData performs the actual search. It hits the API with the active\n * query and pagination criteria and updates the locally-held search results\n * data.\n */\n async fetchData(): Promise {\n this.loading = true;\n\n const args = [] as string[];\n args.push(`page[size]=${this.pageSize}`);\n args.push(`page[number]=${this.currentPage}`);\n args.push(this.queryString);\n\n try {\n const response = await courtAPI.get(\n `/attorneys/search?` + args.join('&'),\n );\n\n if (response && response.data && response.data.data) {\n if (response.data.meta) {\n this.serverTotalResults = response.data.meta.totalResults;\n }\n\n // Add this batch of attorneys to Vuex\n const attorneys = response.data.data;\n const newState = modelsToState('attorney', attorneys);\n this.$store.commit('court/setState', newState);\n\n // Track which attorneyIDs are being viewed. This feeds\n // searchResults so that the rows in the table are from Vuex\n // and setState changes made during editing have immediate effect.\n this.attorneyIDs = _.map(attorneys, (a) => a.id);\n }\n } finally {\n this.loading = false;\n }\n },\n },\n components: {\n AddAttorneyDialog,\n EditAttorneyDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttorneySearcher.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttorneySearcher.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AttorneySearcher.vue?vue&type=template&id=592b8720&\"\nimport script from \"./AttorneySearcher.vue?vue&type=script&lang=ts&\"\nexport * from \"./AttorneySearcher.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCheckbox,VCol,VDataTable,VForm,VRow,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport AttorneySearcher from '@/components/court/attorney/AttorneySearcher.vue';\n\nexport default Vue.extend({\n props: {\n value: Number,\n\n // label is a passthrough to the v-autocomplete label prop\n label: String,\n\n // rules is a passthrough to the v-autocomplete rules prop\n rules: {\n type: Array,\n default: () => [], // Default value is a function which returns a blank array\n },\n // disabled is a passthrough to the v-autocomplete disabled prop\n disabled: Boolean,\n // value is the prop that makes this component work with v-model\n clearable: Boolean,\n // exclude is an array prop that contains IDs of attorneys to filter out of\n // the list so that they are not even visible to be selected.\n excludedIDs: {\n type: Array,\n default: () => [] as number[],\n },\n },\n data() {\n return {\n loading: false,\n isOpen: false,\n };\n },\n watch: {\n isOpen(newVal: boolean) {\n this.$nextTick(() => {\n (this.$refs.attorneySearcher as any).reset();\n });\n },\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('court', ['attorneyName']),\n currentAttorneyName(): string {\n if (this.value) {\n return this.attorneyName(this.value);\n }\n return '';\n },\n },\n methods: {\n attorneyChanged(newVal) {\n this.$emit('input', newVal);\n },\n },\n components: {\n AttorneySearcher,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttorneySelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttorneySelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AttorneySelector.vue?vue&type=template&id=79e03936&\"\nimport script from \"./AttorneySelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./AttorneySelector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AttorneySelector.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardActions,VDialog,VDivider,VSpacer,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\n\nimport { PartyAttorney } from '@/vuex/court/participant';\n\nimport AttorneySelector from '@/components/court/attorney/AttorneySelector.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n computed: {\n /**\n * partyAttorney computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n partyAttorney(): PartyAttorney {\n const v = this.value\n ? this.value\n : {\n attorneyID: 0,\n attorneyTypeID: 1,\n isCourtAssigned: false,\n };\n return v;\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any): void {\n this.$emit(\n 'input',\n tap(cloneDeep(this.partyAttorney), (v) => set(v, key, value)),\n );\n },\n },\n\n components: {\n AttorneySelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyAttorneyForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyAttorneyForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PartyAttorneyForm.vue?vue&type=template&id=43c1a2fe&\"\nimport script from \"./PartyAttorneyForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./PartyAttorneyForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCheckbox,VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport { PartyAttorney } from '@/vuex/court/participant';\n\nimport PartyAttorneyForm from '@/components/court/attorney/PartyAttorneyForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n isOpen: false,\n\n partyAttorney: null as PartyAttorney | null,\n };\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state, which\n * is a null PartyAttorney object, which will trigger the PartyAttorneyForm\n * to reset.\n */\n reset(): void {\n this.partyAttorney = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to emit the PartyAttorney externally so that it can be\n * handled.\n */\n save(): void {\n this.$emit('save', this.partyAttorney);\n\n this.isOpen = false;\n },\n },\n components: {\n PartyAttorneyForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPartyAttorneyDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPartyAttorneyDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddPartyAttorneyDialog.vue?vue&type=template&id=4b22b35b&\"\nimport script from \"./AddPartyAttorneyDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddPartyAttorneyDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('attorney.singular'),\"max-width\":\"500\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('PartyAttorneyForm',{model:{value:(_vm.partyAttorney),callback:function ($$v) {_vm.partyAttorney=$$v},expression:\"partyAttorney\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport { PartyAttorney } from '@/vuex/court/participant';\n\nimport PartyAttorneyForm from '@/components/court/attorney/PartyAttorneyForm.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n data() {\n return {\n isOpen: false,\n\n partyAttorney: null as PartyAttorney | null,\n };\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state, which\n * for this component is the PartyAttorney object which is bound to our\n * v-model value prop.\n */\n reset(): void {\n this.partyAttorney = Object.assign({}, this.value);\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to emit the input event, which updates the v-model value\n * which is bound to this object.\n */\n save(): void {\n this.$emit('input', this.partyAttorney);\n\n this.isOpen = false;\n },\n },\n\n components: {\n PartyAttorneyForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditPartyAttorneyDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditPartyAttorneyDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditPartyAttorneyDialog.vue?vue&type=template&id=34c68c5e&\"\nimport script from \"./EditPartyAttorneyDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditPartyAttorneyDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\" \"+_vm._s(_vm.attorneyName(_vm.attorney.attorneyID))+\" \"),(_vm.attorney.attorneyTypeID)?_c('span',[_vm._v(\" ( \"+_vm._s(_vm.nameForIDInCollection(_vm.attorney.attorneyTypeID, _vm.attorneyTypes))+\" \"),(_vm.attorney.isCourtAssigned)?_c('span',[_vm._v(\" , \"+_vm._s(_vm.$t('attorney.isCourtAssigned'))+\" \")]):_vm._e(),_vm._v(\" ) \")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport { mapState, mapGetters } from 'vuex';\n\nexport default Vue.extend({\n props: {\n attorney: {\n type: Object,\n required: true,\n },\n },\n\n computed: {\n ...mapState('court', ['attorneyTypes']),\n ...mapGetters('court', ['attorneyName']),\n ...mapGetters('language', ['nameForIDInCollection']),\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyAttorneyDisplay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyAttorneyDisplay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PartyAttorneyDisplay.vue?vue&type=template&id=fc6756cc&\"\nimport script from \"./PartyAttorneyDisplay.vue?vue&type=script&lang=ts&\"\nexport * from \"./PartyAttorneyDisplay.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { PartyAttorney } from '@/vuex/court/participant';\n\nimport AddPartyAttorneyDialog from '@/components/court/attorney/AddPartyAttorneyDialog.vue';\nimport EditPartyAttorneyDialog from '@/components/court/attorney/EditPartyAttorneyDialog.vue';\nimport PartyAttorneyDisplay from '@/components/court/attorney/PartyAttorneyDisplay.vue';\n\nexport default Vue.extend({\n props: {\n value: Array,\n },\n\n computed: {\n ...mapState('court', ['attorneyTypes']),\n ...mapGetters('language', ['nameForIDInCollection']),\n\n partyAttorneys(): PartyAttorney[] {\n return (this.value ? this.value : []) as PartyAttorney[];\n },\n },\n\n methods: {\n addPartyAttorney(partyAttorney: PartyAttorney): void {\n const newItems = [...(this.value || []), partyAttorney];\n this.$emit('input', newItems);\n },\n\n deletePartyAttorneyAtIndex(index: number): void {\n const newItems = [...this.value];\n newItems.splice(index, 1);\n this.$emit('input', newItems);\n },\n },\n\n components: {\n AddPartyAttorneyDialog,\n EditPartyAttorneyDialog,\n PartyAttorneyDisplay,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyAttorneysForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyAttorneysForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PartyAttorneysForm.vue?vue&type=template&id=6c4144df&\"\nimport script from \"./PartyAttorneysForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./PartyAttorneysForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VIcon,VList,VListItem,VListItemContent,VListItemIcon,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"label\":_vm.label ? _vm.label : _vm.$t('partyType.singular'),\"value\":_vm.value,\"items\":_vm.partyTypeChoices,\"readonly\":_vm.readonly,\"disabled\":_vm.disabled,\"multiple\":_vm.multiple,\"hideDetails\":_vm.hideDetails,\"singleLine\":_vm.singleLine,\"rules\":_vm.computedRules},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface TranslatedString {\n [key: string]: string;\n}\n\nexport const TUnknown: TranslatedString = {\n en: 'Unknown',\n fa: 'ناشناس',\n ps: 'نامعلوم',\n};\n\nexport const TAll: TranslatedString = {\n en: 'All',\n fa: 'همه',\n ps: 'ټول',\n};\n\nexport const TNone: TranslatedString = {\n en: 'None',\n fa: 'هیچ یک',\n ps: 'هیڅ نه',\n};\n\nexport function blankTranslatedString(): TranslatedString {\n return { en: '', fa: '', ps: '' };\n}\n","import _ from 'lodash';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface Attorney {\n id: number;\n name: string;\n surname: string;\n fatherName: string;\n grandfatherName: string;\n licenseNumber: string;\n phoneNumber: string;\n emailAddress: string;\n residenceGeographyID: number;\n isDeleted: boolean;\n}\n\nexport const state = {\n attorney: {} as { [id: number]: Attorney },\n};\n\nexport const getters = {\n attorneyWithID:\n (state) =>\n (id: number): Attorney | null => {\n return state.attorney[id] || null;\n },\n attorneyName:\n (state, getters) =>\n (id: number): string => {\n const attorney = getters.attorneyWithID(id);\n if (attorney !== null) {\n return `${attorney.name} ${attorney.surname}`;\n } else {\n return `ERR: Don't know about Attorney #${id}`;\n }\n },\n fullAttorneyName:\n (state, getters) =>\n (id: number): string => {\n const attorney = getters.attorneyWithID(id);\n if (attorney !== null) {\n return `${attorney.name} ${attorney.surname} ${attorney.fatherName} ${attorney.grandfatherName}`;\n } else {\n return '';\n }\n },\n};\nexport const mutations = {};\n\nexport const actions = {\n async fetchAttorney({ commit }, id: number) {\n const response = await courtAPI.get(`/attorneys/${id}`);\n const attorney = response.data.data;\n\n const newState = modelsToState('attorney', attorney);\n commit('setState', newState);\n commit('setTarget', {\n target: 'attorney',\n index: attorney.id,\n value: attorney,\n });\n },\n};\n","import _ from 'lodash';\nimport courtAPI from '@/vuex/court/courtAPI';\n\nexport const DOSSIER_NUMBER_LENGTH = 24;\nexport const BLANK_DOSSIER_NUMBERS = ['00-00-00-00-0000-0000-00'];\n\n// Status constants\n// Statuses come from the dossier_statuses table, and could be added to the\n// database, so this list is not necessarily exhaustive.\n// This list has a server-side mirror in dossier.go.\nexport const enum DossierStatusID {\n Unknown = 0,\n Active = 1,\n Enforcement = 2,\n Closed = 3,\n}\n\nexport const ActiveDossierStatusIDs = [\n DossierStatusID.Active,\n DossierStatusID.Enforcement,\n];\n\nexport const enum DossierStageID {\n BeforeCourt = 0,\n Primary = 1,\n Appellate = 2,\n Supreme = 3,\n Revision = 4,\n Tanfiz = 5,\n}\n\nexport const AllDossierStageIDs = [\n DossierStageID.BeforeCourt,\n DossierStageID.Primary,\n DossierStageID.Appellate,\n DossierStageID.Supreme,\n DossierStageID.Revision,\n DossierStageID.Tanfiz,\n];\n\nexport interface Dossier {\n id: number;\n currentCaseID: number;\n currentCourtStageID: number;\n statusID: number;\n stageID: number;\n number: string;\n filedAt: string;\n registeredAt: string;\n type: string;\n topicID: number;\n lawsuitTypeIDs: number[];\n firstDepartmentID: number;\n lastDepartmentID: number;\n firstCourtID: number;\n lastCourtID: number;\n isFinal: boolean;\n finalizedAt: string;\n}\n\nexport const state = {\n dossierIDsForParty: {} as { [partyID: number]: number[] },\n dossier: {} as { [id: number]: Dossier },\n};\n\nexport const getters = {\n dossierWithID:\n (state) =>\n (id): Dossier | null => {\n return state.dossier[id] || null;\n },\n dossiersForParty:\n (state) =>\n (partyID: number): Dossier[] => {\n return (state.dossierIDsForParty[partyID] || []).map((id) => {\n return state.dossier[id];\n });\n },\n};\nexport const mutations = {};\n\nexport const actions = {\n async fetchDossier({ commit, dispatch }, id: number): Promise {\n const response = await courtAPI.get(`dossiers/${id}`);\n // Server returns state containing objects for the court and the\n // investigation stores\n const combinedState = response.data.data;\n\n // Split off the investigation state and store that here\n const investigationState = _.pick(combinedState, ['crimeReport']);\n commit('investigation/setState', investigationState, { root: true });\n\n // Split off the profile state\n const profileState = _.pick(combinedState, ['profile']);\n commit('profile/setState', profileState, { root: true });\n\n // Split off the court state and send it to the court state to be stored\n const courtState = _.pick(combinedState, [\n 'attorney',\n 'case',\n 'dossier',\n 'participant',\n 'party',\n 'subjectProperty',\n 'summons',\n ]);\n commit('setState', courtState);\n\n commit('createIndex', {\n target: 'participantIDsForDossier',\n data: courtState.participant,\n indexKey: 'dossierID',\n });\n\n commit('createIndex', {\n target: 'caseIDsForDossier',\n data: courtState.case,\n indexKey: 'dossierID',\n });\n\n if (courtState.case) {\n _.forEach(Object.keys(courtState.case), (caseID) => {\n dispatch('fetchCase', caseID);\n });\n }\n\n return state.dossier[id];\n },\n\n async fetchDossiersForParty({ commit, dispatch }, partyID: number) {\n const response = await courtAPI.get(`parties/${partyID}/dossiers`);\n\n const newState = _.get(response, 'data.data');\n commit('setState', newState);\n if (newState.dossier) {\n const dossierIDs = Object.keys(newState.dossier);\n commit('setTarget', {\n target: 'dossierIDsForParty',\n index: partyID,\n value: dossierIDs,\n });\n\n await Promise.all(\n _.map(dossierIDs, (id) => dispatch('fetchDossier', id)),\n );\n }\n },\n};\n","import _ from 'lodash';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface FinePayment {\n id: number;\n dossierID: number;\n partyID: number;\n paidAt: string;\n amountInPuls: number;\n receiptNumber: string;\n notes: string;\n}\n\nexport const state = {\n finePayment: {} as { [id: number]: FinePayment },\n finePaymentIDsForDossier: {} as { [id: number]: number[] },\n};\n\nexport const getters = {\n finePaymentsForDossier:\n (state) =>\n (dossierID: number): FinePayment[] => {\n let payments = state.finePaymentIDsForDossier[dossierID] || [];\n payments = payments.map(\n (id: number) => state.finePayment[id],\n ) as FinePayment[];\n return payments;\n },\n finePaymentsForDossierPartyWithID:\n (state) =>\n (dossierID: number, partyID: number): FinePayment[] => {\n let payments = state.finePaymentIDsForDossier[dossierID] || [];\n payments = payments.map(\n (id: number) => state.finePayment[id],\n ) as FinePayment[];\n payments = payments.filter((p) => p.partyID === partyID);\n return payments;\n },\n};\n\nexport const mutations = {};\n\nexport const actions = {\n async fetchFinePaymentsForDossier(\n { commit },\n payload: { dossierID: number },\n ) {\n const response = await courtAPI.get(\n `dossiers/${payload.dossierID}/fine-payments`,\n );\n const finePayments = response.data.data;\n const newState = modelsToState('finePayment', finePayments);\n commit('setState', newState);\n commit('setTarget', {\n target: 'finePaymentIDsForDossier',\n index: payload.dossierID,\n value: _.map(finePayments, 'id'),\n });\n },\n};\n","import _ from 'lodash';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface Hearing {\n id: number;\n caseID: number;\n typeID: number;\n hearingDate: string;\n time: string;\n courtroomID: number;\n notes: string;\n isCancelled: boolean;\n cancellationReasonID: number;\n cancellationNotes: string;\n filedAt: Date;\n registeredAt: string;\n}\n\nexport const state = {\n hearing: {} as { [id: number]: Hearing },\n hearingIDsForCase: {} as { [id: number]: number[] },\n hearingIDsForCourt: {} as { [id: number]: number[] },\n};\n\nexport const getters = {\n hearingsForCase:\n (state) =>\n (caseID: number): Hearing[] => {\n return (state.hearingIDsForCase[caseID] || []).map(\n (id: number) => state.hearing[id],\n ) as Hearing[];\n },\n hearingsForCourt:\n (state) =>\n (courtID: number): Hearing[] => {\n return (state.hearingIDsForCourt[courtID] || []).map(\n (id: number) => state.hearing[id],\n ) as Hearing[];\n },\n hearingWithID:\n (state) =>\n (id: number): Hearing | null => {\n return state.hearing[id] || null;\n },\n};\n\nexport const mutations = {};\n\nexport const actions = {\n async fetchHearings({ commit }, payload: { caseID: number }) {\n const response = await courtAPI.get(`cases/${payload.caseID}/hearings`);\n const hearings = response.data.data;\n const newState = modelsToState('hearing', hearings);\n commit('setState', newState);\n commit('setTarget', {\n target: 'hearingIDsForCase',\n index: payload.caseID,\n value: _.map(hearings, 'id'),\n });\n },\n async fetchCourtHearings({ commit }, payload: { courtID: number }) {\n const response = await courtAPI.get(\n `courts/${payload.courtID}/upcoming-hearings`,\n );\n const hearings = response.data.data;\n const newState = modelsToState('hearing', hearings);\n commit('setState', newState);\n commit('setTarget', {\n target: 'hearingIDsForCourt',\n index: payload.courtID,\n value: _.map(hearings, 'id'),\n });\n },\n};\n","import _ from 'lodash';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface Holiday {\n id: number;\n name: string;\n locationGeographyID: number;\n date: Date;\n}\n\nexport const state = {\n holidayIDs: [],\n holiday: {} as { [id: number]: Holiday },\n holidaysLoaded: false,\n};\n\nexport const getters = {\n holidayWithID:\n (state) =>\n (id: number): Holiday | null => {\n return state.holiday[id] || null;\n },\n allHolidays(state): Holiday[] {\n return _.map(state.holidayIDs, (id: number) => state.holiday[id]);\n },\n};\n\nexport const mutations = {\n /**\n * setHolidaysLoaded sets the tracking variable which identifies\n * whether the holidays have been successfully fetched from the\n * API or not.\n */\n setHolidaysLoaded(state, val: boolean) {\n state.holidaysLoaded = val;\n },\n};\n\nexport const actions = {\n /**\n * fetchHolidays fetches all dropdown choices for entities in this Vuex\n * store from the API.\n *\n * Most of the time it should be called as fetchHolidays({ force: false }),\n * to avoid re-fetching holidays from the API that have already been\n * loaded.\n */\n async fetchHolidays(\n { commit, state },\n payload = {} as { force: boolean },\n ): Promise {\n // Early return when the holidays are already loaded\n if (!payload.force && state.holidaysLoaded) {\n return Promise.resolve();\n }\n\n // Fetch all offender-related holidays from the API\n const response = await courtAPI.get('/holidays');\n\n const holidays = response.data.data;\n const newState = modelsToState('holiday', holidays);\n commit('setState', newState);\n commit('setTarget', {\n target: 'holidayIDs',\n value: _.map(holidays, 'id'),\n });\n commit('setHolidaysLoaded', true);\n },\n\n // fetchHoliday doesn't have a promise like fetchHolidays. Should it? How?\n async fetchHoliday({ commit }, id: number) {\n const response = await courtAPI.get(`/holidays/${id}`);\n const holiday = response.data.data;\n\n const newState = modelsToState('holiday', holiday);\n commit('setState', newState);\n commit('setTarget', {\n target: 'holiday',\n index: holiday.id,\n value: holiday,\n });\n },\n};\n","import moment from 'moment';\nimport _ from 'lodash';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface Judge {\n id: number;\n name: string;\n surname: string;\n fatherName: string;\n grandfatherName: string;\n phoneNumber: string;\n emailAddress: string;\n isDeleted: boolean;\n jurisdictions: Jurisdiction[];\n}\n\nexport interface Jurisdiction {\n id: number;\n judgeID: number;\n startsAt: string | null;\n endsAt: string | null;\n residenceGeographyID: number;\n stageIDs: number[];\n}\n\nexport const state = {\n judgeIDs: [],\n judge: {} as { [id: number]: Judge },\n judgesLoaded: false,\n jurisdiction: {} as Jurisdiction,\n};\n\nexport const getters = {\n judgeWithID:\n (state) =>\n (id: number): Judge | null => {\n return state.judge[id] || null;\n },\n allJudges(state): Judge[] {\n return _.map(state.judgeIDs, (id: number) => state.judge[id]);\n },\n judgeName:\n (state, getters) =>\n (id: number): string => {\n const judge = getters.judgeWithID(id);\n if (judge !== null) {\n return `${judge.name} ${judge.surname}`;\n } else {\n return '';\n }\n },\n fullJudgeName:\n (state, getters) =>\n (id: number): string => {\n const judge = getters.judgeWithID(id);\n if (judge !== null) {\n return `${judge.name} ${judge.surname} ${judge.fatherName} ${judge.grandfatherName}`;\n } else {\n return '';\n }\n },\n activeJurisdictionsForJudge:\n (state, getters) =>\n (id: number): Jurisdiction[] => {\n const judge = getters.judgeWithID(id);\n if (!judge) {\n return [];\n }\n return (judge.jurisdictions || []).filter(\n (jurisdiction: Jurisdiction) => {\n const validStart =\n jurisdiction.startsAt === null ||\n jurisdiction.startsAt < moment().format('YYYY-MM-DD');\n const validEnd =\n jurisdiction.endsAt === null ||\n jurisdiction.endsAt > moment().format('YYYY-MM-DD');\n return validStart && validEnd;\n },\n );\n },\n};\n\nexport const mutations = {\n /**\n * setJudgesLoaded sets the tracking variable which identifies\n * whether the judges have been successfully fetched from the\n * API or not.\n */\n setJudgesLoaded(state, val: boolean) {\n state.judgesLoaded = val;\n },\n};\n\nexport const actions = {\n /**\n * fetchJudges fetches all dropdown choices for entities in this Vuex\n * store from the API.\n *\n * Most of the time it should be called as fetchJudges({ force: false }),\n * to avoid re-fetching judges from the API that have already been\n * loaded.\n */\n async fetchJudges(\n { commit, state },\n payload = {} as { force: boolean },\n ): Promise {\n // Early return when the judges are already loaded\n if (!payload.force && state.judgesLoaded) {\n return Promise.resolve();\n }\n\n // Fetch all offender-related judges from the API\n const response = await courtAPI.get('/judges');\n const judges = response.data.data;\n const newState = modelsToState('judge', judges);\n commit('setState', newState);\n commit('setTarget', {\n target: 'judgeIDs',\n value: _.map(judges, 'id'),\n });\n commit('setJudgesLoaded', true);\n },\n\n // fetchJudge doesn't have a promise like fetchJudges. Should it? How?\n async fetchJudge({ commit }, id: number): Promise {\n const response = await courtAPI.get(`/judges/${id}`);\n const judge = response.data.data;\n\n const newState = modelsToState('judge', judge);\n commit('setState', newState);\n commit('setTarget', {\n target: 'judge',\n index: judge.id,\n value: judge,\n });\n },\n};\n","import courtAPI from '@/vuex/court/courtAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\nimport _ from 'lodash';\n\nexport interface CaseJudge {\n id: number;\n caseID: number;\n judgeID: number;\n isLeadJudge: boolean;\n isInvestigatorJudge: boolean;\n filedAt?: string;\n registeredAt?: string;\n}\n\nexport const state = {\n caseJudge: {} as { [id: number]: CaseJudge },\n caseJudgeIDsForCase: {} as { [id: number]: number[] },\n};\n\nexport const getters = {\n caseJudgesByCaseID:\n (state) =>\n (caseID: number): CaseJudge[] => {\n return (state.caseJudgeIDsForCase[caseID] || []).map(\n (id: number) => state.caseJudge[id],\n ) as CaseJudge[];\n },\n};\n\nexport const mutations = {};\n\nexport const actions = {\n async fetchCaseJudges(\n { commit, state },\n payload = {} as { caseID: number },\n ): Promise {\n const response = await courtAPI.get(`/cases/${payload.caseID}/case-judges`);\n const caseJudges = response.data.data;\n const newState = modelsToState('caseJudge', caseJudges);\n commit('setState', newState);\n commit('setTarget', {\n target: 'caseJudgeIDsForCase',\n index: payload.caseID,\n value: _.map(caseJudges, 'id'),\n });\n },\n};\n","import Vue from 'vue';\nimport _ from 'lodash';\nimport { PunishmentType } from '../crime/crime';\nimport { Charge } from './charge';\nimport { PartyTypeID } from './party';\nimport { LookupTableRow } from '@/vuex/language/language';\n\nexport interface Participant {\n id?: number; // Unset during creation\n dossierID?: number;\n caseID?: number;\n partyID: number;\n partyTypeID: number;\n originalPartyTypeID: number;\n isDeleted?: boolean;\n charges?: Charge[];\n attorneys?: PartyAttorney[];\n sentenceComponents?: SentenceComponent[];\n isDecisionAccepted?: boolean | null; // Omitting this implies null not false\n}\n\nexport interface PartyAttorney {\n id?: number; // Unset during creation\n partyID?: number; // Unset when being added to a new party\n attorneyID: number;\n attorneyTypeID: number;\n isCourtAssigned: boolean;\n}\n\nexport interface SentenceComponent {\n id?: number;\n dossierID?: number;\n caseID?: number;\n partyID?: number;\n punishmentTypeID: number;\n categoryID: number;\n durationInHours: number;\n amountInPuls: number;\n notes: string;\n subjectPropertyIDs: number[];\n isConsequential: boolean;\n isFulfilled?: boolean;\n\n /**\n * Non-Persisted Properties. These are not exchanged with the server, and\n * can often be undefined. Certain parts of the UI add these to make display\n * logic simpler.\n */\n punishmentType?: PunishmentType;\n category?: LookupTableRow;\n}\n\nexport const state = {\n /**\n * participant is the domain model lookup for Participant entities\n */\n participant: {} as { [id: number]: Participant },\n\n /**\n * participantIDsForCase is an index tracking which Participant IDs belong\n * to which caseIDs.\n */\n participantIDsForCase: {} as { [caseID: number]: number[] },\n\n /**\n * participantIDsForDossier is an index tracking which Participant IDs belong\n * to which dossierIDs.\n */\n participantIDsForDossier: {} as { [dossierID: number]: number[] },\n};\n\nexport const getters = {\n /**\n * participantWithID is a simple helper function to retrieve a single\n * Participant entity from Vuex state by its database row ID.\n */\n participantWithID:\n (state) =>\n (participantID: number): Participant => {\n return state.participant[participantID];\n },\n\n /**\n * participantInDossierOrCase is used to retrieve a single Participant from\n * the state, based on its complete key (dossierID + caseID + partyID). Since\n * Vuex state is held separately for Dossier Participants and Case Participants,\n * this function decides which state to check based on whether the caseID\n * was provided or not.\n */\n participantInDossierOrCase:\n (state, getters) =>\n (dossierID: number, caseID: number, partyID: number): Participant => {\n if (caseID) {\n return getters.participantInCase(caseID, partyID);\n }\n return getters.participantInDossier(dossierID, partyID);\n },\n\n /**\n * participantInDossier retrieves a single Participant object from the Vuex\n * state by searching the Participants attached to the provided dossierID\n * and finding the one who's partyID matches the provided partyID.\n */\n participantInDossier:\n (state) =>\n (dossierID: number, partyID: number): Participant => {\n const participantIDs = state.participantIDsForDossier[dossierID] || [];\n const participants = _.map(participantIDs, (id) => state.participant[id]);\n return _.find(participants, { partyID });\n },\n\n /**\n * participantInCase retrieves a single Participant object from the Vuex\n * state by searching the Participants attached to the provided caseID\n * and finding the one who's partyID matches the provided partyID.\n */\n participantInCase:\n (state) =>\n (caseID: number, partyID: number): Participant => {\n const participantIDs = state.participantIDsForCase[caseID] || [];\n const participants = _.map(participantIDs, (id) => state.participant[id]);\n return _.find(participants, { partyID });\n },\n\n /**\n * participantsForDossier retrieves ALL Participants who have been associated\n * with the provided dossierID.\n */\n participantsForDossier:\n (state, getters) =>\n (dossierID: number): Participant[] => {\n const participantIDs = state.participantIDsForDossier[dossierID] || [];\n return participantIDs.map((id: number) => {\n return state.participant[id];\n });\n },\n\n /**\n * primaryParticipantsForDossier is based on participantsForDossier, but it\n * filters the list down to just those that should be presented at the top\n * of the case, the \"primary\" participants. This is the Plaintiff and Respondent\n * for civil cases and the Prosecutor and Defendant(s) for criminal cases.\n */\n primaryParticipantsForDossier:\n (state, getters) =>\n (dossierID: number): Participant[] => {\n const all: Participant[] = getters.participantsForDossier(dossierID);\n const primary = all.filter((p: Participant) =>\n _.includes(getters.primaryPartyTypeIDs, p.partyTypeID),\n );\n return _.filter(primary, (p) => !p.isDeleted);\n },\n\n /**\n * defendantsForDossier is based on participantsForDossier, but it\n * filters the list down to just those who are Defendants.\n */\n defendantsForDossier:\n (state, getters) =>\n (dossierID: number): Participant[] => {\n const all: Participant[] =\n getters.primaryParticipantsForDossier(dossierID);\n return all.filter(\n (p) =>\n p.partyTypeID === PartyTypeID.Defendant ||\n p.originalPartyTypeID === PartyTypeID.Defendant,\n );\n },\n\n /**\n * participantsForCase retrieves ALL Participants who have been associated\n * with the provided caseID.\n */\n participantsForCase:\n (state, getters) =>\n (caseID: number): Participant[] => {\n const participantIDs = state.participantIDsForCase[caseID] || [];\n return participantIDs.map((id: number) => {\n return state.participant[id];\n });\n },\n\n /**\n * primaryParticipantsForCase is based on participantsForCase, but it\n * filters the list down to just those that should be presented at the top\n * of the case, the \"primary\" participants. This is the Plaintiff and Respondent\n * for civil cases and the Prosecutor and Defendant(s) for criminal cases.\n */\n primaryParticipantsForCase:\n (state, getters) =>\n (caseID: number): Participant[] => {\n const all: Participant[] = getters.participantsForCase(caseID);\n const primary = all.filter((p: Participant) =>\n _.includes(getters.primaryPartyTypeIDs, p.partyTypeID),\n );\n return _.filter(primary, (p) => !p.isDeleted);\n },\n\n /**\n * defendantsForCase is based on participantsForCase, but it\n * filters the list down to just those who are Defendants.\n */\n defendantsForCase:\n (state, getters) =>\n (caseID: number): Participant[] => {\n const all: Participant[] = getters.primaryParticipantsForCase(caseID);\n return all.filter((p) => p.partyTypeID === PartyTypeID.Defendant);\n },\n};\n\nexport const mutations = {\n /**\n * reindexCaseParticipants re-computes the participantIDsForCase\n * index from scratch by scanning the entire local participant\n * state and finding the ones with the provided caseID. This\n * mutation is intended to be called after new subject properties\n * are added to the state.\n */\n reindexCaseParticipants(state, caseID): void {\n const all: any[] = Object.values(state.participant);\n const ids = _.chain(all).filter({ caseID }).map('id').value();\n Vue.set(state.participantIDsForCase, caseID, ids);\n },\n /**\n * reindexDossierParticipants re-computes the participantIDsForDossier\n * index from scratch by scanning the entire local participant\n * state and finding the ones with the provided dossierID. This\n * mutation is intended to be called after new subject properties\n * are added to the state.\n */\n reindexDossierParticipants(state, dossierID): void {\n const all: Participant[] = Object.values(state.participant);\n const ids = _.chain(all).filter({ dossierID, caseID: 0 }).map('id').value();\n Vue.set(state.participantIDsForDossier, dossierID, ids);\n },\n};\n\nexport const actions = {};\n","export interface Summons {\n id: number;\n caseID: number;\n partyID: number;\n courtID: number;\n dossierID: number;\n filedAt: string;\n registeredAt: string;\n issuanceNumber: string;\n iteration: number;\n issuanceExpectedLocationID: number;\n issuanceNotes: string;\n presenceDate: string;\n presenceTime: string;\n presenceCourtroomID: number;\n servedAt: string;\n serviceFiledAt: string;\n serviceResultID: number;\n modeOfServiceID: number;\n serviceLocationID: number;\n servedToName: string;\n serviceNotes: string;\n appeared: boolean;\n}\n\nexport const state = {\n summons: {} as { [id: number]: Summons },\n};\n\nexport const getters = {\n summonsWithID:\n (state) =>\n (id: number): Summons => {\n return state.summons[id];\n },\n};\n\nexport const mutations = {};\nexport const actions = {};\n\nexport default {\n state,\n getters,\n mutations,\n actions,\n};\n","import _ from 'lodash';\nimport courtAPI from '@/vuex/court/courtAPI';\n\nexport interface Case {\n id: number;\n number: string;\n courtID: number;\n headOfCourtJudgeID: number;\n dossierID: number;\n filedAt: string;\n registeredAt: string;\n stageID: number;\n type: string;\n disposedAt: string;\n isFinal?: boolean;\n finalizedAt: string;\n statusID: number;\n activeAt: string;\n dispositionReasonID: number;\n}\n\nexport const enum CaseStatus {\n Unknown = 0,\n Filed = 1,\n Active = 2,\n Inactive = 3,\n Suspended = 4,\n Reopened = 5,\n Disposed = 6,\n}\n\nexport const state = {\n casesLoaded: false,\n caseIDsForDossier: {} as { [caseID: number]: number[] },\n case: {} as { [id: number]: Case },\n};\n\nexport const getters = {\n caseWithID:\n (state) =>\n (caseID: number): Case => {\n return state.case[caseID];\n },\n casesForDossier:\n (state) =>\n (dossierID: number): Case[] => {\n return (state.caseIDsForDossier[dossierID] || []).map(\n (id: number) => state.case[id],\n ) as Case[];\n },\n};\nexport const mutations = {\n setCasesLoaded(state, val: boolean) {\n state.casesLoaded = val;\n },\n};\n\nexport const actions = {\n async fetchCase({ commit, dispatch }, id: number) {\n let response = await courtAPI.get(`cases/${id}`);\n const newState = response.data.data;\n\n commit('setState', newState);\n\n commit('createIndex', {\n target: 'participantIDsForCase',\n data: newState.participant,\n indexKey: 'caseID',\n });\n\n if (newState.civilDecision) {\n commit('createIndex', {\n target: 'civilDecisionIDForCase',\n data: newState.civilDecision,\n indexKey: 'caseID',\n });\n }\n\n response = await dispatch('fetchCourtroomsForCourt', {\n courtID: newState.case[id].courtID,\n force: false,\n });\n response = await dispatch('fetchHearings', { caseID: id });\n },\n};\n","import _ from 'lodash';\nimport Vue from 'vue';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\nimport { AxiosResponse } from 'axios';\n\nexport interface DocketEntry {\n id: number;\n payload: any;\n actionType: string;\n userID: number;\n caseID: number;\n dossierID: number;\n entryTypeID: number;\n filedAt: string; // Calculated client-side, does not exist on server\n filedAtSort: string; // Calculated client-side, does not exist on server\n submittedAt: Date | string;\n description: string;\n}\n\n/**\n * sortDocketEvents processes an array of server-provided docket event objects\n * and prepares them to display in \"docket order\" in a docket table. This\n * involves extracting a consistent filedAt date for each item, and a supplemental\n * filedAtSort attribute, which truncates filedAt to the date portion and adds\n * the event ID number, so that later-created events always occur after\n * earlier-created events on the same day, event if the times of the two events\n * would suggest a different sort order.\n */\nfunction sortDocketEvents(events: DocketEntry[]): DocketEntry[] {\n return _.chain(events)\n .map((e) => {\n // Create a deep copy of the event to avoid modifying the original\n const event = _.cloneDeep(e);\n\n // Events which came from CMS1 will have a submittedDate matching the\n // date they were imported, rather than the date they were entered in CMS1.\n // To address this, we overwrite the submittedAt date with the registerdate\n // in the payload if it exists.\n const registerDate = _.get(event, 'payload.registerdate', null);\n if (registerDate) {\n event.submittedAt = registerDate;\n }\n\n // ADD ATTRIBUTE: filedAt\n // Figure out the effective filedAt date to display in the\n // docket. *Most* of the time, this is the filedAt date in the\n // payload. We handle exceptions for events that don't have a FiledAt date\n // here.\n switch (event.actionType) {\n case 'RecordSummonsServiceAction': {\n event.filedAt = _.get(event, 'payload.servedAt') || e.submittedAt;\n break;\n }\n case 'Intake': {\n event.filedAt = _.get(event, 'payload.detainedAt') || e.submittedAt;\n break;\n }\n case 'ReleaseOffenderAction': {\n event.filedAt = _.get(event, 'payload.freedAt') || e.submittedAt;\n break;\n }\n default: {\n event.filedAt = _.get(e, 'payload.filedAt') || e.submittedAt;\n break;\n }\n }\n\n // ADD ATTRIBUTE: filedAtSort\n // During display we want to resolve sorting \"ties\" on the date with\n // the ID so that later-created events which happened on the same day\n // appear later, regardless of the specific details of the time portion\n // (we do this because time precision during data input is inconsistent).\n const datePart = event.filedAt.substring(0, 10);\n const idPart = event.id.toString().padStart(12, '0');\n event.filedAtSort = datePart + '#' + idPart;\n return event;\n })\n .sortBy('filedAtSort')\n .value();\n}\n\nexport const state = {\n docketEventIDsForCase: {} as { [docketEntryID: number]: number[] },\n docketEventIDsForDossier: {} as { [docketEntryID: number]: number[] },\n docketEntry: {} as { [id: number]: DocketEntry },\n};\n\nexport const getters = {\n docketEventsForCase:\n (state) =>\n (caseID: number): DocketEntry[] => {\n const events: DocketEntry[] = (\n state.docketEventIDsForCase[caseID] || []\n ).map((id: number) => state.docketEntry[id]);\n return sortDocketEvents(events);\n },\n\n docketEventsForDossier:\n (state) =>\n (dossierID: number): DocketEntry[] => {\n const events: DocketEntry[] = (\n state.docketEventIDsForDossier[dossierID] || []\n ).map((id: number) => state.docketEntry[id]);\n return sortDocketEvents(events);\n },\n};\nexport const mutations = {\n addDocketEntry(state, response: AxiosResponse): void {\n const logEntry = response.data.logEntry;\n if (!logEntry) {\n // Ignore entries which are missing docket entry metadata\n return;\n }\n\n // First add the docket entry data itself\n state.docketEntry[logEntry.id] = logEntry;\n\n // Append the ID to the case's docket entries\n const caseID = logEntry.payload.caseID;\n if (caseID) {\n const oldItems = state.docketEventIDsForCase[caseID] || [];\n Vue.set(state.docketEventIDsForCase, caseID, [...oldItems, logEntry.id]);\n }\n\n // Append the ID to the dossier's docket entries\n const dossierID = logEntry.payload.dossierID;\n if (dossierID) {\n const oldItems = state.docketEventIDsForDossier[dossierID] || [];\n Vue.set(state.docketEventIDsForDossier, dossierID, [\n ...oldItems,\n logEntry.id,\n ]);\n }\n },\n};\n\nexport const actions = {\n async fetchDocketEntriesForCase({ commit }, payload: { caseID: number }) {\n const response = await courtAPI.get(\n `cases/${payload.caseID}/docket-events`,\n );\n const docketEntries = response.data.data;\n const newState = modelsToState('docketEntry', docketEntries);\n commit('setState', newState);\n commit('setTarget', {\n target: 'docketEventIDsForCase',\n index: payload.caseID,\n value: _.map(docketEntries, 'id'),\n });\n },\n\n async fetchDocketEntriesForDossier(\n { commit },\n payload: { dossierID: number },\n ) {\n const response = await courtAPI.get(\n `dossiers/${payload.dossierID}/docket-events`,\n );\n const docketEntries = response.data.data;\n const newState = modelsToState('docketEntry', docketEntries);\n commit('setState', newState);\n commit('setTarget', {\n target: 'docketEventIDsForDossier',\n index: payload.dossierID,\n value: _.map(docketEntries, 'id'),\n });\n },\n};\n","import _ from 'lodash';\nimport Vue from 'vue';\n\nexport interface CivilDecision {\n id: number;\n caseID: number;\n favorPartyIDs: number[];\n againstPartyIDs: number[];\n settlementValueInPuls: number;\n settlementNotes: string;\n filedAt: string;\n registeredAt: string;\n decisionNumber: string;\n verdictText: string;\n}\n\nexport const state = {\n civilDecision: {} as { [id: number]: CivilDecision },\n civilDecisionIDForCase: {} as { [caseID: number]: number },\n};\n\nexport const getters = {\n civilDecisionWithID:\n (state) =>\n (id: number): CivilDecision => {\n return state.civilDecision[id];\n },\n\n civilDecisionForCase:\n (state) =>\n (caseID: number): CivilDecision | null => {\n const decisionID = state.civilDecisionIDForCase[caseID];\n if (!decisionID) {\n return null;\n }\n return state.civilDecision[decisionID] || null;\n },\n\n settlementValueInPulsForCase:\n (state, getters) =>\n (caseID: number): number => {\n const decision = getters.civilDecisionForCase(caseID) as CivilDecision;\n if (decision) {\n return decision.settlementValueInPuls;\n }\n return 0;\n },\n};\nexport const mutations = {\n /**\n * reindexCivilDecision re-computes the civilDecisionIDForCase\n * index from scratch by scanning the entire local civilDecision\n * state and finding the ones with the provided caseID. This\n * mutation is intended to be called after a new civil decision\n * is added to the state.\n */\n reindexCivilDecision(state, caseID): void {\n const all: CivilDecision[] = Object.values(state.civilDecision);\n const pertinent: CivilDecision[] = _.filter(all, { caseID });\n const id = _.chain(pertinent).sortBy('registeredAt').last().value();\n Vue.set(state.civilDecisionIDForCase, caseID, id);\n },\n};\nexport const actions = {};\n\nexport default {\n state,\n getters,\n mutations,\n actions,\n};\n","import _ from 'lodash';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface RelatedDossier {\n id: number;\n dossierID: number;\n relatedDossierID: number;\n relatedDossierNumber: string;\n}\n\nexport const state = {\n relatedDossierIDsForDossier: {} as { [dossierID: number]: number[] },\n relatedDossier: {} as { [id: number]: RelatedDossier },\n};\n\nexport const getters = {\n relatedDossiersForDossier:\n (state) =>\n (dossierID: number): RelatedDossier[] => {\n return (state.relatedDossierIDsForDossier[dossierID] || []).map(\n (id: number) => state.relatedDossier[id],\n );\n },\n};\n\nexport const mutations = {};\n\nexport const actions = {\n async fetchRelatedDossiers(\n { commit, state },\n payload: { dossierID: number },\n ) {\n const response = await courtAPI.get(\n `/dossiers/${payload.dossierID}/related-dossiers`,\n );\n const relatedDossiers = response.data.data;\n const newState = modelsToState('relatedDossier', relatedDossiers);\n commit('setState', newState);\n commit('setTarget', {\n target: 'relatedDossierIDsForDossier',\n index: payload.dossierID,\n value: _.map(relatedDossiers, 'id'),\n });\n },\n};\n","import _ from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { TranslatedString, TUnknown } from '@/lib/translated';\nimport { domainmodelMutations, modelsToState } from '@/lib/vuex-domainmodel';\n\nimport {\n state as attorneyState,\n getters as attorneyGetters,\n mutations as attorneyMutations,\n actions as attorneyActions,\n} from './attorney';\nimport {\n state as dossierState,\n getters as dossierGetters,\n mutations as dossierMutations,\n actions as dossierActions,\n} from './dossier';\nimport {\n state as finePaymentState,\n getters as finePaymentGetters,\n mutations as finePaymentMutations,\n actions as finePaymentActions,\n} from './finePayment';\nimport {\n state as hearingState,\n getters as hearingGetters,\n mutations as hearingMutations,\n actions as hearingActions,\n} from './hearing';\nimport {\n state as holidayState,\n getters as holidayGetters,\n mutations as holidayMutations,\n actions as holidayActions,\n} from './holiday';\nimport {\n state as judgesState,\n getters as judgesGetters,\n mutations as judgesMutations,\n actions as judgesActions,\n} from './judge';\nimport {\n state as caseJudgeState,\n getters as caseJudgeGetters,\n mutations as caseJudgeMutations,\n actions as caseJudgeActions,\n} from './caseJudge';\nimport {\n state as participantState,\n getters as participantGetters,\n mutations as participantMutations,\n actions as participantActions,\n} from './participant';\nimport {\n state as partyState,\n getters as partyGetters,\n mutations as partyMutations,\n actions as partyActions,\n} from './party';\nimport {\n state as optionsState,\n getters as optionsGetters,\n mutations as optionsMutations,\n actions as optionsActions,\n} from './options';\nimport {\n state as subjectPropertyState,\n getters as subjectPropertyGetters,\n mutations as subjectPropertyMutations,\n actions as subjectPropertyActions,\n} from './subjectProperty';\nimport {\n state as summonsState,\n getters as summonsGetters,\n mutations as summonsMutations,\n actions as summonsActions,\n} from './summons';\nimport {\n state as caseState,\n getters as caseGetters,\n mutations as caseMutations,\n actions as caseActions,\n} from './case';\nimport {\n state as docketState,\n getters as docketGetters,\n mutations as docketMutations,\n actions as docketActions,\n} from './docket';\nimport {\n state as civilDecisionState,\n getters as civilDecisionGetters,\n mutations as civilDecisionMutations,\n actions as civilDecisionActions,\n} from './civilDecision';\nimport {\n state as relatedDossierState,\n getters as relatedDossierGetters,\n mutations as relatedDossierMutations,\n actions as relatedDossierActions,\n} from './relatedDossier';\n\nexport interface Court {\n id: number;\n parentID: number | null;\n rank: number;\n path: string;\n code: string;\n name: TranslatedString;\n locationGeographyID: number;\n stageIDs: number[];\n headOfCourtJudgeID: number;\n legacyDepartmentIDs: number[];\n year: number;\n lastCaseNumber: number;\n cms1Importance: number;\n cms1RecordCount: number;\n maxCaseDurationInDays: number;\n warnAfterDays: number;\n childCount?: number;\n}\n\nexport interface Courtroom {\n id: number;\n name: string;\n courtID: number;\n isDeleted: boolean;\n}\n\nexport class CourtStageIDs {\n public static readonly unknown = 0;\n public static readonly primary = 1;\n public static readonly appellate = 2;\n public static readonly supreme = 3;\n public static readonly revision = 4;\n}\n\nexport const AllCourtStageIDs = [\n CourtStageIDs.primary,\n CourtStageIDs.appellate,\n CourtStageIDs.supreme,\n CourtStageIDs.revision,\n];\n\nconst state = {\n ...attorneyState,\n ...caseJudgeState,\n ...caseState,\n ...civilDecisionState,\n ...docketState,\n ...dossierState,\n ...finePaymentState,\n ...hearingState,\n ...holidayState,\n ...judgesState,\n ...optionsState,\n ...participantState,\n ...partyState,\n ...subjectPropertyState,\n ...summonsState,\n ...relatedDossierState,\n\n court: {} as { [id: number]: Court },\n courtIDs: [] as number[],\n courtsLoaded: false,\n courtroom: {} as { [id: number]: Courtroom },\n courtroomIDsForCourt: {} as { [courtID: number]: number[] },\n courtChildIDs: {} as { [id: number]: number[] },\n};\n\nconst getters = {\n ...attorneyGetters,\n ...caseGetters,\n ...caseJudgeGetters,\n ...civilDecisionGetters,\n ...docketGetters,\n ...dossierGetters,\n ...finePaymentGetters,\n ...hearingGetters,\n ...holidayGetters,\n ...judgesGetters,\n ...optionsGetters,\n ...participantGetters,\n ...partyGetters,\n ...subjectPropertyGetters,\n ...summonsGetters,\n ...relatedDossierGetters,\n\n allCourts(state): Court[] {\n return _.map(state.courtIDs, (id: number) => state.court[id]);\n },\n\n courtWithID:\n (state) =>\n (courtID: number): Court => {\n return state.court[courtID];\n },\n\n /**\n * courtName takes a CourtID and returns the translated name for that Court,\n * or the translated phrase Unknown: if the courtID didn't match a\n * Court in the state.\n */\n courtName:\n (state) =>\n (id: number): string => {\n const court = state.court[id];\n if (!court) {\n return TUnknown[i18n.locale] + `: ${id}`;\n }\n return court.name[i18n.locale];\n },\n\n /**\n * fullCourtName takes a CourtID and returns its translated name along with\n * all of its ancestor's names. For example:\n *\n * Appellate :: Civil :: Badghis Appellate Court Civil Division\n */\n fullCourtName:\n (state, getters) =>\n (id: number): string => {\n const courts: Court[] = getters.courtAncestors(id);\n return _.map(courts, (c) => c.name[i18n.locale]).join(' :: ');\n },\n\n /**\n * courtroomsForCourt retrieves the list of Courtrooms which exist within\n * the provided courtID.\n */\n courtroomsForCourt:\n (state) =>\n (courtID: number): Courtroom[] => {\n const courtroomIDs = state.courtroomIDsForCourt[courtID];\n return _.map(courtroomIDs, (id: number) => state.courtroom[id]);\n },\n\n /**\n * courtroomWithID retrieves a single Courtroom given its ID.\n */\n courtroomWithID:\n (state) =>\n (courtroomID: number): Courtroom => {\n return state.courtroom[courtroomID];\n },\n\n /**\n * courtroomName returns the name of a Courtroom when given its ID\n */\n courtroomName:\n (state) =>\n (courtroomID: number): string => {\n const courtroom = state.courtroom[courtroomID];\n if (courtroom) {\n return courtroom.name;\n }\n return '';\n },\n\n courtChildCount:\n (state) =>\n (parentID: number): number => {\n const ids: number[] = state.courtChildIDs[parentID || 0] || [];\n return ids.length || 0;\n },\n\n /**\n * courtsUnder returns the array of Courts that reside\n * as children of the provided Court id.\n */\n courtsUnder:\n (state, getters) =>\n (parentID: number): Court[] => {\n const ids: number[] = state.courtChildIDs[parentID || 0] || [];\n return _.map(ids, (id: number): Court => state.court[id]);\n },\n\n /**\n * courtAncestorIDs builds an array of the Court IDs which are ancestors of\n * the submitted ID. The most distant ancestor will be first in the array\n * and the provided CourtID will be last in the array.\n */\n courtAncestorIDs:\n (state) =>\n (id: number): number[] => {\n const ids: number[] = [];\n let currID = id;\n while (state.court[currID]) {\n ids.unshift(currID);\n currID = state.court[currID].parentID;\n }\n if (ids.length === 0) {\n ids.unshift(0);\n }\n return ids;\n },\n\n /**\n * courtAncestors builds the array of a Court and its ancestors. The most\n * distant ancestor will be first in the array and Court matching the provided\n * ID will be last.\n */\n courtAncestors:\n (state, getters) =>\n (id: number): Court[] => {\n const ids = getters.courtAncestorIDs(id);\n return _.chain(ids)\n .map((id) => state.court[id])\n .compact()\n .value();\n },\n};\n\nconst mutations = {\n ...domainmodelMutations,\n\n ...attorneyMutations,\n ...caseJudgeMutations,\n ...caseMutations,\n ...civilDecisionMutations,\n ...docketMutations,\n ...dossierMutations,\n ...finePaymentMutations,\n ...hearingMutations,\n ...holidayMutations,\n ...judgesMutations,\n ...optionsMutations,\n ...participantMutations,\n ...partyMutations,\n ...subjectPropertyMutations,\n ...summonsMutations,\n ...relatedDossierMutations,\n\n setCourtsLoaded(state, val: boolean) {\n state.courtsLoaded = val;\n },\n\n /**\n * calculateCourtChildStats is the mutation which should be called upon the\n * initial download of Court data, or when any Court structure is changed.\n * It pre-computes the childCount property for each Court to make it\n * efficient to figure out if a Court is a leaf node or not.\n */\n calculateCourtChildStats(state) {\n Vue.set(\n state,\n 'courtIDs',\n _.chain(Object.values(state.court)).compact().map('id').value(),\n );\n Vue.set(state, 'courtChildIDs', {});\n\n for (const id of state.courtIDs) {\n const court = state.court[id];\n const parentID = court.parentID || 0;\n if (!state.courtChildIDs.hasOwnProperty(parentID)) {\n Vue.set(state.courtChildIDs, parentID, []);\n if (parentID && state.court[parentID]) {\n Vue.set(state.court[parentID], 'childCount', 0);\n }\n }\n state.courtChildIDs[parentID].push(id);\n if (parentID) {\n state.court[parentID].childCount++;\n }\n }\n },\n};\n\nconst actions = {\n ...attorneyActions,\n ...caseActions,\n ...caseJudgeActions,\n ...civilDecisionActions,\n ...docketActions,\n ...dossierActions,\n ...finePaymentActions,\n ...hearingActions,\n ...holidayActions,\n ...judgesActions,\n ...optionsActions,\n ...participantActions,\n ...partyActions,\n ...subjectPropertyActions,\n ...summonsActions,\n ...relatedDossierActions,\n\n /**\n * fetchCourt retrieves Court entities from the server and\n * injects them into the local Vuex store. It accepts a single ID\n * or an array of IDs.\n */\n async fetchCourt({ commit }, id: number | number[]) {\n const ids: number[] = _.flatten([id]);\n const idsToFetch = _.difference(ids, state.courtIDs);\n\n if (idsToFetch.length > 0) {\n const idsStr = idsToFetch.join(',');\n const response = await courtAPI.get(`courts/batch?ids=${idsStr}`);\n const newState = response.data.data;\n commit('setState', newState);\n commit('calculateCourtChildStats');\n }\n },\n\n async fetchCourts(\n { commit, state },\n payload = {} as { force: boolean },\n ): Promise {\n if (!payload.force && state.courtsLoaded) {\n return Promise.resolve();\n }\n const response = await courtAPI.get(`/courts`);\n const courts = response.data.data;\n const newState = modelsToState('court', courts);\n commit('setState', newState);\n commit('setTarget', {\n target: 'courtIDs',\n value: _.map(courts, 'id'),\n });\n commit('setCourtsLoaded', true);\n commit('calculateCourtChildStats');\n },\n\n async fetchCourtroomsForCourt(\n { commit, getters },\n payload: { courtID: number; force: boolean },\n ) {\n // Cache existing data unless force: true is provided\n const existingData = getters.courtroomsForCourt(payload.courtID);\n if (existingData.length && !payload.force) {\n return;\n }\n\n const response = await courtAPI.get(\n `/courts/${payload.courtID}/courtrooms`,\n );\n const courtrooms = response.data.data;\n const newState = modelsToState('courtroom', courtrooms);\n commit('setState', newState);\n commit('createIndex', {\n target: 'courtroomIDsForCourt',\n data: newState.courtroom,\n indexKey: 'courtID',\n });\n },\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { AppealPartyTypeIDs, NonAppealPartyTypes } from '@/vuex/court/party';\nimport { PartyTypeID } from '@/vuex/court/party';\nimport { VSelectItem } from '@/lib/vue-typescript';\nimport { TAll } from '@/lib/translated';\nimport { CourtStageIDs } from '@/vuex/court/court';\n\nexport default Vue.extend({\n props: {\n value: Number,\n label: String,\n readonly: Boolean,\n disabled: Boolean,\n multiple: Boolean,\n hideDetails: Boolean,\n singleLine: Boolean,\n rules: Array,\n caseType: String,\n courtStageID: Number,\n originalPartyTypeID: Number,\n includeUnknown: Boolean,\n zeroLabel: { type: String },\n },\n computed: {\n ...mapGetters('language', ['valueForLocale']),\n ...mapState('language', ['locale']),\n ...mapState('court', ['partyTypes']),\n\n /**\n * partyTypeChoices builds the choice values for the dropdown.\n */\n partyTypeChoices(): VSelectItem[] {\n let excludedPartyTypeIDs = [] as PartyTypeID[];\n if (!this.includeUnknown) {\n excludedPartyTypeIDs.push(PartyTypeID.Unknown);\n }\n\n // Prevent Parties which were originally Defendants from being changed\n // to any other \"primary\" party type.\n if (this.originalPartyTypeID === PartyTypeID.Defendant) {\n const invalidPrimaryTypes = _.difference(NonAppealPartyTypes, [\n PartyTypeID.Defendant,\n ]);\n excludedPartyTypeIDs = [\n ...excludedPartyTypeIDs,\n ...invalidPrimaryTypes,\n ];\n }\n\n // Prevent Parties which were originally Prosecutors from being changed\n // to any other \"primary\" party type.\n if (this.originalPartyTypeID === PartyTypeID.Prosecutor) {\n const invalidPrimaryTypes = _.difference(NonAppealPartyTypes, [\n PartyTypeID.Prosecutor,\n ]);\n excludedPartyTypeIDs = [\n ...excludedPartyTypeIDs,\n ...invalidPrimaryTypes,\n ];\n }\n\n // Exclude Apellate options in Primary court cases and in the investigation\n // docket when no courtStage is known\n if (\n this.courtStageID === CourtStageIDs.primary ||\n this.courtStageID === CourtStageIDs.unknown\n ) {\n excludedPartyTypeIDs = [...excludedPartyTypeIDs, ...AppealPartyTypeIDs];\n }\n\n // Exclude types that are invalid at the appeals stages\n if (\n this.courtStageID === CourtStageIDs.appellate ||\n this.courtStageID === CourtStageIDs.supreme ||\n this.courtStageID === CourtStageIDs.revision\n ) {\n excludedPartyTypeIDs = [\n ...excludedPartyTypeIDs,\n PartyTypeID.Petitioner,\n PartyTypeID.Respondent,\n PartyTypeID.CivilDefendant,\n PartyTypeID.Defendant,\n PartyTypeID.Prosecutor,\n PartyTypeID.Plaintiff,\n ];\n }\n\n // Exclude types that are invalid in criminal cases\n if (this.caseType === 'criminal') {\n excludedPartyTypeIDs = [\n ...excludedPartyTypeIDs,\n PartyTypeID.Petitioner,\n PartyTypeID.Respondent,\n PartyTypeID.CivilDefendant,\n ];\n }\n\n // Exclude types that are invalid in non-criminal cases\n if (this.caseType && this.caseType !== 'criminal') {\n excludedPartyTypeIDs = [\n ...excludedPartyTypeIDs,\n PartyTypeID.Defendant,\n PartyTypeID.Victim,\n ];\n }\n\n let choices = _.chain(this.partyTypes)\n .reject((pt) => _.includes(excludedPartyTypeIDs, pt.id))\n .map((pt) => ({\n value: pt.id,\n text: pt.name[this.locale],\n }))\n .value();\n\n // Override the Unknown/Zero Label if requested\n if (this.zeroLabel === 'all') {\n choices = _.map(choices, (c) => {\n if (c.value === 0) {\n c.text = this.valueForLocale(TAll);\n }\n return c;\n });\n }\n\n return choices;\n },\n\n /**\n * computedRules combines the rules prop value (if it exists) with a\n * hard-coded rule that flags choices which are invalid based on the\n * caseType and courtStage props.\n */\n computedRules(): any[] {\n const validIDs = _.map(this.partyTypeChoices, 'value');\n return [\n ...(this.rules || []),\n (v) => _.includes(validIDs, v) || i18n.t('error.invalidChoice'),\n ];\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyTypeSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyTypeSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PartyTypeSelector.vue?vue&type=template&id=7d788648&\"\nimport script from \"./PartyTypeSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./PartyTypeSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-text-field',{staticClass:\"prosecutor-selector\",attrs:{\"label\":_vm.label || _vm.$t('prosecutor.singular'),\"value\":_vm.currentProsecutorName,\"readonly\":\"\",\"append-icon\":\"arrow_drop_down\",\"rules\":_vm.rules,\"disabled\":_vm.disabled,\"loading\":_vm.loading,\"clearable\":_vm.clearable},on:{\"click\":function($event){_vm.isOpen = true}}}),_c('v-dialog',{attrs:{\"max-width\":\"700px\"},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-card',[_c('ProsecutorSearcher',{ref:\"prosecutorSearcher\",attrs:{\"selectable\":\"\"},on:{\"selected\":function($event){_vm.prosecutorID = $event;\n _vm.isOpen = false;}}}),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"small\":\"\",\"text\":\"\",\"color\":\"error\"},on:{\"click\":function($event){_vm.isOpen = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.cancel'))+\" \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.fetchData()}}},[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\",\"extension-height\":_vm.dense ? '20px' : '40px'},scopedSlots:_vm._u([(_vm.allowAdding)?{key:\"extension\",fn:function(){return [(_vm.hasPermission('prosecutors.create'))?_c('AddProsecutorDialog',{on:{\"saved\":function($event){return _vm.afterProsecutorAdded($event)}}}):_vm._e()]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('prosecutor.plural')))]),_c('v-spacer'),_c('v-text-field',{ref:\"query\",attrs:{\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\",\"append-icon\":\"search\",\"clearable\":\"\"},on:{\"keyup\":function($event){_vm.currentPage = 1;\n _vm.fetchData();},\"click:clear\":_vm.fetchData},model:{value:(_vm.query),callback:function ($$v) {_vm.query=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"query\"}})],1)],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-data-table',{attrs:{\"items\":_vm.prosecutors,\"headers\":_vm.headers,\"disable-sort\":\"\",\"loading\":_vm.loading,\"page\":_vm.currentPage,\"items-per-page\":_vm.pageSize,\"server-items-length\":_vm.serverTotalResults,\"footer-props\":{\n 'items-per-page-options': [10, 20, 40, 50, 100],\n },\"item-class\":function (item) { return (_vm.selectable ? 'selectable' : ''); }},on:{\"update:page\":[function($event){_vm.currentPage=$event},function($event){return _vm.fetchData()}],\"update:itemsPerPage\":function($event){_vm.pageSize=$event},\"update:items-per-page\":[function($event){_vm.pageSize=$event},function($event){return _vm.fetchData()}],\"click:row\":_vm.selectProsecutor},scopedSlots:_vm._u([{key:\"item.id\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EditProsecutorDialog',{attrs:{\"id\":item.id}})]}},{key:\"item.name\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.prosecutorName(item.id))+\" \")]}}],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('prosecutor.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('ProsecutorForm',{model:{value:(_vm.prosecutor),callback:function ($$v) {_vm.prosecutor=$$v},expression:\"prosecutor\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',[_c('v-col',{attrs:{\"md\":\"3\",\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.name'),\"value\":_vm.prosecutor.name,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('name', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"md\":\"3\",\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.surname'),\"value\":_vm.prosecutor.surname,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('surname', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"md\":\"3\",\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.fatherName'),\"value\":_vm.prosecutor.fatherName},on:{\"input\":function($event){return _vm.update('fatherName', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"md\":\"3\",\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.grandfatherName'),\"value\":_vm.prosecutor.grandfatherName},on:{\"input\":function($event){return _vm.update('grandfatherName', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.gender'),\"value\":_vm.prosecutor.genderID,\"items\":\"profile/genders\",\"exclude-unknown\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('genderID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('PhoneField',{attrs:{\"label\":_vm.$t('person.phoneNumber'),\"value\":_vm.prosecutor.phoneNumber},on:{\"input\":function($event){return _vm.update('phoneNumber', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.emailAddress'),\"value\":_vm.prosecutor.emailAddress},on:{\"input\":function($event){return _vm.update('emailAddress', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.birthplace'),\"value\":_vm.prosecutor.birthplaceGeographyID},on:{\"input\":function($event){return _vm.update('birthplaceGeographyID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.residence'),\"value\":_vm.prosecutor.residenceGeographyID},on:{\"input\":function($event){return _vm.update('residenceGeographyID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('CaseTypeSelector',{attrs:{\"label\":_vm.$t('court.caseType.plural'),\"value\":_vm.prosecutor.caseTypes,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"multiple\":\"\",\"chips\":\"\"},on:{\"input\":function($event){return _vm.update('caseTypes', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('CourtStageSelector',{attrs:{\"label\":_vm.$t('court.stage.plural'),\"value\":_vm.prosecutor.stageIDs,\"multiple\":\"\",\"chips\":\"\"},on:{\"input\":function($event){return _vm.update('stageIDs', $event)}}})],1),(_vm.prosecutor.id)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('item.isDeleted'),\"input-value\":_vm.prosecutor.isDeleted},on:{\"change\":function($event){return _vm.update('isDeleted', !!$event)}}})],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-autocomplete',{attrs:{\"label\":_vm.label || _vm.$t('court.stage.singular'),\"value\":_vm.value,\"rules\":_vm.rules,\"items\":_vm.stageChoices,\"disabled\":_vm.disabled,\"hint\":_vm.hint,\"persistent-hint\":_vm.persistentHint,\"multiple\":_vm.multiple,\"chips\":_vm.chips},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { AllCourtStageIDs } from '@/vuex/court/court';\nimport { VSelectItem } from '@/lib/vue-typescript';\nimport { TAll } from '@/lib/translated';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: [Number, Array],\n rules: Array,\n hint: String,\n persistentHint: Boolean,\n disabled: Boolean,\n multiple: Boolean,\n chips: Boolean,\n items: {\n required: false,\n type: [Number, Array],\n },\n\n includeUnknown: Boolean,\n unknownLabel: String,\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('language', ['locale']),\n\n /**\n * stageIDs builds the list of court stage IDs that the user will be\n * allowed to select from. This can be supplied directly by the user via\n * the items prop, or obtained via the AllCourtStageIDs const. Choices for\n * null (Unknown) and 0 (Before Court) are added optionally if props are\n * set.\n */\n stageIDs(): any[] {\n // Wrap and flatten items to convert from a single item to an array\n const ids: any[] = this.items\n ? _.flatten([this.items])\n : _.cloneDeep(AllCourtStageIDs);\n\n if (this.includeUnknown) {\n ids.unshift(0);\n }\n return ids;\n },\n\n /**\n * stageChoices builds the array of dropdown selection items based on\n * which stageIDs have been selected.\n */\n stageChoices(): VSelectItem[] {\n const choices: VSelectItem[] = _.map(this.stageIDs, (id) =>\n this.buildItemForID(id),\n );\n return choices;\n },\n },\n\n methods: {\n buildItemForID(id: number): VSelectItem {\n let text = this.nameForIDInCollection(id, 'court/courtStages');\n if (!id) {\n if (this.unknownLabel === 'all') {\n text = TAll[this.locale];\n }\n }\n return { value: id, text };\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtStageSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtStageSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtStageSelector.vue?vue&type=template&id=3107548a&\"\nimport script from \"./CourtStageSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtStageSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\ninstallComponents(component, {VAutocomplete})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\n\nimport { AfghanistanID } from '@/vuex/geography/geography';\nimport { Prosecutor } from '@/vuex/investigation/prosecutor';\n\nimport CaseTypeSelector from '@/components/court/CaseTypeSelector.vue';\nimport CourtStageSelector from '@/components/court/CourtStageSelector.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n computed: {\n /**\n * prosecutor computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n prosecutor(): Prosecutor {\n return this.value\n ? this.value\n : {\n id: 0,\n name: '',\n surname: '',\n fatherName: '',\n grandfatherName: '',\n residenceGeographyID: AfghanistanID,\n birthplaceGeographyID: AfghanistanID,\n genderID: 1, // Male\n phoneNumber: '',\n emailAddress: '',\n caseTypes: [],\n stages: [],\n isDeleted: false,\n };\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.prosecutor), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n\n components: {\n CaseTypeSelector,\n CourtStageSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProsecutorForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProsecutorForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProsecutorForm.vue?vue&type=template&id=ab79b404&\"\nimport script from \"./ProsecutorForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProsecutorForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCheckbox,VCol,VRow,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { firstModelIDInState } from '@/lib/vuex-domainmodel';\nimport { Prosecutor } from '@/vuex/investigation/prosecutor';\n\nimport ProsecutorForm from './ProsecutorForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n error: null as any,\n isOpen: false,\n\n prosecutor: null as Prosecutor | null,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.error = null;\n this.prosecutor = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event. It persists\n * the record to the database via the API.\n */\n async save(): Promise {\n if (!this.prosecutor) {\n return;\n }\n try {\n const response = await investigationAPI.post('prosecutors/create', {\n data: {\n name: this.prosecutor.name,\n surname: this.prosecutor.surname,\n fatherName: this.prosecutor.fatherName,\n grandfatherName: this.prosecutor.grandfatherName,\n birthplaceGeographyID: this.prosecutor.birthplaceGeographyID,\n residenceGeographyID: this.prosecutor.residenceGeographyID,\n genderID: this.prosecutor.genderID,\n emailAddress: this.prosecutor.emailAddress,\n phoneNumber: this.prosecutor.phoneNumber,\n caseTypes: this.prosecutor.caseTypes,\n stageIDs: this.prosecutor.stageIDs,\n isDeleted: this.prosecutor.isDeleted,\n },\n });\n\n // Write the new state into the investigation store\n const newState = response.data.data;\n this.$store.commit('investigation/setState', newState);\n\n const newID = firstModelIDInState(newState, 'prosecutor');\n this.$emit('saved', newID);\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n ProsecutorForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddProsecutorDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddProsecutorDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddProsecutorDialog.vue?vue&type=template&id=659f1f9a&\"\nimport script from \"./AddProsecutorDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddProsecutorDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('prosecutor.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),(_vm.prosecutor)?_c('ProsecutorForm',{model:{value:(_vm.prosecutor),callback:function ($$v) {_vm.prosecutor=$$v},expression:\"prosecutor\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Prosecutor } from '@/vuex/investigation/prosecutor';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\n\nimport ProsecutorForm from './ProsecutorForm.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n data() {\n return {\n error: null as any,\n isOpen: false,\n prosecutor: null as Prosecutor | null,\n };\n },\n computed: {\n ...mapGetters('investigation', ['prosecutorWithID']),\n },\n methods: {\n /**\n * reset is our event handler for CMSFormDialog's reset event. It fires when\n * the dialog is activated. We use it to create a dialog-local copy of the\n * entity being edited.\n */\n async reset(): Promise {\n await this.$store.dispatch('investigation/fetchProsecutor', this.id);\n const localCopy = Object.assign({}, this.prosecutorWithID(this.id));\n this.prosecutor = localCopy;\n this.error = null;\n },\n\n /**\n * save is our event handler for CMSFormDialog's save event. It fires when\n * the save button is clicked on the dialog. We use it to persist the\n * changes to the server.\n */\n async save(): Promise {\n if (!this.prosecutor) {\n return;\n }\n\n try {\n this.error = null;\n const response = await investigationAPI.post('prosecutors/update', {\n data: {\n id: this.prosecutor.id,\n name: this.prosecutor.name,\n surname: this.prosecutor.surname,\n fatherName: this.prosecutor.fatherName,\n grandfatherName: this.prosecutor.grandfatherName,\n birthplaceGeographyID: this.prosecutor.birthplaceGeographyID,\n residenceGeographyID: this.prosecutor.residenceGeographyID,\n genderID: this.prosecutor.genderID,\n emailAddress: this.prosecutor.emailAddress,\n phoneNumber: this.prosecutor.phoneNumber,\n partyID: this.prosecutor.partyID,\n isDeleted: this.prosecutor.isDeleted,\n caseTypes: this.prosecutor.caseTypes,\n stageIDs: this.prosecutor.stageIDs,\n },\n });\n const newState = response.data.data;\n this.$store.commit('investigation/setState', newState);\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n ProsecutorForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProsecutorDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProsecutorDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditProsecutorDialog.vue?vue&type=template&id=5e0c6593&\"\nimport script from \"./EditProsecutorDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditProsecutorDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport i18n from '@/i18n';\nimport { Prosecutor } from '@/vuex/investigation/prosecutor';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nimport AddProsecutorDialog from '@/components/investigation/prosecutor/AddProsecutorDialog.vue';\nimport EditProsecutorDialog from '@/components/investigation/prosecutor/EditProsecutorDialog.vue';\n\nexport default Vue.extend({\n props: {\n selectable: Boolean,\n dense: Boolean,\n },\n\n created() {\n this.fetchData();\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.fetchData = _.debounce(this.fetchData, 400);\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n\n resultIDs: [] as number[],\n query: '',\n\n // Pagination attributes\n currentPage: 1,\n pageSize: 10,\n serverTotalResults: 0,\n };\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('investigation', ['prosecutorWithID', 'prosecutorName']),\n\n allowAdding(): boolean {\n // Never let users who lack permissions add new entries.\n if (!this.hasPermission('prosecutors.create')) {\n return false;\n }\n\n if (!this.selectable) {\n // On the ProsecutorList page, or any context where the user is not being\n // asked to select something, allow them to Add new Prosecutors.\n return true;\n }\n\n return !!this.query; // Require a search before adding.\n },\n\n allowEditing(): boolean {\n if (this.selectable) {\n // Don't allow users to edit Prosecutor data while they are selecting\n // a Prosecutor via ProsecutorSearchSelector\n return false;\n }\n\n // Otherwise allow editing if they have the relevant permission.\n return this.hasPermission('prosecutors.create');\n },\n\n prosecutors(): Prosecutor[] {\n return _.map(this.resultIDs, this.prosecutorWithID);\n },\n\n headers(): any[] {\n const headers: any[] = [\n {\n text: i18n.t('person.name'),\n value: 'name',\n },\n {\n text: i18n.t('person.phoneNumber'),\n value: 'phoneNumber',\n },\n {\n text: i18n.t('person.emailAddress'),\n value: 'emailAddress',\n },\n ];\n if (this.allowEditing) {\n headers.unshift({\n text: i18n.t('command.edit'),\n value: 'id',\n width: '10%',\n });\n }\n return headers;\n },\n },\n methods: {\n /**\n * afterProsecutorAdded is triggered when the user successfully adds a new\n * record via the add dialog attached to the search interface. It receives\n * the ID of the newly-created Prosecutor, and immediately selects it if the\n * searcher is in selectable mode. If not, it forcefully adds it to the\n * front of the search results so the user immediately sees it.\n */\n afterProsecutorAdded(newID: number): void {\n if (this.selectable) {\n const pros = this.prosecutorWithID(newID);\n this.selectProsecutor(pros);\n } else {\n this.resultIDs.unshift(newID);\n if (this.serverTotalResults < 1) {\n this.serverTotalResults = 1;\n }\n }\n },\n\n /**\n * selectProsecutor is triggered by a click on one of the rows in the table,\n * or when a new record is added. Both can only happen when the component\n * has the selectable prop.\n */\n selectProsecutor(pros: Prosecutor): void {\n this.$emit('selected', pros.id);\n },\n\n /**\n * reset clears the search and resets search results. Primarily designed\n * to be called externally via a $ref to this component so that the searcher\n * can be reset when a dialog is opened.\n */\n reset(): void {\n this.$nextTick(() => {\n this.query = '';\n this.fetchData();\n (this.$refs.query as any).focus();\n });\n },\n\n /**\n * fetchData performs the actual search. It hits the API with the active\n * query and pagination criteria and updates the locally-held search results\n * data.\n */\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n\n const args = [] as string[];\n args.push(`page[size]=${this.pageSize}`);\n args.push(`page[number]=${this.currentPage}`);\n args.push(`q=${this.query || ''}`);\n\n try {\n const response = await investigationAPI.get(\n `/prosecutors/search?` + args.join('&'),\n );\n if (response && response.data && response.data.data) {\n // Update metadata for the pager\n if (response.data.meta) {\n this.serverTotalResults = response.data.meta.totalResults;\n }\n\n // First add all the found Prosecutors to the Vuex State\n const prosecutors = response.data.data;\n const newState = modelsToState('prosecutor', prosecutors);\n this.$store.commit('investigation/setState', newState);\n\n // Then update the resultIDs with the IDs of those prosecutors\n this.resultIDs = _.map(response.data.data, 'id');\n }\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n\n components: {\n AddProsecutorDialog,\n EditProsecutorDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProsecutorSearcher.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProsecutorSearcher.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProsecutorSearcher.vue?vue&type=template&id=63bf8ac2&\"\nimport script from \"./ProsecutorSearcher.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProsecutorSearcher.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VDataTable,VForm,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Prosecutor } from '@/vuex/investigation/prosecutor';\n\nimport ProsecutorSearcher from '@/components/investigation/prosecutor/ProsecutorSearcher.vue';\n\nexport default Vue.extend({\n props: {\n value: Number,\n\n // label is a passthrough to the v-autocomplete label prop\n label: String,\n\n // rules is a passthrough to the v-autocomplete rules prop\n rules: Array,\n\n // disabled is a passthrough to the v-autocomplete disabled prop\n disabled: Boolean,\n\n // value is the prop that makes this component work with v-model\n clearable: Boolean,\n\n // exclude is an array prop that contains IDs of attorneys to filter out of\n // the list so that they are not even visible to be selected.\n excludedIDs: Array,\n\n // partyMode changes the v-model binding behavior of the\n // ProsecutorSearchSelector. Normally, the ProsecutorSearchSelector binds\n // with the ID of a prosecutor.\n partyMode: Boolean,\n },\n data() {\n return {\n loading: false,\n isOpen: false,\n\n prosecutorID: 0,\n };\n },\n watch: {\n value(newVal: number): void {\n if (!this.partyMode && newVal !== this.prosecutorID) {\n this.prosecutorID = newVal;\n return;\n }\n\n if (this.partyMode && !newVal) {\n this.prosecutorID = 0;\n }\n },\n isOpen(newVal: boolean): void {\n this.$nextTick(() => {\n (this.$refs.prosecutorSearcher as any).reset();\n });\n },\n async prosecutorID(newID: number): Promise {\n if (this.partyMode) {\n if (this.prosecutor) {\n // In partyMode, we can't be confident that the referenced party\n // object is loaded in the court.party Vuex store, so we have to\n // fetch it.\n const partyID = this.prosecutor.partyID;\n this.loading = true;\n await this.$store.dispatch(\n 'court/fetchParty',\n this.prosecutor.partyID,\n );\n this.loading = false;\n this.$emit('input', partyID);\n } else {\n this.$emit('input', 0);\n }\n return;\n }\n\n this.$emit('input', this.prosecutorID);\n },\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('court', ['partyName']),\n ...mapGetters('investigation', ['prosecutorWithID', 'prosecutorName']),\n prosecutor(): Prosecutor | null {\n return this.prosecutorWithID(this.prosecutorID) || null;\n },\n currentProsecutorName(): string {\n if (!this.value) {\n return '';\n }\n if (this.partyMode) {\n return this.partyName(this.value);\n }\n return this.prosecutorName(this.value);\n },\n },\n components: {\n ProsecutorSearcher,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProsecutorSearchSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProsecutorSearchSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProsecutorSearchSelector.vue?vue&type=template&id=51ab1bfe&\"\nimport script from \"./ProsecutorSearchSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProsecutorSearchSelector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProsecutorSearchSelector.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardActions,VDialog,VDivider,VSpacer,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\nimport _ from 'lodash';\n\nimport { Participant } from '@/vuex/court/participant';\nimport {\n AppealPartyTypeIDs,\n DefendantPartyTypeIDs,\n PartyTypeID,\n ProsecutorPartyTypeIDs,\n} from '@/vuex/court/party';\n\nimport ChargesForm from '@/components/charges/ChargesForm.vue';\nimport PartyAttorneysForm from '@/components/court/attorney/PartyAttorneysForm.vue';\nimport PartySearchSelector from '@/components/court/party/PartySearchSelector.vue';\nimport PartyTypeSelector from '@/components/dossier/PartyTypeSelector.vue';\nimport ProfileSearchSelector from '@/components/profile/ProfileSearchSelector.vue';\nimport ProsecutorSearchSelector from '@/components/investigation/prosecutor/ProsecutorSearchSelector.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n caseType: String,\n courtStageID: Number,\n forcePartyTypeID: Number,\n },\n\n computed: {\n /**\n * participant computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n participant(): Participant {\n const defaultPartyTypeID =\n this.caseType === 'criminal'\n ? PartyTypeID.Defendant\n : PartyTypeID.Petitioner;\n const initialPartyTypeID = !!this.forcePartyTypeID\n ? this.forcePartyTypeID\n : defaultPartyTypeID;\n return this.value\n ? this.value\n : ({\n id: 0,\n dossierID: 0,\n caseID: 0,\n partyID: 0,\n partyTypeID: initialPartyTypeID,\n originalPartyTypeID: 0,\n attorneys: [],\n charges: [],\n } as Participant);\n },\n\n lockParty(): boolean {\n // When the Participant has already been saved to the server,\n // forbid changing the identity of the party.\n return !!this.participant.id;\n },\n\n canHaveCharges(): boolean {\n return !!(\n this.participant &&\n this.participant.partyID &&\n (this.participant.partyTypeID === PartyTypeID.Defendant ||\n this.participant.originalPartyTypeID === PartyTypeID.Defendant)\n );\n },\n\n canHaveAttorneys(): boolean {\n return !!(\n this.participant &&\n this.participant.partyID &&\n this.participant.partyTypeID !== PartyTypeID.Prosecutor &&\n this.participant.originalPartyTypeID !== PartyTypeID.Prosecutor\n );\n },\n\n isAppellantOrAppellee(): boolean {\n return _.includes(AppealPartyTypeIDs, this.participant.partyTypeID);\n },\n\n isDefendant(): boolean {\n return (\n _.includes(DefendantPartyTypeIDs, this.participant.partyTypeID) ||\n _.includes(DefendantPartyTypeIDs, this.participant.originalPartyTypeID)\n );\n },\n\n isProsecutor(): boolean {\n return (\n _.includes(ProsecutorPartyTypeIDs, this.participant.partyTypeID) ||\n _.includes(ProsecutorPartyTypeIDs, this.participant.originalPartyTypeID)\n );\n },\n\n showPartySelector(): boolean {\n // Early exit - Require partyTypeID to be known\n if (!this.participant.partyTypeID) {\n return false;\n }\n if (_.includes(AppealPartyTypeIDs, this.participant.partyTypeID)) {\n // When an Appeal party type is selected, we also require the\n // orignalPartyTypeID before selecting the Party.\n return !!this.participant.originalPartyTypeID;\n }\n return true;\n },\n\n /**\n * partyTypeCols is used to determine the number of cols used for each\n * party type selector on larger screens (md and above). When there's only\n * one selector, it's 4 cols wide. When there are 2 each should be 2 cols\n * so there's 4 total cols used by the Party Type area.\n */\n partyTypeCols(): number {\n if (this.isAppellantOrAppellee) {\n return 3;\n }\n return 6;\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any): void {\n this.$emit(\n 'input',\n tap(cloneDeep(this.participant), (v) => set(v, key, value)),\n );\n },\n\n /**\n * partyTypeChanged is the UI component event handler for the Party Type\n * dropdown being changed by the user. Just like update(), we need to\n * $emit the entire Participant object, but we need to make sure to\n * reset the partyID when the party type was changed.\n */\n partyTypeChanged(newTypeID: number) {\n const newParticipant = cloneDeep(this.participant);\n if (!this.lockParty && newTypeID !== this.participant.partyTypeID) {\n newParticipant.partyID = 0;\n }\n newParticipant.partyTypeID = newTypeID;\n this.$emit('input', newParticipant);\n },\n\n /**\n * originalPartyTypeChanged is the UI component event handler for the\n * Original Party Type dropdown being changed by the user. Just like\n * update() we need to $emit the entire Participant object, but we need\n * to make sure to reset the partyID first when the user changed the\n * Original Party Type in a way that invalidated the previous choice.\n */\n originalPartyTypeChanged(newTypeID: number): void {\n const newParticipant = cloneDeep(this.participant);\n if (!this.lockParty) {\n newParticipant.partyID = 0;\n }\n newParticipant.originalPartyTypeID = newTypeID;\n this.$emit('input', newParticipant);\n },\n\n /**\n * partyChagned is the UI component event handler for the Party, Profile\n * and Prosecutor selector. Just like update() we $emit the entire\n * resulting state of the Participant here. But first, we use this\n * opportunity to \"lock-in\" the originalPartyType field for the Participant\n * at this time.\n */\n partyChanged(newID: number): void {\n const newParticipant = cloneDeep(this.participant);\n newParticipant.partyID = newID;\n const partyTypeKnown = !!newParticipant.partyTypeID;\n const originalPartyTypeKnown = !!newParticipant.originalPartyTypeID;\n if (newID && partyTypeKnown && !originalPartyTypeKnown) {\n newParticipant.originalPartyTypeID = newParticipant.partyTypeID;\n }\n this.$emit('input', newParticipant);\n },\n },\n\n components: {\n ChargesForm,\n PartyAttorneysForm,\n PartySearchSelector,\n PartyTypeSelector,\n ProfileSearchSelector,\n ProsecutorSearchSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ParticipantForm.vue?vue&type=template&id=277a4289&\"\nimport script from \"./ParticipantForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./ParticipantForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\n\nimport { mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { Participant } from '@/vuex/court/participant';\n\nimport ParticipantForm from './ParticipantForm.vue';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n dossierID: Number,\n caseID: Number,\n caseType: String,\n courtStageID: Number,\n noActivator: Boolean,\n tentativelyAddedPartyIDs: Array,\n },\n created() {\n this.isOpen = this.value;\n },\n data() {\n return {\n isOpen: false,\n filedAt: '',\n participant: null as Participant | null,\n\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('court', [\n 'fullPartyName',\n 'participantsForCase',\n 'participantsForDossier',\n ]),\n\n /**\n * saveAllowed prevents the save button from being clicked until a PartyID\n * and PartyTypeID are chosen.\n */\n saveAllowed(): boolean {\n const p = this.participant;\n return !!p && !!p.partyTypeID && !!p.partyID;\n },\n\n /**\n * wasAlreadyAdded returns true if the PartyID the user has selected already\n * exists either in the Vuex store for this case/dossier or in the\n * tentativelyAddedPartyIDs prop which was supplied to this component.\n */\n wasAlreadyAdded(): boolean {\n if (!this.participant) {\n return false;\n }\n return _.includes(this.alreadyAddedPartyIDs, this.participant.partyID);\n },\n\n /**\n * alreadyAddedPartyIDs returns the array of partyIDs which are already\n * associated with this case or dossier. This attribute combines the\n * persisted partyIDs which are saved to the server and added to Vuex\n * and the tentativelyAddedPartyIDs which were supplied to this component\n * as props.\n */\n alreadyAddedPartyIDs(): number[] {\n const alreadyAddedIDs = [] as number[];\n if (this.caseID) {\n // Add the partyIDs from the caseID if it was supplied as a prop.\n // We want the case's properties to override the dossier's.\n const ids = _.map(this.participantsForCase(this.caseID), 'partyID');\n alreadyAddedIDs.push(...ids);\n } else if (this.dossierID) {\n // Add the partyIDs from the dossier if we don't have a caseID supplied\n // as a prop, but we do have a dossierID. This will be the case on the\n // Dossier screen.\n const ids = _.map(\n this.participantsForDossier(this.dossierID),\n 'partyID',\n );\n alreadyAddedIDs.push(...ids);\n }\n const additionalIDs = (this.tentativelyAddedPartyIDs || []) as number[];\n alreadyAddedIDs.push(...additionalIDs);\n return (\n _.chain(alreadyAddedIDs)\n // Remove falsey values in case there's a participant without\n // a party assigned yet\n .compact()\n // Remove duplicates\n .uniq()\n .value()\n );\n },\n },\n watch: {\n value(val) {\n this.isOpen = val;\n },\n isOpen(val) {\n this.$emit('input', val);\n },\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.filedAt = moment().format();\n this.participant = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n *\n * It behaves in two distinct ways:\n *\n * If the dossierID prop is not set, then it just $emits the Participant.\n *\n * Otherwise, it performs an API call to persist the Participant to the\n * database and add it to local state.\n */\n async save(): Promise {\n if (!this.participant) {\n return;\n }\n\n if (!this.dossierID) {\n const emittedCopy = Object.assign({}, this.participant);\n this.$emit('saved', emittedCopy);\n }\n this.error = null;\n try {\n const response = await courtAPI.post('participants/create', {\n data: {\n dossierID: this.dossierID,\n caseID: this.caseID,\n partyID: this.participant.partyID,\n partyTypeID: this.participant.partyTypeID,\n originalPartyTypeID: this.participant.partyTypeID,\n attorneys: this.participant.attorneys || [],\n charges: this.participant.charges || [],\n filedAt: this.filedAt,\n },\n });\n\n const newState = response.data.data;\n const newParticipant = Object.values(\n newState.participant,\n )[0] as Participant;\n\n // Add all entities to Vuex state\n this.$store.commit('court/setState', newState);\n\n // Immediately update the docket\n this.$store.commit('court/addDocketEntry', response);\n\n if (this.caseID) {\n /**\n * =================================================================\n * CASE UPDATES\n */\n // Case Participants\n this.$store.commit('court/appendToTarget', {\n target: 'participantIDsForCase',\n index: this.caseID,\n value: newParticipant.id,\n });\n }\n\n if (this.dossierID) {\n /**\n * =================================================================\n * DOSSIER UPDATES\n */\n // Dossier Participants\n this.$store.commit('court/appendToTarget', {\n target: 'participantIDsForDossier',\n index: this.dossierID,\n value: newParticipant.id,\n });\n }\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n ParticipantForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddParticipantDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddParticipantDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddParticipantDialog.vue?vue&type=template&id=5b90a39f&\"\nimport script from \"./AddParticipantDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddParticipantDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Participant } from '@/vuex/court/participant';\n\nimport AddParticipantDialog from '@/components/court/participant/AddParticipantDialog.vue';\nimport ParticipantForm from '@/components/court/participant/ParticipantForm.vue';\n\nexport default Vue.extend({\n props: {\n value: {\n type: Array,\n default: () => [] as Participant[],\n },\n caseType: String,\n courtStageID: Number,\n },\n\n computed: {\n ...mapState('court', ['partyTypes']),\n ...mapGetters('language', ['nameForIDInCollection']),\n\n /**\n * participants is the array of objects being operated upon in the form.\n * It is built from the value prop.\n */\n participants(): Participant[] {\n // The forceful type assertion is necessary here because this.value\n // is an unknown[].\n return (this.value ? this.value : []) as Participant[];\n },\n\n /**\n * partyIDs computes the unique list of partyIDs that are presently in the\n * form. Needed to feed to the AddParticipantDialog so that it can warn\n * before a duplicate party is added.\n */\n partyIDs(): number[] {\n return _.chain(this.participants || [])\n .map('partyID')\n .uniq()\n .compact()\n .value();\n },\n\n /**\n * participantColumnWidth computes how many columns wide each participant\n * card is on medium and larger screens.\n */\n participantColumnWidth(): number {\n if (this.participants.length === 1) {\n return 12;\n }\n if (this.caseType === 'criminal') {\n return 12;\n }\n return 6;\n },\n },\n\n methods: {\n /**\n * addParticipant is the event handler for the AddParticipantDialog being\n * submitted. We must re-emit a new array when an item is added to preserve\n * Vue reactivity.\n */\n addParticipant(p: Participant): void {\n const newItems = [...this.participants, p];\n this.$emit('input', newItems);\n },\n\n /**\n * removeParticipant is the event handler for the delete button being clicked\n * on one of the participants. We remove via .splice and re-emit to preserve\n * Vue reactivity.\n */\n removeParticipant(i: number): void {\n const newItems = [...this.participants];\n newItems.splice(i, 1);\n this.$emit('input', newItems);\n },\n },\n\n components: {\n ParticipantForm,\n AddParticipantDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantsForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantsForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ParticipantsForm.vue?vue&type=template&id=0fb130ff&\"\nimport script from \"./ParticipantsForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./ParticipantsForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VIcon,VRow,VSpacer,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport router from '@/router';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { CaseTopicID, LookupItem } from '@/vuex/court/options';\nimport { Participant } from '@/vuex/court/participant';\nimport { PartyTypeID } from '@/vuex/court/party';\nimport { SubjectProperty } from '@/vuex/court/subjectProperty';\nimport { VForm } from '@/lib/vue-typescript';\n\nimport CaseTypeSelector from '@/components/court/CaseTypeSelector.vue';\nimport ParticipantsForm from '@/components/court/participant/ParticipantsForm.vue';\nimport SubjectPropertiesForm from '@/components/subjectProperty/SubjectPropertiesForm.vue';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n title: String,\n forceCaseType: String,\n },\n\n data() {\n return {\n number: '',\n type: 'civil', // Can be 'civil', 'state', or 'criminal'\n departmentID: 0,\n filedAt: moment().format(),\n lawsuitTypeIDs: [],\n topicID: 0,\n participants: [] as Participant[],\n subjectProperties: [] as SubjectProperty[],\n error: null as any,\n };\n },\n\n watch: {\n type: {\n handler(newVal, oldVal) {\n if (newVal === 'criminal') {\n this.topicID = 0;\n }\n if (newVal === 'civil') {\n this.topicID = 1; // Property\n }\n if (newVal === 'state') {\n this.topicID = 4; // Administrative\n }\n this.resetParticipants();\n },\n immediate: true,\n },\n forceCaseType(newVal) {\n this.type = newVal || 'civil';\n },\n },\n\n computed: {\n ...mapState('court', ['partyTypes', 'civilCaseTopics']),\n ...mapGetters('language', ['nameForIDInCollection', 'valueForLocale']),\n\n caseTopics(): LookupItem[] {\n if (this.type === 'state') {\n return this.civilCaseTopics.filter((t) => t.id !== CaseTopicID.Family);\n }\n return this.civilCaseTopics;\n },\n },\n\n methods: {\n reset(): void {\n (this.$refs.form as VForm).resetValidation();\n\n this.number = '';\n this.type = 'civil';\n this.departmentID = 0;\n this.filedAt = moment().format();\n this.lawsuitTypeIDs = [];\n this.topicID = 0;\n this.resetParticipants();\n this.subjectProperties = [] as SubjectProperty[];\n this.error = null;\n },\n\n save(): void {\n if (!this.validate()) {\n return;\n }\n this.error = null;\n courtAPI\n .post('dossiers/create', {\n data: {\n type: this.type,\n number: this.number,\n departmentID: this.departmentID,\n filedAt: this.filedAt,\n lawsuitTypeIDs: this.lawsuitTypeIDs,\n topicID: this.topicID,\n participants: this.participants,\n subjectProperties: this.subjectProperties,\n },\n })\n .then((response) => {\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n const newDossierID = Object.keys(newState.dossier)[0];\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newDossierID);\n\n this.reset();\n this.close();\n router.push({\n name: 'dossierShow',\n params: { id: newDossierID },\n });\n })\n .catch((err) => {\n this.error = err;\n });\n },\n\n close(): void {\n this.reset();\n this.$emit('input', false);\n },\n\n validate(): boolean {\n return (this.$refs.form as VForm).validate();\n },\n\n /**\n * resetParticipants re-creates the array with empty parties that\n * are appropriate to the case type (e.g. petitioner and respondent for\n * civil)\n */\n resetParticipants() {\n let typeIDs = [] as number[];\n\n if (this.type === 'criminal') {\n typeIDs = [PartyTypeID.Defendant];\n }\n if (this.type === 'civil') {\n typeIDs = [PartyTypeID.Plaintiff, PartyTypeID.Respondent];\n }\n if (this.type === 'state') {\n typeIDs = [PartyTypeID.Petitioner, PartyTypeID.Respondent];\n }\n\n this.participants = typeIDs.map((typeID) => {\n return {\n partyID: 0,\n partyTypeID: typeID,\n originalPartyTypeID: typeID,\n sentenceComponents: [],\n };\n });\n },\n },\n\n components: {\n CaseTypeSelector,\n ParticipantsForm,\n SubjectPropertiesForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewDossierDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewDossierDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewDossierDialog.vue?vue&type=template&id=5632c9b7&\"\nimport script from \"./NewDossierDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewDossierDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCol,VDialog,VDivider,VForm,VRow,VSelect,VSpacer,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\n\nimport NewDossierDialog from '@/components/dossier/NewDossierDialog.vue';\n\nexport default Vue.extend({\n props: {\n active: Boolean,\n },\n data() {\n return {\n dossierDialogOpen: false,\n dossierDialogTitle: '',\n dossierCaseType: '',\n };\n },\n computed: {\n ...mapGetters('auth', ['hasPermission', 'entityIDsWithPermission']),\n\n investigationDashboardRoutes(): any {\n const routeTemplate = { name: 'investigationDashboard' };\n const entityIDs = this.entityIDsWithPermission('dashboard.investigation');\n\n // Produce a Location/Route object for each permitted entity\n return _.map(entityIDs, (id: number | string) => {\n if (id === '*') {\n return Object.assign({}, routeTemplate, {\n // The root InvestigationDashboard route. The null lastDepartmentID is\n // required to override a param which might have been added\n // separately\n query: { lastDepartmentID: null },\n });\n }\n return Object.assign({}, routeTemplate, {\n query: { lastDepartmentID: id },\n });\n });\n },\n },\n methods: {\n openDossierDialog(mode: string = ''): void {\n switch (mode) {\n case 'huquq': {\n this.dossierCaseType = 'civil';\n this.dossierDialogTitle = '+ ' + i18n.t('huquqPetition.singular');\n break;\n }\n case 'criminal': {\n this.dossierCaseType = 'criminal';\n this.dossierDialogTitle = '+ ' + i18n.t('investigation.singular');\n break;\n }\n case 'state': {\n this.dossierCaseType = 'state';\n this.dossierDialogTitle = '+ ' + ' State Case';\n break;\n }\n default: {\n this.dossierDialogTitle = '';\n this.dossierCaseType = '';\n break;\n }\n }\n this.dossierDialogOpen = true;\n },\n },\n components: {\n NewDossierDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryInvestigationNav.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryInvestigationNav.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PrimaryInvestigationNav.vue?vue&type=template&id=01e2e3a4&\"\nimport script from \"./PrimaryInvestigationNav.vue?vue&type=script&lang=ts&\"\nexport * from \"./PrimaryInvestigationNav.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VListGroup } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\ninstallComponents(component, {VIcon,VListGroup,VListItem,VListItemContent,VListItemIcon,VListItemTitle,VSubheader})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (\n _vm.hasPermission('dashboard.court') ||\n _vm.hasPermission('case.create') ||\n _vm.hasPermission('search.cases') ||\n _vm.hasPermission('attorney.view') ||\n _vm.hasPermission('court.view') ||\n _vm.hasPermission('judge.view') ||\n _vm.hasPermission('party.view')\n )?_c('v-list-group',{attrs:{\"value\":_vm.active},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-item-title',[_c('v-subheader',{staticClass:\"ml-n2\"},[_vm._v(\" \"+_vm._s(_vm.$t('module.court'))+\" \")])],1)]},proxy:true}],null,false,3777372588)},[_vm._l((_vm.courtDashboardRoutes),function(rte,index){return _c('v-list-item',{key:index,attrs:{\"to\":rte,\"exact\":\"\"}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-home\")])],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-wrap\"},[_vm._v(\" \"+_vm._s(_vm.$t('dashboard.singular'))+\" \"),_c('div',{staticClass:\"text--disabled text-caption\"},[(rte.query.courtID > 0)?_c('CourtName',{attrs:{\"id\":rte.query.courtID}}):_c('GeographyName',{attrs:{\"id\":1}})],1)])],1)],1)}),(_vm.hasPermission('case.create'))?_c('NewCaseDialog',{scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-list-item',_vm._g({},on),[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-plus\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('case.singular'))+\" \")])],1)],1)]}}],null,false,1879375396)}):_vm._e(),(_vm.hasPermission('search.cases'))?_c('v-list-item',{attrs:{\"to\":{ name: 'caseSearch' },\"active\":\"\"}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-search\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('case.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('attorney.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'attorneyList' }}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-user-tie\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('attorney.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('court.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'courts' }}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-university\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('court.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('judge.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'judgeList' }}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-gavel\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('judge.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('party.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'partyList' }}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-user-friends\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('party.plural'))+\" \")])],1)],1):_vm._e()],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"fullscreen\":\"\",\"add\":\"\",\"title\":_vm.$t('case.singular'),\"no-activator\":_vm.noActivator},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",null,null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-card-text',[_c('v-stepper',{model:{value:(_vm.step),callback:function ($$v) {_vm.step=$$v},expression:\"step\"}},[_c('v-stepper-step',{attrs:{\"step\":\"1\",\"complete\":!!_vm.caseDossierID,\"editable\":!_vm.dossierID}},[_vm._v(\" \"+_vm._s(_vm.$t('case.dataImport'))+\" \")]),_c('v-stepper-content',{attrs:{\"step\":\"1\"}},[_c('v-card',{staticClass:\"mb-2 pa-4\",attrs:{\"flat\":\"\",\"color\":\"grey lighten-4\"}},[_c('v-card-text',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"5\"}},[_c('div',{staticClass:\"text-h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('case.importFromDossier'))+\" \")]),_c('DossierLookupField',{model:{value:(_vm.caseDossierID),callback:function ($$v) {_vm.caseDossierID=$$v},expression:\"caseDossierID\"}}),_c('v-btn',{attrs:{\"color\":\"accent\",\"small\":\"\",\"disabled\":!_vm.caseDossierID},on:{\"click\":_vm.copyFromDossier}},[_vm._v(\" \"+_vm._s(_vm.$t('command.import'))+\" \")])],1),_c('v-col',{staticClass:\"text-center d-none d-sm-inline\",attrs:{\"cols\":\"1\"}},[_c('v-divider',{attrs:{\"vertical\":\"\"}})],1),_c('v-col',{staticClass:\"text-center d-sm-none\",attrs:{\"cols\":\"12\"}},[_c('v-divider')],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"5\"}},[_c('div',{staticClass:\"text-h5\"},[_vm._v(_vm._s(_vm.$t('case.importFromCase')))]),_c('CaseLookupField',{attrs:{\"courtID\":_vm.priorCourtID,\"courtStageID\":_vm.forceStageID},model:{value:(_vm.caseID),callback:function ($$v) {_vm.caseID=$$v},expression:\"caseID\"}}),_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"accent\",\"disabled\":!_vm.caseID},on:{\"click\":_vm.copyFromCase}},[_vm._v(\" \"+_vm._s(_vm.$t('command.import'))+\" \")])],1)],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"accent\"},on:{\"click\":_vm.startBlank}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-arrow-down\")]),_vm._v(\" \"+_vm._s(_vm.$t('case.startBlank'))+\" \")],1)],1)],1)],1),_c('v-stepper-step',{attrs:{\"step\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.$t('dossier.caseInfo'))+\" \")]),_c('v-stepper-content',{attrs:{\"step\":\"2\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"3\"}},[_c('DossierNumberField',{attrs:{\"disabled\":!!_vm.caseDossierID,\"required\":\"\"},model:{value:(_vm.newDossierNumber),callback:function ($$v) {_vm.newDossierNumber=$$v},expression:\"newDossierNumber\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"2\"}},[_c('CaseTypeSelector',{attrs:{\"disabled\":!!_vm.caseDossierID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"label\":_vm.$t('dossier.caseType')},on:{\"change\":_vm.caseTypeChanged},model:{value:(_vm.caseType),callback:function ($$v) {_vm.caseType=$$v},expression:\"caseType\"}})],1),(_vm.caseType !== 'criminal')?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"3\"}},[_c('v-select',{attrs:{\"disabled\":!!_vm.caseDossierID,\"items\":_vm.caseTopics,\"label\":_vm.$t('dossier.caseTopic'),\"item-text\":function (d) { return _vm.valueForLocale(d.name); },\"item-value\":\"id\",\"rules\":[function (v) { return v != 0 || _vm.$t('error.required'); }]},model:{value:(_vm.topicID),callback:function ($$v) {_vm.topicID=$$v},expression:\"topicID\"}})],1):_vm._e(),(_vm.caseType !== 'criminal')?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"exclude-unknown\":\"\",\"disabled\":!!_vm.caseDossierID,\"items\":\"court/lawsuitTypes\",\"multiple\":\"\",\"autocomplete\":\"\",\"clearable\":\"\",\"rules\":[function (v) { return v.length > 0 || _vm.$t('error.required'); }],\"label\":_vm.$t('lawsuitType.singular')},model:{value:(_vm.lawsuitTypeIDs),callback:function ($$v) {_vm.lawsuitTypeIDs=$$v},expression:\"lawsuitTypeIDs\"}})],1):_vm._e()],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('CourtSelector',{attrs:{\"stageID\":_vm.forceStageID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.courtID),callback:function ($$v) {_vm.courtID=$$v},expression:\"courtID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('CourtStageSelector',{attrs:{\"items\":_vm.stageChoices,\"disabled\":_vm.stageChoices.length < 2,\"label\":_vm.$t('court.stage.singular')},model:{value:(_vm.stageID),callback:function ($$v) {_vm.stageID=$$v},expression:\"stageID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('CaseNumberField',{attrs:{\"label\":_vm.$t('case.singular') + ' #',\"hint\":_vm.$t('case.caseNumber.willAutoGenerate'),\"persistent-hint\":\"\"},model:{value:(_vm.caseNumber),callback:function ($$v) {_vm.caseNumber=$$v},expression:\"caseNumber\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('case.filedAt'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.filedAt),callback:function ($$v) {_vm.filedAt=$$v},expression:\"filedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ParticipantsForm',{attrs:{\"caseType\":_vm.caseType,\"courtStage\":_vm.stageID},model:{value:(_vm.participants),callback:function ($$v) {_vm.participants=$$v},expression:\"participants\"}})],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('CourtSelector',{attrs:{\"disabled\":!!_vm.courtID,\"stageID\":_vm.courtStageID,\"rules\":_vm.courtRules},model:{value:(_vm.internalCourtID),callback:function ($$v) {_vm.internalCourtID=$$v},expression:\"internalCourtID\"}})],1),_c('v-col',{staticClass:\"d-flex\",attrs:{\"cols\":\"5\"}},[_c('CaseNumberField',{model:{value:(_vm.caseNumber),callback:function ($$v) {_vm.caseNumber=$$v},expression:\"caseNumber\"}}),(_vm.loading)?_c('v-progress-circular',{staticClass:\"mt-4\",attrs:{\"indeterminate\":\"\",\"size\":\"20\",\"color\":\"grey\"}}):_vm._e(),(_vm.caseID)?_c('v-icon',{attrs:{\"color\":\"accent\",\"small\":\"\",\"right\":\"\"}},[_vm._v(\"fa-check\")]):_vm._e(),(_vm.failedSearch)?_c('v-icon',{attrs:{\"color\":\"error\",\"small\":\"\",\"right\":\"\"}},[_vm._v(\"fa-ban\")]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-text-field',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('####-####'),expression:\"'####-####'\"}],attrs:{\"label\":_vm.label || _vm.$t('case.singular') + ' #',\"rules\":_vm.rules,\"hint\":_vm.hint,\"persistent-hint\":_vm.persistentHint,\"error-messages\":_vm.errorMessages,\"loading\":_vm.loading},on:{\"blur\":_vm.formatNumber},model:{value:(_vm.internalValue),callback:function ($$v) {_vm.internalValue=$$v},expression:\"internalValue\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport jmoment from 'moment-jalaali';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: String,\n rules: Array,\n hint: String,\n persistentHint: Boolean,\n errorMessages: [Array, String],\n loading: Boolean,\n },\n data() {\n return {\n internalValue: '',\n };\n },\n watch: {\n /**\n * value is watched so that changes to the data-bound variable (which we\n * see through the value prop) are brought inside to our internalValue.\n */\n value: {\n immediate: true,\n handler(newVal: string): void {\n this.internalValue = newVal;\n },\n },\n\n internalValue(newVal: string): void {\n this.$emit('input', newVal);\n },\n },\n methods: {\n /**\n * formatNumber ensures the case number is properly formatted before it\n * is emitted outside this component.\n *\n * Properly formatted means:\n *\n * - 9 total characters\n * - In 2 groups of 4\n * - Separated by a dash (e.g. ####-####)\n * - The first 4 digits should be a Jalaali calendar year\n * - If no year is provided, assume the current year\n * - The right group of digits is zero-padded on the left.\n */\n formatNumber(): void {\n if (this.internalValue === '') {\n // Early Exit\n // Don't format an empty string. We need to allow the user to leave\n // the field blank in case they want the server to assign the value.\n this.$emit('input', '');\n return;\n }\n\n // Split the number into parts separated by a dash\n let newCaseNumber = this.internalValue;\n const parts = newCaseNumber.split('-');\n\n if (parts.length === 1) {\n // The user didn't enter a dash (or a number long enough for the masker\n // to enter one for them). We only have a number part, which we will\n // pad and prepend the Jalaali year to.\n const numberPart = parts[0].padStart(4, '0');\n newCaseNumber = jmoment().jYear() + '-' + numberPart;\n } else if (parts.length > 1) {\n // The input includes at least 1 dash, so we have to presume the user\n // has provided the year. We still need to make sure the second part\n // is properly padded, however.\n parts[1] = parts[1].padStart(4, '0');\n // Rejoin the parts back together.\n newCaseNumber = parts.join('-');\n }\n\n this.$emit('input', newCaseNumber);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseNumberField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseNumberField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CaseNumberField.vue?vue&type=template&id=58a49a36&\"\nimport script from \"./CaseNumberField.vue?vue&type=script&lang=ts&\"\nexport * from \"./CaseNumberField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-caption v-label\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.label || _vm.$t('court.singular'))+\" \")]),_vm._l((_vm.dropdowns),function(choices,i){return _c('v-col',{key:i,staticClass:\"pe-2\",attrs:{\"cols\":_vm.cols}},[_c('v-autocomplete',{staticClass:\"mt-0 pt-0\",attrs:{\"value\":_vm.internalValues[i],\"items\":choices,\"clearable\":(i > 0 || _vm.clearable) &&\n i > 0 &&\n i < _vm.dropdowns.length - 1 &&\n _vm.internalValues[i] != _vm.internalValues[i - 1],\"rules\":i == _vm.dropdowns.length - 1 ? _vm.computedRules : []},on:{\"input\":function($event){return _vm.dropdownChanged(i, $event)}}})],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { Court } from '@/vuex/court/court';\nimport { VSelectItem } from '@/lib/vue-typescript';\nimport { TAll, TNone, TUnknown } from '@/lib/translated';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: Number,\n rules: Array,\n stageID: Number,\n includeUnknown: {\n type: Boolean,\n default: false,\n },\n disabled: Boolean,\n clearable: Boolean,\n\n /**\n * requireLeafNode triggers a validator to force the user to select a\n * fully-qualified Court: one with no children below it.\n */\n requireLeafNode: Boolean,\n\n zeroLabel: {\n type: String,\n default: 'unknown',\n },\n mustHavePermission: String,\n },\n data() {\n return {\n internalValues: [0],\n loading: true,\n };\n },\n created() {\n this.fetchData();\n },\n computed: {\n ...mapGetters('language', ['valueForLocale']),\n ...mapGetters('court', [\n 'allCourts',\n 'courtWithID',\n 'courtsUnder',\n 'courtAncestorIDs',\n ]),\n ...mapGetters('auth', ['entityIDsWithPermission']),\n ...mapState('language', ['locale']),\n\n /**\n * computedRules combines the user-provided rules prop with rules triggered\n * by other factors.\n */\n computedRules(): any[] {\n const rules: any[] = this.rules || [];\n if (this.requireLeafNode) {\n rules.push(this.mustBeLeafNode);\n }\n return rules;\n },\n\n /**\n * court provides convenient access to the Department entity which\n * is currently selected (the rightmost dropdown selection)\n */\n court(): Court | null {\n return this.courtWithID(this.value) || null;\n },\n\n /**\n * dropdowns is the heart of this component. It builds an array of\n * VSelectItem[], with each one representing the choices which should be\n * in a Dropdown control presented to the user.\n */\n dropdowns(): VSelectItem[][] {\n return _.chain(this.internalValues)\n .map((id: number, index: number) => {\n const priorID = _.get(this.internalValues, index - 1);\n let parentID = id;\n const court = this.courtWithID(id);\n if (court && priorID !== id) {\n parentID = court.parentID;\n }\n let choices = _.chain(this.courtsUnder(parentID))\n .filter(this.validForStage(this.stageID))\n .map((court) => ({\n text: `${court.name[this.locale]}`,\n value: court.id,\n rank: court.rank || 999999,\n }))\n .orderBy(['rank', 'text'])\n .value();\n\n if (this.mustHavePermission) {\n const allowedIDs = this.entityIDsWithPermission(\n this.mustHavePermission,\n );\n const hasNone = allowedIDs.length < 1;\n const hasAll = _.includes(allowedIDs, '*');\n\n if (hasNone) {\n // If no allowed IDs, the list should be empty\n choices = [];\n } else if (!hasAll) {\n choices = _.filter(choices, (court) => {\n return _.includes(allowedIDs, court.value);\n });\n }\n }\n\n if (!_.includes(_.map(choices, 'value'), id)) {\n choices.unshift({ text: this.zeroText, value: id, rank: 0 });\n } else {\n choices.unshift({\n text: this.zeroText,\n value: parentID,\n rank: 0,\n });\n }\n return !!choices.length ? choices : null;\n })\n .compact()\n .value();\n },\n\n /**\n * zeroText computes the text property of the dropdown entry which is the\n * \"zero\" value, which at the top level represents no Department selected,\n * and at lower levels means the parent is selected with available children,\n * but no child is yet selected. This function outputs translated values\n * of \"All\" or \"None\" depending on the setting of the zeroLabel prop.\n */\n zeroText(): string {\n if (this.zeroLabel === 'all') {\n return TAll[this.locale].toString();\n } else if (this.zeroLabel === 'none') {\n return TNone[this.locale].toString();\n }\n return TUnknown[this.locale].toString();\n },\n\n /**\n * cols computes the number of columns each dropdown should occupy. It is\n * determined based on the number of dropdowns which are needed.\n */\n cols(): number {\n const count = this.dropdowns.length;\n if (count < 2) {\n return 12;\n }\n if (count % 2 === 0 && count < 4) {\n return 12 / count;\n }\n return 4;\n },\n },\n watch: {\n /**\n * value is watched so that the internalValue can be updated to represent\n * the new externally-provided value.\n */\n value: {\n immediate: true,\n handler(newVal: number) {\n const ids = this.courtAncestorIDs(newVal);\n const department = this.courtWithID(newVal);\n\n if (!!department && department.childCount > 0) {\n // Add a second copy of the chosen id to occupy the\n // Unknown entry of its children.\n ids.push(newVal);\n }\n Vue.set(this, 'internalValues', ids);\n },\n },\n\n /**\n * stageID is watched so that we can invalidate the currently selected\n * court if it is not valid for the new stage\n */\n stageID(newStageID: number) {\n if (!this.validForStage(newStageID)(this.court)) {\n this.$emit('input', 0);\n }\n },\n },\n methods: {\n /**\n * mustBeLeafNode is a validator function which ensures that the selected\n * Court is a \"leaf\" node (one with no children beneath it).\n * Returns true if the validation passes, and an error string otherwise.\n */\n mustBeLeafNode(v: any): boolean | string {\n if (!this.court) {\n // Not having a court means we can't verify it's a leaf node,\n // but that doesn't make it an error state.\n return true;\n }\n if (this.court.childCount && this.court.childCount > 0) {\n // Children found under the selected item\n return i18n.t('error.required').toString();\n }\n return true;\n },\n\n /**\n * validForStage returns a function which can be used in a .filter() chain\n * to ensure that a Court is valid for a particular stage ID. A Court is\n * considered valid for a stage if it or any of its children is valid for\n * that stage. This is evaluated recursively.\n *\n * Example usages:\n *\n * _.filter(courts, this.validForStage(StageAppellateID))\n * _.filter(courts, this.validForStage(this.stageID))\n * if (this.validForStage(this.stageID)(this.court)) {}\n */\n validForStage(stageID: number): (Court) => boolean {\n const fn = (court: Court): boolean => {\n // If no stageID was set, then consider everthing valid.\n if (!stageID) {\n return true;\n }\n\n // If the Court itself has this stageID included, then it's valid.\n if (_.includes(court.stageIDs, stageID)) {\n return true;\n }\n\n // If any of this Court's children is valid for this Stage, then\n // include it.\n return _.some(this.courtsUnder(court.id), fn);\n };\n return fn;\n },\n\n async fetchData(): Promise {\n this.loading = true;\n await this.$store.dispatch('court/fetchCourts', { force: false });\n this.loading = false;\n },\n\n /**\n * dropdownChanged is the event handler for the @change event on all\n * dropdowns.\n */\n dropdownChanged(i: number, newVal: number): void {\n if (i > 0 && !newVal) {\n this.$emit('input', this.internalValues[i - 1]);\n return;\n }\n this.$emit('input', newVal);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtSelector.vue?vue&type=template&id=6414c277&\"\nimport script from \"./CourtSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAutocomplete,VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\n\nimport { Case } from '@/vuex/court/case';\n\nimport CaseNumberField from '@/components/court/case/CaseNumberField.vue';\nimport CourtSelector from '@/components/court/court/CourtSelector.vue';\n\n/*\n * Pass a courtID to this component if you want the court selector to be in\n * a disabled/readonly state, pre-set. Otherwise, this component will allow\n * users to choose in which court they want to search.\n */\nexport default Vue.extend({\n props: {\n value: Number,\n courtID: {\n type: Number,\n default: 0,\n },\n // This prop can be passed through to the CourtSelector props\n courtStageID: Number,\n // This prop can be passed through to the CourtSelector props\n courtRules: Array,\n },\n\n data() {\n return {\n loading: false,\n failedSearch: false,\n caseID: 0,\n caseNumber: '',\n internalCourtID: 0,\n };\n },\n\n computed: {\n ...mapGetters('court', ['caseWithID']),\n\n kase(): Case {\n return this.caseWithID(this.caseID);\n },\n\n /**\n * caseFindable returns true when the component has enough information\n * to perform a search for the case. This property acts as a gate to\n * prevent nonsense searches from being sent to the server.\n */\n caseFindable(): boolean {\n return this.caseNumber.length === 9 && !!this.internalCourtID;\n },\n },\n watch: {\n value(newVal: number) {\n // Reset internal data if the ID is zeroed from outside.\n if (!newVal) {\n this.caseID = 0;\n this.caseNumber = '';\n }\n },\n caseNumber(newVal: string) {\n // in the situation where the court number is entered _before_ the caseNumber\n if (this.caseFindable) {\n this.findCase();\n } else {\n this.$emit('input', 0);\n }\n },\n courtID(val: number) {\n this.internalCourtID = val;\n },\n internalCourtID(val: number) {\n // in the situation where the case number is entered _before_ the courtID\n if (this.caseFindable) {\n this.findCase();\n } else {\n this.$emit('input', 0);\n }\n },\n },\n methods: {\n /**\n * findCase performs the API call to search on the server for a case\n * matching the provided number in the provided court. It sets the\n * loading variable true while the processing is happening.\n */\n async findCase(): Promise {\n this.loading = true;\n this.failedSearch = false;\n\n try {\n const url = `/cases/search?number=${this.caseNumber}&courtID=${this.internalCourtID}`;\n const response = await courtAPI.get(url);\n\n // Only single-result exact matches are valid\n if (response.data.meta.totalResults === 1) {\n const result = response.data.data[0];\n this.caseID = result.id;\n this.$emit('input', this.caseID);\n } else {\n this.failedSearch = true;\n }\n } catch (err) {\n this.$store.dispatch('application/showSnackbarError', err);\n }\n\n this.loading = false;\n },\n },\n components: {\n CaseNumberField,\n CourtSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseLookupField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseLookupField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CaseLookupField.vue?vue&type=template&id=bad32932&\"\nimport script from \"./CaseLookupField.vue?vue&type=script&lang=ts&\"\nexport * from \"./CaseLookupField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VIcon,VProgressCircular,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex\"},[_c('DossierNumberField',{attrs:{\"hide-details\":\"\",\"single-line\":\"\",\"disable-padding\":\"\",\"loading\":_vm.loading,\"required\":_vm.required,\"rules\":_vm.computedRules},model:{value:(_vm.dossierNumber),callback:function ($$v) {_vm.dossierNumber=$$v},expression:\"dossierNumber\"}}),(_vm.dossierID)?_c('v-icon',{attrs:{\"small\":\"\",\"right\":\"\",\"color\":\"accent\"}},[_vm._v(\"fa-check\")]):_vm._e(),(_vm.failedSearch)?_c('v-icon',{attrs:{\"small\":\"\",\"right\":\"\",\"color\":\"error\"}},[_vm._v(\"fa-ban\")]):_vm._e(),(_vm.loading)?_c('v-progress-circular',{staticClass:\"mt-4\",attrs:{\"indeterminate\":\"\",\"size\":\"20\",\"color\":\"grey\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { Dossier, DOSSIER_NUMBER_LENGTH } from '@/vuex/court/dossier';\n\nexport default Vue.extend({\n props: {\n required: Boolean,\n value: Number,\n rules: {\n type: Array,\n default: () => [],\n },\n },\n data() {\n return {\n loading: false,\n failedSearch: false,\n dossierID: 0,\n dossierNumber: '',\n };\n },\n computed: {\n ...mapGetters('court', ['dossierWithID']),\n dossier(): Dossier {\n return this.dossierWithID(this.dossierID);\n },\n\n /**\n * computedRules adds a special rule to consider the field invalid if a\n * real Dossier # has not been entered (i.e. if dossierID == 0).\n */\n computedRules(): any[] {\n const rules: any[] = this.rules || [];\n if (this.required && this.dossierID <= 0) {\n return [(v) => i18n.t('error.required')];\n }\n return rules;\n },\n },\n watch: {\n value(newVal) {\n // Reset internal data if the ID is zeroed from outside.\n if (!newVal) {\n this.dossierID = 0;\n if (this.dossierNumber.length === DOSSIER_NUMBER_LENGTH) {\n // Clear the dossier number\n this.dossierNumber = '';\n }\n } else {\n /**\n * When value changes externally to a dossierID that's different from\n * what we have internally, it means that some other process changed it\n * to a (presumably valid) Dossier's ID. When that happens, we need to\n * clear the dossierNumber search field, reset our internal dossierID,\n * and eliminate the unsuccessful search indicator.\n */\n if (newVal !== this.dossierID) {\n this.dossierNumber = '';\n this.dossierID = newVal;\n this.failedSearch = false;\n }\n }\n },\n dossierNumber(newVal) {\n if (newVal.length === DOSSIER_NUMBER_LENGTH) {\n this.findDossier();\n } else {\n this.$emit('input', 0);\n }\n },\n },\n methods: {\n async findDossier(): Promise {\n this.loading = true;\n this.failedSearch = false;\n\n try {\n const url = `/dossiers/search?number=${this.dossierNumber}`;\n const response = await courtAPI.get(url);\n\n // Only single-result exact matches are valid\n if (response.data.meta.totalResults === 1) {\n const result = response.data.data[0];\n this.dossierID = result.id;\n\n // Make sure other data gets loaded\n await this.$store.dispatch('court/fetchDossier', this.dossierID);\n this.$emit('input', this.dossierID);\n } else {\n this.failedSearch = true;\n this.$emit('input', 0);\n }\n } catch (err) {\n this.$store.dispatch('application/showSnackbarError', err);\n }\n\n this.loading = false;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierLookupField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierLookupField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossierLookupField.vue?vue&type=template&id=4d32da80&\"\nimport script from \"./DossierLookupField.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossierLookupField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\ninstallComponents(component, {VIcon,VProgressCircular})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-autocomplete',{attrs:{\"rules\":_vm.rules || [],\"disabled\":_vm.disabled || false,\"label\":_vm.label || _vm.$t('judge.singular'),\"value\":_vm.value,\"items\":_vm.judgeChoices,\"item-value\":\"id\",\"item-text\":function (v) { return _vm.judgeName(v.id); },\"loading\":_vm.loading,\"clearable\":_vm.clearable,\"auto-select-first\":_vm.autoSelectFirst,\"auto-focus\":_vm.autoFocus},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapActions, mapGetters, mapState } from 'vuex';\nimport { Judge } from '@/vuex/court/judge';\nimport { Court } from '@/vuex/court/court';\n\nexport default Vue.extend({\n props: {\n // label is a passthrough to the v-autocomplete label prop\n label: String,\n\n // Override just in case it is easier to customize the list\n // outside of this component\n items: {\n type: Array,\n default: () => [] as Judge[],\n },\n // rules is a passthrough to the v-autocomplete rules prop\n rules: {\n type: Array,\n default: () => [], // Default value is a function which returns a blank array\n },\n // disabled is a passthrough to the v-autocomplete disabled prop\n disabled: Boolean,\n // value is the prop that makes this component work with v-model\n value: Number,\n clearable: Boolean,\n autoSelectFirst: Boolean,\n autoFocus: Boolean,\n // courtID is used filter judges by court\n courtID: Number,\n // caseID is used filter judges by case\n caseID: Number,\n // exclude is an array prop that contains IDs of judges to filter out of\n // the list so that they are not even visible to be selected.\n excludedIDs: {\n type: Array,\n default: () => [] as number[],\n },\n randomize: Boolean,\n locationGeographyID: Number,\n\n stageIDs: [Number, Array],\n },\n data() {\n return {\n loading: false,\n filterCourtID: 0,\n temp: Number,\n };\n },\n created() {\n this.fetchData();\n this.randomizeJudgesIfNeeded();\n },\n watch: {\n courtID() {\n this.randomizeJudgesIfNeeded();\n },\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('geography', ['isDescendantGeography', 'geographyWithID']),\n ...mapGetters('court', [\n 'activeJurisdictionsForJudge',\n 'courtWithID',\n 'judgeName',\n 'allJudges',\n 'caseJudgesByCaseID',\n ]),\n\n // judgeChoices is the heart of this component. It builds a list of Judges\n // a couple different ways:\n //\n // - A hard-coded list (when the items prop is supplied)\n // - A court-based list (when the courtID prop is supplied)\n // - All judges in the database, optionally filtered by the stages,\n // and locationGeographyID prop\n //\n judgeChoices(): Judge[] {\n // Initially start with all non-deleted judges\n let availableJudges = this.allJudges.filter((j: Judge) => !j.isDeleted);\n\n if (this.items && this.items.length > 0) {\n // ---------------------------------------------------------------------\n //\n // Items Mode\n //\n // ---------------------------------------------------------------------\n // Replace the availableJudges with those supplied in the items prop.\n availableJudges = this.items as Judge[];\n } else if (this.caseID) {\n // ---------------------------------------------------------------------\n //\n // CaseJudge Mode\n //\n // ---------------------------------------------------------------------\n const caseJudgeIDs = _.map(\n this.caseJudgesByCaseID(this.caseID),\n 'judgeID',\n );\n availableJudges = availableJudges.filter((judge) => {\n return caseJudgeIDs.includes(judge.id);\n });\n } else if (this.court) {\n // ---------------------------------------------------------------------\n //\n // Court Mode\n //\n // ---------------------------------------------------------------------\n availableJudges = availableJudges.filter((j: Judge) =>\n this.isJudgeValidForCourt(j, this.court),\n );\n } else {\n // ---------------------------------------------------------------------\n //\n // Default Mode (all judges with optional filters)\n //\n // ---------------------------------------------------------------------\n\n // Stage Filter\n if (this.normalizedStages.length > 0) {\n availableJudges = availableJudges.filter((j: Judge) =>\n this.isJudgeValidForStages(j, this.normalizedStages),\n );\n }\n\n // Location Filter\n if (this.locationGeographyID) {\n availableJudges = availableJudges.filter((j: Judge) =>\n this.isJudgeValidForLocation(j, this.locationGeographyID),\n );\n }\n }\n\n // ---------------------------------------------------------------------\n //\n // End Mode-Specific Checks\n //\n // The following code applies in all modes\n //\n // ---------------------------------------------------------------------\n\n // If excludedIDs prop was provided, we make sure those IDs don't appear\n // in the list.\n if (this.excludedIDs.length > 0) {\n availableJudges = availableJudges.filter(\n (j) => !_.includes(this.excludedIDs, j.id),\n );\n }\n\n // Finally sort the list alphabetically\n return _.sortBy(availableJudges, 'name') as Judge[];\n },\n\n court(): Court {\n return this.courtWithID(this.courtID);\n },\n\n /**\n * normalizedStagesa enables the stages prop to be provided with either a\n * single stage or an array of stages. If neither are provided, it returns\n * an empty array.\n */\n normalizedStages(): number[] {\n return _.chain([this.stageIDs]).flatten().compact().value() as number[];\n },\n },\n methods: {\n ...mapActions('court', ['fetchJudges']),\n\n /**\n * fetchData ensures we have the list of judges fetched from the server\n * (it usually is, so we don't force the API call to happen).\n */\n async fetchData(): Promise {\n this.loading = true;\n await this.$store.dispatch('court/fetchJudges');\n this.randomizeJudgesIfNeeded();\n this.loading = false;\n },\n\n /**\n * randomizeJudgesIfNeeded\n */\n randomizeJudgesIfNeeded() {\n // Only randomize if the randomize prop is enabled\n if (!this.randomize) {\n return;\n }\n\n // Don't randomize if our value is already set to a valid choice.\n const haveValidJudgeAlready =\n this.value && this.judgeChoices.some((j) => j.id === this.value);\n if (haveValidJudgeAlready) {\n return;\n }\n\n // Dont randomize if there are less than 2 choices.\n if (this.judgeChoices.length < 2) {\n return;\n }\n\n // Find the index of a random judge and trigger selection of it\n const randomIndex = Math.floor(Math.random() * this.judgeChoices.length);\n const randomJudge = this.judgeChoices[randomIndex];\n this.$emit('input', randomJudge.id);\n },\n\n /**\n * isJudgeValidForCourt returns true if the provided Judge has a valid,\n * active jurisdiction for the provided Court.\n */\n isJudgeValidForCourt(judge: Judge, court: Court): boolean {\n const validStage = this.isJudgeValidForStages(judge, court.stageIDs);\n const validGeo = this.isJudgeValidForLocation(\n judge,\n court.locationGeographyID,\n );\n return validStage && validGeo;\n },\n\n /**\n * isJudgeValidForStages returns true if the provided Judge has an active\n * jurisdiction that matches the provided stages.\n */\n isJudgeValidForStages(judge: Judge, stageIDs: number[]): boolean {\n for (const jurisdiction of this.activeJurisdictionsForJudge(judge.id)) {\n if (_.intersection(jurisdiction.stageIDs, stageIDs).length > 0) {\n return true;\n }\n }\n return false;\n },\n\n /**\n * isJudgeValidForLocation returns true if the provided Judge has an active\n * jurisdiction indicating that the judge's residence geography is\n * a parent (i.e. \"above\") the provided geographyID. For example, if the\n * Jurisdiction indicates the judge has residence in Balkh, and\n * Mazar-i-Sharif (which is in Balkh) is provided as a geographyID, then this\n * function would return true.\n */\n isJudgeValidForLocation(judge: Judge, geographyID: number): boolean {\n for (const jurisdiction of this.activeJurisdictionsForJudge(judge.id)) {\n const parentGeographyID = jurisdiction.residenceGeographyID;\n const childGeographyID = geographyID;\n if (\n this.isDescendantGeography({ parentGeographyID, childGeographyID })\n ) {\n return true;\n }\n }\n return false;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JudgeSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JudgeSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./JudgeSelector.vue?vue&type=template&id=3b3b0b44&\"\nimport script from \"./JudgeSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./JudgeSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\ninstallComponents(component, {VAutocomplete})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { Case } from '@/vuex/court/case';\nimport { CaseTopicID, LookupItem } from '@/vuex/court/options';\nimport { Court } from '@/vuex/court/court';\nimport { Dossier } from '@/vuex/court/dossier';\nimport { Participant } from '@/vuex/court/participant';\nimport { PartyTypeID } from '@/vuex/court/party';\n\nimport CaseLookupField from '@/components/court/case/CaseLookupField.vue';\nimport CaseNumberField from '@/components/court/case/CaseNumberField.vue';\nimport CaseTypeSelector from '@/components/court/CaseTypeSelector.vue';\nimport CourtSelector from '@/components/court/court/CourtSelector.vue';\nimport CourtStageSelector from '@/components/court/CourtStageSelector.vue';\nimport DossierLookupField from '@/components/dossier/DossierLookupField.vue';\nimport JudgeSelector from '@/components/court/judge/JudgeSelector.vue';\nimport ParticipantsForm from '@/components/court/participant/ParticipantsForm.vue';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n forceStageID: Number,\n dossierID: Number,\n noActivator: Boolean || false,\n },\n\n created() {\n this.caseDossierID = this.dossierID;\n },\n\n data() {\n return {\n isOpen: false,\n step: 1,\n error: null as any,\n\n caseID: 0,\n caseDossierID: 0,\n newDossierNumber: '',\n lawsuitTypeIDs: [] as number[],\n caseType: 'civil', // Can be 'civil', 'state', or 'criminal'\n topicID: 0,\n courtID: 0,\n priorCourtID: 0,\n caseNumber: '',\n filedAt: '',\n participants: [] as Participant[],\n stageID: this.forceStageID,\n };\n },\n\n computed: {\n ...mapState('auth', ['user']),\n ...mapGetters('language', ['valueForLocale']),\n ...mapGetters('court', [\n 'caseWithID',\n 'courtWithID',\n 'dossierWithID',\n 'participantsForDossier',\n 'participantsForCase',\n ]),\n ...mapState('court', ['civilCaseTopics']),\n\n caseTopics(): LookupItem[] {\n if (this.caseType === 'state') {\n return this.civilCaseTopics.filter((t) => t.id !== CaseTopicID.Family);\n }\n return this.civilCaseTopics;\n },\n\n court(): Court {\n return this.courtWithID(this.courtID);\n },\n\n headOfCourtJudgeID(): number {\n return this.court ? this.court.headOfCourtJudgeID : 0;\n },\n\n kase(): Case {\n return this.caseWithID(this.caseID);\n },\n\n dossier(): Dossier {\n return this.dossierWithID(this.caseDossierID);\n },\n\n /**\n * stageChoices returns the list of currently valid choices for the stage\n * selection interface.\n */\n stageChoices(): number[] {\n // If we're being externally forced to a particular stage, then\n // make that the only option.\n if (this.forceStageID) {\n return [this.forceStageID];\n }\n\n // Otherwise the stageChoices are derived from the stages which\n // are valid in the selected court\n if (this.court) {\n return this.court.stageIDs;\n }\n\n // Finally, if we are not forced to a particular stage and\n // we don't have a court, then there is no known list of\n // valid stages, so just return blank.\n return [];\n },\n },\n\n watch: {\n /**\n * value is watched so that the externally-bound v-model can be transferred\n * to its internal equivalent (isOpen).\n */\n value(val) {\n this.isOpen = val;\n },\n\n /**\n * isOpen is watched so that changes in the internal isOpen value can be\n * broadcast to the external v-model which to which this component is\n * bound.\n */\n isOpen(val) {\n this.$emit('input', val);\n },\n\n /**\n * stageChoices is watched to the stage variable\n * remains valid whenever the list of valid stageChoices is changed.\n * It will auto-select the first valid stage when there are valid\n * choices and reset to an empty value otherwise.\n */\n stageChoices: {\n immediate: true,\n handler(newVal) {\n if (newVal && newVal.length > 0) {\n this.stageID = newVal[0];\n }\n },\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.step = 1;\n\n this.caseID = 0;\n this.priorCourtID = 0;\n this.caseNumber = '';\n this.filedAt = moment().format();\n this.stageID = this.forceStageID;\n if (this.dossierID) {\n this.caseDossierID = this.dossierID;\n this.copyFromDossier();\n } else {\n this.caseDossierID = 0;\n }\n this.lawsuitTypeIDs = [];\n },\n\n /**\n * copyFromDossier fetches Dossier associated with caseDossierID, and then\n * pre-populates the case form with data from the matching dossier.\n *\n * This behavior is triggered in two scenarios:\n *\n * 1. Automatically, when the dialog is opened with a dossierID prop set\n * externally (e.g. from the Dossier Courts page).\n * 2. Manually, when the user clicks the copy/import button after\n * looking up a dossier by number.\n */\n async copyFromDossier(): Promise {\n await this.$store.dispatch('court/fetchDossier', this.caseDossierID);\n\n this.newDossierNumber = this.dossier.number;\n this.lawsuitTypeIDs = this.dossier.lawsuitTypeIDs;\n this.topicID = this.dossier.topicID;\n this.caseType = this.dossier.type;\n\n const participants = this.participantsForDossier(this.caseDossierID);\n this.participants = [...participants];\n this.step = 2;\n },\n\n /**\n * copyFromCase fetches the case associated with caseID, and then\n * pre-populates the new case with data from the matching case.\n *\n * This behavior is triggered only from the copy/import button after looking\n * up a case by court + case number.\n */\n async copyFromCase(): Promise {\n await this.$store.dispatch('court/fetchCase', this.caseID);\n\n this.caseDossierID = this.kase.dossierID;\n if (this.dossier) {\n this.newDossierNumber = this.dossier.number;\n this.lawsuitTypeIDs = this.dossier.lawsuitTypeIDs;\n this.topicID = this.dossier.topicID;\n this.caseType = this.dossier.type;\n }\n\n const participants = this.participantsForCase(this.caseID);\n this.participants = [...participants];\n\n this.step = 2;\n },\n\n /**\n * startBlank() sets up the new case dialog to build both a dossier and\n * a case simultaneously. It is triggered only from the \"Start with Blank\n * Case\" button.\n */\n startBlank(): void {\n this.lawsuitTypeIDs = [];\n\n // We assume that a blank case initiated directly with the court rather\n // than via the Huquq or AGO are most likely civil in nature.\n this.caseType = 'civil';\n this.topicID = 1;\n this.resetParticipants();\n\n this.step = 2;\n },\n\n /**\n * caseTypeChanged is the event handler for the user manually changing\n * the case type dropdown. When they do this, we need to reset various\n * other fields which depent on the case type.\n */\n caseTypeChanged(): void {\n if (this.caseType === 'criminal') {\n this.topicID = 0;\n }\n if (this.caseType === 'civil') {\n this.topicID = 1; // Property\n }\n if (this.caseType === 'state') {\n this.topicID = 4; // Administrative\n }\n this.resetParticipants();\n },\n\n /**\n * resetParticipants re-creates the array with empty parties that\n * are appropriate to the case type (e.g. petitioner and respondent for\n * civil)\n */\n resetParticipants() {\n let typeIDs = [] as number[];\n\n if (this.caseType === 'criminal') {\n typeIDs = [PartyTypeID.Defendant];\n }\n if (this.caseType === 'civil') {\n typeIDs = [PartyTypeID.Plaintiff, PartyTypeID.Respondent];\n }\n if (this.caseType === 'state') {\n typeIDs = [PartyTypeID.Petitioner, PartyTypeID.Respondent];\n }\n\n this.participants = typeIDs.map((typeID) => {\n return {\n partyID: 0,\n partyTypeID: typeID,\n originalPartyTypeID: typeID,\n };\n });\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await courtAPI.post('cases/create', {\n data: {\n caseType: this.caseType,\n dossierNumber: this.newDossierNumber,\n lawsuitTypeIDs: this.lawsuitTypeIDs,\n topicID: this.topicID,\n dossierID: this.caseDossierID,\n courtID: this.courtID,\n headOfCourtJudgeID: this.headOfCourtJudgeID,\n stageID: this.stageID,\n filedAt: this.filedAt,\n number: this.caseNumber,\n participants: this.participants,\n },\n });\n\n // Apply the server state to the appropriate Vuex store\n const newState = response.data.data;\n const newID = Object.keys(newState.case)[0];\n this.$store.commit('court/setState', newState);\n\n // Close the dialog\n this.isOpen = false;\n\n // Redirect to the page where the newly-created case appears\n this.$router.push({\n name: 'caseShow',\n params: { id: newID },\n });\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n CaseLookupField,\n CaseNumberField,\n CaseTypeSelector,\n CourtSelector,\n CourtStageSelector,\n DossierLookupField,\n JudgeSelector,\n ParticipantsForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewCaseDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewCaseDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewCaseDialog.vue?vue&type=template&id=e88d5fea&\"\nimport script from \"./NewCaseDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewCaseDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VStepper } from 'vuetify/lib/components/VStepper';\nimport { VStepperContent } from 'vuetify/lib/components/VStepper';\nimport { VStepperStep } from 'vuetify/lib/components/VStepper';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VDivider,VIcon,VRow,VSelect,VStepper,VStepperContent,VStepperStep})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport NewCaseDialog from '@/components/court/case/NewCaseDialog.vue';\n\nexport default Vue.extend({\n props: {\n active: Boolean,\n },\n computed: {\n ...mapGetters('auth', ['hasPermission', 'entityIDsWithPermission']),\n\n /**\n * courtDashboardRoutes computes an array of Vue router Locations which\n * are this user's dashboard links. If the user has no Court dashboard\n * permissions, an empty array is returned.\n */\n courtDashboardRoutes(): any {\n // Get a list of entity IDs for which the current user has permissions.\n // This is an array which might contain '*' indicating \"all entities\".\n const entityIDs = this.entityIDsWithPermission('dashboard.court');\n\n // Define the common denominator route template. This will be enhanced\n // with query parameters for the courtID below\n const routeTemplate = { name: 'courtDashboard' };\n\n // Produce a Location/Route object for each permitted entity\n return _.map(entityIDs, (id: number | string) => {\n if (id === '*') {\n return Object.assign({}, routeTemplate, {\n // The root CourtDashboardRoute route. The null courtID is\n // required to override a param which might have been added\n // separately\n query: { courtID: null },\n });\n }\n return Object.assign({}, routeTemplate, {\n query: { courtID: id },\n });\n });\n },\n },\n components: {\n NewCaseDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryCourtNav.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryCourtNav.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PrimaryCourtNav.vue?vue&type=template&id=7f528298&\"\nimport script from \"./PrimaryCourtNav.vue?vue&type=script&lang=ts&\"\nexport * from \"./PrimaryCourtNav.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VListGroup } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\ninstallComponents(component, {VIcon,VListGroup,VListItem,VListItemContent,VListItemIcon,VListItemTitle,VSubheader})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (\n _vm.hasPermission('facility.create') ||\n _vm.hasPermission('facility.edit') ||\n _vm.hasPermission('offender.intake') ||\n _vm.hasPermission('search.offender') ||\n _vm.hasPermission('dashboard.prison')\n )?_c('v-list-group',{attrs:{\"value\":_vm.active},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-item-title',[_c('v-subheader',{staticClass:\"ml-n2\"},[_vm._v(\" \"+_vm._s(_vm.$t('module.prison'))+\" \")])],1)]},proxy:true}],null,false,919320138)},[_vm._l((_vm.offenderDashboardRoutes),function(rte,index){return _c('v-list-item',{key:index,attrs:{\"to\":rte,\"exact\":\"\"}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-home\")])],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-wrap\"},[_vm._v(\" \"+_vm._s(_vm.$t('dashboard.singular'))+\" \"),_c('div',{staticClass:\"text--disabled text-caption\"},[(rte.query.facilityID > 0)?_c('HousingFacilityName',{attrs:{\"id\":rte.query.facilityID}}):_c('GeographyName',{attrs:{\"id\":1}})],1)])],1)],1)}),(_vm.hasPermission('offender.intake'))?_c('v-list-item',{attrs:{\"to\":{ name: 'offenderNew' }}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-id-card\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('offender.newOffenderIntake'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('search.offender'))?_c('v-list-item',{attrs:{\"to\":{ name: 'offenderSearch' }}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-search\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('offender.singular'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('facility.create') || _vm.hasPermission('facility.edit'))?_c('v-list-item',{attrs:{\"to\":{ name: 'housingFacilityList' }}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-industry\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('housingFacility.plural'))+\" \")])],1)],1):_vm._e()],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nexport default Vue.extend({\n props: {\n active: Boolean,\n },\n computed: {\n ...mapGetters('auth', ['hasPermission', 'entityIDsWithPermission']),\n\n /**\n * offenderDashboardRoutes computes an array of Vue router Locations which\n * are this user's dashboard links. If the user has no Offender dashboard\n * permissions, an empty array is returned.\n */\n offenderDashboardRoutes(): any[] {\n // Get a list of entity IDs for which the current user has permissions.\n // This is an array which might contain '*' indicating \"all entities\".\n const entityIDs = this.entityIDsWithPermission('dashboard.prison');\n\n // Define the common denominator route template. This will be enhanced\n // with query parameters for the facilityID below\n const routeTemplate = { name: 'offenderDashboard' };\n\n // Produce a Location/Route object for each permitted entity\n return _.map(entityIDs, (id: number | string) => {\n if (id === '*') {\n return Object.assign({}, routeTemplate, {\n // The root OffenderDashboard route. The null facilityID is\n // required to override a param which might have been added\n // separately\n query: { facilityID: null },\n });\n }\n return Object.assign({}, routeTemplate, {\n query: { facilityID: id },\n });\n });\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryPrisonNav.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryPrisonNav.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PrimaryPrisonNav.vue?vue&type=template&id=6c3640eb&\"\nimport script from \"./PrimaryPrisonNav.vue?vue&type=script&lang=ts&\"\nexport * from \"./PrimaryPrisonNav.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VListGroup } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\ninstallComponents(component, {VIcon,VListGroup,VListItem,VListItemContent,VListItemIcon,VListItemTitle,VSubheader})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasPermission('menu.admin'))?_c('v-list-group',{attrs:{\"value\":_vm.active},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-item-title',[_c('v-subheader',{staticClass:\"ml-n2\"},[_vm._v(\" \"+_vm._s(_vm.$t('admin'))+\" \")])],1)]},proxy:true}],null,false,430839496)},[(_vm.hasPermission('admin.componentLibrary.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'componentLibrary' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('componentLibrary'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('admin.corpora.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'corpusList' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('corpus.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('admin.crimeType.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'crimeList' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('crime.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('admin.department.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'departmentList' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('department.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('admin.docketEvent.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'docketEventTypeList' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('docketEventType.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('admin.geography.create'))?_c('v-list-item',{attrs:{\"to\":{ name: 'geographyList' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('geography.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('admin.holiday.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'holidayList' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('holiday.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('admin.lookupTableRow.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'lookupTableEditor' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('lookupTable.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('admin.pardonDecree.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'pardonDecreeList' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('pardonDecrees.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('admin.punishmentType.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'punishmentTypesList' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('punishmentType.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('admin.translation.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'localeMessageList' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('translation.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('admin.role.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'roleList' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('role.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('admin.user.view'))?_c('v-list-item',{attrs:{\"to\":{ name: 'userList' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('user.plural'))+\" \")])],1)],1):_vm._e(),(_vm.hasPermission('admin.userAuditReport'))?_c('v-list-item',{attrs:{\"to\":{ name: 'userAuditReport' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('user.auditReport'))+\" \")])],1)],1):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nexport default Vue.extend({\n props: {\n active: Boolean,\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryAdministrationNav.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryAdministrationNav.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PrimaryAdministrationNav.vue?vue&type=template&id=e1177f32&\"\nimport script from \"./PrimaryAdministrationNav.vue?vue&type=script&lang=ts&\"\nexport * from \"./PrimaryAdministrationNav.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VListGroup } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\ninstallComponents(component, {VListGroup,VListItem,VListItemContent,VListItemTitle,VSubheader})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport PrimaryDetectionNav from '@/components/nav/PrimaryDetectionNav.vue';\nimport PrimaryInvestigationNav from '@/components/nav/PrimaryInvestigationNav.vue';\nimport PrimaryCourtNav from '@/components/nav/PrimaryCourtNav.vue';\nimport PrimaryPrisonNav from '@/components/nav/PrimaryPrisonNav.vue';\nimport PrimaryAdministrationNav from '@/components/nav/PrimaryAdministrationNav.vue';\n\nexport default Vue.extend({\n data() {\n return {\n waiting: true,\n };\n },\n\n computed: {\n ...mapState('auth', ['user']),\n ...mapGetters('auth', ['hasPermission']),\n },\n\n components: {\n PrimaryCourtNav,\n PrimaryDetectionNav,\n PrimaryInvestigationNav,\n PrimaryPrisonNav,\n PrimaryAdministrationNav,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserHome.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserHome.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserHome.vue?vue&type=template&id=497b5d42&\"\nimport script from \"./UserHome.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserHome.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VDivider,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('AttorneySearcher')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport AttorneySearcher from '@/components/court/attorney/AttorneySearcher.vue';\n\nexport default Vue.extend({\n components: { AttorneySearcher },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttorneyList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttorneyList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AttorneyList.vue?vue&type=template&id=3e44f0ad&\"\nimport script from \"./AttorneyList.vue?vue&type=script&lang=ts&\"\nexport * from \"./AttorneyList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('h1',{staticClass:\"display-1 my-8\"},[_vm._v(\"JSSP AF Vue Component Playground\")]),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\"Locale Date Range\")]),_c('v-card-subtitle',[_vm._v(\" The LocaleDateRange component allows two-directional data-binding of a date range consisting of 0 values (i.e. blank), 1 value (an open-ended range, with either the start or end unspecified), or 2 dates (a closed range). \")]),_c('v-card-text',[_c('pre',[_vm._v(\"Current Bound Value: \"+_vm._s(_vm.localeDateRangeValue))]),_c('v-row',{attrs:{\"justify\":\"space-between\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('LocaleDateRange',{attrs:{\"label\":\"Filed Between\",\"two-fields\":_vm.localeDateRangeTwoFields,\"allow-custom\":_vm.localeDateRangeAllowCustom,\"initial-value\":\"last90Days\",\"persistent-hint\":\"\"},model:{value:(_vm.localeDateRangeValue),callback:function ($$v) {_vm.localeDateRangeValue=$$v},expression:\"localeDateRangeValue\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-select',{attrs:{\"label\":\"Show Two Fields\",\"items\":['never', 'always', 'when-blank', 'when-necessary']},model:{value:(_vm.localeDateRangeTwoFields),callback:function ($$v) {_vm.localeDateRangeTwoFields=$$v},expression:\"localeDateRangeTwoFields\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-switch',{attrs:{\"label\":\"Allow Custom Dates\"},model:{value:(_vm.localeDateRangeAllowCustom),callback:function ($$v) {_vm.localeDateRangeAllowCustom=$$v},expression:\"localeDateRangeAllowCustom\"}})],1)],1),_c('div',{staticClass:\"d-flex justify-center\"},[_c('v-btn',{on:{\"click\":function($event){_vm.localeDateRangeValue = '2021-01-01,2021-12-31'}}},[_vm._v(\" Year 2021 \")]),_c('v-btn',{on:{\"click\":function($event){_vm.localeDateRangeValue = '2021-03-21,'}}},[_vm._v(\" Since Beginning of 1400 \")]),_c('v-btn',{on:{\"click\":function($event){_vm.localeDateRangeValue = ',2021-03-20'}}},[_vm._v(\" Until the end of 1399 \")]),_c('v-btn',{on:{\"click\":function($event){_vm.localeDateRangeValue = ''}}},[_vm._v(\" Blank \")])],1)],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"subtitle\"},[_vm._v(\"Geography Selector\")]),_c('v-card-subtitle',[_vm._v(\" The GeographySelector is used to select a specific unit of Geography (a Country, Province, District, or Village). Countries, Provinces and Districts are all loaded at Application startup. Villages need to be loaded in realtime as the user interacts. \")]),_c('v-card-text',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('pre',[_vm._v(\"currentID: \"+_vm._s(_vm.geographyID))]),_c('GeographySelector',{attrs:{\"countryID\":1,\"min-specificity\":\"province\"},model:{value:(_vm.geographyID),callback:function ($$v) {_vm.geographyID=$$v},expression:\"geographyID\"}}),_c('v-btn',{attrs:{\"small\":\"\"},on:{\"click\":function($event){_vm.geographyID = 1}}},[_vm._v(\"Afghanistan\")]),_c('v-btn',{attrs:{\"small\":\"\"},on:{\"click\":function($event){_vm.geographyID = 12127}}},[_vm._v(\"Mazari-Sharif\")]),_c('v-btn',{attrs:{\"small\":\"\"},on:{\"click\":function($event){_vm.geographyID = 160}}},[_vm._v(\"USA\")]),_c('v-btn',{attrs:{\"small\":\"\"},on:{\"click\":function($event){_vm.geographyID = 122964}}},[_vm._v(\" Bai Khan (Village) \")])],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('pre',[_vm._v(\"currentID: \"+_vm._s(_vm.heratDistrictID))]),_c('GeographySelector',{attrs:{\"countryID\":1,\"provinceID\":232,\"min-specificity\":\"district\"},model:{value:(_vm.heratDistrictID),callback:function ($$v) {_vm.heratDistrictID=$$v},expression:\"heratDistrictID\"}}),_c('v-btn',{attrs:{\"small\":\"\"},on:{\"click\":function($event){_vm.heratDistrictID = 232}}},[_vm._v(\" Herat Province (Unknown District) \")]),_c('v-btn',{attrs:{\"small\":\"\"},on:{\"click\":function($event){_vm.heratDistrictID = 13215}}},[_vm._v(\"Fersi\")]),_c('v-btn',{attrs:{\"small\":\"\"},on:{\"click\":function($event){_vm.heratDistrictID = 13214}}},[_vm._v(\" Shindand \")])],1)],1)],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('v-card',{staticClass:\"fill-height\"},[_c('v-card-title',{staticClass:\"subtitle\"},[_vm._v(\"Facility Selector\")]),_c('v-card-subtitle',[_vm._v(\" Both Facilities and Cells are internally represented as \"),_c('em',[_vm._v(\"housing_facilities\")]),_vm._v(\" in a hierarchical relationship. Below the FacilitySelector and CellSelector are used in concert to select a Facility which accepts transfers (a \\\"top-level\\\" facility) and then to select one of the Cells beneath the selected Facility. \")]),_c('v-card-text',[_c('FacilitySelector',{attrs:{\"label\":\"Choose a Facility\",\"must-accept-transfers\":\"\"},model:{value:(_vm.facilityID),callback:function ($$v) {_vm.facilityID=$$v},expression:\"facilityID\"}}),_c('CellSelector',{attrs:{\"facilityID\":_vm.facilityID},model:{value:(_vm.cellID),callback:function ($$v) {_vm.cellID=$$v},expression:\"cellID\"}}),_c('pre',[_vm._v(\"facilityID: \"+_vm._s(_vm.facilityID))]),_c('pre',[_vm._v(\"cellID: \"+_vm._s(_vm.cellID))])],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\"}},[_c('v-card',{staticClass:\"fill-height\"},[_c('v-card-title',{staticClass:\"subtitle\"},[_vm._v(\"Department Selector\")]),_c('v-card-subtitle',[_c('strong',[_vm._v(\"Department\")]),_vm._v(\" refers to a unit of governmental organization involved with \"),_c('em',[_vm._v(\"Detection\")]),_vm._v(\" or \"),_c('em',[_vm._v(\"Investigation\")]),_vm._v(\" of cases (Courts, Prisons and Detention Centers are not Departments). The DepartmentSelector is used to select any node in the hierarchy of Departments. To require a \\\"fully-qualified\\\" selection, use \"),_c('strong',[_vm._v(\"require-leaf-node\")]),_vm._v(\" prohbit choosing an item which has children beneath it. \")]),_c('v-card-text',[_c('DepartmentSelector',{attrs:{\"require-leaf-node\":_vm.requireLeafNode},model:{value:(_vm.departmentID),callback:function ($$v) {_vm.departmentID=$$v},expression:\"departmentID\"}}),_c('pre',[_vm._v(\"departmentID: \"+_vm._s(_vm.departmentID))]),_c('v-switch',{attrs:{\"label\":\"Require Leaf Node\"},model:{value:(_vm.requireLeafNode),callback:function ($$v) {_vm.requireLeafNode=$$v},expression:\"requireLeafNode\"}}),_c('v-btn',{on:{\"click\":function($event){_vm.departmentID = 1000000002}}},[_vm._v(\"MoI\")]),_c('v-btn',{on:{\"click\":function($event){_vm.departmentID = 2000}}},[_vm._v(\"Border Police\")]),_c('v-btn',{on:{\"click\":function($event){_vm.departmentID = 1000002201}}},[_vm._v(\"Logar ABP\")])],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"6\"}},[_c('v-switch',{attrs:{\"label\":\"Select Multiple Parties\"},model:{value:(_vm.toggleMultiplePartySearchSelector),callback:function ($$v) {_vm.toggleMultiplePartySearchSelector=$$v},expression:\"toggleMultiplePartySearchSelector\"}}),_c('PartySearchSelector',{attrs:{\"label\":_vm.$t('party.plural'),\"clearable\":\"\",\"multiple\":_vm.toggleMultiplePartySearchSelector},model:{value:(_vm.parties),callback:function ($$v) {_vm.parties=$$v},expression:\"parties\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"6\"}},[_c('WeightField',{attrs:{\"label\":_vm.$t('person.weight'),\"type\":\"number\"},model:{value:(_vm.weight),callback:function ($$v) {_vm.weight=$$v},expression:\"weight\"}}),_vm._v(\" Weight: \"),_c('Weight',{staticClass:\"red--text\",attrs:{\"value\":_vm.weight}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\"PhoneField\")]),_c('v-card-text',[_c('p',[_vm._v(\" Reports a validation error unless the input is an internationally-formatted phone number with a valid area code. Automatically re-formats 9 or 10-digit Afghanistan local numbers by adding the +93 prefix. It removes the optional leading 0 on the area code. \")]),_c('PhoneField',{attrs:{\"hint\":\"The Supreme Court's local number is 020 230 2263\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.phoneNumber),callback:function ($$v) {_vm.phoneNumber=$$v},expression:\"phoneNumber\"}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\"Birthdate Selector\")]),_c('v-card-text',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"d-flex justify-space-between\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{on:{\"click\":function($event){_vm.birthdate = '1975-04-12';\n _vm.birthdateIsApproximate = false;}}},[_vm._v(\"1975-04-12\")]),_c('v-btn',{on:{\"click\":function($event){_vm.birthdate = '1990-03-21';\n _vm.birthdateIsApproximate = true;}}},[_vm._v(\" 1990 \")]),_c('v-btn',{on:{\"click\":function($event){_vm.birthdate = '1974-05-10';\n _vm.birthdateIsApproximate = false;}}},[_vm._v(\" 1974-05-10 \")]),_c('v-btn',{on:{\"click\":function($event){_vm.birthdate = '2002-02-10';\n _vm.birthdateIsApproximate = true;}}},[_vm._v(\" 2002 \")])],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('BirthdateSelector',{attrs:{\"isApproximate\":_vm.birthdateIsApproximate},on:{\"approximateChanged\":function($event){_vm.birthdateIsApproximate = $event}},model:{value:(_vm.birthdate),callback:function ($$v) {_vm.birthdate=$$v},expression:\"birthdate\"}})],1),(_vm.birthdate)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"label\":_vm.$t('person.birthdate')}},[_c('BirthdateDisplay',{attrs:{\"birthdate\":_vm.birthdate,\"isApproximate\":_vm.birthdateIsApproximate}})],1):_vm._e(),(_vm.birthdate)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"label\":_vm.$t('person.age')}},[_c('AgeDisplay',{attrs:{\"birthdate\":_vm.birthdate,\"isApproximate\":_vm.birthdateIsApproximate}})],1):_vm._e()],1)],1)],1)],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"subtitle\"},[_vm._v(\"Date / DateTime Entry\")]),_c('v-card-text',[_c('pre',[_vm._v(\"Current Value: \"+_vm._s(_vm.chosenDate))]),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LocaleDateEntry',{attrs:{\"label\":\"Chosen Date\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":_vm.chosenDatePastOnly,\"with-time\":_vm.chosenDateWithTime,\"clearable\":_vm.chosenDateClearable,\"readonly\":_vm.chosenDateReadonly,\"year-first\":_vm.chosenDateYearFirst,\"minute-increment\":_vm.chosenDateMinuteIncrement},model:{value:(_vm.chosenDate),callback:function ($$v) {_vm.chosenDate=$$v},expression:\"chosenDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-switch',{attrs:{\"label\":\"With Time\"},model:{value:(_vm.chosenDateWithTime),callback:function ($$v) {_vm.chosenDateWithTime=$$v},expression:\"chosenDateWithTime\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[(_vm.chosenDateWithTime)?_c('v-select',{attrs:{\"label\":\"Minutes Increment\",\"items\":[1, 5, 15],\"hint\":\"Controls which minute-hand values are available for selection.\"},model:{value:(_vm.chosenDateMinuteIncrement),callback:function ($$v) {_vm.chosenDateMinuteIncrement=$$v},expression:\"chosenDateMinuteIncrement\"}}):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-switch',{attrs:{\"label\":\"Clearable\"},model:{value:(_vm.chosenDateClearable),callback:function ($$v) {_vm.chosenDateClearable=$$v},expression:\"chosenDateClearable\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-switch',{attrs:{\"label\":\"Past Dates Only\"},model:{value:(_vm.chosenDatePastOnly),callback:function ($$v) {_vm.chosenDatePastOnly=$$v},expression:\"chosenDatePastOnly\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-switch',{attrs:{\"label\":\"Read Only\"},model:{value:(_vm.chosenDateReadonly),callback:function ($$v) {_vm.chosenDateReadonly=$$v},expression:\"chosenDateReadonly\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-switch',{attrs:{\"label\":\"Year First\"},model:{value:(_vm.chosenDateYearFirst),callback:function ($$v) {_vm.chosenDateYearFirst=$$v},expression:\"chosenDateYearFirst\"}})],1)],1)],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"subtitle\"},[_vm._v(\"Crime Selector\")]),_c('v-card-text',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('pre',[_vm._v(\"Current Value: \"+_vm._s(_vm.crimeID))]),_c('CrimeSelector',{attrs:{\"label\":\"Singular Crime\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"chips\":_vm.crimeSelectorChips,\"readonly\":_vm.crimeSelectorReadonly,\"clearable\":_vm.crimeSelectorClearable,\"disabled\":_vm.crimeSelectorDisabled,\"exclude-nonchargeable\":_vm.excludeNonchargeable},model:{value:(_vm.crimeID),callback:function ($$v) {_vm.crimeID=$$v},expression:\"crimeID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('pre',[_vm._v(\"Current Value: \"+_vm._s(_vm.crimeIDs))]),_c('CrimeSelector',{attrs:{\"label\":\"Multiple Crimes\",\"multiple\":\"\",\"rules\":[function (v) { return !!v.length || _vm.$t('error.required'); }],\"chips\":_vm.crimeSelectorChips,\"readonly\":_vm.crimeSelectorReadonly,\"clearable\":_vm.crimeSelectorClearable,\"disabled\":_vm.crimeSelectorDisabled,\"exclude-nonchargeable\":_vm.excludeNonchargeable},model:{value:(_vm.crimeIDs),callback:function ($$v) {_vm.crimeIDs=$$v},expression:\"crimeIDs\"}})],1)],1),_c('v-row',[_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Chips\"},model:{value:(_vm.crimeSelectorChips),callback:function ($$v) {_vm.crimeSelectorChips=$$v},expression:\"crimeSelectorChips\"}})],1),_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Clearable\"},model:{value:(_vm.crimeSelectorClearable),callback:function ($$v) {_vm.crimeSelectorClearable=$$v},expression:\"crimeSelectorClearable\"}})],1),_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Readonly\"},model:{value:(_vm.crimeSelectorReadonly),callback:function ($$v) {_vm.crimeSelectorReadonly=$$v},expression:\"crimeSelectorReadonly\"}})],1),_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Disabled\"},model:{value:(_vm.crimeSelectorDisabled),callback:function ($$v) {_vm.crimeSelectorDisabled=$$v},expression:\"crimeSelectorDisabled\"}})],1),_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Exclude Non-chargeable Crimes\"},model:{value:(_vm.excludeNonchargeable),callback:function ($$v) {_vm.excludeNonchargeable=$$v},expression:\"excludeNonchargeable\"}})],1)],1)],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"subtitle\"},[_vm._v(\"Party Type Selector\")]),_c('v-card-text',[_vm._v(\"bound value: \"+_vm._s(_vm.partyTypeID))]),_c('v-card-text',[_c('CourtStageSelector',{attrs:{\"label\":\"Court Stage\"},model:{value:(_vm.courtStageID),callback:function ($$v) {_vm.courtStageID=$$v},expression:\"courtStageID\"}}),_c('CaseTypeSelector',{attrs:{\"label\":\"Case Type\"},model:{value:(_vm.caseType),callback:function ($$v) {_vm.caseType=$$v},expression:\"caseType\"}}),_c('PartyTypeSelector',{staticClass:\"mt-4\",attrs:{\"label\":\"Choose a Party Type\",\"caseType\":_vm.caseType,\"courtStageID\":_vm.courtStageID},model:{value:(_vm.partyTypeID),callback:function ($$v) {_vm.partyTypeID=$$v},expression:\"partyTypeID\"}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"subtitle\"},[_vm._v(\"Profile Search Selector\")]),_c('v-card-text',[_vm._v(\"bound value: \"+_vm._s(_vm.suspectIDs))]),_c('v-card-text',[_c('v-btn',{on:{\"click\":function($event){_vm.suspectIDs = [1, 2, 3]}}},[_vm._v(\" Set Parties 1,2,3 \")]),_c('ProfileSearchSelector',{attrs:{\"label\":_vm.$t('suspect.singular'),\"clearable\":\"\",\"multiple\":\"\",\"party-mode\":_vm.profileSelectorPartyMode},model:{value:(_vm.suspectIDs),callback:function ($$v) {_vm.suspectIDs=$$v},expression:\"suspectIDs\"}}),_c('v-switch',{attrs:{\"label\":\"Party Mode\"},model:{value:(_vm.profileSelectorPartyMode),callback:function ($$v) {_vm.profileSelectorPartyMode=$$v},expression:\"profileSelectorPartyMode\"}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"subtitle\"},[_vm._v(\"Charges Form\")]),_c('v-card-text',[_c('v-switch',{attrs:{\"label\":\"Read Only\"},model:{value:(_vm.chargesReadonly),callback:function ($$v) {_vm.chargesReadonly=$$v},expression:\"chargesReadonly\"}}),_c('ChargesForm',{attrs:{\"readonly\":_vm.chargesReadonly},model:{value:(_vm.charges),callback:function ($$v) {_vm.charges=$$v},expression:\"charges\"}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"subtitle\"},[_vm._v(\"Court and Judge Selector\")]),_c('v-card-text',[_c('p',[_vm._v(\" This JudgeSelector is controlled by the Court which is selected \")]),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CourtStageSelector',{model:{value:(_vm.courtStageID),callback:function ($$v) {_vm.courtStageID=$$v},expression:\"courtStageID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CourtSelector',{attrs:{\"label\":_vm.$t('court.singular'),\"stageID\":_vm.courtStageID,\"require-leaf-node\":\"\"},model:{value:(_vm.courtID),callback:function ($$v) {_vm.courtID=$$v},expression:\"courtID\"}}),_c('div',{staticClass:\"text-caption text--disabled\"},[_c('div',[_c('strong',[_vm._v(\"courtName\")]),_vm._v(\" \"+_vm._s(_vm.courtName(_vm.courtID)))]),_c('div',[_c('strong',[_vm._v(\"fullCourtName\")]),_vm._v(\" \"+_vm._s(_vm.fullCourtName(_vm.courtID))+\" \")])])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-switch',{attrs:{\"label\":\"Randomize Judge\"},model:{value:(_vm.judgeRandomize),callback:function ($$v) {_vm.judgeRandomize=$$v},expression:\"judgeRandomize\"}})],1),(_vm.judgeRandomize)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_vm._v(\" Toggle the court selector to see a random judge selected each time the courtID is changed. \")]):_vm._e()],1),_c('pre',[_vm._v(\"Current Value: \"+_vm._s(_vm.judgeID))]),_c('JudgeSelector',{attrs:{\"label\":_vm.$t('judge.singular'),\"courtID\":_vm.courtID,\"randomize\":_vm.judgeRandomize},model:{value:(_vm.judgeID),callback:function ($$v) {_vm.judgeID=$$v},expression:\"judgeID\"}}),_c('HeadOfCourtSelector',{attrs:{\"courtID\":_vm.courtID,\"readonly\":\"\",\"hint\":\"Updates automatically when Court is changed. Only if that court has a Head of Court\",\"persistent-hint\":\"\"},model:{value:(_vm.headOfCourtJudgeID),callback:function ($$v) {_vm.headOfCourtJudgeID=$$v},expression:\"headOfCourtJudgeID\"}}),_c('CourtroomSelector',{attrs:{\"courtID\":_vm.courtID},model:{value:(_vm.courtroomID),callback:function ($$v) {_vm.courtroomID=$$v},expression:\"courtroomID\"}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"subtitle\"},[_vm._v(\" Judge Selector without Court \")]),_c('v-card-text',[_c('p',[_vm._v(\" This JudgeSelector will limit Judge choices based on the Stage, Geography parameters set below. \")]),_c('pre',[_vm._v(\"Current Value: \"+_vm._s(_vm.judgeID2))]),_c('JudgeSelector',{attrs:{\"label\":_vm.$t('judge.singular'),\"stages\":_vm.judgeStages,\"locationGeographyID\":_vm.judgeGeographyID},model:{value:(_vm.judgeID2),callback:function ($$v) {_vm.judgeID2=$$v},expression:\"judgeID2\"}}),_c('CourtStageSelector',{attrs:{\"multiple\":\"\"},model:{value:(_vm.judgeStages),callback:function ($$v) {_vm.judgeStages=$$v},expression:\"judgeStages\"}}),_c('GeographySelector',{attrs:{\"hint\":_vm.judgeGeographyID,\"persistent-hint\":\"\"},model:{value:(_vm.judgeGeographyID),callback:function ($$v) {_vm.judgeGeographyID=$$v},expression:\"judgeGeographyID\"}})],1)],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"subtitle\"},[_vm._v(\"Global 'Snackbar'\")]),_c('v-card-text',[_vm._v(\" Closes on its own after some time, or can be manually closed. \"),_c('v-text-field',{attrs:{\"label\":\"Message\"},model:{value:(_vm.demoSnackbarMessage),callback:function ($$v) {_vm.demoSnackbarMessage=$$v},expression:\"demoSnackbarMessage\"}}),_c('v-select',{attrs:{\"label\":\"Status\",\"items\":['Success', 'Error', 'Info']},model:{value:(_vm.demoSnackbarStatus),callback:function ($$v) {_vm.demoSnackbarStatus=$$v},expression:\"demoSnackbarStatus\"}}),_c('v-btn',{attrs:{\"color\":\"secondary\"},on:{\"click\":_vm.showSnackbar}},[_vm._v(\"Show\")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[(_vm.label)?_c('v-col',{staticClass:\"subtitle-2 pb-0\",attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.label))]):_vm._e(),_vm._l((_vm.choices),function(level,i){return _c('v-col',{key:i,staticClass:\"mb-0 mt-0 pb-0 pt-0\",attrs:{\"cols\":\"12\",\"md\":12 / _vm.choices.length}},[_c('v-autocomplete',{attrs:{\"rules\":_vm.rules || [],\"label\":_vm.$t('housingFacility.typeOptions.' + _vm.types[i]),\"disabled\":_vm.disabled,\"items\":_vm.choices[i],\"item-value\":\"id\",\"item-text\":function (v) { return v.name[_vm.locale]; }},on:{\"input\":function($event){return _vm.selectionChanged(i)}},model:{value:(_vm.selections[i]),callback:function ($$v) {_vm.$set(_vm.selections, i, $$v)},expression:\"selections[i]\"}})],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\nimport { HousingFacility } from '@/vuex/housing/housing';\nimport { TUnknown } from '@/lib/translated';\n\n/**\n * CellSelector provides a v-model-compatible interface to select the ID\n * for a \"cell\" (a HousingFacility structure which is hierarchically beneath\n * some other facility).\n *\n * Example usage:\n *\n * \n *\n */\nexport default Vue.extend({\n props: {\n /**\n * label will be displayed above all of the cell selection dropdowns.\n */\n label: String,\n\n /**\n * rules are passed-through to each v-autocomplete (dropdown) inside\n * the CellSelector.\n *\n * TODO - Conceptually: we should only be enforcing rules on the last\n * dropdown... its' the one that controls the Form Input Value of this\n * control. However, it seems like our current usage only ever triggers\n * validations on the last component anyway... so it may be a non-issue.\n */\n rules: {\n type: Array,\n default: () => [],\n },\n\n /**\n * show-hidden will be used to show facilities _even if_ they are\n * hidden == true. Useful when showing where an offender current resides\n * because he/she may be in a hidden facility\n */\n showHidden: {\n type: Boolean,\n default: false,\n },\n\n /**\n * disabled is passed-through to each v-autocomplete (dropdown) inside\n * the CellSelector.\n *\n * Set true to display the current value but not allow the user to\n * change it.\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * value makes this component compatible with Vue's Form Input Bindings\n * and the v-model attribute (see: https://vuejs.org/v2/guide/forms.html).\n */\n value: {\n type: Number,\n required: true,\n },\n\n /**\n * facilityID is required. It scopes the selection down to the referenced\n * facilty's children.\n */\n facilityID: {\n type: Number,\n required: true,\n },\n },\n created() {\n this.valueChangedFromOutside(this.value);\n },\n data() {\n return {\n types: [] as string[],\n selections: [0] as number[],\n choices: [] as HousingFacility[][],\n };\n },\n watch: {\n facilityID() {\n /**\n * All previous choices are made invalid when the facilityID prop is\n * changed at any time after initialization, so we reset all existing\n * choices and rebuild the controls.\n */\n this.selections = [0];\n this.selectionChanged(0);\n },\n value(newID) {\n this.valueChangedFromOutside(newID);\n },\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('housing', [\n 'ancestorIDs',\n 'facilityWithID',\n 'facilityChildren',\n 'facilityVisibleChildren',\n ]),\n },\n methods: {\n /**\n * selectionChanged handles changes made by a user to one of the internal\n * dropdowns.\n */\n selectionChanged(controlIndex: number) {\n // A change made to a \"higher-level\" control will invalidate selections\n // made in \"lower-level\" controls.\n //\n // For example, if we have: Block 1 - Floor 1...\n // and we change to Block 2...\n // Then \"Floor 1\" is no longer a valid selection.\n //\n // To represent this we throw away higher-indexed selections\n // by resetting the arrays length\n this.selections.length = controlIndex + 1;\n\n // Since lower-level values have been removed, we need to\n // broadcast a change in the value out\n this.$emit('input', _.last(this.selections) || 0);\n\n // Then ensure the lower-level controls are rebuilt\n this.buildControls();\n },\n\n /**\n * valueChangedFromOutside handles a change to the cell value coming\n * from outside the component. It's guaranteed to fire at least\n * once with the value/v-model prop when the component is first created. It\n * will fire additional times when that prop is changed later.\n *\n * This method's primary purpose is to find the facility IDs of each\n * ancestor and store it in the selections array. If we have a simple\n * 3-level structure 1 > 2 > 3, and the value is set to 3, then this\n * function causes this.selections = [1,2,3] instead of [3].\n *\n * NOTE: This function ensures that the facilityID not be one of the\n * selections, so in the 1 > 2 > 3 example above, if \"1\" is the facility,\n * then this.selections = [2,3].\n */\n async valueChangedFromOutside(newID: number): Promise {\n await this.$store.dispatch('housing/fetchFacility', {\n facilityID: newID,\n force: false,\n });\n const ancestorIDs = this.ancestorIDs(newID);\n const facilityIndex = ancestorIDs.indexOf(this.facilityID);\n if (facilityIndex < 0) {\n // Reject the provided value because it's not inside the bound\n // facility.\n this.selections = [0];\n this.$emit('input', 0);\n } else {\n // Remove the facility from the list of ancestors, and use the rest\n // of the values as selection values for the dropdowns.\n this.selections = ancestorIDs.slice(\n facilityIndex + 1,\n ancestorIDs.length,\n );\n }\n\n // Ensure the dropdown options match the proovded parent IDs\n this.buildControls();\n },\n\n /**\n * buildControls is responsible for assembling the choice values for each\n * of the dropdowns in the selector.\n */\n async buildControls(): Promise {\n // Before we hit this point, we depend on valueChangedFromOutside\n // setting the selections array with the currently-selected value\n // and all of its ancestors.\n const facility = this.facilityWithID(this.facilityID);\n const parentIDs = [this.facilityID, ...this.selections];\n\n // First we ensure the children for each referenced facility are\n // loaded. The Vuex action ensures prior API calls aren't repeated\n // (in other words, previously-fetched children are cached), so\n // these promises should return very quickly for previously-\n // encountered facilities.\n await Promise.all(\n parentIDs.map((id) => {\n return this.$store.dispatch('housing/fetchFacilityChildren', {\n force: false,\n parentID: id,\n });\n }),\n );\n\n const newChoices = [] as HousingFacility[][];\n const newTypes = [] as string[];\n\n // Given that the children fetches completed successfully,\n // we can loop over the ancestors to build an array of child\n // choices for each one.\n for (const parentID of parentIDs) {\n let children = [] as HousingFacility[];\n if (this.showHidden) {\n children = this.facilityChildren(parentID);\n } else {\n children = this.facilityVisibleChildren(parentID);\n }\n\n // When no children are found, no control is needed\n if (children.length <= 0) {\n continue;\n }\n\n // Assume all the found children have the same type\n // This is needed to display a label for each dropdown (e.g. \"Block\")\n const childType = _.last(children)!.type;\n newTypes.push(childType);\n\n // Add a choice for \"Unknown\" at this level\n const parent = this.facilityWithID(parentID);\n const uc = this.unknownChild(parent);\n uc.type = childType;\n children.unshift(this.unknownChild(parent));\n\n newChoices.push(children);\n }\n\n // Special Case: none of the parentIDs actually had children.\n //\n if (newChoices.length === 0) {\n // If we ended up with no children at any level, then we need to\n // render a single dropdown with an unknown choice in it.\n\n // Build an unknown child. Arbitrarily say it's a 'block' type\n const uc = this.unknownChild(facility);\n const childType = 'block';\n uc.type = childType;\n\n // Add it to the type and choices arrays.\n // (these choice be the only values in them)\n newTypes.push(childType);\n newChoices.push([uc]);\n }\n\n // Pre-select the Unknown choice at each level where a selection\n // is not already defined.\n while (newChoices.length > this.selections.length) {\n this.selections.push(0);\n }\n\n this.choices = newChoices;\n this.types = newTypes;\n },\n\n /**\n * unknownChild is a utility function which creates a fake HousingFacility\n * to represent an Unknown choice at a particular level in the hierarchy.\n */\n unknownChild(parent: HousingFacility): HousingFacility {\n const child = Object.assign({}, parent);\n child.id = 0;\n child.name = TUnknown;\n return child;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CellSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CellSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CellSelector.vue?vue&type=template&id=0905e87e&\"\nimport script from \"./CellSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./CellSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAutocomplete,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-autocomplete',{attrs:{\"rules\":_vm.rules || [],\"disabled\":_vm.disabled || false,\"label\":_vm.label || _vm.$t('court.courtroom.singular'),\"value\":_vm.value,\"items\":_vm.courtroomChoices,\"item-value\":\"id\",\"item-text\":function (v) { return v.name; },\"clearable\":_vm.clearable},on:{\"input\":_vm.courtroomsChanged}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\nimport { Courtroom } from '@/vuex/court/court';\n\nexport default Vue.extend({\n props: {\n courtID: {\n type: Number,\n required: true,\n },\n value: Number,\n label: String,\n rules: [],\n disabled: Boolean,\n readonly: Boolean,\n clearable: Boolean,\n },\n created(): void {\n this.fetchData();\n },\n watch: {\n courtID(val: number): void {\n if (this.courtID) {\n this.fetchData();\n }\n },\n },\n computed: {\n ...mapGetters('court', ['courtroomsForCourt']),\n courtroomChoices(): Courtroom[] {\n return _.sortBy(\n this.courtroomsForCourt(this.courtID) || [],\n (cr: Courtroom) => cr.name,\n );\n },\n },\n methods: {\n courtroomsChanged(selectedCourtroomID) {\n this.$emit('input', selectedCourtroomID);\n },\n fetchData(): void {\n this.$store.dispatch('court/fetchCourtroomsForCourt', {\n courtID: this.courtID,\n force: false,\n });\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtroomSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtroomSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtroomSelector.vue?vue&type=template&id=c2ee67c0&\"\nimport script from \"./CourtroomSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtroomSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\ninstallComponents(component, {VAutocomplete})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-autocomplete',{attrs:{\"rules\":_vm.rules || [],\"disabled\":_vm.disabled || false,\"label\":_vm.label || 'Facility',\"value\":_vm.value,\"items\":_vm.facilityChoices,\"item-value\":\"id\",\"item-text\":function (v) { return _vm.fullFacilityName(v.id); },\"loading\":_vm.loading,\"clearable\":_vm.clearable,\"persistent-hint\":_vm.persistentHint,\"hint\":_vm.hint,\"multiple\":_vm.multiple,\"placeholder\":_vm.placeholder,\"auto-select-first\":_vm.autoSelectFirst,\"auto-focus\":_vm.autoFocus,\"prepend-icon\":_vm.prependIcon,\"append-icon\":_vm.appendIcon,\"append-outer-icon\":_vm.appendOuterIcon},on:{\"input\":_vm.facilityChanged}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapActions, mapGetters, mapState } from 'vuex';\nimport { HousingFacility } from '@/vuex/housing/housing';\n\nexport default Vue.extend({\n props: {\n // label is a passthrough to the v-autocomplete label prop\n label: String,\n\n // Override just in case it is easier to customize the list\n // outside of this component\n items: {\n type: Array,\n default: () => [] as HousingFacility[],\n },\n\n /**\n * show-hidden will be used to show facilities _even if_ they are\n * hidden == true. Useful when showing where an offender current resides\n * because he/she may be in a hidden facility\n */\n showHidden: {\n type: Boolean,\n default: false,\n },\n // rules is a passthrough to the v-autocomplete rules prop\n rules: {\n type: Array,\n default: () => [], // Default value is a function which returns a blank array\n },\n // disabled is a passthrough to the v-autocomplete disabled prop\n disabled: Boolean,\n // value is the prop that makes this component work with v-model\n value: Number,\n // Allows an allowed set of ids to be excluded from list\n // most common used to exclude self\n excludedIDs: {\n type: Array,\n default: () => [],\n },\n // Used to filter the list of facilities down to to\n // transferable ones only\n mustAcceptTransfers: {\n type: Boolean,\n default: false,\n },\n mustHavePermission: String,\n // Pass-through variables to v-autocomplete\n hint: String,\n persistentHint: Boolean,\n clearable: Boolean,\n multiple: Boolean,\n placeholder: String,\n autoSelectFirst: Boolean,\n autoFocus: Boolean,\n prependIcon: String,\n appendIcon: String,\n appendOuterIcon: String,\n },\n data() {\n return {\n loading: false,\n };\n },\n created() {\n this.fetchData();\n },\n watch: {\n value() {\n this.fetchData();\n },\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('housing', ['allFacilities', 'fullFacilityName']),\n ...mapGetters('auth', ['entityIDsWithPermission']),\n facilityChoices(): HousingFacility[] {\n let choices: HousingFacility[] = [];\n\n // check items first because that is the override\n // collection that may have been passed into\n // this component\n if (this.items.length > 0) {\n choices = this.items as HousingFacility[];\n } else {\n choices = this.allFacilities;\n }\n\n if (this.mustAcceptTransfers) {\n choices = choices.filter((f) => f.acceptsTransfers);\n }\n\n if (!this.showHidden) {\n choices = choices.filter((f) => !f.hidden);\n }\n\n if (this.mustHavePermission) {\n const allowedIDs = this.entityIDsWithPermission(\n this.mustHavePermission,\n );\n const hasNone = allowedIDs.length < 1;\n const hasAll = _.includes(allowedIDs, '*');\n\n if (hasNone) {\n // If no allowed IDs, the list should be empty\n choices = [];\n } else if (!hasAll) {\n choices = _.filter(choices, (f) => {\n return _.includes(allowedIDs, f.id);\n });\n }\n }\n\n return _.chain(choices)\n .reject((f) => this.excludedIDs.includes(f.id))\n .sortBy((f) => f.name[this.locale])\n .value();\n },\n },\n methods: {\n ...mapActions('housing', ['fetchFacilities']),\n facilityChanged(newVal) {\n this.$emit('input', newVal);\n },\n async fetchData(): Promise {\n this.loading = true;\n\n await Promise.all([\n this.$store.dispatch('housing/fetchFacilities'),\n this.$store.dispatch('housing/fetchFacility', {\n facilityID: this.value,\n }),\n ]);\n\n this.loading = false;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FacilitySelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FacilitySelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FacilitySelector.vue?vue&type=template&id=2eef301c&\"\nimport script from \"./FacilitySelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./FacilitySelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\ninstallComponents(component, {VAutocomplete})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-autocomplete',{attrs:{\"label\":_vm.label || _vm.$t('court.headOfCourt'),\"value\":_vm.value,\"items\":_vm.judgeChoices,\"rules\":_vm.rules,\"readonly\":_vm.readonly,\"disabled\":_vm.disabled,\"hint\":_vm.hint,\"persistent-hint\":_vm.persistentHint},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\nimport { Court } from '@/vuex/court/court';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: Number,\n courtID: {\n type: Number,\n required: true, // Can't have a Head of Court if the courtID isn't supplied\n },\n rules: Array,\n readonly: Boolean,\n disabled: Boolean,\n hint: String,\n persistentHint: Boolean,\n },\n computed: {\n ...mapGetters('court', ['courtWithID', 'judgeWithID', 'judgeName']),\n\n /**\n * judgeChoices builds the list of choices which will appear in the\n * dropdown. Since there is only one judge who can be the head of court,\n * it will return an array of either 0 or 1 judge.\n */\n judgeChoices(): VSelectItem[] {\n const judgeChoices = [] as VSelectItem[];\n if (this.court && this.court.headOfCourtJudgeID) {\n const judge = this.judgeWithID(this.court.headOfCourtJudgeID);\n judgeChoices.push({\n value: judge.id,\n text: this.judgeName(judge.id),\n });\n }\n return judgeChoices;\n },\n\n court(): Court {\n return this.courtWithID(this.courtID);\n },\n },\n watch: {\n /**\n * courtID is watched so that we can $emit the headOfCourtJudgeID for that\n * court whenever it is changed. We $emit 0 when the courtID is set to a\n * non-existent court.\n */\n courtID: {\n immediate: true,\n handler() {\n if (this.court) {\n this.$emit('input', this.court.headOfCourtJudgeID);\n } else {\n this.$emit('input', 0);\n }\n },\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeadOfCourtSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeadOfCourtSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HeadOfCourtSelector.vue?vue&type=template&id=3c2345fa&\"\nimport script from \"./HeadOfCourtSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./HeadOfCourtSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\ninstallComponents(component, {VAutocomplete})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport moment from 'moment';\nimport { mapState, mapGetters } from 'vuex';\n\nimport CaseTypeSelector from '@/components/court/CaseTypeSelector.vue';\nimport CellSelector from '@/components/offender/facility/CellSelector.vue';\nimport ChargesForm from '@/components/charges/ChargesForm.vue';\nimport CourtroomSelector from '@/components/court/courtroom/CourtroomSelector.vue';\nimport CourtSelector from '@/components/court/court/CourtSelector.vue';\nimport CourtStageSelector from '@/components/court/CourtStageSelector.vue';\nimport CrimeSelector from '@/components/crime/CrimeSelector.vue';\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\nimport HeadOfCourtSelector from '@/components/court/judge/HeadOfCourtSelector.vue';\nimport JudgeSelector from '@/components/court/judge/JudgeSelector.vue';\nimport PartySearchSelector from '@/components/court/party/PartySearchSelector.vue';\nimport PartyTypeSelector from '@/components/dossier/PartyTypeSelector.vue';\nimport ProfileSearchSelector from '@/components/profile/ProfileSearchSelector.vue';\n\nexport default Vue.extend({\n data() {\n return {\n localeDateRangeValue: '',\n localeDateRangeAllowCustom: true,\n localeDateRangeTwoFields: 'never',\n phoneNumber: '',\n attorneyTypeID: 1,\n chosenDate: moment().format(),\n chosenDateWithTime: false,\n chosenDateClearable: false,\n chosenDatePastOnly: true,\n chosenDateReadonly: false,\n chosenDateYearFirst: false,\n chosenDateMinuteIncrement: 15,\n birthdate: '',\n birthdateIsApproximate: false,\n geographyID: 12127,\n heratDistrictID: 232,\n facilityID: 119,\n judgeID: 1,\n judgeRandomize: true,\n judgeID2: 0,\n judgeStages: [],\n judgeGeographyID: 0,\n cellID: 0,\n demoSnackbarMessage: 'I am a snackbar',\n demoSnackbarStatus: 'Info',\n parties: [] as number[],\n toggleMultiplePartySearchSelector: false,\n partyTypeID: 3,\n suspectIDs: 0,\n dossierID: 1,\n intField0: 0,\n intFieldNull: null,\n intField3: 3,\n intFieldString: '',\n caseID: 1,\n courtID: 1,\n fee: 0,\n crimeID: 0,\n crimeIDs: [],\n crimeSelectorChips: true,\n crimeSelectorReadonly: false,\n crimeSelectorClearable: false,\n crimeSelectorDisabled: false,\n excludeNonchargeable: false,\n charges: [],\n chargesReadonly: false,\n courtroomID: 0,\n courtStageID: 1,\n caseType: '',\n headOfCourtJudgeID: 0,\n profileSelectorPartyMode: false,\n weight: 0,\n departmentID: 2001,\n requireLeafNode: false,\n };\n },\n computed: {\n ...mapState('court', ['partyTypes', 'attorneyTypes', 'docketEventTypes']),\n ...mapGetters('language', ['valueForLocale']),\n ...mapGetters('court', ['courtName', 'fullCourtName']),\n },\n components: {\n CellSelector,\n ChargesForm,\n CourtroomSelector,\n CourtSelector,\n CrimeSelector,\n FacilitySelector,\n HeadOfCourtSelector,\n JudgeSelector,\n PartySearchSelector,\n PartyTypeSelector,\n ProfileSearchSelector,\n CourtStageSelector,\n CaseTypeSelector,\n },\n methods: {\n showSnackbar() {\n this.$store.dispatch(\n `application/showSnackbar${this.demoSnackbarStatus}`,\n this.demoSnackbarMessage,\n );\n },\n },\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ComponentLibrary.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ComponentLibrary.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ComponentLibrary.vue?vue&type=template&id=08c5c6c8&\"\nimport script from \"./ComponentLibrary.vue?vue&type=script&lang=ts&\"\nexport * from \"./ComponentLibrary.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardSubtitle } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardSubtitle,VCardText,VCardTitle,VCol,VContainer,VRow,VSelect,VSwitch,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\"}},[_c('v-toolbar-title',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-pencil-alt\")]),_vm._v(\" \"+_vm._s(_vm.$t('corpus.singular'))+\" #\"+_vm._s(_vm.id)+\" \")],1),_c('v-spacer'),(_vm.corpus && !_vm.waiting)?_c('ConfirmationButton',{attrs:{\"icon\":\"\",\"prompt\":((_vm.$t('command.delete')) + \" #\" + (_vm.corpus.id) + \" (\" + (_vm.corpus.title[_vm.locale]) + \")\")},on:{\"confirm\":function($event){return _vm.deleteConfirmed()}}},[_c('v-icon',[_vm._v(\"fa-trash-alt\")])],1):_vm._e()],1),_c('v-card',[_c('CorpusForm',{ref:\"form\",attrs:{\"corpus\":_vm.corpus,\"error\":_vm.error}}),_c('v-card-actions',[_c('v-btn',{attrs:{\"disabled\":!_vm.valid},on:{\"click\":function($event){return _vm.save()}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.save'))+\" \")]),_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\",\"color\":\"error\"},on:{\"click\":function($event){return _vm.cancelEdit()}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.cancel'))+\" \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-form',{ref:\"form\",on:{\"submit\":function($event){return _vm.submit()}}},[(_vm.waiting)?_c('v-card-text',[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1):_vm._e(),(!_vm.waiting && _vm.corpus)?_c('v-container',{attrs:{\"fluid\":\"\",\"grid-list-md\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('FormError',{attrs:{\"error\":_vm.error}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('corpus.number'),\"rules\":[_vm.required]},model:{value:(_vm.corpus.number),callback:function ($$v) {_vm.$set(_vm.corpus, \"number\", _vm._n($$v))},expression:\"corpus.number\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"8\"}},[_c('CorpusSelector',{attrs:{\"label\":_vm.$t('corpus.parent'),\"exclude\":[_vm.corpus.id]},model:{value:(_vm.corpus.parentID),callback:function ($$v) {_vm.$set(_vm.corpus, \"parentID\", $$v)},expression:\"corpus.parentID\"}})],1)],1),_c('v-row',_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:{ isRTL: l.isRTL },attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t(l.locale) + ' ' + _vm.$t('corpus.title'),\"rules\":[_vm.required]},model:{value:(_vm.corpus.title[l.locale]),callback:function ($$v) {_vm.$set(_vm.corpus.title, l.locale, (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"corpus.title[l.locale]\"}})],1)}),1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('crime.isNonchargeable')},model:{value:(_vm.corpus.isNonchargeable),callback:function ($$v) {_vm.$set(_vm.corpus, \"isNonchargeable\", $$v)},expression:\"corpus.isNonchargeable\"}})],1)],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-text-field',_vm._g({staticClass:\"finger\",attrs:{\"readonly\":\"\",\"label\":_vm.fieldLabel,\"append-icon\":\"arrow_drop_down\"},on:{\"click\":function($event){return _vm.open()},\"click:append\":function($event){return _vm.open()}},model:{value:(_vm.selectedCorpusTitle),callback:function ($$v) {_vm.selectedCorpusTitle=$$v},expression:\"selectedCorpusTitle\"}},on))]}}])},[_c('span',[_vm._v(_vm._s(_vm.tooltip))])]),_c('v-dialog',{attrs:{\"max-width\":\"650\"},model:{value:(_vm.dialogOpen),callback:function ($$v) {_vm.dialogOpen=$$v},expression:\"dialogOpen\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.fieldLabel))])],1),_c('v-list',[(!_vm.atRootLevel)?_c('v-list-item',{on:{\"click\":function($event){return _vm.goUp()}}},[_c('v-list-item-avatar',[_c('v-btn',{attrs:{\"icon\":\"\"}},[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"chevron_left\")])],1)],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-h6\"},[_vm._v(\" \"+_vm._s(_vm.focusedCorpusTitle)+\" \")])],1)],1):_vm._e(),(_vm.atRootLevel)?_c('div',[_c('v-list-item',{on:{\"click\":function($event){return _vm.focusCorpus(null)}}},[(_vm.allowNullSelection)?_c('v-list-item-avatar',[(_vm.selectedCorpusID !== null)?_c('v-btn',{attrs:{\"text\":\"\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.selectCorpus(null)}}},[_c('v-icon',[_vm._v(\"radio_button_unchecked\")])],1):_vm._e(),(_vm.selectedCorpusID == null)?_c('v-btn',{attrs:{\"text\":\"\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.cancel()}}},[_c('v-icon',[_vm._v(\"radio_button_checked\")])],1):_vm._e()],1):_vm._e(),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('corpus.root')))])],1),_c('v-list-item-action',[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"chevron_right\")])],1)],1)],1):_vm._e(),(!_vm.atRootLevel)?_c('div',_vm._l((_vm.choices),function(thisCorpus,i){return _c('v-list-item',{key:i,on:{\"click\":function($event){return _vm.focusCorpus(thisCorpus.id)}}},[(!_vm.corpusHasChildren(thisCorpus.id) || !_vm.leafOnly)?_c('v-list-item-avatar',[(thisCorpus.id != _vm.selectedCorpusID)?_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.selectCorpus(thisCorpus.id)}}},[_c('v-icon',[_vm._v(\"radio_button_unchecked\")])],1):_vm._e(),(thisCorpus.id == _vm.selectedCorpusID)?_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.cancel()}}},[_c('v-icon',[_vm._v(\"radio_button_checked\")])],1):_vm._e()],1):_vm._e(),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(thisCorpus.title[_vm.locale])+\" \")])],1),(_vm.corpusHasChildren(thisCorpus.id))?_c('v-list-item-action',[_c('v-btn',{attrs:{\"icon\":\"\"}},[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"chevron_right\")])],1)],1):_vm._e()],1)}),1):_vm._e()],1),_c('v-card-actions',[_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"error\"},on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.cancel'))+\" \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport { Corpus } from '@/vuex/corpus/corpus';\nimport { TAll, TUnknown } from '@/lib/translated';\nimport { mapState, mapGetters, mapActions } from 'vuex';\n\nexport default Vue.extend({\n props: {\n value: {\n type: Number,\n default: null,\n },\n\n label: {\n type: String,\n },\n\n leafOnly: {\n type: Boolean,\n default: false,\n },\n\n exclude: {\n type: Array,\n default: () => [],\n },\n\n notNull: {\n type: Boolean,\n default: false,\n },\n\n /**\n * zeroLabel can be used to override the display of the \"zero\" choice\n * (the one with id == 0). In some contexts (such as when using a selector\n * as a search input) you want the lack of a selection to mean \"All\".\n * In other contexts (such as data entry), you want the lack of an entry\n * to mean \"Unknown\". Use zero-label=\"all\" for the former,\n * and zero-label=\"unknown\" for the latter. Most of the time,\n * zero-label=\"unknown\" is unnecessary because the database value for 0\n * is often already set to that.\n */\n zeroLabel: { type: String },\n },\n\n async created() {\n await this.fetchCorpora(false);\n this.setSelectedCorpusID(this.value);\n },\n\n data() {\n return {\n atRootLevel: true,\n dialogOpen: false,\n selectedCorpusID: null as number | null,\n focusedCorpusID: null as number | null,\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapState('corpus', ['corporaByID']),\n ...mapGetters('corpus', ['corporaWithParentID', 'corpusHasChildren']),\n\n fieldLabel(): string {\n if (this.label) {\n return this.label;\n }\n return this.$i18n.t('corpus.singular').toString();\n },\n\n allowNullSelection(): boolean {\n return !this.notNull;\n },\n\n selectedCorpus(): Corpus | null {\n if (this.selectedCorpusID === null) {\n return null;\n }\n return this.corporaByID[this.selectedCorpusID] || null;\n },\n\n selectedCorpusTitle(): string {\n if (!this.selectedCorpusID) {\n switch (this.zeroLabel) {\n case 'all':\n return TAll[this.locale];\n case 'unknown':\n return TUnknown[this.locale];\n default:\n return this.$i18n.t('corpus.root').toString();\n }\n }\n\n const items = [] as string[];\n let parentID = this.selectedCorpusID as number | null;\n while (parentID !== null) {\n const parent = this.corporaByID[parentID];\n if (parent) {\n items.unshift(parent.title[this.locale]);\n parentID = parent.parentID;\n } else {\n parentID = null;\n }\n }\n if (items.length < 1) {\n return String(this.$i18n.t('corpus.root'));\n }\n return items.join(' / ');\n },\n\n focusedCorpus(): Corpus | null {\n if (this.focusedCorpusID === null) {\n return null;\n }\n return this.corporaByID[this.focusedCorpusID];\n },\n\n focusedCorpusTitle(): string {\n if (this.focusedCorpus === null) {\n return this.$i18n.t('corpus.root').toString();\n }\n return this.focusedCorpus.title[this.locale];\n },\n\n choices(): Corpus[] {\n return this.corporaWithParentID(this.focusedCorpusID).filter((corpus) => {\n return !_.includes(this.exclude, corpus.id);\n });\n },\n\n tooltip(): string {\n const items = [] as string[];\n let parentID = this.selectedCorpusID;\n while (parentID !== null) {\n const parent = this.corporaByID[parentID];\n if (parent) {\n items.unshift(parent.title[this.locale]);\n parentID = parent.parentID;\n } else {\n parentID = null;\n }\n }\n if (items.length < 1) {\n switch (this.zeroLabel) {\n case 'all':\n return TAll[this.locale];\n case 'unknown':\n return TUnknown[this.locale];\n default:\n return this.$i18n.t('corpus.root').toString();\n }\n }\n return items.join(' / ');\n },\n },\n\n watch: {\n value(newValue) {\n this.setSelectedCorpusID(newValue);\n },\n },\n\n methods: {\n ...mapActions('corpus', ['fetchCorpora']),\n\n setSelectedCorpusID(id: number | null) {\n this.selectedCorpusID = id;\n if (id === null) {\n this.focusedCorpusID = null;\n this.atRootLevel = true;\n } else {\n this.atRootLevel = false;\n const corpus = this.corporaByID[id];\n if (corpus) {\n this.focusedCorpusID = corpus.parentID;\n }\n }\n },\n\n open() {\n if (this.dialogOpen) {\n return;\n }\n this.setSelectedCorpusID(this.value);\n this.dialogOpen = true;\n },\n\n cancel() {\n this.dialogOpen = false;\n },\n\n goUp() {\n if (this.focusedCorpusID === null) {\n this.atRootLevel = true;\n }\n if (this.focusedCorpus) {\n this.focusedCorpusID = this.focusedCorpus.parentID;\n }\n },\n\n focusCorpus(id: number | null) {\n if (this.corpusHasChildren(id)) {\n this.focusedCorpusID = id;\n this.atRootLevel = false;\n } else {\n this.selectCorpus(id);\n }\n },\n\n selectCorpus(id: number | null) {\n this.setSelectedCorpusID(id);\n this.$emit('input', id);\n this.dialogOpen = false;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CorpusSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CorpusSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CorpusSelector.vue?vue&type=template&id=1d9d10b2&\"\nimport script from \"./CorpusSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./CorpusSelector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CorpusSelector.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemAvatar } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardActions,VDialog,VIcon,VList,VListItem,VListItemAction,VListItemAvatar,VListItemContent,VListItemTitle,VTextField,VToolbar,VToolbarTitle,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapActions } from 'vuex';\nimport { VForm } from '@/lib/vue-typescript';\n\nimport CorpusSelector from '@/components/corpus/CorpusSelector.vue';\n\nexport default Vue.extend({\n props: {\n error: {\n type: Error,\n },\n corpus: {\n type: Object,\n },\n },\n\n async created(): Promise {\n this.waiting = true;\n await this.fetchCorpora();\n this.waiting = false;\n },\n\n data(): any {\n return {\n waiting: true,\n };\n },\n\n computed: {\n ...mapGetters('language', ['languages']),\n },\n\n methods: {\n ...mapActions('corpus', ['fetchCorpora']),\n\n required(v): boolean | string {\n return !!v || this.$i18n.t('error.required').toString();\n },\n\n validate(): boolean {\n const form = this.$refs.form as VForm;\n return form.validate();\n },\n\n submit(): void {\n this.$emit('submit');\n },\n },\n\n components: {\n CorpusSelector,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CorpusForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CorpusForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CorpusForm.vue?vue&type=template&id=04625350&\"\nimport script from \"./CorpusForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./CorpusForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCardText,VCheckbox,VCol,VContainer,VForm,VProgressLinear,VRow,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters, mapActions } from 'vuex';\n\nimport router from '@/router';\nimport { Corpus } from '@/vuex/corpus/corpus';\n\nimport CorpusForm from './CorpusForm.vue';\n\nexport default Vue.extend({\n props: {\n id: {\n type: Number,\n },\n },\n\n created() {\n this.fetchData();\n },\n\n data() {\n return {\n waiting: true,\n valid: true,\n error: null as any,\n\n corpus: null as Corpus | null,\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapState('corpus', ['corporaByID']),\n ...mapGetters('corpus', ['corporaWithParentID']),\n },\n\n watch: {\n id(newValue): void {\n this.fetchData();\n },\n },\n\n methods: {\n ...mapActions('corpus', [\n 'deleteCorpus',\n 'fetchCorpora',\n 'fetchCorpus',\n 'saveCorpus',\n ]),\n\n async fetchData(): Promise {\n if (this.id !== undefined) {\n this.waiting = true;\n await Promise.all([this.fetchCorpora(), this.fetchCorpus(this.id)]);\n this.waiting = false;\n if (this.id !== undefined) {\n this.corpus = Object.assign({}, this.corporaByID[this.id]);\n }\n }\n },\n\n async deleteConfirmed(): Promise {\n try {\n await this.deleteCorpus(this.id);\n if (this.corpus && this.corpus.parentID) {\n router.push({\n name: 'corpusShow',\n params: { id: String(this.corpus.parentID) },\n });\n } else {\n router.push({ name: 'corpusList' });\n }\n } catch (error) {\n this.error = error;\n }\n },\n\n cancelEdit(): void {\n if (this.id !== undefined) {\n router.push({ name: 'corpusShow', params: { id: String(this.id) } });\n } else {\n router.push({ name: 'corpusList' });\n }\n },\n\n async save(): Promise {\n // Client-side validation\n const form = this.$refs.form as Vue & { validate: () => boolean };\n if (!form.validate()) {\n return;\n }\n try {\n await this.saveCorpus(this.corpus);\n router.push({ name: 'corpusShow', params: { id: String(this.id) } });\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n CorpusForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CorpusEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CorpusEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CorpusEdit.vue?vue&type=template&id=17335d30&\"\nimport script from \"./CorpusEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./CorpusEdit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardActions,VContainer,VIcon,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('corpus.plural')))])],1),(_vm.loading)?_c('v-card-text',[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1):_vm._e(),_c('v-list',[(_vm.hasPermission('admin.corpora.create'))?_c('v-list-item',{attrs:{\"to\":{ name: 'corpusNew' }}},[_c('v-list-item-avatar',[_c('v-btn',{attrs:{\"fab\":\"\",\"icon\":\"\",\"small\":\"\"}},[_c('v-icon',[_vm._v(\"add\")])],1)],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('corpus.singular')))])],1)],1):_vm._e(),_vm._l((_vm.corpora),function(corpus,i){return _c('v-list-item',{key:i,class:{ isDeleted: corpus.isNonchargeable },attrs:{\"to\":{ name: 'corpusShow', params: { id: corpus.id } }}},[_c('v-list-item-avatar',[_c('v-icon',[_vm._v(\"folder_open\")])],1),_c('v-list-item-content',{attrs:{\"primary-title\":\"\"}},[_c('v-list-item-title',[_vm._v(_vm._s(corpus.title[_vm.locale]))])],1)],1)})],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapState, mapGetters, mapActions } from 'vuex';\n\nexport default Vue.extend({\n created() {\n this.fetchData();\n },\n data() {\n return {\n loading: false,\n };\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapState('language', ['locale']),\n ...mapGetters('corpus', ['corpora']),\n },\n methods: {\n ...mapActions('corpus', ['fetchCorpora']),\n async fetchData(): Promise {\n this.loading = true;\n await this.fetchCorpora(false);\n this.loading = false;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CorpusList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CorpusList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CorpusList.vue?vue&type=template&id=20bf3d92&\"\nimport script from \"./CorpusList.vue?vue&type=script&lang=ts&\"\nexport * from \"./CorpusList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAvatar } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VContainer,VIcon,VList,VListItem,VListItemAvatar,VListItemContent,VListItemTitle,VProgressLinear,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\"}},[_c('v-toolbar-title',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t('corpus.singular'))+\" \")],1)],1),_c('v-card',[_c('CorpusForm',{ref:\"form\",attrs:{\"corpus\":_vm.corpus,\"error\":_vm.error}}),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\",\"color\":\"error\"},on:{\"click\":function($event){return _vm.cancelAdd()}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.cancel'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"accent\"},on:{\"click\":_vm.save}},[_vm._v(_vm._s(_vm.$t('command.save')))])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _ from 'lodash';\nimport Vue from 'vue';\nimport { TranslatedString } from '@/lib/translated';\n\nimport api from '@/api';\n\nexport interface Corpus {\n id: number;\n title: TranslatedString;\n number: 0;\n parentID: null | number;\n isNonchargeable: boolean;\n}\n\nexport function blankCorpus(): Corpus {\n return {\n id: 0,\n title: {} as TranslatedString,\n number: 0,\n parentID: null,\n isNonchargeable: false,\n };\n}\n\nconst state = {\n loaded: false,\n corporaIDs: [] as number[],\n corporaByID: {} as { [id: number]: Corpus },\n corpusHasChildren: {} as { [id: number]: boolean },\n};\n\nconst getters = {\n corpora(state: any): Corpus[] {\n return _.sortBy(\n state.corporaIDs\n .map((id: number) => state.corporaByID[id])\n .filter((corpus: Corpus) => corpus.parentID == null),\n 'number',\n );\n },\n corporaWithParentID: (state) => (parentID: number | null) => {\n return state.corporaIDs\n .map((id: number) => state.corporaByID[id])\n .filter((corpus: Corpus) => corpus.parentID === parentID);\n },\n corpusHasChildren: (state) => (id: number | null) => {\n if (id === null) {\n return true;\n }\n return state.corpusHasChildren[id];\n },\n corpusWithID: (state) => (id) => {\n return state.corporaByID[id];\n },\n};\n\nconst mutations = {\n setLoaded(state: any, val: boolean) {\n state.loaded = val;\n },\n setCorpus(state: any, corpus: Corpus) {\n if (!state.corporaByID.hasOwnProperty(corpus.id)) {\n state.corporaIDs.push(corpus.id);\n }\n Vue.set(state.corporaByID, corpus.id, corpus);\n if (corpus.parentID !== null) {\n Vue.set(state.corpusHasChildren, corpus.parentID, true);\n }\n },\n removeCorpus(state: any, id: number) {\n const index = state.corporaIDs.indexOf(id);\n if (index !== -1) {\n state.corporaIDs.splice(index, 1);\n }\n Vue.delete(state.corporaByID, id);\n },\n};\n\nconst actions = {\n async fetchCorpora({ commit, state }, force: boolean): Promise {\n if (!force && state.loaded) {\n return Promise.resolve();\n }\n const response = await api.get('/corpusservice/corpora');\n const corpora = response.data.data;\n corpora.forEach((corpus) => {\n commit('setCorpus', corpus);\n });\n commit('setLoaded', true);\n },\n async fetchCorpus({ commit }, id: number): Promise {\n const response = await api.get(`/corpusservice/corpus/${id}`);\n commit('setCorpus', response.data.data);\n },\n async createCorpus({ commit }, corpus): Promise {\n const response = await api.post('/corpusservice/corpora', { data: corpus });\n commit('setCorpus', response.data.data);\n },\n async saveCorpus({ commit }, corpus): Promise {\n try {\n const response = await api.put(`/corpusservice/corpus/${corpus.id}`, {\n data: corpus,\n });\n commit('setCorpus', response.data.data);\n } catch (error) {\n return Promise.reject(error);\n }\n },\n async deleteCorpus({ commit }, id: number): Promise {\n try {\n await api.delete(`/corpusservice/corpus/${id}`);\n commit('removeCorpus', id);\n } catch (error) {\n return Promise.reject(error);\n }\n },\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapActions } from 'vuex';\nimport router from '@/router';\n\nimport CorpusForm from './CorpusForm.vue';\nimport { blankCorpus } from '@/vuex/corpus/corpus';\n\nexport default Vue.extend({\n created() {\n // Set iniital parentID\n if (this.$route.query.parentID) {\n this.corpus.parentID = parseInt(String(this.$route.query.parentID), 10);\n }\n },\n data() {\n return {\n error: null as any,\n corpus: blankCorpus(),\n valid: false,\n };\n },\n methods: {\n ...mapActions('corpus', ['createCorpus']),\n cancelAdd(): void {\n router.back();\n },\n async save(): Promise {\n // Client-side validation\n const form = this.$refs.form as Vue & { validate: () => boolean };\n if (!form.validate()) {\n return;\n }\n try {\n await this.createCorpus(this.corpus);\n router.push({ name: 'corpusList' });\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n CorpusForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CorpusNew.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CorpusNew.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CorpusNew.vue?vue&type=template&id=cd47848c&\"\nimport script from \"./CorpusNew.vue?vue&type=script&lang=ts&\"\nexport * from \"./CorpusNew.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardActions,VContainer,VIcon,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.waiting)?_c('v-container',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbs}}),(_vm.corpus)?_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',{class:{ isDeleted: _vm.corpus.isNonchargeable }},[_vm._v(\" \"+_vm._s(_vm.corpus.title[_vm.locale])+\" \")]),_c('v-spacer'),(_vm.canAdd)?_c('v-btn',{attrs:{\"icon\":\"\",\"to\":{ name: 'corpusEdit', params: { id: _vm.id } }}},[_c('v-icon',[_vm._v(\"edit\")])],1):_vm._e()],1),(_vm.waiting)?_c('v-card-text',[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1):_vm._e(),(_vm.canHaveChildren)?_c('v-list',[(_vm.canAdd)?_c('v-list-item',{attrs:{\"to\":{ name: 'corpusNew', query: { parentID: _vm.id } }}},[_c('v-list-item-avatar',[_c('v-btn',{attrs:{\"fab\":\"\",\"icon\":\"\",\"small\":\"\"}},[_c('v-icon',[_vm._v(\"add\")])],1)],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('corpus.singular')))])],1)],1):_vm._e(),_vm._l((_vm.children),function(child,i){return _c('v-list-item',{key:i,class:{ isDeleted: child.isNonchargeable },attrs:{\"to\":{ name: 'corpusShow', params: { id: child.id } }}},[_c('v-list-item-avatar',[_c('v-icon',[_vm._v(\"folder_open\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(child.title[_vm.locale]))])],1)],1)})],2):_vm._e(),(_vm.canHaveCrimes)?_c('v-list',{attrs:{\"subheader\":\"\"}},[_c('v-subheader',{attrs:{\"offset\":\"\"}},[_vm._v(_vm._s(_vm.$t('crime.plural')))]),(_vm.canAddCrime)?_c('NewCrimeDialog',{attrs:{\"corpusID\":_vm.id},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_c('v-list-item',_vm._g({},slotProps.on),[_c('v-list-item-avatar',[_c('v-btn',{attrs:{\"fab\":\"\",\"small\":\"\",\"icon\":\"\"}},[_c('v-icon',[_vm._v(\"add\")])],1)],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('crime.singular'))+\" \")])],1)],1)]}}],null,false,1490821061)}):_vm._e(),_vm._l((_vm.crimes),function(crime,i){return _c('EditCrimeDialog',{key:i,attrs:{\"id\":crime.id},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-list-item',_vm._g({class:{ isDeleted: crime.isNonchargeable }},_vm.canAddCrime ? on : undefined),[_c('v-list-item-avatar',[_c('v-icon',[_vm._v(\"account_balance\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(crime.article)+\" \"+_vm._s(crime.title[_vm.locale])+\" \")])],1)],1)]}}],null,true)})})],2):_vm._e()],1):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":((_vm.$t('crime.singular')) + \" #\" + _vm.id),\"loading\":_vm.loading,\"max-width\":\"1200\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",null,null,slotProps)]}},(_vm.crime && _vm.legacyCrimes.length < 1)?{key:\"extension\",fn:function(){return [_c('v-spacer'),_c('ConfirmationButton',{attrs:{\"small\":\"\",\"text\":\"\",\"title\":'Delete Crime #' + _vm.id + '?',\"toolbar-color\":\"error\",\"yes-color\":\"error\",\"no-color\":\"accent\",\"yes\":\"Yes, Delete\",\"no\":\"Cancel\"},on:{\"confirm\":function($event){return _vm.deleteCrime()}},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('div',{staticClass:\"text-body-2 my-4\"},[_c('p',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.crime.title[_vm.locale])+\" \")]),_vm._v(\" will no longer exist for both migrated CMS1 cases and cannot be added to CMS2 cases. \")]),_c('p',[_vm._v(\" Instead of deleting this Crime, consider making it Not' Chargeable instead. \")])])]},proxy:true}],null,false,3387051756)},[_c('v-icon',[_vm._v(\"delete\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.delete'))+\" \")],1)]},proxy:true}:null],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('CrimeForm',{model:{value:(_vm.crime),callback:function ($$v) {_vm.crime=$$v},expression:\"crime\"}}),(_vm.legacyCrimes.length)?_c('v-row',{staticClass:\"mx-2 my-6\"},[_c('v-col',{staticClass:\"grey lighten-2\",attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"text-h6\"},[_vm._v(\" \"+_vm._s(_vm.$t('legacyCrime.plural'))+\" ( \"+_vm._s(_vm.legacyCrimes.length)+\" ) \")]),_c('p',[_vm._v(\" The following CMS 1 crimes will be \\\"mapped\\\" to this Crime in data migrations. \")]),_c('v-simple-table',{staticClass:\"my-4\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('legacyCrime.legacyID')))]),_c('th',[_vm._v(_vm._s(_vm.$t('legacyCrime.legacyName')))]),_c('th',[_vm._v(_vm._s(_vm.$t('legacyCrime.legacyLawName')))])])]),_c('tbody',_vm._l((_vm.legacyCrimes),function(lc){return _c('tr',{key:lc.id},[_c('td',[_c('EditLegacyCrimeDialog',{attrs:{\"legacyID\":lc.legacyID},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_c('v-btn',_vm._g({attrs:{\"small\":\"\"}},slotProps.on),[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"fa-edit\")]),_vm._v(\" \"+_vm._s(lc.legacyID)+\" \")],1)]}}],null,true)})],1),_c('td',[_vm._v(_vm._s(_vm.valueForLocale(lc.legacyName)))]),_c('td',[_vm._v(_vm._s(_vm.valueForLocale(lc.legacyLawName)))])])}),0)])],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from 'axios';\n\nimport api, { addAuthInterceptors } from '@/api';\n\nconst crimeAPI = axios.create({\n baseURL: `${api.defaults.baseURL}crimeservice/`,\n});\naddAuthInterceptors(crimeAPI);\nexport default crimeAPI;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.crime)?_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:{ isRTL: l.isRTL },attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t(l.locale) + ' ' + _vm.$t('crime.title'),\"value\":_vm.crime.title[l.locale],\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('title.' + l.locale, $event, 'trim')}}})],1)}),1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('crime.article'),\"value\":_vm.crime.article,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('article', $event, 'number')}}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('IntArrayField',{attrs:{\"label\":_vm.$t('crime.relatedArticles'),\"value\":_vm.crime.relatedArticles},on:{\"input\":function($event){return _vm.update('relatedArticles', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('CorpusSelector',{attrs:{\"value\":_vm.crime.corpusID,\"not-null\":\"\",\"leaf-only\":\"\"},on:{\"input\":function($event){return _vm.update('corpusID', $event)}}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('crime.validSeverities'),\"value\":_vm.crime.validSeverityIDs,\"items\":\"crime/severities\",\"exclude-unknown\":\"\",\"rules\":[function (v) { return !!v.length || _vm.$t('error.required'); }],\"chips\":\"\",\"multiple\":\"\"},on:{\"input\":function($event){return _vm.update('validSeverityIDs', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('crime.validCompletionStatuses'),\"value\":_vm.crime.validCompletionStatusIDs,\"items\":\"crime/completionStatuses\",\"exclude-unknown\":\"\",\"rules\":[function (v) { return !!v.length || _vm.$t('error.required'); }],\"chips\":\"\",\"multiple\":\"\"},on:{\"input\":function($event){return _vm.update('validCompletionStatusIDs', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('crime.validParticipationTypes'),\"value\":_vm.crime.validParticipationTypeIDs,\"items\":\"crime/participationTypes\",\"exclude-unknown\":\"\",\"rules\":[function (v) { return !!v.length || _vm.$t('error.required'); }],\"chips\":\"\",\"multiple\":\"\"},on:{\"input\":function($event){return _vm.update('validParticipationTypeIDs', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('PunishmentTypeSelector',{attrs:{\"label\":_vm.$t('crime.validPunishmentTypes'),\"value\":_vm.crime.validPunishmentTypeIDs,\"rules\":[function (v) { return !!v.length || _vm.$t('error.required'); }],\"exclude-unknown\":\"\",\"chips\":\"\",\"multiple\":\"\"},on:{\"input\":function($event){return _vm.update('validPunishmentTypeIDs', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('crime.triggersConsequentialPunishments'),\"input-value\":_vm.crime.triggersConsequentialPunishments},on:{\"change\":function($event){return _vm.update('triggersConsequentialPunishments', $event)}}})],1),(_vm.canHaveImprisonment)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ImprisonmentDurationsLegend')],1):_vm._e(),(_vm.canHaveImprisonment)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('crime.validImprisonmentDurations'),\"value\":_vm.crime.validImprisonmentDurationIDs,\"items\":\"crime/imprisonmentDurations\",\"rules\":_vm.imprisonmentDurationRules,\"exclude-unknown\":\"\",\"chips\":\"\",\"multiple\":\"\"},on:{\"input\":function($event){return _vm.update('validImprisonmentDurationIDs', $event)}}})],1):_vm._e(),(_vm.canHaveAmount)?_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"3\"}},[_c('AFNCurrencyField',{attrs:{\"label\":_vm.$t('crime.minimumFine'),\"value\":_vm.crime.minimumFineInPuls,\"rules\":[_vm.minFineSmallerThanMaxFine]},on:{\"input\":function($event){return _vm.update('minimumFineInPuls', $event)}}})],1):_vm._e(),(_vm.canHaveAmount)?_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"3\"}},[_c('AFNCurrencyField',{attrs:{\"label\":_vm.$t('crime.maximumFine'),\"value\":_vm.crime.maximumFineInPuls,\"rules\":[_vm.maxFineLargerThanMinFine]},on:{\"input\":function($event){return _vm.update('maximumFineInPuls', $event)}}})],1):_vm._e()],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"text-h6\"},[_vm._v(_vm._s(_vm.$t('crime.text')))])]),_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:{ isRTL: l.isRTL },attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t(l.locale) + ' ' + _vm.$t('crime.text'),\"value\":_vm.crime.text[l.locale],\"rows\":\"8\",\"filled\":\"\"},on:{\"input\":function($event){return _vm.update('text.' + l.locale, $event, 'trim')}}})],1)})],2),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TranslatedStringArrayField',{attrs:{\"label\":_vm.$t('crime.specialAggravators'),\"value\":_vm.crime.aggravators},on:{\"input\":function($event){return _vm.update('aggravators', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TranslatedStringArrayField',{attrs:{\"label\":_vm.$t('crime.specialMitigators'),\"value\":_vm.crime.mitigators},on:{\"input\":function($event){return _vm.update('mitigators', $event)}}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-checkbox',{attrs:{\"label\":_vm.$t('status.reviewed'),\"hide-details\":\"\"},model:{value:(_vm.isReviewed),callback:function ($$v) {_vm.isReviewed=$$v},expression:\"isReviewed\"}}),(_vm.crime.lastReviewedAt)?_c('div',{staticClass:\"text-caption text--disabled\"},[_c('UserInitials',{attrs:{\"id\":_vm.crime.lastReviewedByUserID}}),_vm._v(\" — \"),_c('Date',{attrs:{\"value\":_vm.crime.lastReviewedAt,\"show-time\":\"\"}})],1):_vm._e()],1),_c('v-col',[_c('v-checkbox',{attrs:{\"label\":_vm.$t('status.approved'),\"hide-details\":\"\"},model:{value:(_vm.isApproved),callback:function ($$v) {_vm.isApproved=$$v},expression:\"isApproved\"}}),(_vm.crime.lastApprovedAt)?_c('div',{staticClass:\"text-caption text--disabled\"},[_c('UserInitials',{attrs:{\"id\":_vm.crime.lastApprovedByUserID}}),_vm._v(\" — \"),_c('Date',{attrs:{\"value\":_vm.crime.lastApprovedAt,\"show-time\":\"\"}})],1):_vm._e()],1),_c('v-col',[_c('v-checkbox',{attrs:{\"label\":_vm.$t('giroa') + ' ' + _vm.$t('status.reviewed'),\"hide-details\":\"\"},model:{value:(_vm.isGiroaReview),callback:function ($$v) {_vm.isGiroaReview=$$v},expression:\"isGiroaReview\"}}),(_vm.crime.lastGiroaReviewAt)?_c('div',{staticClass:\"text-caption text--disabled\"},[_c('UserInitials',{attrs:{\"id\":_vm.crime.lastGiroaReviewByUserID}}),_vm._v(\" — \"),_c('Date',{attrs:{\"value\":_vm.crime.lastGiroaReviewAt,\"show-time\":\"\"}})],1):_vm._e()],1),_c('v-col',[_c('v-checkbox',{attrs:{\"label\":_vm.$t('giroa') + ' ' + _vm.$t('status.approved'),\"hide-details\":\"\"},model:{value:(_vm.isGiroaApproved),callback:function ($$v) {_vm.isGiroaApproved=$$v},expression:\"isGiroaApproved\"}}),(_vm.crime.lastGiroaApprovedAt)?_c('div',{staticClass:\"text-caption text--disabled\"},[_c('UserInitials',{attrs:{\"id\":_vm.crime.lastGiroaApprovedByUserID}}),_vm._v(\" — \"),_c('Date',{attrs:{\"value\":_vm.crime.lastGiroaApprovedAt,\"show-time\":\"\"}})],1):_vm._e()],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('crime.isNonchargeable'),\"input-value\":_vm.crime.isNonchargeable,\"hint\":\"Checking this box prevents this crime from being used on new cases.\",\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.update('isNonchargeable', $event)}}})],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _ from 'lodash';\n\nimport crimeAPI from '@/vuex/crime/crimeAPI';\nimport { domainmodelMutations, modelsToState } from '@/lib/vuex-domainmodel';\nimport { LookupTableRow } from '@/vuex/language/language';\nimport { TranslatedString } from '@/lib/translated';\n\nexport const enum CompletionStatusID {\n Unknown = 0,\n Completed = 1,\n Conspiracy = 2,\n Attempt = 3,\n}\n\nexport const enum ParticipationTypeID {\n Unknown = 0,\n PrincipalOffender = 1,\n Accessory = 2,\n Accomplice = 3,\n CriminalOrganizer = 4,\n}\n\nexport const enum CrimeSeverityID {\n Unknown = 0,\n PettyCrime = 1,\n Misdemeanor = 2,\n Felony = 3,\n}\n\nexport interface Crime {\n id: number;\n title: TranslatedString;\n text?: TranslatedString;\n\n article: number;\n relatedArticles: number[];\n corpusID: number;\n\n validSeverityIDs: number[];\n validParticipationTypeIDs: number[];\n validPunishmentTypeIDs: number[];\n validImprisonmentDurationIDs: number[];\n validCompletionStatusIDs: number[];\n triggersConsequentialPunishments: boolean;\n\n minimumFineInPuls?: number;\n maximumFineInPuls?: number;\n\n aggravators: TranslatedString[];\n mitigators: TranslatedString[];\n\n legacyCrimeTypeIDs: number[];\n\n lastReviewedAt: string;\n lastReviewedByUserID?: number;\n lastApprovedAt: string;\n lastApprovedByUserID?: number;\n\n lastGiroaReviewAt: string;\n lastGiroaReviewByUserID?: number;\n lastGiroaApprovedAt: string;\n lastGiroaApprovedByUserID?: number;\n\n isNonchargeable: boolean;\n}\n\nexport interface CrimeGroup {\n id: number;\n name: TranslatedString;\n crimeIDs: number[];\n}\n\nexport interface LegacyCrime {\n legacyID: number;\n legacyName: TranslatedString[];\n legacyLawID: number;\n legacyLawName: TranslatedString[];\n legacyCategoryID: number;\n legacyCategoryName: TranslatedString[];\n crimeID: number;\n participationTypeID: number;\n completionStatusID: number;\n severityID: number;\n generalAggravatorIDs: number[];\n generalMitigatorIDs: number[];\n lastReviewedAt: string;\n lastReviewedByUserID: number;\n lastApprovedAt: string;\n lastApprovedByUserID: number;\n lastGiroaReviewAt: string;\n lastGiroaReviewByUserID: number;\n lastGiroaApprovedAt: string;\n lastGiroaApprovedByUserID: number;\n}\n\nexport interface CompletionStatus {\n id: number;\n rank: number;\n name: TranslatedString;\n isInchoate: boolean;\n}\n\nexport interface PunishmentType {\n id: number;\n categoryID: number;\n name: TranslatedString;\n isComplementary: boolean;\n isConsequential: boolean;\n isSafetyMeasure: boolean;\n isATI: boolean;\n isImprisonment: boolean;\n isCashFine: boolean;\n canHaveAmount: boolean;\n requiresAmount: boolean;\n canHaveDuration: boolean;\n requiresDuration: boolean;\n requiresNotes: boolean;\n canReferenceSubjectProperty: boolean;\n trackFulfillment: boolean;\n rank: number;\n\n // Pseudo (non-database) attributes\n isValid?: boolean;\n}\n\nexport interface ImprisonmentDuration {\n id: number;\n rank: number;\n name: TranslatedString;\n minimumHours: number;\n maximumHours: number;\n}\n\nconst state = {\n crimesLoaded: false,\n crimeIDs: [] as number[],\n crime: {} as { [id: number]: Crime },\n\n crimeGroupsLoaded: false,\n crimeGroupIDs: [] as number[],\n crimeGroup: {} as { [id: number]: CrimeGroup },\n\n legacyCrimesLoaded: false,\n legacyCrimeLegacyIDs: [],\n legacyCrime: {} as { [legacyID: number]: LegacyCrime },\n\n optionsLoaded: false,\n completionStatuses: [] as CompletionStatus[],\n consequentialPunishments: [] as LookupTableRow[],\n imprisonmentDurations: [] as ImprisonmentDuration[],\n participationTypes: [] as LookupTableRow[],\n punishmentTypes: [] as PunishmentType[],\n punishmentTypeCategories: [] as LookupTableRow[],\n severities: [] as LookupTableRow[],\n};\n\nconst getters = {\n /**\n * allCrimes retrieves the entire list of Crimes which have beeen fetched\n * from the server.\n */\n allCrimes(state): Crime[] {\n return state.crimeIDs.map((id) => state.crime[id]);\n },\n\n /**\n * crimeWithID returns a Crime entity from the Vuex store based on its id.\n */\n crimeWithID:\n (state) =>\n (id): Crime => {\n return state.crime[id] as Crime;\n },\n\n /**\n * crimesWithCorpusID retrieves all Crime entities from the Vuex store which\n * have the provided CorpusID.\n */\n crimesWithCorpusID:\n (state) =>\n (corpusID: number): Crime[] => {\n return state.crimeIDs\n .map((id) => state.crime[id])\n .filter((crime: Crime) => crime.corpusID === corpusID);\n },\n\n /**\n * allCrimeGroups returns all CrimeGroup entities which exist in the Vuex\n * store.\n */\n allCrimeGroups(statex): CrimeGroup[] {\n return _.map(state.crimeGroupIDs, (id: number) => state.crimeGroup[id]);\n },\n\n /**\n * crimeGroupWithID retrieves a single CrimeGroup from the Vuex store by\n * its id.\n */\n crimeGroupWithID:\n (state) =>\n (id: number): CrimeGroup | null => {\n return state.crimeGroup[id] || null;\n },\n\n /**\n * allLegacyCrimes retrieves the entire list of LegacyCrime entities that\n * exist in the Vuex store.\n */\n allLegacyCrimes(state): LegacyCrime[] {\n return state.legacyCrimeLegacyIDs.map(\n (legacyID) => state.legacyCrime[legacyID],\n );\n },\n\n /**\n * legacyCrimeWithLegacyID retrieves a single LegacyCrime entity from the Vuex\n * store by its legacyID.\n */\n legacyCrimeWithLegacyID:\n (state) =>\n (legacyID): LegacyCrime => {\n return state.legacyCrime[legacyID] as LegacyCrime;\n },\n\n /**\n * legacyCromesWithCrimeID retrieves all LegacyCrime entities which map to the\n * CMS 2 Crime with the provided id.\n */\n legacyCrimesWithCrimeID:\n (state, getters) =>\n (crimeID: number): LegacyCrime[] => {\n return getters.allLegacyCrimes.filter((lc: LegacyCrime) => {\n return lc.crimeID === crimeID;\n });\n },\n\n /**\n * punishmentTypeWithID retrieves the PunishmentType entity with the provided\n * id.\n */\n punishmentTypeWithID:\n (state) =>\n (id: number): PunishmentType => {\n return _.find(state.punishmentTypes, (pt) => pt.id === id);\n },\n\n /**\n * punishmentTypeCategoryWithID retrieves the punishment type category with\n * the provided id.\n */\n punishmentTypeCategoryWithID:\n (state) =>\n (id: number): LookupTableRow => {\n return _.find(state.punishmentTypeCategories, (c) => c.id === id);\n },\n\n /**\n * imprisonmentDurationWithID retrieves the ImprisonmentDuration entity with\n * the provided id.\n */\n imprisonmentDurationWithID:\n (state) =>\n (id): ImprisonmentDuration => {\n return _.find(state.imprisonmentDurations, (d) => d.id === id);\n },\n};\n\nconst mutations = {\n ...domainmodelMutations,\n\n /**\n * setCrimesLoaded sets the tracking variable to indicate whether the crime\n * list has already been fetched.\n */\n setCrimesLoaded(state, val: boolean) {\n state.crimesLoaded = val;\n },\n\n /**\n * setCrimeGroupsLoaded sets the tracking variable to indicate whether the\n * list of crime groups has already been fetched.\n */\n setCrimeGroupsLoaded(state, val: boolean) {\n state.crimeGroupsLoaded = val;\n },\n\n /**\n * setLegacyCrimesLoaded sets the tracking variable to indicate whether the\n * legacy crime list has already been fetched.\n */\n setLegacyCrimesLoaded(state, val: boolean) {\n state.legacyCrimesLoaded = val;\n },\n\n /**\n * setOptionsLoaded sets the tracking variable to indicate whether the\n * options list has already been fetched.\n */\n setOptionsLoaded(state, val: boolean) {\n state.optionsLoaded = val;\n },\n};\n\nconst actions = {\n /**\n * fetchOptions retrieves all dropdown options for crime-related data.\n *\n * This function returns immediately if the options have already been\n * fetched.\n */\n async fetchOptions(\n { commit, state },\n payload = {} as { force: boolean },\n ): Promise {\n if (state.optionsLoaded && !payload.force) {\n return Promise.resolve(true);\n }\n const response = await crimeAPI.get('/options');\n if (response.data && response.data.data) {\n const newState = response.data.data;\n // Set each option array in the state. This will throw\n // an error if the server sends any top-level\n // properties which are not initialized to their\n // initial state (typically an empty array) above in\n // the state definition.\n commit('setState', newState);\n commit('setOptionsLoaded', true);\n return Promise.resolve(true);\n }\n\n // We reach here only in case of failed response\n return Promise.reject();\n },\n\n /**\n * fetchCrimes retrieves all crime types, but OMITS the .text, .aggravators\n * and .mitigators fields to save space. The EditCrime screen calls\n * fetchCrime to get those fields loaded before editing.\n *\n * By default, this function returns immediately if the crimes have\n * already been fetched. That can be overridden by setting force = true.\n */\n async fetchCrimes({ commit, state }, force: boolean): Promise {\n if (!force && state.crimesLoaded) {\n return Promise.resolve();\n }\n const response = await crimeAPI.get(`/crimes`);\n const crimes = response.data.data;\n const newState = modelsToState('crime', crimes);\n commit('setState', newState);\n commit('setTarget', {\n target: 'crimeIDs',\n value: _.map(crimes, 'id'),\n });\n commit('setCrimesLoaded', true);\n },\n\n /**\n * fetchCrime force updates the Vuex state for a single Crime with the\n * current server state of the data for that Crime. Calling this is\n * necessary to get the .text, .aggravators and .mitigators fields\n * because fetchCrimes omits those to save space on startup.\n */\n async fetchCrime({ commit }, id: number): Promise {\n const response = await crimeAPI.get(`/crimes/${id}`);\n const newState = modelsToState('crime', response.data.data);\n commit('setState', newState);\n },\n\n /**\n * fetchLegacyCrimes retrieves all legacy crime types.\n * By default, this function returns immediately if the legacy crimes have\n * already been fetched. That can be overridden by setting force = true.\n */\n async fetchLegacyCrimes({ commit, state }, force: boolean): Promise {\n if (!force && state.crimesLoaded) {\n return Promise.resolve();\n }\n const response = await crimeAPI.get(`/legacy-crimes`);\n const legacyCrimes = response.data.data;\n const newState = modelsToState('legacyCrime', legacyCrimes, 'legacyID');\n commit('setState', newState);\n commit('setTarget', {\n target: 'legacyCrimeLegacyIDs',\n value: _.map(legacyCrimes, 'legacyID'),\n });\n commit('setLegacyCrimesLoaded', true);\n },\n\n /**\n * fetchLegacyCrime force-updates the Vuex state for a single legacyCrime\n */\n async fetchLegacyCrime({ commit }, legacyID: number): Promise {\n const response = await crimeAPI.get(`/legacy-crimes/${legacyID}`);\n const lcs = _.get(response, 'data.data', []);\n const newState = modelsToState('legacyCrime', lcs, 'legacyID');\n commit('setState', newState);\n },\n\n /**\n * fetchLegacyCrimesMappedTo force-updates the Vuex state for each LegacyCrime\n * which points to the CMS 2 crime referenced in the argument.\n */\n async fetchLegacyCrimesMappedTo({ commit }, crimeID: number): Promise {\n const response = await crimeAPI.get(`/crimes/${crimeID}/legacy-crimes`);\n if (response.data && response.data.data) {\n const legacyCrimes = response.data.data;\n const newState = modelsToState('legacyCrime', legacyCrimes, 'legacyID');\n commit('setState', newState);\n commit('setTarget', {\n target: 'legacyCrimeLegacyIDs',\n value: _.map(legacyCrimes, 'legacyID'),\n });\n }\n },\n\n /**\n * fetchCrimeGroups fetches all CrimeGroup entities from the server and\n * stores them in the Vuex state.\n */\n async fetchCrimeGroups(\n { commit, state },\n payload = {} as { force: boolean },\n ): Promise {\n if (!payload.force && state.crimeGroupsLoaded) {\n return Promise.resolve();\n }\n // Fetch all crimeGroups from the API\n const response = await crimeAPI.get('/crime-groups');\n const crimeGroups = _.get(response, 'data.data', []);\n const newState = modelsToState('crimeGroup', crimeGroups);\n\n commit('setState', newState);\n commit('setTarget', {\n target: 'crimeGroupIDs',\n value: _.map(crimeGroups, 'id'),\n });\n commit('setCrimeGroupsLoaded', true);\n },\n\n /**\n * fetchCrimeGroup fetches a single CrimeGroup entity from the server and\n * force-updates its corresponding record in the Vuex store.\n */\n async fetchCrimeGroup({ commit }, id: number) {\n const response = await crimeAPI.get(`/crime-groups/${id}`);\n const crimeGroup = response.data.data;\n\n const newState = modelsToState('crimeGroup', crimeGroup);\n commit('setState', newState);\n commit('setTarget', {\n target: 'crimeGroup',\n index: crimeGroup.id,\n value: crimeGroup,\n });\n },\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"value\":_vm.value,\"label\":_vm.label ||\n (this.multiple\n ? _vm.$t('punishmentType.plural')\n : _vm.$t('punishmentType.singular')),\"items\":_vm.punishmentTypeChoices,\"rules\":_vm.rules,\"chips\":_vm.chips,\"multiple\":_vm.multiple,\"disabled\":_vm.disabled},on:{\"input\":function($event){return _vm.$emit('input', $event)}},scopedSlots:_vm._u([(this.validTypeIDs)?{key:\"item\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{class:{\n AllowedPunishmentType: _vm.isValidTypeID(item.value),\n WarningPunishmentType: !_vm.isValidTypeID(item.value),\n }},[_vm._v(\" \"+_vm._s(item.text)+\" \")])]}}:null],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport { PunishmentType } from '@/vuex/crime/crime';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nexport default Vue.extend({\n props: {\n value: [Array, Number],\n items: Array,\n rules: Array,\n chips: Boolean,\n multiple: Boolean,\n label: String,\n validTypeIDs: Array,\n excludeUnknown: Boolean,\n disabled: Boolean,\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapState('crime', ['punishmentTypes', 'punishmentTypeCategories']),\n punishmentTypeChoices(): VSelectItem[] {\n let types = (\n this.items ? this.items : this.punishmentTypes\n ) as PunishmentType[];\n\n if (this.excludeUnknown) {\n types = types.filter((v) => v.id !== 0);\n }\n\n const groupedTypes = _.groupBy(types, 'categoryID');\n\n const choices = [] as VSelectItem[];\n for (const cat of this.punishmentTypeCategories) {\n const catTypes = groupedTypes[cat.id];\n\n if (catTypes && catTypes.length > 0) {\n // Add a Divider Title for this Category\n choices.push({ header: cat.name[this.locale] });\n choices.push({ divider: true });\n\n // Add the punishment type choices from this category\n choices.push(\n ...catTypes.map((pt: PunishmentType) => ({\n text: pt.name[this.locale],\n value: pt.id,\n })),\n );\n }\n }\n return choices;\n },\n },\n methods: {\n isValidTypeID(id: number): boolean {\n return _.includes(this.validTypeIDs || [], id);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PunishmentTypeSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PunishmentTypeSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PunishmentTypeSelector.vue?vue&type=template&id=1b3f78f0&\"\nimport script from \"./PunishmentTypeSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./PunishmentTypeSelector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PunishmentTypeSelector.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.id)?_c('span',[(_vm.waiting)?_c('v-progress-linear',{staticClass:\"my-2\",attrs:{\"indeterminate\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.userInitials)+\" \")],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { User } from '@/vuex/user/user';\nimport { TUnknown } from '@/lib/translated';\n\nexport default Vue.extend({\n props: {\n id: {\n type: Number,\n },\n },\n created(): void {\n if (this.id) {\n this.fetchData();\n }\n },\n data() {\n return {\n waiting: false,\n };\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('user', ['userWithID']),\n\n user(): User {\n return this.userWithID(this.id);\n },\n\n userInitials(): string {\n if (this.user) {\n return `${this.user.initials}`;\n } else {\n return (TUnknown[this.locale] || 'Unknown User') + ` #${this.id}`;\n }\n },\n },\n watch: {\n id(newID) {\n // This allows this component to be used unconditionally. When id isn't\n // present - either because the crime isn't reviewed or the checkbox is currently\n // UNchecked - the component will render nothing and any previous local data\n // will be wiped.\n if (newID) {\n if (!this.userWithID(newID)) {\n this.fetchData();\n }\n }\n },\n },\n methods: {\n async fetchData(): Promise {\n this.waiting = true;\n try {\n await this.$store.dispatch('user/fetchUser', { id: this.id });\n } finally {\n this.waiting = false;\n }\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserInitials.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserInitials.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserInitials.vue?vue&type=template&id=0f39ef3d&\"\nimport script from \"./UserInitials.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserInitials.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VProgressLinear})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\nimport moment from 'moment';\nimport { mapState, mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport {\n CompletionStatusID,\n Crime,\n ParticipationTypeID,\n PunishmentType,\n} from '@/vuex/crime/crime';\nimport { blankTranslatedString } from '@/lib/translated';\n\nimport CorpusSelector from '@/components/corpus/CorpusSelector.vue';\nimport PunishmentTypeSelector from '@/components/crime/punishmentType/PunishmentTypeSelector.vue';\nimport UserInitials from '@/components/user/UserInitials.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n defaultCorpusID: Number,\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['align', 'languages', 'valueForLocale']),\n ...mapState('crime', ['punishmentTypes']),\n ...mapState('auth', ['user']),\n\n /**\n * crime computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n crime(): Crime {\n const defaultCorpusID = !!this.defaultCorpusID ? this.defaultCorpusID : 0;\n return this.value\n ? this.value\n : {\n id: 0,\n title: blankTranslatedString(),\n text: blankTranslatedString(),\n corpusID: defaultCorpusID,\n article: 0,\n relatedArticles: [],\n validSeverityIDs: [],\n validParticipationTypeIDs: [ParticipationTypeID.PrincipalOffender],\n validPunishmentTypeIDs: [],\n triggersConsequentialPunishments: false,\n validImprisonmentDurationIDs: [],\n validCompletionStatusIDs: [CompletionStatusID.Completed],\n aggravators: [],\n mitigators: [],\n lastReviewedAt: null,\n lastReviewedByUserID: 0,\n lastApprovedAt: null,\n lastApprovedByUserID: 0,\n lastGiroaReviewAt: null,\n lastGiroaReviewByUserID: 0,\n lastGiroaApprovedAt: null,\n lastGiroaApprovedByUserID: 0,\n isNonchargeable: false,\n };\n },\n\n /**\n * selectedPunishmentTypes computes the array of PunishmentType objects\n * based on the list of selected (a.k.a \"valid\") punishmentTypeIDs.\n */\n selectedPunishmentTypes(): PunishmentType[] {\n const types = this.punishmentTypes as PunishmentType[];\n const myValidIDs = this.crime.validPunishmentTypeIDs;\n return types.filter((t) => _.includes(myValidIDs, t.id));\n },\n\n /**\n * canHaveAmount returns true if any of the selected Punishment Types\n * can have amounts like a Cash Fine would.\n */\n canHaveAmount(): boolean {\n const selected = this.selectedPunishmentTypes as PunishmentType[];\n return _.some(selected, 'canHaveAmount');\n },\n\n /**\n * canHaveImprisonment returns true if any of the selected Punishment Types\n * can have an imprisonment duration like Imprisonment and Juvenile\n * Confinement do.\n */\n canHaveImprisonment(): boolean {\n const selected = this.selectedPunishmentTypes as PunishmentType[];\n return _.some(selected, 'isImprisonment');\n },\n\n /**\n * imprisonmentDurationRules is the rules attribute for the imrprisonment\n * duration dropdown. It requires at least one choice only when Imprisonment\n * has been selected as a valid punishment type.\n */\n imprisonmentDurationRules(): any[] {\n return [\n (v) => {\n if (!this.canHaveImprisonment) {\n return true;\n }\n return v.length > 0 || i18n.t('error.required');\n },\n ];\n },\n\n /**\n * Review and Approval Tracking\n *\n * Each of these fields uses a settable getter to control both the\n * -ByUserID and -At timestamp parts of the tracking\n */\n isApproved: {\n get(): boolean {\n return !!this.crime.lastApprovedByUserID;\n },\n set(value: boolean): void {\n this.updateReviewCheckbox('lastApproved', value);\n },\n },\n\n isReviewed: {\n get(): boolean {\n return !!this.crime.lastReviewedByUserID;\n },\n set(value: boolean): void {\n this.updateReviewCheckbox('lastReviewed', value);\n },\n },\n\n isGiroaReview: {\n get(): boolean {\n return !!this.crime.lastGiroaReviewByUserID;\n },\n set(value: boolean): void {\n this.updateReviewCheckbox('lastGiroaReview', value);\n },\n },\n\n isGiroaApproved: {\n get(): boolean {\n return !!this.crime.lastGiroaApprovedByUserID;\n },\n set(value: boolean): void {\n this.updateReviewCheckbox('lastGiroaApproved', value);\n },\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n if (modifier === 'number') {\n let quant = parseInt(value, 10);\n // Force non-numeric input to a number so that the form\n // ignores it (this will show '0' if you type 'a').\n if (Number.isNaN(quant)) {\n quant = 0;\n }\n modifiedValue = quant;\n }\n\n const newCrime = tap(cloneDeep(this.crime), (v) =>\n set(v, key, modifiedValue),\n );\n this.$emit('input', newCrime);\n },\n\n /**\n * updateReviewCheckbox is a special handler for the review checkboxes.\n * It applies a individual field edits to the -UserID and -At timestamps,\n * and emits the input event with the resulting Crime object.\n */\n updateReviewCheckbox(prefix: string, newVal: boolean): void {\n const newCrime = cloneDeep(this.crime);\n if (newVal) {\n newCrime[prefix + 'ByUserID'] = this.user.id;\n newCrime[prefix + 'At'] = moment().format();\n } else {\n newCrime[prefix + 'ByUserID'] = 0;\n newCrime[prefix + 'At'] = null;\n }\n this.$emit('input', newCrime);\n },\n\n minFineSmallerThanMaxFine(v): boolean | string {\n // Don't use value of v because it hasn't been\n // translated to Afghani\n const minFine = this.crime.minimumFineInPuls;\n const maxFine = this.crime.maximumFineInPuls;\n if (minFine && maxFine && minFine > maxFine) {\n return '> ' + i18n.t('crime.maximumFine').toString();\n }\n return true;\n },\n\n maxFineLargerThanMinFine(v): boolean | string {\n // Don't use value of v because it hasn't been\n // translated to Afghani\n const minFine = this.crime.minimumFineInPuls;\n const maxFine = this.crime.maximumFineInPuls;\n if (minFine && maxFine && maxFine < minFine) {\n return '< ' + i18n.t('crime.minimumFine').toString();\n }\n return true;\n },\n },\n\n components: {\n CorpusSelector,\n PunishmentTypeSelector,\n UserInitials,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeForm.vue?vue&type=template&id=ed4aa03a&\"\nimport script from \"./CrimeForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCheckbox,VCol,VRow,VTextField,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('legacyCrime.singular') + ' #' + _vm.legacyID,\"loading\":_vm.loading,\"max-width\":\"1000\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",null,null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('LegacyCrimeForm',{model:{value:(_vm.legacyCrime),callback:function ($$v) {_vm.legacyCrime=$$v},expression:\"legacyCrime\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('legacyCrime.legacyName'),\"value\":_vm.legacyCrime.legacyName[_vm.locale],\"disabled\":\"\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('legacyCrime.legacyLawName'),\"value\":_vm.legacyCrime.legacyLawName[_vm.locale],\"disabled\":\"\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('legacyCrime.legacyCategoryName'),\"value\":_vm.legacyCrime.legacyCategoryName[_vm.locale],\"disabled\":\"\"}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CrimeSelector',{attrs:{\"label\":_vm.$t('legacyCrime.crime'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.legacyCrime.crimeID),callback:function ($$v) {_vm.$set(_vm.legacyCrime, \"crimeID\", $$v)},expression:\"legacyCrime.crimeID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('charge.participationType'),\"value\":_vm.legacyCrime.participationTypeID,\"items\":\"crime/participationTypes\",\"allowed-ids\":_vm.crime.allowedParticipationTypeIDs,\"exclude-unknown\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('participationTypeID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('charge.completionStatus'),\"value\":_vm.legacyCrime.completionStatusID,\"items\":\"crime/completionStatuses\",\"allowed-ids\":_vm.crime.validCompletionStatusIDs,\"exclude-unknown\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('completionStatusID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('charge.severity'),\"value\":_vm.legacyCrime.severityID,\"items\":\"crime/severities\",\"allowed-ids\":_vm.crime.validSeverityIDs},on:{\"input\":function($event){return _vm.update('severityID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('crime.aggravators'),\"items\":\"court/generalAggravators\",\"multiple\":\"\"},model:{value:(_vm.legacyCrime.generalMitigatorIDs),callback:function ($$v) {_vm.$set(_vm.legacyCrime, \"generalMitigatorIDs\", $$v)},expression:\"legacyCrime.generalMitigatorIDs\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('crime.mitigators'),\"value\":_vm.legacyCrime.generalMitigatorIDs,\"items\":\"court/generalMitigators\",\"multiple\":\"\"},on:{\"input\":function($event){return _vm.update('generalMitigatorIDs', $event)}}})],1)],1),(_vm.crime && _vm.crime.text)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('crime.article'))+\" \")]),_c('div',{staticClass:\"text-h2\"},[_vm._v(\" \"+_vm._s(_vm.crime.article)+\" \")])]),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"9\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(_vm._s(_vm.$t('crime.text')))]),_c('div',{staticClass:\"text-caption\"},[_vm._v(\" \"+_vm._s(_vm.crime.text[_vm.locale])+\" \")]),(true || _vm.crime.relatedArticles.length)?_c('div',{staticClass:\"text-overline mt-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('crime.relatedArticles'))+\" \")]):_vm._e(),(\n true || (_vm.crime.relatedArticles && _vm.crime.relatedArticles.length)\n )?_c('div',[_c('div',{staticClass:\"text-body-2\"},[_vm._v(\" \"+_vm._s([].concat( _vm.crime.relatedArticles ).join(', '))+\" \")])]):_vm._e()])],1):_vm._e()],1),_c('v-col',[_c('v-checkbox',{attrs:{\"label\":_vm.$t('status.reviewed'),\"input-value\":!!_vm.legacyCrime.lastReviewedByUserID,\"hide-details\":\"\"},on:{\"change\":function($event){return _vm.updateReviewCheckbox('lastReviewed', $event)}}}),(_vm.legacyCrime.lastReviewedAt)?_c('div',{staticClass:\"text-caption text--disabled\"},[_c('UserInitials',{attrs:{\"id\":_vm.legacyCrime.lastReviewedByUserID}}),_vm._v(\" — \"),_c('Date',{attrs:{\"value\":_vm.legacyCrime.lastReviewedAt,\"show-time\":\"\"}})],1):_vm._e()],1),_c('v-col',[_c('v-checkbox',{attrs:{\"label\":_vm.$t('status.approved'),\"input-value\":!!_vm.legacyCrime.lastApprovedByUserID,\"hide-details\":\"\"},on:{\"change\":function($event){return _vm.updateReviewCheckbox('lastApproved', $event)}}}),(_vm.legacyCrime.lastApprovedAt)?_c('div',{staticClass:\"text-caption text--disabled\"},[_c('UserInitials',{attrs:{\"id\":_vm.legacyCrime.lastApprovedByUserID}}),_vm._v(\" — \"),_c('Date',{attrs:{\"value\":_vm.legacyCrime.lastApprovedAt,\"show-time\":\"\"}})],1):_vm._e()],1),_c('v-col',[_c('v-checkbox',{attrs:{\"label\":_vm.$t('giroa') + ' ' + _vm.$t('status.reviewed'),\"input-value\":!!_vm.legacyCrime.lastGiroaReviewByUserID,\"hide-details\":\"\"},on:{\"change\":function($event){return _vm.updateReviewCheckbox('lastGiroaReview', $event)}}}),(_vm.legacyCrime.lastGiroaReviewAt)?_c('div',{staticClass:\"text-caption text--disabled\"},[_c('UserInitials',{attrs:{\"id\":_vm.legacyCrime.lastGiroaReviewByUserID}}),_vm._v(\" — \"),_c('Date',{attrs:{\"value\":_vm.legacyCrime.lastGiroaReviewAt,\"show-time\":\"\"}})],1):_vm._e()],1),_c('v-col',[_c('v-checkbox',{attrs:{\"label\":_vm.$t('giroa') + ' ' + _vm.$t('status.approved'),\"input-value\":!!_vm.legacyCrime.lastGiroaApprovedByUserID,\"hide-details\":\"\"},on:{\"change\":function($event){return _vm.updateReviewCheckbox('lastGiroaApproved', $event)}}}),(_vm.legacyCrime.lastGiroaApprovedAt)?_c('div',{staticClass:\"text-caption text--disabled\"},[_c('UserInitials',{attrs:{\"id\":_vm.legacyCrime.lastGiroaApprovedByUserID}}),_vm._v(\" — \"),_c('Date',{attrs:{\"value\":_vm.legacyCrime.lastGiroaApprovedAt,\"show-time\":\"\"}})],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\nimport moment from 'moment';\nimport { mapState, mapGetters } from 'vuex';\n\nimport { Crime, LegacyCrime } from '@/vuex/crime/crime';\nimport CrimeSelector from '@/components/crime/CrimeSelector.vue';\nimport UserInitials from '@/components/user/UserInitials.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n data() {\n return {\n valid: false,\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['languages']),\n ...mapGetters('crime', ['crimeWithID']),\n ...mapState('court', ['generalAggravators', 'generalMitigators']),\n ...mapState('crime', [\n 'completionStatuses',\n 'participationTypes',\n 'severities',\n ]),\n ...mapState('auth', ['user']),\n\n /**\n * legacyCrime computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n legacyCrime(): LegacyCrime {\n return this.value\n ? this.value\n : {\n legacyID: 0,\n legacyName: {},\n legacyLawID: 0,\n legacyLawName: {},\n legacyCategoryID: 0,\n legacyCategoryName: {},\n crimeID: 0,\n participationTypeID: 0,\n completionStatusID: 0,\n severityID: 0,\n generalAggravatorIDs: [],\n generalMitigatorIDs: [],\n lastReviewedAt: null,\n lastReviewedByUserID: 0,\n lastApprovedAt: null,\n lastApprovedByUserID: 0,\n lastGiroaReviewAt: null,\n lastGiroaReviewByUserID: 0,\n lastGiroaApprovedAt: null,\n lastGiroaApprovedByUserID: 0,\n };\n },\n\n crimeID(): number {\n if (this.legacyCrime && this.legacyCrime.crimeID) {\n return this.legacyCrime.crimeID;\n }\n return 0;\n },\n\n /**\n * crime provides convenient access to the Crime entity (CMS2 Crime) to\n * which this legacy crime is currently pointed.\n */\n crime(): Crime {\n return this.crimeWithID(this.legacyCrime.crimeID);\n },\n },\n\n watch: {\n crimeID: {\n immediate: true,\n handler(newID: number) {\n if (newID) {\n // Get the text and other details.\n this.$store.dispatch('crime/fetchCrime', newID);\n }\n },\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any): void {\n this.$emit(\n 'input',\n tap(cloneDeep(this.legacyCrime), (v) => set(v, key, value)),\n );\n },\n\n updateReviewCheckbox(prefix: string, value: boolean): void {\n const dateKey = `${prefix}At`;\n const userKey = `${prefix}ByUserID`;\n const newLegacyCrime: LegacyCrime = cloneDeep(this.legacyCrime);\n if (value) {\n newLegacyCrime[dateKey] = moment().format();\n newLegacyCrime[userKey] = this.user.id;\n } else {\n newLegacyCrime[dateKey] = null;\n newLegacyCrime[userKey] = 0;\n }\n this.$emit('input', newLegacyCrime);\n },\n },\n\n components: {\n CrimeSelector,\n UserInitials,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyCrimeForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyCrimeForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LegacyCrimeForm.vue?vue&type=template&id=67badfaa&\"\nimport script from \"./LegacyCrimeForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./LegacyCrimeForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCheckbox,VCol,VRow,VTextField,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport crimeAPI from '@/vuex/crime/crimeAPI';\nimport { LegacyCrime } from '@/vuex/crime/crime';\n\nimport LegacyCrimeForm from '@/components/crime/legacyCrime/LegacyCrimeForm.vue';\n\nexport default Vue.extend({\n props: {\n legacyID: {\n type: Number,\n required: true,\n },\n },\n data() {\n return {\n isOpen: false,\n loading: false,\n error: null as any,\n\n legacyCrime: null as LegacyCrime | null,\n };\n },\n computed: {\n ...mapGetters('crime', ['legacyCrimeWithLegacyID']),\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.fetchData();\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.legacyCrime) {\n return;\n }\n this.error = null;\n\n try {\n // API Call and Response\n const data = Object.assign({}, this.legacyCrime);\n const response = await crimeAPI.post('legacy-crimes/update', { data });\n const newState = response.data.data;\n this.$store.commit('crime/setState', newState);\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n\n /**\n * fetchData fetches the entire judge object from the server to make sure\n * we have current info before editing a Judge.\n */\n async fetchData(): Promise {\n this.loading = true;\n const crime = this.legacyCrimeWithLegacyID(this.legacyID);\n const myCopy = Object.assign({}, crime);\n this.legacyCrime = myCopy;\n this.loading = false;\n },\n },\n components: {\n LegacyCrimeForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditLegacyCrimeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditLegacyCrimeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditLegacyCrimeDialog.vue?vue&type=template&id=2e0a0aed&\"\nimport script from \"./EditLegacyCrimeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditLegacyCrimeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport crimeAPI from '@/vuex/crime/crimeAPI';\nimport { Crime, LegacyCrime } from '@/vuex/crime/crime';\n\nimport CrimeForm from '@/components/crime/crime/CrimeForm.vue';\nimport EditLegacyCrimeDialog from '@/components/crime/legacyCrime/EditLegacyCrimeDialog.vue';\n\nexport default Vue.extend({\n props: {\n id: {\n type: Number,\n required: true,\n },\n },\n\n data() {\n return {\n isOpen: false,\n loading: false,\n error: null as any,\n\n crime: null as Crime | null,\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['valueForLocale']),\n ...mapGetters('crime', ['crimeWithID']),\n ...mapGetters('crime', ['legacyCrimesWithCrimeID']),\n\n /**\n * legacyCrimes computes the array of LegacyCrime objects which have\n * this Crime mapped as their destination.\n */\n legacyCrimes(): LegacyCrime[] | [] {\n if (this.crime) {\n return this.legacyCrimesWithCrimeID(this.crime.id);\n } else {\n return [];\n }\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.fetchData();\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.crime) {\n return;\n }\n\n try {\n const res = await crimeAPI.post('/crimes/update', { data: this.crime });\n const newState = _.get(res, 'data.data', {});\n this.$store.commit('crime/setState', newState);\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n\n /**\n * deleteCrime is called after the user *confirms* they want to delete this\n * crime. This method triggers the actual deletion of the data from the\n * database.\n */\n async deleteCrime(): Promise {\n try {\n await crimeAPI.post('/crimes/delete', { data: { crimeID: this.id } });\n this.$store.commit('crime/removeFromTarget', {\n target: 'crimeIDs',\n value: this.id,\n });\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n\n async fetchData(): Promise {\n this.loading = true;\n\n // Ensure we have the latest data in Vuex\n try {\n await this.$store.dispatch('crime/fetchCrime', this.id);\n await this.$store.dispatch('crime/fetchLegacyCrimesMappedTo', this.id);\n // Get a local copy so that edits aren't persisted in Vuex until the\n // user actually hits Save\n const localCopy: Crime = _.cloneDeep(this.crimeWithID(this.id));\n this.crime = localCopy;\n this.loading = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n CrimeForm,\n EditLegacyCrimeDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCrimeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCrimeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditCrimeDialog.vue?vue&type=template&id=7ceca91c&\"\nimport script from \"./EditCrimeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditCrimeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSimpleTable,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('crime.singular'),\"max-width\":\"1200\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",null,null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('CrimeForm',{attrs:{\"defaultCorpusID\":_vm.corpusID},model:{value:(_vm.crime),callback:function ($$v) {_vm.crime=$$v},expression:\"crime\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport crimeAPI from '@/vuex/crime/crimeAPI';\nimport { Crime } from '@/vuex/crime/crime';\n\nimport CrimeForm from '@/components/crime/crime/CrimeForm.vue';\n\nexport default Vue.extend({\n props: {\n corpusID: Number,\n },\n\n data() {\n return {\n isOpen: false,\n error: null as any,\n\n crime: null as Crime | null,\n };\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.crime = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.crime) {\n return;\n }\n\n try {\n // API call and response\n const res = await crimeAPI.post('/crimes/create', {\n data: this.crime,\n });\n\n // Add the Crime to our local Vuex state\n const newState = _.get(res, 'data.data', {});\n this.$store.commit('crime/setState', newState);\n this.$store.commit('crime/appendToTarget', {\n target: 'crimeIDs',\n value: Object.keys(newState.crime),\n });\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n CrimeForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewCrimeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewCrimeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewCrimeDialog.vue?vue&type=template&id=88dbcbf4&\"\nimport script from \"./NewCrimeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewCrimeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapActions, mapState, mapGetters } from 'vuex';\n\nimport { Corpus } from '@/vuex/corpus/corpus';\nimport { Crime } from '@/vuex/crime/crime';\n\nimport EditCrimeDialog from '@/components/crime/crime/EditCrimeDialog.vue';\nimport NewCrimeDialog from '@/components/crime/crime/NewCrimeDialog.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n\n created() {\n this.fetchData();\n },\n\n data() {\n return {\n waiting: true,\n corpus: null as Corpus | null,\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapState('corpus', ['corporaByID']),\n ...mapGetters('corpus', ['corporaWithParentID']),\n ...mapGetters('crime', ['crimesWithCorpusID']),\n ...mapGetters('auth', ['hasPermission']),\n\n canAdd(): boolean {\n return this.hasPermission('admin.corpora.create');\n },\n\n canAddCrime(): boolean {\n return this.hasPermission('admin.crimeType.create');\n },\n\n children(): Corpus[] {\n return _.sortBy(this.corporaWithParentID(this.id), 'number');\n },\n\n crimes(): Crime[] {\n if (this.corpus == null) {\n return [];\n }\n return _.sortBy(this.crimesWithCorpusID(this.id), 'article');\n },\n\n canHaveChildren(): boolean {\n return this.crimes.length === 0 || this.children.length > 0;\n },\n\n canHaveCrimes(): boolean {\n return this.children.length === 0 || this.crimes.length > 0;\n },\n\n breadcrumbs(): any[] {\n const items = [] as any[];\n\n // Exit early with empty breadcrumbs if we don't have a Corpus\n if (this.corpus === null) {\n return items;\n }\n\n // Begin adding breadcrumbs from right (last) to left (first).\n // We add the current corpus in a disabled state.\n if (this.corpus.title) {\n items.unshift({\n text: this.corpus.title[this.locale],\n disabled: true,\n });\n }\n\n // Then loop until we get a null parentID (indicating a root\n // corpus).\n let parentID = this.corpus.parentID;\n while (parentID !== null) {\n const parent = this.corporaByID[parentID];\n if (parent) {\n items.unshift({\n text: parent.title[this.locale],\n to: {\n name: 'corpusShow',\n params: { id: parent.id },\n },\n });\n parentID = parent.parentID;\n }\n }\n items.unshift({\n text: this.$i18n.t('corpus.plural').toString(),\n to: { name: 'corpusList' },\n });\n return items;\n },\n },\n\n watch: {\n id(newValue) {\n this.fetchData();\n },\n },\n\n methods: {\n ...mapActions('corpus', ['fetchCorpus']),\n\n async fetchData(): Promise {\n if (this.id) {\n this.waiting = true;\n await this.fetchCorpus(this.id);\n this.waiting = false;\n this.corpus = this.corporaByID[this.id];\n }\n },\n },\n\n components: {\n EditCrimeDialog,\n NewCrimeDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CorpusShow.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CorpusShow.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CorpusShow.vue?vue&type=template&id=23f3c6c4&\"\nimport script from \"./CorpusShow.vue?vue&type=script&lang=ts&\"\nexport * from \"./CorpusShow.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAvatar } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBreadcrumbs,VBtn,VCard,VCardText,VContainer,VIcon,VList,VListItem,VListItemAvatar,VListItemContent,VListItemTitle,VProgressLinear,VSpacer,VSubheader,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',{staticClass:\"text-h4\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.court.name[_vm.locale])+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CourtHearingCalendar',{attrs:{\"isPrinting\":\"\",\"courtID\":_vm.id || 0}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hearings.length)?_c('v-card',{attrs:{\"loading\":_vm.loading}},[_c('v-toolbar',{attrs:{\"dark\":\"\",\"dense\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t('hearing.upcomingHearings'))+\" \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\",\"to\":{ name: 'courtCalendarPrint' },\"exact\":\"\"}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-print\")])],1)],1),_vm._l((_vm.hearingsIndexedByDate),function(hearings,hearingDate){return _c('v-card-text',{key:hearingDate},[_c('v-row',{staticClass:\"secondary my-2\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-center subtitle-2 white--text\",attrs:{\"cols\":\"12\"}},[_c('Date',{attrs:{\"value\":hearingDate}})],1)],1),_c('v-row',{staticClass:\"text-caption\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.$t('hearing.time'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"3\"}},[_vm._v(\" \"+_vm._s(_vm.$t('court.case.number'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.$t('hearing.type'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.$t('location.singular'))+\" \")])],1),_vm._l((hearings),function(hearing){return _c('v-row',{key:hearing.id,attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"2\"}},[_vm._v(\" \"+_vm._s(hearing.time)+\" \")]),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('router-link',{attrs:{\"to\":{\n name: 'caseShow',\n params: { id: hearing.caseID },\n }}},[_vm._v(\" \"+_vm._s(hearing.caseNumber)+\" \")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(hearing.typeID, _vm.hearingTypes))+\" \")]),_c('v-col',{attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.courtroomName(hearing.courtroomID))+\" \")])],1)})],2)})],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport { mapGetters, mapState } from 'vuex';\nimport { Hearing } from '@/vuex/court/hearing';\n\nexport default Vue.extend({\n props: {\n courtID: Number,\n },\n\n data() {\n return {\n loading: false,\n };\n },\n\n created(): void {\n this.fetchData();\n },\n\n computed: {\n ...mapGetters('court', ['hearingsForCourt', 'courtroomName']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('court', ['hearingTypes']),\n\n /**\n * hearings returns the filtered array of hearings which should\n * be displayed based on current filter settings\n */\n hearings(): Hearing[] {\n let hearings = [] as Hearing[];\n hearings = this.hearingsForCourt(this.courtID);\n // Remove cancelled hearings\n hearings = _.filter(hearings, (h) => !h.isCancelled);\n return _.sortBy(hearings, (h) => h.hearingDate);\n },\n\n /**\n * hearingsIndexedByDate groups the hearings by date after they've\n * been filtered.\n */\n hearingsIndexedByDate(): any {\n return _.groupBy(this.hearings, (h) => h.hearingDate);\n },\n },\n\n methods: {\n fetchData(): void {\n this.fetchHearingsForCourt();\n },\n\n fetchHearingsForCourt(): void {\n this.$store.dispatch('court/fetchCourtHearings', {\n courtID: this.courtID,\n });\n },\n },\n components: {},\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtHearingCalendar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtHearingCalendar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtHearingCalendar.vue?vue&type=template&id=50a92d7f&\"\nimport script from \"./CourtHearingCalendar.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtHearingCalendar.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VIcon,VRow,VSpacer,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Court } from '@/vuex/court/court';\n\nimport CourtHearingCalendar from '@/components/court/hearing/CourtHearingCalendar.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n\n mounted(): void {\n setTimeout(window.print, 2000);\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('court', ['courtWithID']),\n\n court(): Court {\n return this.courtWithID(this.id);\n },\n },\n\n components: {\n CourtHearingCalendar,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtCalendarPrint.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtCalendarPrint.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtCalendarPrint.vue?vue&type=template&id=65876b83&\"\nimport script from \"./CourtCalendarPrint.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtCalendarPrint.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',{attrs:{\"flat\":\"\",\"loading\":_vm.loading}},[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.canAdd)?_c('CourtAddDialog'):_vm._e(),_c('v-spacer'),_c('v-switch',{attrs:{\"label\":\"Grouped\"},model:{value:(_vm.grouped),callback:function ($$v) {_vm.grouped=$$v},expression:\"grouped\"}})]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('court.plural')))]),_c('v-spacer'),(!_vm.grouped)?_c('v-text-field',{attrs:{\"label\":_vm.$t('search'),\"append-icon\":\"search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"search\"}}):_vm._e()],1),_c('v-card-text',[(_vm.grouped)?_c('CourtContainer',{staticClass:\"mt-8\",attrs:{\"parentID\":0}}):_vm._e(),(!_vm.grouped)?_c('v-data-table',{attrs:{\"loading\":_vm.loading,\"items\":_vm.translatedCourts,\"search\":_vm.search,\"headers\":_vm.headers,\"footer-props\":{ 'items-per-page-options': [10, 20, 50, 100] },\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item.id\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('td',[(_vm.canAdd)?_c('CourtEditDialog',{attrs:{\"id\":item.id},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"x-small\":\"\"}},on),[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-edit\")]),_vm._v(\" \"+_vm._s(item.id)+\" \")],1)]}}],null,true)}):_vm._e()],1)]}},{key:\"item.dashboard\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('router-link',{attrs:{\"to\":value}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\",\"color\":\"secondary\"}},[_vm._v(\"fa-chart-bar\")]),_vm._v(\" \"+_vm._s(_vm.$t('dashboard.singular'))+\" \")],1)]}},{key:\"item.courtrooms\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('router-link',{attrs:{\"to\":value}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\",\"color\":\"secondary\"}},[_vm._v(\"fa-list\")]),_vm._v(\" \"+_vm._s(_vm.$t('court.courtroom.plural'))+\" \")],1)]}}],null,true)}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('court.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('CourtForm',{model:{value:(_vm.court),callback:function ($$v) {_vm.court=$$v},expression:\"court\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:{ isRTL: l.isRTL },attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('court.name') + ' (' + _vm.$t(l.locale) + ')',\"value\":_vm.court.name[l.locale],\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('name.' + l.locale, $event, 'trim')}}})],1)}),1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"8\"}},[_c('CourtSelector',{attrs:{\"label\":_vm.$t('court.parent'),\"value\":_vm.court.parentID,\"clearable\":\"\",\"zero-label\":\"none\"},on:{\"input\":function($event){return _vm.update('parentID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('sort.rank'),\"value\":_vm.court.rank},on:{\"input\":function($event){return _vm.update('rank', $event)}}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"2\"}},[_c('v-text-field',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('##'),expression:\"'##'\"}],attrs:{\"label\":\"Department Code\",\"value\":_vm.court.code,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('code', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"10\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('court.locationGeographyID'),\"value\":_vm.court.locationGeographyID,\"min-specificity\":\"country\"},on:{\"input\":function($event){return _vm.update('locationGeographyID', $event)}}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('CourtStageSelector',{attrs:{\"label\":_vm.$t('court.stage.plural'),\"value\":_vm.court.stageIDs,\"multiple\":\"\",\"chips\":\"\"},on:{\"input\":function($event){return _vm.update('stageIDs', $event)}}})],1),(_vm.court)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('JudgeSelector',{attrs:{\"label\":_vm.$t('court.headOfCourt'),\"value\":_vm.court.headOfCourtJudgeID,\"stageIDs\":_vm.court.stageIDs,\"locationGeographyID\":_vm.court.locationGeographyID},on:{\"input\":function($event){return _vm.update('headOfCourtJudgeID', $event)}}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('court.maxCaseDurationInDays'),\"value\":_vm.court.maxCaseDurationInDays},on:{\"input\":function($event){return _vm.update('maxCaseDurationInDays', $event, 'number')}}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('court.warnAfterDays'),\"value\":_vm.court.warnAfterDays},on:{\"input\":function($event){return _vm.update('warnAfterDays', $event, 'number')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('IntArrayField',{attrs:{\"label\":_vm.$t('legacyDepartment.plural'),\"value\":_vm.court.legacyDepartmentIDs,\"multiple\":\"\",\"chips\":\"\"},on:{\"input\":function($event){return _vm.update('legacyDepartmentIDs', $event)}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { AfghanistanID } from '@/vuex/geography/geography';\nimport { Court, CourtStageIDs } from '@/vuex/court/court';\nimport { TranslatedString } from '@/lib/translated';\n\nimport CourtSelector from '@/components/court/court/CourtSelector.vue';\nimport CourtStageSelector from '@/components/court/CourtStageSelector.vue';\nimport JudgeSelector from '@/components/court/judge/JudgeSelector.vue';\n\nexport default Vue.extend({\n props: {\n value: {\n type: Object,\n },\n },\n\n computed: {\n ...mapGetters('language', ['languages']),\n\n /**\n * court computes the active state of the entity object being edited on this\n * form. It dynamically returns either the provided value prop, or a blank\n * entity with the default/initial data for all fields on the entity. This\n * should be treated as a readonly value within this component.\n * Modifications should be made my calling the update() function, which\n * will apply the modification to a copy of the entity and $emit it.\n * The two-way data binding will then cause this component's value prop to\n * hold the new, modified entity.\n */\n court(): Court {\n return this.value\n ? this.value\n : {\n id: 0,\n parentID: null,\n rank: 0,\n code: '',\n name: {} as TranslatedString,\n locationGeographyID: AfghanistanID,\n stageIDs: [CourtStageIDs.primary],\n headOfCourtJudgeID: 0,\n legacyDepartmentIDs: [],\n year: 0,\n lastCaseNumber: 0,\n maxCaseDurationInDays: 30,\n warnAfterDays: 25,\n cms1RecordImportance: 0,\n cms1RecordCount: 0,\n };\n },\n },\n\n methods: {\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.court), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n\n components: {\n CourtSelector,\n JudgeSelector,\n CourtStageSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtForm.vue?vue&type=template&id=a8e47f2e&\"\nimport script from \"./CourtForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { Court } from '@/vuex/court/court';\n\nimport CourtForm from '@/components/court/court/CourtForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n court: null as Court | null,\n isOpen: false,\n error: null as any,\n };\n },\n methods: {\n reset(): void {\n this.court = null;\n },\n async save(): Promise {\n if (this.court == null) {\n return;\n }\n this.error = null;\n try {\n const response = await courtAPI.post('courts/create', {\n data: {\n name: this.court.name,\n stageIDs: this.court.stageIDs,\n locationGeographyID: this.court.locationGeographyID,\n parentID: this.court.parentID,\n rank: this.court.rank,\n headOfCourtJudgeID: this.court.headOfCourtJudgeID,\n legacyDepartmentIDs: this.court.legacyDepartmentIDs,\n maxCaseDurationInDays: this.court.maxCaseDurationInDays,\n warnAfterDays: this.court.warnAfterDays,\n },\n });\n\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/prependToTarget', {\n target: 'courtIDs',\n value: Object.keys(newState.court),\n });\n this.$store.commit('court/calculateCourtChildStats');\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n CourtForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtAddDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtAddDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtAddDialog.vue?vue&type=template&id=81e112c8&\"\nimport script from \"./CourtAddDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtAddDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('court.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('CourtForm',{model:{value:(_vm.court),callback:function ($$v) {_vm.court=$$v},expression:\"court\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { Court } from '@/vuex/court/court';\n\nimport CourtForm from '@/components/court/court/CourtForm.vue';\n\nexport default Vue.extend({\n props: {\n id: {\n type: Number,\n required: true,\n },\n },\n data() {\n return {\n isOpen: false,\n court: null as Court | null,\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('court', ['courtWithID']),\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n if (this.id) {\n const myCopy = Object.assign({}, this.courtWithID(this.id));\n this.court = myCopy;\n } else {\n this.court = null;\n }\n },\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.court) {\n return;\n }\n this.error = null;\n try {\n const response = await courtAPI.post('courts/update', {\n data: {\n id: this.court.id,\n parentID: this.court.parentID,\n rank: this.court.rank,\n code: this.court.code,\n name: this.court.name,\n locationGeographyID: this.court.locationGeographyID,\n stageIDs: this.court.stageIDs,\n headOfCourtJudgeID: this.court.headOfCourtJudgeID,\n legacyDepartmentIDs: this.court.legacyDepartmentIDs,\n year: this.court.year,\n maxCaseDurationInDays: this.court.maxCaseDurationInDays,\n warnAfterDays: this.court.warnAfterDays,\n lastCaseNumber: this.court.lastCaseNumber,\n },\n });\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/calculateCourtChildStats');\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n CourtForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtEditDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtEditDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtEditDialog.vue?vue&type=template&id=188c46ea&\"\nimport script from \"./CourtEditDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtEditDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.containers.length)?_c('v-expansion-panels',{staticClass:\"mt-4\",attrs:{\"multiple\":\"\"}},_vm._l((_vm.containers),function(court){return _c('v-expansion-panel',{key:court.id},[_c('v-expansion-panel-header',{attrs:{\"color\":\"grey lighten-4\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[(_vm.canAdd)?_c('CourtEditDialog',{attrs:{\"id\":court.id}}):_vm._e(),_c('span',{staticClass:\"text--disabled px-2\"},[_vm._v(_vm._s(court.code))]),_vm._v(\" \"+_vm._s(court.name[_vm.locale])+\" \")],1),_c('v-col',{staticClass:\"text-center text--disabled\",attrs:{\"cols\":\"6\"}},[_vm._v(\" ( \"+_vm._s(_vm.courtChildCount(court.id))+\" Child Courts ) \")])],1)],1),_c('v-expansion-panel-content',[_c('CourtContainer',{attrs:{\"parentID\":court.id}})],1)],1)}),1):_vm._e(),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[(_vm.searchable)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"5\",\"md\":\"4\"}},[_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"search\",\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"search\"}})],1):_vm._e(),(_vm.selected.length)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('CMSFormDialog',{attrs:{\"title\":\"Move Courts\"},on:{\"reset\":function($event){_vm.newParentID = _vm.parentID},\"save\":_vm.move},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"color\":\"accent\"}},on),[_vm._v(\" Move \"+_vm._s(_vm.selected.length)+\" Courts \")])]}}],null,false,1357644602),model:{value:(_vm.isMoveOpen),callback:function ($$v) {_vm.isMoveOpen=$$v},expression:\"isMoveOpen\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CourtSelector',{attrs:{\"rules\":[\n function (v) { return !!v || _vm.$t('error.required'); },\n function (v) { return !_vm.selectedIDs.includes(_vm.newParentID) ||\n _vm.$t('error.invalidChoice'); } ],\"zero-label\":\"none\"},model:{value:(_vm.newParentID),callback:function ($$v) {_vm.newParentID=$$v},expression:\"newParentID\"}})],1)],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('CMSFormDialog',{attrs:{\"title\":\"Delete Courts\",\"color\":\"error\"},on:{\"reset\":function($event){_vm.replacementID = _vm.parentID},\"save\":_vm.replace},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"color\":\"error\"}},on),[_vm._v(\" Delete (Merge) \"+_vm._s(_vm.selected.length)+\" Courts \")])]}}],null,false,1131475533),model:{value:(_vm.isReplaceOpen),callback:function ($$v) {_vm.isReplaceOpen=$$v},expression:\"isReplaceOpen\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Deleting: \"),_vm._l((_vm.selected),function(court){return _c('div',{key:court.id},[_vm._v(\" \"+_vm._s(court.name[_vm.locale])+\" \")])})],2),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CourtSelector',{attrs:{\"label\":\"Migrate Associated Data to Replacement Court\",\"rules\":[\n function (v) { return !!v || _vm.$t('error.required'); },\n function (v) { return !_vm.selectedIDs.includes(_vm.replacementID) ||\n _vm.$t('error.invalidChoice'); } ],\"zero-label\":\"none\"},model:{value:(_vm.replacementID),callback:function ($$v) {_vm.replacementID=$$v},expression:\"replacementID\"}})],1)],1)],1)],1)],1)],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.uncontainedCourts.length)?_c('v-data-table',{attrs:{\"showSelect\":_vm.canAdd ? true : false,\"items\":_vm.uncontainedCourts,\"headers\":_vm.headers,\"search\":_vm.search,\"page\":_vm.page,\"hide-default-footer\":!_vm.paginated,\"disable-sorting\":\"\",\"disable-pagination\":!_vm.paginated,\"footer-props\":{\n itemsPerPageText: _vm.$t('uiElements.rowsPerPage'),\n }},on:{\"update:page\":function($event){_vm.page=$event}},scopedSlots:_vm._u([{key:\"item.id\",fn:function(ref){\n var item = ref.item;\nreturn [_c('td',[_c('CourtEditDialog',{attrs:{\"id\":item.id}})],1)]}}],null,true),model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { Court } from '@/vuex/court/court';\n\nimport CourtAddDialog from '@/components/court/court/CourtAddDialog.vue';\nimport CourtEditDialog from '@/components/court/court/CourtEditDialog.vue';\nimport CourtSelector from '@/components/court/court/CourtSelector.vue';\n\nexport default Vue.extend({\n name: 'CourtContainer',\n props: {\n parentID: Number,\n },\n data() {\n return {\n search: '',\n page: 1,\n newParentID: this.parentID,\n isMoveOpen: false,\n isReplaceOpen: false,\n replacementID: 0,\n selected: [],\n };\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('court', ['courtsUnder', 'courtChildCount', 'allCourts']),\n ...mapGetters('geography', ['fullGeographyName']),\n ...mapState('language', ['locale']),\n canAdd(): boolean {\n return this.hasPermission('court.create');\n },\n courts(): Court[] {\n return this.courtsUnder(this.parentID);\n },\n\n selectedIDs(): number[] {\n return _.map(this.selected, 'id');\n },\n\n /**\n * translatedCourts returns an array of Courts with the name attribute\n * converted from a TranslatedString to the string for the active locale,\n * and adds a locationGeography attibute set to the full name of the geography.\n * This is done so that the v-data-table's search can interact with these\n * fields instead of the Object or number which underlie them.\n */\n translatedCourts(): any[] {\n return _.chain(this.courts)\n .map((court) =>\n Object.assign({}, court, {\n translatedName: court.name[this.locale],\n locationGeography: this.fullGeographyName(\n court.locationGeographyID,\n ),\n rank: court.rank || 999999, // Sort blank ranks to the end\n }),\n )\n .orderBy(['rank', 'translatedName'])\n .value();\n },\n\n containers(): Court[] {\n return _.filter(\n this.translatedCourts,\n (c: Court) => c.childCount && c.childCount > 0,\n );\n },\n\n uncontainedCourts(): Court[] {\n return _.filter(\n this.translatedCourts,\n (c: Court) => !c.childCount || c.childCount < 1,\n );\n },\n\n headers(): any[] {\n const h = [\n {\n text: 'Code',\n value: 'code',\n align: 'right',\n },\n {\n text: this.$i18n.t('person.name'),\n value: 'translatedName',\n },\n {\n text: this.$i18n.t('location.singular'),\n value: 'locationGeography',\n },\n {\n text: 'CMS1 Records',\n value: 'cms1RecordCount',\n align: 'right',\n },\n {\n text: 'CMS 1 Importance',\n value: 'cms1Importance',\n align: 'right',\n },\n ] as any[];\n if (this.canAdd) {\n h.unshift({\n text: this.$i18n.t('command.edit'),\n value: 'id',\n width: '2%',\n sortable: false,\n });\n }\n return h;\n },\n\n searchable(): boolean {\n return this.uncontainedCourts.length > 10;\n },\n\n paginated(): boolean {\n return this.uncontainedCourts.length > 10;\n },\n },\n watch: {\n search(newVal: string) {\n // Always jump to page 1 after the search changes\n this.page = 1;\n },\n parentID(newID: number) {\n this.newParentID = newID;\n },\n isReplaceOpen() {\n this.replacementID = 0;\n },\n },\n methods: {\n async move(): Promise {\n const response = await courtAPI.post('/courts/move', {\n data: {\n oldParentID: this.parentID,\n newParentID: this.newParentID,\n childIDs: this.selectedIDs,\n },\n });\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/calculateCourtChildStats');\n this.selected = [];\n this.isMoveOpen = false;\n },\n async replace(): Promise {\n const response = await courtAPI.post('/courts/replace', {\n data: {\n oldCourtIDs: this.selectedIDs,\n newCourtID: this.replacementID,\n },\n });\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/calculateCourtChildStats');\n this.selected = [];\n this.isReplaceOpen = false;\n },\n },\n components: {\n CourtSelector,\n CourtEditDialog,\n CourtAddDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtContainer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtContainer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtContainer.vue?vue&type=template&id=0f15792c&\"\nimport script from \"./CourtContainer.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtContainer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCol,VDataTable,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VRow,VSpacer,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Court } from '@/vuex/court/court';\n\nimport CourtAddDialog from '@/components/court/court/CourtAddDialog.vue';\nimport CourtEditDialog from '@/components/court/court/CourtEditDialog.vue';\nimport CourtContainer from '@/components/court/court/CourtContainer.vue';\n\nexport default Vue.extend({\n data() {\n return {\n loading: true,\n search: '',\n grouped: true,\n };\n },\n\n created() {\n this.fetchData();\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapState('language', ['locale']),\n ...mapState('court', ['courtStage', 'courtStages']),\n ...mapGetters('geography', ['geographyWithID']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['allCourts']),\n canAdd(): boolean {\n return this.hasPermission('court.create');\n },\n headers(): any[] {\n const h = [\n {\n text: this.$i18n.t('court.name'),\n value: 'name',\n width: '20%',\n },\n {\n text: this.$i18n.t('court.stage.singular'),\n value: 'stages',\n width: '10%',\n },\n {\n text: this.$i18n.t('dashboard.singular'),\n value: 'dashboard',\n width: '15%',\n },\n {\n text: this.$i18n.t('court.courtroom.plural'),\n value: 'courtrooms',\n width: '15%',\n },\n ] as any[];\n if (this.canAdd) {\n h.unshift({\n text: this.$i18n.t('command.edit'),\n value: 'id',\n width: '5%',\n sortable: false,\n });\n }\n return h;\n },\n translatedCourts(): Court[] {\n const courts = this.allCourts;\n return courts.map((court) => {\n const c = Object.assign({}, court);\n c.name = c.name[this.locale];\n c.stages = _.map(c.stageIDs, (id) => {\n return this.nameForIDInCollection(id, this.courtStages);\n }).join(', ');\n c.dashboard = { name: 'courtDashboard', query: { courtID: c.id } };\n c.courtrooms = { name: 'courtrooms', params: { id: c.id } };\n const geo = this.geographyWithID(c.locationGeographyID);\n if (geo) {\n c.location = geo.name[this.locale];\n }\n return c;\n });\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n Promise.all([\n this.$store.dispatch('court/fetchCourts'),\n this.$store.dispatch('geography/fetchGeographies'),\n ]).then(() => {\n this.loading = false;\n });\n },\n edit(courtID): void {\n (this.$refs.editDialog as any).edit(courtID);\n },\n },\n components: {\n CourtAddDialog,\n CourtEditDialog,\n CourtContainer,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtList.vue?vue&type=template&id=41e069c1&\"\nimport script from \"./CourtList.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VContainer,VDataTable,VIcon,VSpacer,VSwitch,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('AddCourtroomDialog',{attrs:{\"courtID\":_vm.id},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"fab\":\"\",\"absolute\":\"\",\"bottom\":\"\",\"color\":\"accent\"}},on),[_c('v-icon',[_vm._v(\"fa-plus\")])],1)]}}])})]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.court.name[_vm.locale])+\" - \"+_vm._s(_vm.$t('court.courtroom.plural'))+\" \")])],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"loading\":_vm.loading,\"headers\":_vm.headers,\"items\":_vm.courtrooms,\"items-per-page\":10,\"hide-default-footer\":\"\",\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',{class:{ isDeleted: item.isDeleted }},[_c('td',[_vm._v(_vm._s(item.name))]),_c('td',[_c('EditCourtroomDialog',{attrs:{\"id\":item.id}})],1)])]}}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('court.courtroom.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"10\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('court.name'),\"required\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport courtAPI from '@/vuex/court/courtAPI';\n\nexport default Vue.extend({\n props: ['courtID'],\n data() {\n return {\n isOpen: false,\n name: '',\n error: null as any,\n };\n },\n watch: {\n isOpen(isDialogOpening: boolean) {\n if (isDialogOpening) {\n this.reset();\n }\n },\n },\n methods: {\n reset(): void {\n this.name = '';\n },\n async save(): Promise {\n this.error = null;\n try {\n const response = await courtAPI.post('courts/courtrooms/create', {\n data: {\n name: this.name,\n courtID: this.courtID,\n },\n });\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/appendToTarget', {\n target: 'courtroomIDsForCourt',\n index: this.courtID,\n value: Object.keys(newState.courtroom),\n });\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddCourtroomDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddCourtroomDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddCourtroomDialog.vue?vue&type=template&id=588ca17c&\"\nimport script from \"./AddCourtroomDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddCourtroomDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('court.courtroom.singular')},on:{\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('court.name'),\"required\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-switch',{attrs:{\"label\":_vm.$t('item.isDeleted')},model:{value:(_vm.isDeleted),callback:function ($$v) {_vm.isDeleted=$$v},expression:\"isDeleted\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { mapGetters } from 'vuex';\n\nexport default Vue.extend({\n props: {\n id: {\n type: Number,\n required: true,\n },\n },\n data() {\n return {\n isOpen: false,\n courtroomID: 0,\n courtID: 0,\n name: '',\n isDeleted: false,\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('court', ['courtroomWithID']),\n },\n watch: {\n /**\n * isOpen is watched because we need to notice when the dialog's activator\n * has been clicked (which opens the dialog). This is our trigger to fetch\n * a dialog-local copy of the object to present to the user for editing.\n */\n isOpen(nowOpening: boolean): void {\n if (nowOpening && this.id) {\n const myCopy = Object.assign({}, this.courtroomWithID(this.id));\n const courtroom = myCopy;\n this.courtroomID = this.id;\n this.name = courtroom.name;\n this.isDeleted = courtroom.isDeleted;\n }\n },\n },\n methods: {\n async save(): Promise {\n this.error = null;\n try {\n const response = await courtAPI.post('courts/courtrooms/update', {\n data: {\n id: this.courtroomID,\n name: this.name,\n courtID: this.courtID,\n isDeleted: this.isDeleted,\n },\n });\n\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCourtroomDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCourtroomDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditCourtroomDialog.vue?vue&type=template&id=539ccea8&\"\nimport script from \"./EditCourtroomDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditCourtroomDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VSwitch,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport { mapGetters, mapState } from 'vuex';\nimport Vue from 'vue';\n\nimport { Court, Courtroom } from '@/vuex/court/court';\n\nimport AddCourtroomDialog from '@/components/court/courtroom/AddCourtroomDialog.vue';\nimport EditCourtroomDialog from '@/components/court/courtroom/EditCourtroomDialog.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n data() {\n return {\n loading: false,\n };\n },\n created() {\n this.fetchData();\n },\n watch: {\n id(val: number): void {\n if (this.id) {\n this.fetchData();\n }\n },\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('court', ['courtroomsForCourt', 'courtWithID']),\n headers(): any[] {\n return [\n {\n text: this.$i18n.t('court.name'),\n value: 'name',\n width: '80%',\n },\n {\n text: this.$i18n.t('action.plural'),\n value: 'id',\n width: '20%',\n },\n ];\n },\n court(): Court {\n return this.courtWithID(this.id);\n },\n courtrooms(): Courtroom[] {\n return _.sortBy(\n this.courtroomsForCourt(this.id) || [],\n (cr: Courtroom) => cr.name,\n );\n },\n },\n methods: {\n fetchData(): void {\n this.loading = true;\n this.$store\n .dispatch('court/fetchCourtroomsForCourt', {\n courtID: this.id,\n force: true,\n })\n .then(() => {\n this.loading = false;\n });\n },\n },\n components: {\n AddCourtroomDialog,\n EditCourtroomDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtroomList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtroomList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtroomList.vue?vue&type=template&id=2f61637f&\"\nimport script from \"./CourtroomList.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtroomList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VContainer,VDataTable,VIcon,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pb-10\"},[_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\",\"flat\":\"\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('NewCrimeGroupDialog'),_c('v-spacer'),_c('CrimeAdminMenu'),_c('v-spacer')]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t('crimeGroup.plural')))]),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"search\",\"placeholder\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-card-text',[_c('v-data-table',{staticClass:\"mt-6\",attrs:{\"dense\":\"\",\"items\":_vm.allCrimeGroups,\"headers\":_vm.headers,\"items-per-page\":15,\"search\":_vm.search,\"sort-by\":(\"name.\" + _vm.locale),\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item.id\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('EditCrimeGroupDialog',{attrs:{\"id\":item.id}})]}},{key:\"item.crimeIDs\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.crimeIDs.length)+\" \")]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('ConfirmationButton',{attrs:{\"icon\":\"\",\"x-small\":\"\",\"prompt\":_vm.$t('command.delete') + ': ' + _vm.$t('crimeGroup.singular') + '?'},on:{\"confirm\":function($event){return _vm.deleteCrimeGroup(item.id)}}},[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"fa-trash-alt\")])],1)]}}],null,true)})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-btn',{attrs:{\"color\":\"white\",\"small\":\"\",\"text\":\"\",\"to\":{ name: 'crimeList' }}},[_vm._v(\" \"+_vm._s(_vm.$t('crime.plural'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"white\",\"small\":\"\",\"text\":\"\",\"to\":{ name: 'crimeGroupList' }}},[_vm._v(\" \"+_vm._s(_vm.$t('crimeGroup.plural'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"white\",\"small\":\"\",\"text\":\"\",\"to\":{ name: 'legacyCrimeList' }}},[_vm._v(\" \"+_vm._s(_vm.$t('legacyCrime.plural'))+\" \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./CrimeAdminMenu.vue?vue&type=template&id=0d9e3a9f&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('crimeGroup.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('CrimeGroupForm',{model:{value:(_vm.crimeGroup),callback:function ($$v) {_vm.crimeGroup=$$v},expression:\"crimeGroup\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},[_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:{ isRTL: l.isRTL },attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":((_vm.$t('crimeGroup.name')) + \" [\" + (_vm.$t(l.locale)) + \"]\"),\"value\":_vm.crimeGroup.name[l.locale],\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('name.' + l.locale, $event, 'trim')}}})],1)}),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CrimesForm',{attrs:{\"label\":_vm.$t('crimeGroup.crimes'),\"value\":_vm.crimeGroup.crimeIDs},on:{\"input\":function($event){return _vm.update('crimeIDs', $event)}}})],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"shaped\":\"\"}},[_c('v-toolbar',{attrs:{\"dense\":\"\",\"color\":\"primary lighten-4\"}},[_c('v-toolbar-title',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.label || _vm.$t('crime.plural'))+\" \")]),_c('v-dialog',{attrs:{\"max-width\":\"900\",\"scrollable\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"fab\":\"\",\"absolute\":\"\",\"bottom\":\"\",\"x-small\":\"\",\"color\":\"accent\"}},on),[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\" fa-plus \")])],1)]}}]),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('CrimeSearcher',{ref:\"crimeSearcher\",attrs:{\"excludedIDs\":_vm.value,\"selectable\":\"\",\"disable-stats\":\"\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"small\":\"\",\"text\":\"\",\"color\":\"error\"},on:{\"click\":function($event){_vm.isOpen = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.cancel'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"accent\",\"type\":\"submit\"},on:{\"click\":function($event){_vm.addPending();\n _vm.isOpen = false;}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.ok'))+\" \")])]},proxy:true}]),model:{value:(_vm.pendingCrimeIDAdditions),callback:function ($$v) {_vm.pendingCrimeIDAdditions=$$v},expression:\"pendingCrimeIDAdditions\"}})],1)],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"dense\":\"\",\"headers\":_vm.headers,\"items\":_vm.crimes,\"items-per-page\":15,\"sort-by\":(\"title.\" + _vm.locale)},scopedSlots:_vm._u([{key:(\"item.corpus.title.\" + _vm.locale),fn:function(ref){\n var value = ref.value;\nreturn [_c('span',{staticClass:\"text--disabled\"},[_vm._v(_vm._s(value))])]}},{key:\"item.actions\",fn:function(ref){\n var item = ref.item;\nreturn [_c('ConfirmationButton',{attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"confirm\":function($event){return _vm.deleteCrimeWithID(item.id)}},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('command.remove'))+\": \"),_c('CrimeTitle',{attrs:{\"id\":item.id}}),_vm._v(\"? \")]},proxy:true}],null,true)},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-trash-alt\")])],1)]}}],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"flat\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.canAdd)?_c('NewCrimeDialog'):_vm._e(),_c('v-spacer'),_vm._t(\"extension\"),_c('v-spacer'),_c('v-checkbox',{attrs:{\"label\":_vm.$t('advancedSearch')},model:{value:(_vm.advancedSearch),callback:function ($$v) {_vm.advancedSearch=$$v},expression:\"advancedSearch\"}})]},proxy:true}],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('crime.plural')))]),_c('v-spacer'),(!_vm.advancedSearch)?_c('v-text-field',{ref:\"query\",attrs:{\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\",\"append-icon\":\"search\",\"clearable\":\"\"},on:{\"keyup\":function($event){_vm.currentPage = 1}},model:{value:(_vm.criteria.q),callback:function ($$v) {_vm.$set(_vm.criteria, \"q\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"criteria.q\"}}):_vm._e()],1),_c('v-card-text',[_vm._t(\"header\",function(){return [(!_vm.disableStats)?_c('v-row',{staticClass:\"mt-6\"},_vm._l(([\n 'Reviewed',\n 'Approved',\n 'GiroaReview',\n 'GiroaApproved' ]),function(prefix){return _c('v-col',{key:prefix,attrs:{\"cols\":\"3\"}},[_c('v-progress-linear',{attrs:{\"value\":_vm.overallCompletion(prefix),\"height\":\"20\",\"color\":\"green lighten-2\"}},[_vm._v(\" \"+_vm._s(prefix)+\" \")])],1)}),1):_vm._e()]}),(_vm.advancedSearch)?_c('div',[_c('v-row',{staticClass:\"mt-6\",attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('crime.title')},model:{value:(_vm.criteria.title),callback:function ($$v) {_vm.$set(_vm.criteria, \"title\", $$v)},expression:\"criteria.title\"}})],1),_c('v-col',{attrs:{\"cols\":\"5\"}},[_c('CorpusSelector',{attrs:{\"zero-label\":\"all\"},model:{value:(_vm.criteria.corpusID),callback:function ($$v) {_vm.$set(_vm.criteria, \"corpusID\", $$v)},expression:\"criteria.corpusID\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-select',{attrs:{\"label\":\"Review Status\",\"items\":[\n { text: 'All', value: '' },\n { text: 'Needs Review', value: 'needsReview' },\n { text: 'Needs Approval', value: 'needsApproval' },\n { text: 'Needs GIRoA Review', value: 'needsGiroaReview' },\n {\n text: 'Needs GIRoA Approval',\n value: 'needsGiroaApproval',\n },\n { text: 'Completed', value: 'completed' } ]},model:{value:(_vm.criteria.reviewStatus),callback:function ($$v) {_vm.$set(_vm.criteria, \"reviewStatus\", $$v)},expression:\"criteria.reviewStatus\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('crime.validImprisonmentDurations'),\"items\":\"crime/imprisonmentDurations\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.imprisonmentDurationID),callback:function ($$v) {_vm.$set(_vm.criteria, \"imprisonmentDurationID\", $$v)},expression:\"criteria.imprisonmentDurationID\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('charge.severity'),\"items\":\"crime/severities\",\"zero-label\":\"all\",\"disable-sorting\":\"\"},model:{value:(_vm.criteria.severityID),callback:function ($$v) {_vm.$set(_vm.criteria, \"severityID\", $$v)},expression:\"criteria.severityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('crime.article'),\"type\":\"number\",\"clearable\":\"\"},model:{value:(_vm.criteria.article),callback:function ($$v) {_vm.$set(_vm.criteria, \"article\", $$v)},expression:\"criteria.article\"}})],1)],1)],1):_vm._e(),_c('v-data-table',{staticClass:\"mt-6\",attrs:{\"dense\":\"\",\"items\":_vm.crimes,\"headers\":_vm.headers,\"show-select\":_vm.selectable,\"items-per-page\":15,\"search\":_vm.criteria.q,\"item-class\":_vm.rowClasses,\"page\":_vm.currentPage,\"footer-props\":{\n 'items-per-page-options': [15, 20, 40, 50, 100],\n }},on:{\"update:page\":function($event){_vm.currentPage=$event}},scopedSlots:_vm._u([{key:\"item.edit\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EditCrimeDialog',{attrs:{\"id\":item.id}})]}},{key:(\"item.corpus.title.\" + _vm.locale),fn:function(ref){\n var value = ref.value;\nreturn [_c('span',{staticClass:\"text--disabled\"},[_vm._v(_vm._s(value))])]}},{key:\"item.reviewScore\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-progress-circular',{attrs:{\"size\":\"20\",\"value\":item.reviewScore,\"color\":_vm.reviewColor(item.reviewScore)}})]}}],null,true),model:{value:(_vm.selectedCrimes),callback:function ($$v) {_vm.selectedCrimes=$$v},expression:\"selectedCrimes\"}})],2),(_vm.$slots.actions)?_c('v-divider'):_vm._e(),(_vm.$slots.actions)?_c('v-card-actions',[_vm._t(\"actions\")],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState, mapActions } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { Crime } from '@/vuex/crime/crime';\n\nimport CorpusSelector from '@/components/corpus/CorpusSelector.vue';\nimport EditCrimeDialog from '@/components/crime/crime/EditCrimeDialog.vue';\nimport NewCrimeDialog from '@/components/crime/crime/NewCrimeDialog.vue';\n\nexport default Vue.extend({\n props: {\n selectable: Boolean,\n\n value: {\n type: Array,\n default: () => [] as number[],\n },\n\n excludedIDs: {\n type: Array as () => number[],\n default: () => [] as number[],\n },\n\n disableStats: {\n type: Boolean,\n default: false,\n },\n },\n\n data() {\n return {\n loading: false,\n advancedSearch: false,\n\n criteria: {\n q: '',\n title: '',\n corpusID: 0,\n article: 0,\n severityID: 0,\n imprisonmentDurationID: 0,\n reviewStatus: '',\n },\n\n currentPage: 1,\n\n selectedCrimes: [] as Crime[],\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('corpus', ['corpusWithID']),\n ...mapGetters('crime', ['allCrimes']),\n ...mapGetters('auth', ['hasPermission']),\n\n canAdd(): boolean {\n return !this.selectable && this.hasPermission('admin.crimeType.create');\n },\n\n canEdit(): boolean {\n return !this.selectable && this.hasPermission('admin.crimeType.create');\n },\n\n /**\n * crimes builds the list of Crime objects which match all applied criteria.\n * We also add a `corpus` property to allow display and filtering by\n * corpus.\n */\n crimes(): Crime[] {\n return (\n _.chain(this.allCrimes)\n // First filter out any items explicitly excluded by the prop\n .reject((c) => _.includes(this.excludedIDs, c.id))\n // Then apply the filter criteria from the page\n .filter((c) => {\n return _.every([\n this.matchesCorpus(c),\n this.matchesArticle(c),\n this.matchesCrimeTitle(c),\n this.matchesSeverity(c),\n this.matchesImprisonmentDuration(c),\n this.matchesReviewStatus(c),\n ]);\n })\n .map((c) => {\n return Object.assign({}, c, {\n reviewScore: this.reviewScore(c),\n corpus: this.corpusWithID(c.corpusID),\n });\n })\n .value()\n );\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a computed property so\n * that it will update with new translations when the locale changes.\n */\n headers(): any[] {\n const headers: any[] = [\n { value: 'id', text: i18n.t('id'), width: '40px', align: 'right' },\n {\n text: i18n.t('crime.title'),\n value: `title.${this.locale}`,\n },\n {\n text: i18n.t('crime.article'),\n value: 'article',\n align: 'right',\n },\n {\n text: i18n.t('corpus.singular'),\n value: `corpus.title.${this.locale}`,\n },\n ];\n\n if (!this.disableStats) {\n headers.push({\n text: i18n.t('review.progress'),\n value: 'reviewScore',\n width: '36px',\n });\n }\n\n if (this.canEdit) {\n headers.unshift({ value: 'edit', width: '40px', sortable: false });\n }\n\n return headers;\n },\n },\n\n watch: {\n advancedSearch(isAdvanced: boolean) {\n if (isAdvanced) {\n this.resetSimpleCriteria();\n } else {\n this.resetAdvancedCriteria();\n }\n },\n\n selectedCrimes(crimes: Crime[]) {\n this.$emit('input', _.map(crimes, 'id'));\n },\n },\n\n methods: {\n ...mapActions('corpus', ['fetchCorpora']),\n\n reset(): void {\n this.resetSimpleCriteria();\n this.resetAdvancedCriteria();\n this.$nextTick(() => {\n const query = this.$refs.query as any;\n if (query) {\n query.focus();\n }\n });\n },\n\n resetSimpleCriteria(): void {\n this.criteria.q = '';\n },\n\n resetAdvancedCriteria(): void {\n this.criteria.title = '';\n this.criteria.corpusID = 0;\n this.criteria.article = 0;\n this.criteria.severityID = 0;\n this.criteria.imprisonmentDurationID = 0;\n this.criteria.reviewStatus = '';\n },\n\n /**\n * matchesCrimeTitle returns true if the provided Crime is a valid match for\n * the crime title specified in the Advanced Search criteria. It always\n * returns true if no crime title is specified in the Advanced Search\n * criteria.\n */\n matchesCrimeTitle(crime: Crime): boolean {\n if (!this.criteria.title) {\n return true;\n }\n const search = this.criteria.title.toLowerCase();\n const title = crime.title[this.locale].toLowerCase();\n if (title.includes(search)) {\n return true;\n }\n return false;\n },\n\n /**\n * matchesCorpus returns true if the provided Crime is a valid match for\n * the Corpus specified in the advanced search criteria. It always returns\n * true if no Corpus is selected.\n */\n matchesCorpus(crime: Crime): boolean {\n if (!this.criteria.corpusID) {\n return true;\n }\n return crime.corpusID === this.criteria.corpusID;\n },\n\n /**\n * matchesImprisonmentDuration returns true if the provided Crime is a\n * valid match for imprisonment duration selection in the Advanced Search\n * criteria. It always returns true if no criteria is specified.\n */\n matchesImprisonmentDuration(crime: Crime): boolean {\n const targetID = this.criteria.imprisonmentDurationID;\n if (!targetID) {\n return true;\n }\n return _.includes(crime.validImprisonmentDurationIDs, targetID);\n },\n\n /**\n * matchesSeverity returns true if the provided Crime is a valid match for\n * the severity selection in the Advanced Search criteria. It always\n * returns true if no criteria is specified.\n */\n matchesSeverity(crime: Crime): boolean {\n const targetID = this.criteria.severityID;\n if (!targetID) {\n return true;\n }\n return _.includes(crime.validSeverityIDs, targetID);\n },\n\n /**\n * matchesArticle returns true if the provided Crime is a valid match for\n * the article data in the Advanced Search criteria. It always returns\n * true if no criteria is specified.\n */\n matchesArticle(crime: Crime): boolean {\n if (!this.criteria.article) {\n return true;\n }\n const article = crime.article;\n if (article === this.criteria.article) {\n return true;\n }\n return false;\n },\n\n matchesReviewStatus(crime: Crime): boolean {\n if (!this.criteria.reviewStatus) {\n return true;\n }\n switch (this.criteria.reviewStatus) {\n case 'needsReview':\n return !crime.lastReviewedByUserID;\n case 'needsApproval':\n return !!crime.lastReviewedByUserID && !crime.lastApprovedByUserID;\n case 'needsGiroaReview':\n return (\n !!crime.lastReviewedByUserID &&\n !!crime.lastApprovedByUserID &&\n !crime.lastGiroaReviewByUserID\n );\n case 'needsGiroaApproval':\n return (\n !!crime.lastReviewedByUserID &&\n !!crime.lastApprovedByUserID &&\n !!crime.lastGiroaReviewByUserID &&\n !crime.lastGiroaApprovedByUserID\n );\n case 'completed':\n return (\n !!crime.lastReviewedByUserID &&\n !!crime.lastApprovedByUserID &&\n !!crime.lastGiroaReviewByUserID &&\n !!crime.lastGiroaApprovedByUserID\n );\n }\n return false;\n },\n\n /**\n * reviewScore maps a LegacyCrime to its score of out 100 representing how\n * much of the review process is completed for this LegacyCrime.\n */\n reviewScore(c: Crime): number {\n let count = 0;\n const fields = ['Reviewed', 'Approved', 'GiroaReview', 'GiroaApproved'];\n for (const prefix of fields) {\n const key = `last${prefix}ByUserID`;\n if (c[key] > 0) {\n count = count + 1;\n }\n }\n if (count === 0) {\n return 10;\n }\n return (count / 4.0) * 100;\n },\n\n /**\n * reviewColor returns the progressbar color based on its value.\n */\n reviewColor(score: number) {\n if (score >= 90) {\n return 'green darken-2';\n }\n if (score >= 75) {\n return 'green lighten-2';\n }\n if (score >= 25) {\n return 'orange darken-2';\n }\n return 'red';\n },\n\n /**\n * overallCompletion accepts a field prefix (like 'Reviewed'), and scans the\n * crimes to find how many have that field checked. The result is returned\n * as a percentage (out of 100) for use in a v-progressbar.\n */\n overallCompletion(prefix: string): number {\n const key = `last${prefix}ByUserID`;\n const total = this.allCrimes.length;\n const finished = _.filter(this.allCrimes, (c) => !!c[key]).length;\n return (finished / total) * 100;\n },\n\n rowClasses(crime: Crime): string[] {\n const classes = [] as string[];\n if (this.selectable) {\n classes.push('selectable');\n }\n if (crime.isNonchargeable) {\n classes.push('isDeleted');\n }\n return classes;\n },\n },\n\n components: {\n CorpusSelector,\n EditCrimeDialog,\n NewCrimeDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeSearcher.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeSearcher.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeSearcher.vue?vue&type=template&id=1b8cf4e7&\"\nimport script from \"./CrimeSearcher.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeSearcher.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardActions,VCardText,VCheckbox,VCol,VDataTable,VDivider,VProgressCircular,VProgressLinear,VRow,VSelect,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_vm._v(_vm._s(_vm.title))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport { Crime } from '@/vuex/crime/crime';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { TUnknown } from '@/lib/translated';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n\n computed: {\n ...mapGetters('crime', ['crimeWithID']),\n ...mapGetters('language', ['valueForLocale']),\n\n crime(): Crime {\n return this.crimeWithID(this.id);\n },\n\n title(): string {\n if (!this.crime) {\n let str = this.valueForLocale(TUnknown);\n str = str + ' ' + i18n.t('crimeType.singular') + `( #${this.id} )`;\n return str;\n }\n return this.valueForLocale(this.crime.title);\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeTitle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeTitle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeTitle.vue?vue&type=template&id=d4b905fa&\"\nimport script from \"./CrimeTitle.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeTitle.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { Crime } from '@/vuex/crime/crime';\n\nimport CrimeSearcher from '@/components/crime/CrimeSearcher.vue';\nimport CrimeTitle from '@/components/crime/CrimeTitle.vue';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: {\n type: Array as () => number[],\n default: () => [] as number[],\n },\n },\n\n data() {\n return {\n isOpen: false,\n\n pendingCrimeIDAdditions: [] as number[],\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('crime', ['crimeWithID']),\n ...mapGetters('corpus', ['corpusWithID']),\n\n crimes(): Crime[] {\n return _.map(this.value, (id: number) => {\n const crime = this.crimeWithID(id);\n return Object.assign({}, crime, {\n corpus: this.corpusWithID(crime.corpusID),\n });\n });\n },\n\n headers(): any[] {\n const headers: any[] = [\n {\n text: i18n.t('crime.title'),\n value: 'title.' + this.locale,\n witdh: '50%',\n },\n {\n text: i18n.t('corpus.singular'),\n value: `corpus.title.${this.locale}`,\n },\n {\n text: i18n.t('crime.article'),\n value: 'article',\n align: 'right',\n },\n {\n text: i18n.t('command.delete'),\n value: 'actions',\n align: 'center',\n width: '40px',\n sortable: false,\n },\n ];\n\n return headers;\n },\n },\n\n watch: {\n isOpen(nowOpen: boolean) {\n if (nowOpen) {\n this.pendingCrimeIDAdditions = [];\n this.$nextTick(() => {\n const searcher = this.$refs.crimeSearcher as any;\n searcher.reset();\n });\n }\n },\n },\n\n methods: {\n addPending(): void {\n this.$emit(\n 'input',\n _.uniq([...this.value, ...this.pendingCrimeIDAdditions]),\n );\n },\n\n deleteCrimeWithID(crimeID: number): void {\n const newIDs = _.chain(this.crimes)\n .reject({ id: crimeID })\n .map('id')\n .value();\n this.$emit('input', newIDs);\n },\n },\n\n components: {\n CrimeSearcher,\n CrimeTitle,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimesForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimesForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimesForm.vue?vue&type=template&id=5a383566&\"\nimport script from \"./CrimesForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimesForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VDataTable,VDialog,VIcon,VSpacer,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { cloneDeep, tap, set } from 'lodash';\nimport { mapGetters } from 'vuex';\n\nimport { CrimeGroup } from '@/vuex/crime/crime';\n\nimport CrimesForm from '@/components/crime/crime/CrimesForm.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n computed: {\n ...mapGetters('language', ['languages']),\n\n /**\n * crimeGroup computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n crimeGroup(): CrimeGroup {\n return this.value\n ? this.value\n : {\n id: 0,\n name: '',\n crimeIDs: [],\n };\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n if (modifier === 'trim') {\n value = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.crimeGroup), (v) => set(v, key, value)),\n );\n },\n },\n\n components: {\n CrimesForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeGroupForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeGroupForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeGroupForm.vue?vue&type=template&id=29b24632&\"\nimport script from \"./CrimeGroupForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeGroupForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport crimeAPI from '@/vuex/crime/crimeAPI';\nimport { CrimeGroup } from '@/vuex/crime/crime';\n\nimport CrimeGroupForm from '@/components/crime/group/CrimeGroupForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n isOpen: false,\n error: null as any,\n\n crimeGroup: null as CrimeGroup | null,\n };\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.crimeGroup = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.crimeGroup) {\n return;\n }\n\n this.error = null;\n try {\n const response = await crimeAPI.post('crime-groups/create ', {\n data: {\n name: this.crimeGroup.name,\n crimeIDs: this.crimeGroup.crimeIDs,\n },\n });\n\n const newState = _.get(response, 'data.data', {});\n const newID = Object.keys(newState.crimeGroup)[0];\n this.$store.commit('crime/setState', newState);\n this.$store.commit('crime/prependToTarget', {\n target: 'crimeGroupIDs',\n value: newID,\n });\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n CrimeGroupForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewCrimeGroupDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewCrimeGroupDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewCrimeGroupDialog.vue?vue&type=template&id=4ea1024f&\"\nimport script from \"./NewCrimeGroupDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewCrimeGroupDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('crimeGroup.singular'),\"loading\":_vm.loading},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('CrimeGroupForm',{model:{value:(_vm.crimeGroup),callback:function ($$v) {_vm.crimeGroup=$$v},expression:\"crimeGroup\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport crimeAPI from '@/vuex/crime/crimeAPI';\nimport { CrimeGroup } from '@/vuex/crime/crime';\n\nimport CrimeGroupForm from '@/components/crime/group/CrimeGroupForm.vue';\n\nexport default Vue.extend({\n props: {\n id: {\n type: Number,\n required: true,\n },\n },\n\n data() {\n return {\n isOpen: false,\n loading: false,\n error: null as any,\n\n crimeGroup: null as CrimeGroup | null,\n };\n },\n\n computed: {\n ...mapGetters('crime', ['crimeGroupWithID']),\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n async reset(): Promise {\n this.loading = true;\n await this.$store.dispatch('crime/fetchCrimeGroup', this.id);\n const myCopy = Object.assign({}, this.crimeGroupWithID(this.id));\n this.crimeGroup = myCopy;\n this.loading = false;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.crimeGroup) {\n return;\n }\n this.error = null;\n\n try {\n const response = await crimeAPI.post('crime-groups/update', {\n data: {\n id: this.crimeGroup.id,\n name: this.crimeGroup.name,\n crimeIDs: this.crimeGroup.crimeIDs,\n },\n });\n\n const newState = _.get(response, 'data.data', {});\n this.$store.commit('crime/setState', newState);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n CrimeGroupForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCrimeGroupDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCrimeGroupDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditCrimeGroupDialog.vue?vue&type=template&id=109e2c36&\"\nimport script from \"./EditCrimeGroupDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditCrimeGroupDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport crimeAPI from '@/vuex/crime/crimeAPI';\n\nimport CrimeAdminMenu from '@/components/crime/CrimeAdminMenu.vue';\nimport NewCrimeGroupDialog from '@/components/crime/group/NewCrimeGroupDialog.vue';\nimport EditCrimeGroupDialog from '@/components/crime/group/EditCrimeGroupDialog.vue';\n\nimport i18n from '@/i18n';\n\nexport default Vue.extend({\n created(): void {\n this.fetchData();\n },\n\n data() {\n return {\n search: '',\n loading: true,\n };\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('crime', ['allCrimeGroups']),\n ...mapState('language', ['locale']),\n\n /**\n * headers builds the VTable column headers. It needs to be a computed prop\n * so that translations of the column header text are made when the\n * translation is changed.\n */\n headers(): any[] {\n return [\n {\n text: i18n.t('command.edit'),\n value: 'id',\n align: 'center',\n width: '20px',\n sortable: false,\n },\n {\n text: i18n.t('crimeGroup.name'),\n value: `name.${this.locale}`,\n align: 'start',\n },\n {\n text: i18n.t('crimeGroup.numberOfCrimes'),\n value: 'crimeIDs',\n align: 'right',\n },\n {\n text: i18n.t('action.plural'),\n value: 'actions',\n align: 'center',\n width: '20px',\n sortable: false,\n },\n ];\n },\n },\n\n methods: {\n async deleteCrimeGroup(crimeGroupID: number): Promise {\n await crimeAPI.post('crime-groups/delete', {\n data: {\n id: crimeGroupID,\n },\n });\n this.$store.commit('crime/removeFromTarget', {\n target: 'crimeGroupIDs',\n value: crimeGroupID,\n });\n },\n\n async fetchData(): Promise {\n this.loading = true;\n this.$store.dispatch('crime/fetchCrimeGroups', { force: false });\n this.loading = false;\n },\n },\n\n components: {\n CrimeAdminMenu,\n NewCrimeGroupDialog,\n EditCrimeGroupDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeGroupList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeGroupList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeGroupList.vue?vue&type=template&id=70c569e2&\"\nimport script from \"./CrimeGroupList.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeGroupList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VContainer,VDataTable,VIcon,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pb-10\"},[_c('CrimeSearcher',{scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('CrimeAdminMenu')]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport CrimeAdminMenu from '@/components/crime/CrimeAdminMenu.vue';\nimport CrimeSearcher from '@/components/crime/CrimeSearcher.vue';\n\nexport default Vue.extend({\n components: {\n CrimeAdminMenu,\n CrimeSearcher,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeList.vue?vue&type=template&id=b4be73b8&\"\nimport script from \"./CrimeList.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',{attrs:{\"flat\":\"\",\"loading\":_vm.loading}},[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.hasPermission('admin.department.create'))?_c('NewDepartmentDialog'):_vm._e(),_c('v-spacer'),_c('v-switch',{attrs:{\"label\":\"Grouped\"},model:{value:(_vm.grouped),callback:function ($$v) {_vm.grouped=$$v},expression:\"grouped\"}})]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('department.plural')))]),_c('v-spacer'),(!_vm.grouped)?_c('v-text-field',{attrs:{\"label\":_vm.$t('search'),\"append-icon\":\"search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"search\"}}):_vm._e()],1),_c('v-card-text',[(_vm.grouped)?_c('DepartmentContainer',{staticClass:\"mt-8\",attrs:{\"parentID\":0}}):_vm._e(),(!_vm.grouped)?_c('v-data-table',{attrs:{\"items\":_vm.translatedDepartments,\"search\":_vm.search,\"headers\":_vm.headers,\"footer-props\":{ 'items-per-page-options': [10, 20, 50, 100] }},scopedSlots:_vm._u([{key:\"item.id\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('td',[(_vm.hasPermission('admin.department.create'))?_c('EditDepartmentDialog',{attrs:{\"id\":item.id},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"x-small\":\"\"}},on),[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-edit\")]),_vm._v(\" \"+_vm._s(item.id)+\" \")],1)]}}],null,true)}):_c('div',[_vm._v(\" \"+_vm._s(item.id)+\" \")])],1)]}}],null,true)}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('department.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('DepartmentForm',{model:{value:(_vm.department),callback:function ($$v) {_vm.department=$$v},expression:\"department\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"end\"}},[(!_vm.parentIsEditable)?_c('v-col',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"cols\":\"12\",\"sm\":\"8\"},on:{\"dblclick\":function($event){_vm.parentSelectorUnlocked = true}}},[(_vm.department.parentID)?_c('div',[_c('div',{staticClass:\"text-caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('department.parent'))+\" \")]),_c('div',{staticClass:\"text-subtitle-2\"},[_vm._v(\" \"+_vm._s(_vm.fullDepartmentName(_vm.department.parentID))+\" \")])]):_vm._e()]):_vm._e(),(_vm.parentIsEditable)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"8\"}},[_c('DepartmentSelector',{attrs:{\"label\":_vm.$t('department.parent'),\"value\":_vm.department.parentID,\"clearable\":\"\",\"zero-label\":\"none\"},on:{\"input\":function($event){return _vm.update('parentID', $event)}}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('sort.rank'),\"value\":_vm.department.rank},on:{\"input\":function($event){return _vm.update('rank', $event)}}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:{ isRTL: l.isRTL },attrs:{\"cols\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('department.name') + ' (' + _vm.$t(l.locale) + ')',\"value\":_vm.department.name[l.locale],\"required\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('name.' + l.locale, $event, 'trim')}}})],1)}),1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-text-field',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('##'),expression:\"'##'\"}],attrs:{\"label\":\"Department Code\",\"value\":_vm.department.code,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('code', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"8\"}},[_c('GeographySelector',{attrs:{\"label\":\"\",\"value\":_vm.department.locationGeographyID,\"max-specificity\":\"district\",\"zero-label\":\"all\"},on:{\"input\":function($event){return _vm.update('locationGeographyID', $event)}}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('department.year'),\"value\":_vm.department.year,\"placeholder\":_vm.currentYear,\"rules\":[\n function (v) { return !v ||\n v.toString().length == 0 ||\n v.toString().length == 4 ||\n _vm.$t('error.invalidFormat'); } ]},on:{\"input\":function($event){return _vm.update('year', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('IntField',{attrs:{\"label\":\"Last Case Number\",\"value\":_vm.department.lastCaseNumber,\"placeholder\":\"0\"},on:{\"input\":function($event){return _vm.update('lastCaseNumber', $event)}}})],1),(_vm.department.parentID)?_c('v-col',{staticClass:\"px-10 py-4 grey lighten-3 text-center\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-caption\"},[_vm._v(\" Next \"+_vm._s(_vm.$t('dossier.dossierNumber'))+\" \")]),_c('div',{staticClass:\"text-h4 font-weight-bold\",staticStyle:{\"font-family\":\"Consolas, Inconsolata, monospace !important\"}},[_c('span',{attrs:{\"title\":\"Ministry\"}},[_vm._v(_vm._s(_vm.ministryPart))]),_vm._v(\"-\"),_c('span',{class:_vm.departmentCodeColor,attrs:{\"title\":\"Department Code\"}},[_vm._v(_vm._s(_vm.departmentCodePart))]),_vm._v(\"-\"),_c('span',{attrs:{\"title\":_vm.fullGeographyName(this.department.locationGeographyID)}},[_vm._v(_vm._s(_vm.provincePart)+\"-\"+_vm._s(_vm.districtPart))]),_vm._v(\"-\"),_c('span',{class:_vm.yearPartColor,attrs:{\"title\":_vm.$t('time.year')}},[_vm._v(_vm._s(_vm.yearPart))]),_vm._v(\"-\"),_c('span',{attrs:{\"title\":_vm.$t('court.case.number')}},[_vm._v(_vm._s(_vm.caseNumberPart))]),_vm._v(\"-\"),_c('span',[_vm._v(\"01\")])])]):_vm._e()],1),_c('v-row',[(!_vm.department.id || _vm.legacyDepartmentsUnlocked)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('IntArrayField',{attrs:{\"label\":_vm.$t('legacyDepartment.plural'),\"value\":_vm.department.legacyDepartmentIDs},on:{\"input\":function($event){return _vm.update('legacyDepartmentIDs', $event)}}})],1):_vm._e(),(_vm.department.id && !_vm.legacyDepartmentsUnlocked)?_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\"},on:{\"dblclick\":function($event){_vm.legacyDepartmentsUnlocked = true}}},[_c('div',{staticClass:\"text-caption v-label\"},[_vm._v(\" \"+_vm._s(_vm.$t('legacyDepartment.plural'))+\" \")]),_c('div',{staticClass:\"text-h6 text--disabled\",staticStyle:{\"font-family\":\"Consolas, Inconsolata, monospace !important\"}},[_vm._v(\" \"+_vm._s(_vm.department.legacyDepartmentIDs)+\" \")])]):_vm._e(),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-caption v-label\"},[_vm._v(\"CMS1 Record Count\")]),_c('div',{staticClass:\"text-h6 text--disabled\"},[_vm._v(\" \"+_vm._s(_vm.department.cms1RecordCount)+\" \")])]),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-caption v-label\"},[_vm._v(\"CMS1 Importance (Percentile)\")]),_c('div',{staticClass:\"text-h6 text--disabled\"},[_vm._v(\" \"+_vm._s(_vm.department.cms1Importance)+\" \")])])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport jmoment from 'moment-jalaali';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { AfghanistanID, Geography } from '@/vuex/geography/geography';\nimport { Department } from '@/vuex/investigation/department';\nimport { TranslatedString } from '@/lib/translated';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n data() {\n return {\n parentSelectorUnlocked: false,\n legacyDepartmentsUnlocked: false,\n };\n },\n\n computed: {\n ...mapGetters('language', ['languages']),\n ...mapGetters('geography', [\n 'geographyWithID',\n 'provinceCode',\n 'districtCode',\n 'fullGeographyName',\n ]),\n ...mapGetters('investigation', [\n 'fullDepartmentName',\n 'departmentMinistryCode',\n ]),\n\n /**\n * department computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n department(): Department {\n return this.value\n ? this.value\n : {\n id: 0,\n name: {} as TranslatedString,\n parentID: null,\n locationGeographyID: AfghanistanID,\n year: 0,\n lastCaseNumber: 0,\n cms1RecordCount: 0,\n cms1Importance: 0,\n legacyDepartmentIDs: [],\n };\n },\n\n parentIsEditable(): boolean {\n if (!this.department.id) {\n // When creating a new Department, the parent is always editable\n return true;\n }\n // Otherwise allow editing if the parent selector has been unlocked\n return this.parentSelectorUnlocked;\n },\n\n currentYear(): string {\n return jmoment().format('jYYYY');\n },\n\n ministryPart(): string {\n return this.departmentMinistryCode(this.department.parentID);\n },\n\n departmentCodePart(): string {\n return this.department.code;\n },\n\n departmentCodeColor(): string {\n if (!this.department.code) {\n return 'error';\n }\n return '';\n },\n\n caseNumberPart(): string {\n return ((this.department.lastCaseNumber || 0) + 1)\n .toString()\n .padStart(4, '0');\n },\n\n geography(): Geography {\n return this.geographyWithID(this.department.locationGeographyID);\n },\n\n provincePart(): string {\n const code = this.provinceCode(this.department.locationGeographyID);\n return code || '??';\n },\n\n districtPart(): string {\n const code = this.districtCode(this.department.locationGeographyID);\n return code || '??';\n },\n\n yearPart(): string {\n if (this.department.year) {\n return this.department.year.toString();\n }\n return this.currentYear;\n },\n\n yearPartColor(): string {\n if (this.department.year) {\n return 'warning--text';\n }\n return '';\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.department), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DepartmentForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DepartmentForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DepartmentForm.vue?vue&type=template&id=7a8f64d8&\"\nimport script from \"./DepartmentForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./DepartmentForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { Department } from '@/vuex/investigation/department';\n\nimport DepartmentForm from '@/components/investigation/DepartmentForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n department: null as Department | null,\n isOpen: false,\n error: null as any,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.department = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.department) {\n return;\n }\n\n this.error = null;\n try {\n const response = await investigationAPI.post('departments/create', {\n data: {\n parentID: this.department.parentID || null,\n rank: this.department.rank,\n code: this.department.code,\n name: this.department.name,\n locationGeographyID: this.department.locationGeographyID,\n year: this.department.year,\n lastCaseNumber: this.department.lastCaseNumber,\n legacyDepartmentIDs: this.department.legacyDepartmentIDs,\n },\n });\n const newState = response.data.data;\n this.$store.commit('investigation/setState', newState);\n this.$store.commit('investigation/prependToTarget', {\n target: 'departmentIDs',\n value: Object.keys(newState.department),\n });\n this.$store.commit('investigation/calculateDepartmentChildStats');\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n DepartmentForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewDepartmentDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewDepartmentDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewDepartmentDialog.vue?vue&type=template&id=3d348956&\"\nimport script from \"./NewDepartmentDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewDepartmentDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('department.singular') + _vm.dialogTitle},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",null,null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('DepartmentForm',{model:{value:(_vm.updatedDepartment),callback:function ($$v) {_vm.updatedDepartment=$$v},expression:\"updatedDepartment\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { Department } from '@/vuex/investigation/department';\n\nimport DepartmentForm from '@/components/investigation/DepartmentForm.vue';\n\nexport default Vue.extend({\n props: {\n id: {\n type: Number,\n required: true,\n },\n },\n data() {\n return {\n isOpen: false,\n updatedDepartment: null as Department | null,\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('investigation', ['departmentWithID']),\n dialogTitle(): string {\n if (!this.updatedDepartment) {\n return '';\n }\n return ` #${this.updatedDepartment.id}`;\n },\n },\n watch: {\n /**\n * isOpen is watched because we need to notice when the dialog's activator\n * has been clicked (which opens the dialog). This is our trigger to fetch\n * a dialog-local copy of the object to present to the user for editing.\n */\n isOpen(nowOpening: boolean): void {\n if (nowOpening && this.id) {\n const myCopy = Object.assign({}, this.departmentWithID(this.id));\n this.updatedDepartment = myCopy;\n }\n },\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.updatedDepartment = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.updatedDepartment) {\n return;\n }\n this.error = null;\n try {\n const response = await investigationAPI.post('departments/update', {\n data: {\n id: this.updatedDepartment.id,\n parentID: this.updatedDepartment.parentID,\n rank: this.updatedDepartment.rank,\n code: this.updatedDepartment.code,\n name: this.updatedDepartment.name,\n locationGeographyID: this.updatedDepartment.locationGeographyID,\n year: this.updatedDepartment.year,\n lastCaseNumber: this.updatedDepartment.lastCaseNumber,\n legacyDepartmentIDs: this.updatedDepartment.legacyDepartmentIDs,\n },\n });\n\n // Update Vuex state\n const newState = response.data.data;\n this.$store.commit('investigation/setState', newState);\n this.$store.commit('investigation/calculateDepartmentChildStats');\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n DepartmentForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditDepartmentDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditDepartmentDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditDepartmentDialog.vue?vue&type=template&id=616a180a&\"\nimport script from \"./EditDepartmentDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditDepartmentDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.containers.length)?_c('v-expansion-panels',{staticClass:\"mt-4\",attrs:{\"multiple\":\"\"}},_vm._l((_vm.containers),function(department){return _c('v-expansion-panel',{key:department.id},[_c('v-expansion-panel-header',{attrs:{\"color\":\"grey lighten-4\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\",\"justify\":\"space-between\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[(_vm.hasPermission('admin.department.create'))?_c('EditDepartmentDialog',{attrs:{\"id\":department.id}}):_vm._e(),_c('span',{staticClass:\"text--disabled px-2\"},[_vm._v(_vm._s(department.code))]),_vm._v(\" \"+_vm._s(department.name[_vm.locale])+\" \")],1),_c('v-col',{staticClass:\"text-center text--disabled\",attrs:{\"cols\":\"6\"}},[_vm._v(\" ( \"+_vm._s(_vm.departmentChildCount(department.id))+\" Child Departments ) \")])],1)],1),_c('v-expansion-panel-content',[_c('DepartmentContainer',{attrs:{\"parentID\":department.id}})],1)],1)}),1):_vm._e(),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[(_vm.searchable)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"5\",\"md\":\"4\"}},[_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"search\",\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"search\"}})],1):_vm._e(),(_vm.selected.length)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('CMSFormDialog',{attrs:{\"title\":\"Move Departments\"},on:{\"reset\":function($event){_vm.newParentID = _vm.parentID},\"save\":_vm.move},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"color\":\"accent\"}},on),[_vm._v(\" Move \"+_vm._s(_vm.selected.length)+\" Departments \")])]}}],null,false,3122552193),model:{value:(_vm.isMoveOpen),callback:function ($$v) {_vm.isMoveOpen=$$v},expression:\"isMoveOpen\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('DepartmentSelector',{attrs:{\"rules\":[\n function (v) { return !!v || _vm.$t('error.required'); },\n function (v) { return !_vm.selectedIDs.includes(_vm.newParentID) ||\n _vm.$t('error.invalidChoice'); } ],\"zero-label\":\"none\"},model:{value:(_vm.newParentID),callback:function ($$v) {_vm.newParentID=$$v},expression:\"newParentID\"}})],1)],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('CMSFormDialog',{attrs:{\"title\":\"Delete Departments\",\"color\":\"error\"},on:{\"reset\":function($event){_vm.replacementID = _vm.parentID},\"save\":_vm.replace},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"color\":\"error\"}},on),[_vm._v(\" Delete (Merge) \"+_vm._s(_vm.selected.length)+\" Departments \")])]}}],null,false,3749167382),model:{value:(_vm.isReplaceOpen),callback:function ($$v) {_vm.isReplaceOpen=$$v},expression:\"isReplaceOpen\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Deleting: \"),_vm._l((_vm.selected),function(department){return _c('div',{key:department.id},[_vm._v(\" \"+_vm._s(department.name[_vm.locale])+\" \")])})],2),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('DepartmentSelector',{attrs:{\"label\":\"Migrate Associated Data to Replacement Department\",\"rules\":[\n function (v) { return !!v || _vm.$t('error.required'); },\n function (v) { return !_vm.selectedIDs.includes(_vm.replacementID) ||\n _vm.$t('error.invalidChoice'); } ],\"zero-label\":\"none\"},model:{value:(_vm.replacementID),callback:function ($$v) {_vm.replacementID=$$v},expression:\"replacementID\"}})],1)],1)],1)],1)],1)],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.uncontainedDepartments.length)?_c('v-data-table',{attrs:{\"show-select\":\"\",\"items\":_vm.uncontainedDepartments,\"headers\":_vm.headers,\"search\":_vm.search,\"page\":_vm.page,\"hide-default-footer\":!_vm.paginated,\"disable-sorting\":\"\",\"disable-pagination\":!_vm.paginated,\"footer-props\":{\n itemsPerPageText: _vm.$t('uiElements.rowsPerPage'),\n }},on:{\"update:page\":function($event){_vm.page=$event}},scopedSlots:_vm._u([{key:\"item.id\",fn:function(ref){\n var item = ref.item;\nreturn [_c('td',[(_vm.hasPermission('admin.department.create'))?_c('EditDepartmentDialog',{attrs:{\"id\":item.id}}):_c('div',[_vm._v(_vm._s(item.id))])],1)]}}],null,true),model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Department } from '@/vuex/investigation/department';\n\nimport NewDepartmentDialog from '@/components/investigation/NewDepartmentDialog.vue';\nimport EditDepartmentDialog from '@/components/investigation/EditDepartmentDialog.vue';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\n\nexport default Vue.extend({\n name: 'DepartmentContainer',\n props: {\n parentID: Number,\n },\n data() {\n return {\n search: '',\n page: 1,\n newParentID: this.parentID,\n isMoveOpen: false,\n isReplaceOpen: false,\n replacementID: 0,\n selected: [],\n };\n },\n computed: {\n ...mapGetters('investigation', [\n 'departmentsUnder',\n 'departmentChildCount',\n ]),\n ...mapGetters('geography', ['fullGeographyName']),\n ...mapGetters('auth', ['hasPermission']),\n ...mapState('language', ['locale']),\n\n departments(): Department[] {\n return this.departmentsUnder(this.parentID);\n },\n\n selectedIDs(): number[] {\n return _.map(this.selected, 'id');\n },\n\n /**\n * translatedDepartments returns an array of Departments with the name attribute\n * converted from a TranslatedString to the string for the active locale,\n * and adds a locationGeography attibute set to the full name of the geography.\n * This is done so that the v-data-table's search can interact with these\n * fields instead of the Object or number which underlie them.\n */\n translatedDepartments(): any[] {\n return _.chain(this.departments)\n .map((department) =>\n Object.assign({}, department, {\n translatedName: department.name[this.locale], //\n locationGeography: this.fullGeographyName(\n department.locationGeographyID,\n ),\n rank: department.rank || 999999, // Sort blank ranks to the end\n }),\n )\n .orderBy(['rank', 'translatedName'])\n .value();\n },\n\n containers(): Department[] {\n return _.filter(\n this.translatedDepartments,\n (d: Department) => d.childCount && d.childCount > 0,\n );\n },\n\n uncontainedDepartments(): Department[] {\n return _.filter(\n this.translatedDepartments,\n (d: Department) => !d.childCount || d.childCount < 1,\n );\n },\n\n /**\n * headers builds the column header metadata for the v-data-table\n */\n headers(): any[] {\n const h = [\n {\n text: this.hasPermission('admin.department.create')\n ? this.$i18n.t('command.edit')\n : 'ID',\n value: 'id',\n width: '2%',\n sortable: false,\n },\n {\n text: 'Code',\n value: 'code',\n align: 'right',\n },\n {\n text: this.$i18n.t('person.name'),\n value: 'translatedName',\n },\n {\n text: this.$i18n.t('location.singular'),\n value: 'locationGeography',\n },\n {\n text: 'CMS1 Records',\n value: 'cms1RecordCount',\n align: 'right',\n },\n {\n text: 'CMS 1 Importance',\n value: 'cms1Importance',\n align: 'right',\n },\n ];\n return h;\n },\n\n searchable(): boolean {\n return this.uncontainedDepartments.length > 10;\n },\n\n paginated(): boolean {\n return this.uncontainedDepartments.length > 10;\n },\n },\n watch: {\n search(newVal: string) {\n // Always jump to page 1 after the search changes\n this.page = 1;\n },\n parentID(newID: number) {\n this.newParentID = newID;\n },\n isReplaceOpen() {\n this.replacementID = 0;\n },\n },\n methods: {\n async move(): Promise {\n const response = await investigationAPI.post('/departments/move', {\n data: {\n oldParentID: this.parentID,\n newParentID: this.newParentID,\n childIDs: this.selectedIDs,\n },\n });\n const newState = response.data.data;\n this.$store.commit('investigation/setState', newState);\n this.$store.commit('investigation/calculateDepartmentChildStats');\n this.selected = [];\n this.isMoveOpen = false;\n },\n async replace(): Promise {\n const response = await investigationAPI.post('/departments/replace', {\n data: {\n oldDepartmentIDs: this.selectedIDs,\n newDepartmentID: this.replacementID,\n },\n });\n const newState = response.data.data;\n this.$store.commit('investigation/setState', newState);\n this.$store.commit('investigation/calculateDepartmentChildStats');\n this.selected = [];\n this.isReplaceOpen = false;\n },\n },\n components: {\n EditDepartmentDialog,\n NewDepartmentDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DepartmentContainer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DepartmentContainer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DepartmentContainer.vue?vue&type=template&id=66deabe8&\"\nimport script from \"./DepartmentContainer.vue?vue&type=script&lang=ts&\"\nexport * from \"./DepartmentContainer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCol,VDataTable,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VRow,VSpacer,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport NewDepartmentDialog from '@/components/investigation/NewDepartmentDialog.vue';\nimport EditDepartmentDialog from '@/components/investigation/EditDepartmentDialog.vue';\nimport DepartmentContainer from '@/components/investigation/DepartmentContainer.vue';\n\nexport default Vue.extend({\n data() {\n return {\n loading: true,\n search: '',\n grouped: true,\n };\n },\n created() {\n this.fetchData();\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('geography', ['fullGeographyName']),\n ...mapGetters('investigation', ['allDepartments']),\n ...mapGetters('auth', ['hasPermission']),\n\n /**\n * translatedDepartments returns an array of Departments with the name attribute\n * converted from a TranslatedString to the string for the active locale,\n * and adds a locationGeography attibute set to the full name of the geography.\n * This is done so that the v-data-table's search can interact with these\n * fields instead of the Object or number which underlie them.\n */\n translatedDepartments(): any[] {\n return _.chain(this.allDepartments)\n .map((department) =>\n Object.assign({}, department, {\n translatedName: department.name[this.locale], //\n locationGeography: this.fullGeographyName(\n department.locationGeographyID,\n ),\n }),\n )\n .orderBy('translatedName')\n .value();\n },\n\n /**\n * headers builds the column header metadata for the v-data-table\n */\n headers(): any[] {\n const h = [\n {\n text: this.hasPermission('admin.department.create')\n ? this.$i18n.t('command.edit')\n : 'ID',\n value: 'id',\n width: '2%',\n sortable: false,\n },\n {\n text: 'Code',\n value: 'code',\n align: 'right',\n },\n {\n text: this.$i18n.t('person.name'),\n value: 'translatedName',\n },\n {\n text: this.$i18n.t('location.singular'),\n value: 'locationGeography',\n },\n {\n text: this.$i18n.t('legacyDepartment.plural'),\n value: 'legacyDepartmentIDs',\n },\n {\n text: 'CMS1 Records',\n value: 'cms1RecordCount',\n align: 'right',\n },\n {\n text: 'CMS 1 Importance',\n value: 'cms1Importance',\n align: 'right',\n },\n ];\n return h;\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n await this.$store.dispatch('investigation/fetchDepartments');\n this.loading = false;\n },\n },\n components: {\n DepartmentContainer,\n EditDepartmentDialog,\n NewDepartmentDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DepartmentList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DepartmentList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DepartmentList.vue?vue&type=template&id=5d8507da&\"\nimport script from \"./DepartmentList.vue?vue&type=script&lang=ts&\"\nexport * from \"./DepartmentList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VContainer,VDataTable,VIcon,VSpacer,VSwitch,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.canAdd)?_c('NewDocketEventTypeDialog'):_vm._e(),_c('v-spacer'),_c('v-checkbox',{attrs:{\"label\":_vm.$t('advancedSearch')},model:{value:(_vm.advancedSearch),callback:function ($$v) {_vm.advancedSearch=$$v},expression:\"advancedSearch\"}})]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('docketEventType.plural')))]),_c('v-spacer'),_c('v-text-field',{attrs:{\"label\":_vm.$t('search'),\"append-icon\":\"search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.criteria.q),callback:function ($$v) {_vm.$set(_vm.criteria, \"q\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"criteria.q\"}})],1),_c('v-card-text',{staticClass:\"py-10\"},[(_vm.advancedSearch)?_c('div',[_c('v-row',{attrs:{\"align\":\"start\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":_vm.criteria.willChangeDossierStage ? 2 : 6}},[_c('BooleanSelector',{attrs:{\"label\":_vm.$t('docketEventType.willChangeDossierStage'),\"unknown-label\":_vm.$t('all')},model:{value:(_vm.criteria.willChangeDossierStage),callback:function ($$v) {_vm.$set(_vm.criteria, \"willChangeDossierStage\", $$v)},expression:\"criteria.willChangeDossierStage\"}})],1),(_vm.criteria.willChangeDossierStage)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('docketEventType.newDossierStage'),\"items\":\"court/dossierStages\",\"clearable\":\"\"},model:{value:(_vm.criteria.newDossierStageID),callback:function ($$v) {_vm.$set(_vm.criteria, \"newDossierStageID\", $$v)},expression:\"criteria.newDossierStageID\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":_vm.criteria.willChangeDossierStatus ? 2 : 6}},[_c('BooleanSelector',{attrs:{\"label\":_vm.$t('docketEventType.willChangeDossierStatus'),\"unknown-label\":_vm.$t('all')},model:{value:(_vm.criteria.willChangeDossierStatus),callback:function ($$v) {_vm.$set(_vm.criteria, \"willChangeDossierStatus\", $$v)},expression:\"criteria.willChangeDossierStatus\"}})],1),(_vm.criteria.willChangeDossierStatus)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('docketEventType.newDossierStatus'),\"items\":\"court/dossierStatuses\",\"zero-label\":\"all\",\"clearable\":\"\"},model:{value:(_vm.criteria.newDossierStatusID),callback:function ($$v) {_vm.$set(_vm.criteria, \"newDossierStatusID\", $$v)},expression:\"criteria.newDossierStatusID\"}})],1):_vm._e()],1),_c('v-row',{attrs:{\"align\":\"start\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":_vm.criteria.willChangeCourtStage ? 1 : 4}},[_c('BooleanSelector',{attrs:{\"label\":_vm.$t('docketEventType.willChangeCourtStage'),\"unknown-label\":_vm.$t('all')},model:{value:(_vm.criteria.willChangeCourtStage),callback:function ($$v) {_vm.$set(_vm.criteria, \"willChangeCourtStage\", $$v)},expression:\"criteria.willChangeCourtStage\"}})],1),(_vm.criteria.willChangeCourtStage)?_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('docketEventType.newCourtStage'),\"items\":\"court/courtStages\",\"zero-label\":\"all\",\"clearable\":\"\"},model:{value:(_vm.criteria.newCourtStageID),callback:function ($$v) {_vm.$set(_vm.criteria, \"newCourtStageID\", $$v)},expression:\"criteria.newCourtStageID\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":_vm.criteria.willChangeCaseStatus ? 1 : 4}},[_c('BooleanSelector',{attrs:{\"label\":_vm.$t('docketEventType.willChangeCaseStatus'),\"unknown-label\":_vm.$t('all')},model:{value:(_vm.criteria.willChangeCaseStatus),callback:function ($$v) {_vm.$set(_vm.criteria, \"willChangeCaseStatus\", $$v)},expression:\"criteria.willChangeCaseStatus\"}})],1),(_vm.criteria.willChangeCaseStatus)?_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('docketEventType.newCaseStatus'),\"items\":\"court/caseStatuses\",\"zero-label\":\"all\",\"clearable\":\"\"},model:{value:(_vm.criteria.newCaseStatusID),callback:function ($$v) {_vm.$set(_vm.criteria, \"newCaseStatusID\", $$v)},expression:\"criteria.newCaseStatusID\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-select',{attrs:{\"label\":\"Field Type\",\"items\":_vm.docketEventFieldTypes,\"clearable\":\"\"},model:{value:(_vm.criteria.customFieldType),callback:function ($$v) {_vm.$set(_vm.criteria, \"customFieldType\", $$v)},expression:\"criteria.customFieldType\"}})],1)],1),_c('v-row',{attrs:{\"align\":\"start\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('BooleanSelector',{attrs:{\"label\":_vm.$t('docketEventType.willChangeDepartment'),\"unknown-label\":_vm.$t('all')},model:{value:(_vm.criteria.willChangeDepartment),callback:function ($$v) {_vm.$set(_vm.criteria, \"willChangeDepartment\", $$v)},expression:\"criteria.willChangeDepartment\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('BooleanSelector',{attrs:{\"label\":_vm.$t('dossier.setAwarenessNumber'),\"unknown-label\":_vm.$t('all')},model:{value:(_vm.criteria.willSetAwarenessNumber),callback:function ($$v) {_vm.$set(_vm.criteria, \"willSetAwarenessNumber\", $$v)},expression:\"criteria.willSetAwarenessNumber\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('BooleanSelector',{attrs:{\"label\":_vm.$t('docketEventType.willFinalizeDossier'),\"unknown-label\":_vm.$t('all')},model:{value:(_vm.criteria.willFinalizeDossier),callback:function ($$v) {_vm.$set(_vm.criteria, \"willFinalizeDossier\", $$v)},expression:\"criteria.willFinalizeDossier\"}})],1)],1)],1):_vm._e(),_c('v-expansion-panels',{attrs:{\"multiple\":\"\"}},_vm._l((_vm.filteredModules),function(module){return _c('v-expansion-panel',{key:module},[_c('v-expansion-panel-header',{staticClass:\"text-h5\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('docketEventType.module.' + module))+\" \"),_c('v-chip',{staticClass:\"ms-2\",attrs:{\"small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.moduleEventCounts[module])+\" \")])],1)]),_c('v-expansion-panel-content',[_c('v-expansion-panels',{attrs:{\"flat\":\"\",\"multiple\":\"\"}},_vm._l((_vm.categoriesForModule(module)),function(category){return _c('v-expansion-panel',{key:category.id},[_c('v-expansion-panel-header',{staticClass:\"text-h6\"},[_c('span',[_vm._v(\" \"+_vm._s(category.name[_vm.locale])+\" \"),_c('v-chip',{staticClass:\"ms-2\",attrs:{\"small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.groupedDocketEventTypesForModule(module)[category.id] .length)+\" \")])],1)]),_c('v-expansion-panel-content',[_c('v-data-table',{attrs:{\"headers\":_vm.headersForModule(module),\"no-data-text\":_vm.$t('error.nodata'),\"items\":_vm.groupedDocketEventTypesForModule(module)[category.id],\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',{key:item.id,class:{ isDeleted: item.isDiscontinued }},[(_vm.canAdd)?_c('td',{staticClass:\"text-center\"},[_c('EditDocketEventTypeDialog',{attrs:{\"id\":item.id}})],1):_vm._e(),_c('td',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s(item.rank ? item.rank : '')+\" \")]),_c('td',[_vm._v(_vm._s(item.translatedName))]),_c('td',[_vm._v(_vm._s(item.translatedCaseTypes.join(', ')))]),(module != 'court')?_c('td',[_vm._v(\" \"+_vm._s(item.translatedDossierStages.join(', '))+\" \")]):_vm._e(),(module == 'court')?_c('td',[_vm._v(\" \"+_vm._s(item.translatedCourtStages.join(', '))+\" \")]):_vm._e()])]}}],null,true)})],1)],1)}),1)],1)],1)}),1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('docketEventType.singular') + ' #' + _vm.id},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('DocketEventTypeForm',{model:{value:(_vm.docketEventType),callback:function ($$v) {_vm.docketEventType=$$v},expression:\"docketEventType\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-select',{attrs:{\"label\":_vm.$t('docketEventType.module.module') + ' / Docket',\"items\":_vm.moduleChoices,\"value\":_vm.docketEventType.module},on:{\"input\":function($event){return _vm.update('module', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('category.singular'),\"items\":\"court/docketEventCategories\",\"value\":_vm.docketEventType.categoryID},on:{\"input\":function($event){return _vm.update('categoryID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"4\",\"md\":\"2\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('sort.rank'),\"value\":_vm.docketEventType.rank},on:{\"input\":function($event){return _vm.update('rank', $event)}}})],1)],1),_c('v-row',_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:{ isRTL: l.isRTL },attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('docketEventType.name') + ' (' + _vm.$t(l.locale) + ')',\"value\":_vm.docketEventType.name[l.locale],\"required\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('name.' + l.locale, $event, 'trim')}}})],1)}),1),_c('v-row',{attrs:{\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('CaseTypeSelector',{attrs:{\"label\":_vm.$t('docketEventType.allowedCaseTypes'),\"value\":_vm.docketEventType.allowedCaseTypes,\"rules\":[function (v) { return v.length > 0 || _vm.$t('error.required'); }],\"multiple\":\"\",\"chips\":\"\"},on:{\"input\":function($event){return _vm.update('allowedCaseTypes', $event)}}})],1),(_vm.docketEventType.module == 'court')?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('CourtStageSelector',{attrs:{\"label\":_vm.$t('docketEventType.allowedStages'),\"value\":_vm.docketEventType.allowedCourtStageIDs,\"rules\":[function (v) { return v.length > 0 || _vm.$t('error.required'); }],\"multiple\":\"\",\"chips\":\"\",\"include-unknown\":\"\"},on:{\"input\":function($event){return _vm.update('allowedCourtStageIDs', $event)}}})],1):_vm._e(),(_vm.docketEventType.module == 'investigation')?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('docketEventType.allowedDossierStages'),\"items\":\"court/dossierStages\",\"value\":_vm.docketEventType.allowedDossierStageIDs,\"rules\":[function (v) { return v.length > 0 || _vm.$t('error.required'); }],\"multiple\":\"\",\"chips\":\"\",\"include-unknown\":\"\"},on:{\"input\":function($event){return _vm.update('allowedDossierStageIDs', $event)}}})],1):_vm._e()],1),(!_vm.isCourtModule)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('docketEventType.willChangeDossierStage'),\"input-value\":_vm.docketEventType.willChangeDossierStage},on:{\"change\":function($event){return _vm.update('willChangeDossierStage', !!$event)}}})],1),(_vm.docketEventType.willChangeDossierStage)?_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('docketEventType.newDossierStage'),\"items\":\"court/dossierStages\",\"value\":_vm.docketEventType.newDossierStageID},on:{\"input\":function($event){return _vm.update('newDossierStageID', $event)}}})],1):_vm._e()],1):_vm._e(),(_vm.isCourtModule)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('docketEventType.willChangeCourtStage'),\"input-value\":_vm.docketEventType.willChangeCourtStage},on:{\"change\":function($event){return _vm.update('willChangeCourtStage', !!$event)}}})],1),(_vm.docketEventType.willChangeCourtStage)?_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('CourtStageSelector',{attrs:{\"label\":_vm.$t('docketEventType.newCourtStage'),\"value\":_vm.docketEventType.newCourtStageID,\"include-unknown\":\"\"},on:{\"input\":function($event){return _vm.update('newCourtStageID', $event)}}})],1):_vm._e()],1):_vm._e(),(!_vm.isCourtModule)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('docketEventType.willChangeDossierStatus'),\"input-value\":_vm.docketEventType.willChangeDossierStatus},on:{\"change\":function($event){return _vm.update('willChangeDossierStatus', !!$event)}}})],1),(_vm.docketEventType.willChangeDossierStatus)?_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('docketEventType.newDossierStatus'),\"items\":\"court/dossierStatuses\",\"value\":_vm.docketEventType.newDossierStatusID},on:{\"input\":function($event){return _vm.update('newDossierStatusID', $event)}}})],1):_vm._e()],1):_vm._e(),(_vm.isCourtModule)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('docketEventType.willChangeCaseStatus'),\"input-value\":_vm.docketEventType.willChangeCaseStatus},on:{\"change\":function($event){return _vm.update('willChangeCaseStatus', !!$event)}}})],1),(_vm.docketEventType.willChangeCaseStatus)?_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('docketEventType.newCaseStatus'),\"items\":\"court/caseStatuses\",\"value\":_vm.docketEventType.newCaseStatusID,\"exclude-unknown\":\"\"},on:{\"input\":function($event){return _vm.update('newCaseStatusID', $event)}}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"4\"}}),(_vm.willDisposeCase)?_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('court.dispositionReason'),\"items\":\"court/dispositionReasons\",\"value\":_vm.docketEventType.caseDispositionReasonID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('caseDispositionReasonID', $event)}}})],1):_vm._e()],1):_vm._e(),(!_vm.isCourtModule)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('docketEventType.willChangeDepartment'),\"input-value\":_vm.docketEventType.willChangeDepartment},on:{\"change\":function($event){return _vm.update('willChangeDepartment', !!$event)}}})],1),(_vm.docketEventType.willChangeDepartment)?_c('v-col',{attrs:{\"cols\":\"8\"}}):_vm._e()],1):_vm._e(),(_vm.isInvestigationModule)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('docketEventType.willFinalizeDossier'),\"input-value\":_vm.docketEventType.willFinalizeDossier},on:{\"change\":function($event){return _vm.update('willFinalizeDossier', !!$event)}}})],1)],1):_vm._e(),(_vm.isInvestigationModule)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('dossier.setAwarenessNumber'),\"input-value\":_vm.docketEventType.willSetAwarenessNumber},on:{\"change\":function($event){return _vm.update('willSetAwarenessNumber', !!$event)}}})],1)],1):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CustomFieldsTable',{attrs:{\"value\":_vm.docketEventType.fields},on:{\"input\":function($event){return _vm.update('fields', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('docketEventType.isDiscontinued'),\"input-value\":_vm.docketEventType.isDiscontinued},on:{\"change\":function($event){return _vm.update('isDiscontinued', $event)}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(\"Custom Fields\")]),_c('AddCustomFieldDialog',{attrs:{\"alreadyUsedNames\":_vm.alreadyUsedNames},on:{\"save\":function($event){return _vm.addField($event)}}})],1),_c('v-card-text',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"items\":_vm.value,\"headers\":_vm.headers,\"disable-sort\":\"\",\"hide-default-footer\":\"\",\"disable-pagination\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('Draggable',{attrs:{\"value\":_vm.value,\"tag\":\"tbody\"},on:{\"input\":function($event){return _vm.$emit('input', $event)}}},_vm._l((_vm.value),function(item,index){return _c('tr',{key:index},[_c('td',{staticClass:\"text--disabled\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-bars\")])],1),_c('td',[_c('EditCustomFieldDialog',{model:{value:(_vm.value[index]),callback:function ($$v) {_vm.$set(_vm.value, index, $$v)},expression:\"value[index]\"}})],1),_c('td',[(item.label[_vm.locale])?_c('div',[_vm._v(\" \"+_vm._s(item.label[_vm.locale])+\" \")]):_vm._e(),_c('div',{staticClass:\"text--disabled\",staticStyle:{\"font-size\":\"11px\",\"font-family\":\"Monaco, monospaced\"}},[_vm._v(\" \"+_vm._s(item.name)+\" \"),(item.isRequired)?_c('v-icon',{attrs:{\"right\":\"\",\"x-small\":\"\",\"color\":\"success\"}},[_vm._v(\" fa-check \")]):_vm._e()],1)]),_c('td',[_vm._v(_vm._s(item.type))]),_c('td',[(item.type == 'LookupTable')?_c('span',[_vm._v(\" \"+_vm._s(item.typeArgs.tableName)+\" \")]):_vm._e(),(item.type == 'AddParticipant')?_c('span',[(item.typeArgs.partyTypeID !== 0)?_c('span',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( item.typeArgs.partyTypeID, _vm.partyTypes ))+\" \")]):_vm._e(),(item.typeArgs.partyTypeID === 0)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('all'))+\" \")]):_vm._e()]):_vm._e()]),_c('td',[(!item.example)?_c('ConfirmationButton',{attrs:{\"icon\":\"\",\"x-small\":\"\",\"prompt\":_vm.$t('command.delete') + ' ' + item.label[_vm.locale]},on:{\"confirm\":function($event){return _vm.deleteField(index)}}},[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"fa-trash-alt\")])],1):_vm._e()],1)])}),0)]},proxy:true}])})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-alert',{attrs:{\"type\":\"info\"}},[_c('p',[_vm._v(\" All Docket Event Types automatically include the following fields: \")]),_c('p',[_vm._v(\" A \"),_c('strong',[_vm._v(\"Filed At\")]),_vm._v(\" date which represents the date the event occurred. Example: A \\\"Rejection by Letter\\\" event. The user would enter the date the rejection occurred in the Filed At field. It defaults to the current date, but users are able to change it when \\\"backfilling\\\" data. \"),_c('strong',[_vm._v(\" For most event types, this is the only date field which will be needed. \")])]),_c('p',[_vm._v(\" A \"),_c('strong',[_vm._v(\"Registered At\")]),_vm._v(\" date is also automatically tracked. This will record the date the operator entered the event into CMS. The user will not see this. It is used for reporting only. \")]),_c('p',[_c('strong',[_vm._v(\"Attachments\")]),_vm._v(\" will allow the user to attach one or more documents or images associated with the occurrence of the event. \")])])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"buttonSize\":\"small\",\"title\":\"Custom Field\",\"max-width\":\"700px\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('CustomFieldForm',{attrs:{\"alreadyUsedNames\":_vm.alreadyUsedNames},model:{value:(_vm.customField),callback:function ($$v) {_vm.customField=$$v},expression:\"customField\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},[_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:{ isRTL: l.isRTL },attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":(\"Label (\" + (_vm.$t(l.locale)) + \")\"),\"value\":_vm.customField.label[l.locale],\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('label.' + l.locale, $event, 'trim')}}})],1)}),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{staticStyle:{\"font-family\":\"Monaco, monospaced\"},attrs:{\"label\":\"Internal Field Name (Source Code)\",\"value\":_vm.customField.name,\"rules\":[\n function (v) { return !!v || _vm.$t('error.required'); },\n function (v) { return _vm.isUnique(v) || _vm.$t('error.unique'); },\n function (v) { return _vm.isAlphaNumeric(v) || _vm.$t('error.alphanumeric'); } ],\"disabled\":_vm.disableRename,\"hint\":\"Do not change unless instructed by developer. No spaces. Must be in English, camelCase, and unique.\"},on:{\"input\":function($event){return _vm.update('name', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-select',{attrs:{\"label\":\"Field Type\",\"value\":_vm.customField.type,\"items\":_vm.fieldTypes,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"disabled\":_vm.disableTypeChange},on:{\"input\":function($event){return _vm.update('type', $event)}}})],1),(_vm.customField.type == 'LookupTable')?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-select',{attrs:{\"label\":\"Lookup Table\",\"value\":_vm.customField.typeArgs.tableName,\"items\":_vm.tableNameOptions,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"disabled\":_vm.disableTypeChange},on:{\"input\":function($event){return _vm.update('typeArgs.tableName', $event)}}})],1):_vm._e(),(_vm.customField.type == 'AddParticipant')?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('PartyTypeSelector',{attrs:{\"label\":\"Allowed Party Type\",\"value\":_vm.customField.typeArgs.partyTypeID || 0,\"include-unknown\":\"\",\"zero-label\":\"all\",\"disabled\":_vm.disableTypeChange,\"rules\":[function (v) { return !!v || v === 0 || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('typeArgs.partyTypeID', $event)}}})],1):_vm._e(),(\n _vm.customField.type == 'FeeAssessment' || _vm.customField.type == 'FeePayment'\n )?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('fee.category.singular'),\"items\":\"court/feeCategories\",\"value\":_vm.customField.typeArgs.feeCategoryID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('typeArgs.feeCategoryID', $event)}}})],1):_vm._e(),(_vm.customField.type == 'FeeAssessment')?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AssessmentAmountSelector',{attrs:{\"label\":\"Allowed Choices\",\"value\":_vm.customField.typeArgs.allowedChoices,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"multiple\":\"\",\"chips\":\"\"},on:{\"input\":function($event){return _vm.update('typeArgs.allowedChoices', $event)}}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":\"Required\",\"input-value\":_vm.customField.isRequired},on:{\"change\":function($event){return _vm.update('isRequired', !!$event)}}})],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { TranslatedString } from '@/lib/translated';\nimport { DocketEventTypeModule } from '@/vuex/court/options';\n\nexport interface CustomFieldType {\n name: string;\n unlabelled: boolean;\n supportedModules?: DocketEventTypeModule[];\n}\n\nexport const CustomFieldTypes = [\n { name: 'AddSubjectProperties' },\n { name: 'AddSubjectProperty' },\n { name: 'AFNCurrencyField' },\n { name: 'AddParticipant' },\n { name: 'BooleanSelector' },\n { name: 'CivilDecision', noLabel: true, },\n { name: 'CriminalDecision', noLabel: true },\n { name: 'CourtSelector' },\n { name: 'DateField' },\n { name: 'DefendantCharges' },\n { name: 'DepartmentSelector' },\n { name: 'DossierCaseSelector' },\n { name: 'DossierLookupField' },\n { name: 'FeeAssessment' },\n { name: 'FeePayment' },\n { name: 'GeographySelector' },\n { name: 'HeadOfCourtSelector' },\n { name: 'IssueSummons' },\n { name: 'IntField' },\n { name: 'JudgeSelector' },\n { name: 'LookupTable' },\n { name: 'ParticipantDecisionEditor' },\n { name: 'PartySelector' },\n { name: 'PhoneField' },\n { name: 'RemoveParty' },\n { name: 'RemoveSubjectProperty' },\n { name: 'SubjectPropertySelector' },\n { name: 'SubjectPropertyEditor' },\n { name: 'TextField' },\n];\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"label\":_vm.label || _vm.$t('fee.amount'),\"value\":_vm.value,\"items\":_vm.feeChoices,\"hint\":_vm.hint,\"rules\":_vm.rules,\"chips\":_vm.chips,\"readonly\":_vm.readonly,\"multiple\":_vm.multiple,\"disabled\":_vm.disabled,\"persistent-hint\":_vm.persistentHint},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport i18n from '@/i18n';\n\nexport default Vue.extend({\n props: {\n label: String,\n hint: String,\n persistentHint: Boolean,\n value: [Number, Array],\n multiple: Boolean,\n chips: Boolean,\n disabled: Boolean,\n readonly: Boolean,\n required: Boolean,\n rules: Array,\n items: Array,\n },\n\n data() {\n return {\n /**\n * fixedValueChoices holds the array of fixed fee assessment amounts that\n * are allowed, measured in AFN.\n */\n fixedValueChoices: [0, 200, 300, 500, 1000, 5000],\n\n /**\n * percentageChoices holds the array of percentages of the disputed value\n * which are allowed for selection (e.g. 1%, 2%, 5%, 10%).\n */\n percentageChoices: [0.01, 0.02, 0.05, 0.1],\n };\n },\n\n computed: {\n itemsProvided(): boolean {\n return this.items && this.items.length > 0;\n },\n\n feeChoices(): any[] {\n const choices = [] as any[];\n\n // Add fixed value fee amount choices\n let numbers = this.fixedValueChoices.map((n) => n * 100); // Convert from AFN to Puls\n if (this.itemsProvided) {\n numbers = _.intersection(numbers, this.items) as number[];\n }\n choices.push(\n ...numbers.map((amount: number) => ({\n value: amount,\n text:\n amount === 0\n ? i18n.t('fee.exempt').toString()\n : amount / 100 + ' ' + i18n.t('currency.afghani').toString(), // Convert from Puls to AFN when displaying\n })),\n );\n\n // Add percentage value choices\n let percents = this.percentageChoices;\n if (this.itemsProvided) {\n percents = _.intersection(percents, this.items) as number[];\n }\n choices.push(\n ...percents.map((percentage) => ({\n value: percentage,\n text:\n (percentage * 100).toFixed(0) +\n '%' +\n ' ' +\n i18n.t('fee.valueOfLawsuit').toString(),\n })),\n );\n\n return choices;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssessmentAmountSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssessmentAmountSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AssessmentAmountSelector.vue?vue&type=template&id=4dfb47a9&\"\nimport script from \"./AssessmentAmountSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./AssessmentAmountSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _, { camelCase, cloneDeep, includes, set, tap } from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\nimport { CustomField } from '@/vuex/court/options';\nimport { CustomFieldTypes } from '@/vuex/court/customFieldType';\n\nimport AssessmentAmountSelector from '@/components/court/fee/AssessmentAmountSelector.vue';\nimport PartyTypeSelector from '@/components/dossier/PartyTypeSelector.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n disableRename: Boolean,\n disableTypeChange: Boolean,\n alreadyUsedNames: Array,\n editing: {\n type: Boolean,\n default: false,\n },\n },\n\n data() {\n return {\n tableNameOptions: [\n 'court/attorneyTypes',\n 'court/caseTypes',\n 'court/cancellationReasons',\n 'court/civilCaseTopics',\n 'court/civilObjectionTypes',\n 'court/criminalObjectionTypes',\n 'court/dispositionTypes',\n 'court/feeCategories',\n 'court/hearingTypes',\n 'court/lawsuitTypes',\n 'offender/releaseReasons',\n ],\n };\n },\n\n computed: {\n ...mapGetters('language', ['languages']),\n\n /**\n * customField computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n customField(): CustomField {\n const v = this.value\n ? this.value\n : {\n name: '',\n label: { en: '', fa: '', ps: '' },\n type: 'TextField',\n typeArgs: {},\n isRequired: false,\n };\n return v;\n },\n\n customFieldEnglishLabel(): string {\n return this.customField.label.en;\n },\n\n fieldTypes(): string[] {\n return _.map(CustomFieldTypes, 'name');\n },\n },\n\n watch: {\n customFieldEnglishLabel(newVal, oldVal): void {\n if (this.editing) {\n return; // Don't update the field name on subsequent edit\n }\n\n if (this.customField.name === '') {\n this.customField.name = camelCase(newVal);\n }\n if (camelCase(oldVal) === this.customField.name) {\n this.customField.name = camelCase(newVal);\n }\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.customField), (v) => set(v, key, modifiedValue)),\n );\n },\n\n isUnique(value): boolean {\n // Need this in order to have ths nice error text on the field\n const isRepeated = includes(this.alreadyUsedNames, value);\n return !isRepeated;\n },\n\n isAlphaNumeric(value): boolean {\n return /^\\w+$/g.test(value); // regex for alphanumeric (no spaces)\n },\n },\n\n components: {\n AssessmentAmountSelector,\n PartyTypeSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomFieldForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomFieldForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CustomFieldForm.vue?vue&type=template&id=752c8e0f&\"\nimport script from \"./CustomFieldForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./CustomFieldForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCheckbox,VCol,VRow,VSelect,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport { CustomField } from '@/vuex/court/options';\n\nimport CustomFieldForm from './CustomFieldForm.vue';\n\nexport default Vue.extend({\n props: {\n alreadyUsedNames: Array,\n },\n data() {\n return {\n isOpen: false,\n\n customField: null as CustomField | null,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.customField = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to emit out the newly-created field object.\n */\n save(): void {\n if (!this.customField) {\n return;\n }\n\n const isRepeated = _.includes(\n this.alreadyUsedNames,\n this.customField.name,\n );\n if (isRepeated) {\n return;\n }\n\n this.$emit('save', this.customField);\n this.isOpen = false;\n },\n },\n components: {\n CustomFieldForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddCustomFieldDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddCustomFieldDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddCustomFieldDialog.vue?vue&type=template&id=9528bb78&\"\nimport script from \"./AddCustomFieldDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddCustomFieldDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":\"Custom Field\",\"max-width\":\"700px\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('CustomFieldForm',{attrs:{\"disable-rename\":\"\",\"disable-type-change\":\"\",\"editing\":\"\"},model:{value:(_vm.customField),callback:function ($$v) {_vm.customField=$$v},expression:\"customField\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport { CustomField } from '@/vuex/court/options';\n\nimport CustomFieldForm from './CustomFieldForm.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n data() {\n return {\n isOpen: false,\n\n customField: null as CustomField | null,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.customField = Object.assign({}, this.value);\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to emit out the newly-created field object.\n */\n save(): void {\n if (!this.customField) {\n return;\n }\n\n this.$emit('input', this.customField);\n this.isOpen = false;\n },\n },\n components: {\n CustomFieldForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCustomFieldDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCustomFieldDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditCustomFieldDialog.vue?vue&type=template&id=54738f0e&\"\nimport script from \"./EditCustomFieldDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditCustomFieldDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport Draggable from 'vuedraggable';\nimport { mapState, mapGetters } from 'vuex';\n\nimport AddCustomFieldDialog from './AddCustomFieldDialog.vue';\nimport EditCustomFieldDialog from './EditCustomFieldDialog.vue';\n\nexport default Vue.extend({\n props: {\n value: Array,\n },\n data() {\n return {\n addingField: false,\n };\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapState('court', ['partyTypes']),\n ...mapGetters('language', ['nameForIDInCollection']),\n\n /**\n * headers builds the column headers for the data table.\n */\n headers(): any[] {\n return [\n { value: `index`, text: '' },\n { value: 'edit', text: '' },\n { value: 'name', text: 'Name' },\n { value: 'type', text: 'Type' },\n { value: 'typeArgs', text: 'Args' },\n { value: 'delete', text: '' },\n ];\n },\n\n /**\n * alreadyUsedNames maintains a list of the custom field names that exist\n * in the table. It's passed to the field editor to prevent the user\n * from adding a second field with the same name as an existing one.\n */\n alreadyUsedNames(): string[] {\n return _.map(this.value || [], 'name');\n },\n },\n\n methods: {\n addField(field: any): void {\n // console.log('addField', field);\n const newItems = [...this.value, field];\n this.$emit('input', newItems);\n },\n\n deleteField(index: number): void {\n const newItems = [...this.value];\n newItems.splice(index, 1);\n this.$emit('input', newItems);\n },\n },\n\n components: {\n AddCustomFieldDialog,\n Draggable,\n EditCustomFieldDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomFieldsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomFieldsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CustomFieldsTable.vue?vue&type=template&id=613235ca&\"\nimport script from \"./CustomFieldsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./CustomFieldsTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VCard,VCardText,VCol,VDataTable,VIcon,VRow,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { CaseStatus } from '@/vuex/court/case';\nimport {\n DocketEventType,\n DocketEventTypeModule,\n AllDocketEventTypeModules,\n} from '@/vuex/court/options';\nimport { DossierStatusID } from '@/vuex/court/dossier';\nimport { TranslatedString } from '@/lib/translated';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nimport CaseTypeSelector from '@/components/court/CaseTypeSelector.vue';\nimport CustomFieldsTable from './CustomFieldsTable.vue';\nimport CourtStageSelector from '@/components/court/CourtStageSelector.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n data() {\n return {\n addingField: false,\n };\n },\n\n computed: {\n ...mapGetters('language', ['languages']),\n ...mapState('court', ['caseTypes']),\n\n /**\n * docketEventType computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n docketEventType(): DocketEventType {\n return this.value\n ? this.value\n : {\n module: 'court',\n categoryID: 0,\n rank: 0,\n name: {} as TranslatedString,\n willChangeDossierStage: false,\n newDossierStageID: 0,\n willChangeDepartment: false,\n newDepartmentID: 0,\n willChangeDossierStatus: false,\n newDossierStatusID: DossierStatusID.Unknown,\n willChangeCaseStatus: false,\n newCaseStatusID: CaseStatus.Unknown,\n willChangeCourtStage: false,\n newCourtStageID: 0,\n caseDispositionReasonID: 0,\n allowedDossierStatuses: [],\n allowedCourtStageIDs: [],\n allowedDossierStageIDs: [],\n allowedCaseTypes: this.caseTypes,\n fields: [],\n willSetAwarenessNumber: false,\n willFinalizeDossier: false,\n isDiscontinued: false,\n };\n },\n\n /**\n * isCourtModule computes whether this DocketEventType is related to\n * individual Court Cases.\n */\n isCourtModule(): boolean {\n return this.docketEventType.module === DocketEventTypeModule.Court;\n },\n\n /**\n * isInvestigationModule computes whether this DocketEventType is related\n * to the AGO/Huquq/Tanfiz actions around a Court Case, rather than\n * \"inside\" one.\n */\n isInvestigationModule(): boolean {\n return (\n this.docketEventType.module === DocketEventTypeModule.Investigation\n );\n },\n\n /**\n * willChangeCaseStatus is a computed sub-property of docketEventType\n * which allows us to watch when that field changes.\n */\n willChangeCaseStatus(): boolean {\n return !!this.docketEventType.willChangeCaseStatus;\n },\n\n /**\n * willDisposeCase computes whether this docket event will result in the\n * Court case being disposed.\n */\n willDisposeCase(): boolean {\n return this.docketEventType.newCaseStatusID === CaseStatus.Disposed;\n },\n\n /**\n *\n * willChangeDossierStatus is a computed sub-property of docketEventType\n * which allows us to watch when that field changes.\n */\n willChangeDossierStatus(): boolean {\n return !!this.docketEventType.willChangeDossierStatus;\n },\n\n /**\n * moduleChoices builds the array of objects to feed to the module selector\n */\n moduleChoices(): VSelectItem[] {\n return AllDocketEventTypeModules.map((m) => ({\n value: m,\n text: i18n.t('docketEventType.module.' + m),\n }));\n },\n },\n\n watch: {\n willChangeCaseStatus(willChange: boolean): void {\n if (willChange) {\n this.update('newCaseStatusID', CaseStatus.Disposed);\n } else {\n this.update('newCaseStatusID', CaseStatus.Unknown);\n }\n },\n\n willChangeDossierStatus(willChange: boolean): void {\n if (willChange) {\n this.update('newDossierStatus', DossierStatusID.Active);\n } else {\n this.update('newDossierStatus', DossierStatusID.Unknown);\n }\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.docketEventType), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n\n components: {\n CaseTypeSelector,\n CustomFieldsTable,\n CourtStageSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocketEventTypeForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocketEventTypeForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocketEventTypeForm.vue?vue&type=template&id=670de865&\"\nimport script from \"./DocketEventTypeForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./DocketEventTypeForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCheckbox,VCol,VRow,VSelect,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { DocketEventType } from '@/vuex/court/options';\n\nimport DocketEventTypeForm from './DocketEventTypeForm.vue';\n\nexport default Vue.extend({\n props: {\n id: {\n type: Number,\n required: true,\n },\n },\n data() {\n return {\n isOpen: false,\n error: null as any,\n\n docketEventType: null as DocketEventType | null,\n };\n },\n computed: {\n ...mapState('court', ['docketEventTypes']),\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n if (this.id) {\n const match = _.find(this.docketEventTypes, (rt) => rt.id === this.id);\n const myCopy = Object.assign({}, match);\n this.docketEventType = myCopy;\n } else {\n this.docketEventType = null;\n }\n },\n\n /**\n * save is our event handler for CMSFormDialog's save event. It fires when\n * the save button is clicked on the dialog. We use it to persist the\n * object to the server.\n */\n async save(): Promise {\n if (this.docketEventType === null) {\n return;\n }\n this.error = null;\n try {\n // Send the API call\n const response = await courtAPI.post('docket-event-types/update', {\n data: {\n id: this.docketEventType.id,\n module: this.docketEventType.module,\n categoryID: this.docketEventType.categoryID,\n rank: this.docketEventType.rank,\n name: this.docketEventType.name,\n willChangeDossierStage: this.docketEventType.willChangeDossierStage,\n newDossierStageID: this.docketEventType.newDossierStageID,\n willChangeDepartment: this.docketEventType.willChangeDepartment,\n newDepartmentID: this.docketEventType.newDepartmentID,\n willChangeDossierStatus:\n this.docketEventType.willChangeDossierStatus,\n newDossierStatusID: this.docketEventType.newDossierStatusID,\n willChangeCaseStatus: this.docketEventType.willChangeCaseStatus,\n newCaseStatusID: this.docketEventType.newCaseStatusID,\n willChangeCourtStage: this.docketEventType.willChangeCourtStage,\n newCourtStageID: this.docketEventType.newCourtStageID,\n caseDispositionReasonID:\n this.docketEventType.caseDispositionReasonID,\n allowedCourtStageIDs: this.docketEventType.allowedCourtStageIDs,\n allowedDossierStageIDs: this.docketEventType.allowedDossierStageIDs,\n allowedCaseTypes: this.docketEventType.allowedCaseTypes,\n fields: this.docketEventType.fields,\n willSetAwarenessNumber: this.docketEventType.willSetAwarenessNumber,\n willFinalizeDossier: this.docketEventType.willFinalizeDossier,\n isDiscontinued: this.docketEventType.isDiscontinued,\n },\n });\n\n // Update the Vuex store.\n // Special Case Warning!!\n // This is a little different than most Vuex updates in the app because\n // docket event types are stored like options arrays instead of as\n // indexed lookup tables. We have to find the right index in the array\n // to update.\n const types = _.get(response, 'data.data.docketEventType');\n const updatedType = _.first(Object.values(types)) as DocketEventType;\n const i = _.findIndex(this.docketEventTypes, { id: updatedType.id });\n this.$store.commit('court/setTarget', {\n target: 'docketEventTypes',\n index: i,\n value: updatedType,\n });\n\n // Dismiss the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n DocketEventTypeForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditDocketEventTypeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditDocketEventTypeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditDocketEventTypeDialog.vue?vue&type=template&id=616dd49e&\"\nimport script from \"./EditDocketEventTypeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditDocketEventTypeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('docketEventType.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('DocketEventTypeForm',{model:{value:(_vm.docketEventType),callback:function ($$v) {_vm.docketEventType=$$v},expression:\"docketEventType\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { DocketEventType } from '@/vuex/court/options';\n\nimport DocketEventTypeForm from './DocketEventTypeForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n isOpen: false,\n error: null as any,\n\n docketEventType: null as DocketEventType | null,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.docketEventType = null;\n },\n\n /**\n * save is our event handler for CMSFormDialog's save event. It fires when\n * the save button is clicked on the dialog. We use it to persist the\n * object to the server.\n */\n async save(): Promise {\n if (this.docketEventType == null) {\n return;\n }\n this.error = null;\n try {\n // Send the API call\n const response = await courtAPI.post('docket-event-types/create', {\n data: {\n module: this.docketEventType.module,\n categoryID: this.docketEventType.categoryID,\n rank: this.docketEventType.rank,\n name: this.docketEventType.name,\n willChangeDossierStage: this.docketEventType.willChangeDossierStage,\n newDossierStageID: this.docketEventType.newDossierStageID,\n willChangeDepartment: this.docketEventType.willChangeDepartment,\n newDepartmentID: this.docketEventType.newDepartmentID,\n willChangeDossierStatus:\n this.docketEventType.willChangeDossierStatus,\n newDossierStatusID: this.docketEventType.newDossierStatusID,\n willChangeCaseStatus: this.docketEventType.willChangeCaseStatus,\n newCaseStatusID: this.docketEventType.newCaseStatusID,\n willChangeCourtStage: this.docketEventType.willChangeCourtStage,\n newCourtStageID: this.docketEventType.newCourtStageID,\n caseDispositionReasonID:\n this.docketEventType.caseDispositionReasonID,\n allowedCourtStageIDs: this.docketEventType.allowedCourtStageIDs,\n allowedDossierStageIDs: this.docketEventType.allowedDossierStageIDs,\n allowedCaseTypes: this.docketEventType.allowedCaseTypes,\n fields: this.docketEventType.fields,\n willSetAwarenessNumber: this.docketEventType.willSetAwarenessNumber,\n willFinalizeDossier: this.docketEventType.willFinalizeDossier,\n isDiscontinued: this.docketEventType.isDiscontinued,\n },\n });\n\n // Update the Vuex store.\n // Special Case Warning!!\n // This is a little different than most Vuex updates in the app because\n // docket event types are represented like an options array/lookup table.\n // We're adding a new object to the array\n const types = _.get(response, 'data.data.docketEventType');\n this.$store.commit('court/prependToTarget', {\n target: 'docketEventTypes',\n value: Object.values(types),\n });\n\n // Dismiss the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n DocketEventTypeForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewDocketEventTypeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewDocketEventTypeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewDocketEventTypeDialog.vue?vue&type=template&id=243fcb46&\"\nimport script from \"./NewDocketEventTypeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewDocketEventTypeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport _ from 'lodash';\nimport i18n from '@/i18n';\nimport { mapState, mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport {\n AllDocketEventTypeModules,\n DocketEventType,\n} from '@/vuex/court/options';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nimport { LookupItem } from '@/vuex/court/options';\n\nimport EditDocketEventTypeDialog from '@/components/court/docketEvent/EditDocketEventTypeDialog.vue';\nimport NewDocketEventTypeDialog from '@/components/court/docketEvent/NewDocketEventTypeDialog.vue';\nimport { CustomFieldTypes } from '@/vuex/court/customFieldType';\n\nexport default Vue.extend({\n created() {\n if (_.isEmpty(this.initialCriteria)) {\n this.initialCriteria = _.cloneDeep(this.criteria);\n }\n },\n\n data() {\n return {\n advancedSearch: false,\n\n initialCriteria: {},\n criteria: {\n q: '',\n\n willChangeDossierStage: null as boolean | null,\n newDossierStageID: undefined as number | undefined,\n willChangeDossierStatus: null as boolean | null,\n newDossierStatusID: 0,\n willChangeCaseStatus: null as boolean | null,\n newCaseStatusID: 0,\n willChangeCourtStage: null as boolean | null,\n newCourtStageID: 0,\n willChangeDepartment: null as boolean | null,\n willSetAwarenessNumber: null as boolean | null,\n willFinalizeDossier: null as boolean | null,\n customFieldType: '',\n },\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('court', ['docketEventTypes', 'docketEventCategories']),\n\n canAdd(): boolean {\n return this.hasPermission('admin.docketEvent.create');\n },\n\n /**\n * filteredModules returns the module names which contain Docket Event Types\n * which match the current filter criteria (e.g. ['detection', 'court'])\n */\n filteredModules(): string[] {\n return _.filter(\n AllDocketEventTypeModules,\n (module: string) => this.moduleEventCounts[module] > 0,\n );\n },\n\n /**\n * moduleEventCounts computes the number of DocketEventTypes that match the\n * current filtering criteria:\n *\n * {\n * 'detection': 21,\n * 'investigation': 108,\n * 'court': 55\n * }\n *\n */\n moduleEventCounts(): { [module: string]: number } {\n return _.countBy(this.filteredDocketEventTypes, 'module');\n },\n\n /**\n * filteredDocketEventTypes transforms the raw array of all known\n * DocketEventTypes and filters it to contain only those which match the\n * active filter criteria (both \"simple\" and \"advanced\").\n */\n filteredDocketEventTypes(): DocketEventType[] {\n return _.filter(this.docketEventTypes, (det: DocketEventType) => {\n return _.every([\n this.matchesSimpleCriteria(det),\n this.matchesDossierStageCriteria(det),\n this.matchesDossierStatusCriteria(det),\n this.matchesCourtStageCriteria(det),\n this.matchesCaseStatusCriteria(det),\n this.matchesCustomFieldTypeCriteria(det),\n this.criteria.willChangeDepartment === null ||\n det.willChangeDepartment === this.criteria.willChangeDepartment,\n this.criteria.willSetAwarenessNumber === null ||\n det.willSetAwarenessNumber === this.criteria.willSetAwarenessNumber,\n this.criteria.willFinalizeDossier === null ||\n det.willFinalizeDossier === this.criteria.willFinalizeDossier,\n ]);\n });\n },\n\n translatedDocketEventTypes(): DocketEventType[] {\n return _.chain(this.filteredDocketEventTypes)\n .map((rt) =>\n Object.assign(\n {\n translatedName: rt.name[this.locale],\n translatedCaseTypes: rt.allowedCaseTypes.map((t) =>\n i18n.t('dossier.caseTypeOptions.' + t),\n ),\n translatedCourtStages: rt.allowedCourtStageIDs.map((id: number) =>\n this.nameForIDInCollection(id, 'court/courtStages'),\n ),\n translatedDossierStages: rt.allowedDossierStageIDs.map(\n (id: number) =>\n this.nameForIDInCollection(id, 'court/dossierStages'),\n ),\n },\n rt,\n ),\n )\n .sortBy('translatedName')\n .value();\n },\n\n /**\n * groupedDocketEventTypes transforms the filtered array of DocketEventyType\n * into a double-grouped object, with the first layer of grouping done\n * by module, and the second group done by categoryID:\n *\n * {\n * 'detection': {\n * 1: DocketEventType[],\n * 4: DocketEventType[],\n * },\n * 'investigation': {\n * 3: DocketEventType[],\n * }\n * }\n */\n groupedDocketEventTypes(): any {\n return _.chain(this.translatedDocketEventTypes)\n .sortBy('rank')\n .groupBy('module')\n .mapValues((entries: DocketEventType[]) =>\n _.groupBy(entries, 'categoryID'),\n )\n .value();\n },\n\n // /**\n // * docketEventFieldTypes builds the array of objects for the V-Select\n // */\n docketEventFieldTypes(): string[] {\n return _.map(CustomFieldTypes, 'name');\n },\n },\n\n watch: {\n /**\n * advancedSearch changes the UI, so we need to make sure to reset\n * the no longer visible fields\n */\n advancedSearch(isAdvanced: boolean) {\n if (!isAdvanced) {\n this.resetAdvancedCriteria();\n }\n },\n },\n\n methods: {\n // Makes sure accessing grouping doesn't break when filtering results in\n // an empty result\n groupedDocketEventTypesForModule(module: string): any {\n return this.groupedDocketEventTypes.hasOwnProperty(module)\n ? this.groupedDocketEventTypes[module]\n : {};\n },\n\n headersForModule(module: string): any[] {\n const h: any[] = [\n {\n text: this.$i18n.t('sort.rank'),\n value: 'rank',\n align: 'right',\n },\n {\n text: this.$i18n.t('docketEventType.name'),\n value: 'translatedName',\n },\n {\n text: this.$i18n.t('docketEventType.allowedCaseTypes'),\n value: 'translatedCaseTypes',\n },\n ];\n\n if (module === 'court') {\n h.push({\n text: this.$i18n.t('docketEventType.allowedStages'),\n value: 'translatedCourtStages',\n });\n } else {\n h.push({\n text: this.$i18n.t('docketEventType.allowedDossierStages'),\n value: 'translatedDossierStages',\n });\n }\n\n if (this.hasPermission('admin.docketEvent.create')) {\n h.unshift({\n text: this.$i18n.t('command.edit'),\n value: null,\n with: '2%',\n sortable: false,\n align: 'center',\n });\n }\n\n return h;\n },\n\n /**\n * categoriesForModule returns an array of DocketEventCategory objects\n * which have entries for the requested module, sorted by the rank of the\n * module,\n */\n categoriesForModule(module: string): LookupItem[] {\n return _.chain(this.filteredDocketEventTypes)\n .filter({ module })\n .map('categoryID')\n .uniq()\n .map((id) => _.find(this.docketEventCategories, { id }))\n .compact()\n .sortBy('rank')\n .value();\n },\n\n resetAdvancedCriteria(): void {\n this.criteria = Object.assign(this.criteria, this.initialCriteria);\n },\n\n /**\n * matchesSimpleCriteria returns true if the provided DocketEventType\n * is a valid match for the current simple search criteria (q).\n */\n matchesSimpleCriteria(det: DocketEventType): boolean {\n if (!this.criteria.q) {\n return true;\n }\n\n const search = this.criteria.q.toLowerCase();\n const name = det.name[this.locale].toLowerCase();\n const category = this.nameForIDInCollection(\n det.categoryID,\n 'court/docketEventCategories',\n ).toLowerCase();\n if (name.includes(search) || category.includes(search)) {\n return true;\n }\n\n return false;\n },\n\n /**\n * matchesDossierStageCriteria returns true if the provided DocketEventType\n * is a valid match for the current Dossier stage criteria (\n * willChangeDossierStage, and newDossierStageID).\n */\n matchesDossierStageCriteria(det: DocketEventType): boolean {\n const wcdt = this.criteria.willChangeDossierStage;\n const newStageID = this.criteria.newDossierStageID;\n\n if (wcdt === null) {\n return true;\n }\n\n if (det.willChangeDossierStage !== wcdt) {\n return false;\n }\n\n if (wcdt && newStageID !== undefined) {\n return det.newDossierStageID === newStageID;\n }\n\n return true;\n },\n\n /**\n * matchesDossierStatusCriteria returns true if the provided DocketEventType\n * is a valid match for the current Dossier Status criteria (\n * willChangeDossierStatus and newDossierStatusID)\n */\n matchesDossierStatusCriteria(det: DocketEventType): boolean {\n const wcds = this.criteria.willChangeDossierStatus;\n const newStatusID = this.criteria.newDossierStatusID;\n\n if (wcds === null) {\n return true;\n }\n\n if (det.willChangeDossierStatus !== wcds) {\n return false;\n }\n\n if (wcds && newStatusID > 0) {\n return det.newDossierStatusID === newStatusID;\n }\n\n return true;\n },\n\n /**\n * matchesCourtStageCriteria returns true if the provided DocketEventType\n * is a valid match for the current Court Stage criteria in the advanced\n * search (willChangeCourtStage and newCourtStageID).\n */\n matchesCourtStageCriteria(det: DocketEventType): boolean {\n const wccs = this.criteria.willChangeCourtStage;\n const newStageID = this.criteria.newCourtStageID;\n\n if (wccs === null) {\n return true;\n }\n\n if (det.willChangeCourtStage !== wccs) {\n return false;\n }\n\n if (wccs && newStageID > 0) {\n return det.newCourtStageID === newStageID;\n }\n\n return true;\n },\n\n /**\n * matchesCaseStatusCriteria returns true if the provided DocketEventType\n * is a valid match for the current Court Status criteria in the advanced\n * search (willChangeCaseStatus and newCaseStatusID)\n */\n matchesCaseStatusCriteria(det: DocketEventType): boolean {\n const wccs = this.criteria.willChangeCaseStatus;\n const newStatusID = this.criteria.newCaseStatusID;\n\n if (wccs === null) {\n return true;\n }\n\n if (det.willChangeCaseStatus !== wccs) {\n return false;\n }\n\n if (wccs && newStatusID > 0) {\n return det.newCaseStatusID === newStatusID;\n }\n\n return true;\n },\n\n /**\n * matchesCustomFieldTypeCriteria returns true if the provided\n * DocketEventType is a valid match for the current field type criteria in\n * the advanced search.\n */\n matchesCustomFieldTypeCriteria(det: DocketEventType): boolean {\n const criteriaFieldType = this.criteria.customFieldType;\n if (!criteriaFieldType) {\n // If no field type is specified in the form, all types match\n return true;\n }\n\n const fieldsInUse = _.map(det.fields, 'type');\n return _.includes(fieldsInUse, criteriaFieldType);\n },\n },\n\n components: {\n EditDocketEventTypeDialog,\n NewDocketEventTypeDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocketEventTypeList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocketEventTypeList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocketEventTypeList.vue?vue&type=template&id=c461ab9a&\"\nimport script from \"./DocketEventTypeList.vue?vue&type=script&lang=ts&\"\nexport * from \"./DocketEventTypeList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCheckbox,VChip,VCol,VContainer,VDataTable,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VRow,VSelect,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.hasPermission('admin.geography.create'))?_c('NewGeographyDialog',{attrs:{\"initialParentID\":_vm.activeGeographyID,\"initialType\":_vm.mostCommonType}}):_vm._e()]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('geography.plural')))]),_c('v-spacer'),_c('v-text-field',{attrs:{\"label\":_vm.$t('search'),\"append-icon\":\"search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"search\"}})],1),_c('v-card-text',[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"8\"}},[_c('GeographySelector',{attrs:{\"max-specificity\":\"district\"},model:{value:(_vm.activeGeographyID),callback:function ($$v) {_vm.activeGeographyID=$$v},expression:\"activeGeographyID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"dense\":\"\",\"headers\":_vm.headers,\"items\":_vm.geographies,\"search\":_vm.search,\"sort-by\":(\"name.\" + _vm.locale),\"disable-pagination\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item.edit\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('EditGeographyDialog',{attrs:{\"id\":item.id}})]}},{key:\"item.type\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('span',{class:{\n 'red--text': value !== _vm.mostCommonType,\n 'font-weight-bold': value !== _vm.mostCommonType,\n }},[_vm._v(\" \"+_vm._s(_vm.$t('geo.' + value))+\" \")])]}}],null,true)})],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('geography.singular')},on:{\"reset\":function($event){return _vm.reset()},\"save\":function($event){return _vm.save()}},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('GeographyForm',{model:{value:(_vm.geography),callback:function ($$v) {_vm.geography=$$v},expression:\"geography\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',[(!_vm.parentIsEditable)?_c('v-col',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"cols\":\"12\"},on:{\"dblclick\":function($event){_vm.parentSelectorUnlocked = true}}},[(_vm.geography.parentID)?_c('div',[_c('div',{staticClass:\"text-caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('geography.parent'))+\" \")]),_c('div',{staticClass:\"text-subtitle-2\"},[_c('GeographyName',{attrs:{\"id\":_vm.geography.parentID}})],1)]):_vm._e()]):_vm._e(),(_vm.parentIsEditable)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('geography.parent'),\"value\":_vm.geography.parentID,\"maxSpecificity\":\"district\",\"omittedGeographies\":[_vm.geography.id],\"clearable\":\"\",\"zero-label\":\"none\"},on:{\"input\":function($event){return _vm.update('parentID', $event)}}})],1):_vm._e(),_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:{ isRTL: l.isRTL },attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('geography.name') + ' (' + _vm.$t(l.locale) + ')',\"value\":_vm.geography.name[l.locale],\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('name.' + l.locale, $event, 'trim')}}})],1)}),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-select',{attrs:{\"label\":_vm.$t('geography.type'),\"items\":_vm.typeChoices,\"value\":_vm.geography.type,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('type', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('geography.code'),\"value\":_vm.geography.code},on:{\"input\":function($event){return _vm.update('code', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('geography.iso3166Code'),\"value\":_vm.geography.iso3166Code},on:{\"input\":function($event){return _vm.update('iso3166Code', $event, 'trim')}}})],1)],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { blankTranslatedString } from '@/lib/translated';\nimport { VSelectItem } from '@/lib/vue-typescript';\nimport { AfghanistanID, Geography } from '@/vuex/geography/geography';\n\nexport default Vue.extend({\n props: {\n value: Object,\n\n initialParentID: Number,\n initialType: String,\n },\n\n data() {\n return {\n parentSelectorUnlocked: false,\n };\n },\n\n computed: {\n ...mapGetters('language', ['languages']),\n ...mapState('language', ['locale']),\n\n /**\n * geography computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n geography(): Geography {\n return this.value\n ? this.value\n : {\n id: 0,\n name: blankTranslatedString(),\n type: '',\n code: '',\n iso3166Code: '',\n parentID: AfghanistanID,\n path: '',\n };\n },\n\n parentIsEditable(): boolean {\n if (!this.geography.id) {\n // When creating a new Geography, the parent is always editable\n return true;\n }\n // Otherwise allow editing if the parent selector has been unlocked\n return this.parentSelectorUnlocked;\n },\n\n /**\n * typeChoices builds the array of objects to feed to the type selector\n */\n typeChoices(): VSelectItem[] {\n const choices = [\n {\n value: 'country',\n text: i18n.t('geo.country'),\n },\n {\n value: 'province',\n text: i18n.t('geo.province'),\n },\n {\n value: 'district',\n text: i18n.t('geo.district'),\n },\n {\n value: 'village',\n text: i18n.t('geo.village'),\n },\n ];\n return choices;\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.geography), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeographyForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeographyForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GeographyForm.vue?vue&type=template&id=cb531e3c&\"\nimport script from \"./GeographyForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./GeographyForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VSelect,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport geographyAPI from '@/vuex/geography/geographyAPI';\nimport { AfghanistanID, Geography } from '@/vuex/geography/geography';\nimport { blankTranslatedString } from '@/lib/translated';\n\nimport GeographyForm from '@/components/geography/GeographyForm.vue';\n\nexport default Vue.extend({\n props: {\n initialParentID: Number,\n initialType: String,\n },\n\n data() {\n return {\n isOpen: false,\n error: null as any,\n\n geography: null as Geography | null,\n };\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n if (!this.initialParentID && !this.initialType) {\n this.geography = null;\n } else {\n this.geography = {\n id: 0,\n name: blankTranslatedString(),\n type: this.initialType || '',\n code: '',\n iso3166Code: '',\n parentID: this.initialParentID || AfghanistanID,\n path: '',\n };\n }\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.geography) {\n return;\n }\n\n this.error = null;\n try {\n const response = await geographyAPI.post('geographies/create', {\n data: {\n name: this.geography.name,\n type: this.geography.type,\n code: this.geography.code,\n iso3166Code: this.geography.iso3166Code,\n parentID: this.geography.parentID,\n path: this.geography.path,\n },\n });\n const newState = response.data.data;\n this.$store.commit('geography/setState', newState);\n this.$store.commit('geography/prependToTarget', {\n target: 'geographyIDs',\n value: Object.keys(newState.geography),\n });\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n GeographyForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewGeographyDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewGeographyDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewGeographyDialog.vue?vue&type=template&id=4b9803be&\"\nimport script from \"./NewGeographyDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewGeographyDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":((_vm.$t('geography.singular')) + \" #\" + _vm.id),\"loading\":_vm.loading},on:{\"reset\":function($event){return _vm.reset()},\"save\":function($event){return _vm.save()}},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('GeographyForm',{model:{value:(_vm.updatedGeography),callback:function ($$v) {_vm.updatedGeography=$$v},expression:\"updatedGeography\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapActions, mapGetters } from 'vuex';\n\nimport geographyAPI from '@/vuex/geography/geographyAPI';\nimport { Geography } from '@/vuex/geography/geography';\n\nimport GeographyForm from '@/components/geography/GeographyForm.vue';\n\nexport default Vue.extend({\n props: {\n id: {\n type: Number,\n required: true,\n },\n },\n\n data() {\n return {\n isOpen: false,\n loading: false,\n error: null as any,\n\n updatedGeography: null as Geography | null,\n };\n },\n\n computed: {\n ...mapGetters('geography', ['geographyWithID']),\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n async reset(): Promise {\n this.loading = true;\n await this.$store.dispatch('geography/fetchGeography', this.id);\n const myCopy = Object.assign({}, this.geographyWithID(this.id));\n this.updatedGeography = myCopy;\n this.loading = false;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.updatedGeography) {\n return;\n }\n this.error = null;\n try {\n const response = await geographyAPI.post('geographies/update', {\n data: {\n id: this.updatedGeography.id,\n name: this.updatedGeography.name,\n type: this.updatedGeography.type,\n code: this.updatedGeography.code,\n iso3166Code: this.updatedGeography.iso3166Code,\n parentID: this.updatedGeography.parentID,\n },\n });\n\n // Update Vuex state\n const newState = response.data.data;\n this.$store.commit('geography/setState', newState);\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n GeographyForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditGeographyDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditGeographyDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditGeographyDialog.vue?vue&type=template&id=11852550&\"\nimport script from \"./EditGeographyDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditGeographyDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { AfghanistanID, Geography } from '@/vuex/geography/geography';\n\nimport NewGeographyDialog from '@/components/geography/NewGeographyDialog.vue';\nimport EditGeographyDialog from '@/components/geography/EditGeographyDialog.vue';\n\nexport default Vue.extend({\n data() {\n return {\n activeGeographyID: AfghanistanID,\n search: '',\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('geography', ['geographiesWithParentID']),\n ...mapGetters('auth', ['hasPermission']),\n\n /**\n * geographies computes the list of Geography entities which are children\n * of whatever level is selected. If no geography is selected, it retrieves\n * all top-level geographies (those with parentID == null).\n */\n geographies(): Geography[] {\n let parentID: number | null = this.activeGeographyID;\n if (!this.activeGeographyID) {\n parentID = null;\n }\n return this.geographiesWithParentID(parentID);\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a computed property so\n * that it will update with new translations when the locale changes.\n */\n headers(): any[] {\n const h = [\n {\n text: i18n.t('command.edit'),\n value: 'edit',\n width: '30px',\n align: 'center',\n sortable: false,\n },\n {\n text: i18n.t('id'),\n value: 'id',\n width: '30px',\n align: 'right',\n },\n {\n text: this.$i18n.t('geography.name'),\n value: `name.${this.locale}`,\n },\n {\n text: i18n.t('geography.type'),\n value: 'type',\n },\n {\n text: i18n.t('geography.code'),\n value: 'code',\n align: 'center',\n },\n {\n text: i18n.t('geography.iso3166Code'),\n value: 'iso3166Code',\n align: 'center',\n },\n ];\n return h;\n },\n\n /**\n * mostCommonType returns the most commonly-occurring geography type in the\n * list of Geography entities displayed in the table.\n */\n mostCommonType(): string {\n const types = _.map(this.geographies || [], 'type') as string[];\n const geo = _.chain(types)\n .countBy() // Produces { \"province\": 14, \"district\": 1 }\n .entries() // Converts to [[\"province\", 14], [\"district\", 10]]\n .maxBy(_.last) // Filters to [\"province\", 14]\n .head() // Retrieves first element (\"province\")\n .value() as string; // Exit lodash chain and type-assert to string\n return geo || 'country';\n },\n },\n\n components: {\n EditGeographyDialog,\n NewGeographyDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeographyList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeographyList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GeographyList.vue?vue&type=template&id=0033a1a0&\"\nimport script from \"./GeographyList.vue?vue&type=script&lang=ts&\"\nexport * from \"./GeographyList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCol,VContainer,VDataTable,VRow,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.canAdd)?_c('NewHolidayDialog'):_vm._e()]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('holiday.plural')))]),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"search\",\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"search\"}})],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"items\":_vm.holidays,\"loading\":_vm.loading,\"search\":_vm.search,\"headers\":_vm.headers,\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[(_vm.canAdd)?_c('td',[_c('EditHolidayDialog',{attrs:{\"id\":item.id}})],1):_vm._e(),_c('td',[_c('Date',{attrs:{\"value\":item.date}})],1),_c('td',[_vm._v(_vm._s(item.name))]),_c('td',[_vm._v(_vm._s(item.locationGeographyID))]),(_vm.canAdd)?_c('td',[_c('ConfirmationButton',{staticClass:\"mx-2\",attrs:{\"icon\":\"\",\"x-small\":\"\",\"prompt\":_vm.$t('command.delete') + ' ' + _vm.$t('holiday.singular') + '?'},on:{\"confirm\":function($event){return _vm.deleteHoliday(item.id)}}},[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"-alt\")])],1)],1):_vm._e()])]}}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('holiday.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('HolidayForm',{model:{value:(_vm.holiday),callback:function ($$v) {_vm.holiday=$$v},expression:\"holiday\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('holiday.date'),\"value\":_vm.holiday.date},on:{\"input\":function($event){return _vm.update('date', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('holiday.name'),\"value\":_vm.holiday.name,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('name', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('location.singular'),\"value\":_vm.holiday.locationGeographyID,\"min-specificity\":\"country\",\"max-specificity\":\"province\",\"zero-label\":\"all\"},on:{\"input\":function($event){return _vm.update('locationGeographyID', $event)}}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\n\nimport { AfghanistanID } from '@/vuex/geography/geography';\nimport { Holiday } from '@/vuex/court/holiday';\n\nexport default Vue.extend({\n props: {\n value: {\n type: Object,\n },\n },\n\n computed: {\n /**\n * holiday computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n holiday(): Holiday {\n return this.value\n ? this.value\n : {\n name: '',\n locationGeographyID: AfghanistanID,\n date: moment().format(),\n };\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.holiday), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HolidayForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HolidayForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HolidayForm.vue?vue&type=template&id=626f1ba9&\"\nimport script from \"./HolidayForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./HolidayForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { Holiday } from '@/vuex/court/holiday';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport HolidayForm from './HolidayForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n isOpen: false,\n error: null as any,\n\n holiday: null as Holiday | null,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.holiday = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (this.holiday == null) {\n return;\n }\n this.error = null;\n\n try {\n const response = await courtAPI.post('holidays/create', {\n data: {\n name: this.holiday.name,\n locationGeographyID: this.holiday.locationGeographyID,\n date: this.holiday.date,\n },\n });\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/prependToTarget', {\n target: 'holidayIDs',\n value: Object.keys(newState.holiday),\n });\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n HolidayForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewHolidayDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewHolidayDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewHolidayDialog.vue?vue&type=template&id=8f230a70&\"\nimport script from \"./NewHolidayDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewHolidayDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('holiday.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('HolidayForm',{model:{value:(_vm.updatedHoliday),callback:function ($$v) {_vm.updatedHoliday=$$v},expression:\"updatedHoliday\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\nimport { Holiday } from '@/vuex/court/holiday';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport HolidayForm from './HolidayForm.vue';\nexport default Vue.extend({\n props: {\n id: {\n type: Number,\n required: true,\n default: 0,\n },\n },\n data() {\n return {\n isOpen: false,\n error: null as any,\n\n updatedHoliday: null as Holiday | null,\n };\n },\n computed: {\n ...mapGetters('court', ['holidayWithID']),\n },\n watch: {\n /**\n * isOpen is watched because we need to notice when the dialog's activator\n * has been clicked (which opens the dialog). This is our trigger to fetch\n * a dialog-local copy of the object to present to the user for editing.\n */\n isOpen(nowOpening: boolean): void {\n if (nowOpening && this.id) {\n const myCopy = Object.assign({}, this.holidayWithID(this.id));\n this.updatedHoliday = myCopy;\n }\n },\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.updatedHoliday = null;\n },\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.updatedHoliday) {\n return;\n }\n this.error = null;\n\n try {\n const response = await courtAPI.post('holidays/update', {\n data: {\n id: this.updatedHoliday.id,\n name: this.updatedHoliday.name,\n locationGeographyID: this.updatedHoliday.locationGeographyID,\n date: this.updatedHoliday.date,\n },\n });\n // Update Vuex state\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n HolidayForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHolidayDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHolidayDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditHolidayDialog.vue?vue&type=template&id=2d4aa7ef&\"\nimport script from \"./EditHolidayDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditHolidayDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { Holiday } from '@/vuex/court/holiday';\n\nimport NewHolidayDialog from '@/components/court/holidays/NewHolidayDialog.vue';\nimport EditHolidayDialog from '@/components/court/holidays/EditHolidayDialog.vue';\n\nexport default Vue.extend({\n data() {\n return {\n search: '',\n align: '',\n error: null as any,\n loading: true,\n };\n },\n created() {\n this.fetchData();\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('geography', ['geographyWithID']),\n ...mapGetters('court', ['allHolidays']),\n\n canAdd(): boolean {\n return this.hasPermission('admin.holiday.create');\n },\n headers(): any[] {\n const h = [\n {\n text: i18n.t('holiday.date'),\n value: 'date',\n },\n {\n text: i18n.t('holiday.name'),\n value: 'name',\n },\n {\n text: i18n.t('location.singular'),\n value: 'locationGeographyID',\n },\n ] as any[];\n\n if (this.canAdd) {\n h.unshift({\n text: i18n.t('command.edit'),\n value: null,\n with: '2%',\n sortable: false,\n });\n h.push({ text: i18n.t('command.delete').toString() });\n }\n\n return h;\n },\n holidays(): Holiday[] {\n const holidays = this.allHolidays;\n return holidays.map((holiday) => {\n const h = Object.assign({}, holiday);\n const geo = this.geographyWithID(h.locationGeographyID);\n if (geo) {\n h.locationGeographyID = geo.name[this.locale];\n }\n return h;\n });\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n await [this.$store.dispatch('court/fetchHolidays')];\n this.loading = false;\n },\n deleteHoliday(holidayID): void {\n courtAPI\n .post('holidays/delete', {\n data: {\n id: holidayID,\n },\n })\n .then(() => {\n this.$store.commit('court/removeFromTarget', {\n target: 'holidayIDs',\n value: holidayID,\n });\n })\n .catch((error) => {\n this.error = error;\n });\n },\n },\n components: {\n NewHolidayDialog,\n EditHolidayDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HolidayList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HolidayList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HolidayList.vue?vue&type=template&id=0e6ea336&\"\nimport script from \"./HolidayList.vue?vue&type=script&lang=ts&\"\nexport * from \"./HolidayList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VContainer,VDataTable,VIcon,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\"},scopedSlots:_vm._u([(_vm.hasPermission('facility.create'))?{key:\"extension\",fn:function(){return [_c('AddHousingFacilityDialog')]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('housingFacility.plural')))]),_c('v-spacer'),_c('v-text-field',{attrs:{\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\",\"append-icon\":\"search\",\"clearable\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"search\"}})],1),_c('v-card-text',[_c('HousingFacilityContainer',{staticClass:\"mt-6\",attrs:{\"facilityID\":0,\"search\":_vm.search}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('housingFacility.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"countryID\":1,\"min-specificity\":\"province\",\"max-specificity\":\"province\"},model:{value:(_vm.geographyID),callback:function ($$v) {_vm.geographyID=$$v},expression:\"geographyID\"}})],1),_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:{ isRTL: l.irRTL },attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"required\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"label\":_vm.$t('housingFacility.name') + ' (' + _vm.$t(l.locale) + ')'},model:{value:(_vm.name[l.locale]),callback:function ($$v) {_vm.$set(_vm.name, l.locale, (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"name[l.locale]\"}})],1)})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from 'axios';\n\nimport api, { addAuthInterceptors } from '@/api';\n\nconst housingAPI = axios.create({\n baseURL: `${api.defaults.baseURL}housingservice/`,\n});\naddAuthInterceptors(housingAPI);\nexport default housingAPI;\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport { mapGetters } from 'vuex';\nimport { TranslatedString } from '@/lib/translated';\n\nimport housingAPI from '@/vuex/housing/housingAPI';\n\nexport default Vue.extend({\n data() {\n return {\n isOpen: false,\n error: null as any,\n name: {} as TranslatedString,\n type: 'facility',\n geographyID: 201,\n };\n },\n\n computed: {\n ...mapGetters('language', ['languages']),\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.geographyID = 201;\n this.name = {} as TranslatedString;\n this.error = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await housingAPI.post('facilities/add-facility', {\n data: {\n name: this.name,\n geographyID: this.geographyID,\n },\n });\n const newState = response.data.data;\n this.$store.commit('housing/setState', newState);\n this.$store.commit('housing/prependToTarget', {\n target: 'facilityIDs',\n value: Object.keys(newState.facility),\n });\n\n // Close the Dialog\n this.isOpen = false;\n } catch (err) {\n this.error = err;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddHousingFacilityDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddHousingFacilityDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddHousingFacilityDialog.vue?vue&type=template&id=710e0c23&\"\nimport script from \"./AddHousingFacilityDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddHousingFacilityDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.translatedFacilities.length)?_c('v-data-iterator',{attrs:{\"items\":_vm.translatedFacilities,\"search\":_vm.search,\"disable-pagination\":!_vm.isPaginated,\"hide-default-footer\":!_vm.isPaginated,\"footer-props\":{ itemsPerPageOptions: [-1, 10, 20, 50, 100] }},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar items = ref.items;\nreturn [(_vm.translatedFacilities.length)?_c('v-expansion-panels',{staticClass:\"mt-4\",attrs:{\"multiple\":\"\"}},_vm._l((items),function(f){return _c('v-expansion-panel',{key:f.id},[_c('v-expansion-panel-header',{attrs:{\"color\":\"grey lighten-3\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\",\"justify\":\"space-between\"}},[(\n _vm.hasPermissionInPath('facility.edit', 'facility', f.path)\n )?_c('v-col',{attrs:{\"cols\":\"1\"}},[_c('EditHousingFacilityDialog',{attrs:{\"facilityID\":f.id}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"1\"}},[(f.acceptsTransfers)?_c('v-icon',{attrs:{\"x-small\":\"\",\"color\":\"grey\",\"title\":_vm.$t('housingFacility.acceptsTransfers')}},[_vm._v(\" fa-truck \")]):_vm._e()],1),_c('v-col',{class:{ isDeleted: f.hidden },attrs:{\"cols\":\"10\"}},[_vm._v(\" \"+_vm._s(f.translatedName)+\" \")])],1)],1),_c('v-expansion-panel-content',[(_vm.hasPermission('facility.edit', 'facility', f.id))?_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{staticClass:\"text-center\"},[(f.hidden)?_c('ConfirmationButton',{attrs:{\"prompt\":'Are you sure you want to unhide ' +\n f.translatedName +\n '?',\"x-small\":\"\",\"text\":\"\",\"color\":\"accent\"},on:{\"confirm\":function($event){return _vm.unHideFacility(f.id)}}},[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-eye\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.unHide'))+\": \"+_vm._s(f.translatedName)+\" \")],1):_vm._e(),(!f.hidden)?_c('ConfirmationButton',{attrs:{\"prompt\":'Are you sure you want to hide ' +\n f.translatedName +\n '?',\"x-small\":\"\",\"text\":\"\",\"color\":\"error\"},on:{\"confirm\":function($event){return _vm.hideFacility(f.id)}}},[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"fa-eye-slash\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.hide'))+\": \"+_vm._s(f.translatedName)+\" \")],1):_vm._e()],1)],1):_vm._e(),_c('v-row',{staticClass:\"mt-2\",attrs:{\"dense\":\"\"}},[_c('LabeledData',{attrs:{\"cols\":2,\"label\":_vm.$t('housingFacility.type'),\"value\":_vm.$t('housingFacility.typeOptions.' + f.type)}}),_c('LabeledData',{attrs:{\"cols\":2,\"label\":_vm.$t('housingFacility.capacity'),\"value\":f.capacity}}),(f.canHoldJuveniles)?_c('LabeledData',{attrs:{\"cols\":2,\"label\":_vm.$t('housingFacility.canHoldJuveniles'),\"value\":f.canHoldJuveniles}}):_vm._e(),(f.canHoldAdults)?_c('LabeledData',{attrs:{\"cols\":2,\"label\":_vm.$t('housingFacility.canHoldAdults'),\"value\":f.canHoldAdults}}):_vm._e(),(f.canHoldDetainees)?_c('LabeledData',{attrs:{\"cols\":2,\"label\":_vm.$t('housingFacility.canHoldDetainees'),\"value\":f.canHoldDetainees}}):_vm._e(),(f.canHoldPrisoners)?_c('LabeledData',{attrs:{\"cols\":2,\"label\":_vm.$t('housingFacility.canHoldPrisoners'),\"value\":f.canHoldPrisoners}}):_vm._e(),(f.canHoldMales)?_c('LabeledData',{attrs:{\"cols\":2,\"label\":_vm.$t('housingFacility.canHoldMales'),\"value\":f.canHoldMales}}):_vm._e(),(f.canHoldFemales)?_c('LabeledData',{attrs:{\"cols\":2,\"label\":_vm.$t('housingFacility.canHoldFemales'),\"value\":f.canHoldFemales}}):_vm._e()],1),_c('HousingFacilityContainer',{attrs:{\"facilityID\":f.id,\"depth\":_vm.depth + 1}}),(_vm.canAddChildren)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.canAddChildren(f))?_c('AddFacilityChildrenDialog',{attrs:{\"parentFacilityID\":f.id}}):_vm._e()],1)],1):_vm._e()],1)],1)}),1):_vm._e()]}}],null,false,2093706723)}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"title\":_vm.$t('housingFacility.addLocations')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_c('v-btn',_vm._g({attrs:{\"x-small\":\"\",\"color\":\"accent\"}},slotProps.on),[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.add'))+\" \"),(_vm.mostCommonType)?_c('span',{staticClass:\"ms-1\"},[_vm._v(\" [ \"+_vm._s(_vm.$t('housingFacility.typeOptions.' + _vm.mostCommonType))+\" ] \")]):_vm._e()],1)]}}]),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"8\"}},[_vm._v(\" This dialog adds 1 or more \\\"child\\\" Wings, Blocks, Floors, or Cells. Each new location will be initialized with the properties entered here. Each created item can be edited later. \")])],1),_c('v-divider'),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-select',{attrs:{\"label\":_vm.$t('housingFacility.locationType'),\"items\":_vm.typeOptions,\"item-text\":function (v) { return _vm.$t('housingFacility.name'); }},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.$t('housingFacility.typeOptions.' + item))+\" \")]}},{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.$t('housingFacility.typeOptions.' + item))+\" \")]}}]),model:{value:(_vm.selectedType),callback:function ($$v) {_vm.selectedType=$$v},expression:\"selectedType\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"rules\":[function (v) { return v > 0 || _vm.$i18n.t('error.required'); }],\"label\":_vm.$t('housingFacility.numberToAdd'),\"type\":\"number\"},model:{value:(_vm.numberToAdd),callback:function ($$v) {_vm.numberToAdd=_vm._n($$v)},expression:\"numberToAdd\"}})],1),_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:{ isRTL: l.irRTL },attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"required\":\"\",\"label\":_vm.$t('housingFacility.namePrefix') + ' (' + _vm.$t(l.locale) + ')'},model:{value:(_vm.namePrefix[l.locale]),callback:function ($$v) {_vm.$set(_vm.namePrefix, l.locale, (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"namePrefix[l.locale]\"}})],1)}),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('housingFacility.capacity'),\"rules\":[function (v) { return v > 0 || _vm.$t('error.required'); }],\"required\":\"\",\"type\":\"number\"},model:{value:(_vm.capacity),callback:function ($$v) {_vm.capacity=_vm._n($$v)},expression:\"capacity\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('housingFacility.canHoldJuveniles')},model:{value:(_vm.canHoldJuveniles),callback:function ($$v) {_vm.canHoldJuveniles=$$v},expression:\"canHoldJuveniles\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('housingFacility.canHoldAdults')},model:{value:(_vm.canHoldAdults),callback:function ($$v) {_vm.canHoldAdults=$$v},expression:\"canHoldAdults\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('housingFacility.canHoldDetainees')},model:{value:(_vm.canHoldDetainees),callback:function ($$v) {_vm.canHoldDetainees=$$v},expression:\"canHoldDetainees\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('housingFacility.canHoldPrisoners')},model:{value:(_vm.canHoldPrisoners),callback:function ($$v) {_vm.canHoldPrisoners=$$v},expression:\"canHoldPrisoners\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('housingFacility.canHoldFemales')},model:{value:(_vm.canHoldFemales),callback:function ($$v) {_vm.canHoldFemales=$$v},expression:\"canHoldFemales\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('housingFacility.canHoldMales')},model:{value:(_vm.canHoldMales),callback:function ($$v) {_vm.canHoldMales=$$v},expression:\"canHoldMales\"}})],1)],1)],1)],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport housingAPI from '@/vuex/housing/housingAPI';\nimport { HousingFacility } from '@/vuex/housing/housing';\n\nimport { TranslatedString } from '@/lib/translated';\n\nexport default Vue.extend({\n props: {\n parentFacilityID: Number,\n },\n\n data() {\n return {\n isOpen: false,\n error: null as any,\n typeOptions: ['facility', 'building', 'block', 'wing', 'floor', 'cell'],\n\n selectedType: 'block',\n numberToAdd: 1,\n namePrefix: {} as TranslatedString,\n canHoldJuveniles: false,\n canHoldAdults: false,\n canHoldDetainees: false,\n canHoldPrisoners: false,\n canHoldFemales: false,\n canHoldMales: false,\n capacity: 0,\n };\n },\n\n computed: {\n ...mapGetters('housing', ['facilityWithID', 'facilitiesUnder']),\n ...mapState('language', ['locales']),\n ...mapGetters('language', ['languages']),\n\n parentFacility(): HousingFacility {\n return this.facilityWithID(this.parentFacilityID);\n },\n\n /**\n * mostCommonType computes the most common facility type (Cell, Block, etc)\n * of the existing children of the provided parentFacilityID. This is used\n * to label the activator button and to set the default type selection\n * on reset.\n */\n mostCommonType(): string {\n const siblings = this.facilitiesUnder(this.parentFacilityID) || [];\n const types = _.map(siblings, 'type') as string[];\n const mostCommon = _.chain(types)\n .countBy() // Produces { \"facility\": 14, \"cell\": 10 }\n .entries() // Converts to [[\"facility\", 14], [\"cell\", 10]]\n .maxBy(_.last) // Filters to [\"facility\", 14]\n .head() // Retrieves first element (\"facility\")\n .value() as string; // Exit lodash chain and type-assert to string\n return mostCommon || 'block';\n },\n },\n\n watch: {\n selectedType: {\n immediate: true,\n handler() {\n this.updatePrefixes();\n },\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n if (this.parentFacility) {\n this.canHoldJuveniles = this.parentFacility.canHoldJuveniles;\n this.canHoldAdults = this.parentFacility.canHoldAdults;\n this.canHoldDetainees = this.parentFacility.canHoldDetainees;\n this.canHoldPrisoners = this.parentFacility.canHoldPrisoners;\n this.canHoldFemales = this.parentFacility.canHoldFemales;\n this.canHoldMales = this.parentFacility.canHoldMales;\n }\n\n this.selectedType = this.mostCommonType;\n this.numberToAdd = 1;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n // Execute the API call\n const resp = await housingAPI.post('facilities/add-locations', {\n data: {\n housingFacilityID: this.parentFacilityID,\n facilityType: this.selectedType,\n numberToAdd: this.numberToAdd,\n namePrefix: this.namePrefix,\n canHoldJuveniles: this.canHoldJuveniles,\n canHoldAdults: this.canHoldAdults,\n canHoldDetainees: this.canHoldDetainees,\n canHoldPrisoners: this.canHoldPrisoners,\n canHoldFemales: this.canHoldFemales,\n canHoldMales: this.canHoldMales,\n capacity: this.capacity,\n },\n });\n\n // Obtain the resulting state and inject it into Vuex\n const newState = _.get(resp, 'data.data');\n this.$store.commit('housing/setState', newState);\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n\n /**\n * updatePrefixes uses the selectedType to build a fully translated initial\n * value for the prefixes of the new facility names.\n */\n updatePrefixes(): void {\n this.namePrefix.en = String(\n this.$i18n.t('housingFacility.typeOptions.' + this.selectedType, 'en'),\n );\n this.namePrefix.fa = String(\n this.$i18n.t('housingFacility.typeOptions.' + this.selectedType, 'fa'),\n );\n this.namePrefix.ps = String(\n this.$i18n.t('housingFacility.typeOptions.' + this.selectedType, 'ps'),\n );\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddFacilityChildrenDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddFacilityChildrenDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddFacilityChildrenDialog.vue?vue&type=template&id=574a2ad1&\"\nimport script from \"./AddFacilityChildrenDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddFacilityChildrenDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCheckbox,VCol,VDivider,VIcon,VRow,VSelect,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('housingFacility.singular'),\"loading\":_vm.loading},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('HousingFacilityForm',{model:{value:(_vm.facility),callback:function ($$v) {_vm.facility=$$v},expression:\"facility\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:{ isRTL: l.isRTL },attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t(l.locale) + ' ' + _vm.$t('housingFacility.name'),\"required\":\"\"},model:{value:(_vm.facility.name[l.locale]),callback:function ($$v) {_vm.$set(_vm.facility.name, l.locale, (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"facility.name[l.locale]\"}})],1)}),(_vm.facility.type === 'facility')?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('location.singular'),\"value\":_vm.facility.geographyID,\"countryID\":1,\"minSpecificity\":\"province\",\"maxSpecificity\":\"province\"},on:{\"input\":function($event){return _vm.update('geographyID', $event)}}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('FacilitySelector',{attrs:{\"label\":_vm.$t('housingFacility.parentFacility'),\"value\":_vm.facility.parentID,\"hint\":\"Clear this field with the X if changing to a top-level facility\",\"excludedIDs\":[_vm.facility.id],\"clearable\":\"\",\"persistent-hint\":\"\"},on:{\"input\":function($event){return _vm.update('parentID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-select',{attrs:{\"label\":_vm.$t('housingFacility.type'),\"value\":_vm.facility.type,\"items\":_vm.typeOptions,\"item-text\":function (v) { return _vm.$t('housingFacility.name'); }},on:{\"input\":function($event){return _vm.update('type', $event)}},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.$t('housingFacility.typeOptions.' + item))+\" \")]}},{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.$t('housingFacility.typeOptions.' + item))+\" \")]}}])})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('housingFacility.capacity'),\"value\":_vm.facility.capacity},on:{\"input\":function($event){return _vm.update('capacity', $event)}}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('housingFacility.canHoldJuveniles'),\"input-value\":_vm.facility.canHoldJuveniles},on:{\"change\":function($event){return _vm.update('canHoldJuveniles', !!$event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('housingFacility.canHoldAdults'),\"input-value\":_vm.facility.canHoldAdults},on:{\"change\":function($event){return _vm.update('canHoldAdults', !!$event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('housingFacility.canHoldDetainees'),\"input-value\":_vm.facility.canHoldDetainees},on:{\"change\":function($event){return _vm.update('canHoldDetainees', !!$event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('housingFacility.canHoldPrisoners'),\"input-value\":_vm.facility.canHoldPrisoners},on:{\"change\":function($event){return _vm.update('canHoldPrisoners', !!$event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('housingFacility.canHoldFemales'),\"input-value\":_vm.facility.canHoldFemales},on:{\"change\":function($event){return _vm.update('canHoldFemales', !!$event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('housingFacility.canHoldMales'),\"input-value\":_vm.facility.canHoldMales},on:{\"change\":function($event){return _vm.update('canHoldMales', !!$event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('housingFacility.acceptsTransfers'),\"input-value\":_vm.facility.acceptsTransfers},on:{\"change\":function($event){return _vm.update('acceptsTransfers', !!$event)}}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('IntArrayField',{attrs:{\"label\":_vm.$t('housingFacility.legacyIDs'),\"value\":_vm.facility.legacyIDs},on:{\"input\":function($event){return _vm.update('legacyIDs', $event)}}})],1)],1)],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { HousingFacility } from '@/vuex/housing/housing';\nimport { TranslatedString } from '@/lib/translated';\n\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n data() {\n return {\n typeOptions: ['facility', 'building', 'wing', 'block', 'floor', 'cell'],\n parentID: 0,\n };\n },\n\n computed: {\n ...mapState('language', ['locales', 'locale']),\n ...mapGetters('language', ['languages']),\n\n /**\n * facility computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n facility(): HousingFacility {\n return this.value\n ? this.value\n : {\n id: 0,\n type: 'facility',\n name: {} as TranslatedString,\n geographyID: 1,\n canHoldJuveniles: false,\n canHoldAdults: true,\n canHoldDetainees: true,\n canHoldPrisoners: false,\n canHoldFemals: false,\n canHoldMales: true,\n acceptsTransfers: true,\n capacity: 0,\n parentID: null as number | null,\n hidden: false,\n legacyIDs: [] as number[],\n };\n },\n },\n\n watch: {\n parentID(idVal: number) {\n if (idVal === undefined) {\n this.facility.parentID = 0;\n this.facility.acceptsTransfers = true;\n } else {\n this.facility.parentID = idVal;\n }\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n if (modifier === 'number') {\n let quant = parseInt(value, 10);\n // Force non-numeric input to a number so that the form\n // ignores it (this will show '0' if you type 'a').\n if (Number.isNaN(quant)) {\n quant = 0;\n }\n modifiedValue = quant;\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.facility), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n\n components: {\n FacilitySelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HousingFacilityForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HousingFacilityForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HousingFacilityForm.vue?vue&type=template&id=e942e926&\"\nimport script from \"./HousingFacilityForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./HousingFacilityForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCheckbox,VCol,VRow,VSelect,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport housingAPI from '@/vuex/housing/housingAPI';\nimport { HousingFacility } from '@/vuex/housing/housing';\n\nimport HousingFacilityForm from '@/components/offender/facility/HousingFacilityForm.vue';\n\nexport default Vue.extend({\n props: {\n facilityID: Number,\n },\n\n data() {\n return {\n isOpen: false,\n error: null as any,\n loading: false,\n facility: null as null | HousingFacility,\n };\n },\n\n computed: {\n ...mapGetters('housing', ['facilityWithID']),\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n async reset(): Promise {\n this.loading = true;\n this.error = null;\n try {\n await this.$store.dispatch('housing/fetchFacility', {\n force: true,\n facilityID: this.facilityID,\n });\n const localCopy = _.cloneDeep(this.facilityWithID(this.facilityID));\n this.facility = localCopy;\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n if (!this.facility) {\n return;\n }\n\n try {\n // Execute the API call and await the response\n const resp = await housingAPI.post('/facilities/update', {\n data: {\n housingFacilityID: this.facility.id,\n parentID: this.facility.parentID,\n name: this.facility.name,\n type: this.facility.type,\n geographyID: this.facility.geographyID,\n canHoldJuveniles: this.facility.canHoldJuveniles,\n canHoldAdults: this.facility.canHoldAdults,\n canHoldDetainees: this.facility.canHoldDetainees,\n canHoldPrisoners: this.facility.canHoldPrisoners,\n canHoldFemales: this.facility.canHoldFemales,\n canHoldMales: this.facility.canHoldMales,\n acceptsTransfers: this.facility.acceptsTransfers,\n capacity: this.facility.capacity,\n legacyIDs: this.facility.legacyIDs,\n },\n });\n\n // Parse the resulting state and inject it into Vuex\n const newState = _.get(resp, 'data.data');\n this.$store.commit('housing/setState', newState);\n\n // Close the dialog\n this.isOpen = false;\n } catch (err) {\n this.error = err;\n }\n },\n },\n components: {\n HousingFacilityForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHousingFacilityDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHousingFacilityDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditHousingFacilityDialog.vue?vue&type=template&id=5fe4a33e&\"\nimport script from \"./EditHousingFacilityDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditHousingFacilityDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport housingAPI from '@/vuex/housing/housingAPI';\nimport { HousingFacility } from '@/vuex/housing/housing';\n\nimport AddFacilityChildrenDialog from '@/components/offender/facility/AddFacilityChildrenDialog.vue';\nimport EditHousingFacilityDialog from '@/components/offender/facility/EditHousingFacilityDialog.vue';\n\nexport default Vue.extend({\n name: 'HousingFacilityContainer',\n\n props: {\n facilityID: Number,\n search: String,\n depth: {\n type: Number,\n default: 0,\n },\n },\n\n data() {\n return {};\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapState('language', ['locale']),\n ...mapGetters('housing', ['facilityWithID', 'facilitiesUnder']),\n\n facility(): HousingFacility {\n return this.facilityWithID(this.facilityID);\n },\n\n facilities(): HousingFacility[] {\n const facilities = this.facilitiesUnder(this.facilityID);\n return _.reject(facilities, { id: 0 });\n },\n\n translatedFacilities(): any[] {\n return _.chain(this.facilities)\n .map((f) => {\n return {\n ...f,\n translatedName: f.name[this.locale],\n };\n })\n .orderBy(['translatedName'])\n .value();\n },\n\n /**\n * isPaginated controls whether the data-iterator has pagination controls\n * enabled. We always paginated the top level (level 0), and paginate\n * lower levels when there is an excessive number of entries.\n */\n isPaginated(): boolean {\n if (this.depth === 0) {\n return true;\n }\n return this.translatedFacilities.length > 50;\n },\n },\n\n watch: {\n facilityID: {\n immediate: true,\n handler(newID: number) {\n this.fetchChildren();\n },\n },\n },\n\n methods: {\n /**\n * hasPermissionInPath() splits a facility's path (for e.g. 119.814.3870)\n * and checks each result against hasPermission(). This is used to determine\n * permissions to facilities that the user has \"parent-permission\" to.\n */\n hasPermissionInPath(\n permissionKey: string,\n entityType: string,\n path: string,\n ): boolean {\n const pathIDs = path.split('.').map(Number) as number[];\n\n for (const pathID of pathIDs) {\n if (this.hasPermission(permissionKey, entityType, pathID)) {\n return true;\n }\n }\n\n return false;\n },\n\n fetchChildren() {\n this.$store.dispatch('housing/fetchFacilityChildren', {\n force: false,\n parentID: this.facilityID,\n });\n },\n\n async hideFacility(facilityID: number): Promise {\n const resp = await housingAPI.post('/facilities/hide', {\n data: { housingFacilityID: facilityID },\n });\n\n const newState = _.get(resp, 'data.data');\n this.$store.commit('housing/setState', newState);\n },\n\n async unHideFacility(facilityID: number): Promise {\n const resp = await housingAPI.post('/facilities/unhide', {\n data: { housingFacilityID: facilityID },\n });\n\n const newState = _.get(resp, 'data.data');\n this.$store.commit('housing/setState', newState);\n },\n\n canAddChildren(f: HousingFacility): boolean {\n if (!f) {\n return false;\n }\n\n if (f.hidden || f.type === 'cell') {\n return false;\n }\n\n return this.hasPermissionInPath('facility.create', 'facility', f.path);\n },\n },\n\n components: {\n AddFacilityChildrenDialog,\n EditHousingFacilityDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HousingFacilityContainer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HousingFacilityContainer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HousingFacilityContainer.vue?vue&type=template&id=c1e82900&\"\nimport script from \"./HousingFacilityContainer.vue?vue&type=script&lang=ts&\"\nexport * from \"./HousingFacilityContainer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataIterator } from 'vuetify/lib/components/VDataIterator';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VDataIterator,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VIcon,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport AddHousingFacilityDialog from '@/components/offender/facility/AddHousingFacilityDialog.vue';\nimport HousingFacilityContainer from '@/components/offender/facility/HousingFacilityContainer.vue';\n\nexport default Vue.extend({\n data() {\n return {\n search: '',\n };\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapState('language', ['locale']),\n ...mapGetters('housing', ['transferrableFacilities', 'fullFacilityName']),\n },\n\n components: {\n AddHousingFacilityDialog,\n HousingFacilityContainer,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HousingFacilityList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HousingFacilityList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HousingFacilityList.vue?vue&type=template&id=5cd3fb4d&\"\nimport script from \"./HousingFacilityList.vue?vue&type=script&lang=ts&\"\nexport * from \"./HousingFacilityList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VContainer,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pb-10\"},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.canAdd)?_c('NewJudgeDialog'):_vm._e(),_c('v-spacer'),_c('v-checkbox',{attrs:{\"label\":_vm.$t('command.includeDeleted')},model:{value:(_vm.showDeleted),callback:function ($$v) {_vm.showDeleted=$$v},expression:\"showDeleted\"}})]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('judge.plural')))]),_c('v-spacer'),_c('v-text-field',{attrs:{\"label\":_vm.$t('search'),\"append-icon\":\"search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"search\"}})],1),_c('v-card-text',[_c('v-data-table',{staticClass:\"no-fixed-height\",attrs:{\"items\":_vm.judges,\"search\":_vm.search,\"headers\":_vm.headers,\"no-data-text\":_vm.$t('error.nodata'),\"item-class\":function (item) { return (item.isDeleted ? 'isDeleted' : ''); }},scopedSlots:_vm._u([(_vm.canAdd)?{key:\"item.id\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('EditJudgeDialog',{attrs:{\"id\":item.id}})]}}:null],null,true)})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('judge.singular'),\"loading\":_vm.loading},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('JudgeForm',{model:{value:(_vm.updatedJudge),callback:function ($$v) {_vm.updatedJudge=$$v},expression:\"updatedJudge\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{attrs:{\"md\":\"3\",\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.name'),\"value\":_vm.judge.name,\"rules\":[function (val) { return !!val || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('name', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"md\":\"3\",\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.surname'),\"value\":_vm.judge.surname,\"rules\":[function (val) { return !!val || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('surname', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"md\":\"3\",\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.fatherName'),\"value\":_vm.judge.fatherName,\"rules\":[function (val) { return !!val || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('fatherName', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"md\":\"3\",\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.grandfatherName'),\"value\":_vm.judge.grandfatherName},on:{\"input\":function($event){return _vm.update('grandfatherName', $event, 'trim')}}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('PhoneField',{attrs:{\"label\":_vm.$t('person.phoneNumber'),\"value\":_vm.judge.phoneNumber},on:{\"input\":function($event){return _vm.update('phoneNumber', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.emailAddress'),\"value\":_vm.judge.emailAddress},on:{\"input\":function($event){return _vm.update('emailAddress', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('JudgeJurisdictionsTable',{attrs:{\"value\":_vm.judge.jurisdictions},on:{\"input\":function($event){return _vm.update('jurisdictions', $event)}}})],1),(_vm.judge.id)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('item.isDeleted'),\"input-value\":_vm.judge.isDeleted},on:{\"change\":function($event){return _vm.update('isDeleted', !!$event)}}})],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-toolbar',{attrs:{\"dense\":\"\",\"dark\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(\"Jurisdictions\")]),_c('NewJudgeJurisdictionDialog',{on:{\"save\":function($event){return _vm.addJurisdiction($event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"items\":_vm.jurisdictions,\"headers\":_vm.headers,\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nvar index = ref.index;\nreturn [_c('tr',[_c('td',[_c('EditJudgeJurisdictionDialog',{model:{value:(_vm.jurisdictions[index]),callback:function ($$v) {_vm.$set(_vm.jurisdictions, index, $$v)},expression:\"jurisdictions[index]\"}})],1),_c('td',[_c('Date',{attrs:{\"value\":item.startsAt}})],1),_c('td',[_c('Date',{attrs:{\"value\":item.endsAt}})],1),_c('td',[_vm._v(_vm._s(_vm.fullGeographyName(item.residenceGeographyID)))]),_c('td',_vm._l((item.stageIDs),function(stageID){return _c('span',{key:stageID},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(stageID, _vm.courtStages))+\" \")])}),0),_c('td',[_c('ConfirmationButton',{attrs:{\"icon\":\"\",\"x-small\":\"\",\"title\":_vm.$t('command.delete') + '?',\"prompt\":_vm.$t('question.areYouSure')},on:{\"confirm\":function($event){return _vm.deleteJurisdiction(item)}}},[_c('v-icon',[_vm._v(\"delete\")])],1)],1)])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('judge.jurisdiction.plural'),\"max-width\":\"700\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('JudgeJurisdictionForm',{model:{value:(_vm.jurisdiction),callback:function ($$v) {_vm.jurisdiction=$$v},expression:\"jurisdiction\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('daterange.start'),\"value\":_vm.jurisdiction.startsAt},on:{\"input\":function($event){return _vm.update('startsAt', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('daterange.end'),\"value\":_vm.jurisdiction.endsAt},on:{\"input\":function($event){return _vm.update('endsAt', $event)}}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"min-specificity\":\"country\",\"max-specificity\":\"district\",\"value\":_vm.jurisdiction.residenceGeographyID,\"zero-label\":\"all\",\"required\":\"\"},on:{\"input\":function($event){return _vm.update('residenceGeographyID', $event)}}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CourtStageSelector',{attrs:{\"label\":_vm.$t('court.stage.plural'),\"value\":_vm.jurisdiction.stageIDs,\"multiple\":\"\",\"chips\":\"\"},on:{\"input\":function($event){return _vm.update('stageIDs', $event)}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\n\nimport { AfghanistanID } from '@/vuex/geography/geography';\nimport { CourtStageIDs } from '@/vuex/court/court';\nimport { Jurisdiction } from '@/vuex/court/judge';\n\nimport CourtStageSelector from '@/components/court/CourtStageSelector.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n computed: {\n /**\n * jurisdiction computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n jurisdiction(): Jurisdiction {\n return (\n this.value || {\n id: 0,\n judgeID: 0,\n startsAt: null,\n endsAt: null,\n residenceGeographyID: AfghanistanID,\n stageIDs: [CourtStageIDs.primary],\n }\n );\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any): void {\n this.$emit(\n 'input',\n tap(cloneDeep(this.jurisdiction), (v) => set(v, key, value)),\n );\n },\n },\n\n components: {\n CourtStageSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JudgeJurisdictionForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JudgeJurisdictionForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./JudgeJurisdictionForm.vue?vue&type=template&id=61cecdc9&\"\nimport script from \"./JudgeJurisdictionForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./JudgeJurisdictionForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport { Jurisdiction } from '@/vuex/court/judge';\nimport JudgeJurisdictionForm from '@/components/court/judge/JudgeJurisdictionForm.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n data() {\n return {\n isOpen: false,\n jurisdiction: null as Jurisdiction | null,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n const myCopy = Object.assign({}, this.value);\n this.jurisdiction = myCopy;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n save(): void {\n this.$emit('input', this.jurisdiction);\n this.isOpen = false;\n },\n },\n components: {\n JudgeJurisdictionForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditJudgeJurisdictionDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditJudgeJurisdictionDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditJudgeJurisdictionDialog.vue?vue&type=template&id=16cb942c&\"\nimport script from \"./EditJudgeJurisdictionDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditJudgeJurisdictionDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('judge.jurisdiction.plural'),\"button-size\":\"x-small\",\"max-width\":\"700\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('JudgeJurisdictionForm',{model:{value:(_vm.jurisdiction),callback:function ($$v) {_vm.jurisdiction=$$v},expression:\"jurisdiction\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport { Jurisdiction } from '@/vuex/court/judge';\nimport JudgeJurisdictionForm from '@/components/court/judge/JudgeJurisdictionForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n isOpen: false,\n jurisdiction: null as Jurisdiction | null,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.jurisdiction = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n save(): void {\n this.$emit('save', this.jurisdiction);\n this.isOpen = false;\n },\n },\n components: {\n JudgeJurisdictionForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewJudgeJurisdictionDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewJudgeJurisdictionDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewJudgeJurisdictionDialog.vue?vue&type=template&id=127fca1f&\"\nimport script from \"./NewJudgeJurisdictionDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewJudgeJurisdictionDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { mapGetters, mapState } from 'vuex';\nimport Vue from 'vue';\nimport i18n from '@/i18n';\n\nimport { AfghanistanID } from '@/vuex/geography/geography';\nimport { CourtStageIDs } from '@/vuex/court/court';\nimport { Jurisdiction } from '@/vuex/court/judge';\n\nimport EditJudgeJurisdictionDialog from '@/components/court/judge/EditJudgeJurisdictionDialog.vue';\nimport NewJudgeJurisdictionDialog from '@/components/court/judge/NewJudgeJurisdictionDialog.vue';\n\nexport default Vue.extend({\n props: {\n value: {\n type: Array,\n },\n },\n data() {\n return {\n defaultJurisdiction: {\n id: 0,\n judgeID: 0,\n startsAt: null,\n endsAt: null,\n residenceGeographyID: AfghanistanID,\n stageIDs: [CourtStageIDs.primary],\n },\n };\n },\n computed: {\n ...mapState('court', ['courtStages']),\n ...mapGetters('geography', ['fullGeographyName']),\n ...mapGetters('language', ['nameForIDInCollection']),\n headers(): any[] {\n const h = [\n {\n text: this.$i18n.t('command.edit'),\n value: 'edit',\n width: '60px',\n sortable: false,\n },\n {\n text: this.$i18n.t('daterange.start'),\n value: 'startsAt',\n width: '120px',\n },\n {\n text: this.$i18n.t('daterange.end'),\n value: 'endsAt',\n width: '120px',\n },\n {\n text: 'Residence',\n value: 'residenceGeographyID',\n },\n {\n text: i18n.t('court.stage.singular'),\n value: 'stages',\n },\n { value: 'delete', width: '100px', sortable: false },\n ];\n return h;\n },\n jurisdictions(): Jurisdiction[] {\n return (this.value || []) as Jurisdiction[];\n },\n },\n methods: {\n addJurisdiction(jurisdiction: Jurisdiction): void {\n if (!jurisdiction) {\n jurisdiction = this.defaultJurisdiction;\n }\n const newJurisdictions = [...this.jurisdictions, jurisdiction];\n this.$emit('input', newJurisdictions);\n },\n deleteJurisdiction(id: any): void {\n const newJurisdictions = [...this.jurisdictions];\n const index = newJurisdictions.indexOf(id);\n newJurisdictions.splice(index, 1);\n this.$emit('input', newJurisdictions);\n },\n },\n components: {\n EditJudgeJurisdictionDialog,\n NewJudgeJurisdictionDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JudgeJurisdictionsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JudgeJurisdictionsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./JudgeJurisdictionsTable.vue?vue&type=template&id=6282f864&\"\nimport script from \"./JudgeJurisdictionsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./JudgeJurisdictionsTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCol,VDataTable,VIcon,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\n\nimport { Judge } from '@/vuex/court/judge';\n\nimport JudgeJurisdictionsTable from '@/components/court/judge/JudgeJurisdictionsTable.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n computed: {\n /**\n * judge computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n judge(): Judge {\n return this.value\n ? this.value\n : {\n name: '',\n surname: '',\n fatherName: '',\n grandfatherName: '',\n emailAddress: '',\n phoneNumber: '',\n jurisdictions: [],\n isDeleted: false,\n };\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.judge), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n\n components: {\n JudgeJurisdictionsTable,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JudgeForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JudgeForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./JudgeForm.vue?vue&type=template&id=8d1e9344&\"\nimport script from \"./JudgeForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./JudgeForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCheckbox,VCol,VRow,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapActions, mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { Judge } from '@/vuex/court/judge';\n\nimport JudgeForm from '@/components/court/judge/JudgeForm.vue';\n\nexport default Vue.extend({\n props: {\n id: {\n type: Number,\n required: true,\n },\n },\n\n data() {\n return {\n isOpen: false,\n loading: false,\n error: null as any,\n\n updatedJudge: null as Judge | null,\n };\n },\n\n computed: {\n ...mapGetters('court', ['judgeWithID']),\n },\n\n methods: {\n ...mapActions('court', ['fetchJudge']),\n\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.fetchData();\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.updatedJudge) {\n return;\n }\n this.error = null;\n\n try {\n // API Call and Response\n const response = await courtAPI.post('judges/update', {\n data: {\n id: this.updatedJudge.id,\n name: this.updatedJudge.name,\n surname: this.updatedJudge.surname,\n fatherName: this.updatedJudge.fatherName,\n grandfatherName: this.updatedJudge.grandfatherName,\n emailAddress: this.updatedJudge.emailAddress,\n phoneNumber: this.updatedJudge.phoneNumber,\n isDeleted: this.updatedJudge.isDeleted,\n jurisdictions: this.updatedJudge.jurisdictions,\n },\n });\n const newState = _.get(response, 'data.data', {});\n this.$store.commit('court/setState', newState);\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n\n /**\n * fetchData fetches the entire judge object from the server to make sure\n * we have current info before editing a Judge.\n */\n async fetchData(): Promise {\n this.loading = true;\n await this.fetchJudge(this.id);\n const myCopy = Object.assign({}, this.judgeWithID(this.id));\n this.updatedJudge = myCopy;\n this.loading = false;\n },\n },\n\n components: {\n JudgeForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditJudgeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditJudgeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditJudgeDialog.vue?vue&type=template&id=14365358&\"\nimport script from \"./EditJudgeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditJudgeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('judge.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('JudgeForm',{model:{value:(_vm.judge),callback:function ($$v) {_vm.judge=$$v},expression:\"judge\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport courtAPI from '@/vuex/court/courtAPI';\n\nimport { Judge } from '@/vuex/court/judge';\nimport JudgeForm from '@/components/court/judge/JudgeForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n isOpen: false,\n error: null as any,\n\n judge: null as Judge | null,\n };\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.judge = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.judge) {\n return;\n }\n this.error = null;\n\n try {\n // API Call and Response\n const response = await courtAPI.post('judges/create', {\n data: {\n name: this.judge.name,\n surname: this.judge.surname,\n fatherName: this.judge.fatherName,\n grandfatherName: this.judge.grandfatherName,\n emailAddress: this.judge.emailAddress,\n phoneNumber: this.judge.phoneNumber,\n jurisdictions: this.judge.jurisdictions,\n },\n });\n\n const newState = _.get(response, 'data.data', {});\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/prependToTarget', {\n target: 'judgeIDs',\n value: Object.keys(newState.judge),\n });\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n JudgeForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewJudgeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewJudgeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewJudgeDialog.vue?vue&type=template&id=48be4bd1&\"\nimport script from \"./NewJudgeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewJudgeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport { mapState, mapGetters } from 'vuex';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport { Judge } from '@/vuex/court/judge';\n\nimport EditJudgeDialog from '@/components/court/judge/EditJudgeDialog.vue';\nimport NewJudgeDialog from '@/components/court/judge/NewJudgeDialog.vue';\n\nexport default Vue.extend({\n created(): void {\n this.$store.dispatch('court/fetchJudges', { force: false });\n },\n\n data() {\n return {\n search: '',\n showDeleted: false,\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapState('court', ['courtStages']),\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', [\n 'activeJurisdictionsForJudge',\n 'allJudges',\n 'judgeName',\n ]),\n ...mapGetters('geography', ['fullGeographyName']),\n\n canAdd(): boolean {\n return this.hasPermission('judge.create');\n },\n\n headers(): any[] {\n const h: any[] = [\n {\n text: i18n.t('person.name'),\n value: 'name',\n },\n {\n text: i18n.t('person.residence'),\n value: 'activeResidences',\n },\n {\n text: i18n.t('court.stage.singular'),\n value: 'activeStages',\n },\n ];\n if (this.canAdd) {\n h.unshift({\n text: i18n.t('command.edit'),\n value: 'id',\n width: '4em',\n sortable: false,\n });\n }\n return h;\n },\n\n judges(): any[] {\n let judges = this.allJudges;\n if (!this.showDeleted) {\n judges = judges.filter((j: Judge) => !j.isDeleted);\n }\n return judges.map((j: Judge) => {\n const name = this.judgeName(j.id);\n const js = this.activeJurisdictionsForJudge(j.id);\n const activeResidences = _.chain(js)\n .map('residenceGeographyID')\n .uniq()\n .map((id) => this.fullGeographyName(id))\n .value()\n .join(' / ');\n const activeStages = _.chain(js)\n .flatMap('stageIDs')\n .uniq()\n .map((id: number) => this.nameForIDInCollection(id, this.courtStages))\n .value()\n .join(', ');\n return Object.assign({}, j, {\n name,\n activeResidences,\n activeStages,\n });\n });\n },\n },\n\n components: {\n EditJudgeDialog,\n NewJudgeDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JudgeList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JudgeList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./JudgeList.vue?vue&type=template&id=b3bc4156&\"\nimport script from \"./JudgeList.vue?vue&type=script&lang=ts&\"\nexport * from \"./JudgeList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCheckbox,VContainer,VDataTable,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pb-10\"},[_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\",\"flat\":\"\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('v-spacer'),_c('CrimeAdminMenu'),_c('v-spacer')]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t('legacyCrime.plural'))+\" \")]),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"search\",\"placeholder\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-card-text',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),(!_vm.loading)?_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"text-caption\",attrs:{\"cols\":\"12\"}},[_vm._v(\" To effectively migrate CMS1 case information, each CMS 1 crime type needs to be \"),_c('em',[_vm._v(\"mapped\")]),_vm._v(\" to a \"),_c('strong',[_vm._v(\"single\")]),_vm._v(\" CMS 2 crime type, including the details of the Completion Status (was the crime completed, or just attempted, etc), and which Participation Type (was the person merely an Accomplice, etc). This interface provides the tools to ensure each CMS 1 crime type is correctly mapped. \")]),_c('v-col',_vm._l(([\n 'Reviewed',\n 'Approved',\n 'GiroaReview',\n 'GiroaApproved' ]),function(prefix){return _c('v-progress-linear',{key:prefix,staticClass:\"mb-1\",attrs:{\"value\":_vm.overallCompletion(prefix),\"height\":\"20\",\"color\":\"green lighten-2\"}},[_vm._v(\" \"+_vm._s(prefix)+\" \")])}),1),_c('v-col',{staticClass:\"px-10\"},[_c('v-select',{attrs:{\"items\":[\n { text: 'All', value: '' },\n { text: 'Unmapped', value: 'unmapped' },\n { text: 'Needs Review', value: 'needsReview' },\n { text: 'Needs Approval', value: 'needsApproval' },\n {\n text: 'Needs GIRoA Review',\n value: 'needsGiroaReview',\n },\n {\n text: 'Needs GIRoA Approval',\n value: 'needsGiroaApproval',\n },\n { text: 'Completed', value: 'completed' } ],\"item-text\":\"text\",\"item-value\":\"value\",\"label\":\"Filter By:\"},model:{value:(_vm.filterMode),callback:function ($$v) {_vm.filterMode=$$v},expression:\"filterMode\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"dense\":\"\",\"items\":_vm.filteredLegacyCrimes,\"headers\":_vm.headers,\"items-per-page\":15,\"search\":_vm.search,\"footer-props\":{\n 'items-per-page-options': [15, 20, 40, 50, 100],\n },\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\n var item = ref.item;\nreturn [_c('tr',[_c('td',{staticClass:\"text-right\"},[_vm._v(_vm._s(item.legacyID))]),_c('td',[_vm._v(_vm._s(item.legacyNameTranslated))]),_c('td',{staticClass:\"text-right\"},[_c('EditLegacyCrimeDialog',{attrs:{\"legacyID\":item.legacyID},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_c('v-btn',_vm._g({attrs:{\"block\":\"\",\"small\":\"\",\"color\":!item.crimeID ? 'red' : ''}},slotProps.on),[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(_vm._s(_vm.editIcon))]),_vm._v(\" \"+_vm._s(item.crimeID)+\" \")],1)]}}],null,true)})],1),_c('td',{class:{ 'red--text': item.crimeID == 0 }},[_c('ChargeName',{attrs:{\"charge\":item}})],1),_c('td',[_c('v-progress-circular',{attrs:{\"value\":item.reviewScore,\"color\":_vm.reviewColor(item.reviewScore)}})],1)])]}}],null,false,3216668736)})],1)],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.charge)?_c('span',[_c('CrimeTitle',{attrs:{\"id\":_vm.charge.crimeID}}),(_vm.completionStatusLabel)?_c('v-chip',_vm._b({},'v-chip',_vm.chipProps,false),[_vm._v(\" \"+_vm._s(_vm.completionStatusLabel)+\" \")]):_vm._e(),(_vm.participationTypeLabel)?_c('v-chip',_vm._b({},'v-chip',_vm.chipProps,false),[_vm._v(\" \"+_vm._s(_vm.participationTypeLabel)+\" \")]):_vm._e(),(_vm.severityLabel)?_c('v-chip',_vm._b({},'v-chip',_vm.chipProps,false),[_vm._v(\" \"+_vm._s(_vm.severityLabel)+\" \")]):_vm._e(),(!_vm.short)?_c('AggravatorsMitigatorsDetail',{attrs:{\"charge\":_vm.charge}}):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Charge } from '@/vuex/court/charge';\nimport {\n CompletionStatusID,\n Crime,\n ParticipationTypeID,\n} from '@/vuex/crime/crime';\n\nimport AggravatorsMitigatorsDetail from '@/components/charges/AggravatorsMitigatorsDetail.vue';\nimport CrimeTitle from '@/components/crime/CrimeTitle.vue';\n\nexport default Vue.extend({\n props: {\n /**\n * charge expectes a Charge object, typically **one item** in an array of\n * Charge[].\n */\n charge: {\n type: Object,\n required: true,\n default: () => {\n return {} as Charge;\n },\n },\n\n /**\n * short Suppresses the display of the completion status, participation\n * type and severity chips entirely, regardless of hte logic that determines\n * when each is displayed.\n */\n short: Boolean,\n\n /**\n * full Forces the display of the completion status, participation type\n * and severity chips, regardless of whether the logic says they should\n * be displayed.\n */\n full: Boolean,\n },\n\n computed: {\n ...mapGetters('crime', ['crimeWithID']),\n ...mapGetters('language', ['nameForIDInCollection']),\n\n /**\n * crime computes the full Crime object which is referenced by the crimeID\n * on this Charge.\n */\n crime(): Crime | null {\n if (!this.charge) {\n return null;\n }\n return this.crimeWithID(this.charge.crimeID);\n },\n\n /**\n * completionStatusLabel returns the translated text of the completion\n * status chip, or a blank string if that chip should not be shown.\n */\n completionStatusLabel(): string {\n if (this.short) {\n // In short mode, we never display the Commpletion Status\n return '';\n }\n\n if (!this.charge.completionStatusID) {\n // We never want to display \"Unknown\" in the chip\n return '';\n }\n\n if (this.charge.completionStatusID === CompletionStatusID.Completed) {\n // We don't want 'Completed' to appear unless we're in full mode\n if (!this.full) {\n return '';\n }\n }\n\n return this.nameForIDInCollection(\n this.charge.completionStatusID,\n 'crime/completionStatuses',\n );\n },\n\n /**\n * participationTypeLabel returns the translated text of the participation\n * type chip, or a blank string if that chip should not be shown.\n */\n participationTypeLabel(): string {\n if (this.short) {\n // In short mode, we never display the Participation Type\n return '';\n }\n\n if (!this.charge.completionStatusID) {\n // We never want to display \"Unknown\" in the chip\n return '';\n }\n\n if (\n this.charge.participationTypeID ===\n ParticipationTypeID.PrincipalOffender\n ) {\n // We don't want 'Principal Offender' to appear unless we're in full mode\n if (!this.full) {\n return '';\n }\n }\n\n return this.nameForIDInCollection(\n this.charge.participationTypeID,\n 'crime/participationTypes',\n );\n },\n\n /**\n * severityLabel returns the translated text of the severity\n * chip, or a blank string if that chip should not be shown.\n */\n severityLabel(): string {\n if (this.short) {\n // In short mode, we never display the Severity\n return '';\n }\n\n if (!this.charge.crimeSeverityID) {\n // We never want to display \"Unknown\" in the chip\n return '';\n }\n\n if (this.crime) {\n const thisSeverity = [this.charge.crimeSeverityID];\n const onlyValidSeverity = _.isEqual(\n thisSeverity,\n this.crime.validSeverityIDs,\n );\n if (onlyValidSeverity) {\n // When this charge has the only severity which is valid for this\n // crime type, we only want to display the severity in full mode\n if (!this.full) {\n return '';\n }\n }\n }\n\n return this.nameForIDInCollection(\n this.charge.crimeSeverityID,\n 'crime/severities',\n );\n },\n\n chipProps(): object {\n return {\n label: true,\n xSmall: true,\n class: 'mx-1 px-2',\n };\n },\n },\n\n components: {\n AggravatorsMitigatorsDetail,\n CrimeTitle,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChargeName.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChargeName.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChargeName.vue?vue&type=template&id=6933dfc0&\"\nimport script from \"./ChargeName.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChargeName.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\ninstallComponents(component, {VChip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\nimport _ from 'lodash';\n\nimport i18n from '@/i18n';\n\nimport { LegacyCrime } from '@/vuex/crime/crime';\n\nimport ChargeName from '@/components/charges/ChargeName.vue';\nimport CrimeAdminMenu from '@/components/crime/CrimeAdminMenu.vue';\nimport EditLegacyCrimeDialog from '@/components/crime/legacyCrime/EditLegacyCrimeDialog.vue';\n\nexport default Vue.extend({\n created(): void {\n this.fetchData();\n },\n data() {\n return {\n loading: true,\n search: '',\n filterMode: '',\n };\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['align']),\n ...mapGetters('crime', ['allCrimes', 'allLegacyCrimes', 'crimeWithID']),\n\n /**\n * legacyCrimes is the initial data set of the Legacy Crimes entities,\n * with a few table-specific extra columns added.\n */\n legacyCrimes(): any[] {\n const all: LegacyCrime[] = this.allLegacyCrimes;\n return _.chain(all)\n .map((lc) =>\n Object.assign({}, lc, {\n reviewScore: this.reviewScore(lc),\n legacyNameTranslated: lc.legacyName[this.locale],\n }),\n )\n .sortBy('legacyID')\n .value();\n },\n\n /**\n * headers builds the VTable column headers. It needs to be a computed prop\n * so that translations of the column header text are made when the\n * translation is changed.\n */\n headers(): any[] {\n const h = [\n {\n text: i18n.t('legacyCrime.legacyID'),\n value: 'legacyID',\n },\n {\n text: i18n.t('legacyCrime.legacyName'),\n value: 'legacyNameTranslated',\n width: '48%',\n },\n {\n text: i18n.t('legacyCrime.crimeID'),\n value: 'crimeID',\n align: 'right',\n },\n {\n text: i18n.t('legacyCrime.crime'),\n value: 'crimeTitleTranslated',\n width: '48%',\n },\n {\n text: i18n.t('review.progress'),\n value: 'reviewScore',\n width: 36,\n },\n ];\n return h;\n },\n\n /**\n * filteredLegacyCrimes applies the selected filter to the legacyCrimes\n * items array.\n */\n filteredLegacyCrimes(): LegacyCrime[] {\n const crimes = this.legacyCrimes;\n\n let criteria: any = null;\n switch (this.filterMode) {\n case 'unmapped':\n criteria = { crimeID: 0 };\n break;\n case 'needsReview':\n criteria = (lc: LegacyCrime) => !lc.lastReviewedByUserID;\n break;\n case 'needsApproval':\n criteria = (lc: LegacyCrime) =>\n !!lc.lastReviewedByUserID && !lc.lastApprovedByUserID;\n break;\n case 'needsGiroaReview':\n criteria = (lc: LegacyCrime) =>\n !!lc.lastReviewedByUserID &&\n !!lc.lastApprovedByUserID &&\n !lc.lastGiroaReviewByUserID;\n break;\n case 'needsGiroaApproval':\n criteria = (lc: LegacyCrime) =>\n !!lc.lastReviewedByUserID &&\n !!lc.lastApprovedByUserID &&\n !!lc.lastGiroaReviewByUserID &&\n !lc.lastGiroaApprovedByUserID;\n break;\n case 'completed':\n criteria = (lc: LegacyCrime) =>\n !!lc.lastReviewedByUserID &&\n !!lc.lastApprovedByUserID &&\n !!lc.lastGiroaReviewByUserID &&\n !!lc.lastGiroaApprovedByUserID;\n break;\n }\n\n if (criteria) {\n return _.filter(crimes, criteria);\n }\n return crimes;\n },\n\n /**\n * editIcon flips the mapping button icon to point the correct direction\n * based on the selected language direction.\n */\n editIcon(): string {\n if (this.align === 'left') {\n return 'fa-arrow-right';\n }\n return 'fa-arrow-left';\n },\n },\n\n methods: {\n /**\n * fetchData loads the full list of Legacy Crime mappings. It is not loaded\n * by default.\n */\n async fetchData(): Promise {\n this.loading = true;\n await this.$store.dispatch('crime/fetchLegacyCrimes', true);\n this.loading = false;\n },\n\n /**\n * reviewScore maps a LegacyCrime to its score of out 100 representing how\n * much of the review process is completed for this LegacyCrime.\n */\n reviewScore(lc: LegacyCrime): number {\n let count = 0;\n const fields = ['Reviewed', 'Approved', 'GiroaReview', 'GiroaApproved'];\n for (const prefix of fields) {\n const key = `last${prefix}ByUserID`;\n if (lc[key] > 0) {\n count = count + 1;\n }\n }\n if (count === 0) {\n return 10;\n }\n return (count / 4.0) * 100;\n },\n\n /**\n * reviewColor returns the progressbar color based on its value.\n */\n reviewColor(score: number) {\n if (score >= 90) {\n return 'green darken-2';\n }\n if (score >= 75) {\n return 'green lighten-2';\n }\n if (score >= 25) {\n return 'orange darken-2';\n }\n return 'red';\n },\n\n /**\n * overallCompletion accepts a field prefix (like 'Reviewed'), and scans the\n * crimes to find how many have that field checked. The result is returned\n * as a percentage (out of 100) for use in a v-progressbar.\n */\n overallCompletion(prefix: string): number {\n const key = `last${prefix}ByUserID`;\n const total = this.legacyCrimes.length;\n const finished = _.filter(this.legacyCrimes, (lc) => !!lc[key]).length;\n return (finished / total) * 100;\n },\n },\n components: {\n ChargeName,\n CrimeAdminMenu,\n EditLegacyCrimeDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyCrimeList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyCrimeList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LegacyCrimeList.vue?vue&type=template&id=c4fb137e&\"\nimport script from \"./LegacyCrimeList.vue?vue&type=script&lang=ts&\"\nexport * from \"./LegacyCrimeList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VContainer,VDataTable,VIcon,VProgressCircular,VProgressLinear,VRow,VSelect,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',[_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"extended\":\"\",\"dark\":\"\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.hasPermission('admin.translation.create'))?_c('NewLocaleMessageDialog'):_vm._e()]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('localeMessage.plural')))]),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"search\",\"single-line\":\"\",\"hide-details\":\"\",\"clearable\":\"\",\"label\":_vm.$t('search')},model:{value:(_vm.search),callback:function ($$v) {_vm.search=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"search\"}})],1),_c('v-card-text',[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[(_vm.wrongAPIServer)?_c('v-alert',{attrs:{\"type\":\"error\"}},[_vm._v(\" Adding or editing translation settings here is not recommended. Translations in this environment are being served by \"),_c('strong',[_vm._v(_vm._s(_vm.localeAPIHostname))]),_vm._v(\". Please login to that server to add or edit translations. \"),_c('br'),_c('br'),_vm._v(\" If you do edit translations on this server, they will dissappear on the next browser refresh and will not show up on pages other than this one. \")]):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.localeMessages,\"search\":_vm.search,\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',{class:{ isDeleted: item.isDeleted }},[_c('td',{staticClass:\"text-center\"},[_c('EditLocaleMessageDialog',{attrs:{\"key-name\":item.key}})],1),_c('td',{staticClass:\"key\"},[_vm._v(_vm._s(item.key))]),_c('td',[_vm._v(_vm._s(item.message.en))]),_c('td',[_c('span',{class:{\n 'red--text': item.message.fa == item.message.en,\n }},[_vm._v(\" \"+_vm._s(item.message.fa)+\" \")])]),_c('td',[_c('span',{class:{\n 'red--text': item.message.ps == item.message.en,\n 'orange--text':\n item.message.ps == item.message.fa &&\n item.message.ps != item.message.en,\n }},[_vm._v(\" \"+_vm._s(item.message.ps)+\" \")])]),_c('td',{staticClass:\"text-center\"},[(item.lastVerifiedAt)?_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"accent\"}},[_vm._v(\" fa-check \")]):_vm._e()],1)])]}}])})],1)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _ from 'lodash';\nimport axios from 'axios';\n\nimport GlobalVariables from '@/lib/global-variables';\n\nimport Cookies from 'js-cookie';\nimport { LocaleMessages } from 'vue-i18n';\n\nimport i18n from '@/i18n';\nimport { TranslatedString } from '@/lib/translated';\nimport { domainmodelMutations } from '@/lib/vuex-domainmodel';\n\n// DEFAULT_LOCALE will be used for the locale if the user has never\n// set their preference.\nconst DEFAULT_LOCALE = GlobalVariables.DEFAULT_LOCALE;\n\n// COOKIE_NAME is the identifier for the cookie which holds the user's\n// locale preference.\nconst COOKIE_NAME = GlobalVariables.LOCALE_COOKIE_NAME;\n\n// RTL_COOKIE_NAME is the identifier for the cookie which holds the user's\n// locale's RTL setting.\nconst RTL_COOKIE_NAME = GlobalVariables.RTL_COOKIE_NAME;\n\nexport const LOCALE_MESSAGE_API_SERVER =\n process.env.VUE_APP_LOCALE_MESSAGE_API_SERVER || '';\n\n// Language describes the properties of a user-interface language\n// used in this application\n//\nexport interface Language {\n locale: string;\n name: string;\n isRTL: boolean;\n rank: number;\n}\n\nexport interface ServerLocaleMessage {\n key: string;\n message: TranslatedString;\n lastVerifiedByUserID: number;\n lastVerifiedAt: null | string;\n isDeleted: boolean;\n}\n\nexport interface LookupTable {\n name: string;\n hasType: boolean;\n hasRank: boolean;\n}\n\nexport interface LookupTableRow {\n table: string;\n id: number;\n name: TranslatedString;\n type?: string;\n rank?: number;\n}\n\nconst state = {\n locale: i18n.locale || Cookies.get(COOKIE_NAME) || DEFAULT_LOCALE,\n languagesByLocale: {\n fa: {\n locale: 'fa',\n name: 'دري (Dari)',\n isRTL: true,\n rank: 1,\n },\n ps: {\n locale: 'ps',\n name: 'پشتو (Pashto)',\n isRTL: true,\n rank: 2,\n },\n en: {\n locale: 'en',\n name: 'English',\n isRTL: false,\n rank: 3,\n },\n } as { [code: string]: Language },\n localeMessage: {} as {\n [key: string]: ServerLocaleMessage;\n },\n};\n\nconst getters = {\n language(state): Language {\n return state.languagesByLocale[state.locale];\n },\n languages(state): Language[] {\n let languages: Language[] = Object.keys(state.languagesByLocale).map(\n (code) => state.languagesByLocale[code],\n );\n languages = _.sortBy(languages, (l) =>\n l.locale === state.locale ? 0 : l.rank,\n );\n return languages;\n },\n locales(state): string[] {\n return Object.keys(state.languagesByLocale);\n },\n languageIsRTL(state): boolean {\n return state.languagesByLocale[state.locale].isRTL || false;\n },\n align(state): string {\n return state.languagesByLocale[state.locale].isRTL ? 'right' : 'left';\n },\n valueForLocale: (state) => (field) => {\n if (!field) {\n return 'ERROR';\n }\n return field[state.locale];\n },\n\n /**\n * nameForIDInCollection is the universal tool for printing the translated\n * name for a single item in a LookupTable or other collection of objects\n * with a TranslatedString name property (i.e objects that look like this:\n *\n * [{\n * \"id\": 1,\n * \"name\": {\n * \"en\": \"English Name\",\n * \"fa\": \"Dari Name\",\n * \"ps\": \"Pashto Name\"\n * }\n * }]\n *\n * The first paramter is the integer id of the desired lookup table item.\n * The second paramter is either the collection of objects itself, or a\n * string \"address\" of where the collection can be found in state.\n *\n * These two usages are equivalent:\n *\n * ...mapState('court', ['judgeRemovalReasons']),\n * nameForIDInCollection(2, this.judgeRemovalReasons)\n *\n * nameForIDInCollection(1, 'court/judgeRemovalReasons')\n *\n * @param id: number The ID of the item in the LookupTable\n * @param any[] | string Either an array of items in a lookuptable, or\n * a Vuex-style string indicating the path to those\n * items in the state.\n */\n nameForIDInCollection:\n (state, getters, rootState) =>\n (id: number, collection: any[] | string): string => {\n // Early exit in case of missing/invalid parameters\n if (id === undefined || collection === undefined) {\n return '';\n }\n\n // Convert string path to a collection into the actual collection,\n // assuming we can find it.\n if (typeof collection === 'string') {\n const lookupTableName = collection.split('/');\n let moduleName = '';\n let variableName = '';\n if (lookupTableName.length > 1) {\n moduleName = lookupTableName[0];\n variableName = lookupTableName[1];\n if (!rootState.hasOwnProperty(moduleName)) {\n return `Invalid module: ${moduleName}`;\n }\n if (!rootState[moduleName].hasOwnProperty(variableName)) {\n return `Invalid collection: ${moduleName}/${variableName}`;\n }\n collection = rootState[moduleName][variableName];\n } else {\n if (!rootState.hasOwnProperty(collection)) {\n return `Invalid collection: ${collection}`;\n }\n collection = rootState[collection];\n }\n }\n\n if (Array.isArray(collection) && collection.length > 0) {\n const item = _.find(\n collection,\n // Convert both sides to strings so that \"1\" matches 1.\n // This is needed since the IDs are sometimes string-based\n // keys.\n (item) => item.id.toString() === id.toString(),\n ) as any;\n return item.name[state.locale];\n }\n\n return '';\n },\n\n localeMessages(state): ServerLocaleMessage[] {\n return Object.values(state.localeMessage) || [];\n },\n\n localeMessageKeys(state): string[] {\n return Object.keys(state.localeMessage) || [];\n },\n\n localeStringForBloodType:\n (state) =>\n (bloodType: string): string => {\n // will always come in as English so we can compare against it\n if (bloodType !== 'Unknown') {\n return bloodType;\n }\n\n return state.locale === 'en' ? 'Unknown' : 'نامعلوم';\n },\n};\n\nconst mutations = {\n ...domainmodelMutations,\n\n /**\n * setLocale changes the currently active locale to the value (e.g. 'en')\n * provided in the accompanying string.\n */\n setLocale(state, l: string) {\n state.locale = l;\n i18n.locale = l;\n const lang = state.languagesByLocale[l];\n Cookies.set(COOKIE_NAME, l, { sameSite: 'strict' });\n Cookies.set(RTL_COOKIE_NAME, lang.isRTL, { sameSite: 'strict' });\n },\n\n /**\n * refreshBrowserLocaleMessages scans the Vuex state of translation\n * messages and converts them all to the vuei18n locale message format\n * and then overwrites any existing locale messages with the ones\n * from Vuex.\n */\n refreshBrowserLocaleMessages(state) {\n const unflatten = require('flat').unflatten;\n const messages = {} as LocaleMessages;\n for (const msg of Object.values(\n state.localeMessage,\n ) as ServerLocaleMessage[]) {\n if (msg.isDeleted) {\n // The server sends messages regardless of whether they've been deleted.\n // By continue-ing here, we avoid the deleted messages being injected\n // into vue-i18n, making them behave as if they are deleted.\n continue;\n }\n const key = msg.key;\n for (const locale of Object.keys(msg.message)) {\n if (!messages.hasOwnProperty(locale)) {\n messages[locale] = {};\n }\n messages[locale][key] = msg.message[locale];\n }\n }\n for (const locale of Object.keys(messages)) {\n i18n.setLocaleMessage(\n locale,\n Object.assign(i18n.messages[locale], unflatten(messages[locale])),\n );\n }\n return messages;\n },\n};\n\nconst actions = {\n /**\n * initializeLocale is the action which is called at application bootup to\n * download ALL locale messages from the locale messages server\n */\n async initializeLocale({ commit, state }): Promise {\n const override = Cookies.get(COOKIE_NAME);\n if (override && !!state.languagesByLocale[override]) {\n commit('setLocale', override);\n } else {\n commit('setLocale', DEFAULT_LOCALE);\n }\n\n const client = axios.create({\n baseURL: `${LOCALE_MESSAGE_API_SERVER}/api/v1/translationservice`,\n headers: {},\n });\n const res = await client.get('/locale-messages');\n const newState = _.get(res, 'data.data', {});\n commit('setState', newState);\n commit('refreshBrowserLocaleMessages');\n },\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('localeMessage.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',[_c('v-col',{staticClass:\"text-center key key-confirmed\",attrs:{\"cols\":\"12\"}},[_c('span',{class:{ 'red--text': !_vm.haveValidKey }},[_vm._v(_vm._s(_vm.key))])]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":\"New Key\",\"rules\":[_vm.requireValidKey],\"hint\":\"Use camelCase dot notation (e.g: leave.reasonOptions.medical). No spaces.\",\"autofocus\":\"\"},model:{value:(_vm.key),callback:function ($$v) {_vm.key=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"key\"}})],1),(_vm.similarKeys.length)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-subtitle-2\"},[_vm._v(\"Similar Keys\")]),_vm._l((_vm.similarKeys),function(k){return _c('div',{key:k,staticClass:\"key\"},[_c('span',{class:{ 'red--text': k == _vm.key }},[_vm._v(\" \"+_vm._s(k)+\" \")])])})],2):_vm._e(),_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:l.isRTL ? 'isRTL' : 'isLTR',attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t(l.locale),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"disabled\":!_vm.haveValidKey},model:{value:(_vm.message[l.locale]),callback:function ($$v) {_vm.$set(_vm.message, l.locale, (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"message[l.locale]\"}})],1)})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from 'axios';\n\nimport api, { addAuthInterceptors } from '@/api';\n\nconst translationAPI = axios.create({\n baseURL: `${api.defaults.baseURL}translationservice/`,\n});\naddAuthInterceptors(translationAPI);\nexport default translationAPI;\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport translationAPI from '@/vuex/language/translationAPI';\nimport { blankTranslatedString } from '@/lib/translated';\n\nexport default Vue.extend({\n data() {\n return {\n isOpen: false,\n error: null as any,\n valid: true,\n\n key: '',\n message: blankTranslatedString(),\n lastVerifiedByUserID: 0,\n lastVerifiedAt: null as null | string,\n similar: [] as string[],\n };\n },\n computed: {\n ...mapGetters('language', [\n 'languages',\n 'localeMessages',\n 'localeMessageKeys',\n ]),\n\n /**\n * haveValidKey provides a mechanism to delay data entry and saving\n * until a valid key has been provided.\n */\n haveValidKey(): boolean {\n return this.requireValidKey(this.key) === true;\n },\n\n /**\n * similarKeys computes an array of keys which share a prefix with the\n * user's entry. This is a building block for validators and is also\n * shown to the user below their entry.\n */\n similarKeys(): string[] {\n if (this.key.length < 2) {\n return [];\n }\n\n const matching = _.filter(this.localeMessageKeys, (k) =>\n k.startsWith(this.key),\n );\n matching.sort();\n return _.take(matching, 12);\n },\n },\n\n methods: {\n /**\n * reset is triggered when the form first opens. It's responsible for\n * clearing all validation errors and resetting the form back to its\n * empty state.\n */\n reset(): void {\n this.valid = true;\n this.key = '';\n this.message = { en: '', fa: '', ps: '' };\n this.lastVerifiedByUserID = 0;\n this.lastVerifiedAt = null;\n },\n\n /**\n * save is the handler for the save button's click event. We use it to\n * persist data to the server and close the dialog if that was successful.\n */\n async save(): Promise {\n this.error = null;\n try {\n const res = await translationAPI.post('locale-messages/update', {\n data: {\n key: this.key,\n message: this.message,\n lastVerifiedByUserID: this.lastVerifiedByUserID,\n lastVerifiedAt: this.lastVerifiedAt,\n },\n });\n const newState = _.get(res, 'data.data', {});\n this.$store.commit('language/setState', newState);\n this.$store.commit('language/refreshBrowserLocaleMessages');\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n\n /**\n * requireValidKey is a Vuetify rules validator function. It takes the\n * current vale in a text field as input and returns either true (if the\n * the input is considered valid), or an error message describing what was\n * invalid about the input.\n */\n requireValidKey(newKey: string): boolean | string {\n newKey = newKey || ''; // Ensure we start with a string instead of null/undefi\n if (newKey.length < 2) {\n return 'Too short';\n }\n if (newKey.indexOf(' ') >= 0) {\n return 'Cannot contain spaces';\n }\n if (_.includes(this.localeMessageKeys, newKey)) {\n return 'Key already exists';\n }\n if (/\\.$/.test(newKey)) {\n return 'Key cannot end with a \".\" character';\n }\n const matching = _.filter(this.localeMessageKeys, (existingKey) => {\n const existingKeyAsParent = `${existingKey}.`;\n const newKeyAsParent = `${newKey}.`;\n if (existingKey.startsWith(newKeyAsParent)) {\n return true;\n }\n if (newKey.startsWith(existingKeyAsParent)) {\n return true;\n }\n }).sort();\n if (matching.length > 0) {\n return `Key conflicts with: ${matching.join(', ')}`;\n }\n return true;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewLocaleMessageDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewLocaleMessageDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewLocaleMessageDialog.vue?vue&type=template&id=b8aa6ba6&scoped=true&\"\nimport script from \"./NewLocaleMessageDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewLocaleMessageDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NewLocaleMessageDialog.vue?vue&type=style&index=0&id=b8aa6ba6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b8aa6ba6\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.keyName)?_c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('localeMessage.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',[_c('v-col',{staticClass:\"text-center key py-6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.keyName)+\" \")]),_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:l.isRTL ? 'isRTL' : 'isLTR',attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t(l.locale),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.message[l.locale]),callback:function ($$v) {_vm.$set(_vm.message, l.locale, (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"message[l.locale]\"}})],1)}),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('localeMessage.isVerified')},model:{value:(_vm.isVerified),callback:function ($$v) {_vm.isVerified=$$v},expression:\"isVerified\"}}),(_vm.isVerified)?_c('div',{staticClass:\"grey--text\"},[_c('UserInitials',{attrs:{\"id\":_vm.lastVerifiedByUserID}}),(_vm.lastVerifiedAt)?_c('Date',{attrs:{\"value\":_vm.lastVerifiedAt,\"show-time\":\"\"}}):_vm._e()],1):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('item.isDeleted')},model:{value:(_vm.isDeleted),callback:function ($$v) {_vm.isDeleted=$$v},expression:\"isDeleted\"}})],1)],2)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport { blankTranslatedString } from '@/lib/translated';\nimport UserInitials from '@/components/user/UserInitials.vue';\n\nimport translationAPI from '@/vuex/language/translationAPI';\n\nexport default Vue.extend({\n props: {\n keyName: {\n type: String,\n required: true,\n },\n },\n\n data() {\n return {\n isOpen: false,\n error: null as any,\n\n message: blankTranslatedString(),\n isVerified: false,\n lastVerifiedByUserID: 0,\n lastVerifiedAt: null as null | string,\n isDeleted: false,\n };\n },\n\n computed: {\n ...mapState('auth', ['user']),\n ...mapState('language', ['localeMessage']),\n ...mapGetters('language', ['languages']),\n },\n\n watch: {\n isVerified(newVal) {\n if (newVal) {\n this.lastVerifiedAt = moment().format();\n this.lastVerifiedByUserID = this.user.id;\n } else {\n this.lastVerifiedAt = null;\n this.lastVerifiedByUserID = 0;\n }\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n const existing = this.localeMessage[this.keyName];\n if (existing) {\n this.message = _.cloneDeep(existing.message);\n this.isVerified = !!existing.lastVerifiedAt;\n this.lastVerifiedByUserID = existing.lastVerifiedByUserID;\n this.lastVerifiedAt = existing.lastVerifiedAt;\n this.isDeleted = existing.isDeleted;\n } else {\n alert('Unknown key: ' + this.keyName);\n this.isOpen = false;\n }\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const res = await translationAPI.post('locale-messages/update', {\n data: {\n key: this.keyName,\n message: this.message,\n lastVerifiedByUserID: this.lastVerifiedByUserID,\n lastVerifiedAt: this.lastVerifiedAt,\n isDeleted: this.isDeleted,\n },\n });\n const newState = _.get(res, 'data.data', {});\n this.$store.commit('language/setState', newState);\n this.$store.commit('language/refreshBrowserLocaleMessages');\n\n // Close the Dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n UserInitials,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditLocaleMessageDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditLocaleMessageDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditLocaleMessageDialog.vue?vue&type=template&id=419014f3&scoped=true&\"\nimport script from \"./EditLocaleMessageDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditLocaleMessageDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EditLocaleMessageDialog.vue?vue&type=style&index=0&id=419014f3&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"419014f3\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCheckbox,VCol,VRow,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { LOCALE_MESSAGE_API_SERVER } from '@/vuex/language/language';\n\nimport NewLocaleMessageDialog from '@/components/translation/NewLocaleMessageDialog.vue';\nimport EditLocaleMessageDialog from '@/components/translation/EditLocaleMessageDialog.vue';\n\nexport default Vue.extend({\n data() {\n return {\n search: '',\n };\n },\n\n computed: {\n ...mapGetters('language', ['languages', 'localeMessages']),\n ...mapGetters('auth', ['hasPermission']),\n\n currentHostname(): string {\n return window.location.hostname;\n },\n\n localeAPIHostname(): string {\n if (LOCALE_MESSAGE_API_SERVER) {\n return new URL(LOCALE_MESSAGE_API_SERVER).hostname;\n } else {\n return window.location.hostname;\n }\n },\n\n wrongAPIServer(): boolean {\n return this.currentHostname !== this.localeAPIHostname;\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a computed property so\n * that it will update with new translations when the locale changes.\n */\n headers(): any[] {\n const h = [\n {\n text: i18n.t('command.edit'),\n value: 'edit',\n align: 'center',\n sortable: false,\n },\n { text: 'Key', value: 'key', align: 'start' },\n { text: i18n.t('en'), value: 'message.en' },\n { text: i18n.t('fa'), value: 'message.fa', align: 'right' },\n { text: i18n.t('ps'), value: 'message.ps', align: 'right' },\n {\n text: 'Verified',\n value: 'lastVerifiedAt',\n align: 'center',\n },\n ];\n return h;\n },\n },\n\n components: {\n NewLocaleMessageDialog,\n EditLocaleMessageDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleMessageList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleMessageList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LocaleMessageList.vue?vue&type=template&id=36ec2a44&scoped=true&\"\nimport script from \"./LocaleMessageList.vue?vue&type=script&lang=ts&\"\nexport * from \"./LocaleMessageList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LocaleMessageList.vue?vue&type=style&index=0&id=36ec2a44&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"36ec2a44\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VCard,VCardText,VCol,VContainer,VDataTable,VIcon,VRow,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"extended\":\"\",\"dark\":\"\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.allowAdding)?_c('NewLookupTableRowDialog',{attrs:{\"table\":_vm.selectedTable},on:{\"saveCompleted\":function($event){return _vm.fetchRows()}}}):_vm._e()]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('lookupTable.plural')))])],1),_c('v-card-text',[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"8\",\"md\":\"4\"}},[_c('v-autocomplete',{attrs:{\"label\":_vm.$t('lookupTable.singular'),\"items\":_vm.tables,\"item-text\":\"name\",\"item-value\":\"name\",\"hide-details\":\"\"},model:{value:(_vm.selectedTableName),callback:function ($$v) {_vm.selectedTableName=$$v},expression:\"selectedTableName\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"4\"}},[_c('v-text-field',{attrs:{\"append-icon\":\"search\",\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"search\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.rows,\"search\":_vm.search,\"no-data-text\":_vm.$t('error.nodata'),\"disable-pagination\":_vm.unpaginated,\"hide-default-footer\":_vm.unpaginated},scopedSlots:_vm._u([{key:\"item.edit\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('EditLookupTableRowDialog',{attrs:{\"table\":_vm.selectedTable,\"row\":item},on:{\"saveCompleted\":function($event){return _vm.fetchRows()}}})]}}],null,true)})],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('lookupTableRow.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",null,null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),(_vm.internalRow)?_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-alert',{attrs:{\"type\":\"info\"}},[_vm._v(\" This interface is intended for spelling corrections and minor changes. Existing data is already associated with these IDs, so changing the meaning of ID #\"+_vm._s(_vm.internalRow.id)+\" could have surprising effects. \")])],1),_c('LabeledData',{attrs:{\"cols\":\"2\",\"label\":\"ID\",\"value\":_vm.internalRow.id}}),_c('LabeledData',{attrs:{\"cols\":\"9\",\"label\":\"Table\",\"value\":_vm.internalRow.table}}),(_vm.showType)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":\"Type\",\"hint\":'Use a 1-word, lowercase value here (e.g. *education*). This value is likely used to build a translation key (e.g. program.typeOptions.' +\n _vm.internalRow.type +\n ').'},model:{value:(_vm.internalRow.type),callback:function ($$v) {_vm.$set(_vm.internalRow, \"type\", $$v)},expression:\"internalRow.type\"}})],1):_vm._e(),_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:l.isRTL ? 'isRTL' : 'isLTR',attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"label\":_vm.$t(l.locale)},model:{value:(_vm.internalRow.name[l.locale]),callback:function ($$v) {_vm.$set(_vm.internalRow.name, l.locale, (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"internalRow.name[l.locale]\"}})],1)}),(_vm.showRank)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":\"Rank / Order / Sort\"},model:{value:(_vm.internalRow.rank),callback:function ($$v) {_vm.$set(_vm.internalRow, \"rank\", _vm._n($$v))},expression:\"internalRow.rank\"}})],1):_vm._e()],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { LookupTableRow } from '@/vuex/language/language';\nimport translationAPI from '@/vuex/language/translationAPI';\n\nexport default Vue.extend({\n props: {\n table: {\n type: Object,\n required: true,\n },\n row: {\n type: Object,\n required: true,\n },\n },\n\n data(): any {\n return {\n isOpen: false,\n error: null as any,\n\n internalRow: null as LookupTableRow | null,\n };\n },\n\n computed: {\n ...mapGetters('language', ['languages']),\n\n /**\n * showRank computes whether a field should be shown to allow editing the\n * rank property based on whether the selected table supports it.\n */\n showRank(): boolean {\n return this.table && this.table.hasRank;\n },\n\n /**\n * showType computes whether a field shold be shown to allow ediitng the\n * type property based on whether the selected table supports it.\n */\n showType(): boolean {\n return this.table && this.table.hasType;\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state, which\n * in this case is to reset the internalRow variable to a deep copy of the\n * provided row prop.\n */\n reset(): void {\n if (this.row) {\n this.internalRow = _.cloneDeep(this.row) as LookupTableRow;\n }\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n await translationAPI.post('lookup-table-rows/edit', {\n data: {\n table: this.internalRow.table,\n id: this.internalRow.id,\n type: this.internalRow.type,\n name: this.internalRow.name,\n rank: this.internalRow.rank,\n },\n });\n this.$emit('saveCompleted');\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditLookupTableRowDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditLookupTableRowDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditLookupTableRowDialog.vue?vue&type=template&id=54562cec&\"\nimport script from \"./EditLookupTableRowDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditLookupTableRowDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAlert,VCol,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('lookupTableRow.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('LabeledData',{attrs:{\"cols\":\"9\",\"label\":\"Table\",\"value\":_vm.row.table}}),_c('LabeledData',{attrs:{\"cols\":\"2\",\"label\":\"ID\",\"value\":\"?\"}}),(_vm.showType)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":\"Type\"},model:{value:(_vm.row.type),callback:function ($$v) {_vm.$set(_vm.row, \"type\", $$v)},expression:\"row.type\"}})],1):_vm._e(),_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:l.isRTL ? 'isRTL' : 'isLTR',attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"label\":_vm.$t(l.locale)},model:{value:(_vm.row.name[l.locale]),callback:function ($$v) {_vm.$set(_vm.row.name, l.locale, (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"row.name[l.locale]\"}})],1)}),(_vm.showRank)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":\"Rank / Order / Sort\"},model:{value:(_vm.row.rank),callback:function ($$v) {_vm.$set(_vm.row, \"rank\", _vm._n($$v))},expression:\"row.rank\"}})],1):_vm._e()],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { LookupTableRow } from '@/vuex/language/language';\nimport { blankTranslatedString } from '@/lib/translated';\nimport translationAPI from '@/vuex/language/translationAPI';\n\nexport default Vue.extend({\n props: {\n table: {\n type: Object,\n required: true,\n },\n },\n\n data(): any {\n return {\n isOpen: false,\n error: null as any,\n\n row: {\n table: '',\n type: '',\n rank: 0,\n name: blankTranslatedString(),\n } as LookupTableRow,\n };\n },\n\n computed: {\n ...mapGetters('language', ['languages']),\n\n /**\n * showRank computes whether a field should be shown to allow editing the\n * rank property based on whether the selected table supports it.\n */\n showRank(): boolean {\n return this.table && this.table.hasRank;\n },\n\n /**\n * showType computes whether a field shold be shown to allow ediitng the\n * type property based on whether the selected table supports it.\n */\n showType(): boolean {\n return this.table && this.table.hasType;\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state, which\n * in this case is to reset the row object to a blank one.\n */\n reset(): void {\n this.row = {\n table: this.table.name,\n type: '',\n rank: 0,\n name: blankTranslatedString(),\n };\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n const newRow = {\n table: this.row.table,\n type: this.row.type,\n name: this.row.name,\n rank: this.row.rank,\n };\n\n try {\n await translationAPI.post('lookup-table-rows/add', { data: newRow });\n\n /**\n * Since some LookupTableRows are also options for various Vuex states\n * and they are stored as fixed arrays, we need to trigger re-fetch\n * of the options when a new row is added. This is quite inefficient,\n * but should happen very rarely.\n */\n this.$store.dispatch('user/fetchOptions');\n this.$store.dispatch('crime/fetchOptions');\n this.$store.dispatch('crime/fetchCrimes');\n this.$store.dispatch('offender/fetchOptions');\n this.$store.dispatch('profile/fetchOptions');\n this.$store.dispatch('court/fetchOptions');\n\n // Notify the parent of the new data\n this.$emit('saveCompleted', newRow);\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewLookupTableRowDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewLookupTableRowDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewLookupTableRowDialog.vue?vue&type=template&id=535e4492&\"\nimport script from \"./NewLookupTableRowDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewLookupTableRowDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport i18n from '@/i18n';\nimport { mapGetters } from 'vuex';\n\nimport translationAPI from '@/vuex/language/translationAPI';\nimport { LookupTable, LookupTableRow } from '@/vuex/language/language';\n\nimport EditLookupTableRowDialog from '@/components/translation/EditLookupTableRowDialog.vue';\nimport NewLookupTableRowDialog from '@/components/translation/NewLookupTableRowDialog.vue';\n\nexport default Vue.extend({\n created(): void {\n this.fetchTableList();\n },\n\n data(): any {\n return {\n /**\n * selectedTableName is initialized to a blank value. It will be set to\n * the first table in the list of tables after that list is fetched.\n */\n selectedTableName: '',\n tables: [] as LookupTable[],\n rows: [] as LookupTableRow[],\n search: '',\n };\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n\n /**\n * selectedTable returns the entire LookupTable object which is currently\n * selected via the dropdown.\n */\n selectedTable(): LookupTable | null {\n return _.find(this.tables, { name: this.selectedTableName }) || null;\n },\n\n /**\n * allowAdding computes whether the Add button should be displayed. It can\n * be hidden when the current user doesn't have the permission or when the\n * currently selected LookupTable does not allow additions via the U\n * (a setting that is editable in server-side code)\n */\n allowAdding(): boolean {\n return (\n this.hasPermission('admin.lookupTableRow.create') &&\n this.selectedTable &&\n this.selectedTable.allowAdding\n );\n },\n\n /**\n * showType computes whether the Type column should be shown based on whether\n * the currently selected LookupTable supports it.\n */\n showType(): boolean {\n return this.selectedTable && this.selectedTable.hasType;\n },\n\n /**\n * showRank computes whether the Rank column should be shown\n * based on whether the currently selected LookupTable supports\n * it.\n */\n showRank(): boolean {\n return this.selectedTable && this.selectedTable.hasRank;\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a computed property so\n * that it will update with new translations when the locale changes.\n */\n headers(): any[] {\n const h: any[] = [\n {\n text: i18n.t('command.edit'),\n value: 'edit',\n align: 'center',\n sortable: false,\n },\n { text: i18n.t('id'), value: 'id', align: 'center' },\n ];\n\n if (this.showType) {\n h.push({ text: i18n.t('program.type'), value: 'type' });\n }\n\n h.push({ text: i18n.t('en'), value: 'name.en' });\n h.push({ text: i18n.t('fa'), value: 'name.fa' });\n h.push({ text: i18n.t('ps'), value: 'name.ps' });\n\n if (this.showRank) {\n h.push({ text: i18n.t('rank.singular'), value: 'rank' });\n }\n\n return h;\n },\n\n /**\n * unpaginated returns true if there are relatively few total rows such that\n * it makes sense to just show the entire table with no pagination UI.\n */\n unpaginated(): boolean {\n return this.rows.length < 40;\n },\n },\n\n watch: {\n selectedTableName() {\n this.fetchRows();\n },\n },\n\n methods: {\n /**\n * fetchTableList retrieves the list of available LookupTable options from\n * the relevant API endpoint. It should be called only once when this\n * component is created.\n */\n async fetchTableList(): Promise {\n this.rows = [];\n this.tables = [];\n const response = await translationAPI.get('lookup-tables');\n const tables = _.get(response, 'data.data', []);\n this.tables = _.sortBy(tables, 'name');\n if (this.tables && this.tables.length > 0) {\n this.selectedTableName = this.tables[0].name;\n }\n },\n\n /**\n * fetchRows retrieves the talbe rows for the selected lookup table. It is\n * called any time a new table is selected and any time new rows are added\n * or modified.\n */\n async fetchRows(): Promise {\n this.rows = [];\n const response = await translationAPI.get(\n `lookup-tables/${this.selectedTableName}/rows`,\n );\n const rows: any[] = _.get(response, 'data.data', []);\n this.rows = _.orderBy(rows, ['type', 'rank', 'name']);\n },\n },\n\n components: {\n EditLookupTableRowDialog,\n NewLookupTableRowDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LookupTableEditor.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LookupTableEditor.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LookupTableEditor.vue?vue&type=template&id=be4301f6&\"\nimport script from \"./LookupTableEditor.vue?vue&type=script&lang=ts&\"\nexport * from \"./LookupTableEditor.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAutocomplete,VCard,VCardText,VCol,VContainer,VDataTable,VRow,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.canAdd)?_c('NewPardonDecreeDialog'):_vm._e(),_c('v-spacer'),_c('v-checkbox',{attrs:{\"label\":_vm.$t('command.includeDeleted')},model:{value:(_vm.showDeleted),callback:function ($$v) {_vm.showDeleted=$$v},expression:\"showDeleted\"}})]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('pardonDecrees.plural')))]),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"search\",\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"search\"}})],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"items\":_vm.decrees,\"search\":_vm.search,\"headers\":_vm.headers,\"no-data-text\":_vm.$t('error.nodata'),\"disable-sort\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',{key:item.id,class:{ isDeleted: item.isDeleted }},[(_vm.canAdd)?_c('td',{staticClass:\"text-center\"},[_c('EditPardonDecreeDialog',{attrs:{\"id\":item.id}})],1):_vm._e(),_c('td',{staticClass:\"text-right\"},[_vm._v(_vm._s(item.number))]),_c('td',[_c('Date',{attrs:{\"value\":item.issuedAt}})],1),_c('td',[_c('Truncate',{attrs:{\"value\":item.title,\"length\":40}})],1),_c('td',[_c('Date',{attrs:{\"value\":item.enforcementBeginsAt}})],1),_c('td',[_c('AttachmentsLinks',{attrs:{\"entityType\":\"pardonDecree\",\"entityID\":item.id,\"label\":\"\"}})],1),_c('td',{staticClass:\"text-center\"},[_c('v-btn',{attrs:{\"x-small\":\"\",\"icon\":\"\",\"to\":{\n name: 'pardonDecreeShow',\n params: { id: item.id },\n }}},[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"fa-clipboard\")])],1)],1)])]}}])})],1),_vm._t(\"default\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('pardonDecrees.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('PardonDecreeForm',{model:{value:(_vm.pardonDecree),callback:function ($$v) {_vm.pardonDecree=$$v},expression:\"pardonDecree\"}}),_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entity-type\":\"pardonDecree\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('IntField',{ref:\"number\",attrs:{\"value\":_vm.pardonDecree.number,\"label\":_vm.$t('pardonDecrees.number'),\"rules\":[function (v) { return v > 0 || _vm.$t('error.required'); }],\"required\":\"\"},on:{\"input\":function($event){return _vm.update('number', $event, 'number')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"10\"}},[_c('v-text-field',{attrs:{\"value\":_vm.pardonDecree.title,\"label\":_vm.$t('corpus.title'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"required\":\"\"},on:{\"input\":function($event){return _vm.update('title', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('summons.issuedAt'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.pardonDecree.issuedAt),callback:function ($$v) {_vm.$set(_vm.pardonDecree, \"issuedAt\", $$v)},expression:\"pardonDecree.issuedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('pardonDecrees.enforcementBeginsAt'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.pardonDecree.enforcementBeginsAt),callback:function ($$v) {_vm.$set(_vm.pardonDecree, \"enforcementBeginsAt\", $$v)},expression:\"pardonDecree.enforcementBeginsAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"value\":_vm.pardonDecree.summary,\"rows\":\"2\",\"label\":_vm.$t('dashboard.summary')},on:{\"input\":function($event){return _vm.update('summary', $event, 'trim')}}})],1)],1),(_vm.pardonDecree.id && _vm.hasPermission('admin.pardonDecree.create'))?_c('v-row',[_c('v-col',[_c('v-checkbox',{attrs:{\"input-value\":_vm.pardonDecree.isDeleted,\"label\":_vm.$t('command.delete')},on:{\"change\":function($event){return _vm.update('isDeleted', $event)}}})],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { PardonDecree } from '@/vuex/investigation/pardonDecree';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n\n /**\n * pardonDecree computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n pardonDecree(): PardonDecree {\n const today = moment().format();\n return this.value\n ? this.value\n : {\n number: 0,\n title: '',\n summary: '',\n issuedAt: today,\n enforcementBeginsAt: today,\n isDeleted: false,\n };\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n if (modifier === 'number') {\n modifiedValue = parseInt(value, 10);\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.pardonDecree), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PardonDecreeForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PardonDecreeForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PardonDecreeForm.vue?vue&type=template&id=79d8c4e6&\"\nimport script from \"./PardonDecreeForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./PardonDecreeForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCheckbox,VCol,VRow,VTextField,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { PardonDecree } from '@/vuex/investigation/pardonDecree';\n\nimport PardonDecreeForm from '@/components/offender/pardonDecree/PardonDecreeForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n isOpen: false,\n\n pardonDecree: null as PardonDecree | null,\n error: null as any,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.pardonDecree = null;\n },\n\n /**\n * save is our event handler for CMSFormDialog's save event. It fires when\n * the save button is clicked on the dialog. We use it to persist the\n * object to the server.\n */\n async save(): Promise {\n if (this.pardonDecree === null) {\n return;\n }\n this.error = null;\n\n try {\n const response = await investigationAPI.post('pardon-decrees/create', {\n data: {\n number: this.pardonDecree.number,\n title: this.pardonDecree.title,\n summary: this.pardonDecree.summary,\n issuedAt: this.pardonDecree.issuedAt,\n enforcementBeginsAt: this.pardonDecree.enforcementBeginsAt,\n isDeleted: this.pardonDecree.isDeleted,\n },\n });\n\n const newState = response.data.data;\n const newID = Object.keys(newState.pardonDecree)[0];\n this.$store.commit('investigation/setState', newState);\n this.$store.commit('investigation/prependToTarget', {\n target: 'pardonDecreeIDs',\n value: Object.keys(newState.pardonDecree),\n });\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n PardonDecreeForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewPardonDecreeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewPardonDecreeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewPardonDecreeDialog.vue?vue&type=template&id=009b07e2&\"\nimport script from \"./NewPardonDecreeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewPardonDecreeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('pardonDecrees.singular'),\"loading\":_vm.loading},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('PardonDecreeForm',{model:{value:(_vm.pardonDecree),callback:function ($$v) {_vm.pardonDecree=$$v},expression:\"pardonDecree\"}}),(_vm.pardonDecree)?_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entity-type\":\"pardonDecree\",\"entityID\":_vm.id}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { PardonDecree } from '@/vuex/investigation/pardonDecree';\n\nimport PardonDecreeForm from '@/components/offender/pardonDecree/PardonDecreeForm.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n data() {\n return {\n isOpen: false,\n loading: false,\n\n pardonDecree: null as PardonDecree | null,\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('investigation', ['pardonDecreeWithID']),\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n async reset(): Promise {\n this.loading = true;\n await this.$store.dispatch('investigation/fetchPardonDecree', this.id);\n const myCopy = Object.assign({}, this.pardonDecreeWithID(this.id));\n this.pardonDecree = myCopy;\n this.loading = false;\n },\n\n /**\n * save is our event handler for CMSFormDialog's save event. It fires when\n * the save button is clicked on the dialog. We use it to persist the\n * object to the server.\n */\n async save(): Promise {\n if (this.pardonDecree === null) {\n return;\n }\n this.error = null;\n\n try {\n const response = await investigationAPI.post('pardon-decrees/update', {\n data: {\n id: this.pardonDecree.id,\n number: this.pardonDecree.number,\n title: this.pardonDecree.title,\n issuedAt: this.pardonDecree.issuedAt,\n enforcementBeginsAt: this.pardonDecree.enforcementBeginsAt,\n summary: this.pardonDecree.summary,\n isDeleted: this.pardonDecree.isDeleted,\n },\n });\n\n const newState = response.data.data;\n this.$store.commit('investigation/setState', newState);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n PardonDecreeForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditPardonDecreeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditPardonDecreeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditPardonDecreeDialog.vue?vue&type=template&id=3fdcb280&\"\nimport script from \"./EditPardonDecreeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditPardonDecreeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport { mapGetters } from 'vuex';\nimport { PardonDecree } from '@/vuex/investigation/pardonDecree';\n\nimport NewPardonDecreeDialog from '@/components/offender/pardonDecree/NewPardonDecreeDialog.vue';\nimport EditPardonDecreeDialog from '@/components/offender/pardonDecree/EditPardonDecreeDialog.vue';\n\nexport default Vue.extend({\n data() {\n return {\n search: '',\n showDeleted: false,\n };\n },\n created(): void {\n // This call is potentially unnecessary since all decrees are\n // fetched at startup (in App.vue) so that they are available\n // on Offender-related pages.\n this.$store.dispatch('investigation/fetchPardonDecrees', { force: false });\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('investigation', ['allPardonDecrees']),\n\n canAdd(): boolean {\n return this.hasPermission('admin.pardonDecree.create');\n },\n /**\n * decrees is the array the v-data-table presents. We determine whether\n * to return the entire list or just the non-deleted ones, and order\n * descending by number/issue dates.\n */\n decrees(): PardonDecree[] {\n const all: PardonDecree[] = this.allPardonDecrees;\n let decrees = _.chain(all);\n if (!this.showDeleted) {\n decrees = decrees.filter({ isDeleted: false });\n }\n return decrees.orderBy(['number', 'issuedAt'], ['desc', 'desc']).value();\n },\n\n headers(): any[] {\n const h = [\n {\n text: i18n.t('pardonDecrees.number'),\n value: 'number',\n width: '10%',\n align: 'right',\n },\n {\n text: i18n.t('summons.issuedAt'),\n value: 'issuedAt',\n width: '15%',\n },\n {\n text: i18n.t('corpus.title'),\n value: 'title',\n width: '30%',\n },\n {\n text: i18n.t('pardonDecrees.enforcementBeginsAt'),\n value: 'enforcementBeginsAt',\n width: '15%',\n },\n {\n text: i18n.t('attachment.plural'),\n width: '15%',\n },\n { text: i18n.t('action.plural'), width: '10%' },\n ];\n\n if (this.canAdd) {\n h.unshift({\n text: i18n.t('command.edit'),\n value: 'id',\n width: '2%',\n });\n }\n\n return h;\n },\n },\n components: {\n NewPardonDecreeDialog,\n EditPardonDecreeDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PardonDecreeList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PardonDecreeList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PardonDecreeList.vue?vue&type=template&id=5c7058bc&\"\nimport script from \"./PardonDecreeList.vue?vue&type=script&lang=ts&\"\nexport * from \"./PardonDecreeList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCheckbox,VContainer,VDataTable,VIcon,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('PartySearcher')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport PartySearcher from '@/components/court/party/PartySearcher.vue';\n\nexport default Vue.extend({\n components: { PartySearcher },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PartyList.vue?vue&type=template&id=7ed80615&\"\nimport script from \"./PartyList.vue?vue&type=script&lang=ts&\"\nexport * from \"./PartyList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pb-10\"},[_c('ProsecutorSearcher')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport ProsecutorSearcher from '@/components/investigation/prosecutor/ProsecutorSearcher.vue';\n\nexport default Vue.extend({\n components: {\n ProsecutorSearcher,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProsecutorsList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProsecutorsList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProsecutorsList.vue?vue&type=template&id=741c85dc&\"\nimport script from \"./ProsecutorsList.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProsecutorsList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([(_vm.hasPermission('admin.punishmentType.create'))?{key:\"extension\",fn:function(){return [_c('AddPunishmentTypeDialog')]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('punishmentType.plural')))])],1),_c('v-card-text',_vm._l((_vm.groupedPunishments),function(types,categoryID){return _c('v-row',{key:'cat' + categoryID},[_c('v-col',{staticClass:\"text-h5\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(categoryID, _vm.punishmentTypeCategories))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":types,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',{key:item.id},[(_vm.hasPermission('admin.punishmentType.create'))?_c('td',[_c('EditPunishmentTypeDialog',{attrs:{\"id\":item.id}})],1):_vm._e(),_c('td',[_vm._v(_vm._s(item.name[_vm.locale]))]),_c('td',{staticClass:\"text-center\"},[(item.isConsequential)?_c('span',[_c('v-icon',{attrs:{\"color\":\"success\"}},[_vm._v(\"check\")])],1):_vm._e()]),_c('td',{staticClass:\"text-center\"},[(item.isATI)?_c('span',[_c('v-icon',{attrs:{\"color\":\"success\"}},[_vm._v(\"check\")])],1):_vm._e()]),_c('td',{staticClass:\"text-center\"},[_c('PunishmentTypeIcons',{attrs:{\"punishment-type\":item}})],1),_c('td',{staticClass:\"text-right\"},[_vm._v(_vm._s(item.rank))])])]}}],null,true)})],1)],1)}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('punishmentType.plural')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('PunishmentTypeForm',{model:{value:(_vm.punishmentType),callback:function ($$v) {_vm.punishmentType=$$v},expression:\"punishmentType\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:{ isRTL: l.isRTL },attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('punishmentType.singular') + ' (' + _vm.$t(l.locale) + ')',\"value\":_vm.punishmentType.name[l.locale],\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('name.' + l.locale, $event, 'trim')}}})],1)}),1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('category.singular'),\"value\":_vm.punishmentType.categoryID,\"items\":\"crime/punishmentTypeCategories\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('categoryID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('punishmentType.isConsequential'),\"input-value\":_vm.punishmentType.isConsequential},on:{\"change\":function($event){return _vm.update('isConsequential', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('sort.rank'),\"value\":_vm.punishmentType.rank},on:{\"input\":function($event){return _vm.update('rank', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('punishmentType.isATI'),\"input-value\":_vm.punishmentType.isATI},on:{\"change\":function($event){return _vm.update('isATI', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('punishmentType.isImprisonment'),\"input-value\":_vm.punishmentType.isImprisonment},on:{\"change\":function($event){return _vm.update('isImprisonment', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('punishmentType.canHaveAmount'),\"input-value\":_vm.punishmentType.canHaveAmount},on:{\"change\":function($event){return _vm.update('canHaveAmount', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('punishmentType.requiresAmount'),\"input-value\":_vm.punishmentType.requiresAmount},on:{\"change\":function($event){return _vm.update('requiresAmount', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('punishmentType.canHaveDuration'),\"input-value\":_vm.punishmentType.canHaveDuration},on:{\"change\":function($event){return _vm.update('canHaveDuration', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('punishmentType.requiresDuration'),\"input-value\":_vm.punishmentType.requiresDuration},on:{\"change\":function($event){return _vm.update('requiresDuration', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('punishmentType.canReferenceSubjectProperty'),\"input-value\":_vm.punishmentType.canReferenceSubjectProperty},on:{\"change\":function($event){return _vm.update('canReferenceSubjectProperty', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('punishmentType.requiresNotes'),\"input-value\":_vm.punishmentType.requiresNotes},on:{\"change\":function($event){return _vm.update('requiresNotes', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('punishmentType.trackFulfillment'),\"input-value\":_vm.punishmentType.trackFulfillment},on:{\"change\":function($event){return _vm.update('trackFulfillment', $event)}}})],1)],1),_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('v-col',{staticClass:\"text-right\"},[_c('PunishmentTypeIcons',{attrs:{\"punishment-type\":_vm.punishmentType}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.punishmentType)?_c('div',[(_vm.punishmentType.isImprisonment)?_c('span',{staticClass:\"mx-1\"},[_c('v-icon',{attrs:{\"color\":\"success\",\"title\":_vm.$t('punishmentType.isImprisonment'),\"small\":\"\"}},[_vm._v(\" fa-lock \")])],1):_vm._e(),(_vm.punishmentType.canHaveAmount || _vm.punishmentType.requiresAmount)?_c('span',{staticClass:\"mx-1\"},[_c('v-icon',{attrs:{\"color\":_vm.punishmentType.requiresAmount ? 'success' : 'grey',\"title\":_vm.$t('punishmentType.canHaveAmount'),\"small\":\"\"}},[_vm._v(\" fa-money-bill \")])],1):_vm._e(),(_vm.punishmentType.canHaveDuration || _vm.punishmentType.requiresDuration)?_c('span',{staticClass:\"mx-1\"},[_c('v-icon',{attrs:{\"color\":_vm.punishmentType.requiresDuration ? 'success' : 'grey',\"title\":_vm.$t('punishmentType.canHaveDuration'),\"small\":\"\"}},[_vm._v(\" fa-clock \")])],1):_vm._e(),(_vm.punishmentType.requiresNotes)?_c('span',{staticClass:\"mx-1\"},[_c('v-icon',{attrs:{\"color\":\"success\",\"small\":\"\",\"title\":_vm.$t('punishmentType.requiresNotes')}},[_vm._v(\" fa-clipboard \")])],1):_vm._e(),(_vm.punishmentType.canReferenceSubjectProperty)?_c('span',{staticClass:\"mx-1\"},[_c('v-icon',{attrs:{\"color\":\"grey\",\"title\":_vm.$t('punishmentType.canReferenceSubjectProperty'),\"small\":\"\"}},[_vm._v(\" fa-warehouse \")])],1):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nexport default Vue.extend({\n props: {\n punishmentType: Object,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PunishmentTypeIcons.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PunishmentTypeIcons.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PunishmentTypeIcons.vue?vue&type=template&id=59150e96&\"\nimport script from \"./PunishmentTypeIcons.vue?vue&type=script&lang=ts&\"\nexport * from \"./PunishmentTypeIcons.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { PunishmentType } from '@/vuex/crime/crime';\nimport PunishmentTypeIcons from '@/components/crime/punishmentType/PunishmentTypeIcons.vue';\n\nexport default Vue.extend({\n props: {\n value: {\n type: Object,\n },\n },\n computed: {\n ...mapGetters('language', ['languages']),\n\n /**\n * punishmentType computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n punishmentType(): PunishmentType {\n return this.value\n ? this.value\n : {\n id: 0,\n name: { en: '', fa: '', ps: '' },\n categoryID: 2,\n rank: 0,\n isATI: false,\n isImprisonment: false,\n isConsequential: false,\n canHaveAmount: false,\n requiresAmount: false,\n canHaveDuration: false,\n requiresDuration: false,\n canReferenceSubjectProperty: false,\n requiresNotes: false,\n trackFulfillment: false,\n };\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n // -----------------------------------------------------------------------\n // Apply modifiers to the submitted value (if requested)\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n if (modifier === 'number') {\n let quant = parseInt(value, 10);\n // Force non-numeric input to a number so that the form\n // ignores it (this will show '0' if you type 'a').\n if (Number.isNaN(quant)) {\n quant = 0;\n }\n modifiedValue = quant;\n }\n\n // Build the new PunishmentType object\n const newObject = tap(cloneDeep(this.punishmentType), (v) =>\n set(v, key, modifiedValue),\n );\n\n if (key === 'canHaveAmount' && !value) {\n // Can't require an amount if an amount isn't allowed\n newObject.requiresAmount = false;\n }\n\n if (key === 'requiresAmount' && value) {\n // If we require an amount, then we also must allow one\n newObject.canHaveAmount = true;\n }\n\n if (key === 'canHaveDuration' && !value) {\n // Can't require a duration if a duration isn't allowed\n newObject.requiresDuration = false;\n }\n\n if (key === 'requiresDuration' && value) {\n // If we require a duration, then a duration must be allowed\n newObject.canHaveDuration = true;\n }\n\n // -----------------------------------------------------------------------\n // Notify the parent that the object changed\n this.$emit('input', newObject);\n },\n },\n components: {\n PunishmentTypeIcons,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PunishmentTypeForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PunishmentTypeForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PunishmentTypeForm.vue?vue&type=template&id=9c6599e8&\"\nimport script from \"./PunishmentTypeForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./PunishmentTypeForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCheckbox,VCol,VRow,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { PunishmentType } from '@/vuex/crime/crime';\n\nimport crimeAPI from '@/vuex/crime/crimeAPI';\n\nimport PunishmentTypeForm from '@/components/crime/punishmentType/PunishmentTypeForm.vue';\n\nexport default Vue.extend({\n data(): any {\n return {\n isOpen: false,\n punishmentType: null as null | PunishmentType,\n error: null as any,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.punishmentType = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n await crimeAPI.post('punishment-types/create', {\n data: {\n name: this.punishmentType.name,\n categoryID: this.punishmentType.categoryID,\n rank: this.punishmentType.rank,\n isATI: this.punishmentType.isATI,\n isImprisonment: this.punishmentType.isImprisonment,\n isConsequential: this.punishmentType.isConsequential,\n canHaveAmount: this.punishmentType.canHaveAmount,\n requiresAmount: this.punishmentType.requiresAmount,\n canHaveDuration: this.punishmentType.canHaveDuration,\n requiresDuration: this.punishmentType.requiresDuration,\n canReferenceSubjectProperty:\n this.punishmentType.canReferenceSubjectProperty,\n requiresNotes: this.punishmentType.requiresNotes,\n trackFulfillment: this.punishmentType.trackFulfillment,\n },\n });\n\n // Update Vuex\n this.$store.dispatch('crime/fetchOptions', { force: true });\n\n // Close the Dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n PunishmentTypeForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewPunishmentTypeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewPunishmentTypeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewPunishmentTypeDialog.vue?vue&type=template&id=2727f8f1&\"\nimport script from \"./NewPunishmentTypeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewPunishmentTypeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('punishmentType.plural')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('PunishmentTypeForm',{model:{value:(_vm.punishmentType),callback:function ($$v) {_vm.punishmentType=$$v},expression:\"punishmentType\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { PunishmentType } from '@/vuex/crime/crime';\n\nimport crimeAPI from '@/vuex/crime/crimeAPI';\nimport { mapGetters } from 'vuex';\n\nimport PunishmentTypeForm from '@/components/crime/punishmentType/PunishmentTypeForm.vue';\n\nexport default Vue.extend({\n props: {\n id: {\n type: Number,\n required: false,\n default: 0,\n },\n },\n data(): any {\n return {\n isOpen: false,\n error: null as any,\n\n punishmentType: null as PunishmentType | null,\n };\n },\n computed: {\n ...mapGetters('crime', ['punishmentTypeWithID']),\n },\n watch: {\n isOpen(nowOpening: boolean): void {\n if (nowOpening) {\n // Existing PunishmentType stored in Vuex, supplied via our id prop\n const myCopy = Object.assign({}, this.punishmentTypeWithID(this.id));\n this.punishmentType = myCopy;\n }\n },\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.punishmentType = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n await crimeAPI.post('punishment-types/update', {\n data: {\n id: this.punishmentType.id,\n name: this.punishmentType.name,\n categoryID: this.punishmentType.categoryID,\n rank: this.punishmentType.rank,\n isATI: this.punishmentType.isATI,\n isImprisonment: this.punishmentType.isImprisonment,\n isConsequential: this.punishmentType.isConsequential,\n canHaveAmount: this.punishmentType.canHaveAmount,\n requiresAmount: this.punishmentType.requiresAmount,\n canHaveDuration: this.punishmentType.canHaveDuration,\n requiresDuration: this.punishmentType.requiresDuration,\n canReferenceSubjectProperty:\n this.punishmentType.canReferenceSubjectProperty,\n requiresNotes: this.punishmentType.requiresNotes,\n trackFulfillment: this.punishmentType.trackFulfillment,\n },\n });\n\n // Update Vuex\n this.$store.dispatch('crime/fetchOptions', { force: true });\n\n // Close the Dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: { PunishmentTypeForm },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditPunishmentTypeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditPunishmentTypeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditPunishmentTypeDialog.vue?vue&type=template&id=b5958b9c&\"\nimport script from \"./EditPunishmentTypeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditPunishmentTypeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { PunishmentType } from '@/vuex/crime/crime';\n\nimport AddPunishmentTypeDialog from '@/components/crime/punishmentType/NewPunishmentTypeDialog.vue';\nimport EditPunishmentTypeDialog from '@/components/crime/punishmentType/EditPunishmentTypeDialog.vue';\nimport PunishmentTypeIcons from '@/components/crime/punishmentType/PunishmentTypeIcons.vue';\n\nexport default Vue.extend({\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('auth', ['hasPermission']),\n ...mapState('crime', ['punishmentTypes', 'punishmentTypeCategories']),\n ...mapState('language', ['locale']),\n headers(): any[] {\n const h = [\n {\n text: i18n.t('punishmentType.singular'),\n value: 'translatedName',\n },\n {\n text: i18n.t('punishmentType.isConsequential'),\n value: 'isConsequential',\n align: 'center',\n width: '2%',\n },\n {\n text: i18n.t('punishmentType.isATI'),\n value: 'isATI',\n align: 'center',\n width: '2%',\n },\n {\n text: 'Features',\n value: null,\n align: 'center',\n width: '20%',\n },\n {\n text: i18n.t('sort.rank'),\n value: 'rank',\n align: 'right',\n width: '2%',\n },\n ];\n\n if (this.hasPermission('admin.punishmentType.create')) {\n h.unshift({\n text: 'Edit',\n value: 'edit',\n width: '2%',\n align: '',\n });\n }\n\n return h;\n },\n groupedPunishments(): any {\n return _.chain(this.punishmentTypes)\n .map((pt: PunishmentType) => ({\n ...pt,\n translatedName: pt.name[this.locale],\n }))\n .sortBy(['rank', 'translatedName'])\n .groupBy('categoryID')\n .value();\n },\n },\n components: {\n AddPunishmentTypeDialog,\n EditPunishmentTypeDialog,\n PunishmentTypeIcons,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PunishmentTypesList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PunishmentTypesList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PunishmentTypesList.vue?vue&type=template&id=3d945536&\"\nimport script from \"./PunishmentTypesList.vue?vue&type=script&lang=ts&\"\nexport * from \"./PunishmentTypesList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCol,VContainer,VDataTable,VIcon,VRow,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pb-10\"},[_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.canAdd)?_c('AddRoleDialog'):_vm._e()]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('role.plural')))]),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"search\",\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"search\"}})],1),_c('div',{staticClass:\"d-flex justify-end\"},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('PermissionSelector',{attrs:{\"clearable\":\"\"},model:{value:(_vm.permissionID),callback:function ($$v) {_vm.permissionID=$$v},expression:\"permissionID\"}})],1)],1),_c('v-card-text',[_c('v-row',_vm._l((_vm.groupedRoles),function(roles,type){return _c('v-col',{key:type,attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-h5 mb-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('role.entityTypeOptions.' + type))+\" \")]),_c('v-data-table',{staticClass:\"ml-4\",attrs:{\"items\":roles,\"headers\":_vm.headers,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item.id\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('td',[(_vm.canEdit && !item.isLocked)?_c('EditRoleDialog',{attrs:{\"id\":item.id}}):_vm._e()],1)]}}],null,true)})],1)}),1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('role.singular'),\"fullscreen\":\"\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('RoleForm',{model:{value:(_vm.role),callback:function ($$v) {_vm.role=$$v},expression:\"role\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from 'axios';\n\nimport api, { addAuthInterceptors } from '@/api';\n\nconst userAPI = axios.create({\n baseURL: `${api.defaults.baseURL}userservice/`,\n});\naddAuthInterceptors(userAPI);\nexport default userAPI;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{attrs:{\"md\":\"3\",\"cols\":\"12\"}},[_c('RoleEntityTypeSelector',{attrs:{\"label\":_vm.$t('role.entityType'),\"value\":_vm.role.entityType,\"disabled\":_vm.role.id > 0,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('entityType', $event)}}})],1)],1),_c('v-row',[_vm._l((_vm.languages),function(l){return _c('v-col',{key:l.locale,class:{ isRTL: l.isRTL },attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('name') + ' (' + _vm.$t(l.locale) + ')',\"value\":_vm.role.name[l.locale],\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('name.' + l.locale, $event, 'trim')}}})],1)}),_c('v-col',{staticClass:\"text-h5\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('permission.plural'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('role.hasAllPermissions'),\"input-value\":_vm.role.hasAllPermissions},on:{\"change\":function($event){return _vm.update('hasAllPermissions', $event)}}})],1)],2),_vm._l((_vm.groupedPermissions),function(permissions,prefix){return _c('v-row',{key:prefix,attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"mt-6\",attrs:{\"cols\":\"12\"}},[_c('v-divider')],1),_vm._l((permissions),function(perm){return _c('v-col',{key:perm.id,attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-checkbox',{attrs:{\"label\":perm.key,\"input-value\":_vm.role.hasAllPermissions ? [perm.id] : _vm.role.permissionIDs,\"disabled\":_vm.role.hasAllPermissions,\"value\":perm.id,\"dense\":\"\",\"hide-details\":\"\"},on:{\"change\":function($event){return _vm.update('permissionIDs', $event)}}})],1)})],2)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"label\":_vm.label || _vm.$t('role.entityType'),\"value\":_vm.value,\"items\":_vm.entityTypeChoices,\"rules\":_vm.rules,\"disabled\":_vm.disabled,\"multiple\":_vm.multiple,\"chips\":_vm.chips,\"clearable\":_vm.clearable},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"change\":function($event){return _vm.$emit('change', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _ from 'lodash';\nimport userAPI from '@/vuex/user/userAPI';\nimport { domainmodelMutations } from '@/lib/vuex-domainmodel';\nimport { TranslatedString } from '@/lib/translated';\n\nexport interface Role {\n id: number;\n name: TranslatedString;\n entityType: string;\n hasAllPermissions: boolean;\n permissionIDs: number[];\n}\n\nexport const enum RoleEntityType {\n Global = 'global',\n Court = 'court',\n Department = 'department',\n HousingFacility = 'facility',\n}\n\nexport const AllRoleEntityTypes = [\n RoleEntityType.Global,\n RoleEntityType.Court,\n RoleEntityType.Department,\n RoleEntityType.HousingFacility,\n];\nexport interface User {\n id: number;\n username: string;\n fullName: string;\n initials: string;\n email: string;\n telephone: string;\n remarks: string;\n password?: string;\n passwordConfirmation?: string;\n roles: UserRole[];\n isSuspended: boolean;\n isDeleted: boolean;\n createdAt: Date | null;\n passwordLastChangedAt: Date | null;\n lastLoginAt: Date | null;\n deletedReason: string;\n suspendedReason: string;\n reactivatedReason: string;\n}\n\nexport interface UserRole {\n id: number;\n userID: number;\n roleID: number;\n entityType: RoleEntityType;\n hasAllEntities: boolean;\n entityID: number;\n}\n\nexport interface UserPermissions {\n [key: string]: string | number[];\n}\n\nexport interface Permission {\n // id is the unique integer identifier for a key, this is what should\n // be added to permissionIDs arrays representing the permissions which\n // a particular role possesses.\n id: number;\n\n // Key is the developer-friendly , \"machine key\" which uniquely\n // distinguishes one permission from another.\n key: string;\n}\n\nconst state = {\n optionsLoaded: false,\n roles: [] as Role[],\n permissions: [] as Permission[],\n permissionKeysByID: {} as { [id: number]: string },\n permissionIDsByKey: {} as { [key: string]: number },\n\n user: {} as { [id: number]: User },\n};\n\nconst getters = {\n /**\n * userWithID retrieves the User object with the supplied ID.\n */\n userWithID:\n (state) =>\n (id: number): User | null => {\n return state.user[id] || null;\n },\n\n /**\n * roleWithID retrieves the Role object with the supplied ID\n */\n roleWithID:\n (state) =>\n (id: number): Role | null => {\n return _.find(state.roles || [], { id });\n },\n\n /**\n * permissionsForUser builds a permissions lookup table specific for the\n * specified user. The lookup table has string keys, and values which are\n * either a number[] (array of permission IDs) or a string like '*'.\n * Here are some example key value pairs which might be returned:\n *\n * 'global:*': '*' <= A global admin role which has all permissions.\n * 'facility:*': [2,3,4] <= A facility role with 3 permissions, assigned to all facilities.\n * 'court:34': '*' <= A court role that has all permissions, assigned for a specific Court #34\n * 'department:2': [2,3] <= A department role that has 2 permissions at a specific facility\n */\n permissionsForUser:\n (state, getters) =>\n (user: User): UserPermissions => {\n const lookup: UserPermissions = {};\n if (!user) {\n return lookup;\n }\n for (const ur of user.roles || []) {\n const role = _.find(state.roles || [], { id: ur.roleID });\n if (role) {\n // key holds a combination of an entity type (e.g. court or facility,\n // and either a start (indicating all entities of that type) or a\n // number indicating a single ID. In combination, some options might\n // be:\n // 'facility:45'\n // 'court:123'\n // 'global:*'\n let key = '';\n\n switch (ur.entityType) {\n case RoleEntityType.Global:\n // Global roles aren't assigned to specific entities, so the entity\n // part is always a star.\n key = 'global:*';\n break;\n default:\n key = `${ur.entityType}:${ur.hasAllEntities ? '*' : ur.entityID}`;\n }\n\n // Get permissions from this user role/this iteration of the loop\n const thisPermIDs = role.hasAllPermissions ? '*' : role.permissionIDs;\n\n // Initially assume we're going to assign these permissions to the key\n let permIDs: string | number[] = thisPermIDs;\n\n // .. but if we already have existing permissions, we might need to\n // adjust the permIDs.\n if (_.has(lookup, key)) {\n const existingPermIDs = lookup[key];\n if (existingPermIDs === '*' || permIDs === '*') {\n // If either the previous iteration or this new set of permissions\n // are a '*', then the user has all permissions for this key.\n permIDs = '*';\n } else if (_.isArray(existingPermIDs) && _.isArray(permIDs)) {\n // If both are arrays, we need to merge the permissions into one\n // unique list of permission IDs\n permIDs = _.uniq([...permIDs, ...existingPermIDs]);\n }\n }\n lookup[key] = permIDs;\n }\n }\n return lookup;\n },\n\n /**\n * allowedEntitiesForUser calculates the IDs for the Departments, Courts\n * or Housing Facilities that this user is allowed to access.\n *\n * NOTE: The returned array will include a '*' entry if this User has been\n * assigned any role with hasAllEntities = true.\n */\n allowedEntitiesForUser:\n (state, getters) =>\n (user: User, entityType: RoleEntityType): Array => {\n if (!user) {\n return [];\n }\n\n // First check for a Global role which has all permissions. This indicates\n // they should have access to all Departments, despite not mentioning any.\n if (getters.isGlobalAdmin(user)) {\n return ['*'];\n }\n // Then collect the Department IDs referenced\n return _.chain(user.roles)\n .filter({ entityType })\n .map((ur) => (ur.hasAllEntities ? '*' : ur.entityID))\n .value();\n },\n\n /**\n * entityIDsWithPermissionForUser is a more specific version of\n * allowedEntitiesForUser. Instead of returning an array of entity IDs to\n * which the user is associated at all, it returns the list of entity IDs\n * that to which the user is associated via a role with the specified\n * permission.\n */\n entityIDsWithPermissionForUser:\n (state, getters) =>\n (user: User, permissionKey: string | number): Array => {\n if (!user) {\n return [];\n }\n\n // Translate what might be a string or integer reference to the permission\n // into a number to match the database storage of permissionIDs.\n const permID = _.isNumber(permissionKey)\n ? permissionKey\n : state.permissionIDsByKey[permissionKey];\n if (!permID) {\n console.error(`Unknown permission: ${permissionKey}`);\n }\n\n const entityIDs: Array = [];\n for (const ur of user.roles || []) {\n const role: Role = _.find(state.roles || [], { id: ur.roleID });\n if (role) {\n if (role.hasAllPermissions) {\n entityIDs.push('*');\n } else if (_.includes(role.permissionIDs, permID)) {\n if (ur.hasAllEntities) {\n entityIDs.push('*');\n } else {\n entityIDs.push(ur.entityID);\n }\n }\n }\n }\n\n return _.chain(entityIDs).uniq().value();\n },\n\n /**\n * isGlobalAdmin returns true if the provided user has a Global role which\n * hasAllPermissions. This indicates that this user has full permissions\n * throughout the system.\n */\n isGlobalAdmin:\n (state, getters) =>\n (user: User): boolean => {\n if (!user) {\n return false;\n }\n return (\n _.chain(user.roles)\n .filter({ entityType: RoleEntityType.Global })\n .map('roleID')\n .map(getters.roleWithID)\n .filter({ hasAllPermissions: true })\n .value().length > 0\n );\n },\n};\n\nconst mutations = {\n ...domainmodelMutations,\n\n setOptionsLoaded(state, val: boolean): void {\n state.optionsLoaded = val;\n },\n\n /**\n * indexPermissions takes the raw array of Permission entities and re-indexes\n * them into two key value pair lookup tables, one mapping string keys to\n * integer ids (key:id) and one mapping integer ids to string keys (id:key).\n */\n indexPermissions(state): void {\n state.permissionKeysByID = _.chain(state.permissions)\n .keyBy('id')\n .mapValues('key')\n .value();\n state.permissionIDsByKey = _.chain(state.permissions)\n .keyBy('key')\n .mapValues('id')\n .value();\n },\n\n /**\n * setRole adds OR replaces a new or updated Role object in the roles\n * state.\n *\n * @param state\n * @param val\n */\n setRole(state, val: Role | Role[]): void {\n const roles = _.flatten([val]);\n for (const role of roles) {\n const i = _.findIndex(state.roles, { id: role.id });\n if (i >= 0) {\n state.roles.splice(i, 1, role);\n } else {\n state.roles.push(role);\n }\n }\n },\n};\n\nconst actions = {\n async fetchOptions(\n { state, commit },\n payload = {} as { force: boolean },\n ): Promise {\n // Early return when the options are already loaded\n if (!payload.force && state.optionsLoaded) {\n return;\n }\n\n const response = await userAPI.get('/options');\n const newState = _.get(response, 'data.data');\n commit('setState', newState);\n commit('setOptionsLoaded', true);\n commit('indexPermissions');\n },\n\n /**\n * fetchUser retrieves User entities from the server and injects them into the\n * Vuex store. It accepts a single User ID or an array of IDs. Users who are\n * already in the Store are not re-fetched unless force is set to true\n */\n async fetchUser(\n { commit, state },\n payload = {} as { id: number | number[]; force: boolean },\n ): Promise {\n let ids: number[] = _.flatten([payload.id]);\n const existingIDs = _.map(state.user, 'id');\n if (!payload.force) {\n ids = _.difference(ids, existingIDs);\n }\n\n if (ids.length > 0) {\n const idsStr = ids.join(',');\n const response = await userAPI.get(`/users/batch?ids=${idsStr}`);\n const newState = _.get(response, 'data.data', {});\n commit('setState', newState);\n }\n },\n};\n\nconst store = {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\nexport default store;\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport i18n from '@/i18n';\nimport { mapState } from 'vuex';\nimport { AllRoleEntityTypes, RoleEntityType } from '@/vuex/user/user';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: [String, Array],\n rules: Array,\n disabled: Boolean,\n multiple: Boolean,\n chips: Boolean,\n clearable: Boolean,\n },\n computed: {\n ...mapState('court', ['caseTypes']),\n\n entityTypeChoices(): VSelectItem[] {\n return _.map(AllRoleEntityTypes, (t: RoleEntityType) => ({\n text: i18n.t('role.entityTypeOptions.' + t),\n value: t,\n }));\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleEntityTypeSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleEntityTypeSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RoleEntityTypeSelector.vue?vue&type=template&id=54d776d8&\"\nimport script from \"./RoleEntityTypeSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./RoleEntityTypeSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport { Role } from '@/vuex/user/user';\nimport { TranslatedString } from '@/lib/translated';\n\nimport RoleEntityTypeSelector from '@/components/user/RoleEntityTypeSelector.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n computed: {\n ...mapGetters('language', ['languages']),\n ...mapState('user', ['permissions']),\n\n /**\n * role computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n role(): Role {\n return this.value\n ? this.value\n : {\n id: 0,\n name: {} as TranslatedString,\n entityType: 'global',\n hasAllPermissions: false,\n permissionIDs: [] as number[],\n };\n },\n\n groupedPermissions(): any {\n return _.chain(this.permissions)\n .map((v) => Object.assign({}, v, { prefix: String(v.id).substr(0, 3) }))\n .sortBy('id')\n .groupBy('prefix')\n .value();\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.role), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n\n components: {\n RoleEntityTypeSelector,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RoleForm.vue?vue&type=template&id=16a2a3ce&\"\nimport script from \"./RoleForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./RoleForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCheckbox,VCol,VDivider,VRow,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport userAPI from '@/vuex/user/userAPI';\nimport { Role } from '@/vuex/user/user';\n\nimport RoleForm from './RoleForm.vue';\n\nexport default Vue.extend({\n data(): any {\n return {\n isOpen: false,\n error: null as any,\n role: null as null | Role,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.role = null;\n this.error = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n try {\n this.error = null;\n const response = await userAPI.post('roles/create', {\n data: {\n name: this.role.name,\n entityType: this.role.entityType,\n hasAllPermissions: this.role.hasAllPermissions,\n permissionIDs: this.role.permissionIDs,\n },\n });\n\n // Update Vuex State\n const newState = _.get(response, 'data.data', {});\n const roleState = _.get(newState, 'role', {});\n const roles: Role[] = Object.values(roleState) || [];\n this.$store.commit('user/setRole', roles);\n\n // Close the Dialog\n this.isOpen = false;\n } catch (err) {\n this.error = err;\n }\n },\n },\n components: {\n RoleForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddRoleDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddRoleDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddRoleDialog.vue?vue&type=template&id=97b46b22&\"\nimport script from \"./AddRoleDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddRoleDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('role.singular'),\"loading\":_vm.loading,\"fullscreen\":\"\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('RoleForm',{model:{value:(_vm.role),callback:function ($$v) {_vm.role=$$v},expression:\"role\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\n\nimport userAPI from '@/vuex/user/userAPI';\nimport { Role } from '@/vuex/user/user';\n\nimport RoleForm from './RoleForm.vue';\n\nexport default Vue.extend({\n props: {\n id: {\n type: Number,\n required: true,\n },\n },\n data() {\n return {\n isOpen: false,\n error: null as any,\n role: null as Role | null,\n loading: false,\n };\n },\n\n computed: {\n ...mapState('user', ['roles']),\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n const localCopy = Object.assign({}, _.find(this.roles, { id: this.id }));\n this.role = localCopy;\n this.error = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.role) {\n return;\n }\n\n try {\n this.error = null;\n\n // API Call and Response\n const response = await userAPI.post('roles/update', {\n data: {\n id: this.role.id,\n name: this.role.name,\n hasAllPermissions: this.role.hasAllPermissions,\n permissionIDs: this.role.permissionIDs,\n },\n });\n\n // Update Vuex state\n const newState = _.get(response, 'data.data', {});\n const roleState = _.get(newState, 'role', {});\n const roles: Role[] = Object.values(roleState) || [];\n this.$store.commit('user/setRole', roles);\n\n // Close the dialog\n this.isOpen = false;\n } catch (err) {\n this.error = err;\n }\n },\n },\n components: {\n RoleForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditRoleDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditRoleDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditRoleDialog.vue?vue&type=template&id=924c47ac&\"\nimport script from \"./EditRoleDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditRoleDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-autocomplete',{attrs:{\"rules\":_vm.rules || [],\"disabled\":_vm.disabled || false,\"label\":_vm.label || 'Permission',\"value\":_vm.value,\"items\":_vm.permissionChoices,\"item-value\":\"id\",\"item-text\":function (v) { return v.key; },\"clearable\":_vm.clearable,\"persistent-hint\":_vm.persistentHint,\"hint\":_vm.hint,\"multiple\":_vm.multiple,\"placeholder\":_vm.placeholder,\"auto-select-first\":_vm.autoSelectFirst,\"auto-focus\":_vm.autoFocus,\"prepend-icon\":_vm.prependIcon,\"append-icon\":_vm.appendIcon,\"append-outer-icon\":_vm.appendOuterIcon},on:{\"input\":_vm.permissionChanged}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\nimport { Permission } from '@/vuex/user/user';\n\nexport default Vue.extend({\n props: {\n // label is a passthrough to the v-autocomplete label prop\n label: String,\n\n // rules is a passthrough to the v-autocomplete rules prop\n rules: {\n type: Array,\n default: () => [], // Default value is a function which returns a blank array\n },\n // disabled is a passthrough to the v-autocomplete disabled prop\n disabled: Boolean,\n // value is the prop that makes this component work with v-model\n value: Number,\n\n // Pass-through variables to v-autocomplete\n hint: String,\n persistentHint: Boolean,\n clearable: Boolean,\n multiple: Boolean,\n placeholder: String,\n autoSelectFirst: Boolean,\n autoFocus: Boolean,\n prependIcon: String,\n appendIcon: String,\n appendOuterIcon: String,\n },\n computed: {\n ...mapState('user', ['permissions']),\n permissionChoices(): Permission[] {\n return _.sortBy(this.permissions, 'key');\n },\n },\n methods: {\n permissionChanged(newVal) {\n this.$emit('input', newVal);\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PermissionSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PermissionSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PermissionSelector.vue?vue&type=template&id=79e51a14&\"\nimport script from \"./PermissionSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./PermissionSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\ninstallComponents(component, {VAutocomplete})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { Role } from '@/vuex/user/user';\n\nimport AddRoleDialog from '@/components/user/AddRoleDialog.vue';\nimport EditRoleDialog from '@/components/user/EditRoleDialog.vue';\nimport PermissionSelector from '@/components/user/PermissionSelector.vue';\n\nexport default Vue.extend({\n data() {\n return {\n search: '',\n permissionID: 0,\n };\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['valueForLocale']),\n ...mapState('user', ['roles']),\n\n canAdd(): boolean {\n return this.hasPermission('admin.role.create');\n },\n\n canEdit(): boolean {\n return this.hasPermission('admin.role.create');\n },\n\n groupedRoles(): any {\n return _.chain(this.roles || [])\n .map((r: Role) => {\n return Object.assign({}, r, {\n translatedName: this.valueForLocale(r.name),\n permissionsSummary: r.hasAllPermissions\n ? i18n.t('all')\n : r.permissionIDs.length,\n });\n })\n .filter(\n (r: any) =>\n r.translatedName\n .toLowerCase()\n .indexOf(this.search.toLowerCase()) !== -1,\n )\n .filter((r: any) => {\n if (!this.permissionID || r.hasAllPermissions) {\n return true;\n }\n\n if (r.permissionIDs === []) {\n return false;\n }\n\n return r.permissionIDs.includes(this.permissionID);\n })\n .groupBy('entityType')\n .value();\n },\n\n headers(): any[] {\n const h = [\n {\n text: i18n.t('name'),\n value: 'translatedName',\n },\n {\n text: i18n.t('role.permissionIDs'),\n value: 'permissionsSummary',\n align: 'right',\n },\n ] as any[];\n\n if (this.canAdd) {\n h.unshift({\n text: null,\n value: 'id',\n width: '18px',\n sortable: false,\n });\n }\n\n return h;\n },\n },\n methods: {},\n components: {\n AddRoleDialog,\n EditRoleDialog,\n PermissionSelector,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RoleList.vue?vue&type=template&id=0ece9b20&\"\nimport script from \"./RoleList.vue?vue&type=script&lang=ts&\"\nexport * from \"./RoleList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCol,VContainer,VDataTable,VRow,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('user.auditLog')))]),_c('v-spacer'),_c('UserSelector',{attrs:{\"clearable\":\"\",\"hide-details\":\"\",\"single-line\":\"\"},model:{value:(_vm.criteria.userID),callback:function ($$v) {_vm.$set(_vm.criteria, \"userID\", $$v)},expression:\"criteria.userID\"}})],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('startDate'),\"past-dates-only\":\"\",\"clearable\":\"\"},model:{value:(_vm.criteria.submittedAtOrAfter),callback:function ($$v) {_vm.$set(_vm.criteria, \"submittedAtOrAfter\", $$v)},expression:\"criteria.submittedAtOrAfter\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('endDate'),\"past-dates-only\":\"\",\"clearable\":\"\"},model:{value:(_vm.criteria.submittedAtOrBefore),callback:function ($$v) {_vm.$set(_vm.criteria, \"submittedAtOrBefore\", $$v)},expression:\"criteria.submittedAtOrBefore\"}})],1),(_vm.user && _vm.user.lastLoginAt != null)?_c('LabeledData',{attrs:{\"cols\":\"3\",\"label\":_vm.$t('user.lastLoginAt')}},[_c('Date',{attrs:{\"value\":_vm.user.lastLoginAt}})],1):_vm._e(),(_vm.user && _vm.user.passwordLastChangedAt != null)?_c('LabeledData',{attrs:{\"cols\":\"3\",\"label\":_vm.$t('user.passwordLastChangedAt')}},[_c('Date',{attrs:{\"value\":_vm.user.passwordLastChangedAt}})],1):_vm._e()],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.searchResults,\"loading\":_vm.loading,\"disable-sort\":\"\",\"page\":_vm.currentPage,\"items-per-page\":_vm.pageSize,\"server-items-length\":_vm.serverTotalResults,\"footer-props\":_vm.footerProps,\"no-data-text\":_vm.$t('error.nodata')},on:{\"update:page\":[function($event){_vm.currentPage=$event},function($event){return _vm.fetchData()}],\"update:itemsPerPage\":function($event){_vm.pageSize=$event},\"update:items-per-page\":[function($event){_vm.pageSize=$event},function($event){return _vm.fetchData()}]},scopedSlots:_vm._u([{key:\"item.submittedAt\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('Date',{attrs:{\"value\":item.submittedAt}})]}},{key:\"item.actionType\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('pre',[_vm._v(_vm._s(value))])]}},{key:\"item.payload\",fn:function(ref){\nvar item = ref.item;\nvar value = ref.value;\nreturn [(!item.payloadExpanded)?_c('v-btn',{attrs:{\"x-small\":\"\",\"text\":\"\"},on:{\"click\":function($event){item.payloadExpanded = true}}},[_vm._v(\" \"+_vm._s(_vm.$t('details'))+\" \"),_c('v-icon',{staticClass:\"pl-1\",attrs:{\"small\":\"\",\"color\":\"grey lighten-1\"}},[_vm._v(\" fa-chevron-down \")])],1):_vm._e(),(item.payloadExpanded)?_c('v-btn',{attrs:{\"x-small\":\"\",\"text\":\"\"},on:{\"click\":function($event){item.payloadExpanded = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('details'))+\" \"),_c('v-icon',{staticClass:\"pl-1\",attrs:{\"small\":\"\",\"color\":\"grey lighten-1\"}},[_vm._v(\" fa-chevron-up \")])],1):_vm._e(),(item.payloadExpanded)?_c('pre',{staticClass:\"payload\"},[_vm._v(_vm._s(value))]):_vm._e()]}}],null,true)}),_c('v-row',[_c('v-col',{staticClass:\"text-center\"},[(_vm.canExport)?_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"accent\",\"href\":'/api/v1/userservice/users/audit-report/excel?' + _vm.queryString}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-file-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.export'))+\" \")],1):_vm._e()],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-autocomplete',{attrs:{\"label\":_vm.label || _vm.$t('user.singular'),\"value\":_vm.value,\"items\":_vm.items,\"loading\":_vm.loading,\"search-input\":_vm.search,\"cache-items\":\"\",\"multiple\":_vm.multiple,\"chips\":_vm.multiple,\"small-chips\":_vm.multiple,\"deletable-chips\":_vm.multiple,\"hide-details\":_vm.hideDetails,\"single-line\":_vm.singleLine,\"clearable\":_vm.clearable},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"update:searchInput\":function($event){_vm.search=$event},\"update:search-input\":function($event){_vm.search=$event}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport userAPI from '@/vuex/user/userAPI';\nimport { User } from '@/vuex/user/user';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: [Number, Array],\n multiple: Boolean,\n hideDetails: Boolean,\n clearable: Boolean,\n singleLine: Boolean,\n },\n\n created() {\n this.fetchData();\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.fetchData = _.debounce(this.fetchData, 400);\n },\n\n data() {\n return {\n loading: false,\n search: '',\n searchResults: [] as User[],\n };\n },\n\n computed: {\n ...mapGetters('user', ['userWithID']),\n\n /**\n * items builds the list of users which appear in the autoselect control.\n */\n items(): VSelectItem[] {\n // Combine any pre-selected users with the search results for the complete\n // list of selected and selectable users.\n const selected: User[] = _.map(_.flatten([this.value]), this.userWithID);\n const selectableUsers = _.compact(_.union(selected, this.searchResults));\n const items = _.map(selectableUsers, (u) => {\n return { value: u.id, text: u.username };\n });\n return _.orderBy(items, 'text');\n },\n },\n\n watch: {\n /**\n * value is watched so that when new User IDs are bound to the control we\n * can opportunistically fetch the User data from the server.\n */\n async value(newVal: number | number[]): Promise {\n await this.$store.dispatch('user/fetchUser', { id: newVal });\n },\n\n /**\n * search is watched so that when the user changes the autocomplete search\n * value, we can trigger an API call to search for matching Users.\n */\n search(newSearch: string): void {\n this.fetchData();\n },\n },\n\n methods: {\n /**\n * fetchData performs the server-side search for users matching the search\n * criteria typed into the autocomplete. This function is debounced\n * so that it is not called immediately after every keypress.\n */\n async fetchData(): Promise {\n this.loading = true;\n try {\n const response = await userAPI.get(`/users/search?q=${this.search}`);\n this.searchResults = _.get(response, 'data.data', []);\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserSelector.vue?vue&type=template&id=037592ce&\"\nimport script from \"./UserSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\ninstallComponents(component, {VAutocomplete})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport userAPI from '@/vuex/user/userAPI';\n\nimport { criteriaToQueryString } from '@/lib/criteria';\nimport { User } from '@/vuex/user/user';\n\nimport UserSelector from '@/components/user/UserSelector.vue';\n\nexport default Vue.extend({\n created(): void {\n this.fetchData();\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.fetchData = _.debounce(this.fetchData, 400);\n },\n data() {\n return {\n loading: false,\n error: null as any,\n\n criteria: {\n userID: 0,\n submittedAtOrAfter: '',\n submittedAtOrBefore: '',\n },\n\n searchResults: [] as any[],\n\n // Pagination Attributes\n currentPage: 1,\n serverTotalResults: 0,\n pageSize: 10,\n };\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('language', ['valueForLocale']),\n ...mapGetters('user', ['userWithID']),\n\n /**\n * queryString computes the query string component of the search API call.\n * It includes pagination parameters controlled by the v-data-table props,\n * but only if they are not the only parameters.\n */\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n\n /**\n * canExport computes whether the current user is allowed to download\n * an Excel export of the data on the screen.\n */\n canExport(): boolean {\n return this.hasPermission('admin.userAuditReport');\n },\n\n footerProps(): any {\n const opts = {\n itemsPerPageOptions: [10, 20, 40, 50, 100],\n itemsPerPageText: this.$i18n.t('uiElements.rowsPerPage'),\n };\n return opts;\n },\n\n headers(): any[] {\n const h: any[] = [\n {\n text: i18n.t('date'),\n value: 'submittedAt',\n width: '10em',\n },\n {\n text: i18n.t('action.singular'),\n value: 'actionType',\n },\n {\n text: i18n.t('docketEventType.singular'),\n value: 'docketEventType',\n },\n {\n text: this.$i18n.t('dossier.dossierNumber'),\n value: 'dossierNumber',\n },\n {\n value: 'payload',\n },\n ];\n\n return h;\n },\n user(): User {\n return this.userWithID(this.criteria.userID);\n },\n },\n\n watch: {\n /**\n * queryString is watched so that a new search can be triggered.\n * We also reset back to page #1 anytime a new search is triggered.\n */\n queryString(newVal: string) {\n this.currentPage = 1;\n this.fetchData();\n },\n },\n\n methods: {\n /**\n * fetchData is called when the search button is pressed or when any table\n * pagination setting is changed. It refreshes the locally-held search\n * results with the current page of results from the server.\n */\n async fetchData(): Promise {\n this.loading = true;\n\n const args = [] as string[];\n args.push(`page[size]=${this.pageSize}`);\n args.push(`page[number]=${this.currentPage}`);\n args.push(this.queryString);\n\n try {\n const url = `/users/audit-report?${args.join('&')}`;\n const res = await userAPI.get(url);\n this.serverTotalResults = _.get(res, 'data.meta.totalResults', 0);\n const results = _.get(res, 'data.data', []);\n this.searchResults = _.map(results, (r) => {\n return Object.assign(r, {\n docketEventType:\n this.valueForLocale(r.docketEventType) || i18n.t('na'),\n payloadExpanded: false,\n });\n });\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n\n components: {\n UserSelector,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserAuditReport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserAuditReport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserAuditReport.vue?vue&type=template&id=22023296&scoped=true&\"\nimport script from \"./UserAuditReport.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserAuditReport.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UserAuditReport.vue?vue&type=style&index=0&id=22023296&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"22023296\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VContainer,VDataTable,VIcon,VRow,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.canAdd)?_c('NewUserDialog',{on:{\"saved\":function($event){return _vm.afterUserAdded($event)}}}):_vm._e(),_c('v-spacer'),_c('v-checkbox',{attrs:{\"label\":_vm.$t('command.includeDeleted')},model:{value:(_vm.criteria.includeDeleted),callback:function ($$v) {_vm.$set(_vm.criteria, \"includeDeleted\", $$v)},expression:\"criteria.includeDeleted\"}})]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('user.plural')))]),_c('v-spacer'),_c('v-text-field',{attrs:{\"label\":_vm.$t('search'),\"append-icon\":\"search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.criteria.q),callback:function ($$v) {_vm.$set(_vm.criteria, \"q\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"criteria.q\"}})],1),_c('v-card-text',[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('RoleEntityTypeSelector',{attrs:{\"label\":_vm.$t('role.entityType'),\"clearable\":\"\"},model:{value:(_vm.criteria.entityType),callback:function ($$v) {_vm.$set(_vm.criteria, \"entityType\", $$v)},expression:\"criteria.entityType\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('RoleSelector',{attrs:{\"label\":_vm.$t('filterBy.userRole'),\"entity-type\":_vm.criteria.entityType,\"clearable\":\"\"},model:{value:(_vm.criteria.roleID),callback:function ($$v) {_vm.$set(_vm.criteria, \"roleID\", $$v)},expression:\"criteria.roleID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.users,\"loading\":_vm.loading,\"disable-sort\":\"\",\"page\":_vm.currentPage,\"items-per-page\":_vm.pageSize,\"server-items-length\":_vm.serverTotalResults,\"footer-props\":_vm.footerProps,\"item-class\":function (item) { return (item.isDeleted ? 'isDeleted' : ''); },\"no-data-text\":_vm.$t('error.nodata')},on:{\"update:page\":[function($event){_vm.currentPage=$event},function($event){return _vm.fetchData()}],\"update:itemsPerPage\":function($event){_vm.pageSize=$event},\"update:items-per-page\":[function($event){_vm.pageSize=$event},function($event){return _vm.fetchData()}]},scopedSlots:_vm._u([{key:\"item.id\",fn:function(props){return [_c('EditUserDialog',{attrs:{\"id\":props.item.id}})]}},{key:\"item.lastLoginAt\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('Date',{attrs:{\"value\":value,\"show-time\":\"\"}})]}}],null,true)})],1),(_vm.canExport)?_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"accent\",\"href\":'/api/v1/userservice/users/search/excel?' + _vm.queryString}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-file-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.export'))+\" \")],1)],1):_vm._e()],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('user.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('UserForm',{on:{\"saved\":function($event){return _vm.afterUserAdded($event)}},model:{value:(_vm.user),callback:function ($$v) {_vm.user=$$v},expression:\"user\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},[(_vm.user.id)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('user.lastLoginAt')}},[_c('Date',{attrs:{\"value\":_vm.user.lastLoginAt,\"show-time\":\"\"}})],1),_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('user.passwordLastChangedAt')}},[_c('Date',{attrs:{\"value\":_vm.user.passwordLastChangedAt,\"show-time\":\"\"}})],1)],1)],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('user.username'),\"value\":_vm.user.username,\"disabled\":_vm.user.id > 0,\"rules\":[\n function (v) { return !!v || _vm.$t('error.required'); },\n function (v) { return (v && v.length > 3) || _vm.$t('validation.longerThan', { count: 3 }); } ]},on:{\"input\":function($event){return _vm.update('username', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"8\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.fullName'),\"value\":_vm.user.fullName,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('fullName', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.initials'),\"value\":_vm.user.initials,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('initials', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('user.email'),\"value\":_vm.user.email,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('email', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('user.telephone'),\"value\":_vm.user.telephone},on:{\"input\":function($event){return _vm.update('telephone', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"type\":\"password\",\"label\":_vm.$t('user.password'),\"value\":_vm.user.password,\"rules\":[_vm.requiredOnCreate]},on:{\"input\":function($event){return _vm.update('password', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"type\":\"password\",\"label\":_vm.$t('user.passwordConfirmation'),\"value\":_vm.user.passwordConfirmation,\"rules\":[_vm.requiredOnCreate, _vm.mustMatchPassword]},on:{\"input\":function($event){return _vm.update('passwordConfirmation', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('UserRolesForm',{attrs:{\"value\":_vm.user.roles},on:{\"input\":function($event){return _vm.update('roles', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('user.remarks'),\"value\":_vm.user.remarks,\"rows\":\"2\",\"filled\":\"\"},on:{\"input\":function($event){return _vm.update('remarks', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('item.isDeleted'),\"input-value\":_vm.user.isDeleted},on:{\"change\":function($event){return _vm.update('isDeleted', !!$event)}}})],1),(_vm.user.isDeleted)?_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('user.deletedReason'),\"value\":_vm.user.deletedReason,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"rows\":\"3\",\"auto-grou\":\"\"},on:{\"input\":function($event){return _vm.update('deletedReason', $event, 'trim')}}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('user.isSuspended'),\"input-value\":_vm.user.isSuspended},on:{\"change\":function($event){return _vm.update('isSuspended', !!$event)}}})],1),(_vm.user.isSuspended)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('user.suspendedReason'),\"value\":_vm.user.suspendedReason,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('suspendedReason', $event, 'trim')}}})],1):_vm._e(),(_vm.showReactivatedReason)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('user.reactivatedReason'),\"value\":_vm.user.reactivatedReason,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('reactivatedReason', $event, 'trim')}}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-toolbar',{attrs:{\"dense\":\"\",\"dark\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t('role.plural')))]),_c('NewUserRoleDialog',{on:{\"save\":function($event){return _vm.addUserRole($event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"items\":_vm.translatedUserRoles,\"headers\":_vm.headers,\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nvar index = ref.index;\nreturn [_c('tr',[_c('td',[_vm._v(_vm._s(item.translatedEntityType))]),_c('td',[_vm._v(_vm._s(item.roleName))]),_c('td',[_vm._v(_vm._s(item.entityName))]),_c('td',[_c('ConfirmationButton',{attrs:{\"icon\":\"\",\"x-small\":\"\",\"title\":_vm.$t('command.delete') + '?',\"prompt\":_vm.$t('question.areYouSure')},on:{\"confirm\":function($event){return _vm.deleteUserRole(index)}}},[_c('v-icon',[_vm._v(\"delete\")])],1)],1)])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('role.singular'),\"button-size\":\"x-small\",\"max-width\":\"700\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('UserRoleForm',{model:{value:(_vm.role),callback:function ($$v) {_vm.role=$$v},expression:\"role\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('RoleEntityTypeSelector',{attrs:{\"label\":_vm.$t('role.entityType'),\"value\":_vm.userRole.entityType,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.updateEntityType($event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('RoleSelector',{attrs:{\"label\":_vm.$t('role.singular'),\"value\":_vm.userRole.roleID,\"entity-type\":_vm.userRole.entityType,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('roleID', $event)}}})],1)],1),(!_vm.isGlobal)?_c('v-row',{attrs:{\"justify\":\"center\",\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.allLabel,\"input-value\":_vm.userRole.hasAllEntities},on:{\"change\":function($event){return _vm.update('hasAllEntities', $event)}}})],1)],1):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.userRole.hasAllEntities && _vm.isHousingFacility)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('FacilitySelector',{attrs:{\"label\":_vm.$t('housingFacility.singular'),\"value\":_vm.userRole.entityID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('entityID', $event)}}})],1):_vm._e(),(!_vm.userRole.hasAllEntities && _vm.isCourt)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CourtSelector',{attrs:{\"label\":_vm.$t('court.singular'),\"value\":_vm.userRole.entityID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('entityID', $event)}}})],1):_vm._e(),(!_vm.userRole.hasAllEntities && _vm.isDepartment)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('DepartmentSelector',{attrs:{\"label\":_vm.$t('department.singular'),\"value\":_vm.userRole.entityID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"zero-label\":\"all\"},on:{\"input\":function($event){return _vm.update('entityID', $event)}}})],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"label\":_vm.label || _vm.$t('role.singular'),\"value\":_vm.value,\"items\":_vm.roleChoices,\"rules\":_vm.rules,\"disabled\":_vm.disabled,\"multiple\":_vm.multiple,\"chips\":_vm.chips,\"clearable\":_vm.clearable},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"change\":function($event){return _vm.$emit('change', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\nimport { VSelectItem } from '@/lib/vue-typescript';\nimport { Role } from '@/vuex/user/user';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: [Number, Array],\n rules: Array,\n disabled: Boolean,\n multiple: Boolean,\n chips: Boolean,\n clearable: Boolean,\n\n // entityType can be specified with one of the role entity types (e.g.\n // 'global', 'court', 'department', 'facility') to limit the Roles to\n // only those that are categorized under that type.\n entityType: String,\n },\n computed: {\n ...mapGetters('language', ['valueForLocale']),\n ...mapGetters('user', ['allRoles']),\n ...mapState('user', ['roles']),\n\n /**\n * roleChoices computes the filtered list of options which appear for the\n * user to chose from the dropdown control.\n */\n roleChoices(): VSelectItem[] {\n let roles: Role[] = this.roles;\n if (this.entityType) {\n roles = _.filter(roles, { entityType: this.entityType });\n }\n return _.map(roles, (r) => ({\n value: r.id,\n text: this.valueForLocale(r.name),\n }));\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RoleSelector.vue?vue&type=template&id=9fc4964a&\"\nimport script from \"./RoleSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./RoleSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { cloneDeep, tap, set } from 'lodash';\nimport { mapGetters } from 'vuex';\n\nimport { RoleEntityType, UserRole } from '@/vuex/user/user';\n\nimport CourtSelector from '@/components/court/court/CourtSelector.vue';\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\nimport RoleEntityTypeSelector from '@/components/user/RoleEntityTypeSelector.vue';\nimport RoleSelector from '@/components/user/RoleSelector.vue';\nimport i18n from '@/i18n';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n computed: {\n ...mapGetters('language', ['valueForLocale']),\n\n /**\n * userRole computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n userRole(): UserRole {\n return (\n this.value || {\n id: 0,\n userID: 0,\n roleID: 0,\n entityType: RoleEntityType.Global,\n hasAllEntities: false,\n entityID: 0,\n }\n );\n },\n\n /**\n * entityType computes the entityType that's currently selected in the form.\n */\n entityType(): string {\n return this.userRole.entityType;\n },\n\n /**\n * allLabel computes the words used on the \"All\" checkbox. The label is'\n * dynamic depending on which entityType is selected. This will return\n * something like \"All Courts\" or \"All Departments\".\n */\n allLabel(): string {\n const all = i18n.t('all').toString();\n switch (this.entityType) {\n case RoleEntityType.Court:\n return all + ' ' + i18n.t('court.plural').toString();\n case RoleEntityType.Department:\n return all + ' ' + i18n.t('department.plural').toString();\n case RoleEntityType.HousingFacility:\n return all + ' ' + i18n.t('housingFacility.plural').toString();\n }\n return '';\n },\n\n isGlobal(): boolean {\n return this.entityType === RoleEntityType.Global;\n },\n\n isCourt(): boolean {\n return this.entityType === RoleEntityType.Court;\n },\n\n isDepartment(): boolean {\n return this.entityType === RoleEntityType.Department;\n },\n\n isHousingFacility(): boolean {\n return this.entityType === RoleEntityType.HousingFacility;\n },\n },\n\n methods: {\n /**\n * update is the target of the @input and @change handlders in all form\n * UI components. It builds a new, complete, entity and $emits it so\n * that data binding consistently holds a full, updated object.\n */\n update(key: string, value: any): void {\n const ur = tap(cloneDeep(this.userRole), (v) => set(v, key, value));\n this.$emit('input', ur);\n },\n\n /**\n * updateEntityType is a variation of the update method which handles\n * events when the entityType field is changed. These changes need to\n * affect several other fields, so we make all those changes together\n * before doing the $emit of the new Object.\n */\n updateEntityType(newType: RoleEntityType): void {\n const ur: UserRole = cloneDeep(this.userRole);\n ur.entityType = newType;\n // The roleID and entityID must now be invalid after the\n // entityType is changed.\n ur.hasAllEntities = false;\n ur.roleID = 0;\n ur.entityID = 0;\n this.$emit('input', ur);\n },\n },\n\n components: {\n CourtSelector,\n FacilitySelector,\n RoleSelector,\n RoleEntityTypeSelector,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRoleForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRoleForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserRoleForm.vue?vue&type=template&id=57b52b64&\"\nimport script from \"./UserRoleForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserRoleForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCheckbox,VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport { UserRole } from '@/vuex/user/user';\nimport UserRoleForm from '@/components/user/UserRoleForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n isOpen: false,\n role: null as UserRole | null,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.role = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n save(): void {\n this.$emit('save', this.role);\n this.isOpen = false;\n },\n },\n components: {\n UserRoleForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserRoleDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserRoleDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewUserRoleDialog.vue?vue&type=template&id=4d3a053d&\"\nimport script from \"./NewUserRoleDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewUserRoleDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\n\nimport { Role, RoleEntityType, UserRole } from '@/vuex/user/user';\n\nimport NewUserRoleDialog from '@/components/user/NewUserRoleDialog.vue';\n\nexport default Vue.extend({\n props: {\n value: Array,\n },\n\n computed: {\n ...mapGetters('language', ['valueForLocale']),\n ...mapGetters('user', ['roleWithID']),\n ...mapGetters('court', ['fullCourtName']),\n ...mapGetters('investigation', ['fullDepartmentName']),\n ...mapGetters('housing', ['fullFacilityName']),\n\n /**\n * translatedUserRoles computes the array of entries in the table.\n * It's based on the v-model value provided to this component, but\n * translates values and prepares for display in the table. In order to\n * avoid polluting the original objects, this computed prop creates\n * copies of each Object with Object.assign.\n */\n translatedUserRoles(): any[] {\n return _.map(this.value || [], (ur: UserRole) => {\n const translatedEntityType = i18n\n .t('role.entityTypeOptions.' + ur.entityType)\n .toString();\n let entityName = '';\n let roleName = '';\n const role: Role = this.roleWithID(ur.roleID);\n if (role) {\n roleName = this.valueForLocale(role.name);\n }\n\n switch (ur.entityType) {\n case RoleEntityType.Court:\n entityName = this.fullCourtName(ur.entityID);\n break;\n case RoleEntityType.Department:\n entityName = this.fullDepartmentName(ur.entityID);\n break;\n case RoleEntityType.HousingFacility:\n entityName = this.fullFacilityName(ur.entityID);\n break;\n }\n\n if (ur.hasAllEntities) {\n entityName = i18n.t('all').toString();\n }\n\n return Object.assign({}, ur, {\n translatedEntityType,\n entityName,\n roleName,\n });\n });\n },\n\n /**\n * headers computes the array of column headers for the VDataTable\n */\n headers(): any[] {\n const h = [\n { text: i18n.t('role.entityType'), value: 'translatedEntityType' },\n { text: i18n.t('role.singular'), value: 'roleName' },\n { text: i18n.t('role.entityName'), value: 'facilityName' },\n { text: '', value: null, width: '100px', sortable: false },\n ];\n return h;\n },\n },\n\n methods: {\n /**\n * addUserRole is the handler for the @save event emitted by\n * NewUserRoleDialog. It adds the newly-created UserRole object to the\n * array and emits the new array.\n */\n addUserRole(ur: UserRole): void {\n const newRoles = (this.value ? this.value : []) as UserRole[];\n newRoles.push(ur);\n this.$emit('input', newRoles);\n },\n\n /**\n * deleteUserRole is the handler for the click event on the delete icon\n * in the table row. It removes the item at the selected index and\n * re-emits the entire array.\n */\n deleteUserRole(index: number): any {\n const newRoles = [...this.value];\n newRoles.splice(index, 1);\n this.$emit('input', newRoles);\n },\n },\n components: {\n NewUserRoleDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRolesForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRolesForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserRolesForm.vue?vue&type=template&id=54c2687c&\"\nimport script from \"./UserRolesForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserRolesForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCol,VDataTable,VIcon,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\nimport moment from 'moment';\n\nimport i18n from '@/i18n';\nimport { User } from '@/vuex/user/user';\n\nimport UserRolesForm from '@/components/user/UserRolesForm.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n computed: {\n /**\n * user computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n user(): User {\n const today = moment().format();\n return this.value\n ? this.value\n : {\n username: '',\n fullName: '',\n initials: '',\n email: '',\n telephone: '',\n remarks: '',\n password: '',\n passwordConfirmation: '',\n roles: [],\n isSuspended: false,\n passwordLastChangedAt: today,\n isDeleted: false,\n deletedReason: '',\n suspendedReason: '',\n reactivatedReason: '',\n };\n },\n\n isActive(): boolean {\n return !(this.user.isDeleted || this.user.isSuspended);\n },\n\n showReactivatedReason(): boolean {\n if (!this.isActive) {\n // Never show reactivation reason if the user isn't active\n return false;\n }\n\n if (this.user.deletedReason !== '' || this.user.suspendedReason !== '') {\n // If the user has a deletedReason or a suspendedReason, it\n // means they were once deleted or suspended, so we show the\n // reactivationReason field\n return true;\n }\n\n return false;\n },\n },\n\n methods: {\n /**\n * requiredOnCreate is a Vuetify text field validation function\n * which always passes validation when editing an existing user,\n * and requires input when editing a new user.\n *\n * Used on password and passwordConfirmation fields.\n */\n requiredOnCreate(v): boolean | string {\n if (this.user && this.user.id > 0) {\n return true;\n }\n return !!v || i18n.t('error.required').toString();\n },\n\n /**\n * mustMatchPassword is a Vuetify text field validation function\n * which evaluates the content against the user.password field to ensure\n * it matches.\n *\n * Used on the passwordConfirmation field.\n */\n mustMatchPassword(v): boolean | string {\n if (this.user && this.user.password) {\n return (\n v === this.user.password ||\n i18n.t('validation.mustMatchPassword').toString()\n );\n }\n return true;\n },\n\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.user), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n\n components: {\n UserRolesForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserForm.vue?vue&type=template&id=5cd7ad42&\"\nimport script from \"./UserForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCheckbox,VCol,VRow,VTextField,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport { User } from '@/vuex/user/user';\nimport { firstModelIDInState } from '@/lib/vuex-domainmodel';\nimport userAPI from '@/vuex/user/userAPI';\n\nimport UserForm from '@/components/user/UserForm.vue';\n\nexport default Vue.extend({\n data() {\n return {\n isOpen: false,\n error: null as any,\n user: null as User | null,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.user = null;\n this.error = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.user) {\n return;\n }\n\n try {\n this.error = null;\n const response = await userAPI.post('/users/create', {\n data: this.user,\n });\n\n // Update Vuex state\n const newState = response.data.data;\n this.$store.commit('user/setState', newState);\n\n // Notify consumers of the newly-created record's ID\n const newID = firstModelIDInState(newState, 'user');\n this.$emit('saved', newID);\n\n // Close the Dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n UserForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewUserDialog.vue?vue&type=template&id=06bf65be&\"\nimport script from \"./NewUserDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewUserDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('user.singular'),\"loading\":_vm.loading},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('UserForm',{model:{value:(_vm.user),callback:function ($$v) {_vm.user=$$v},expression:\"user\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { User } from '@/vuex/user/user';\nimport userAPI from '@/vuex/user/userAPI';\n\nimport UserForm from '@/components/user/UserForm.vue';\n\nexport default Vue.extend({\n props: {\n id: {\n type: Number,\n required: true,\n },\n },\n data() {\n return {\n error: null as any,\n isOpen: false,\n loading: false,\n user: null as User | null,\n };\n },\n computed: {\n ...mapGetters('user', ['userWithID']),\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n async reset(): Promise {\n this.loading = true;\n await this.$store.dispatch('user/fetchUser', {\n id: this.id,\n force: true,\n });\n const myCopy = Object.assign({}, this.userWithID(this.id));\n this.user = myCopy;\n this.loading = false;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.user) {\n return;\n }\n\n try {\n this.error = null;\n const response = await userAPI.post('/users/update', {\n data: {\n userID: this.id,\n fullName: this.user.fullName,\n initials: this.user.initials,\n email: this.user.email,\n telephone: this.user.telephone,\n remarks: this.user.remarks,\n password: this.user.password,\n passwordConfirmation: this.user.passwordConfirmation,\n roles: this.user.roles,\n isSuspended: this.user.isSuspended,\n isDeleted: this.user.isDeleted,\n deletedReason: this.user.deletedReason,\n suspendedReason: this.user.suspendedReason,\n reactivatedReason: this.user.reactivatedReason,\n },\n });\n\n // Update Vuex state\n const newState = response.data.data;\n this.$store.commit('user/setState', newState);\n\n // Close the Dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n UserForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditUserDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditUserDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditUserDialog.vue?vue&type=template&id=44febc36&\"\nimport script from \"./EditUserDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditUserDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport userAPI from '@/vuex/user/userAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\nimport { User } from '@/vuex/user/user';\n\nimport NewUserDialog from '@/components/user/NewUserDialog.vue';\nimport EditUserDialog from '@/components/user/EditUserDialog.vue';\nimport RoleEntityTypeSelector from '@/components/user/RoleEntityTypeSelector.vue';\nimport RoleSelector from '@/components/user/RoleSelector.vue';\n\nexport default Vue.extend({\n created(): void {\n this.fetchData();\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.fetchData = _.debounce(this.fetchData, 400);\n },\n\n data() {\n return {\n loading: false,\n\n // Server pagination\n currentPage: 1,\n serverTotalResults: 0,\n pageSize: 10,\n\n criteria: {\n q: '',\n includeDeleted: false,\n entityType: '',\n roleID: 0,\n },\n userIDs: [] as number[],\n };\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('user', ['userWithID']),\n\n users(): User[] {\n return _.map(this.userIDs || [], this.userWithID);\n },\n\n footerProps(): any {\n const opts = {\n itemsPerPageOptions: [5, 15, 50, 150],\n itemsPerPageText: this.$i18n.t('uiElements.rowsPerPage'),\n };\n return opts;\n },\n\n /**\n * queryString computes the URL querystring parameters which will be\n * submitted to the server to perform the search. NOTE that this\n * value is combined with pagination criteria inside fetchData, so this\n * value doesn't exactly match the API request.\n */\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n\n headers(): any[] {\n const h: any[] = [\n {\n text: i18n.t('user.username'),\n value: 'username',\n },\n {\n text: i18n.t('person.fullName'),\n value: 'fullName',\n },\n {\n text: i18n.t('person.initials'),\n value: 'initials',\n },\n {\n text: i18n.t('user.email'),\n value: 'email',\n },\n {\n text: i18n.t('user.lastLoginAt'),\n value: 'lastLoginAt',\n },\n ];\n\n if (this.canEdit) {\n h.unshift({\n value: 'id',\n text: i18n.t('command.edit'),\n width: '30px',\n sortable: false,\n });\n }\n return h;\n },\n\n /**\n * canAdd computes whether the current user is allowed to create\n * new users.\n */\n canAdd(): boolean {\n return this.hasPermission('admin.user.create');\n },\n\n /**\n * canEdit computes whether the current user is allowed to edit\n * existing users.\n */\n canEdit(): boolean {\n return this.hasPermission('admin.user.create');\n },\n\n /**\n * canExport computes whether the current user is allowed to download\n * an Excel export of the data on the screen.\n */\n canExport(): boolean {\n return this.hasPermission('admin.user.create');\n },\n },\n\n watch: {\n /**\n * queryString is watched so that a new search can be triggered.\n * We also reset back to page #1 anytime a new search is triggered.\n */\n queryString(newVal: string) {\n this.currentPage = 1;\n this.fetchData();\n },\n },\n\n methods: {\n /**\n * afterUserAdded is triggered when the user successfully adds a new\n * record via the add dialog attached to the search interface. It receives\n * the ID of the newly-created User and updates the search reuslts.\n */\n afterUserAdded(newID: number): void {\n this.userIDs.unshift(newID);\n if (this.serverTotalResults < 1) {\n this.serverTotalResults = 1;\n }\n },\n\n async fetchData(): Promise {\n this.loading = true;\n\n const args = [] as string[];\n args.push(`page[size]=${this.pageSize}`);\n args.push(`page[number]=${this.currentPage}`);\n args.push(this.queryString);\n\n try {\n const response = await userAPI.get(`/users/search?${args.join('&')}`);\n this.serverTotalResults =\n _.get(response, 'data.meta.totalResults') || 0;\n\n const users = _.get(response, 'data.data', []);\n this.userIDs = _.map(users, 'id');\n const newState = modelsToState('user', users);\n this.$store.commit('user/setState', newState);\n } finally {\n this.loading = false;\n }\n },\n },\n\n components: {\n NewUserDialog,\n EditUserDialog,\n RoleEntityTypeSelector,\n RoleSelector,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserList.vue?vue&type=template&id=a6a2ebc2&\"\nimport script from \"./UserList.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCheckbox,VCol,VContainer,VDataTable,VIcon,VRow,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),(!_vm.loading)?_c('CaseHeaderNav',{attrs:{\"id\":_vm.id}}):_vm._e(),(!_vm.loading)?_c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('PrimaryParticipants',{attrs:{\"dossierID\":_vm.dossier.id,\"dense\":\"\"}})],1),_vm._l((_vm.stageCases),function(sc){return _c('v-col',{key:sc.stageID,attrs:{\"cols\":\"12\"}},[_c('v-card',{attrs:{\"cols\":\"12\"}},[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(sc.stageID, 'court/courtStages'))+\" \")])],1),_c('v-card-text',[_c('v-row',_vm._l((sc.cases),function(kase){return _c('v-col',{key:kase.id,attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\"}},[_c('CaseSummaryCard',{attrs:{\"id\":kase.id,\"color\":kase.id === _vm.id ? 'grey lighten-2' : ''}})],1)}),1)],1)],1)],1)})],2)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"primary white--text\",attrs:{\"fluid\":\"\"}},[(_vm.kase && _vm.dossier)?_c('v-container',{attrs:{\"dark\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-overline\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.dossier.number)+\" \")])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('div',{staticClass:\"text-h4\"},[_vm._v(_vm._s(_vm.$t('case.singular'))+\" \"+_vm._s(_vm.kase.number))]),_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.courtName(_vm.kase.courtID))+\" \")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-btn-toggle',{attrs:{\"dark\":\"\",\"group\":\"\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"exact\":\"\",\"to\":{ name: 'caseShow' }}},[_vm._v(\" \"+_vm._s(_vm.$t('case.singular'))+\" \")]),_c('v-btn',{attrs:{\"small\":\"\",\"exact\":\"\",\"to\":{ name: 'caseDossierDetail' }}},[_vm._v(\" \"+_vm._s(_vm.$t('dossier.singular'))+\" \")])],1)],1)],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Case } from '@/vuex/court/case';\nimport { Dossier } from '@/vuex/court/dossier';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n computed: {\n ...mapGetters('court', ['caseWithID', 'courtName', 'dossierWithID']),\n kase(): Case {\n return this.caseWithID(this.id);\n },\n dossier(): Dossier | null {\n if (!this.kase) {\n return null;\n }\n return this.dossierWithID(this.kase.dossierID);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseHeaderNav.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseHeaderNav.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CaseHeaderNav.vue?vue&type=template&id=c529c3d6&\"\nimport script from \"./CaseHeaderNav.vue?vue&type=script&lang=ts&\"\nexport * from \"./CaseHeaderNav.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VBtnToggle } from 'vuetify/lib/components/VBtnToggle';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VBtnToggle,VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"outlined\":!_vm.kase.isFinal,\"elevation\":_vm.kase.isFinal ? 12 : 0,\"to\":_vm.to,\"color\":_vm.color}},[_c('v-card-title',[_vm._v(_vm._s(_vm.kase.number))]),_c('v-card-subtitle',[_vm._v(\" \"+_vm._s(_vm.courtName(_vm.kase.courtID))+\" \")]),_c('v-card-text',[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.$t('court.status'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('CaseStatusLabel',{attrs:{\"statusID\":_vm.kase.statusID,\"dispositionReasonID\":_vm.kase.dispositionReasonID}})],1),_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.$t('case.isFinal'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"6\"}},[(_vm.kase.isFinal)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('command.yes'))+\" \")]):_vm._e(),(!_vm.kase.isFinal)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('command.no'))+\" \")]):_vm._e()]),_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.$t('case.filedAt'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('Date',{attrs:{\"value\":_vm.kase.filedAt}})],1),(_vm.kase.disposedAt)?_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.$t('case.disposedAt'))+\" \")]):_vm._e(),(_vm.kase.disposedAt)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('Date',{attrs:{\"value\":_vm.kase.disposedAt}})],1):_vm._e(),(_vm.kase.finalizedAt)?_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.$t('case.finalizedAt'))+\" \")]):_vm._e(),(_vm.kase.finalizedAt)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('Date',{attrs:{\"value\":_vm.kase.finalizedAt}})],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.statusID, 'court/caseStatuses'))+\" \"),(_vm.isDisposed)?_c('span',[_vm._v(\" ( \"+_vm._s(_vm.nameForIDInCollection(_vm.dispositionReasonID, 'court/dispositionReasons'))+\" ) \")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { CaseStatus } from '@/vuex/court/case';\n\nexport default Vue.extend({\n props: {\n statusID: Number,\n dispositionReasonID: Number,\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n\n isDisposed(): boolean {\n return this.statusID === CaseStatus.Disposed;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseStatusLabel.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseStatusLabel.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CaseStatusLabel.vue?vue&type=template&id=67161b57&\"\nimport script from \"./CaseStatusLabel.vue?vue&type=script&lang=ts&\"\nexport * from \"./CaseStatusLabel.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Case } from '@/vuex/court/case';\nimport CaseStatusLabel from '@/components/court/case/CaseStatusLabel.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n color: String,\n unlinked: Boolean,\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['caseWithID', 'courtName']),\n\n kase(): Case {\n return this.caseWithID(this.id);\n },\n\n to(): any {\n if (this.unlinked) {\n return undefined;\n }\n return { name: 'caseShow', params: { id: this.kase.id } };\n },\n },\n\n components: {\n CaseStatusLabel,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseSummaryCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseSummaryCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CaseSummaryCard.vue?vue&type=template&id=0873d7fd&\"\nimport script from \"./CaseSummaryCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./CaseSummaryCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardSubtitle } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardSubtitle,VCardText,VCardTitle,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-container',[_c('v-row',[_c('NewCaseDialog',{attrs:{\"forceStage\":_vm.addingStageID,\"dossierID\":_vm.id,\"no-activator\":\"\"},model:{value:(_vm.newCaseDialogOpen),callback:function ($$v) {_vm.newCaseDialogOpen=$$v},expression:\"newCaseDialogOpen\"}}),_vm._l((_vm.stageCases),function(sc){return _c('v-col',{key:sc.stageID,attrs:{\"cols\":\"12\"}},[_c('v-card',{attrs:{\"cols\":\"12\"}},[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\",\"height\":\"75px\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(sc.stageID, _vm.courtStages))+\" \")]),(_vm.allowAdding)?_c('v-btn',{attrs:{\"fab\":\"\",\"absolute\":\"\",\"bottom\":\"\",\"left\":\"\",\"small\":\"\",\"color\":\"accent\"},on:{\"click\":function($event){return _vm.addCaseInStage(sc.stageID)}}},[_c('v-icon',[_vm._v(\"fa-plus\")])],1):_vm._e()],1),_c('v-card-text',[_c('v-row',_vm._l((sc.cases),function(kase){return _c('v-col',{key:kase.id,attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\"}},[_c('CaseSummaryCard',{attrs:{\"id\":kase.id,\"unlinked\":\"\"}})],1)}),1)],1)],1)],1)})],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { AllCourtStageIDs, CourtStageIDs } from '@/vuex/court/court';\nimport { Case } from '@/vuex/court/case';\n\nimport NewCaseDialog from '@/components/court/case/NewCaseDialog.vue';\nimport CaseSummaryCard from '@/components/court/case/CaseSummaryCard.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n allowAdding: Boolean,\n },\n data() {\n return {\n addingStageID: CourtStageIDs.primary,\n newCaseDialogOpen: false,\n };\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['casesForDossier', 'courtName']),\n ...mapState('court', ['courtStages']),\n cases(): Case[] {\n return this.casesForDossier(this.id) || ([] as Case[]);\n },\n stageCases(): any {\n return AllCourtStageIDs.map((stageID) => ({\n stageID,\n cases: this.cases.filter((c) => c.stageID === stageID) || [],\n }));\n },\n },\n methods: {\n addCaseInStage(stageID: number): void {\n this.addingStageID = stageID;\n this.newCaseDialogOpen = true;\n },\n },\n components: {\n NewCaseDialog,\n CaseSummaryCard,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierCourts.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierCourts.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossierCourts.vue?vue&type=template&id=661b8009&\"\nimport script from \"./DossierCourts.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossierCourts.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VContainer,VIcon,VRow,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},_vm._l((_vm.leftParticipants),function(participant){return _c('ParticipantSummary',{key:participant.id,attrs:{\"participant\":participant,\"dense\":_vm.dense}})}),1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},_vm._l((_vm.rightParticipants),function(participant){return _c('ParticipantSummary',{key:participant.id,attrs:{\"participant\":participant,\"dense\":_vm.dense}})}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":\"\"},on:{\"click\":_vm.expand}},[_c('v-card-title',[_c('ParticipantName',{attrs:{\"participant\":_vm.participant}})],1),(!_vm.dense && (_vm.participant.charges || _vm.participant.attorneys))?_c('v-card-text',[(_vm.participant.charges && _vm.participant.charges.length)?_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('charge.plural'))+\":\")]),_c('ChargesSummary',{attrs:{\"charges\":_vm.participant.charges}})],1):_vm._e(),_c('SentenceSummary',{attrs:{\"components\":_vm.participant.sentenceComponents,\"hide-fulfillment\":\"\"}}),(_vm.participant.isDecisionAccepted != null)?_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('participant.isDecisionAccepted')))]),_c('BooleanDisplay',{attrs:{\"value\":_vm.participant.isDecisionAccepted,\"true-label\":_vm.$t('accepted'),\"false-label\":_vm.$t('notAccepted')}})],1):_vm._e(),(_vm.participant.attorneys && _vm.participant.attorneys.length)?_c('div',[_c('strong',[_vm._v(\" \"+_vm._s(_vm.$pluralT('attorney', _vm.participant.attorneys.length))+\": \")]),_vm._l((_vm.participant.attorneys),function(attorney){return _c('PartyAttorneyDisplay',{key:attorney.attorneyID,attrs:{\"attorney\":attorney}})})],2):_vm._e()],1):_vm._e(),_c('ParticipantDialog',{ref:\"participantDialog\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"no-gutters\":\"\"}},_vm._l((_vm.chargesForDisplay),function(charge,i){return _c('v-col',{key:i,attrs:{\"cols\":\"12\"}},[(charge.showPrefix)?_c('strong',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( charge.dispositionTypeID, _vm.chargeDispositionTypes ))+\": \")]):_vm._e(),_c('ChargeName',{class:{ isDeleted: charge.deleted },attrs:{\"charge\":charge}})],1)}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport _ from 'lodash';\nimport { mapState, mapGetters } from 'vuex';\n\nimport {\n ActiveChargeDispositionTypeIDs,\n GuiltyChargeDispositionTypeIDs,\n} from '@/vuex/court/charge';\n\nimport { Charge } from '@/vuex/court/charge';\n\nimport AggravatorsMitigatorsDetail from '@/components/charges/AggravatorsMitigatorsDetail.vue';\nimport ChargeName from '@/components/charges/ChargeName.vue';\n\nexport default Vue.extend({\n props: {\n charges: {\n type: Array,\n default: () => [] as Charge[],\n },\n guiltyOnly: Boolean,\n activeOnly: Boolean,\n noPrefix: Boolean,\n short: Boolean,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('court', ['chargeDispositionTypes']),\n\n chargesForDisplay(): any[] {\n let charges = _.cloneDeep(this.charges || []);\n\n if (this.guiltyOnly) {\n charges = _.filter(charges, (c: Charge) =>\n _.includes(GuiltyChargeDispositionTypeIDs, c.dispositionTypeID),\n );\n }\n\n if (this.activeOnly) {\n charges = _.filter(charges, (c: Charge) =>\n _.includes(ActiveChargeDispositionTypeIDs, c.dispositionTypeID),\n );\n }\n\n return charges.map((c: any) => {\n let deleted = false;\n let showPrefix = false;\n if (c.dispositionTypeID === 0) {\n // Charges with an unknown disposition never include a prefix and\n // never get strikethrough styling.\n showPrefix = false;\n deleted = false;\n } else {\n // Charges with a known disposition have their prefix controlled\n // by the prop, and have strikethrough styling governed by\n // their specific disposition type.\n showPrefix = !this.noPrefix;\n deleted = !_.includes(\n GuiltyChargeDispositionTypeIDs,\n c.dispositionTypeID,\n ); // Guilty charges are not deleted\n }\n return Object.assign(c, { deleted, showPrefix });\n });\n },\n },\n components: {\n AggravatorsMitigatorsDetail,\n ChargeName,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChargesSummary.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChargesSummary.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChargesSummary.vue?vue&type=template&id=3dfd289e&\"\nimport script from \"./ChargesSummary.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChargesSummary.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":\"800px\",\"scrollable\":\"\"},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[(_vm.participant)?_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"secondary\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.partyName(_vm.participant.partyID))+\" \"+_vm._s(_vm.$t('details'))+\" \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.close()}}},[_c('v-icon',[_vm._v(\"fa-times-circle\")])],1)],1),_c('v-card-text',[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"6\",\"label\":_vm.$t('partyType.singular'),\"value\":_vm.nameForIDInCollection(_vm.participant.partyTypeID, _vm.partyTypes)}}),(\n _vm.participant.originalPartyTypeID &&\n _vm.participant.originalPartyTypeID != _vm.participant.partyTypeID\n )?_c('LabeledData',{attrs:{\"cols\":\"6\",\"label\":_vm.$t('partyType.original'),\"value\":_vm.nameForIDInCollection(_vm.participant.originalPartyTypeID, _vm.partyTypes)}}):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-toolbar',{attrs:{\"dark\":\"\",\"dense\":\"\",\"flat\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('party.singular')))]),_c('v-spacer'),(_vm.hasPermission('party.create'))?_c('EditPartyDialog',{attrs:{\"id\":_vm.participant.partyID},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"text\":\"\"}},on),[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-edit\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.edit'))+\" \")],1)]}}],null,false,277775632)}):_vm._e()],1),_c('v-card-text',[_c('PartyDetails',{attrs:{\"partyID\":_vm.participant.partyID}})],1)],1)],1),(_vm.canHaveAttorneys)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-toolbar',{attrs:{\"dark\":\"\",\"dense\":\"\",\"flat\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$pluralT('attorney', _vm.participant.attorneys.length))+\" \")]),_c('v-spacer'),_c('EditParticipantAttorneysDialog',{attrs:{\"dossierID\":_vm.participant.dossierID,\"caseID\":_vm.participant.caseID,\"partyID\":_vm.participant.partyID},model:{value:(_vm.participant.attorneys),callback:function ($$v) {_vm.$set(_vm.participant, \"attorneys\", $$v)},expression:\"participant.attorneys\"}})],1),_c('v-card-text',[_c('ParticipantAttorneysTable',{model:{value:(_vm.participant.attorneys),callback:function ($$v) {_vm.$set(_vm.participant, \"attorneys\", $$v)},expression:\"participant.attorneys\"}})],1)],1)],1):_vm._e(),(_vm.canHaveCharges)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-toolbar',{attrs:{\"dark\":\"\",\"dense\":\"\",\"flat\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('charge.plural')))])],1),_c('v-card-text',[_c('ChargesTable',{model:{value:(_vm.participant.charges),callback:function ($$v) {_vm.$set(_vm.participant, \"charges\", $$v)},expression:\"participant.charges\"}})],1)],1)],1):_vm._e(),(_vm.participant.sentenceComponents.length)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-toolbar',{attrs:{\"dark\":\"\",\"dense\":\"\",\"flat\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('sentence.singular')))])],1),_c('SentenceSummary',{attrs:{\"components\":_vm.participant.sentenceComponents}})],1)],1):_vm._e()],1)],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"title\":_vm.$t('attorney.plural')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"text\":\"\"}},slotProps.on),[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-edit\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.edit'))+\" \")],1)]}}]),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-h4\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.fullPartyName(this.partyID))+\" \")]),(_vm.kase)?_c('v-col',{staticClass:\"text-body-1\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('case.singular'))+\": \"+_vm._s(_vm.kase.number)+\" \")]):_vm._e(),(!_vm.kase)?_c('v-col',{staticClass:\"text-body-1\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('court.dossier'))+\": \"+_vm._s(_vm.dossier.number)+\" \")]):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('PartyAttorneysForm',{model:{value:(_vm.attorneys),callback:function ($$v) {_vm.attorneys=$$v},expression:\"attorneys\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { Case } from '@/vuex/court/case';\nimport { Dossier } from '@/vuex/court/dossier';\nimport { PartyAttorney } from '@/vuex/court/participant';\n\nimport PartyAttorneysForm from '@/components/court/attorney/PartyAttorneysForm.vue';\n\nexport default Vue.extend({\n props: {\n value: Array,\n dossierID: Number,\n caseID: Number,\n partyID: Number,\n },\n\n data() {\n return {\n isOpen: false,\n attorneys: [] as PartyAttorney[],\n\n error: null as any,\n };\n },\n\n computed: {\n ...mapGetters('court', ['fullPartyName', 'caseWithID', 'dossierWithID']),\n\n kase(): Case {\n return this.caseWithID(this.caseID);\n },\n\n dossier(): Dossier {\n return this.dossierWithID(this.dossierID);\n },\n },\n\n watch: {\n value(newValue) {\n this.attorneys = newValue;\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state, which\n * for this component is the array of PartyAttorney entities bound to our\n * v-model value prop.\n */\n reset(): void {\n this.attorneys = (this.value || []) as PartyAttorney[];\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the current list of attorneys for this Participant\n * to the server.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await courtAPI.post('participants/update-attorneys', {\n data: {\n dossierID: this.dossierID,\n caseID: this.caseID,\n partyID: this.partyID,\n attorneys: this.attorneys,\n },\n });\n\n // Apply the changed state to the appropriate Vuex store.\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/addDocketEntry', response);\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n PartyAttorneysForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditParticipantAttorneysDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditParticipantAttorneysDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditParticipantAttorneysDialog.vue?vue&type=template&id=5925b77b&\"\nimport script from \"./EditParticipantAttorneysDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditParticipantAttorneysDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.party.isOrganization)?_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"6\",\"sm\":\"4\",\"label\":_vm.$t('organization.orBusinessName'),\"value\":_vm.party.organizationName}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"sm\":\"4\",\"label\":_vm.$t('organization.businessLicenseNumber'),\"value\":_vm.party.businessLicenseNumber}})],1):_vm._e(),(_vm.party.isOrganization)?_c('v-divider'):_vm._e(),_c('v-row',[(_vm.party.isOrganization)?_c('v-col',{staticClass:\"text-h6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('organization.pointOfContact'))+\" \")]):_vm._e(),_c('LabeledData',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"label\":_vm.$t('person.name'),\"value\":_vm.party.name}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"label\":_vm.$t('person.surname'),\"value\":_vm.party.surname}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"label\":_vm.$t('person.fatherName'),\"value\":_vm.party.fatherName}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"label\":_vm.$t('person.grandfatherName'),\"value\":_vm.party.grandfatherName}}),(_vm.party.aliases.length)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"label\":_vm.$t('person.alias.plural'),\"value\":_vm.party.aliases}}):_vm._e()],1),_c('v-divider'),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('person.nationalID'),\"value\":_vm.party.nationalID}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"4\",\"label\":_vm.$t('person.phoneNumber'),\"value\":_vm.party.phoneNumber}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"4\",\"label\":_vm.$t('person.emailAddress'),\"value\":_vm.party.emailAddress}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('person.occupation'),\"value\":_vm.party.occupation}})],1),_c('v-divider'),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"4\",\"label\":_vm.$t('person.gender'),\"value\":_vm.nameForIDInCollection(_vm.party.genderID, _vm.genders)}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"4\",\"label\":_vm.$t('person.birthplace'),\"value\":_vm.fullGeographyName(_vm.party.birthplaceGeographyID)}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"4\",\"label\":_vm.$t('person.residence'),\"value\":_vm.fullGeographyName(_vm.party.residenceGeographyID)}}),(_vm.party.isKochi)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('person.isKochi'),\"value\":_vm.party.isKochi}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Party } from '@/vuex/court/party';\n\nexport default Vue.extend({\n props: {\n partyID: Number,\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('geography', ['fullGeographyName']),\n ...mapState('profile', ['genders']),\n ...mapState('court', ['partyTypes']),\n ...mapGetters('court', ['partyWithID']),\n ...mapState('language', ['locale']),\n party(): Party {\n return this.partyWithID(this.partyID);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PartyDetails.vue?vue&type=template&id=5dcc0e9a&\"\nimport script from \"./PartyDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./PartyDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VDivider,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((_vm.partyAttorneys),function(pa,index){return _c('v-col',{key:index,attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(pa.attorneyTypeID, _vm.attorneyTypes))+\" \")]),_c('div',{staticClass:\"text-body-1\"},[_vm._v(\" \"+_vm._s(_vm.attorneyName(pa.attorneyID))+\" \")]),(pa.attorney.licenseNumber)?_c('div',{staticClass:\"text-caption\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('attorney.licenseNumber')))]),_vm._v(\" \"+_vm._s(pa.attorney.licenseNumber)+\" \")]):_vm._e(),(pa.attorney.phoneNumber)?_c('div',{staticClass:\"text-caption\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('person.phoneNumber')))]),_vm._v(\" \"+_vm._s(pa.attorney.phoneNumber)+\" \")]):_vm._e(),(pa.attorney.emailAddress)?_c('div',{staticClass:\"text-caption\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('person.emailAddress')))]),_vm._v(\" \"+_vm._s(pa.attorney.emailAddress)+\" \")]):_vm._e()])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { PartyAttorney } from '@/vuex/court/participant';\n\nexport default Vue.extend({\n props: {\n value: Array,\n },\n computed: {\n ...mapState('court', ['attorneyTypes']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['attorneyWithID', 'attorneyName']),\n partyAttorneys(): any[] {\n const pas = (this.value || []) as PartyAttorney[];\n return pas.map((pa: PartyAttorney) => {\n return Object.assign({}, pa, {\n attorney: this.attorneyWithID(pa.attorneyID),\n });\n });\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantAttorneysTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantAttorneysTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ParticipantAttorneysTable.vue?vue&type=template&id=410b2aca&\"\nimport script from \"./ParticipantAttorneysTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./ParticipantAttorneysTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-data-table',{attrs:{\"dense\":\"\",\"headers\":_vm.headers,\"items\":_vm.charges,\"no-data-text\":_vm.$t('error.nodata'),\"disable-pagination\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',{class:{ deleted: item.deleted }},[_c('td',[_c('CrimeTitle',{attrs:{\"id\":item.crimeID}})],1),_c('td',[_c('AggravatorsMitigatorsDetail',{attrs:{\"charge\":item}})],1),_c('td',[_vm._v(_vm._s(item.participationType))]),_c('td',[_vm._v(_vm._s(item.completionStatus))]),_c('td',[_vm._v(_vm._s(item.severity))]),_c('td',[_vm._v(_vm._s(item.dispositionType))])])]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { Charge } from '@/vuex/court/charge';\nimport { NotGuiltyChargeDispositionTypeIDs } from '@/vuex/court/charge';\n\nimport AggravatorsMitigatorsDetail from '@/components/charges/AggravatorsMitigatorsDetail.vue';\nimport CrimeTitle from '@/components/crime/CrimeTitle.vue';\n\nexport default Vue.extend({\n props: {\n value: Array,\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['nameForIDInCollection']),\n\n /**\n * charges computes the array of Charge view objects including translated\n * values for all lookup table IDs.\n */\n charges(): Charge[] {\n const charges = (this.value || []) as Charge[];\n return charges.map((c: Charge) => {\n return Object.assign({}, c, {\n participationType: this.nameForIDInCollection(\n c.participationTypeID,\n 'crime/participationTypes',\n ),\n severity: this.nameForIDInCollection(\n c.crimeSeverityID,\n 'crime/severities',\n ),\n completionStatus: this.nameForIDInCollection(\n c.completionStatusID,\n 'crime/completionStatuses',\n ),\n dispositionType:\n c.dispositionTypeID === 0\n ? '' // No need to print 'Unknown' for unresolved charges\n : this.nameForIDInCollection(\n c.dispositionTypeID,\n 'court/chargeDispositionTypes',\n ),\n deleted: _.includes(\n NotGuiltyChargeDispositionTypeIDs,\n c.dispositionTypeID,\n ),\n });\n });\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a computed property so\n * that it will update with new translations when the locale changes.\n */\n headers(): any[] {\n return [\n { text: i18n.t('crime.title'), value: 'crimeID' },\n { value: 'aggravatorsAndMitigators' },\n {\n text: i18n.t('charge.participationType'),\n value: 'participationType',\n },\n {\n text: i18n.t('charge.completionStatus'),\n value: 'completionStatus',\n },\n {\n text: i18n.t('charge.severity'),\n value: 'severity',\n },\n {\n text: i18n.t('charge.disposition'),\n value: 'dispositionType',\n },\n ];\n },\n },\n components: {\n AggravatorsMitigatorsDetail,\n CrimeTitle,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChargesTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChargesTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChargesTable.vue?vue&type=template&id=fca04a7c&\"\nimport script from \"./ChargesTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChargesTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VDataTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.rows.length)?_c('div',[_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.$t('sentence.singular'))+\":\")]),_c('v-data-table',{attrs:{\"dense\":\"\",\"headers\":_vm.headers,\"items\":_vm.rows,\"disable-pagination\":\"\",\"disable-sort\":\"\",\"hide-default-footer\":\"\",\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',{class:{ selectable: item.isConsequential },on:{\"click\":function($event){item.isConsequential ? _vm.toggleRow(item) : undefined}}},[_c('td',{attrs:{\"colspan\":item.component ? 1 : 2}},[(!item.expanded)?_c('span',[_vm._v(_vm._s(item.label))]):_vm._e(),(item.expanded)?_c('div',{staticClass:\"my-2\"},[_c('div',{staticClass:\"font-weight-bold mb-2\"},[_vm._v(_vm._s(item.label))]),(item.expanded)?_c('ul',_vm._l((item.consequentialPunishments),function(cp,i){return _c('li',{key:i},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( cp.punishmentTypeID, 'crime/punishmentTypes' ))+\" \")])}),0):_vm._e()]):_vm._e()]),(item.component)?_c('td',[(item.component.amountInPuls != 0)?_c('div',[_c('AFNDisplay',{attrs:{\"value\":item.component.amountInPuls}})],1):_vm._e(),(item.component.durationInHours != 0)?_c('div',[_c('Duration',{attrs:{\"hours\":item.component.durationInHours}})],1):_vm._e(),(\n item.component.subjectPropertyIDs &&\n item.component.subjectPropertyIDs.length\n )?_c('div',[_vm._v(\" \"+_vm._s(_vm.subjectPropertyName(item.component.subjectPropertyIDs))+\" \")]):_vm._e(),(item.component.notes)?_c('div',{staticClass:\"mt-2\"},[_vm._v(\" \"+_vm._s(item.component.notes)+\" \")]):_vm._e()]):_vm._e(),(!_vm.hideFulfillment)?_c('td',{staticClass:\"text-center\"},[(item.icon)?_c('v-icon',{attrs:{\"color\":item.iconColor,\"x-small\":\"\"}},[_vm._v(\" \"+_vm._s(item.icon)+\" \")]):_vm._e()],1):_vm._e()])]}}],null,false,138993283)})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport { mapGetters, mapState } from 'vuex';\nimport { SentenceComponent } from '@/vuex/court/participant';\nimport { PunishmentType } from '@/vuex/crime/crime';\n\ninterface SentenceComponentRow {\n // Common Fields\n label: string;\n icon: string;\n iconColor: string;\n isConsequential: boolean;\n\n // Fields for standard Sentence Components\n punishmentType?: PunishmentType;\n component?: SentenceComponent | null;\n\n // Fields for the Consequential Punishments Row\n expanded?: boolean;\n consequentialPunishments?: SentenceComponent[] | null;\n}\n\nexport default Vue.extend({\n props: {\n /**\n * components is the array of SentenceComponents to summarize\n */\n components: Array as () => SentenceComponent[],\n\n /**\n * hideFulfillment removes the final column when set to true. This is\n * needed when a sentence summary is displayed directly on a Court case,\n * where fulfillment tracking is not relevant.\n */\n hideFulfillment: Boolean,\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['nameForIDInCollection', 'valueForLocale']),\n ...mapGetters('crime', ['punishmentTypeWithID']),\n ...mapGetters('court', ['subjectPropertyName']),\n\n /**\n * rows computes the rows which are displayed in the sentence components\n * data table. This function collapses all Consequential Punishments into\n * a single, expandable row.\n */\n rows(): SentenceComponentRow[] {\n if (!this.components) {\n return [];\n }\n\n // Convert each SentenceComponent to a \"row\", which has some UI-friendly\n // proeprties to help build an expander interface.\n const allRows: SentenceComponentRow[] = _.map(\n (this.components || []) as SentenceComponent[],\n (sc) => {\n const punishmentType: PunishmentType = this.punishmentTypeWithID(\n sc.punishmentTypeID,\n );\n const label = this.valueForLocale(punishmentType.name);\n const icon = sc.isFulfilled ? 'fa-square-check' : 'fa-minus-square';\n const iconColor = !punishmentType.trackFulfillment\n ? 'grey'\n : sc.isFulfilled\n ? 'success'\n : 'error';\n return {\n label,\n isConsequential: punishmentType.isConsequential,\n icon,\n iconColor,\n\n punishmentType,\n expanded: false,\n component: sc,\n };\n },\n );\n\n // Remove all the Consequential Punishments. This will be our primary\n // array of table rows\n const rows = _.reject(allRows, { isConsequential: true });\n\n // Get the Consequential Punishments as a separate list of just the\n // SentenceComponent objects. We'll use this to build a single, one-off\n // row at the bottom of the table.\n const consequentialPunishments = _.chain(allRows)\n .filter({ isConsequential: true })\n .map('component')\n .compact()\n .value();\n\n // Add the Consequential Punishments row\n if (consequentialPunishments.length > 0) {\n rows.push({\n label: i18n.t('consequentialPunishment.plural').toString(),\n icon: 'fa-chevron-down',\n iconColor: 'grey',\n isConsequential: true,\n expanded: false,\n consequentialPunishments,\n });\n }\n\n return rows;\n },\n\n /**\n * headers computes the array of VDataTable headers for the sentence\n * components table. The final column (showing fulfillment status) is\n * dynamic. It's omitted when the hideFulfillment prop is set to true.\n */\n headers(): any[] {\n const headers: any[] = [\n {\n text: i18n.t('court.ruling.type'),\n value: 'label',\n },\n {\n text: i18n.t('notes'),\n value: null,\n },\n ];\n if (!this.hideFulfillment) {\n headers.push({\n text: i18n.t('sentence.fulfilled'),\n value: 'isFulfilled',\n align: 'center',\n });\n }\n return headers;\n },\n },\n\n methods: {\n /**\n * toggleRow is only used on the Consequential Punishments row of the table\n * it toggles the row's expanded property on an off\n */\n toggleRow(row: SentenceComponentRow): void {\n row.expanded = !row.expanded;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SentenceSummary.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SentenceSummary.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SentenceSummary.vue?vue&type=template&id=9249cc7c&\"\nimport script from \"./SentenceSummary.vue?vue&type=script&lang=ts&\"\nexport * from \"./SentenceSummary.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VDataTable,VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Case } from '@/vuex/court/case';\nimport { Party, PartyTypeID } from '@/vuex/court/party';\nimport { Participant } from '@/vuex/court/participant';\n\nimport EditPartyDialog from '@/components/court/party/EditPartyDialog.vue';\nimport EditParticipantAttorneysDialog from '@/components/court/attorney/EditParticipantAttorneysDialog.vue';\nimport PartyDetails from '@/components/court/party/PartyDetails.vue';\nimport ParticipantAttorneysTable from '@/components/court/attorney/ParticipantAttorneysTable.vue';\nimport ChargesTable from '@/components/charges/ChargesTable.vue';\nimport SentenceSummary from '@/components/court/SentenceSummary.vue';\n\nexport default Vue.extend({\n data(): any {\n return {\n isOpen: false,\n participantID: 0,\n };\n },\n computed: {\n ...mapState('court', ['partyTypes']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['caseWithID', 'partyName', 'participantWithID']),\n ...mapGetters('auth', ['hasPermission']),\n\n kase(): Case | null {\n return this.caseWithID(this.participant.caseID);\n },\n\n participant(): Participant | null {\n return this.participantWithID(this.participantID) || null;\n },\n\n party(): Party | null {\n if (!this.participant) {\n return null;\n }\n return this.partyWithID(this.participant.partyID);\n },\n\n canHaveCharges(): boolean {\n if (!this.participant) {\n return false;\n }\n return this.participant.originalPartyTypeID === PartyTypeID.Defendant;\n },\n\n canHaveAttorneys(): boolean {\n if (!this.participant) {\n return false;\n }\n return this.participant.originalPartyTypeID !== PartyTypeID.Prosecutor;\n },\n },\n\n methods: {\n /**\n * open is called via external refs to this component. It is passed the\n * participantID which should be loaded.\n */\n open(participantID: number): void {\n this.participantID = participantID;\n this.isOpen = true;\n },\n\n /**\n * close dismisses the dialog.\n */\n close(): void {\n this.isOpen = false;\n },\n },\n components: {\n ChargesTable,\n EditPartyDialog,\n EditParticipantAttorneysDialog,\n ParticipantAttorneysTable,\n PartyDetails,\n SentenceSummary,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ParticipantDialog.vue?vue&type=template&id=0ad5fe44&\"\nimport script from \"./ParticipantDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ParticipantDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VDialog,VIcon,VRow,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-caption\"},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.participant.partyTypeID, _vm.partyTypes))+\" \"),(\n _vm.participant.originalPartyTypeID &&\n _vm.participant.originalPartyTypeID != _vm.participant.partyTypeID\n )?_c('span',[_vm._v(\" ( \"+_vm._s(_vm.nameForIDInCollection(_vm.participant.originalPartyTypeID, _vm.partyTypes))+\" ) \")]):_vm._e(),_c('div',{staticClass:\"text-body-1\"},[_vm._v(\" \"+_vm._s(_vm.partyName(_vm.participant.partyID))+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport { Participant } from '@/vuex/court/participant';\nimport { mapState, mapGetters } from 'vuex';\n\nexport default Vue.extend({\n props: {\n participant: {\n type: Object as () => Participant,\n },\n },\n computed: {\n ...mapState('court', ['partyTypes']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['partyName']),\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantName.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantName.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ParticipantName.vue?vue&type=template&id=94f7362c&\"\nimport script from \"./ParticipantName.vue?vue&type=script&lang=ts&\"\nexport * from \"./ParticipantName.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport ChargesSummary from '@/components/charges/ChargesSummary.vue';\nimport ParticipantDialog from '@/components/court/participant/ParticipantDialog.vue';\nimport ParticipantName from '@/components/court/participant/ParticipantName.vue';\nimport PartyAttorneyDisplay from '@/components/court/attorney/PartyAttorneyDisplay.vue';\nimport SentenceSummary from '@/components/court/SentenceSummary.vue';\n\nexport default Vue.extend({\n props: {\n participant: Object,\n dense: Boolean,\n },\n\n data() {\n return {\n editing: false,\n };\n },\n\n computed: {\n ...mapState('court', ['attorneyTypes', 'partyTypes']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['attorneyName', 'partyName']),\n\n partyID(): number {\n return this.participant.partyID;\n },\n\n dossierID(): number {\n return this.participant.dossierID;\n },\n\n caseID(): number {\n return this.participant.caseID;\n },\n },\n\n methods: {\n expand(): void {\n if (this.participant && this.participant.id) {\n (this.$refs.participantDialog as any).open(this.participant.id);\n }\n },\n },\n\n components: {\n ChargesSummary,\n ParticipantDialog,\n ParticipantName,\n PartyAttorneyDisplay,\n SentenceSummary,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantSummary.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantSummary.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ParticipantSummary.vue?vue&type=template&id=68deadfb&\"\nimport script from \"./ParticipantSummary.vue?vue&type=script&lang=ts&\"\nexport * from \"./ParticipantSummary.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard,VCardText,VCardTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Participant } from '@/vuex/court/participant';\nimport { LeftPartyTypeIDs, RightPartyTypeIDs } from '@/vuex/court/party';\n\nimport ParticipantSummary from './ParticipantSummary.vue';\n\nexport default Vue.extend({\n props: {\n dossierID: Number,\n caseID: Number,\n dense: Boolean,\n },\n\n computed: {\n ...mapGetters('court', [\n 'primaryParticipantsForCase',\n 'primaryParticipantsForDossier',\n ]),\n\n /**\n * primaryParticipants returns either the Dossier or Case Participants\n * which are marked as \"primary\".\n */\n primaryParticipants(): Participant[] {\n if (this.caseID) {\n return this.primaryParticipantsForCase(this.caseID);\n } else {\n return this.primaryParticipantsForDossier(this.dossierID, this.caseID);\n }\n },\n\n leftParticipants(): Participant[] {\n return _.filter(this.primaryParticipants, (p) => {\n return _.includes(LeftPartyTypeIDs, p.partyTypeID);\n });\n },\n\n rightParticipants(): Participant[] {\n return _.filter(this.primaryParticipants, (p) => {\n return _.includes(RightPartyTypeIDs, p.partyTypeID);\n });\n },\n },\n components: {\n ParticipantSummary,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryParticipants.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryParticipants.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PrimaryParticipants.vue?vue&type=template&id=646c14a6&\"\nimport script from \"./PrimaryParticipants.vue?vue&type=script&lang=ts&\"\nexport * from \"./PrimaryParticipants.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { AllCourtStageIDs } from '@/vuex/court/court';\nimport { Case } from '@/vuex/court/case';\nimport { Dossier } from '@/vuex/court/dossier';\n\nimport CaseHeaderNav from '@/components/court/case/CaseHeaderNav.vue';\nimport CaseSummaryCard from '@/components/court/case/CaseSummaryCard.vue';\nimport DossierCourts from '@/views/dossier/DossierCourts.vue';\nimport PrimaryParticipants from '@/components/court/participant/PrimaryParticipants.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['caseWithID', 'casesForDossier', 'dossierWithID']),\n loading(): boolean {\n // The page is considered loading until both the Case and Dossier are\n // fetched\n return !this.kase || !this.dossier;\n },\n kase(): Case {\n return this.caseWithID(this.id);\n },\n dossier(): Dossier | null {\n if (!this.kase) {\n return null;\n }\n return this.dossierWithID(this.kase.dossierID);\n },\n cases(): Case[] {\n if (!this.dossier) {\n return [];\n }\n return this.casesForDossier(this.dossier.id) || ([] as Case[]);\n },\n stageCases(): any {\n return AllCourtStageIDs.map((stageID) => ({\n stageID,\n cases: this.cases.filter((c) => c.stageID === stageID) || [],\n }));\n },\n },\n components: {\n CaseHeaderNav,\n CaseSummaryCard,\n DossierCourts,\n PrimaryParticipants,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseDossierDetail.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseDossierDetail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CaseDossierDetail.vue?vue&type=template&id=220f22a6&\"\nimport script from \"./CaseDossierDetail.vue?vue&type=script&lang=ts&\"\nexport * from \"./CaseDossierDetail.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCol,VContainer,VProgressLinear,VRow,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pb-10\"},[_c('CaseSearcher',{attrs:{\"route\":_vm.$route},on:{\"queryChanged\":_vm.queryChanged}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.fetchData.apply(null, arguments)}}},[_c('v-card',{attrs:{\"loading\":_vm.loading}},[_c('v-toolbar',{staticClass:\"mb-5\",attrs:{\"flat\":\"\",\"extension-height\":_vm.dense ? '20px' : '40px'},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('v-spacer'),_c('v-checkbox',{attrs:{\"label\":_vm.$t('advancedSearch')},model:{value:(_vm.advancedSearch),callback:function ($$v) {_vm.advancedSearch=$$v},expression:\"advancedSearch\"}})]},proxy:true}])},[_c('v-toolbar-title',{staticClass:\"text-h4\"},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"fa-search\")]),_vm._v(\" \"+_vm._s(_vm.$t('case.plural'))+\" \")],1),_c('v-spacer'),(!_vm.advancedSearch)?_c('v-text-field',{ref:\"query\",attrs:{\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\",\"append-icon\":\"search\",\"clearable\":\"\"},model:{value:(_vm.criteria.q),callback:function ($$v) {_vm.$set(_vm.criteria, \"q\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"criteria.q\"}}):_vm._e(),_vm._t(\"header\")],2),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),(_vm.advancedSearch)?_c('div',[_c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"space-between\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('v-switch',{attrs:{\"label\":_vm.$t('crimeReport.activeOnly')},model:{value:(_vm.criteria.activeOnly),callback:function ($$v) {_vm.$set(_vm.criteria, \"activeOnly\", $$v)},expression:\"criteria.activeOnly\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('dossier.caseStatus'),\"items\":\"court/caseStatuses\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.statusID),callback:function ($$v) {_vm.$set(_vm.criteria, \"statusID\", $$v)},expression:\"criteria.statusID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"2\"}},[_c('CourtStageSelector',{attrs:{\"label\":_vm.$t('court.stage.singular'),\"include-unknown\":\"\",\"unknown-label\":\"all\"},model:{value:(_vm.criteria.stageID),callback:function ($$v) {_vm.$set(_vm.criteria, \"stageID\", $$v)},expression:\"criteria.stageID\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\",\"md\":\"2\"}},[_c('v-switch',{attrs:{\"label\":_vm.$t('case.pastDeadline')},model:{value:(_vm.criteria.pastDeadlineOnly),callback:function ($$v) {_vm.$set(_vm.criteria, \"pastDeadlineOnly\", $$v)},expression:\"criteria.pastDeadlineOnly\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\",\"md\":\"2\"}},[_c('v-switch',{attrs:{\"label\":_vm.$t('case.nearingDeadline')},model:{value:(_vm.criteria.nearingDeadlineOnly),callback:function ($$v) {_vm.$set(_vm.criteria, \"nearingDeadlineOnly\", $$v)},expression:\"criteria.nearingDeadlineOnly\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\",\"md\":\"2\"}},[_c('v-switch',{attrs:{\"label\":_vm.$t('case.criteria.finalOnly')},model:{value:(_vm.criteria.finalOnly),callback:function ($$v) {_vm.$set(_vm.criteria, \"finalOnly\", $$v)},expression:\"criteria.finalOnly\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('CaseTypeSelector',{attrs:{\"label\":_vm.$t('court.caseType.singular'),\"clearable\":\"\"},model:{value:(_vm.criteria.caseType),callback:function ($$v) {_vm.$set(_vm.criteria, \"caseType\", $$v)},expression:\"criteria.caseType\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('court.case.number'),\"clearable\":\"\",\"persistent-hint\":\"\",\"hint\":_vm.$t('case.caseNumber.format')},model:{value:(_vm.criteria.number),callback:function ($$v) {_vm.$set(_vm.criteria, \"number\", $$v)},expression:\"criteria.number\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('DossierNumberField',{attrs:{\"clearable\":\"\",\"disable-padding\":\"\"},model:{value:(_vm.criteria.dossierNumber),callback:function ($$v) {_vm.$set(_vm.criteria, \"dossierNumber\", $$v)},expression:\"criteria.dossierNumber\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('court.locationGeographyID'),\"clearable\":\"\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.locationID),callback:function ($$v) {_vm.$set(_vm.criteria, \"locationID\", $$v)},expression:\"criteria.locationID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('CourtSelector',{attrs:{\"label\":_vm.$t('court.singular'),\"clearable\":\"\",\"zero-label\":\"all\",\"must-have-permission\":\"case.view\"},model:{value:(_vm.criteria.courtID),callback:function ($$v) {_vm.$set(_vm.criteria, \"courtID\", $$v)},expression:\"criteria.courtID\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"start\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":_vm.criteria.partyIDs.length ? 4 : 6}},[_c('PartySearchSelector',{attrs:{\"label\":_vm.$t('party.singular'),\"multiple\":\"\",\"clearable\":\"\"},model:{value:(_vm.criteria.partyIDs),callback:function ($$v) {_vm.$set(_vm.criteria, \"partyIDs\", $$v)},expression:\"criteria.partyIDs\"}}),(_vm.criteria.partyIDs.length > 1)?_c('div',[_c('v-radio-group',{staticClass:\"pt-0 mt-0\",attrs:{\"row\":\"\"},model:{value:(_vm.criteria.partyMatchAll),callback:function ($$v) {_vm.$set(_vm.criteria, \"partyMatchAll\", $$v)},expression:\"criteria.partyMatchAll\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('matchmode.any'),\"value\":false}}),_c('v-radio',{attrs:{\"label\":_vm.$t('matchmode.all'),\"value\":true}})],1)],1):_vm._e()],1),(_vm.criteria.partyIDs.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('partyType.singular'),\"items\":\"court/partyTypes\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.partyTypeID),callback:function ($$v) {_vm.$set(_vm.criteria, \"partyTypeID\", $$v)},expression:\"criteria.partyTypeID\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":_vm.criteria.partyIDs.length ? 4 : 6}},[_c('JudgeSelector',{attrs:{\"label\":_vm.$t('judge.singular'),\"clearable\":\"\"},model:{value:(_vm.criteria.judgeID),callback:function ($$v) {_vm.$set(_vm.criteria, \"judgeID\", $$v)},expression:\"criteria.judgeID\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-h6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('case.filedAt'))+\" \")]),_c('v-col',{staticClass:\"pe-2\",attrs:{\"cols\":\"8\",\"md\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('startDate'),\"clearable\":\"\",\"past-dates-only\":\"\"},model:{value:(_vm.criteria.filedAtOrAfter),callback:function ($$v) {_vm.$set(_vm.criteria, \"filedAtOrAfter\", $$v)},expression:\"criteria.filedAtOrAfter\"}})],1),_c('v-col',{attrs:{\"cols\":\"8\",\"md\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('endDate'),\"clearable\":\"\",\"past-dates-only\":\"\"},model:{value:(_vm.criteria.filedAtOrBefore),callback:function ($$v) {_vm.$set(_vm.criteria, \"filedAtOrBefore\", $$v)},expression:\"criteria.filedAtOrBefore\"}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-h6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('case.disposedAt'))+\" \")]),_c('v-col',{staticClass:\"pe-2\",attrs:{\"cols\":\"12\"}},[_c('LocaleDateRange',{attrs:{\"label\":_vm.$t('case.disposedAt'),\"two-fields\":\"when-blank\",\"persistent-hint\":\"\"},model:{value:(_vm.criteria.disposedBetween),callback:function ($$v) {_vm.$set(_vm.criteria, \"disposedBetween\", $$v)},expression:\"criteria.disposedBetween\"}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('dispositionReason.singular'),\"items\":\"court/dispositionReasons\",\"exclude-unknown\":\"\",\"clearable\":\"\"},model:{value:(_vm.criteria.dispositionReasonID),callback:function ($$v) {_vm.$set(_vm.criteria, \"dispositionReasonID\", $$v)},expression:\"criteria.dispositionReasonID\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"start\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('CrimeSelector',{attrs:{\"label\":_vm.$t('crime.plural'),\"clearable\":\"\",\"multiple\":\"\"},model:{value:(_vm.criteria.crimeIDs),callback:function ($$v) {_vm.$set(_vm.criteria, \"crimeIDs\", $$v)},expression:\"criteria.crimeIDs\"}}),(_vm.criteria.crimeIDs.length > 1)?_c('div',[_c('v-radio-group',{staticClass:\"pt-0 mt-0\",attrs:{\"row\":\"\"},model:{value:(_vm.criteria.crimeMatchAll),callback:function ($$v) {_vm.$set(_vm.criteria, \"crimeMatchAll\", $$v)},expression:\"criteria.crimeMatchAll\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('matchmode.any'),\"value\":false}}),_c('v-radio',{attrs:{\"label\":_vm.$t('matchmode.all'),\"value\":true}})],1)],1):_vm._e()],1),(_vm.criteria.crimeIDs.length)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('case.criteria.chargeDisposition'),\"items\":\"court/chargeDispositionTypes\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.chargeDispositionID),callback:function ($$v) {_vm.$set(_vm.criteria, \"chargeDispositionID\", $$v)},expression:\"criteria.chargeDispositionID\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('charge.severity'),\"items\":\"crime/severities\",\"zero-label\":\"all\",\"disable-sorting\":\"\"},model:{value:(_vm.criteria.severityID),callback:function ($$v) {_vm.$set(_vm.criteria, \"severityID\", $$v)},expression:\"criteria.severityID\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('DocketEventTypeSelector',{attrs:{\"label\":_vm.$t('case.criteria.withDocketEvent'),\"module\":\"court\",\"clearable\":\"\"},model:{value:(_vm.criteria.withDocketEventTypeID),callback:function ($$v) {_vm.$set(_vm.criteria, \"withDocketEventTypeID\", $$v)},expression:\"criteria.withDocketEventTypeID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('DocketEventTypeSelector',{attrs:{\"label\":_vm.$t('case.criteria.withoutDocketEvent'),\"module\":\"court\",\"clearable\":\"\"},model:{value:(_vm.criteria.withoutDocketEventTypeID),callback:function ($$v) {_vm.$set(_vm.criteria, \"withoutDocketEventTypeID\", $$v)},expression:\"criteria.withoutDocketEventTypeID\"}})],1)],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{staticClass:\"selectable\",attrs:{\"items\":_vm.results,\"headers\":_vm.headers,\"loading\":_vm.loading,\"disable-sort\":\"\",\"page\":_vm.page.number,\"items-per-page\":_vm.page.size,\"server-items-length\":_vm.page.serverCount,\"footer-props\":{\n 'items-per-page-options': [10, 20, 40, 50, 100],\n },\"no-data-text\":_vm.$t('error.nodata'),\"dense\":\"\"},on:{\"update:page\":function($event){return _vm.$set(_vm.page, \"number\", $event)},\"update:itemsPerPage\":function($event){return _vm.$set(_vm.page, \"size\", $event)},\"update:items-per-page\":function($event){return _vm.$set(_vm.page, \"size\", $event)},\"click:row\":_vm.goToCase},scopedSlots:_vm._u([{key:\"item.filedAt\",fn:function(ref){\n var value = ref.value;\nreturn [_c('Date',{attrs:{\"value\":value}})]}},{key:\"item.statusID\",fn:function(ref){\n var value = ref.value;\nreturn [_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(value, 'court/caseStatuses'))+\" \")]}},{key:\"item.partyNames\",fn:function(ref){\n var value = ref.value;\nreturn [_vm._v(\" \"+_vm._s(value.join(', '))+\" \")]}},{key:\"item.judgeNames\",fn:function(ref){\n var value = ref.value;\nreturn [_vm._v(\" \"+_vm._s(value.join(', '))+\" \")]}}],null,true)})],1),(_vm.canExport)?_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"accent\",\"href\":'/api/v1/courtservice/cases/search/excel?' + _vm.queryString}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-file-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.export'))+\" \")],1)],1):_vm._e()],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport router from '@/router';\nimport {\n changedCriteria,\n criteriaToQueryString,\n routeToCriteria,\n} from '@/lib/criteria';\n\nimport CaseTypeSelector from '@/components/court/CaseTypeSelector.vue';\nimport CourtSelector from '@/components/court/court/CourtSelector.vue';\nimport CourtStageSelector from '@/components/court/CourtStageSelector.vue';\nimport CrimeSelector from '@/components/crime/CrimeSelector.vue';\nimport JudgeSelector from '@/components/court/judge/JudgeSelector.vue';\nimport PartySearchSelector from '@/components/court/party/PartySearchSelector.vue';\n\nimport { Case } from '@/vuex/court/case';\n\nexport default Vue.extend({\n props: {\n /**\n * route expects the $route object from the parent component. It is optional\n * and should only be supplied by OffenderList, where we *want* a tight\n * connection between the page URL and the OffenderSearcher criteria object.\n */\n route: Object,\n\n /**\n * dense triggers a more condensed design for the component, which is useful\n * when it appears in a popup or other compressed space.\n */\n dense: Boolean,\n },\n\n created() {\n if (this.route) {\n this.routeChanged();\n }\n\n // Load the initial data...\n this.fetchData();\n\n // ...then make every future calls to this.fetchData or this.routeChanged\n // be debounced so that they can never be called faster than once\n // every N milliseconds.\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.fetchData = _.debounce(this.fetchData, 400);\n\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.routeChanged = _.debounce(this.routeChanged, 400);\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n advancedSearch: false,\n\n initialCriteria: {},\n criteria: {\n q: '',\n\n activeOnly: false,\n finalOnly: false,\n disposedOnly: false, // No UI yet. Exists on backend for some widgets\n pastDeadlineOnly: false,\n nearingDeadlineOnly: false,\n\n statusID: 0,\n stageID: 0,\n caseType: '',\n\n number: '',\n dossierNumber: '',\n\n courtID: 0,\n locationID: 0,\n\n judgeID: 0,\n partyIDs: [],\n partyMatchAll: false,\n partyTypeID: 0,\n\n crimeIDs: [],\n crimeMatchAll: false,\n chargeDispositionID: 0,\n severityID: 0,\n\n filedAtOrAfter: '',\n filedAtOrBefore: '',\n\n disposedBetween: '',\n\n withDocketEventTypeID: 0,\n withoutDocketEventTypeID: 0,\n },\n\n results: [] as Case[],\n\n page: {\n number: 1,\n size: 10,\n serverCount: 0,\n },\n };\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('language', ['nameForIDInCollection']),\n\n /**\n * criteriaUnchanged returns true when the currently-active criteria\n * is unchanged from its original, default state on the form.\n */\n criteriaUnchanged(): boolean {\n return _.isEqual(this.criteria, this.initialCriteria);\n },\n\n /**\n * queryString computes the URL querystring parameters which will be\n * submitted to the server to perform the search. NOTE that this\n * value is combined with pagination criteria inside fetchData, so this\n * value doesn't exactly match the API request.\n */\n queryString(): string {\n if (_.isEmpty(this.initialCriteria)) {\n this.initialCriteria = _.cloneDeep(this.criteria);\n }\n const cc = changedCriteria(this.criteria, this.initialCriteria);\n return criteriaToQueryString(cc, this.page);\n },\n\n /**\n * canExport computes whether the current user is allowed to download\n * an Excel export of the data on the screen.\n */\n canExport(): boolean {\n return this.hasPermission('case.excelExport');\n },\n\n /**\n * headers dynamically builds the headers array so that translations for\n * the column titles can update live, and so that the edit link column is\n * removed *automatically when the selectable prop is set\n */\n headers(): any[] {\n return [\n {\n text: i18n.t('dossier.dossierNumber'),\n value: 'dossierNumber',\n width: '203px',\n },\n { text: i18n.t('case.caseNumber.singular'), value: 'number' },\n { text: i18n.t('case.filedAt'), value: 'filedAt' },\n { text: i18n.t('court.status'), value: 'statusID' },\n { text: i18n.t('party.plural'), value: 'partyNames' },\n { text: i18n.t('judge.plural'), value: 'judgeNames' },\n ];\n },\n },\n\n watch: {\n /**\n * route is watched so that when the $route of the topmost component\n * changes, we can update the query string. Note that we don't watch\n * $route directly from this component (note the lack of a dollar sign here),\n * because that would potentially trigger at undesirable times.\n *\n * Since we can search for Cases from other places than the full\n * CaseList page, we don't always want the route to be tied to this\n * component's behavior.\n */\n route(route: any) {\n this.routeChanged();\n },\n\n /**\n * queryString is watched so that a new search can be triggered.\n */\n queryString(newVal: string) {\n this.fetchData();\n },\n\n /**\n * criteria is watched so that when the search criteria is changed after\n * results have already been returned, we can reset the page number.\n */\n criteria: {\n deep: true,\n immediate: false,\n handler(newVal, oldVal) {\n if (this.page.serverCount > 0 && this.page.number > 1) {\n this.page.number = 1;\n }\n },\n },\n\n /**\n * advancedSearch changes the UI, so we need to make sure to reset\n * the no longer visible fields\n */\n advancedSearch(isAdvanced: boolean) {\n if (isAdvanced) {\n this.resetSimpleCriteria();\n } else {\n this.resetAdvancedCriteria();\n }\n },\n },\n\n methods: {\n /**\n * routeChanged is triggered when the page URL changes.\n */\n routeChanged(): void {\n routeToCriteria(this.route, this.criteria, this.page);\n if (!this.criteriaUnchanged && this.criteria.q === '') {\n this.advancedSearch = true;\n }\n },\n\n /**\n * fetchData triggers the the API endpoint and updates the table with the\n * results for the currently-selected page. This function is triggered\n * both when the criteria changes and when the page changes.\n */\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n\n try {\n const url = `/cases/search?${this.queryString}`;\n const resp = await courtAPI.get(url);\n this.page.serverCount = _.get(resp, 'data.meta.totalResults', 0);\n this.results = _.get(resp, 'data.data', []);\n this.$emit('queryChanged', this.queryString);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n\n /**\n * reset clears the search and resets search results. Primarily designed\n * to be called externally via a $ref to this component so that the searcher\n * can be reset when a dialog is opened.\n */\n reset(): void {\n this.resetSimpleCriteria();\n this.resetAdvancedCriteria();\n },\n\n resetSimpleCriteria(): void {\n this.criteria.q = '';\n },\n\n resetAdvancedCriteria(): void {\n this.criteria = Object.assign(this.criteria, this.initialCriteria);\n },\n\n /**\n * goToCase is the row click handler for case search results. It triggers\n * navigation to the case detail page for the case in that row.\n */\n goToCase(kase: Case): void {\n router.push({\n name: 'caseShow',\n params: { id: String(kase.id) },\n });\n },\n },\n\n components: {\n CaseTypeSelector,\n CourtSelector,\n CourtStageSelector,\n CrimeSelector,\n JudgeSelector,\n PartySearchSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseSearcher.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseSearcher.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CaseSearcher.vue?vue&type=template&id=46adc7ed&\"\nimport script from \"./CaseSearcher.vue?vue&type=script&lang=ts&\"\nexport * from \"./CaseSearcher.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCheckbox,VCol,VDataTable,VForm,VIcon,VRadio,VRadioGroup,VRow,VSpacer,VSwitch,VTextField,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport CaseSearcher from '@/components/court/case/CaseSearcher.vue';\n\nexport default Vue.extend({\n methods: {\n /**\n * queryChanged listens for the same-named event to be emitted from\n * the searcher and updates the pushState/URL to reflect the new\n * page. This is critical to preserve the behavior of the back button\n * when links in the search results are clicked. Beacuse the $route is not\n * constantly parsed, this does not trigger a loop back into re-setting the\n * query criteria inside searcher.\n */\n queryChanged(query: string): void {\n if (query !== '') {\n query = `?${encodeURI(query)}`;\n }\n const newPath = `${this.$route.path}${query}`;\n if (this.$route.fullPath !== newPath) {\n this.$router.replace(newPath);\n }\n },\n },\n\n components: {\n CaseSearcher,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CaseList.vue?vue&type=template&id=e6ad6d12&\"\nimport script from \"./CaseList.vue?vue&type=script&lang=ts&\"\nexport * from \"./CaseList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.kase)?_c('div',[_c('CaseHeaderNav',{attrs:{\"id\":_vm.id}}),_c('v-container',[(_vm.kase)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-row',{staticClass:\"text-body-2\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"3\"}},[_vm._v(\" \"+_vm._s(_vm.$t('court.dossier'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('router-link',{attrs:{\"to\":{ name: 'caseDossierDetail', params: { id: _vm.id } }}},[_vm._v(\" \"+_vm._s(_vm.dossier.number)+\" \")])],1),_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"3\"}},[_vm._v(\" \"+_vm._s(_vm.$t('court.status'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('CaseStatusLabel',{attrs:{\"statusID\":_vm.kase.statusID,\"dispositionReasonID\":_vm.kase.dispositionReasonID}})],1),_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"3\"}},[_vm._v(\" \"+_vm._s(_vm.$t('case.isFinal'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"9\"}},[(_vm.kase.isFinal)?_c('div',[_vm._v(_vm._s(_vm.$t('command.yes')))]):_vm._e(),(!_vm.kase.isFinal)?_c('div',[_vm._v(_vm._s(_vm.$t('command.no')))]):_vm._e()]),_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"3\"}},[_vm._v(\" \"+_vm._s(_vm.$t('case.filedAt'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('Date',{attrs:{\"value\":_vm.kase.filedAt}}),_vm._v(\" (\"),_c('strong',[_vm._v(_vm._s(_vm.$t('person.age'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.age)+\" \"+_vm._s(_vm.$t('time.days'))+\") \")],1)],1),_c('v-row',{staticClass:\"text-body-2\",attrs:{\"no-gutters\":\"\"}},[(_vm.kase.disposedAt)?_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"3\"}},[_vm._v(\" \"+_vm._s(_vm.$t('case.disposedAt'))+\" \")]):_vm._e(),(_vm.kase.disposedAt)?_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('Date',{attrs:{\"value\":_vm.kase.disposedAt}})],1):_vm._e(),(_vm.kase.dispositionReasonID)?_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"3\"}},[_vm._v(\" \"+_vm._s(_vm.$t('court.dispositionReason'))+\" \")]):_vm._e(),(_vm.kase.dispositionReasonID)?_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( _vm.kase.dispositionReasonID, 'court/dispositionReasons' ))+\" \")]):_vm._e(),(_vm.kase.finalizedAt)?_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"3\"}},[_vm._v(\" \"+_vm._s(_vm.$t('case.finalizedAt'))+\" \")]):_vm._e(),(_vm.kase.finalizedAt)?_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('Date',{attrs:{\"value\":_vm.kase.finalizedAt}})],1):_vm._e()],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('CaseJudgesCard',{attrs:{\"caseID\":_vm.id,\"courtID\":_vm.kase.courtID}})],1)],1):_vm._e(),_c('v-divider'),_c('PrimaryParticipants',{attrs:{\"dossierID\":_vm.kase.dossierID,\"caseID\":_vm.kase.id}}),_c('v-row',[(_vm.subjectProperties.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(\" \"+_vm._s(_vm.$t('subjectProperties.singular'))+\" \")]),_c('SubjectPropertiesSummary',{attrs:{\"dossierID\":_vm.kase.dossierID}})],1):_vm._e(),_c('CourtRevenueSummary',{attrs:{\"dossierID\":_vm.kase.dossierID,\"caseID\":_vm.id,\"cols\":12,\"sm\":6}}),(_vm.kase.type === 'civil')?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CivilDecisionSummary',{attrs:{\"caseID\":_vm.kase.id}})],1):_vm._e()],1),_c('v-divider'),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CaseHearingCalendar',{attrs:{\"caseID\":_vm.id}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CaseDocket',{attrs:{\"caseID\":_vm.id,\"dossierID\":_vm.kase.dossierID}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('SubjectPropertyTable',{attrs:{\"dossierID\":_vm.kase.dossierID}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ParticipantsTable',{attrs:{\"dossierID\":_vm.kase.dossierID,\"caseID\":_vm.id}})],1)],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('NewDocketEntryMenu',{attrs:{\"dossierID\":_vm.dossierID,\"caseID\":_vm.caseID,\"module\":\"court\"}})]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('docketEntry.plural')))])],1),_c('v-card-text',[_c('DocketEventTable',{attrs:{\"events\":_vm.events}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-menu',{attrs:{\"absolute\":\"\",\"close-on-content-click\":false,\"left\":_vm.$vuetify.rtl},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('ConfirmationButton',_vm._b({attrs:{\"fab\":\"\",\"absolute\":\"\",\"bottom\":\"\",\"color\":\"accent\",\"confirm-if\":_vm.isDisposed,\"toolbarColor\":\"error\",\"title\":_vm.$t('docketEntry.warning.caseDisposed.title')},on:{\"confirm\":on.click},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('docketEntry.warning.caseDisposed.body'))+\" \")]},proxy:true}],null,true)},'ConfirmationButton',attrs,false),[_c('v-icon',[_vm._v(\"fa-plus\")])],1)]}}]),model:{value:(_vm.menuOpen),callback:function ($$v) {_vm.menuOpen=$$v},expression:\"menuOpen\"}},[_c('v-list',_vm._l((_vm.categories),function(category){return _c('v-menu',{key:category.id,attrs:{\"offset-x\":\"\",\"left\":_vm.$vuetify.rtl},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-list-item',_vm._g({},on),[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(category.name[_vm.locale])+\" \")])],1),_c('v-list-item-action',[(!_vm.languageIsRTL)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-chevron-right\")]):_vm._e(),(_vm.languageIsRTL)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-chevron-left\")]):_vm._e()],1)],1)]}}],null,true)},[_c('v-list',_vm._l((category.menuItems),function(mi,i){return _c('v-list-item',{key:i,on:{\"click\":function($event){return _vm.menuItemClicked(mi.method, mi.payload)}}},[_c('v-list-item-title',[(mi.icon)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(_vm._s(mi.icon))]):_vm._e(),_vm._v(\" \"+_vm._s(mi.label)+\" \")],1)],1)}),1)],1)}),1)],1),_c('AddParticipantDialog',{attrs:{\"dossierID\":_vm.dossierID,\"caseID\":_vm.caseID,\"caseType\":_vm.caseType,\"courtStageID\":_vm.courtStageID,\"no-activator\":\"\"},model:{value:(_vm.addParticipantDialogOpen),callback:function ($$v) {_vm.addParticipantDialogOpen=$$v},expression:\"addParticipantDialogOpen\"}}),(_vm.caseID)?_c('AddHearingDialog',{attrs:{\"caseID\":_vm.caseID},model:{value:(_vm.addHearingDialogOpen),callback:function ($$v) {_vm.addHearingDialogOpen=$$v},expression:\"addHearingDialogOpen\"}}):_vm._e(),_c('AddDocketEventDialog',{attrs:{\"caseID\":_vm.caseID,\"dossierID\":_vm.dossierID,\"preselectedDocketEventTypeID\":_vm.docketEventTypeID},model:{value:(_vm.addDocketEventDialogOpen),callback:function ($$v) {_vm.addDocketEventDialogOpen=$$v},expression:\"addDocketEventDialogOpen\"}}),_c('AddSubjectPropertyDialog',{attrs:{\"caseID\":_vm.caseID,\"dossierID\":_vm.dossierID,\"no-activator\":\"\"},model:{value:(_vm.addSubjectPropertyDialogOpen),callback:function ($$v) {_vm.addSubjectPropertyDialogOpen=$$v},expression:\"addSubjectPropertyDialogOpen\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":!_vm.preselectedType\n ? _vm.$t('court.docketEvent.addADocketEvent')\n : _vm.valueForLocale(_vm.preselectedType.name),\"no-activator\":\"\",\"max-width\":\"1200\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('court.docketEvent.date'),\"past-dates-only\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.filedAt),callback:function ($$v) {_vm.filedAt=$$v},expression:\"filedAt\"}})],1),(!_vm.preselectedDocketEventTypeID)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('court.docketEvent.selectDocketEventType'),\"items\":\"court/docketEventTypes\"},model:{value:(_vm.docketEventType),callback:function ($$v) {_vm.docketEventType=$$v},expression:\"docketEventType\"}})],1):_vm._e(),(_vm.customFields.length)?_vm._l((_vm.customFields),function(field,i){return _c('v-col',{key:'field' + i,attrs:{\"cols\":\"12\"}},[(field.type === 'IssueSummons')?_c('SummonsForm',{attrs:{\"caseID\":_vm.caseID,\"dossierID\":_vm.dossierID},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'AddSubjectProperties')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('SubjectPropertiesForm',{model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}})],1),_c('v-input',{attrs:{\"rules\":field.isRequired\n ? [function (v) { return (v && v.length > 0) || _vm.$t('error.required'); }]\n : []},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}})],1):_vm._e(),(field.type === 'AddSubjectProperty')?_c('SubjectPropertyForm',{attrs:{\"rules\":field.isRequired ? [function (v) { return !!v || _vm.$t('error.required'); }] : []},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'SubjectPropertyEditor')?_c('SubjectPropertyEditor',{attrs:{\"dossierID\":_vm.dossierID,\"rules\":field.isRequired ? [function (v) { return !!v || _vm.$t('error.required'); }] : []},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'IntField')?_c('IntField',{attrs:{\"label\":field.label[_vm.locale],\"rules\":field.isRequired ? [function (v) { return !!v || _vm.$t('error.required'); }] : []},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'TextField')?_c('v-text-field',{attrs:{\"label\":field.label[_vm.locale],\"rules\":field.isRequired ? [function (v) { return !!v || _vm.$t('error.required'); }] : []},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'DateField')?_c('LocaleDateEntry',{attrs:{\"label\":field.label[_vm.locale],\"rules\":field.isRequired ? [function (v) { return !!v || _vm.$t('error.required'); }] : []},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'AFNCurrencyField')?_c('AFNCurrencyField',{attrs:{\"label\":field.label[_vm.locale],\"rules\":field.isRequired ? [function (v) { return !!v || _vm.$t('error.required'); }] : []},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'GeographySelector')?_c('GeographySelector',{attrs:{\"label\":field.label[_vm.locale],\"min-specificity\":field.isRequired ? 'province' : undefined,\"countryID\":1},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type == 'FeeAssessment')?_c('FeeAssessmentForm',{attrs:{\"label\":field.label[_vm.locale],\"dossierID\":_vm.dossierID,\"caseID\":_vm.caseID,\"categoryID\":field.typeArgs.feeCategoryID,\"items\":field.typeArgs.allowedChoices,\"required\":field.isRequired},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type == 'FeePayment')?_c('FeePaymentForm',{attrs:{\"label\":field.label[_vm.locale],\"dossierID\":_vm.dossierID,\"caseID\":_vm.caseID,\"categoryID\":field.typeArgs.feeCategoryID,\"rules\":field.isRequired ? [function (v) { return !!v || _vm.$t('error.required'); }] : []},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'LookupTable')?_c('LookupTableItemSelector',{attrs:{\"label\":field.label[_vm.locale],\"items\":field.typeArgs.tableName,\"rules\":field.isRequired ? [function (v) { return !!v || _vm.$t('error.required'); }] : [],\"exclude-unknown\":\"\"},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'CourtSelector')?_c('CourtSelector',{attrs:{\"label\":field.label[_vm.locale],\"rules\":field.isRequired ? [function (v) { return !!v || _vm.$t('error.required'); }] : []},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'DefendantCharges')?_c('DefendantCharges',{attrs:{\"caseID\":_vm.caseID,\"dossierID\":_vm.dossierID},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'DossierCaseSelector')?_c('DossierCaseSelector',{attrs:{\"label\":field.label[_vm.locale],\"dossierID\":_vm.dossierID},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'DossierLookupField')?_c('DossierLookupField',{attrs:{\"clearable\":\"\",\"disable-padding\":\"\",\"required\":field.isRequired},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(\n field.type === 'PartySelector' || field.type === 'RemoveParty'\n )?_c('PartySelector',{attrs:{\"dossierID\":_vm.dossierID,\"label\":field.label[_vm.locale],\"rules\":field.isRequired ? [function (v) { return !!v || _vm.$t('error.required'); }] : []},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'ParticipantDecisionEditor')?_c('ParticipantDecisionEditor',{attrs:{\"caseID\":_vm.caseID,\"dossierID\":_vm.dossierID,\"label\":field.label[_vm.locale]},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'CivilDecision')?_c('CivilDecisionForm',{attrs:{\"label\":field.label[_vm.locale],\"caseID\":_vm.caseID,\"dossierID\":_vm.dossierID},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'CriminalDecision')?_c('CriminalDecisionForm',{attrs:{\"caseID\":_vm.caseID,\"dossierID\":_vm.dossierID},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'AddParticipant')?_c('ParticipantForm',{attrs:{\"label\":field.label[_vm.locale],\"forcePartyTypeID\":field.typeArgs.partyTypeID,\"caseID\":_vm.caseID,\"dossierID\":_vm.dossierID,\"caseType\":_vm.caseType,\"courtStageID\":_vm.courtStageID},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'SubjectPropertySelector')?_c('SubjectPropertySelector',{attrs:{\"dossierID\":_vm.dossierID,\"label\":field.label[_vm.locale],\"rules\":field.isRequired ? [function (v) { return !!v || _vm.$t('error.required'); }] : [],\"multiple\":\"\"},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'RemoveSubjectProperty')?_c('SubjectPropertySelector',{attrs:{\"dossierID\":_vm.dossierID,\"label\":field.label[_vm.locale],\"rules\":field.isRequired ? [function (v) { return !!v || _vm.$t('error.required'); }] : [],\"multiple\":\"\"},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'JudgeSelector')?_c('JudgeSelector',{attrs:{\"label\":field.label[_vm.locale],\"caseID\":_vm.caseID,\"courtID\":_vm.courtID,\"rules\":field.isRequired ? [function (v) { return !!v || _vm.$t('error.required'); }] : []},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'DepartmentSelector')?_c('DepartmentSelector',{attrs:{\"label\":field.label[_vm.locale],\"rules\":field.isRequired ? [function (v) { return !!v || _vm.$t('error.required'); }] : []},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'HeadOfCourtSelector')?_c('HeadOfCourtSelector',{attrs:{\"courtID\":_vm.kase.courtID},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'BooleanSelector')?_c('BooleanSelector',{attrs:{\"label\":field.label[_vm.locale],\"trueLabel\":_vm.$t('command.yes'),\"falseLabel\":_vm.$t('command.no'),\"exclude-unknown\":\"\"},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e(),(field.type === 'PhoneField')?_c('PhoneField',{attrs:{\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.fieldData[field.name]),callback:function ($$v) {_vm.$set(_vm.fieldData, field.name, $$v)},expression:\"fieldData[field.name]\"}}):_vm._e()],1)}):_vm._e(),(_vm.willFinalizeDossier)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('dossier.isFinal')},model:{value:(_vm.dossierIsFinal),callback:function ($$v) {_vm.dossierIsFinal=$$v},expression:\"dossierIsFinal\"}})],1):_vm._e(),(_vm.dossierIsFinal)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('DossierCaseSelector',{attrs:{\"label\":_vm.$t('dossier.finalCase'),\"dossierID\":_vm.dossierID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.finalCaseID),callback:function ($$v) {_vm.finalCaseID=$$v},expression:\"finalCaseID\"}})],1):_vm._e(),(_vm.willChangeDepartment)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('DepartmentSelector',{model:{value:(_vm.departmentID),callback:function ($$v) {_vm.departmentID=$$v},expression:\"departmentID\"}})],1):_vm._e(),(_vm.willSetAwarenessNumber)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('dossier.awarenessNumber.singular')},model:{value:(_vm.awarenessNumber),callback:function ($$v) {_vm.awarenessNumber=$$v},expression:\"awarenessNumber\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"rows\":\"3\",\"label\":_vm.$t('notes')},model:{value:(_vm.notes),callback:function ($$v) {_vm.notes=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"notes\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"docketEvent\"}})],1)],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('court.decision.decisionNumber'),\"value\":_vm.civilDecision.decisionNumber,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('decisionNumber', $event)}}})],1),(!_vm.rulingsSelected)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-alert',{attrs:{\"type\":\"error\"}},[_vm._v(\" You must select rulings \")])],1):_vm._e(),(!_vm.partyInOneListOnly)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-alert',{attrs:{\"type\":\"error\"}},[_vm._v(\" A party must be selected once in favor or against \")])],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(\" \"+_vm._s(_vm.$t('court.decision.favor'))+\" \")]),_vm._l((_vm.primaryParticipants),function(participant){return _c('v-checkbox',{key:participant.id,attrs:{\"label\":_vm.partyName(participant.partyID),\"value\":participant.partyID,\"hide-details\":\"auto\",\"dense\":\"\"},model:{value:(_vm.civilDecision.favorPartyIDs),callback:function ($$v) {_vm.$set(_vm.civilDecision, \"favorPartyIDs\", $$v)},expression:\"civilDecision.favorPartyIDs\"}})})],2),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(\" \"+_vm._s(_vm.$t('court.decision.against'))+\" \")]),_vm._l((_vm.primaryParticipants),function(participant){return _c('v-checkbox',{key:participant.id,attrs:{\"label\":_vm.partyName(participant.partyID),\"value\":participant.partyID,\"hide-details\":\"auto\",\"dense\":\"\"},model:{value:(_vm.civilDecision.againstPartyIDs),callback:function ($$v) {_vm.$set(_vm.civilDecision, \"againstPartyIDs\", $$v)},expression:\"civilDecision.againstPartyIDs\"}})})],2),(_vm.subjectProperties.length)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"dense\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',{staticClass:\"text-body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('subjectProperties.plural'))+\" \")])],1),_c('v-card-text',[_c('SubjectPropertiesSummary',{attrs:{\"dossierID\":_vm.kase.dossierID,\"cols\":12}})],1)],1)],1):_vm._e()],1),_c('v-row',{attrs:{\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('AFNCurrencyField',{attrs:{\"label\":_vm.$t('court.decision.settlementValue'),\"value\":_vm.civilDecision.settlementValueInPuls,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('settlementValueInPuls', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('court.decision.verdictText'),\"value\":_vm.civilDecision.verdictText,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"rows\":\"1\",\"auto-grow\":\"\"},on:{\"input\":function($event){return _vm.update('verdictText', $event, 'trim')}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.subjectProperties.length)?_c('v-simple-table',{attrs:{\"dense\":\"\"}},[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('subjectProperties.label')))]),_c('th',{staticClass:\"text-right\"}),_c('th',{staticClass:\"text-right\"},[_vm._v(_vm._s(_vm.$t('subjectProperties.totalValue')))])])]),_c('tbody',[_vm._l((_vm.subjectProperties),function(subjectProperty){return _c('tr',{key:subjectProperty.id,class:{ isDeleted: subjectProperty.isDeleted }},[_c('td',[_c('SubjectPropertyLabel',{attrs:{\"expandable\":\"\",\"objects\":subjectProperty}})],1),_c('td',{staticClass:\"text-right\"},[(subjectProperty.quantity > 1)?_c('span',[_vm._v(\" \"+_vm._s(subjectProperty.quantity)+\" \")]):_vm._e()]),_c('td',{staticClass:\"text-right\"},[_c('AFNDisplay',{attrs:{\"value\":subjectProperty.itemValueInPuls}})],1)])}),(_vm.needsTotal)?_c('tr',{staticClass:\"mt-2\"},[_c('td'),_c('td',{staticClass:\"text-right\",attrs:{\"colspan\":\"2\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('subjectProperties.totalValue'))+\" \")]),_c('AFNDisplay',{attrs:{\"value\":_vm.subjectPropertiesTotalPuls}})],1)]):_vm._e()],2)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._l((_vm.subjectProperties),function(property,i){return _c('span',{key:i},[_vm._v(\" \"+_vm._s(_vm.label(property))+\" \"),(_vm.expandable)?_c('SubjectPropertyExpander',{attrs:{\"object\":property}}):_vm._e()],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\n\nimport {\n SubjectProperty,\n SubjectPropertyTypeID,\n} from '@/vuex/court/subjectProperty';\nimport SubjectPropertyExpander from '@/components/subjectProperty/SubjectPropertyExpander.vue';\n\nexport default Vue.extend({\n props: {\n ids: [Number, Array],\n objects: [Object, Array],\n dossierID: Number,\n\n includeDescription: Boolean,\n expandable: Boolean,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', [\n 'subjectPropertyWithID',\n 'subjectPropertiesForDossier',\n ]),\n subjectProperties(): SubjectProperty[] {\n if (this.ids) {\n const ids = _.flatten([this.ids]);\n return _.map(ids, this.subjectPropertyWithID);\n }\n if (this.objects) {\n return _.flatten([this.objects]);\n }\n if (this.dossierID) {\n return this.subjectPropertiesForDossier(this.dossierID) || [];\n }\n return [];\n },\n },\n methods: {\n label(sp: SubjectProperty): string {\n switch (sp.typeID) {\n case SubjectPropertyTypeID.Drugs:\n return this.drugLabel(sp);\n case SubjectPropertyTypeID.Currency:\n return this.currencyLabel(sp);\n default:\n if (!!sp.description && this.includeDescription) {\n return `${sp.label} - ${sp.description}`;\n }\n return sp.label;\n }\n },\n drugLabel(sp: SubjectProperty): string {\n const nm = this.nameForIDInCollection(sp.drugID, 'court/illegalDrugs');\n return nm;\n },\n currencyLabel(sp: SubjectProperty): string {\n let val = i18n.t('currency.singular').toString();\n if (sp.currencyID !== 1) {\n const nm = this.nameForIDInCollection(\n sp.currencyID,\n 'court/currencies',\n );\n val = val + ' ( ' + nm;\n if (sp.foreignCurrencyAmount > 0) {\n val = val + `: ${sp.foreignCurrencyAmount}`;\n }\n val = val + ' )';\n }\n return val;\n },\n },\n components: {\n SubjectPropertyExpander,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertyLabel.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertyLabel.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubjectPropertyLabel.vue?vue&type=template&id=fe191cdc&\"\nimport script from \"./SubjectPropertyLabel.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubjectPropertyLabel.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\nimport { SubjectProperty } from '@/vuex/court/subjectProperty';\n\nimport SubjectPropertyLabel from '@/components/subjectProperty/SubjectPropertyLabel.vue';\n\nexport default Vue.extend({\n props: {\n ids: [Number, Array],\n objects: [Object, Array],\n dossierID: Number,\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', [\n 'subjectPropertyForDossier',\n 'subjectPropertyWithID',\n 'subjectPropertyForDossier',\n ]),\n subjectProperties(): SubjectProperty[] {\n if (this.ids) {\n const ids = _.flatten([this.ids]);\n return _.map(ids, this.subjectPropertyWithID);\n }\n if (this.objects) {\n return _.flatten([this.objects]);\n }\n if (this.dossierID) {\n return this.subjectPropertyForDossier(this.dossierID) || [];\n }\n return [];\n },\n subjectPropertiesTotalPuls(): number {\n const validSubjectProperties = _.filter(this.subjectProperties, [\n 'isDeleted',\n false,\n ]) as SubjectProperty[];\n return _.sum(\n _.map(\n validSubjectProperties,\n (subjectProperty) => subjectProperty.totalValueInPuls,\n ),\n );\n },\n needsTotal(): boolean {\n if (this.subjectProperties.length > 1) {\n return true;\n }\n return _.some(this.subjectProperties, (sp) => sp.quantity > 1);\n },\n },\n methods: {\n truncateLabel(label): string {\n return _.truncate(label, { length: 30 });\n },\n },\n components: {\n SubjectPropertyLabel,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertiesSummary.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertiesSummary.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubjectPropertiesSummary.vue?vue&type=template&id=1111cf72&\"\nimport script from \"./SubjectPropertiesSummary.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubjectPropertiesSummary.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VSimpleTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport _ from 'lodash';\nimport { mapGetters, mapState } from 'vuex';\nimport { cloneDeep, tap, set } from 'lodash';\n\nimport { SubjectProperty } from '@/vuex/court/subjectProperty';\nimport { CivilDecision } from '@/vuex/court/civilDecision';\nimport { Participant } from '@/vuex/court/participant';\nimport { Case } from '@/vuex/court/case';\n\nimport SubjectPropertiesSummary from '@/components/subjectProperty/SubjectPropertiesSummary.vue';\n\nexport default Vue.extend({\n props: {\n value: {\n type: Object,\n },\n caseID: Number,\n dossierID: Number,\n },\n\n data() {\n return {\n isOpen: false,\n error: null,\n\n filedAt: '',\n decisionNumber: '',\n favorPartyIDs: [] as number[],\n againstPartyIDs: [] as number[],\n settlementValueInPuls: 0,\n verdictText: '',\n rulingsSelected: true,\n };\n },\n\n computed: {\n ...mapGetters('court', ['partiesForDossier']),\n ...mapState('court', ['partyTypes']),\n ...mapGetters('court', [\n 'caseWithID',\n 'subjectPropertyForDossier',\n 'partyName',\n 'primaryParticipantsForCase',\n ]),\n\n civilDecision(): CivilDecision {\n return this.value\n ? this.value\n : {\n id: 0,\n caseID: this.caseID,\n favorPartyIDs: [],\n againstPartyIDs: [],\n settlementValueInPuls: 0,\n settlementNotes: '',\n filedAt: '',\n registeredAt: '',\n decisionNumber: '',\n verdictText: '',\n };\n },\n kase(): Case {\n return this.caseWithID(this.caseID);\n },\n\n primaryParticipants(): Participant[] {\n return this.primaryParticipantsForCase(this.caseID);\n },\n\n subjectProperties(): SubjectProperty[] {\n return this.subjectPropertyForDossier(this.dossierID);\n },\n\n /**\n * partyInOneListOnly returns true only if there are no overlaps between\n * the list of\n */\n partyInOneListOnly(): boolean {\n return (\n _.intersection(this.favorPartyIDs, this.againstPartyIDs).length === 0\n );\n },\n },\n\n watch: {\n /**\n * value is watched so that the externally-bound v-model can be transferred\n * to its internal equivalent (isOpen).\n */\n value(val) {\n this.isOpen = val;\n },\n\n /**\n * isOpen is watched so that changes in the internal isOpen value can be\n * broadcast to the external v-model which to which this component is\n * bound.\n */\n isOpen(val) {\n this.$emit('input', val);\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.favorPartyIDs = [];\n this.againstPartyIDs = [];\n this.settlementValueInPuls = 0;\n this.decisionNumber = '';\n this.verdictText = '';\n },\n\n /**\n * update is the handler for most form fields on this form. It ensures that\n * any field which is change triggers the entire object to be re-built and\n * $emitted to consumers. This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n *\n * This particular one performs some \"watch\"-like behaviors to ensure\n * irrelevant fields get reset to their defaults when the Subject Property\n * typeID is changed.\n */\n update(key: string, value: any, modifier: string = ''): void {\n // -----------------------------------------------------------------------\n // Apply modifiers to the submitted value (if requested)\n let modifiedValue = value;\n\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n\n // Build a new entity object including the changed field\n const newCivilDecision = tap(cloneDeep(this.civilDecision), (v) =>\n set(v, key, modifiedValue),\n );\n this.$emit('input', newCivilDecision);\n },\n },\n\n components: {\n SubjectPropertiesSummary,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CivilDecisionForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CivilDecisionForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CivilDecisionForm.vue?vue&type=template&id=c4116f50&\"\nimport script from \"./CivilDecisionForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./CivilDecisionForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VCard,VCardText,VCheckbox,VCol,VRow,VTextField,VTextarea,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"space-around\"}},_vm._l((_vm.participants),function(participant,i){return _c('v-col',{key:participant.id,attrs:{\"cols\":\"12\"}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\",\"dense\":\"\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.fullPartyName(participant.partyID))+\" \")])],1),_c('v-card-text',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ChargesForm',{attrs:{\"require-dispositions\":\"\",\"value\":participant.charges},on:{\"input\":function($event){return _vm.updateParticipant(i, 'charges', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('BooleanRadioButton',{attrs:{\"label\":_vm.$t('participant.isDecisionAccepted'),\"value\":participant.isDecisionAccepted,\"trueLabel\":_vm.$t('accepted'),\"falseLabel\":_vm.$t('notAccepted'),\"row\":\"\"},on:{\"input\":function($event){return _vm.updateParticipant(i, 'isDecisionAccepted', $event)}}})],1)],1),_c('SentenceComponentsForm',{attrs:{\"charges\":participant.charges,\"dossierID\":_vm.dossierID,\"value\":participant.sentenceComponents},on:{\"input\":function($event){return _vm.updateParticipant(i, 'sentenceComponents', $event)}}})],1)],1)],1)}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.guiltyCrimes.length)?_c('div',[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('command.applyConsequential'),\"disabled\":_vm.needsConsequentialPunishment},model:{value:(_vm.applyConsequential),callback:function ($$v) {_vm.applyConsequential=$$v},expression:\"applyConsequential\"}})],1)],1),_c('v-row',_vm._l((_vm.categorizedPunishmentTypes),function(choices,categoryID){return _c('v-col',{key:'cat' + categoryID,attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('div',{staticClass:\"text-h6 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(categoryID, 'crime/punishmentTypeCategories'))+\" \")]),_vm._l((choices),function(choice,i){return _c('div',{key:'punishment' + i},[_c('SentenceComponentDialog',{attrs:{\"value\":_vm.componentsByType[choice.type.id],\"dossierID\":_vm.dossierID,\"punishmentTypeID\":choice.type.id,\"validPunishmentTypeIDs\":_vm.validPunishmentTypeIDs,\"minFine\":_vm.minFine,\"maxFine\":_vm.maxFine,\"minDuration\":_vm.minDuration,\"maxDuration\":_vm.maxDuration,\"isValid\":choice.isValid,\"readonly\":choice.type.isConsequential && _vm.applyConsequential},on:{\"input\":function($event){return _vm.componentModified(choice.type.id, $event)}}})],1)})],2)}),1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('CMSFormDialog',{attrs:{\"title\":_vm.$t('sentence.singular'),\"maxWidth\":\"1000px\"},on:{\"cancel\":_vm.cancel,\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('PunishmentTypeSelector',{attrs:{\"value\":_vm.punishmentTypeID,\"disabled\":\"\"}})],1),(_vm.punishmentType.canHaveDuration && _vm.punishmentType.isImprisonment)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ImprisonmentDurationsLegend',{attrs:{\"minDuration\":_vm.minDuration,\"maxDuration\":_vm.maxDuration}})],1):_vm._e(),(_vm.punishmentType.canHaveDuration)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ImprisonmentDurationField',{attrs:{\"required\":\"\"},model:{value:(_vm.durationInHours),callback:function ($$v) {_vm.durationInHours=$$v},expression:\"durationInHours\"}})],1):_vm._e(),(_vm.punishmentType.canHaveAmount)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AFNCurrencyField',{attrs:{\"rules\":_vm.punishmentType.requiresAmount\n ? [function (v) { return !!v || _vm.$t('error.required'); }]\n : [],\"label\":_vm.$t('cashFine.amount')},model:{value:(_vm.amountInPuls),callback:function ($$v) {_vm.amountInPuls=$$v},expression:\"amountInPuls\"}})],1):_vm._e(),(_vm.punishmentType.canReferenceSubjectProperty)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('SubjectPropertySelector',{attrs:{\"dossierID\":_vm.dossierID,\"label\":_vm.$t('subjectProperty.singular'),\"rules\":_vm.punishmentType.canReferenceSubjectProperty\n ? [function (v) { return v.length || _vm.$t('error.required'); }]\n : [],\"multiple\":\"\"},model:{value:(_vm.subjectPropertyIDs),callback:function ($$v) {_vm.subjectPropertyIDs=$$v},expression:\"subjectPropertyIDs\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.punishmentType.requiresNotes)?_c('v-textarea',{attrs:{\"rows\":\"3\",\"label\":_vm.$t('notes'),\"rules\":_vm.punishmentType.requiresNotes\n ? [function (v) { return !!v || _vm.$t('error.required'); }]\n : []},model:{value:(_vm.notes),callback:function ($$v) {_vm.notes=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"notes\"}}):_vm._e()],1),(!_vm.isValid)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-alert',{attrs:{\"type\":\"warning\"}},[_vm._v(_vm._s(_vm.$t('punishment.invalid')))])],1):_vm._e(),(_vm.fineOutOfRange || _vm.durationOutOfRange)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-alert',{attrs:{\"type\":\"warning\"}},[_vm._v(_vm._s(_vm.$t('punishment.outOfRange')))])],1):_vm._e()],1)],1),_c('div',[_c('v-checkbox',{attrs:{\"readonly\":_vm.readonly,\"color\":_vm.checkColor,\"hide-details\":\"\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('span',{class:{\n 'font-weight-bold': _vm.isChecked,\n 'text--disabled': !_vm.isValid && !_vm.isChecked,\n 'error--text': _vm.isChecked && !_vm.isValid,\n 'green--text': _vm.isChecked && _vm.isValid,\n 'text--primary': !_vm.isChecked && _vm.isValid,\n }},[_vm._v(\" \"+_vm._s(_vm.punishmentType.name[_vm.locale])+\" \"),(_vm.amountInPuls)?_c('span',[_vm._v(\" ( \"),_c('span',{class:{ 'error--text': _vm.isError }},[_c('AFNDisplay',{attrs:{\"value\":_vm.amountInPuls}})],1),_vm._v(\" ) \")]):_vm._e(),(_vm.durationInHours)?_c('span',[_vm._v(\" ( \"),_c('span',{class:{ 'error--text': _vm.isError }},[_c('Duration',{attrs:{\"hours\":_vm.durationInHours}})],1),_vm._v(\" ) \")]):_vm._e()])]},proxy:true}]),model:{value:(_vm.isChecked),callback:function ($$v) {_vm.isChecked=$$v},expression:\"isChecked\"}}),_c('div',{class:{\n 'error--text': _vm.isError,\n 'ml-8': true,\n 'text-caption': true,\n }},[(_vm.showFineRange)?_c('div',[_vm._v(\"🇦🇫 \"+_vm._s(_vm.fineRange))]):_vm._e(),(_vm.showDurationRange)?_c('div',[_vm._v(_vm._s(_vm.durationRange))]):_vm._e(),(_vm.subjectPropertyIDs.length)?_c('div',[_vm._v(\" \"+_vm._s(_vm.subjectPropertyName(_vm.subjectPropertyIDs))+\" \")]):_vm._e(),(_vm.notes)?_c('div',[_vm._v(_vm._s(_vm.notes))]):_vm._e(),(_vm.isConsequential)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('punishmentType.isConsequential'))+\" \")]):_vm._e(),(_vm.fineOutOfRange || _vm.durationOutOfRange)?_c('div',[_c('v-icon',{attrs:{\"x-small\":\"\",\"color\":\"error\"}},[_vm._v(\" fa-exclamation-triangle \")]),_vm._v(\" \"+_vm._s(_vm.$t('punishment.outOfRange'))+\" \")],1):_vm._e(),(_vm.isChecked && !_vm.isValid)?_c('div',[_c('v-icon',{attrs:{\"x-small\":\"\",\"color\":\"error\"}},[_vm._v(\" fa-exclamation-triangle \")]),_vm._v(\" \"+_vm._s(_vm.$t('punishment.invalid'))+\" \")],1):_vm._e()])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"value\":_vm.value,\"items\":_vm.subjectPropertyChoices,\"item-text\":function (sp) { return sp.label; },\"item-value\":function (sp) { return sp.id; },\"rules\":_vm.rules,\"label\":_vm.label || _vm.$t('subjectProperties.singular'),\"disabled\":_vm.disabled || false,\"multiple\":_vm.multiple,\"chips\":\"\"},on:{\"input\":_vm.subjectPropertiesSelected}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\nimport { SubjectProperty } from '@/vuex/court/subjectProperty';\n\nexport default Vue.extend({\n props: {\n value: [Array, Number],\n label: String,\n disabled: Boolean,\n dossierID: Number,\n multiple: Boolean,\n rules: Array,\n\n /**\n * includeDeleted opts out of the default behavior of hiding Subject\n * Properties which have been deleted.\n */\n includeDeleted: Boolean,\n },\n computed: {\n ...mapGetters('court', ['subjectPropertyForDossier']),\n subjectPropertyChoices(): SubjectProperty[] {\n let choices: SubjectProperty[] = this.subjectPropertyForDossier(\n this.dossierID,\n );\n if (!this.includeDeleted) {\n choices = _.filter(choices, { isDeleted: false });\n }\n return choices;\n },\n },\n methods: {\n subjectPropertiesSelected(newVal) {\n // newVal is updating when a property is selected, all IDs will be in array\n this.$emit('input', newVal);\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertySelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertySelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubjectPropertySelector.vue?vue&type=template&id=42df616c&\"\nimport script from \"./SubjectPropertySelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubjectPropertySelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport { PunishmentType } from '@/vuex/crime/crime';\nimport { SentenceComponent } from '@/vuex/court/participant';\n\nimport PunishmentTypeSelector from '@/components/crime/punishmentType/PunishmentTypeSelector.vue';\nimport SubjectPropertySelector from '@/components/subjectProperty/SubjectPropertySelector.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n dossierID: Number,\n punishmentTypeID: Number,\n isValid: Boolean,\n minFine: Number,\n maxFine: Number,\n minDuration: Object,\n maxDuration: Object,\n readonly: Boolean,\n },\n data() {\n return {\n isOpen: false,\n isChecked: false,\n\n durationInHours: 0,\n amountInPuls: 0,\n notes: '',\n subjectPropertyIDs: [] as number[],\n isConsequential: false,\n };\n },\n computed: {\n ...mapState('crime', ['punishmentTypes', 'punishmentTypeCategories']),\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('crime', ['punishmentTypeWithID']),\n ...mapGetters('court', ['subjectPropertyName']),\n\n /**\n * punishmentType retrieves the complete PunishmentType object for the\n * currently-active punishment in this dialog.\n */\n punishmentType(): PunishmentType {\n return this.punishmentTypeWithID(this.punishmentTypeID);\n },\n\n /**\n * categoryID retrieves the categoryID of whatever punishmentType this\n * sentence component is set to. It's needed so that the sentence component\n * can identify from which category the sentence component came from in reports.\n */\n categoryID(): number {\n if (!this.punishmentType) {\n return 0;\n }\n return this.punishmentType.categoryID;\n },\n\n /**\n * requiresCustomization returns true if the selected punishment type\n * requires the user to complete the data entry form. If this returns false,\n * checking the box will not open a dialog.\n */\n requiresCustomization(): boolean {\n if (this.readonly) {\n return false;\n }\n\n const pt = this.punishmentType;\n if (!pt) {\n return false;\n }\n if (pt.canHaveAmount || pt.requiresAmount) {\n return true;\n }\n if (pt.canHaveDuration || pt.requiresDuration) {\n return true;\n }\n if (pt.requiresNotes) {\n return true;\n }\n if (pt.canReferenceSubjectProperty) {\n return true;\n }\n return false;\n },\n\n /**\n * showFineRange returns true if this punishment type has a range of\n * valid fine amounts, and it makes sense to show it.\n */\n showFineRange(): boolean {\n if (!this.fineRange) {\n return false;\n }\n return this.fineOutOfRange || !this.amountInPuls;\n },\n\n /**\n * fineRange returns a string of the range of fines which are valid for\n * this punishment type, or a blank string if it doesn't apply.\n */\n fineRange(): string {\n if (this.punishmentTypeID !== 1) {\n return '';\n }\n let range = '';\n if (this.minFine || this.maxFine) {\n range = new Intl.NumberFormat().format((this.minFine || 0) / 100);\n }\n if (this.maxFine) {\n range =\n range + ' — ' + new Intl.NumberFormat().format(this.maxFine / 100);\n } else if (this.minFine) {\n range = range + '+';\n }\n return range;\n },\n\n /**\n * fineOutOfRange returns true if the entered fine amount is too high\n * or too low.\n */\n fineOutOfRange(): boolean {\n if (this.punishmentTypeID !== 1) {\n return false;\n }\n if (\n this.minFine &&\n this.amountInPuls &&\n this.amountInPuls < this.minFine\n ) {\n return true;\n }\n if (this.maxFine && this.amountInPuls > this.maxFine) {\n return true;\n }\n return false;\n },\n\n /**\n * showDurationRange returns true if this punishment type has a range of\n * valid imprisonment durations and it makes sense to show it.\n */\n showDurationRange(): boolean {\n if (!this.durationRange) {\n return false;\n }\n return this.durationOutOfRange || !this.durationInHours;\n },\n\n /**\n * durationRange builds a string of the valid range of imprisonment\n * lengths, or a blank string if it doesn't apply.\n */\n durationRange(): string {\n let range = '';\n const pt = this.punishmentType;\n if (!pt) {\n return range;\n }\n if (!pt.isImprisonment) {\n return range;\n }\n if (!this.isValid) {\n return range;\n }\n if (this.minDuration) {\n range = this.minDuration.name[this.locale] + ' — ';\n }\n if (this.maxDuration) {\n range = range + this.maxDuration.name[this.locale];\n }\n return range;\n },\n\n /**\n * durationOutOfRange returns true if the entered imprisonment duration is\n * too short or too long\n */\n durationOutOfRange(): boolean {\n const pt = this.punishmentType;\n if (!pt) {\n return false;\n }\n if (!pt.isImprisonment) {\n return false;\n }\n if (!this.isValid) {\n return false;\n }\n if (\n this.minDuration &&\n this.durationInHours &&\n this.durationInHours < this.minDuration.minimumHours\n ) {\n return true;\n }\n if (\n this.maxDuration &&\n this.durationInHours &&\n this.durationInHours > this.maxDuration.maximumHours\n ) {\n return true;\n }\n return false;\n },\n\n /**\n * checkColor returns the color of the checkbox\n */\n checkColor(): string {\n if (this.isChecked) {\n if (!this.isValid) {\n return 'red';\n }\n return 'green';\n }\n if (!this.isValid) {\n return 'grey';\n }\n return '';\n },\n\n /**\n * isError returns true if there is any error at all on this punishment\n * type. It's used to color the message text red.\n */\n isError(): boolean {\n return (\n this.durationOutOfRange ||\n this.fineOutOfRange ||\n (this.isChecked && !this.isValid)\n );\n },\n },\n\n watch: {\n /**\n * value is watched so that we can update our internal variables when\n * the externally data-bound value is changed.\n */\n value: {\n immediate: true,\n handler(component: SentenceComponent): void {\n if (component) {\n this.durationInHours = this.value.durationInHours;\n this.amountInPuls = this.value.amountInPuls;\n this.notes = this.value.notes;\n this.subjectPropertyIDs = [...this.value.subjectPropertyIDs];\n this.isConsequential = this.value.isConsequential;\n this.isChecked = true;\n } else {\n this.isChecked = false;\n this.reset();\n }\n },\n },\n\n /**\n * isChecked is watched so that we can do some processing to see if we\n * need to open the customization dialog.\n *\n * We check first that customization is actually needed, and if not, we\n * simulate a loop through opening and clicking save.\n *\n * If the user un-checked the box, then this manifests as an $emit to\n * v-model with a null value, effectively removing this SentenceComponent.\n */\n isChecked(nowChecked: boolean): void {\n if (nowChecked) {\n if (this.requiresCustomization) {\n this.isOpen = true;\n } else {\n this.reset();\n this.save();\n }\n } else {\n this.$emit('input', null);\n }\n },\n },\n\n methods: {\n /**\n * cancel is our event handler for CMSFormDialog's cancel event. It fires\n * when the dialog is dismissed without saving. We use it to discard the\n * object being edited.\n */\n cancel(): void {\n this.isChecked = false;\n this.durationInHours = 0;\n this.amountInPuls = 0;\n this.subjectPropertyIDs = [];\n this.notes = '';\n this.isConsequential = false;\n this.$emit('input', null);\n },\n\n /**\n * reset is our event handler for CMSFormDialog's reset event. It fires when\n * the dialog is activated. We use it to create a dialog-local copy of the\n * entity being edited, or to create a new entity from scratch if none\n * has been created yet.\n */\n reset(): void {\n this.durationInHours = 0;\n this.amountInPuls = 0;\n this.notes = '';\n this.subjectPropertyIDs = [];\n this.isConsequential = false;\n },\n\n /**\n * save is our event handler for CMSFormDialog's save event. It fires when\n * the save button is clicked on the dialog. We use it to emit the\n * complete SentenceComponent object which was created by the dialog.\n */\n async save(): Promise {\n const externalCopy = {\n punishmentTypeID: this.punishmentTypeID,\n categoryID: this.categoryID,\n durationInHours: this.durationInHours,\n amountInPuls: this.amountInPuls,\n notes: this.notes,\n subjectPropertyIDs: [...this.subjectPropertyIDs],\n isConsequential: this.isConsequential,\n };\n\n // Dismiss the dialog\n this.isOpen = false;\n this.$emit('input', externalCopy);\n },\n },\n components: {\n PunishmentTypeSelector,\n SubjectPropertySelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SentenceComponentDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SentenceComponentDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SentenceComponentDialog.vue?vue&type=template&id=65441b20&\"\nimport script from \"./SentenceComponentDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./SentenceComponentDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VAlert,VCheckbox,VCol,VIcon,VRow,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport _, { cloneDeep } from 'lodash';\nimport { mapState, mapGetters } from 'vuex';\n\nimport { Charge, GuiltyChargeDispositionTypeIDs } from '@/vuex/court/charge';\nimport {\n Crime,\n ImprisonmentDuration,\n PunishmentType,\n} from '@/vuex/crime/crime';\nimport { SentenceComponent } from '@/vuex/court/participant';\n\nimport SentenceComponentDialog from '@/components/court/case/SentenceComponentDialog.vue';\n\ninterface Choice {\n type: PunishmentType;\n isValid: boolean;\n}\n\nexport default Vue.extend({\n props: {\n value: Array as () => SentenceComponent[],\n charges: Array as () => Charge[],\n dossierID: Number,\n },\n\n data() {\n return {\n applyConsequential: false,\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('crime', ['imprisonmentDurations', 'punishmentTypes']),\n ...mapGetters('crime', [\n 'crimeWithID',\n 'punishmentTypeWithID',\n 'imprisonmentDurationWithID',\n ]),\n\n /**\n * components is the internal representation of our v-model data-bound\n * value, the list of sentence components which are actually being\n * manipulated.\n */\n components(): SentenceComponent[] {\n return this.value\n ? (this.value as SentenceComponent[])\n : ([] as SentenceComponent[]);\n },\n\n /**\n * componentsByType is an alternative (dictionary/lookup table) view of the\n * sentence components. Since the UI is oriented around the punishment\n * types and not the sentence components, we use this structure heavily\n * in the UI.\n */\n componentsByType(): { [punishmentTypeID: number]: SentenceComponent } {\n return (\n _.chain(this.components)\n // Create an object with numeric keys (punishment IDs), and values\n // which are arrays with that type.... since there should only be\n // one sentence component per punishment type...\n .groupBy('punishmentTypeID')\n // We re-map the values to hold the first (and only) value of the array\n .mapValues((components: SentenceComponent[]) => components[0])\n .value()\n );\n },\n\n /**\n * categorizedPunishmentTypes returns all punishment types (valid or not),\n * grouped by their punishment category IDs.\n *\n * Instead of using PunishmentType, we use a new Choice type, which\n * carries an indication of whether the UI should treat this punishment\n * type as a valid one.\n */\n categorizedPunishmentTypes(): { [categoryID: number]: Choice[] } {\n const types = this.punishmentTypes as PunishmentType[];\n\n // First build an array of Choice[]\n const choices = _.chain(types)\n .filter((pt) => pt.id !== 0) // Remove 'Unknown'\n .map((type) => {\n // It's valid if its in the list of valid IDs which were identified\n // based on the guilty crime types.\n let isValid = _.includes(this.validPunishmentTypeIDs, type.id);\n\n // ... and it's also valid if the user has applied consequential\n // penalties and this can be a consequential one.\n if (this.applyConsequential && type.isConsequential) {\n isValid = true;\n }\n\n return {\n type,\n isValid,\n } as Choice;\n })\n .value();\n\n // Then group those by categoryID, and order the Choice[] with valid\n // items first, then by their ranks and names.\n const groups = _.groupBy(choices, (choice) => choice.type.categoryID);\n const result = _.mapValues(groups, (choices) => {\n return _.orderBy(\n choices,\n [\n (c) => (c.isValid ? 1 : 0),\n (c) => c.type.rank,\n (c) => c.type.name[this.locale],\n ],\n ['desc', 'asc', 'asc'],\n );\n });\n return result;\n },\n\n /**\n * guiltyCrimes builds the complete list of Crime objects from the Charges\n * which are marked as guilty. Returns an empty array when there are no\n * guilty charges.\n */\n guiltyCrimes(): Crime[] {\n return _.chain((this.charges || []) as Charge[])\n .filter((c: Charge) =>\n _.includes(GuiltyChargeDispositionTypeIDs, c.dispositionTypeID),\n )\n .map((c: Charge) => this.crimeWithID(c.crimeID))\n .value();\n },\n\n /**\n * needsConsequentialPunishment returns true if one if the guilty crimes\n * indicates that it should trigger automatic application of the\n * consequential penalties.\n */\n needsConsequentialPunishment(): boolean {\n return _.some(this.guiltyCrimes, {\n triggersConsequentialPunishments: true,\n });\n },\n\n /**\n * validPunishmentTypeIDs examines all the guilty crimes and returns the\n * unique list of punishment type IDs which are marked as valid on them.\n */\n validPunishmentTypeIDs(): number[] {\n return _.chain(this.guiltyCrimes)\n .map((crime: Crime) => {\n return crime.validPunishmentTypeIDs;\n })\n .flatten()\n .uniq()\n .compact()\n .value();\n },\n\n /**\n * minFine computes the minimum allowed fine (in puls) from the guilty\n * crimes.\n */\n minFine(): number {\n const min = _.chain(this.guiltyCrimes)\n .map((crime: Crime) => crime.minimumFineInPuls)\n .compact()\n .min()\n .value();\n return min || 0;\n },\n\n /**\n * maxFine computes the maximum allowed fine (in puls) from the guilty crimes.\n */\n maxFine(): number {\n const max = _.chain(this.guiltyCrimes)\n .map((crime: Crime) => crime.maximumFineInPuls)\n .compact()\n .max()\n .value();\n return max || 0;\n },\n\n /**\n * validImprisonmentDurations computes the unique list of imprisonment\n * durations which are valid for the guilty crimes.\n */\n validImprisonmentDurations(): ImprisonmentDuration[] {\n const valids = _.chain(this.guiltyCrimes)\n .map((crime: Crime) => crime.validImprisonmentDurationIDs)\n .flatten()\n .uniq()\n .compact()\n .map((id: number) => this.imprisonmentDurationWithID(id))\n .value();\n return valids || [];\n },\n\n /**\n * minDuration computes the minimum duration (as an Imprisonment Duration\n * object) which is allowed based on the guilty crimes.\n */\n minDuration(): ImprisonmentDuration | null {\n const min = _.chain(this.validImprisonmentDurations)\n .sortBy((d: ImprisonmentDuration) => d.minimumHours)\n .first()\n .value();\n return min || null;\n },\n\n /**\n * maxDuration computes the maximum duration (as an Imprisonment Duration\n * object) which is allowed based on the guilty crimes.\n */\n maxDuration(): ImprisonmentDuration | null {\n const max = _.chain(this.validImprisonmentDurations)\n .sortBy((d: ImprisonmentDuration) => d.maximumHours)\n .last()\n .value();\n return max || null;\n },\n },\n\n watch: {\n /**\n * guiltyCrimes is watched so that we can automatically\n * apply the consequential punishments when the user is guilty of a crime\n * which triggers them (and vice versa).\n */\n guiltyCrimes(): void {\n if (this.needsConsequentialPunishment) {\n this.applyConsequential = true;\n }\n },\n\n /**\n * applyConsequential (the checkbox indicating that consequential\n * penalties should be applied) is watched so that we can automatically\n * build SentenceComponents for each consequential punishment.\n */\n applyConsequential(apply: boolean): void {\n const newValues = cloneDeep(this.components);\n\n // First any existing SentenceComponent entries for punishment types\n // which can be applied as consequential penalties.\n const cps = _.filter(this.punishmentTypes, { isConsequential: true });\n const cpIDs = _.map(cps, 'id');\n _.remove(newValues, (sc) => _.includes(cpIDs, sc.punishmentTypeID));\n\n // Next, build a new SentenceComponent only if the checkbox is now\n // checked.\n if (apply) {\n for (const punishmentType of cps) {\n newValues.push({\n punishmentTypeID: punishmentType.id,\n categoryID: punishmentType.categoryID,\n durationInHours: 0,\n amountInPuls: 0,\n subjectPropertyIDs: [],\n notes: '',\n isConsequential: true,\n });\n }\n }\n\n // Finally, $emit the new value. This value will immediately loop back\n // into this component as this.components\n this.$emit('input', newValues);\n },\n },\n\n methods: {\n /**\n * componentModified is our v-model handler for user modifications which\n * happen on a SentenceComponentDialog. Since the \"native\" structure of this\n * data is an array, we need to use Vue.set and Vue.delete to properly\n * modify the data in the array to preserve reactivity.\n */\n componentModified(\n punishmentTypeID: number,\n changed: SentenceComponent,\n ): void {\n const newValues = [...cloneDeep(this.components)];\n const i = _.findIndex(\n newValues,\n (existing) => punishmentTypeID === existing.punishmentTypeID,\n );\n if (changed) {\n if (i === -1) {\n // Append New\n newValues.push(changed);\n } else {\n // Replace Existing at Index\n Vue.set(newValues, i, changed);\n }\n } else if (i !== -1) {\n // Remove Existing\n Vue.delete(newValues, i);\n }\n\n this.$emit('input', newValues);\n },\n },\n\n components: {\n SentenceComponentDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SentenceComponentsForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SentenceComponentsForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SentenceComponentsForm.vue?vue&type=template&id=01a33fd6&\"\nimport script from \"./SentenceComponentsForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./SentenceComponentsForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCheckbox,VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport _ from 'lodash';\nimport { cloneDeep, tap, set } from 'lodash';\nimport { mapGetters } from 'vuex';\n\nimport { JudgeDispositionTypeIDs } from '@/vuex/court/charge';\nimport { Participant, SentenceComponent } from '@/vuex/court/participant';\n\nimport ChargesForm from '@/components/charges/ChargesForm.vue';\nimport SentenceComponentsForm from '@/components/court/case/SentenceComponentsForm.vue';\n\nexport default Vue.extend({\n props: {\n value: Array as () => Participant[],\n caseID: Number,\n dossierID: Number,\n },\n\n computed: {\n ...mapGetters('court', [\n 'defendantsForCase',\n 'defendantsForDossier',\n 'fullPartyName',\n ]),\n\n participants(): Participant[] {\n if (this.value && this.value.length > 0) {\n return this.value;\n }\n\n let participants: Participant[] = [];\n if (this.caseID) {\n participants = _.cloneDeep(this.defendantsForCase(this.caseID));\n } else if (this.dossierID) {\n participants = _.cloneDeep(this.defendantsForDossier(this.dossierID));\n }\n\n participants = _.map(participants, (p) => {\n // Initialize a blank set of sentence components\n p.sentenceComponents = [] as SentenceComponent[];\n\n // Any charges which had a judge-set Disposition Type get reset so this\n // judge can set their own.\n p.charges = _.map(p.charges, (c) => {\n if (_.includes(JudgeDispositionTypeIDs, c.dispositionTypeID)) {\n c.dispositionTypeID = 0;\n }\n return c;\n });\n return p;\n });\n\n return participants;\n },\n },\n\n methods: {\n updateParticipant(i: number, key: string, value: any): void {\n // Create a deep copy of the current participants array\n const newParticipants = cloneDeep(this.participants);\n\n // Apply the change to the copy from the array\n tap(newParticipants[i], (p) => {\n set(p, key, value);\n });\n\n this.$emit('input', newParticipants);\n },\n },\n\n components: {\n ChargesForm,\n SentenceComponentsForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CriminalDecisionForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CriminalDecisionForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CriminalDecisionForm.vue?vue&type=template&id=560795e0&\"\nimport script from \"./CriminalDecisionForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./CriminalDecisionForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCol,VRow,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.participants),function(participant){return _c('v-row',{key:participant.id},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ParticipantName',{attrs:{\"participant\":participant}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ChargesForm',{model:{value:(participant.charges),callback:function ($$v) {_vm.$set(participant, \"charges\", $$v)},expression:\"participant.charges\"}})],1)],1)}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport { Charge } from '@/vuex/court/charge';\nimport { Participant } from '@/vuex/court/participant';\n\nimport ChargesForm from '@/components/charges/ChargesForm.vue';\nimport ParticipantName from '@/components/court/participant/ParticipantName.vue';\n\nexport default Vue.extend({\n props: {\n value: Array,\n dossierID: Number,\n caseID: Number,\n },\n\n created() {\n this.resetInternalParticipants();\n },\n\n data() {\n return {\n participants: [] as Participant[],\n };\n },\n\n computed: {\n ...mapGetters('court', ['defendantsForCase', 'defendantsForDossier']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('court', ['attorneyTypes', 'partyTypes']),\n\n /**\n * dispositionTypeIDs exists so that it can be watched. We need to trigger\n * a data-binding update when any of the charge dispositions are changed.\n * This outputs the raw IDs so that a deep watch doesn't need to be added\n * on the entire participants array.\n */\n dispositionTypeIDs(): number[] {\n return _.chain(this.participants || [])\n .map((p: Participant) => p.charges || [])\n .flatten()\n .map((c: Charge) => c.dispositionTypeID)\n .value();\n },\n },\n\n watch: {\n caseID(newID: number) {\n this.resetInternalParticipants();\n },\n dossierID(newID: number) {\n this.resetInternalParticipants();\n },\n dispositionTypeIDs(): void {\n this.$emit('input', this.participants);\n },\n },\n\n methods: {\n /**\n * resetInternalParticipants deletes and re-creates the internal array\n * of Participant in the form. This is called when the component is\n * initialized, and any time the CaseID or DossierID are changed.\n * Important to note that this function causes data loss. Charges which\n * have been changed will be lost when this occurs. Presumably that's\n * OK and even desirable because the Charge[] would be incorrect if it\n * was related to a different caseID or dossierID.\n */\n resetInternalParticipants(): void {\n if (this.caseID) {\n this.participants = [...this.defendantsForCase(this.caseID)];\n } else if (this.dossierID) {\n this.participants = [...this.defendantsForDossier(this.dossierID)];\n } else {\n this.participants = [];\n }\n },\n },\n\n components: {\n ChargesForm,\n ParticipantName,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DefendantCharges.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DefendantCharges.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DefendantCharges.vue?vue&type=template&id=d73f2c64&\"\nimport script from \"./DefendantCharges.vue?vue&type=script&lang=ts&\"\nexport * from \"./DefendantCharges.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"label\":_vm.label || _vm.$t('case.singular'),\"items\":_vm.items,\"disabled\":_vm.disabled,\"rules\":_vm.rules,\"clearable\":_vm.clearable},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Case } from '@/vuex/court/case';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nexport default Vue.extend({\n props: {\n dossierID: Number,\n label: String,\n disabled: Boolean,\n clearable: Boolean,\n rules: Array,\n },\n computed: {\n ...mapGetters('court', ['casesForDossier', 'courtName']),\n\n /**\n * cases computes the raw list of Case objects which are associated with\n * the dossierID prop. This forms the basis for the items in the VSelect.\n */\n cases(): Case[] {\n return this.casesForDossier(this.dossierID) || [];\n },\n\n /**\n * items converts the array of Case into an array of VSelectItems that\n * VSelect expects.\n */\n items(): VSelectItem[] {\n return _.map(this.cases, (kase) => ({\n value: kase.id,\n text: `${kase.number} : ${this.courtName(kase.courtID)}`,\n }));\n },\n },\n watch: {\n /**\n * dossierID is watched so that the Dossier can be fetched in case that\n * Dossier's list of Cases is not available.\n */\n dossierID: {\n immediate: true,\n handler(newDossierID: number): void {\n if (newDossierID) {\n this.fetchData();\n }\n },\n },\n },\n methods: {\n /**\n * fetchData performs an API call to update the Vuex state with the Dossier\n * data (including its Cases) for the Dossier referenced by the dossierID\n * prop.\n */\n async fetchData(): Promise {\n await this.$store.dispatch('court/fetchDossier', this.dossierID);\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierCaseSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierCaseSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossierCaseSelector.vue?vue&type=template&id=661bbf4f&\"\nimport script from \"./DossierCaseSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossierCaseSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('AssessmentAmountSelector',{attrs:{\"label\":_vm.label || _vm.$t('fee.amount'),\"items\":_vm.items},model:{value:(_vm.selectedAmount),callback:function ($$v) {_vm.selectedAmount=$$v},expression:\"selectedAmount\"}})],1),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\"}},[_c('v-chip',{staticClass:\"me-4\"},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.feeAssessment.categoryID, 'court/feeCategories'))+\" \")]),_c('AFNDisplay',{attrs:{\"value\":_vm.feeAssessment.amountInPuls}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { FeeAssessment } from '@/vuex/court/options';\n\nimport AssessmentAmountSelector from '@/components/court/fee/AssessmentAmountSelector.vue';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: Object,\n dossierID: {\n type: Number,\n required: true,\n },\n caseID: {\n type: Number,\n default: 0,\n },\n categoryID: {\n type: Number,\n required: true,\n },\n required: Boolean,\n items: Array,\n },\n\n data() {\n return {\n selectedAmount: 0,\n };\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', [\n 'settlementValueInPulsForCase',\n 'subjectPropertyTotalValueInPulsForDossier',\n ]),\n\n /**\n * feeAssessment computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n feeAssessment(): FeeAssessment {\n return this.value\n ? this.value\n : {\n id: 0,\n dossierID: this.dossierID,\n caseID: this.caseID,\n categoryID: this.categoryID,\n amountInPuls: 0,\n percentOfValue: 0,\n disputedValueInPuls: 0,\n /**\n * We leave assessedAt blank, and don't expose a UI for it because\n * the FiledAt date on the surrounding docket event represents this\n * concept. The server action will copy action.FiledAt to this\n * field before saving.\n */\n assessedAt: '',\n };\n },\n\n /**\n * disputedValueInPuls utilizes the provided dossierID and caseID props to\n * figure out what the value of the lawsuit is. If we are on a case with a\n * decision, that will be used. If not, use the total value of all\n * subject property on the case.\n */\n disputedValueInPuls(): number {\n const settlementValue = this.settlementValueInPulsForCase(this.caseID);\n if (settlementValue > 0) {\n return settlementValue;\n }\n return this.subjectPropertyTotalValueInPulsForDossier(this.dossierID);\n },\n },\n\n watch: {\n /**\n * selectedAmount is watched so that we can convert the selected value into\n * the amountInPuls field of the FeeAssessment.\n */\n selectedAmount(feeAmount: number) {\n const fa = Object.assign({}, this.feeAssessment);\n\n const isPercentage = feeAmount > 0 && feeAmount < 1;\n if (isPercentage) {\n fa.disputedValueInPuls = this.disputedValueInPuls;\n fa.percentOfValue = feeAmount;\n\n // Set amountInPuls from a calcul\n feeAmount = fa.disputedValueInPuls * feeAmount;\n feeAmount = Math.round(feeAmount / 100) * 100;\n fa.amountInPuls = feeAmount;\n } else {\n fa.amountInPuls = feeAmount;\n }\n\n this.$emit('input', fa);\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.feeAssessment), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n\n components: {\n AssessmentAmountSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeeAssessmentForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeeAssessmentForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FeeAssessmentForm.vue?vue&type=template&id=23bef50c&\"\nimport script from \"./FeeAssessmentForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./FeeAssessmentForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('AFNCurrencyField',{attrs:{\"label\":_vm.label || _vm.$t('fee.amount'),\"value\":_vm.feePayment.amountInPuls,\"rules\":_vm.rules},on:{\"input\":function($event){return _vm.update('amountInPuls', $event)}}})],1),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\"}},[_c('v-chip',{staticClass:\"me-4\"},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.feePayment.categoryID, 'court/feeCategories'))+\" \")]),_c('AFNDisplay',{attrs:{\"value\":_vm.feePayment.amountInPuls}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { FeePayment } from '@/vuex/court/options';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: Object,\n dossierID: {\n type: Number,\n required: true,\n },\n caseID: {\n type: Number,\n default: 0,\n },\n categoryID: {\n type: Number,\n required: true,\n },\n rules: Array,\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n\n /**\n * feePayment computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n feePayment(): FeePayment {\n return this.value\n ? this.value\n : {\n id: 0,\n dossierID: this.dossierID,\n caseID: this.caseID,\n categoryID: this.categoryID,\n amountInPuls: 0,\n /**\n * We leave paidAt blank, and don't expose a UI for it because\n * the FiledAt date on the surrounding docket event represents this\n * concept. The server action will copy action.FiledAt to this\n * field before saving.\n */\n paidAt: '',\n };\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.feePayment), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeePaymentForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeePaymentForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FeePaymentForm.vue?vue&type=template&id=74c7fd00&\"\nimport script from \"./FeePaymentForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./FeePaymentForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"space-between\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('PartySelector',{attrs:{\"dossierID\":_vm.dossierID,\"caseID\":_vm.caseID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.partyIDChanged($event)}},model:{value:(_vm.partyID),callback:function ($$v) {_vm.partyID=$$v},expression:\"partyID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[(_vm.participant)?_c('BooleanRadioButton',{attrs:{\"value\":_vm.participant.isDecisionAccepted,\"label\":_vm.$t('participant.isDecisionAccepted'),\"trueLabel\":_vm.$t('accepted'),\"falseLabel\":_vm.$t('notAccepted')},on:{\"input\":function($event){return _vm.update('isDecisionAccepted', $event)}}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-autocomplete',{attrs:{\"value\":_vm.value,\"items\":_vm.choices,\"label\":_vm.label || _vm.defaultLabel,\"disabled\":_vm.disabled,\"clearable\":_vm.clearable,\"rules\":_vm.rules,\"auto-select-first\":\"\"},on:{\"input\":_vm.partyChanged}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport _ from 'lodash';\nimport { mapState, mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { Participant } from '@/vuex/court/participant';\nimport { Party } from '@/vuex/court/party';\nimport { PartyTypeID } from '@/vuex/court/party';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: Number,\n items: {\n type: Array,\n default: () => [] as Party[],\n },\n dossierID: Number,\n caseID: Number,\n disabled: Boolean,\n clearable: Boolean,\n defendantsOnly: Boolean,\n rules: Array,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('court', ['party', 'partyTypes']),\n ...mapGetters('court', [\n 'participantsForCase',\n 'participantsForDossier',\n 'partyWithID',\n 'partyName',\n ]),\n defaultLabel(): string {\n if (this.defendantsOnly) {\n return this.nameForIDInCollection(\n PartyTypeID.Defendant,\n this.partyTypes,\n );\n }\n return i18n.t('party.singular').toString();\n },\n participants(): Participant[] {\n let participants: Participant[] = [];\n if (this.caseID) {\n participants = this.participantsForCase(this.caseID);\n } else if (this.dossierID) {\n participants = this.participantsForDossier(this.dossierID);\n }\n if (this.defendantsOnly) {\n participants = _.filter(participants, {\n partyTypeID: PartyTypeID.Defendant,\n });\n }\n return participants;\n },\n choices(): VSelectItem[] {\n let parties: Party[] = [];\n if (this.items.length > 0) {\n parties = this.items as Party[];\n } else if (this.participants.length) {\n parties = _.map(this.participants, (p) => this.partyWithID(p.partyID));\n }\n return _.chain(parties)\n .map((p) => ({ value: p.id, text: this.partyName(p.id) }))\n .sortBy('text')\n .value();\n },\n },\n methods: {\n partyChanged(newVal) {\n // newVal is updating when the party is changed... this should be sending it Form\n this.$emit('input', newVal);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartySelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartySelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PartySelector.vue?vue&type=template&id=700b7178&\"\nimport script from \"./PartySelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./PartySelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\ninstallComponents(component, {VAutocomplete})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\n\nimport { mapGetters } from 'vuex';\nimport { Participant } from '@/vuex/court/participant';\n\nimport PartySelector from '@/components/court/party/PartySelector.vue';\n\nexport default Vue.extend({\n props: {\n caseID: Number,\n dossierID: Number,\n value: Object,\n },\n data() {\n return {\n partyID: 0,\n };\n },\n computed: {\n ...mapGetters('court', ['participantInDossierOrCase']),\n participant(): Participant | null {\n return this.value ? this.value : null;\n },\n },\n watch: {\n /**\n * dossierID is watched so that any previously-selected party can be\n * cleared out, in case that party is not on the new dossier.\n */\n dossierID() {\n this.partyID = 0;\n },\n /**\n * caseID is watched so that any previously-selected party can be\n * cleared out, in case that party is not on the new case.\n */\n caseID() {\n this.partyID = 0;\n },\n /**\n * value is watched so that we can externally bind to a Participant\n * object provided externally. The internal partyID needs to be set\n * to match the newly-provided Participant.\n */\n value(newVal: Participant | null) {\n if (!newVal) {\n this.partyID = 0;\n } else if (newVal.partyID && newVal.partyID !== this.partyID) {\n this.partyID = newVal.partyID;\n }\n },\n },\n methods: {\n /**\n * partyIDChanged is the event handler for a new choice being made on the\n * PartySelector dropdown control. When the partyID is changed, we need\n * to fetch the matching Participant and $emit() it, so that it returns\n * as our value prop. This $emit loop is what causes the BooleanSelector\n * to be initialized to the correct/current value of\n * participant.isDecisionAccepted at the moment a new Party is selected.\n */\n partyIDChanged(newPartyID: number) {\n if (newPartyID) {\n const participant = this.participantInDossierOrCase(\n this.dossierID,\n this.caseID,\n newPartyID,\n );\n this.$emit('input', participant);\n } else {\n this.$emit('input', null);\n }\n },\n update(key: string, value: any): void {\n if (this.participant) {\n this.$emit(\n 'input',\n tap(cloneDeep(this.participant), (v) => set(v, key, value)),\n );\n }\n },\n },\n components: {\n PartySelector,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantDecisionEditor.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantDecisionEditor.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ParticipantDecisionEditor.vue?vue&type=template&id=5e2e0c9c&\"\nimport script from \"./ParticipantDecisionEditor.vue?vue&type=script&lang=ts&\"\nexport * from \"./ParticipantDecisionEditor.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('SubjectPropertySelector',{attrs:{\"dossierID\":_vm.dossierID,\"rules\":_vm.rules,\"include-deleted\":\"\"},model:{value:(_vm.selectedID),callback:function ($$v) {_vm.selectedID=$$v},expression:\"selectedID\"}}),(_vm.selectedID && _vm.value)?_c('SubjectPropertyForm',{attrs:{\"value\":_vm.value},on:{\"input\":function($event){return _vm.$emit('input', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport SubjectPropertySelector from '@/components/subjectProperty/SubjectPropertySelector.vue';\nimport SubjectPropertyForm from '@/components/subjectProperty/SubjectPropertyForm.vue';\n\nexport default Vue.extend({\n props: {\n dossierID: Number,\n value: Object,\n rules: Array,\n },\n\n data() {\n return {\n selectedID: 0,\n };\n },\n\n computed: {\n ...mapGetters('court', ['subjectPropertyWithID']),\n },\n\n watch: {\n value(newVal: any): void {\n if (!newVal) {\n this.selectedID = 0;\n }\n },\n\n selectedID(id: number): void {\n // If no property is selected for editing, blank the data.\n if (!id) {\n this.$emit('input', null);\n }\n\n // Make a local copy so that modifications in the form are not\n // immediately applied to Vuex.\n const localCopy = Object.assign({}, this.subjectPropertyWithID(id));\n this.$emit('input', localCopy);\n },\n },\n\n components: {\n SubjectPropertyForm,\n SubjectPropertySelector,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertyEditor.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertyEditor.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubjectPropertyEditor.vue?vue&type=template&id=77cb647a&\"\nimport script from \"./SubjectPropertyEditor.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubjectPropertyEditor.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('summons.summonsNumber'),\"value\":_vm.summons.issuanceNumber,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('issuanceNumber', $event, 'trim')}}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('v-select',{attrs:{\"value\":_vm.summons.iteration,\"label\":_vm.$t('summons.iteration'),\"items\":[1, 2, 3],\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('iteration', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('PartySelector',{attrs:{\"label\":_vm.$t('summons.selectParty'),\"value\":_vm.summons.partyID,\"dossierID\":_vm.dossierID,\"caseID\":_vm.caseID,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('partyID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('summons.issuanceExpectedLocation'),\"value\":_vm.summons.issuanceExpectedLocationID,\"min-specificity\":\"province\"},on:{\"input\":function($event){return _vm.update('issuanceExpectedLocationID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('summons.presenceDate'),\"value\":_vm.summons.presenceDate,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('presenceDate', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-menu',{attrs:{\"close-on-content-click\":false,\"nudge-right\":40,\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-text-field',_vm._g({attrs:{\"label\":_vm.$t('summons.presenceTime'),\"value\":_vm.summons.presenceTime,\"prepend-icon\":\"access_time\",\"readonly\":\"\"},on:{\"input\":function($event){return _vm.update('presenceTime', $event)}}},on))]}}]),model:{value:(_vm.timeMenuOpen),callback:function ($$v) {_vm.timeMenuOpen=$$v},expression:\"timeMenuOpen\"}},[(_vm.timeMenuOpen)?_c('v-time-picker',{attrs:{\"value\":_vm.summons.presenceTime,\"format\":\"24hr\"},on:{\"input\":function($event){return _vm.update('presenceTime', $event)},\"click:minute\":function($event){_vm.timeMenuOpen = false}}}):_vm._e()],1)],1),(_vm.courtID)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CourtroomSelector',{attrs:{\"courtID\":_vm.courtID,\"value\":_vm.summons.presenceCourtroomID},on:{\"input\":function($event){return _vm.update('presenceCourtroomID', $event)}}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { get, cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\n\nimport { mapGetters } from 'vuex';\n\nimport { AfghanistanID } from '@/vuex/geography/geography';\nimport { Case } from '@/vuex/court/case';\nimport { Summons } from '@/vuex/court/summons';\n\nimport CourtroomSelector from '@/components/court/courtroom/CourtroomSelector.vue';\nimport CourtSelector from '@/components/court/court/CourtSelector.vue';\nimport PartySelector from '@/components/court/party/PartySelector.vue';\n\nexport default Vue.extend({\n props: {\n value: Object,\n dossierID: Number,\n caseID: Number,\n },\n\n data() {\n return {\n timeMenuOpen: false,\n };\n },\n\n computed: {\n ...mapGetters('court', ['caseWithID', 'partyWithID']),\n\n kase(): Case {\n return this.caseWithID(this.caseID);\n },\n\n courtID(): number {\n if (this.kase) {\n return this.kase.courtID;\n } else {\n return 0;\n }\n },\n\n /**\n * summons computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n summons(): Summons {\n return this.value\n ? this.value\n : {\n dossierID: this.dossierID,\n caseID: this.caseID,\n partyID: 0,\n courtID: get(this, 'kase.courtID', 0),\n issuanceNumber: '',\n filedAt: '',\n iteration: 1,\n registeredAt: '',\n issuanceExpectedLocationID: AfghanistanID,\n issuanceNotes: '',\n presenceDate: '',\n presenceTime: '',\n presenceCourtroomID: 0,\n servedAt: '',\n serviceFiledAt: '',\n serviceResultID: 0,\n modeOfServiceID: 0,\n serviceLocationID: 0,\n servedToName: '',\n serviceNotes: '',\n appeared: false,\n };\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.summons), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n\n components: {\n CourtroomSelector,\n CourtSelector,\n PartySelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SummonsForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SummonsForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SummonsForm.vue?vue&type=template&id=14994f74&\"\nimport script from \"./SummonsForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./SummonsForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTimePicker } from 'vuetify/lib/components/VTimePicker';\ninstallComponents(component, {VCol,VMenu,VRow,VSelect,VTextField,VTimePicker})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { Case } from '@/vuex/court/case';\nimport { Dossier } from '@/vuex/court/dossier';\nimport { CourtFeeTransaction, CustomField } from '@/vuex/court/options';\n\nimport CivilDecisionForm from '@/components/court/decision/CivilDecisionForm.vue';\nimport CourtSelector from '@/components/court/court/CourtSelector.vue';\nimport CriminalDecisionForm from '@/components/court/decision/CriminalDecisionForm.vue';\nimport DefendantCharges from '@/components/charges/DefendantCharges.vue';\nimport DossierCaseSelector from '@/components/dossier/DossierCaseSelector.vue';\nimport DossierLookupField from '@/components/dossier/DossierLookupField.vue';\nimport FeeAssessmentForm from '@/components/court/fee/FeeAssessmentForm.vue';\nimport FeePaymentForm from '@/components/court/fee/FeePaymentForm.vue';\nimport HeadOfCourtSelector from '@/components/court/judge/HeadOfCourtSelector.vue';\nimport JudgeSelector from '@/components/court/judge/JudgeSelector.vue';\nimport ParticipantDecisionEditor from '@/components/court/ParticipantDecisionEditor.vue';\nimport ParticipantForm from '@/components/court/participant/ParticipantForm.vue';\nimport PartySelector from '@/components/court/party/PartySelector.vue';\nimport SubjectPropertyEditor from '@/components/subjectProperty/SubjectPropertyEditor.vue';\nimport SubjectPropertiesForm from '@/components/subjectProperty/SubjectPropertiesForm.vue';\nimport SubjectPropertyForm from '@/components/subjectProperty/SubjectPropertyForm.vue';\nimport SubjectPropertySelector from '@/components/subjectProperty/SubjectPropertySelector.vue';\nimport SummonsForm from '@/components/court/summons/SummonsForm.vue';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n caseID: Number,\n dossierID: Number,\n preselectedDocketEventTypeID: Number,\n },\n\n data() {\n return {\n error: null as any,\n isOpen: false,\n\n filedAt: moment().format(),\n docketEventType: this.preselectedDocketEventTypeID,\n departmentID: 0,\n awarenessNumber: '',\n notes: '',\n fieldData: {} as any,\n dossierIsFinal: false,\n finalCaseID: 0,\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['nameForIDInCollection', 'valueForLocale']),\n ...mapState('court', ['docketEventTypes', 'feeCategories']),\n ...mapGetters('court', [\n 'caseWithID',\n 'dossierWithID',\n 'settlementValueInPulsForCase',\n 'subjectPropertyTotalValueInPulsForDossier',\n ]),\n\n dossier(): Dossier {\n return this.dossierWithID(this.dossierID);\n },\n\n kase(): Case {\n return this.caseWithID(this.caseID);\n },\n\n caseType(): string {\n if (this.dossier) {\n return this.dossier.type;\n }\n return '';\n },\n\n courtStageID(): number {\n if (this.kase) {\n return this.kase.stageID;\n }\n return 0;\n },\n\n docketEventTypeItems(): any {\n return _.orderBy(this.docketEventTypes, ['name.' + this.locale], ['asc']);\n },\n\n selectedDocketEventType(): any {\n return _.find(this.docketEventTypes, { id: this.docketEventType });\n },\n\n willChangeDepartment(): boolean {\n if (!this.selectedDocketEventType) {\n return false;\n }\n return this.selectedDocketEventType.willChangeDepartment;\n },\n\n willFinalizeDossier(): boolean {\n if (!this.selectedDocketEventType) {\n return false;\n }\n return this.selectedDocketEventType.willFinalizeDossier;\n },\n\n willSetAwarenessNumber(): boolean {\n if (!this.selectedDocketEventType) {\n return false;\n }\n return this.selectedDocketEventType.willSetAwarenessNumber;\n },\n\n customFields(): any {\n if (this.selectedDocketEventType) {\n return this.selectedDocketEventType.fields;\n }\n return [];\n },\n\n courtID(): number {\n if (this.kase) {\n return this.kase.courtID;\n }\n return 0;\n },\n\n preselectedType(): any {\n return _.find(this.docketEventTypes, {\n id: this.preselectedDocketEventTypeID,\n });\n },\n },\n\n watch: {\n isOpen(val) {\n this.$emit('input', val);\n },\n\n value(val) {\n this.isOpen = val;\n },\n\n preselectedDocketEventTypeID(val) {\n this.docketEventType = val;\n },\n\n willFinalizeDossier(willFinalize: boolean) {\n if (willFinalize) {\n this.dossierIsFinal = true;\n }\n },\n\n dossierIsFinal(nowFinal: boolean) {\n if (!nowFinal) {\n this.finalCaseID = 0;\n }\n },\n },\n\n methods: {\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n // Send the API call\n try {\n const response = await courtAPI.post('cases/create-docket-event', {\n data: {\n caseID: this.caseID,\n dossierID: this.dossierID,\n filedAt: this.filedAt,\n typeID: this.docketEventType,\n departmentID: this.departmentID,\n awarenessNumber: this.awarenessNumber,\n notes: this.notes,\n dossierIsFinal: this.dossierIsFinal,\n finalCaseID: this.finalCaseID,\n fieldData: this.fieldData,\n },\n });\n\n // Update the State\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n\n // Attach the attachments\n const logEntry = response.data.logEntry;\n if (logEntry) {\n const newID = logEntry.id;\n (this.$refs.attachments as any).updateEntityID(newID);\n }\n\n // Add to the docket\n this.$store.commit('court/addDocketEntry', response);\n\n // Re-index CivilDecisions if they were added to the state\n if (this.hasFieldOfType(['CivilDecision'])) {\n this.$store.commit('court/reindexCivilDecision', this.caseID);\n }\n\n // Re-index Participants if they were added to the state\n if (this.hasFieldOfType(['AddParticipant'])) {\n if (this.caseID) {\n this.$store.commit('court/reindexCaseParticipants', this.caseID);\n } else {\n this.$store.commit(\n 'court/reindexDossierParticipants',\n this.dossierID,\n );\n }\n }\n\n // Re-index Subject Properties if they were added to the state\n if (\n this.hasFieldOfType(['AddSubjectProperty', 'AddSubjectProperties'])\n ) {\n this.$store.commit(\n 'court/reindexSubjectPropertiesForDossier',\n this.dossierID,\n );\n }\n\n // Close the Dialog\n this.close();\n } catch (error) {\n this.error = error;\n }\n },\n\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.filedAt = moment().format();\n this.docketEventType = this.preselectedDocketEventTypeID || 0;\n this.notes = '';\n if (this.dossier) {\n this.departmentID = this.dossier.lastDepartmentID;\n } else {\n this.departmentID = 0;\n }\n this.awarenessNumber = '';\n this.fieldData = {};\n this.finalCaseID = 0;\n this.dossierIsFinal = false;\n },\n\n close(): void {\n this.isOpen = false;\n },\n\n /**\n * hasFieldOfType returns true if this docket event has data for a field\n * of the requested type.\n */\n hasFieldOfType(desiredType: string | string[]): boolean {\n const allTypes: string[] = _.map(this.customFields, 'type');\n const desiredTypes = _.flatten([desiredType]);\n const matches = _.intersection(allTypes, desiredTypes);\n return matches.length > 0;\n },\n },\n components: {\n CourtSelector,\n CivilDecisionForm,\n CriminalDecisionForm,\n DefendantCharges,\n DossierCaseSelector,\n DossierLookupField,\n FeeAssessmentForm,\n FeePaymentForm,\n HeadOfCourtSelector,\n JudgeSelector,\n ParticipantForm,\n ParticipantDecisionEditor,\n PartySelector,\n SubjectPropertyEditor,\n SubjectPropertiesForm,\n SubjectPropertyForm,\n SubjectPropertySelector,\n SummonsForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddDocketEventDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddDocketEventDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddDocketEventDialog.vue?vue&type=template&id=1e09be38&\"\nimport script from \"./AddDocketEventDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddDocketEventDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VInput } from 'vuetify/lib/components/VInput';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCheckbox,VCol,VInput,VRow,VTextField,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('hearing.addAHearing'),\"no-activator\":\"\",\"max-width\":\"800px\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('hearing.date'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.hearingDate),callback:function ($$v) {_vm.hearingDate=$$v},expression:\"hearingDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-menu',{ref:\"menu\",attrs:{\"close-on-content-click\":false,\"nudge-right\":40,\"return-value\":_vm.time,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},on:{\"update:returnValue\":function($event){_vm.time=$event},\"update:return-value\":function($event){_vm.time=$event}},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-text-field',_vm._g({attrs:{\"value\":_vm.time,\"label\":_vm.$t('hearing.chooseATime'),\"prepend-icon\":\"access_time\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"readonly\":\"\"}},on))]}}])},[_c('v-time-picker',{attrs:{\"full-width\":\"\",\"format\":\"24hr\",\"color\":\"success\"},on:{\"click:minute\":function($event){return _vm.$refs.menu.save(_vm.time)}},model:{value:(_vm.time),callback:function ($$v) {_vm.time=$$v},expression:\"time\"}})],1)],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('hearing.selectHearingType'),\"items\":\"court/hearingTypes\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"exclude-unknown\":\"\"},model:{value:(_vm.hearingTypeID),callback:function ($$v) {_vm.hearingTypeID=$$v},expression:\"hearingTypeID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('CourtroomSelector',{attrs:{\"courtID\":_vm.kase.courtID},model:{value:(_vm.courtroomID),callback:function ($$v) {_vm.courtroomID=$$v},expression:\"courtroomID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('notes'),\"rows\":\"3\"},model:{value:(_vm.notes),callback:function ($$v) {_vm.notes=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"notes\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entity-type\":\"hearing\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\n\nimport CourtroomSelector from '@/components/court/courtroom/CourtroomSelector.vue';\n\nimport { Case } from '@/vuex/court/case';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n caseID: Number,\n },\n\n data() {\n return {\n isOpen: false,\n error: null as any,\n\n filedAt: moment().format(),\n hearingDate: '',\n hearingTypeID: 0,\n notes: '',\n time: '', // this and below for the time picker\n courtroomID: 0,\n };\n },\n\n computed: {\n ...mapGetters('court', ['caseWithID']),\n\n kase(): Case {\n return this.caseWithID(this.caseID);\n },\n },\n\n watch: {\n /**\n * value is watched so that the externally-bound v-model can be transferred\n * to its internal equivalent (isOpen).\n */\n value(val) {\n this.isOpen = val;\n },\n\n /**\n * isOpen is watched so that changes in the internal isOpen value can be\n * broadcast to the external v-model which to which this component is\n * bound.\n */\n isOpen(val) {\n this.$emit('input', val);\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.hearingDate = '';\n this.hearingTypeID = 0;\n this.time = '';\n this.filedAt = moment().format();\n this.notes = '';\n this.courtroomID = 0;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n try {\n const response = await courtAPI.post('cases/create-hearing', {\n data: {\n caseID: this.caseID,\n hearingDate: this.hearingDate,\n typeID: this.hearingTypeID,\n time: this.time,\n notes: this.notes,\n filedAt: this.filedAt,\n courtroomID: this.courtroomID,\n },\n });\n // Apply the received state to the Vuex store\n const newState = response.data.data;\n const newID = Object.keys(newState.hearing)[0];\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/prependToTarget', {\n target: 'hearingIDsForCase',\n index: this.caseID,\n value: newID,\n });\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n\n // Add the event to the docket\n this.$store.commit('court/addDocketEntry', response);\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n CourtroomSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddHearingDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddHearingDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddHearingDialog.vue?vue&type=template&id=7775e910&\"\nimport script from \"./AddHearingDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddHearingDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\nimport { VTimePicker } from 'vuetify/lib/components/VTimePicker';\ninstallComponents(component, {VCol,VMenu,VRow,VTextField,VTextarea,VTimePicker})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport i18n from '@/i18n';\nimport { mapState, mapGetters } from 'vuex';\n\nimport { AllCourtStageIDs } from '@/vuex/court/court';\nimport { AllDossierStageIDs } from '@/vuex/court/dossier';\nimport { Case, CaseStatus } from '@/vuex/court/case';\nimport {\n DocketEventType,\n DocketEventTypeModule,\n LookupItem,\n} from '@/vuex/court/options';\nimport { Dossier, DossierStatusID } from '@/vuex/court/dossier';\n\nimport AddDocketEventDialog from '@/components/court/case/AddDocketEventDialog.vue';\nimport AddHearingDialog from '@/components/court/hearing/AddHearingDialog.vue';\nimport AddParticipantDialog from '@/components/court/participant/AddParticipantDialog.vue';\nimport AddSubjectPropertyDialog from '@/components/subjectProperty/AddSubjectPropertyDialog.vue';\n\n/**\n * DocketMenuItem is defines an interface which is very similar to\n * DocketEventType. It includes only the properties which are needed in the\n * context of building a menu, and it adds some new properties which are menu\n * specific.\n */\ninterface DocketMenuItem {\n icon?: string;\n allowedCourtStageIDs: number[];\n allowedDossierStageIDs: number[];\n allowedCaseTypes: string[];\n module?: string | string[];\n categoryID: number;\n rank: number;\n isDiscontinued: boolean;\n\n label: string;\n method: string;\n payload: any;\n condition?: (kase: Case) => boolean;\n}\n\nexport default Vue.extend({\n props: {\n dossierID: Number,\n caseID: Number,\n module: [String, Array],\n },\n\n data() {\n return {\n menuOpen: false, // Trigger for the overall menu\n\n /**\n * Triggers for the various dialogs this menu triggers\n */\n addParticipantDialogOpen: false,\n addRulingDialogOpen: false,\n addDocketEventDialogOpen: false,\n addSubjectPropertyDialogOpen: false,\n addHearingDialogOpen: false,\n\n /**\n * Locale state which holds the docket event type which was clicked\n */\n docketEventTypeID: 0,\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['languageIsRTL']),\n ...mapGetters('court', ['caseWithID', 'dossierWithID']),\n ...mapState('court', [\n 'docketEventCategories',\n 'docketEventTypes',\n 'caseTypes',\n ]),\n\n dossier(): Dossier {\n return this.dossierWithID(this.dossierID);\n },\n\n kase(): Case {\n return this.caseWithID(this.caseID);\n },\n\n caseType(): string {\n if (this.kase) {\n return this.kase.type;\n }\n if (this.dossier) {\n return this.dossier.type;\n }\n return '';\n },\n\n courtStageID(): number {\n if (this.kase) {\n return this.kase.stageID;\n }\n return 0;\n },\n\n isDisposed(): boolean {\n if (this.kase) {\n return this.kase.statusID === CaseStatus.Disposed;\n }\n if (this.dossier) {\n return this.dossier.statusID === DossierStatusID.Closed;\n }\n return false;\n },\n\n /**\n * categories returns categories with their menu items attached. Categories\n * with no items are filtered out.\n */\n categories(): any[] {\n const categories = this.docketEventCategories as LookupItem[];\n const groupedItems = _.groupBy(this.allMenuItems, (mi) => mi.categoryID);\n return _.chain(categories)\n .map((category) =>\n Object.assign(category, {\n menuItems: groupedItems[category.id] || [],\n }),\n )\n .filter((category) => category.menuItems.length > 0)\n .sortBy(['rank', (category) => category.name[this.locale]])\n .value();\n },\n\n /**\n * allMenuItems combines the fixed and dynamic docket event menu items\n * filtered to remove those that are not allowed on the current screen.\n */\n allMenuItems(): DocketMenuItem[] {\n let items = [...this.fixedMenuItems, ...this.dynamicMenuItems];\n\n if (this.module) {\n // console.log(items);\n items = items.filter((mi) => {\n const itemModules = _.flatten([mi.module || []]);\n const componentModules = _.flatten([this.module]);\n const intersection = _.intersection(itemModules, componentModules);\n return intersection.length > 0;\n });\n }\n\n // Filter based on allowed case type\n items = items.filter((mi) =>\n _.includes(mi.allowedCaseTypes, this.caseType),\n );\n\n // Filter based on allowed stages if we're on a case\n if (_.includes(_.flatten([this.module]), DocketEventTypeModule.Court)) {\n items = items.filter((mi) =>\n _.includes(mi.allowedCourtStageIDs, this.kase.stageID),\n );\n }\n\n // Filter based on allowed dossier stages if we're on an Investigation docket\n if (\n _.includes(\n _.flatten([this.module]),\n DocketEventTypeModule.Investigation,\n )\n ) {\n items = items.filter((mi) =>\n _.includes(mi.allowedDossierStageIDs, this.dossier.stageID),\n );\n }\n\n // Filter out any marked as isDiscontinued\n items = items.filter((item) => !item.isDiscontinued);\n\n // Filter based on the condition function (if it exists)\n items = items.filter((mi) =>\n mi.condition ? mi.condition(this.kase) : true,\n );\n\n // Ensure unranked entries get moved to the bottom, and placed in the\n // uncategorized category.\n items = items.map((mi) => {\n mi.categoryID = mi.categoryID || 0;\n mi.rank = mi.rank || 999;\n return mi;\n });\n\n // Sort by rank and then label\n items = _.sortBy(items, ['rank', 'label']);\n\n return items;\n },\n\n /**\n * dynamicMenuItems converts the list of docket event types provided by the\n * backend into the menu item format used by this component. Each entry has\n * 'dynamicDocketEventMenuItemClicked' as its method, and the Docket Event\n */\n dynamicMenuItems(): DocketMenuItem[] {\n const types = this.docketEventTypes;\n return _.map(types, (det: DocketEventType) => {\n return {\n label: det.name[this.locale],\n categoryID: det.categoryID || 0,\n module: det.module || undefined,\n rank: det.rank || 999,\n method: 'dynamicDocketEventMenuItemClicked',\n payload: det.id,\n allowedCaseTypes: det.allowedCaseTypes,\n allowedCourtStageIDs: det.allowedCourtStageIDs,\n allowedDossierStageIDs: det.allowedDossierStageIDs,\n isDiscontinued: det.isDiscontinued || false,\n };\n });\n },\n\n /**\n * fixedMenuItems returns the list of hard-coded menu items. Each uses\n * 'openDialog' as their method, and the appropriate dialog v-model\n * variable name as their payload, so that the openDialog method opens that\n * dialog when the menu item is clicked.\n */\n fixedMenuItems(): DocketMenuItem[] {\n return [\n {\n icon: 'fa-plus',\n label: i18n.t('party.singular').toString(),\n method: 'openDialog',\n payload: 'addParticipantDialogOpen',\n categoryID: 1,\n rank: 10,\n module: ['investigation', 'court'],\n allowedCourtStageIDs: AllCourtStageIDs,\n allowedDossierStageIDs: AllDossierStageIDs,\n allowedCaseTypes: this.caseTypes,\n isDiscontinued: false,\n },\n {\n icon: 'fa-plus',\n label: i18n.t('subjectProperty.singular').toString(),\n method: 'openDialog',\n payload: 'addSubjectPropertyDialogOpen',\n categoryID: 1,\n rank: 10,\n module: ['investigation', 'court'],\n allowedCourtStageIDs: AllCourtStageIDs,\n allowedDossierStageIDs: AllDossierStageIDs,\n allowedCaseTypes: this.caseTypes,\n isDiscontinued: false,\n },\n {\n label: i18n.t('hearing.singular').toString(),\n method: 'openDialog',\n payload: 'addHearingDialogOpen',\n categoryID: 4,\n rank: 10,\n module: 'court',\n allowedCourtStageIDs: AllCourtStageIDs,\n allowedDossierStageIDs: [],\n allowedCaseTypes: this.caseTypes,\n isDiscontinued: false,\n },\n ];\n },\n },\n\n methods: {\n /**\n * menuItemClicked is the handler which is called directly when any menu\n * item is clicked. It acts as a \"forwarder\" or dispatcher and calls another\n * method (identified by the first argument) with a specific payload (its\n * second argument).\n */\n menuItemClicked(method: string, payload: any): void {\n // Close the menu right away.\n this.menuOpen = false;\n // Forward the call to another method.\n this[method](payload);\n },\n\n /**\n * dynamicDocketEventMenuItemClicked is called when any \"dynamic\" (that is,\n * \"from the database\") docket event menu item is clicked. It triggers\n * the AddDocketEventDialog to open with the provided docket event type\n * ID.\n */\n dynamicDocketEventMenuItemClicked(id: number): void {\n this.docketEventTypeID = id;\n this.addDocketEventDialogOpen = true;\n },\n\n /**\n * openDialog is called when any of the \"hard-coded\" (that is, \"with a\n * custom dialog\") menu items are clicked. The name of the v-model dialog\n * variable is the payload to this function. It sets that variable to\n * true, which activates the dialog.\n */\n openDialog(varname: string): void {\n this[varname] = true;\n },\n },\n\n components: {\n AddHearingDialog,\n AddParticipantDialog,\n AddDocketEventDialog,\n AddSubjectPropertyDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewDocketEntryMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewDocketEntryMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewDocketEntryMenu.vue?vue&type=template&id=00e72c80&\"\nimport script from \"./NewDocketEntryMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewDocketEntryMenu.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VIcon,VList,VListItem,VListItemAction,VListItemContent,VListItemTitle,VMenu})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-data-table',{attrs:{\"items\":_vm.events,\"headers\":_vm.headers,\"sort-by\":\"filedAtSort\",\"no-data-text\":_vm.$t('error.nodata'),\"disable-pagination\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',{attrs:{\"data-action-type\":item.actionType,\"data-type-id\":item.payload && item.payload.typeID ? item.payload.typeID : 0}},[_c('td',[_c('Date',{attrs:{\"value\":item.filedAt}})],1),_c('td',[_c('DocketablePresenter',{attrs:{\"entry\":item}})],1)])]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c(_vm.componentFile,{tag:\"component\",attrs:{\"entry\":_vm.entry}}),_c('div',{staticClass:\"mt-2 text-caption text--disabled\"},[_c('UserInitials',{attrs:{\"id\":_vm.entry.userID}}),_vm._v(\" — \"),_c('span',{on:{\"dblclick\":function($event){_vm.showPayload = !_vm.showPayload}}},[_c('Date',{attrs:{\"value\":_vm.entry.submittedAt,\"show-time\":\"\"}})],1),(_vm.showPayload)?_c('DefaultDocketEntry',{attrs:{\"entry\":_vm.entry}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"py-2\"},[_c('v-chip',{attrs:{\"label\":\"\"}},[_vm._v(_vm._s(_vm.entry.actionType))]),_c('v-expansion-panels',{staticClass:\"mt-2\",attrs:{\"hover\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',{attrs:{\"expand-icon\":\"fa-exclamation-circle\"}},[_vm._v(\" Coming soon! The display for this docket entry type has not yet been created. \")]),_c('v-expansion-panel-content',[_c('strong',[_vm._v(\"For Developers\")]),_c('ol',[_c('li',[_vm._v(\" Create \"),_c('strong',[_vm._v(\"./web/src/components/docket/Present\"+_vm._s(_vm.entry.actionType)+\".vue\")])]),_c('li',[_vm._v(\" Ensure it is imported as a component in \"),_c('strong',[_vm._v(\"DocketablePresenter.vue\")])])]),_c('pre',{staticClass:\"ma-10\"},[_vm._v(_vm._s(_vm.entry))]),_c('p',[_vm._v(\" The information above is available as the \"),_c('strong',[_vm._v(\"entry\")]),_vm._v(\" prop when implementing a presenter. \")])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n payload(): any {\n return this.entry.payload;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentDefaultDocketEntry.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentDefaultDocketEntry.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentDefaultDocketEntry.vue?vue&type=template&id=287a012a&\"\nimport script from \"./PresentDefaultDocketEntry.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentDefaultDocketEntry.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\ninstallComponents(component, {VChip,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-chip',{staticClass:\"mr-1\",attrs:{\"label\":\"\"}},[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t('finePayment.singular'))+\" \")],1),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('party.singular'))+\": \")]),_vm._v(\" \"+_vm._s(this.partyName(_vm.payload.partyID))+\" \")],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('finePayment.singular'))+\": \")]),_c('AFNDisplay',{attrs:{\"value\":_vm.payload.amountInPuls}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('finePayment.receiptNumber'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.payload.receiptNumber)+\" \")]),(_vm.payload.notes)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('notes'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.payload.notes)+\" \")]):_vm._e(),(_vm.payload.attachments)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('attachment.plural'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.payload.attachments)+\" \")]):_vm._e()],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('court', ['partyName']),\n payload(): any {\n return this.entry.payload;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentAddFinePaymentAction.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentAddFinePaymentAction.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentAddFinePaymentAction.vue?vue&type=template&id=af1804b2&\"\nimport script from \"./PresentAddFinePaymentAction.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentAddFinePaymentAction.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.party)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-chip',{staticClass:\"mr-1\",attrs:{\"label\":\"\"}},[_vm._v(\"Charges Altered\")]),_c('strong',[_vm._v(_vm._s(_vm.fullPartyName(_vm.party.id)))])],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ChargesSummary',{attrs:{\"charges\":_vm.charges}})],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\nimport { Party } from '@/vuex/court/party';\n\nimport ChargesSummary from '@/components/charges/ChargesSummary.vue';\nimport { Charge } from '@/vuex/court/charge';\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('court', ['partyTypes']),\n ...mapGetters('court', [\n 'fullPartyName',\n 'partiesForDossier',\n 'partyWithID',\n 'dossierWithID',\n ]),\n payload(): any {\n return this.entry.payload;\n },\n charges(): Charge[] {\n return this.payload.charges as Charge[];\n },\n party(): Party {\n return this.partyWithID(this.payload.partyID);\n },\n },\n components: {\n ChargesSummary,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentAlterCaseCharges.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentAlterCaseCharges.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentAlterCaseCharges.vue?vue&type=template&id=634fc2b7&\"\nimport script from \"./PresentAlterCaseCharges.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentAlterCaseCharges.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.party)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-chip',{staticClass:\"mr-1\",attrs:{\"label\":\"\"}},[_vm._v(\"Dossier Charges Altered\")]),_c('strong',[_vm._v(_vm._s(_vm.fullPartyName(_vm.party.id)))])],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ChargesSummary',{attrs:{\"charges\":_vm.charges}})],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\nimport { Party } from '@/vuex/court/party';\n\nimport ChargesSummary from '@/components/charges/ChargesSummary.vue';\nimport { Charge } from '@/vuex/court/charge';\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('court', ['partyTypes']),\n ...mapGetters('court', [\n 'fullPartyName',\n 'partiesForDossier',\n 'partyWithID',\n 'dossierWithID',\n ]),\n payload(): any {\n return this.entry.payload;\n },\n charges(): Charge[] {\n return this.payload.charges as Charge[];\n },\n party(): Party {\n return this.partyWithID(this.payload.partyID);\n },\n },\n components: {\n ChargesSummary,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentAlterDossierCharges.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentAlterDossierCharges.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentAlterDossierCharges.vue?vue&type=template&id=c544ed32&\"\nimport script from \"./PresentAlterDossierCharges.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentAlterDossierCharges.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-chip',{attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('hearing.canceled'))+\" \")]),_c('v-chip',{staticClass:\"mx-2\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.hearingType)+\" \")]),(_vm.hearing)?_c('span',{staticClass:\"my-0 mx-2\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('hearing.date'))+\":\")]),_c('Date',{attrs:{\"value\":_vm.hearing.hearingDate}}),_c('strong',[_vm._v(_vm._s(_vm.$t('hearing.time'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.hearing.time)+\" \")],1):_vm._e()],1)],1),(_vm.hearing)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('hearing.cancellationReason')))]),_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( _vm.hearing.cancellationReasonID, _vm.cancellationReasons ))+\" \")]),(_vm.hearing.cancellationNotes)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('hearing.cancellationNotes')))]),_vm._v(\" \"+_vm._s(_vm.hearing.cancellationNotes)+\" \")]):_vm._e()],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Hearing } from '@/vuex/court/hearing';\nimport { LookupItem } from '@/vuex/court/options';\n\nimport _ from 'lodash';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['hearingWithID']),\n ...mapState('court', ['hearingTypes', 'cancellationReasons']),\n payload(): any {\n if (!this.entry) {\n return null;\n }\n return this.entry.payload;\n },\n hearingType(): LookupItem | null {\n if (!this.hearing) {\n return null;\n }\n return this.nameForIDInCollection(this.hearing.typeID, this.hearingTypes);\n },\n hearingID(): string {\n if (!this.entry.affectedRecords) {\n return '';\n }\n return _.first(this.entry.affectedRecords.hearingIDs) || '';\n },\n hearing(): Hearing | null {\n if (!this.hearingID) {\n return null;\n }\n return this.hearingWithID(this.hearingID);\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCancelHearingAction.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCancelHearingAction.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentCancelHearingAction.vue?vue&type=template&id=fc99961e&\"\nimport script from \"./PresentCancelHearingAction.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentCancelHearingAction.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.caseID)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-chip',{staticClass:\"mr-1\",attrs:{\"label\":\"\"}},[_vm._v(_vm._s(_vm.$t('judge.plural')))])],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},_vm._l((_vm.caseJudges),function(judge){return _c('v-col',{key:judge.id,attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-bold\"},[(judge.isLeadJudge && !judge.isInvestigatorJudge)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('judge.leadJudge'))+\" \")]):_vm._e(),(judge.isInvestigatorJudge && !judge.isLeadJudge)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('judge.investigatingJudge'))+\" \")]):_vm._e(),(judge.isInvestigatorJudge && judge.isLeadJudge)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('judge.leadJudge'))+\" & \"+_vm._s(_vm.$t('judge.investigatingJudge'))+\" \")]):_vm._e(),(!judge.isLeadJudge && !judge.isInvestigatorJudge)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('judge.member'))+\" \")]):_vm._e()]),_vm._v(\": \"),_c('span',{staticClass:\"font-weight-regular\"},[_vm._v(\" \"+_vm._s(_vm.judgeName(judge.judgeID))+\" \")])])}),1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Case } from '@/vuex/court/case';\nimport { CaseJudge } from '@/vuex/court/caseJudge';\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('court', ['judgeName', 'caseWithID']),\n payload(): any {\n return this.entry.payload;\n },\n caseID(): number {\n return this.payload.caseID;\n },\n kase(): Case {\n return this.caseWithID(this.caseID);\n },\n caseJudges(): CaseJudge {\n return this.payload.caseJudges;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentConfigureCaseJudges.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentConfigureCaseJudges.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentConfigureCaseJudges.vue?vue&type=template&id=984f0cc6&\"\nimport script from \"./PresentConfigureCaseJudges.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentConfigureCaseJudges.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\"}},[_vm._v(\"CMS 1 Court Record\")]),(_vm.courtDecisionTypes.length)?_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.courtDecisionTypes.join(', '))+\" \")]):_vm._e(),(_vm.payload.isJuvenile)?_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('juvenile.singular'))+\" \")]):_vm._e(),(_vm.payload.isDetainee)?_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('offender.detainee.singular'))+\" \")]):_vm._e(),(_vm.payload.stageID)?_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\",\"color\":\"#F19A24\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.payload.stageID, 'court/courtStages'))+\" \")]):_vm._e(),(_vm.kase)?_c('span',{staticClass:\"my-0 mx-2\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('court.case.number')))]),_vm._v(\" \"+_vm._s(_vm.kase.number)+\" \")]):_vm._e()],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[(_vm.kase)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('court.singular'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.courtName(_vm.kase.courtID))+\" \")]):_vm._e(),(_vm.payload.investigatorJudge)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('judge.investigatingJudge')))]),_vm._v(\" \"+_vm._s(_vm.payload.investigatorJudge)+\" \")]):_vm._e(),(_vm.payload.judgeNames)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('judge.plural'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.judgeNames)+\" \")]):_vm._e(),(_vm.payload.hearingDate)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('hearing.singular'))+\":\")]),_c('Date',{attrs:{\"value\":_vm.payload.hearingDate}})],1):_vm._e(),(_vm.payload.decDate)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('decision.singular'))+\":\")]),_c('Date',{attrs:{\"value\":_vm.payload.decDate}})],1):_vm._e(),(_vm.payload.decDate2)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('decision.singular'))+\"2:\")]),_c('Date',{attrs:{\"value\":_vm.payload.decDate2}})],1):_vm._e(),(_vm.payload.hearingDate)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('hearing.date'))+\":\")]),_c('Date',{attrs:{\"value\":_vm.payload.hearingDate}})],1):_vm._e(),(_vm.payload.rulingDate)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('ruling.date'))+\":\")]),_c('Date',{attrs:{\"value\":_vm.payload.rulingDate}})],1):_vm._e(),(_vm.payload.rulingType)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('rulingType.singular'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.rulingType)+\" \")]):_vm._e(),(_vm.payload.decNumber)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('court.decision.decisionNumber'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.decNumber)+\" \")]):_vm._e(),(_vm.payload.charges && _vm.payload.charges.length)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('charge.plural'))+\":\")]),_c('ChargesSummary',{staticClass:\"px-4\",attrs:{\"charges\":_vm.payload.charges}})],1):_vm._e(),(_vm.payload.sentenceComponents)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('SentenceSummary',{attrs:{\"components\":_vm.payload.sentenceComponents,\"hide-fulfillment\":\"\"}})],1):_vm._e(),(_vm.payload.decNumber2)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('court.decision.decisionNumber'))+\" 2:\")]),_vm._v(\" \"+_vm._s(_vm.payload.decNumber2)+\" \")]):_vm._e(),(_vm.payload.courtDec)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('court.decision.verdictText'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.courtDec)+\" \")]):_vm._e(),(_vm.hasDefenseAttorneyInfo)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.$t('attorney.singular'))+\":\")]),_c('div',{staticClass:\"px-4\"},[(_vm.payload.defenseAttorney == 2)?_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('attorney.isAssigned'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.yes'))+\" \")]):_vm._e(),(_vm.payload.attName)?_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.name'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.attName)+\" \")]):_vm._e(),(_vm.payload.attDate)?_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('date')))]),_c('Date',{attrs:{\"value\":_vm.payload.attDate}})],1):_vm._e(),(_vm.payload.attEntity)?_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('attorneyType.singular'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.attEntity)+\" \")]):_vm._e(),(_vm.payload.attMobile)?_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.phoneNumber'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.attMobile)+\" \")]):_vm._e()])]):_vm._e(),(_vm.payload.notes)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('notes'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.notes)+\" \")]):_vm._e()],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const InvestigationDecisionTypes = {\n 57: {\n en: 'Case Referral to other Competent Organ',\n fa: 'ارجاع دوسیه به ارگان ذیصلاح دیگر',\n ps: 'ارجاع دوسیه به ارگان ذیصلاح دیگر',\n },\n 58: {\n en: 'Case Dismissal',\n fa: 'حفظ دوسیه',\n ps: 'حفظ دوسیه',\n },\n 59: {\n en: 'Charge Sheet',\n fa: 'اتهام نامه',\n ps: 'اتهام نامه',\n },\n 60: {\n en: 'Detention Cancellation Decision',\n fa: 'قرار لغوی توقیفی',\n ps: 'قرار لغوی توقیفی',\n },\n 62: {\n en: 'Unknown',\n fa: 'نامعلوم',\n ps: 'نامعلوم',\n },\n 121: {\n en: 'Indictment',\n fa: 'صورت دعوی',\n ps: 'صورت دعوی',\n },\n 122: {\n en: \"Objection to the Court's Decision\",\n fa: 'اعتراض بر فیصله محکمه',\n ps: 'اعتراض بر فیصله محکمه',\n },\n 123: {\n en: 'Appealing',\n fa: 'استیناف خواهی',\n ps: 'استیناف خواهی',\n },\n 124: {\n en: 'Request for Appeal',\n fa: 'تمیز طلبی',\n ps: 'تمیز طلبی',\n },\n 125: {\n en: 'Satisfaction',\n fa: 'قناعت',\n ps: 'قناعت',\n },\n 126: {\n en: 'Dissatisfaction',\n fa: 'عدم قناعت',\n ps: 'عدم قناعت',\n },\n 253: {\n en: 'Order on Stopping Order Enforcement',\n fa: 'قرار مبنی بر متوقف شدن تنفیذ حکم',\n ps: 'قرار مبنی بر متوقف شدن تنفیذ حکم',\n },\n 356: {\n en: 'Order on Lack of Necessity to File a Criminal Lawsuit',\n fa: 'قرار عدم لزوم اقامه دعوی جزایی',\n ps: 'قرار عدم لزوم اقامه دعوی جزایی',\n },\n 357: {\n en: 'Order on Delaying Investigation',\n fa: 'قرار مبنی بر تعویق تحقیق',\n ps: 'قرار مبنی بر تعویق تحقیق',\n },\n 479: {\n en: 'Order on Referring Case to the Detection Organ',\n fa: 'قرار احاله به مرجع کشفی',\n ps: 'قرار احاله به مرجع کشفی',\n },\n 480: {\n en: 'Order on Elimination of Gaps and Discrepancies',\n fa: 'قرار مبنی بر رفع خلا و ن واقص',\n ps: 'قرار مبنی بر رفع خلا و نواقص',\n },\n 481: {\n en: 'Case Referral to Huqooq Department',\n fa: 'ارجاع دوسیه به حقوق',\n ps: 'ارجاع دوسیه به حقوق',\n },\n 482: {\n en: 'Order on Lack of Authority to Handle the Case',\n fa: 'قرار مبنی بر عدم صلاحیت رسیدگی',\n ps: 'قرار مبنی بر عدم صلاحیت رسیدگی',\n },\n 483: {\n en: 'Analysis of Order',\n fa: 'حل یا تحلیل قرار',\n ps: 'حل یا تحلیل قرار',\n },\n 485: {\n en: 'Order on Completion of Detention Duration',\n fa: 'قرار مبنی بر ختم توقیفی',\n ps: 'قرار مبنی بر ختم توقیفی',\n },\n 489: {\n en: 'Order on Lack of Necessity to File a Lawsuit',\n fa: 'قرار مبنی بر عدم لزوم اقامه دعوی',\n ps: 'قرار مبنی بر عدم لزوم اقامه دعوی',\n },\n 578: {\n en: 'Under work',\n fa: 'تحت کار',\n ps: 'د کار لاندې',\n },\n 723: {\n en: 'Investigation order',\n fa: 'قرار تعقیبی',\n ps: 'د څېړنې قرار',\n },\n 724: {\n en: 'Instructive order (Referral of Documents)',\n fa: 'قرار رهنمودی (احاله اوراق)',\n ps: 'لارښود قرار (د پاڼو احاله)',\n },\n 813: {\n en: 'Arrest Warrant',\n fa: 'قرار دستگیری',\n ps: 'قرار دستگیری',\n },\n 814: {\n en: 'Invitation Warrant',\n fa: 'قرار جلب و احضار',\n ps: 'قرار جلب و احضار',\n },\n 830: {\n en: 'Ruling on monitoring of lower courts’ decisions',\n fa: 'قرار نظارتی بر فیصله های محاکم تحتانی',\n ps: 'قرار نظارتی بر فیصله های محاکم تحتانی',\n },\n 831: {\n en: 'Ruling to monitor the enforcement of the court’s final verdict',\n fa: 'قرار نظارتی بر تطبیق حکم نهایی',\n ps: 'د نهائی حکم د تطبیق نظارتی قرار',\n },\n 832: {\n en: 'Ruling on objection based on appeal',\n fa: 'قرار مبنی بر اعتراض استینافی',\n ps: 'د استینافی اعتراض په اساس قرار',\n },\n 833: {\n en: 'Ruling on conflict of authority',\n fa: 'قرار مبنی بر تنازع صلاحیت',\n ps: 'دصلاحیت د تنازع پر اساس قرار',\n },\n 834: {\n en: 'Lack of verdict enforcement',\n fa: 'عدم تطبیق حکم',\n ps: 'د حکم نه تطبیق',\n },\n 835: {\n en: 'Rejecting by official letter',\n fa: 'مکتوبی مسترد',\n ps: 'مکتوبی مسترد ول ',\n },\n 836: {\n en: 'Proceeding of personal right matter',\n fa: 'رسیدگی به موضوع حق العبدی',\n ps: 'حق العبدی موضوع ته رسیدگی کول',\n },\n 837: {\n en: 'Revocation of decision and send for new decision',\n fa: 'ارسال جهت فیصله مجدد',\n ps: 'مجددی فیصلی ته لیژل',\n },\n 838: {\n en: 'Refer to similar court',\n fa: 'ارسال به محکمه مماثل',\n ps: 'مماثل محکمی ته لیژل',\n },\n 839: {\n en: 'Ruling on dismissal of criminal disputes',\n fa: 'قرار مبنی بر سقوط دعوی جزائی',\n ps: 'د جزائی دعوا د سقوط پر اساس قرار',\n },\n 840: {\n en: 'Order to investigate',\n fa: 'قرار تحقیقی',\n ps: 'تحقیقی قرار',\n },\n};\n\nexport const FateOfAccused = {\n 470: {\n en: 'Custody',\n fa: 'نظارت',\n ps: 'نظارت',\n },\n 471: {\n en: 'Detention',\n fa: 'توقیف',\n ps: 'توقیف',\n },\n 472: {\n en: 'Release on Guarantee',\n fa: 'به ضمانت رها',\n ps: 'به ضمانت رها',\n },\n 473: {\n en: 'Release',\n fa: 'رها',\n ps: 'رها',\n },\n 474: {\n en: 'Guarantee by Money',\n fa: 'کفالت باالمال',\n ps: 'کفالت باالمال',\n },\n 475: {\n en: 'Segment Guarantee',\n fa: 'ضمانت قطعه',\n ps: 'ضمانت قطعه',\n },\n 476: {\n en: 'Escape',\n fa: 'فرار',\n ps: 'فرار',\n },\n 477: {\n en: 'Under Arrest',\n fa: 'تحت جلب',\n ps: 'تحت جلب',\n },\n 478: {\n en: 'Under Detection',\n fa: 'تحت کشف',\n ps: 'تحت کشف',\n },\n 484: {\n en: 'Under the imprisonment',\n fa: 'تحت حبس',\n ps: 'تحت حبس',\n },\n 490: {\n en: 'Confined',\n fa: 'تحت حجز',\n ps: 'په حجز کې',\n },\n 491: {\n en: 'Imprison in Military Unit',\n fa: 'حبس در قطعه',\n ps: 'حبس په قطعه کې',\n },\n 492: {\n en: 'Confined in Home',\n fa: 'حجز در منزل',\n ps: 'په کور کې تر حجز لاندې',\n },\n 493: {\n en: 'Confined in Close Centre',\n fa: 'حجز در محل بسته',\n ps: 'حجز په بند ځای کې',\n },\n 495: {\n en: 'Suspended Imprisonment',\n fa: 'حبس در حال تعلیق',\n ps: 'حبس د ځنډولو په حال کې',\n },\n 496: {\n en: 'Confined in Open Centre',\n fa: 'حجز در مرکز باز',\n ps: 'په خلاص مرکز کی تر حجز لاندی',\n },\n 841: {\n en: 'Alternative imprisonment',\n fa: 'بدیل حبس',\n ps: 'دحبس بدیل',\n },\n 855: {\n en: 'Passed away',\n fa: 'متوفی',\n ps: 'مړ شوی',\n },\n};\n\nexport const CourtDecisionTypes = {\n '592': {\n en: 'Confiscation of Property',\n fa: 'مصادره اموال',\n ps: 'مصادره اموال',\n },\n '593': { en: 'Seizure', fa: 'ضبط', ps: 'ضبط' },\n '594': { en: 'Alternative to Imprisonment', fa: 'بدیل حبس', ps: 'بدیل حبس' },\n '595': {\n en: 'Alternative to Detention/ Confinement',\n fa: 'بدیل حجز',\n ps: 'بدیل حجز',\n },\n '596': { en: 'Execution', fa: 'اعدام', ps: 'اعدام' },\n '597': { en: 'Cash Fine', fa: 'جزای نقدی', ps: 'جزای نقدی' },\n '598': { en: 'Imprisonment', fa: 'حبس', ps: 'حبس' },\n '599': { en: 'Confinement, Detention', fa: 'حجز', ps: 'حجز' },\n '614': {\n en: 'Discharged from any Obligation',\n fa: 'بری الذمه',\n ps: 'بری الذمه',\n },\n '631': {\n en: 'Compensation',\n fa: 'تاوان و جبران خساره',\n ps: 'تاوان و جبران خساره',\n },\n '632': { en: 'Judicial Order', fa: 'قرار قضایی', ps: 'قرار قضایی' },\n '649': { en: 'Life Imprisonment', fa: 'حبس ابد', ps: 'د ژوند حبس' },\n '802': {\n en: 'Submission to Parents',\n fa: 'تسلیم به والدین',\n ps: 'والدینوته سپارل',\n },\n '803': { en: 'Suspended Imprisonment', fa: 'حبس تعلیقی', ps: 'تعلیقی حبس' },\n '808': {\n en: 'Imprisonment at Military Base',\n fa: 'حبس قطعه',\n ps: 'په قطعه کی حبس',\n },\n '842': {\n en: 'Annulment of the Court verdict',\n fa: 'ابطال حکم',\n ps: 'دحکم ابطال',\n },\n '846': {\n en: 'Suspended Criminal Fine',\n fa: 'جزای نقدی تعلیقی',\n ps: 'جزای نقدی تعلیقی',\n },\n '851': { en: 'Blood Money', fa: 'خون بها / دیت', ps: 'خون بها / دیت' },\n '856': { en: 'Rejection By Letter', fa: 'مسترد مکتوبی', ps: 'مسترد مکتوبی' },\n};\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { Case } from '@/vuex/court/case';\nimport { CourtDecisionTypes } from '@/vuex/court/cms1';\n\nimport ChargesSummary from '@/components/charges/ChargesSummary.vue';\nimport SentenceSummary from '@/components/court/SentenceSummary.vue';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['caseWithID', 'courtName']),\n\n payload(): any {\n return _.get(this, 'entry.payload', {});\n },\n\n kase(): Case {\n return this.caseWithID(this.payload.caseID);\n },\n\n hasDefenseAttorneyInfo(): boolean {\n if (!this.payload) {\n return false;\n }\n if (this.payload.attName) {\n return true;\n }\n if (this.payload.defenseAttorney === 2) {\n return true;\n }\n return false;\n },\n\n courtDecisionTypes(): string[] {\n const courtDecType = _.get(this.payload, 'courtDecType', null);\n const rulingType = _.get(this.payload, 'rulingType', null);\n const decDate = _.get(this.payload, 'decDate', null);\n const hearingDate = _.get(this.payload, 'hearingDate', null);\n const rulingDate = _.get(this.payload, 'rulingDate', null);\n\n if (!courtDecType) {\n if (decDate) {\n return [i18n.t('decision.singular').toString()];\n }\n if (hearingDate) {\n return [i18n.t('hearing.singular').toString()];\n }\n if (rulingDate) {\n return [i18n.t('ruling.singular').toString()];\n }\n return ['Unknown'];\n }\n\n const types = courtDecType.toString().split(',');\n return _.chain(types)\n .map((t) => {\n const type = CourtDecisionTypes[t];\n if (type) {\n return type[this.locale];\n } else {\n return null;\n }\n })\n .value();\n },\n },\n components: {\n ChargesSummary,\n SentenceSummary,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCourtRecord.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCourtRecord.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentCourtRecord.vue?vue&type=template&id=15f45066&\"\nimport script from \"./PresentCourtRecord.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentCourtRecord.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.kase)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('v-chip',{staticClass:\"mr-1\",attrs:{\"label\":\"\",\"to\":{ name: 'caseShow', params: { id: _vm.caseID } }}},[_vm._v(\" \"+_vm._s(_vm.$t('case.created'))+\" \")]),(_vm.kase)?_c('span',{staticClass:\"text--secondary\"},[_c('v-chip',{staticClass:\"mr-1\",attrs:{\"label\":\"\",\"color\":\"#F19A24\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.kase.stageID, _vm.courtStages))+\" \")])],1):_vm._e(),(_vm.kase)?_c('span',{staticClass:\"my-0 mx-2\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('court.case.number')))]),_vm._v(\" \"+_vm._s(_vm.kase.number)+\" \")]):_vm._e()],1),_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":function($event){_vm.expanded = !_vm.expanded}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.expanded ? 'fa-angle-up' : 'fa-angle-down')+\" \")])],1)],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('court.singular'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.courtName(_vm.payload.courtID))+\" \")]),(_vm.payload.headOfCourtJudgeID)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(\" \"+_vm._s(_vm.$t('court.headOfCourt'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.headOfCourtJudgeName)+\" \")]):_vm._e()],1),_c('v-expand-transition',[(_vm.payload.participants)?_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expanded),expression:\"expanded\"}],attrs:{\"no-gutters\":\"\"}},_vm._l((_vm.payload.participants),function(participant,i){return _c('v-col',{key:i,staticClass:\"mt-6\",attrs:{\"cols\":\"12\",\"sm\":\"12\",\"no-gutters\":\"\"}},[_c('ParticipantSummary',{attrs:{\"participant\":participant}})],1)}),1):_vm._e()],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport { Case } from '@/vuex/court/case';\nimport { Dossier } from '@/vuex/court/dossier';\nimport { Participant } from '@/vuex/court/participant';\nimport { Court } from '@/vuex/court/court';\n\nimport ParticipantSummary from '@/components/court/participant/ParticipantSummary.vue';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n data() {\n return {\n expanded: false,\n };\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', [\n 'attorneyName',\n 'caseWithID',\n 'courtName',\n 'courtWithID',\n 'dossierWithID',\n 'judgeName',\n 'fullPartyName',\n 'primaryParticipantsForCase',\n ]),\n ...mapState('court', ['attorneyTypes', 'partyTypes', 'courtStages']),\n caseParticipants(): Participant[] {\n return this.primaryParticipantsForCase(this.caseID);\n },\n dossier(): Dossier {\n return this.dossierWithID(this.payload.dossierID) || '';\n },\n payload(): any {\n return this.entry.payload;\n },\n caseID(): number {\n return this.entry.affectedRecords.caseIDs[0];\n },\n court(): Court | null {\n if (this.payload.courtID) {\n return this.courtWithID(this.payload.courtID);\n } else if (this.payload.case && this.payload.case.courtID) {\n // Deprecated CreateCase format\n return this.courtWithID(this.payload.case.courtID);\n }\n return null;\n },\n headOfCourtJudgeName(): string {\n return this.judgeName(this.payload.headOfCourtJudgeID);\n },\n kase(): Case {\n return this.caseWithID(this.caseID);\n },\n },\n components: {\n ParticipantSummary,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateCase.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateCase.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentCreateCase.vue?vue&type=template&id=8cc41ec6&\"\nimport script from \"./PresentCreateCase.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentCreateCase.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpandTransition } from 'vuetify/lib/components/transitions';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VChip,VCol,VExpandTransition,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('v-chip',{staticClass:\"mr-1\",attrs:{\"label\":\"\"}},[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t('judge.singular'))+\" \")],1),_vm._v(\" \"+_vm._s(this.judgeName(_vm.payload.judgeID))+\" \"),(_vm.payload.isLeadJudge)?_c('span',[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"fa-gavel\")]),_vm._v(\" \"+_vm._s(_vm.$t('judge.leadJudge'))+\" \")],1):_vm._e(),(_vm.payload.isInvestigatorJudge)?_c('span',[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"fa-search\")]),_vm._v(\" \"+_vm._s(_vm.$t('judge.investigatingJudge'))+\" \")],1):_vm._e()],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('court', ['judgeName']),\n payload(): any {\n return this.entry.payload;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateCaseJudge.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateCaseJudge.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentCreateCaseJudge.vue?vue&type=template&id=ca5f87e2&\"\nimport script from \"./PresentCreateCaseJudge.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentCreateCaseJudge.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"11\"}},[_c('v-chip',{attrs:{\"label\":\"\",\"to\":_vm.hasPermission('crimeReport.view')\n ? { name: 'crimeReportShow', params: { id: _vm.crimeReportID } }\n : undefined}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t('crimeReport.singular'))+\" \")],1)],1),(_vm.hasPermission('crimeReport.view'))?_c('v-col',{attrs:{\"cols\":\"1 text-right\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"text\":\"\",\"target\":\"_blank\",\"to\":{ name: 'crimeReportPrint', params: { id: _vm.crimeReportID } },\"exact\":\"\"}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-print\")])],1)],1):_vm._e()],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('crimeReport.locationID'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.fullGeographyName(_vm.payload.locationID))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('crimeReport.occurredAtDate'))+\":\")]),_c('Date',{attrs:{\"value\":_vm.payload.occurredOn}})],1),(_vm.payload.occurredAt)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('crimeReport.occurredAtTime'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.occurredAt)+\" \")]):_vm._e(),(_vm.suspectNames)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('suspect.plural'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.suspectNames)+\" \")]):_vm._e(),(_vm.crimeNames)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('charge.crime.plural'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.crimeNames)+\" \")]):_vm._e(),(_vm.victimNames)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('victim.plural'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.victimNames)+\" \")]):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('crimeReport.officerName'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.officerName)+\" \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport { mapGetters, mapState } from 'vuex';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('court', ['crimeReportWithID', 'partyName']),\n ...mapGetters('geography', ['fullGeographyName']),\n ...mapGetters('crime', ['crimeWithID']),\n ...mapGetters('profile', ['profileName']),\n ...mapState('language', ['locale']),\n payload(): any {\n return this.entry.payload;\n },\n\n crimeReportID(): number {\n if (\n !this.entry.affectedRecords ||\n !this.entry.affectedRecords.crimeReportIDs\n ) {\n return 0;\n }\n return _.first(this.entry.affectedRecords.crimeReportIDs) || 0;\n },\n\n victimNames(): string {\n if (!this.payload) {\n return '';\n }\n return _.chain(this.payload.victimIDs || [])\n .map(this.partyName)\n .compact()\n .value()\n .join(', ');\n },\n\n crimeNames(): string {\n if (!this.payload) {\n return '';\n }\n return _.chain(this.payload.crimeIDs || [])\n .map((id) => this.crimeWithID(id).title[this.locale])\n .compact()\n .value()\n .join(', ');\n },\n\n suspectNames(): string {\n if (!this.payload) {\n return '';\n }\n return _.map(this.payload.suspectIDs, (id) => this.profileName(id)).join(\n ', ',\n );\n },\n },\n components: {},\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateCrimeReport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateCrimeReport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentCreateCrimeReport.vue?vue&type=template&id=82566856&\"\nimport script from \"./PresentCreateCrimeReport.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentCreateCrimeReport.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VChip,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"10\",\"sm\":\"8\"}},[_c('v-chip',{staticClass:\"mr-1\",attrs:{\"label\":\"\",\"color\":_vm.docketEventType.willChangeCaseStatus ? '#f19a24' : ''}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.payload.typeID, _vm.docketEventTypes))+\" \")]),(_vm.docketEventType && _vm.docketEventType.willChangeCaseStatus)?_c('span',{staticClass:\"mr-2\"},[_c('strong',{staticClass:\"mr-1\"},[_vm._v(_vm._s(_vm.$t('court.status'))+\": \")]),_c('CaseStatusLabel',{attrs:{\"statusID\":_vm.docketEventType.newCaseStatusID,\"dispositionReasonID\":_vm.docketEventType.caseDispositionReasonID}})],1):_vm._e()],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},_vm._l((_vm.fields),function(field){return _c('FieldValue',{key:field.name,attrs:{\"label\":field.noLabel ? '' : field.label[_vm.locale]}},[(field.type == 'AFNCurrencyField')?_c('span',[_c('AFNDisplay',{attrs:{\"value\":field.value}})],1):_vm._e(),(field.type == 'IntField')?_c('span',[_vm._v(\" \"+_vm._s(field.value)+\" \")]):_vm._e(),(field.type == 'TextField')?_c('span',[_vm._v(\" \"+_vm._s(field.value)+\" \")]):_vm._e(),(field.type == 'DateField')?_c('span',[_c('Date',{attrs:{\"value\":field.value}})],1):_vm._e(),(field.type == 'GeographySelector')?_c('GeographyName',{attrs:{\"full\":\"\",\"id\":field.value}}):_vm._e(),(field.type == 'DossierCaseSelector')?_c('span',[(_vm.caseWithID(field.value))?_c('span',[_c('router-link',{attrs:{\"to\":{ name: 'caseShow', params: { id: field.value } }}},[_vm._v(\" \"+_vm._s(_vm.caseWithID(field.value).number)+\" \")])],1):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('unknown'))+\" \")])]):_vm._e(),(field.type == 'DossierLookupField')?_c('DossierNumber',{attrs:{\"link\":\"\",\"id\":field.value}}):_vm._e(),(field.type == 'CourtSelector')?_c('span',[_c('CourtName',{attrs:{\"full\":\"\",\"id\":field.value}})],1):_vm._e(),(field.type == 'IssueSummons')?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('IssueSummonsDetails',{attrs:{\"summons\":field.value}})],1),_c('v-col',{staticClass:\"text-end\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[(_vm.affectedSummons)?_c('RecordSummonsServiceDialog',{attrs:{\"id\":_vm.affectedSummons.id}}):_vm._e()],1)],1):_vm._e(),(field.type == 'LookupTable')?_c('span',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(field.value, field.typeArgs.tableName))+\" \")]):_vm._e(),(field.type == 'PartySelector' || field.type == 'RemoveParty')?_c('span',[_vm._v(\" \"+_vm._s(_vm.partyName(field.value))+\" \")]):_vm._e(),(field.type == 'AddParticipant' && field.value)?_c('span',[_c('ParticipantSummary',{attrs:{\"participant\":field.value}})],1):_vm._e(),(field.type == 'ParticipantDecisionEditor' && field.value)?_c('span',[_vm._v(\" \"+_vm._s(_vm.partyName(field.value.partyID))+\" \"),_c('strong',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('participant.isDecisionAccepted'))+\": \")]),_c('BooleanDisplay',{attrs:{\"value\":field.value.isDecisionAccepted,\"true-label\":_vm.$t('accepted'),\"false-label\":_vm.$t('notAccepted')}})],1):_vm._e(),(field.type == 'SubjectPropertySelector')?_c('span',[_vm._v(\" \"+_vm._s(_vm.subjectPropertyName(field.value))+\" \")]):_vm._e(),(field.type == 'AddSubjectProperties' && field.value)?_c('div',[_c('SubjectPropertyCard',{attrs:{\"objects\":field.value}})],1):_vm._e(),(field.type == 'AddSubjectProperty' && field.value)?_c('div',[_c('SubjectPropertyCard',{attrs:{\"objects\":field.value}})],1):_vm._e(),(field.type == 'SubjectPropertyEditor' && field.value)?_c('div',[(field.value)?_c('SubjectPropertyCard',{attrs:{\"objects\":field.value}}):_vm._e()],1):_vm._e(),(field.type == 'RemoveSubjectProperty')?_c('span',[_vm._v(\" \"+_vm._s(_vm.subjectPropertyName(field.value))+\" \")]):_vm._e(),(field.type == 'JudgeSelector')?_c('span',[_vm._v(\" \"+_vm._s(_vm.judgeName(field.value))+\" \")]):_vm._e(),(field.type == 'BooleanSelector')?_c('span',[(field.value)?_c('span',[_vm._v(_vm._s(_vm.$t('command.yes')))]):_vm._e(),(!field.value)?_c('span',[_vm._v(_vm._s(_vm.$t('command.no')))]):_vm._e()]):_vm._e(),(field.type == 'PhoneField')?_c('span',[_vm._v(\" \"+_vm._s(field.value)+\" \")]):_vm._e(),(field.type == 'HeadOfCourtSelector')?_c('span',[_vm._v(\" \"+_vm._s(_vm.judgeName(field.value))+\" \")]):_vm._e(),(field.type == 'DepartmentSelector' && field.value)?_c('span',[_c('DepartmentName',{attrs:{\"full\":\"\",\"id\":field.value}})],1):_vm._e(),(field.type == 'DefendantCharges')?_c('div',_vm._l((field.value),function(participant,i){return _c('v-row',{key:'participant' + i,staticClass:\"mb-4\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.partyName(participant.partyID))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ChargesSummary',{attrs:{\"charges\":participant.charges}})],1)],1)}),1):_vm._e(),(field.type == 'CriminalDecision')?_c('div',[(field.value)?_c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((field.value),function(participant){return _c('v-col',{key:participant.id,attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.partyName(participant.partyID))+\" \"),_c('SentenceSummary',{attrs:{\"components\":participant.sentenceComponents,\"hide-fulfillment\":\"\"}})],1)}),1):_vm._e()],1):_vm._e(),(field.type == 'CivilDecision')?_c('div',[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[(field.value.decisionNumber)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('court.decision.decisionNumber'))+\":\")]),_vm._v(\" \"+_vm._s(field.value.decisionNumber)+\" \")]):_vm._e(),(field.value.settlementValueInPuls)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('court.decision.settlementValue'))+\":\")]),_c('AFNDisplay',{attrs:{\"value\":field.value.settlementValueInPuls}})],1):_vm._e(),(\n field.value.favorPartyIDs && field.value.favorPartyIDs.length\n )?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('court.decision.favor'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.partyName(field.value.favorPartyIDs))+\" \")]):_vm._e(),(\n field.value.againstPartyIDs &&\n field.value.againstPartyIDs.length\n )?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('court.decision.against'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.partyName(field.value.againstPartyIDs))+\" \")]):_vm._e(),(field.value.verdictText)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('court.decision.verdictText'))+\":\")]),_vm._v(\" \"+_vm._s(field.value.verdictText)+\" \")]):_vm._e()],1)],1):_vm._e(),(field.type == 'FeeAssessment')?_c('span',[_c('AFNDisplay',{attrs:{\"value\":field.value.amountInPuls}}),(field.value.percentOfValue)?_c('span',{staticClass:\"ms-2\"},[_vm._v(\" ( \"+_vm._s(((field.value.percentOfValue || 0) * 100).toFixed(0))+\" x \"),_c('AFNDisplay',{attrs:{\"value\":field.value.disputedValueInPuls}}),_vm._v(\" ) \")],1):_vm._e(),_c('v-chip',{staticClass:\"ms-2\",attrs:{\"label\":\"\",\"small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( field.value.categoryID, 'court/feeCategories' ))+\" \")])],1):_vm._e(),(field.type == 'FeePayment')?_c('span',[_c('AFNDisplay',{attrs:{\"value\":field.value.amountInPuls}}),_c('v-chip',{staticClass:\"ms-2\",attrs:{\"label\":\"\",\"small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( field.value.categoryID, 'court/feeCategories' ))+\" \")])],1):_vm._e()],1)}),1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.payload.notes)?_c('FieldValue',{attrs:{\"label\":_vm.$t('notes')}},[_vm._v(\" \"+_vm._s(_vm.payload.notes)+\" \")]):_vm._e(),(_vm.docketEventType.WillChangeDepartment && _vm.payload.departmentID)?_c('FieldValue',{attrs:{\"label\":_vm.$t('newDepartment')}},[_c('DepartmentName',{attrs:{\"full\":\"\",\"id\":_vm.payload.departmentID}})],1):_vm._e(),(_vm.payload.awarenessNumber)?_c('FieldValue',{attrs:{\"label\":_vm.$t('dossier.awarenessNumber.singular')}},[_vm._v(\" \"+_vm._s(_vm.payload.awarenessNumber)+\" \")]):_vm._e(),(_vm.docketEventType.willFinalizeDossier)?_c('FieldValue',{attrs:{\"label\":_vm.$t('dossier.isFinal')}},[_c('BooleanDisplay',{attrs:{\"value\":_vm.payload.dossierIsFinal,\"true-label\":_vm.$t('command.yes'),\"false-label\":_vm.$t('command.no')}})],1):_vm._e(),(_vm.finalCase)?_c('FieldValue',{attrs:{\"label\":_vm.$t('case.final')}},[_vm._v(\" \"+_vm._s(_vm.finalCase.number)+\" \")]):_vm._e(),(_vm.finalCase && _vm.finalCase.courtID)?_c('FieldValue',{attrs:{\"label\":_vm.$t('court.final')}},[_c('CourtName',{attrs:{\"full\":\"\",\"id\":_vm.finalCase.courtID}})],1):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('AttachmentsLinks',{attrs:{\"entityType\":\"docketEvent\",\"entityID\":_vm.entry.id}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.summons)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('summons.summonsNumber'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.summons.issuanceNumber)+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('summons.iteration'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.summons.iteration)+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('party.singular'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.partyName(_vm.summons.partyID))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('summons.issuanceExpectedLocation'))+\": \")]),_c('GeographyName',{attrs:{\"full\":\"\",\"id\":_vm.summons.issuanceExpectedLocationID}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('summons.presenceDate'))+\": \")]),_c('Date',{attrs:{\"value\":_vm.summons.presenceDate}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('summons.presenceTime'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.summons.presenceTime)+\" \")]),(_vm.summons.presenceCourtroomID)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('summons.presenceLocation')))]),_vm._v(\" \"+_vm._s(_vm.courtroomName(_vm.summons.presenceCourtroomID))+\" \")]):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nexport default Vue.extend({\n props: {\n summons: {\n type: Object,\n required: true,\n },\n },\n\n computed: {\n ...mapGetters('court', ['partyName', 'courtroomName']),\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IssueSummonsDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IssueSummonsDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IssueSummonsDetails.vue?vue&type=template&id=4195d516&\"\nimport script from \"./IssueSummonsDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./IssueSummonsDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"title\":_vm.$t('summons.recordService')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([(_vm.summons && !_vm.summons.servedAt)?{key:\"activator\",fn:function(slotProps){return [_c('v-btn',_vm._g({staticClass:\"mx-1\",attrs:{\"color\":\"accent\",\"x-small\":\"\"}},slotProps.on),[_vm._v(\" \"+_vm._s(_vm.$t('summons.recordService'))+\" \")])]}}:null],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),(_vm.summons)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('PartySelector',{attrs:{\"dossierID\":_vm.summons.dossierID,\"label\":_vm.$t('summons.selectParty'),\"disabled\":\"\"},model:{value:(_vm.summons.partyID),callback:function ($$v) {_vm.$set(_vm.summons, \"partyID\", $$v)},expression:\"summons.partyID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('summons.servedAt'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.servedAt),callback:function ($$v) {_vm.servedAt=$$v},expression:\"servedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('summons.servedToName')},model:{value:(_vm.servedToName),callback:function ($$v) {_vm.servedToName=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"servedToName\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('summons.serviceResult'),\"items\":\"court/summonsServiceResults\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"exclude-unknown\":\"\"},model:{value:(_vm.serviceResultID),callback:function ($$v) {_vm.serviceResultID=$$v},expression:\"serviceResultID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('summons.modeOfService'),\"items\":\"court/summonsModes\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"exclude-unknown\":\"\"},model:{value:(_vm.modeOfServiceID),callback:function ($$v) {_vm.modeOfServiceID=$$v},expression:\"modeOfServiceID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('summons.serviceLocation'),\"min-specificity\":\"province\"},model:{value:(_vm.serviceLocationID),callback:function ($$v) {_vm.serviceLocationID=$$v},expression:\"serviceLocationID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"rows\":\"2\",\"auto-grow\":\"\",\"label\":_vm.$t('summons.serviceNotes')},model:{value:(_vm.serviceNotes),callback:function ($$v) {_vm.serviceNotes=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"serviceNotes\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"summonsService\",\"entityID\":_vm.id}})],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { AfghanistanID } from '@/vuex/geography/geography';\nimport { Case } from '@/vuex/court/case';\nimport { Party } from '@/vuex/court/party';\nimport { Summons } from '@/vuex/court/summons';\n\nimport PartySelector from '@/components/court/party/PartySelector.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n data() {\n return {\n isOpen: false,\n error: null as any,\n\n partyID: 0,\n servedAt: moment().format(),\n servedToName: '',\n serviceResultID: 1,\n modeOfServiceID: 1,\n serviceLocationID: AfghanistanID,\n serviceNotes: '',\n };\n },\n computed: {\n ...mapGetters('court', ['caseWithID', 'partyWithID', 'summonsWithID']),\n summons(): Summons | null {\n return this.summonsWithID(this.id);\n },\n kase(): Case | null {\n if (this.summons) {\n return this.caseWithID(this.summons.caseID);\n }\n return null;\n },\n party(): Party | null {\n if (this.summons) {\n return this.partyWithID(this.summons.partyID);\n }\n return null;\n },\n },\n methods: {\n reset(): void {\n this.partyID = 0;\n this.servedAt = moment().format();\n if (this.party) {\n this.servedToName = `${this.party.name} ${this.party.surname}`;\n } else {\n this.servedToName = '';\n }\n\n if (this.summons) {\n this.serviceLocationID = this.summons.issuanceExpectedLocationID;\n } else {\n this.serviceLocationID = 1;\n }\n\n this.serviceResultID = 1;\n this.modeOfServiceID = 1;\n this.serviceNotes = '';\n },\n async save(): Promise {\n if (this.summons == null) {\n return;\n }\n this.error = null;\n\n try {\n const response = await courtAPI.post('summonses/record-service', {\n data: {\n id: this.id,\n dossierID: this.summons.dossierID,\n caseID: this.summons.caseID,\n servedAt: this.servedAt,\n serviceResultID: this.serviceResultID,\n serviceFiledAt: this.servedAt,\n modeOfServiceID: this.modeOfServiceID,\n serviceLocationID: this.serviceLocationID,\n servedToName: this.servedToName,\n serviceNotes: this.serviceNotes,\n },\n });\n\n // Update the local copy of the summons with the new data\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n\n // Make the docket immediately show the addition\n this.$store.commit('court/addDocketEntry', response);\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n PartySelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordSummonsServiceDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordSummonsServiceDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordSummonsServiceDialog.vue?vue&type=template&id=9240133e&\"\nimport script from \"./RecordSummonsServiceDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordSummonsServiceDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCol,VRow,VTextField,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((_vm.subjectProperties),function(prop,id){return _c('v-col',{key:id},[_c('SubjectPropertyExpander',{attrs:{\"object\":prop},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_c('v-card',_vm._g({},slotProps.on),[_c('v-card-text',{staticClass:\"text-caption\"},[_c('div',{staticClass:\"font-weight-bold text-caption\"},[_c('SubjectPropertyLabel',{attrs:{\"objects\":prop}})],1),_c('AFNDisplay',{attrs:{\"value\":prop.totalValueInPuls}})],1)],1)]}}],null,true)})],1)}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\n\nimport { SubjectProperty } from '@/vuex/court/subjectProperty';\n\nimport SubjectPropertyLabel from '@/components/subjectProperty/SubjectPropertyLabel.vue';\nimport SubjectPropertyExpander from '@/components/subjectProperty/SubjectPropertyExpander.vue';\n\nexport default Vue.extend({\n props: {\n ids: [Number, Array],\n objects: [Object, Array],\n dossierID: Number,\n\n includeDescription: Boolean,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', [\n 'subjectPropertyWithID',\n 'subjectPropertiesForDossier',\n ]),\n subjectProperties(): SubjectProperty[] {\n if (this.ids) {\n const ids = _.flatten([this.ids]);\n return _.map(ids, this.subjectPropertyWithID);\n }\n if (this.objects) {\n return _.flatten([this.objects]);\n }\n if (this.dossierID) {\n return this.subjectPropertiesForDossier(this.dossierID) || [];\n }\n return [];\n },\n },\n methods: {\n drugLabel(sp: SubjectProperty): string {\n const nm = this.nameForIDInCollection(sp.drugID, 'court/illegalDrugs');\n return nm;\n },\n currencyLabel(sp: SubjectProperty): string {\n let val = i18n.t('currency.singular').toString();\n if (sp.currencyID !== 1) {\n const nm = this.nameForIDInCollection(\n sp.currencyID,\n 'court/currencies',\n );\n val = val + ' ( ' + nm;\n if (sp.foreignCurrencyAmount > 0) {\n val = val + `: ${sp.foreignCurrencyAmount}`;\n }\n val = val + ' )';\n }\n return val;\n },\n },\n components: {\n SubjectPropertyLabel,\n SubjectPropertyExpander,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertyCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertyCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubjectPropertyCard.vue?vue&type=template&id=529752e9&\"\nimport script from \"./SubjectPropertyCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubjectPropertyCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport { Case } from '@/vuex/court/case';\nimport { CourtFeeTransaction, DocketEventType } from '@/vuex/court/options';\nimport { Summons } from '@/vuex/court/summons';\n\nimport CaseStatusLabel from '@/components/court/case/CaseStatusLabel.vue';\nimport ChargesSummary from '@/components/charges/ChargesSummary.vue';\nimport IssueSummonsDetails from '@/components/court/summons/IssueSummonsDetails.vue';\nimport ParticipantSummary from '@/components/court/participant/ParticipantSummary.vue';\nimport RecordSummonsServiceDialog from '@/components/court/summons/RecordSummonsServiceDialog.vue';\nimport SubjectPropertyCard from '@/components/subjectProperty/SubjectPropertyCard.vue';\nimport SentenceSummary from '@/components/court/SentenceSummary.vue';\nimport { CustomFieldTypes } from '@/vuex/court/customFieldType';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('geography', ['fullGeographyName']),\n ...mapState('court', [\n 'docketEventTypes',\n 'feeCategories',\n 'dispositionReasons',\n ]),\n ...mapGetters('court', [\n 'caseWithID',\n 'judgeName',\n 'partyName',\n 'subjectPropertyName',\n 'summonsWithID',\n ]),\n\n /**\n * docketEventType computes the full DocketEventType object which\n * corresponds to this DocketEvent.\n */\n docketEventType(): DocketEventType | null {\n if (this.entry && this.entry.payload && this.entry.payload.typeID) {\n return _.find(this.docketEventTypes, { id: this.entry.payload.typeID });\n }\n return null;\n },\n\n /**\n * fields computes the list of custom field objects which are assocaited\n * with this DocketEvent's type. This is used to iterate over all fields\n * for display in the docket event's content area.\n */\n fields(): any[] {\n if (!this.docketEventType) {\n return [];\n }\n\n const fields = this.docketEventType.fields || [];\n return fields.map((field: any) => {\n const typ = _.find(CustomFieldTypes, { name: field.type });\n // Return a new copy of the field, with value added\n return Object.assign({}, field, {\n value: _.get(this.fieldData, field.name),\n noLabel: !!typ?.noLabel,\n });\n });\n },\n\n fieldData(): any {\n if (!this.payload) {\n return {};\n }\n return this.payload.fieldData || {};\n },\n\n fee(): CourtFeeTransaction | null {\n if (!this.fieldData) {\n return null;\n }\n if (this.fieldData.feeAmount) {\n return this.fieldData.feeAmount;\n }\n if (this.fieldData.paymentAmount) {\n return this.fieldData.paymentAmount;\n }\n return null;\n },\n\n payload(): any {\n return this.entry.payload;\n },\n\n affectedSummons(): Summons {\n const id = _.get(this, 'entry.affectedRecords.summonsIDs[0]', 0);\n return this.summonsWithID(id);\n },\n\n finalCase(): Case | null {\n if (!this.payload.finalCaseID) {\n return null;\n }\n return this.caseWithID(this.payload.finalCaseID);\n },\n },\n\n methods: {\n /**\n * fieldValuePresent determines whether a field is populated with a value\n * in a field type-aware way. We need to be more sophisticated than a\n * simple `if (value)` test because some field types might be falsy, but\n * still require display.\n */\n fieldValuePresent(field): boolean {\n if (typeof field.value !== undefined && field.value !== null) {\n return true;\n }\n return false;\n },\n },\n\n components: {\n CaseStatusLabel,\n ChargesSummary,\n IssueSummonsDetails,\n ParticipantSummary,\n RecordSummonsServiceDialog,\n SentenceSummary,\n SubjectPropertyCard,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateDocketEvent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateDocketEvent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentCreateDocketEvent.vue?vue&type=template&id=2b11de94&\"\nimport script from \"./PresentCreateDocketEvent.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentCreateDocketEvent.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-chip',{attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('hearing.scheduledHearing'))+\" \")]),_c('v-chip',{staticClass:\"mx-2\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.hearingType)+\" \")]),_c('span',{staticClass:\"my-0 mx-2\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('hearing.date'))+\":\")]),_c('Date',{attrs:{\"value\":_vm.payload.hearingDate}}),_c('strong',[_vm._v(_vm._s(_vm.$t('hearing.time'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.time)+\" \")],1)],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('location.singular'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.nameForCourtroom)+\" \")])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[(_vm.payload.notes)?_c('span',{staticClass:\"text--secondary\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('notes'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.notes)+\" \")]):_vm._e()])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.entry.id)?_c('AttachmentsLinks',{attrs:{\"entityType\":\"hearing\",\"entityID\":_vm.entry.id}}):_vm._e()],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { LookupItem } from '@/vuex/court/options';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('court', ['hearingTypes']),\n ...mapGetters('court', ['courtroomName']),\n payload(): any {\n if (!this.entry) {\n return null;\n }\n return this.entry.payload;\n },\n hearingType(): LookupItem | null {\n if (!this.payload) {\n return null;\n }\n return this.nameForIDInCollection(this.payload.typeID, this.hearingTypes);\n },\n nameForCourtroom(): string {\n return this.courtroomName(this.payload.courtroomID);\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateHearing.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateHearing.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentCreateHearing.vue?vue&type=template&id=f3c5177a&\"\nimport script from \"./PresentCreateHearing.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentCreateHearing.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('v-chip',{attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('dossier.created'))+\" \")]),_c('span',{staticClass:\"my-0 mx-2\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('dossier.dossierNumber'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.number)+\" \")])],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('court.caseType.singular'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.$t('dossier.caseTypeOptions.' + _vm.payload.type))+\" \"),(_vm.payload.type === 'civil')?_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('dossier.caseTopic')))]),_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.payload.topicID, _vm.civilCaseTopics))+\", \"),_c('strong',[_vm._v(_vm._s(_vm.$t('lawsuitType.singular')))]),_vm._v(\" \"+_vm._s(_vm.lawsuitTypeList)+\" \")]):_vm._e()])])],1),(_vm.payload.subjectProperties)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('subjectProperties.plural'))+\":\")]),_c('SubjectPropertyCard',{attrs:{\"objects\":_vm.payload.subjectProperties}})],1)],1):_vm._e(),_vm._l((_vm.payload.parties),function(party,i){return _c('v-row',{key:'party' + i,attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('span',[_c('strong',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(party.partyTypeID, _vm.partyTypes))+\" \")]),_vm._v(\" \"+_vm._s(party.name)+\" \"+_vm._s(party.surname)+\" \"),(party.attorneys)?_c('span',[_c('strong',[_vm._v(\" \"+_vm._s(_vm.$pluralT('attorney', party.attorneys.length))+\" \")]),_vm._v(\" \"+_vm._s(_vm.attorneyNamesAndTypes(party.attorneys))+\" \")]):_vm._e()])]),(party.charges)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('charge.plural')))]),_c('ChargesSummary',{attrs:{\"charges\":party.charges}})],1):_vm._e()],1)})],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport ChargesSummary from '@/components/charges/ChargesSummary.vue';\nimport SubjectPropertyCard from '@/components/subjectProperty/SubjectPropertyCard.vue';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['attorneyName']),\n ...mapState('court', [\n 'partyTypes',\n 'civilCaseTopics',\n 'lawsuitTypes',\n 'attorneyTypes',\n ]),\n ...mapGetters('crime', ['crimeWithID']),\n payload(): any {\n return this.entry.payload;\n },\n lawsuitTypeList(): string {\n return (this.payload.lawsuitTypeIDs || [])\n .map((id) => {\n return this.nameForIDInCollection(id, this.lawsuitTypes);\n })\n .join(', ');\n },\n },\n methods: {\n attorneyNamesAndTypes(partyAttorneys): string {\n return _.map(partyAttorneys, (pa) => {\n const name = this.attorneyName(pa.attorneyID);\n const type = this.nameForIDInCollection(\n pa.attorneyTypeID,\n this.attorneyTypes,\n );\n return `${name} (${type})`;\n }).join(', ');\n },\n },\n components: {\n ChargesSummary,\n SubjectPropertyCard,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateNewDossier.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateNewDossier.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentCreateNewDossier.vue?vue&type=template&id=504efeac&\"\nimport script from \"./PresentCreateNewDossier.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentCreateNewDossier.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload && _vm.party)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('v-chip',{attrs:{\"label\":\"\"}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t('party.singular'))+\" \")],1),_c('v-chip',{staticClass:\"ml-1\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.payload.partyTypeID, _vm.partyTypes))+\" \")]),_c('span',{staticClass:\"my-0 mx-2\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('party.singular'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.fullPartyName(_vm.partyID))+\" \"),(_vm.party.nationalID)?_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.nationalID'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.party.nationalID)+\" \")]):_vm._e()])],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[(_vm.party.occupation)?_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.occupation'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.party.occupation)+\" - \")]):_vm._e(),(_vm.party.phoneNumber)?_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.phoneNumber'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.party.phoneNumber)+\" - \")]):_vm._e(),(_vm.party.emailAddress)?_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.emailAddress'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.party.emailAddress)+\" \")]):_vm._e()])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[(_vm.party.residenceGeographyID)?_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.residence'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.fullGeographyName(_vm.party.residenceGeographyID))+\" - \")]):_vm._e(),(_vm.party.birthplaceGeographyID)?_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.birthplace'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.fullGeographyName(_vm.party.birthplaceGeographyID))+\" \")]):_vm._e()])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(_vm.payload.attorneys && _vm.payload.attorneys.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('attorney.plural')))]),_vm._l((_vm.payload.attorneys),function(attorney){return _c('PartyAttorneyDisplay',{key:attorney.attorneyID,attrs:{\"attorney\":attorney}})})],2):_vm._e()],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\nimport { Party } from '@/vuex/court/party';\n\nimport PartyAttorneyDisplay from '@/components/court/attorney/PartyAttorneyDisplay.vue';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n\n computed: {\n ...mapState('court', ['partyTypes', 'attorneyTypes']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['fullPartyName', 'partyWithID']),\n ...mapState('profile', ['genders']),\n ...mapGetters('geography', ['fullGeographyName']),\n\n payload(): any {\n return this.entry.payload;\n },\n\n party(): Party {\n return this.partyWithID(this.partyID);\n },\n\n partyID(): number {\n if (!this.entry.affectedRecords) {\n return 0;\n }\n return _.first(this.entry.affectedRecords.partyIDs) || 0;\n },\n },\n\n components: {\n PartyAttorneyDisplay,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateParticipantAction.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateParticipantAction.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentCreateParticipantAction.vue?vue&type=template&id=d12f3b64&\"\nimport script from \"./PresentCreateParticipantAction.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentCreateParticipantAction.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('v-chip',{attrs:{\"label\":\"\"}},[_vm._v(\" Party Added: \"+_vm._s(_vm.nameForIDInCollection(_vm.payload.partyTypeID, _vm.partyTypes)))]),_c('span',{staticClass:\"my-0 mx-2\"},[_c('strong',[_vm._v(\"Party:\")]),_vm._v(\" \"+_vm._s(_vm.fullPartyName(_vm.partyID))+\" \"),(_vm.payload.nationalID)?_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.nationalID'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.payload.nationalID)+\" \")]):_vm._e(),(_vm.payload.isKochi)?_c('span',[_c('strong',[_vm._v(\"- Is Kochi\")])]):_vm._e()])],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[(_vm.payload.occupation)?_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.occupation'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.occupation)+\" - \")]):_vm._e(),(_vm.payload.phoneNumber)?_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.phoneNumber'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.phoneNumber)+\" - \")]):_vm._e(),(_vm.payload.emailAddress)?_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.emailAddress'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.emailAddress)+\" \")]):_vm._e()])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.residence'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.fullGeographyName(_vm.payload.residenceGeographyID))+\" - \")]),_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.birthplace'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.fullGeographyName(_vm.payload.birthplaceGeographyID))+\" \")])])],1),_vm._l((_vm.payload.partyAttorneys),function(attorney,i){return _c('v-row',{key:'attorney' + i,attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('span',[_c('strong',[_vm._v(\" Attorney: \")]),_vm._v(\" \"+_vm._s(_vm.attorneyName(attorney.attorneyID))+\" (\"+_vm._s(_vm.nameForIDInCollection(attorney.attorneyTypeID, _vm.attorneyTypes))+\") \")])])],1)})],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapState('court', ['partyTypes', 'attorneyTypes']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['fullPartyName', 'attorneyName']),\n ...mapState('profile', ['genders']),\n ...mapGetters('geography', ['fullGeographyName']),\n payload(): any {\n return this.entry.payload;\n },\n partyID(): number {\n if (!this.entry.affectedRecords) {\n return 0;\n }\n return _.first(this.entry.affectedRecords.partyIDs) || 0;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreatePartyAction.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreatePartyAction.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentCreatePartyAction.vue?vue&type=template&id=1c5746dd&\"\nimport script from \"./PresentCreatePartyAction.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentCreatePartyAction.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-chip',{staticClass:\"mr-2\",attrs:{\"label\":\"\"}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t('relatedDossier.singular'))+\" \")],1),_c('router-link',{attrs:{\"exact\":\"\",\"to\":{\n name: 'dossierShow',\n params: { id: _vm.payload.relatedDossierID },\n }}},[_vm._v(_vm._s(_vm.payload.relatedDossierNumber))])],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport SubjectPropertyExpander from '@/components/subjectProperty/SubjectPropertyExpander.vue';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n payload(): any {\n return this.entry.payload;\n },\n },\n components: {\n SubjectPropertyExpander,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateRelatedDossierAction.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateRelatedDossierAction.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentCreateRelatedDossierAction.vue?vue&type=template&id=7df76224&\"\nimport script from \"./PresentCreateRelatedDossierAction.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentCreateRelatedDossierAction.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('sentenceAdjustment.singular'))+\" \")]),_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( _vm.payload.reasonID, 'offender/sentenceAdjustmentReasons' ))+\" \")])],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('FieldValue',{attrs:{\"label\":_vm.$t('sentenceAdjustment.direction')}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.directionKey))+\" \")]),_c('FieldValue',{attrs:{\"label\":_vm.$t('sentenceAdjustment.amount')}},[_c('Duration',{attrs:{\"hours\":_vm.payload.adjustmentAmountInHours}})],1),(_vm.payload.newDetainedAt)?_c('FieldValue',{attrs:{\"label\":_vm.$t('sentenceAdjustment.newDetainedAt')}},[_c('Date',{attrs:{\"value\":_vm.payload.newDetainedAt}})],1):_vm._e()],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport { mapGetters } from 'vuex';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n\n payload(): any {\n return this.entry.payload || {};\n },\n\n /**\n * directionKey returns the translation key to be used to\n * explain the direction of adjustment\n */\n directionKey(): string {\n const dir = _.get(this.payload, 'adjustmentDirection', 0);\n if (dir > 0) {\n return 'sentenceAdjustment.add';\n } else if (dir < 0) {\n return 'sentenceAdjustment.subtract';\n }\n\n return 'sentenceAdjustment.set';\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateSentenceAdjustment.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateSentenceAdjustment.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentCreateSentenceAdjustment.vue?vue&type=template&id=66444eca&\"\nimport script from \"./PresentCreateSentenceAdjustment.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentCreateSentenceAdjustment.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-chip',{attrs:{\"label\":\"\"}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t('subjectProperties.singular'))+\" \")],1)],1)],1),_c('SubjectPropertyCard',{attrs:{\"objects\":_vm.payload}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport SubjectPropertyCard from '@/components/subjectProperty/SubjectPropertyCard.vue';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n payload(): any {\n return this.entry.payload;\n },\n },\n components: {\n SubjectPropertyCard,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateSubjectPropertyAction.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentCreateSubjectPropertyAction.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentCreateSubjectPropertyAction.vue?vue&type=template&id=577010f2&\"\nimport script from \"./PresentCreateSubjectPropertyAction.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentCreateSubjectPropertyAction.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('v-chip',{staticClass:\"mr-1\",attrs:{\"label\":\"\"}},[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-edit\")]),_vm._v(\" \"+_vm._s(_vm.$t('judge.judgesModified'))+\" \")],1),_vm._v(\" \"+_vm._s(_vm.judgeName(_vm.payload.judgeID))+\": \"),(_vm.payload.isLeadJudge)?_c('span',[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"fa-gavel\")]),_vm._v(\" \"+_vm._s(_vm.$t('judge.leadJudge'))+\" \")],1):_vm._e(),(_vm.payload.isInvestigatorJudge)?_c('span',[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"fa-search\")]),_vm._v(\" \"+_vm._s(_vm.$t('judge.investigatingJudge'))+\" \")],1):_vm._e()],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('court', ['judgeName']),\n payload(): any {\n return this.entry.payload;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentEditCaseJudgeAction.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentEditCaseJudgeAction.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentEditCaseJudgeAction.vue?vue&type=template&id=4f9a697e&\"\nimport script from \"./PresentEditCaseJudgeAction.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentEditCaseJudgeAction.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('v-chip',{staticClass:\"mr-1\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.payload.isFulfilled ? _vm.$t('sentenceComponent.fulfilled') : _vm.$t('sentenceComponent.unfulfilled'))+\" \")])],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[(_vm.payload && _vm.payload.punishmentTypeID)?_c('SentenceComponentDescription',{attrs:{\"component\":_vm.payload}}):_vm._e()],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.component)?_c('div',[(!_vm.component.isConsequential)?_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( _vm.component.punishmentTypeID, 'crime/punishmentTypes' ))+\" \")]):_vm._e(),(_vm.component.isConsequential)?_c('span',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( _vm.component.punishmentTypeID, 'crime/punishmentTypes' ))+\" \")]):_vm._e(),(_vm.component.subjectPropertyIDs.length)?_c('span',[_vm._v(\" \"+_vm._s(_vm.subjectPropertyName(_vm.component.subjectPropertyIDs))+\" \")]):_vm._e(),(_vm.component.amountInPuls)?_c('span',[_c('AFNDisplay',{attrs:{\"value\":_vm.component.amountInPuls}})],1):_vm._e(),(_vm.component.durationInHours)?_c('span',[_c('Duration',{attrs:{\"hours\":_vm.component.durationInHours}})],1):_vm._e(),(_vm.component.notes)?_c('span',[_vm._v(\" \"+_vm._s(_vm.component.notes)+\" \")]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { PunishmentType } from '@/vuex/crime/crime';\n\nexport default Vue.extend({\n props: {\n component: {\n type: Object,\n required: true,\n },\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('crime', ['punishmentTypeWithID']),\n ...mapGetters('court', ['subjectPropertyName']),\n punishmentType(): PunishmentType | null {\n if (!this.component) {\n return null;\n }\n return this.punishmentTypeWithID(this.component.punishmentTypeID);\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SentenceComponentDescription.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SentenceComponentDescription.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SentenceComponentDescription.vue?vue&type=template&id=e87598b4&\"\nimport script from \"./SentenceComponentDescription.vue?vue&type=script&lang=ts&\"\nexport * from \"./SentenceComponentDescription.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport _ from 'lodash';\n\nimport { mapGetters, mapState } from 'vuex';\n\nimport SentenceComponentDescription from '@/components/enforcement/SentenceComponentDescription.vue';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('language', ['valueForLocale']),\n ...mapGetters('crime', ['punishmentTypeWithID']),\n ...mapState('court', ['docketEventTypes']),\n payload(): any {\n return this.entry.payload;\n },\n },\n components: {\n SentenceComponentDescription,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentFulfillSentenceComponentAction.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentFulfillSentenceComponentAction.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentFulfillSentenceComponentAction.vue?vue&type=template&id=44a98fcb&\"\nimport script from \"./PresentFulfillSentenceComponentAction.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentFulfillSentenceComponentAction.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('v-chip',{staticClass:\"mr-1\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('intake.singular'))+\" \")]),(_vm.payload.isJuvenile)?_c('v-chip',{staticClass:\"mr-1\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('juvenile.singular'))+\" \")]):_vm._e(),(_vm.payload.isDetainee)?_c('v-chip',{staticClass:\"mr-1\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('offender.detainee.singular'))+\" \")]):_vm._e()],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(\" \"+_vm._s(_vm.$t('intake.name'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.profileName(_vm.payload.profileID))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.payload.PIN)?_c('strong',[_vm._v(_vm._s(_vm.$t('offender.pin'))+\": \")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.payload.PIN)+\" \"),(_vm.payload.DIN)?_c('strong',[_vm._v(\" \"+_vm._s(_vm.$t('offender.din'))+\": \")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.payload.DIN)+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(\" \"+_vm._s(_vm.$t('location.singular'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.facilityName(_vm.payload.housingFacilityID))+\" \")])],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(\" \"+_vm._s(_vm.$t('offender.expectedReleaseAt'))+\": \")]),_c('Date',{attrs:{\"value\":_vm.expectedRelease}})],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\nimport moment from 'moment';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('housing', ['facilityName', 'cellName']),\n ...mapGetters('profile', ['profileName']),\n payload(): any {\n return this.entry.payload;\n },\n expectedRelease(): any {\n const expectedReleaseAt = moment(this.payload.detainedAt)\n .add(this.payload.imprisonmentDurationInHours, 'hours')\n .format();\n return expectedReleaseAt;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentIntake.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentIntake.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentIntake.vue?vue&type=template&id=448e5bed&\"\nimport script from \"./PresentIntake.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentIntake.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\"}},[_vm._v(\"CMS 1 Investigation Record\")]),(_vm.decisionTypes.length)?_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.decisionTypes.join(', '))+\" \")]):_vm._e(),_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.payload.dossierStageID, 'court/dossierStages'))+\" \")]),_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\",\"color\":\"secondary\",\"dark\":\"\"}},[_vm._v(\"CMS 1\")]),(_vm.payload.id)?_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\",\"color\":\"secondary\",\"dark\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('id'))+\" #\"+_vm._s(_vm.payload.id)+\" \")]):_vm._e()],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[(_vm.payload.caseNumber)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('case.caseNumber.singular'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.payload.caseNumber)+\" \")]):_vm._e(),(_vm.payload.charges && _vm.payload.charges.length)?_c('v-col',{attrs:{\"cols\":\"12\"}},_vm._l((_vm.payload.charges),function(charge,i){return _c('div',{key:i},[_c('strong',[_vm._v(_vm._s(_vm.$t('crime.singular'))+\": \")]),_c('ChargeName',{attrs:{\"charge\":charge}})],1)}),0):_vm._e(),(_vm.payload.crimeDescription)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_c('pre',[_vm._v(\"crimeDescription\")])]),_vm._v(\" \"+_vm._s(_vm.payload.crimeDescription)+\" \")]):_vm._e(),(_vm.fateOfAccused)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('fateOfAccused'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.fateOfAccused)+\" \")]):_vm._e(),(_vm.payload.prosName)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('prosecutor.singular'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.payload.prosName)+\" \")]):_vm._e(),(_vm.payload.ministry)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('ministry.singular'))+\": \")]),_c('DepartmentName',{attrs:{\"full\":\"\",\"id\":_vm.payload.ministry}})],1):_vm._e(),(_vm.payload.department)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('department.singular'))+\": \")]),_c('DepartmentName',{attrs:{\"full\":\"\",\"id\":_vm.payload.department}})],1):_vm._e(),(_vm.payload.dateNext)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('referral.date'))+\": \")]),_c('Date',{attrs:{\"value\":_vm.payload.dateNext}})],1):_vm._e(),(_vm.payload.issueDepartment)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('referral.department'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.payload.issueDepartment)+\" \")]):_vm._e(),(_vm.payload.remarks)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('notes'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.remarks)+\" \")]):_vm._e()],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { TranslatedString, TUnknown } from '@/lib/translated';\nimport { FateOfAccused, InvestigationDecisionTypes } from '@/vuex/court/cms1';\n\nimport ChargeName from '@/components/charges/ChargeName.vue';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['nameForIDInCollection']),\n\n payload(): any {\n return _.get(this, 'entry.payload', {});\n },\n\n fateOfAccused(): string {\n if (!this.payload || !this.payload.release) {\n return '';\n }\n const fate = FateOfAccused[this.payload.release];\n if (!fate) {\n return this.payload.release;\n }\n return fate[this.locale];\n },\n\n decisionTypes(): string[] {\n if (!this.payload || !this.payload.attDec) {\n return [];\n }\n const types = this.payload.attDec.toString().split(',');\n return _.chain(types)\n .map((t) => {\n const type = InvestigationDecisionTypes[t];\n if (type) {\n return type[this.locale];\n } else {\n return TUnknown[this.locale];\n }\n })\n .value();\n },\n },\n\n components: {\n ChargeName,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentLegacyInvestigationRecord.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentLegacyInvestigationRecord.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentLegacyInvestigationRecord.vue?vue&type=template&id=75059dc4&\"\nimport script from \"./PresentLegacyInvestigationRecord.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentLegacyInvestigationRecord.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\"}},[_vm._v(\"CMS 1 Investigation SubRecord\")]),(_vm.decisionType)?_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.decisionType)+\" \")]):_vm._e(),_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.payload.dossierStageID, 'court/dossierStages'))+\" \")]),_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\",\"color\":\"secondary\",\"dark\":\"\"}},[_vm._v(\"CMS 1\")]),(_vm.payload.id)?_c('v-chip',{staticClass:\"me-1\",attrs:{\"label\":\"\",\"color\":\"secondary\",\"dark\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('id'))+\" #\"+_vm._s(_vm.payload.id)+\" \")]):_vm._e()],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[(_vm.payload.caseNumber)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('case.caseNumber.singular'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.payload.caseNumber)+\" \")]):_vm._e(),(_vm.payload.charges && _vm.payload.charges.length)?_c('v-col',{attrs:{\"cols\":\"12\"}},_vm._l((_vm.payload.charges),function(charge,i){return _c('div',{key:i},[_c('strong',[_vm._v(_vm._s(_vm.$t('crime.singular'))+\": \")]),_c('ChargeName',{attrs:{\"charge\":charge}})],1)}),0):_vm._e(),(_vm.payload.crimeDescription)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('crimeReport.description'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.payload.crimeDescription)+\" \")]):_vm._e(),(_vm.payload.prosName)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('prosecutor.singular'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.payload.prosName)+\" \")]):_vm._e(),(_vm.payload.ministry)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('ministry.singular'))+\": \")]),_c('DepartmentName',{attrs:{\"full\":\"\",\"id\":_vm.payload.ministry}})],1):_vm._e(),(_vm.payload.department)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('department.singular'))+\": \")]),_c('DepartmentName',{attrs:{\"full\":\"\",\"id\":_vm.payload.department}})],1):_vm._e(),(_vm.payload.dateNext)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('referral.date'))+\": \")]),_c('Date',{attrs:{\"value\":_vm.payload.dateNext}})],1):_vm._e(),(_vm.payload.issueNumber)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('referral.letterNumber'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.payload.issueNumber)+\" \")]):_vm._e(),(_vm.payload.issueDepartment)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('referral.department'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.payload.issueDepartment)+\" \")]):_vm._e(),(_vm.fateOfAccused)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('fateOfAccused'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.fateOfAccused)+\" \")]):_vm._e(),(_vm.payload.remarks)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('notes'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.remarks)+\" \")]):_vm._e()],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { TranslatedString, TUnknown } from '@/lib/translated';\nimport { FateOfAccused, InvestigationDecisionTypes } from '@/vuex/court/cms1';\n\nimport ChargeName from '@/components/charges/ChargeName.vue';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['nameForIDInCollection']),\n\n payload(): any {\n return _.get(this, 'entry.payload', {});\n },\n\n fateOfAccused(): string {\n if (!this.payload || !this.payload.release) {\n return '';\n }\n const fate = FateOfAccused[this.payload.release];\n if (!fate) {\n return this.payload.release;\n }\n return fate[this.locale];\n },\n\n decisionType(): string {\n const attDec = _.get(this, 'payload.attDec', null);\n if (!attDec) {\n return '';\n }\n const decType: TranslatedString = _.get(\n InvestigationDecisionTypes,\n attDec,\n TUnknown,\n );\n if (decType) {\n return decType[this.locale];\n }\n return '';\n },\n },\n\n components: {\n ChargeName,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentLegacyInvestigationSubRecord.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentLegacyInvestigationSubRecord.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentLegacyInvestigationSubRecord.vue?vue&type=template&id=04b861b2&\"\nimport script from \"./PresentLegacyInvestigationSubRecord.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentLegacyInvestigationSubRecord.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.summons)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"10\",\"sm\":\"10\"}},[_c('v-chip',{staticClass:\"mr-1\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('summons.summonsServed'))+\" \")])],1)],1),_c('RecordServiceDetails',{attrs:{\"summons\":_vm.summons}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsLinks',{attrs:{\"entityType\":\"summonsService\",\"entityID\":_vm.summons.id}})],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.summons)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('summons.servedAt'))+\": \")]),_c('Date',{attrs:{\"value\":_vm.summons.servedAt}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('summons.summonsNumber'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.summons.issuanceNumber)+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('summons.iteration'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.summons.iteration)+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('party.singular'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.partyName(_vm.summons.partyID))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('summons.serviceLocation'))+\": \")]),_c('GeographyName',{attrs:{\"full\":\"\",\"id\":_vm.summons.serviceLocationID}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('summons.serviceResult'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( _vm.summons.serviceResultID, 'court/summonsServiceResults' ))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('summons.servedToName'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.summons.servedToName)+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('summons.modeOfService'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.summons.modeOfServiceID, 'court/summonsModes'))+\" \")]),(_vm.summons.serviceNotes)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('notes'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.summons.serviceNotes)+\" \")]):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nexport default Vue.extend({\n props: {\n summons: {\n type: Object,\n required: true,\n },\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['partyName']),\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordServiceDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordServiceDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordServiceDetails.vue?vue&type=template&id=6d4f1dea&\"\nimport script from \"./RecordServiceDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordServiceDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Summons } from '@/vuex/court/summons';\n\nimport RecordServiceDetails from '@/components/court/summons/RecordServiceDetails.vue';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n\n computed: {\n ...mapGetters('court', ['summonsWithID']),\n\n summons(): Summons {\n const id = _.get(this, 'entry.affectedRecords.summonsIDs[0]', 0);\n return this.summonsWithID(id);\n },\n },\n\n components: {\n RecordServiceDetails,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentRecordSummonsServiceAction.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentRecordSummonsServiceAction.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentRecordSummonsServiceAction.vue?vue&type=template&id=0cd0a1c1&\"\nimport script from \"./PresentRecordSummonsServiceAction.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentRecordSummonsServiceAction.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-chip',{attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('judge.removed'))+\" \")]),_vm._v(\" \"+_vm._s(_vm.judgeName(_vm.payload.judgeID))+\"; \"+_vm._s(_vm.$t('judge.removalReason'))+\": \"+_vm._s(_vm.nameForIDInCollection( _vm.payload.judgeRemovalReasonID, _vm.judgeRemovalReasons ))+\" \")],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('court', ['judgeName']),\n ...mapState('court', ['judgeRemovalReasons']),\n ...mapGetters('language', ['nameForIDInCollection']),\n payload(): any {\n return this.entry.payload;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentRemoveJudgeFromCase.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentRemoveJudgeFromCase.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentRemoveJudgeFromCase.vue?vue&type=template&id=4404b80a&\"\nimport script from \"./PresentRemoveJudgeFromCase.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentRemoveJudgeFromCase.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('v-chip',{attrs:{\"label\":\"\"}},[_vm._v(\" Rescheduled \"+_vm._s(_vm.hearingType)+\" \"+_vm._s(_vm.$t('hearing.singular'))+\" \")]),_c('span',{staticClass:\"my-0 mx-2\"},[_c('strong',[_vm._v(\"Rescheduled to \"+_vm._s(_vm.$t('hearing.date'))+\":\")]),_c('Date',{attrs:{\"value\":_vm.payload.hearingDate}}),_c('strong',[_vm._v(_vm._s(_vm.$t('hearing.time'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.time)+\" \")],1)],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('location.singular'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.courtroomName(_vm.payload.courtroomID))+\" \")])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[(_vm.payload.notes)?_c('span',{staticClass:\"text--secondary\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('notes'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.notes)+\" \")]):_vm._e()])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.entry.id)?_c('AttachmentsLinks',{attrs:{\"entityType\":\"hearing\",\"entityID\":_vm.entry.id}}):_vm._e()],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Hearing } from '@/vuex/court/hearing';\nimport { LookupItem } from '@/vuex/court/options';\n\nimport _ from 'lodash';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['hearingWithID', 'courtroomName']),\n ...mapState('court', ['hearingTypes']),\n payload(): any {\n if (!this.entry) {\n return null;\n }\n return this.entry.payload;\n },\n hearingType(): LookupItem | null {\n if (!this.hearing) {\n return null;\n }\n return this.nameForIDInCollection(this.hearing.typeID, this.hearingTypes);\n },\n hearingID(): string {\n if (!this.entry.affectedRecords) {\n return '';\n }\n return _.first(this.entry.affectedRecords.hearingIDs) || '';\n },\n hearing(): Hearing | null {\n if (!this.hearingID) {\n return null;\n }\n return this.hearingWithID(this.hearingID);\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentRescheduleHearingAction.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentRescheduleHearingAction.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentRescheduleHearingAction.vue?vue&type=template&id=172f118c&\"\nimport script from \"./PresentRescheduleHearingAction.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentRescheduleHearingAction.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('v-chip',{attrs:{\"label\":\"\"}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t('judge.leadJudge'))+\" \")],1),_vm._v(\" \"+_vm._s(_vm.judgeName(_vm.payload.judgeID))+\" \"),_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-gavel\")])],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Judge } from '@/vuex/court/judge';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['judgeWithID', 'judgeName']),\n payload(): any {\n return this.entry.payload;\n },\n judge(): Judge | null {\n return this.judgeWithID(this.payload.judgeID);\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentSetLeadJudge.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentSetLeadJudge.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentSetLeadJudge.vue?vue&type=template&id=3d9613b5&\"\nimport script from \"./PresentSetLeadJudge.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentSetLeadJudge.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload && _vm.party)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('v-chip',{attrs:{\"label\":\"\"}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-plus\")]),_vm._v(\" \"+_vm._s(_vm.$pluralT('attorney', _vm.payload.attorneys.length))+\" \")],1),_c('span',{staticClass:\"my-0 mx-2\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('party.singular'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.fullPartyName(_vm.partyID))+\" \")])],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},_vm._l((_vm.payload.attorneys),function(attorney){return _c('PartyAttorneyDisplay',{key:attorney.attorneyID,attrs:{\"attorney\":attorney}})}),1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\nimport { Party } from '@/vuex/court/party';\n\nimport PartyAttorneyDisplay from '@/components/court/attorney/PartyAttorneyDisplay.vue';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n\n computed: {\n ...mapState('court', ['partyTypes', 'attorneyTypes']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['fullPartyName', 'partyWithID']),\n ...mapState('profile', ['genders']),\n ...mapGetters('geography', ['fullGeographyName']),\n\n payload(): any {\n return this.entry.payload;\n },\n\n party(): Party {\n return this.partyWithID(this.partyID);\n },\n\n partyID(): number {\n return this.payload.partyID;\n },\n },\n\n components: {\n PartyAttorneyDisplay,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentUpdateParticipantAttorneys.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentUpdateParticipantAttorneys.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentUpdateParticipantAttorneys.vue?vue&type=template&id=14d1b24e&\"\nimport script from \"./PresentUpdateParticipantAttorneys.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentUpdateParticipantAttorneys.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payload)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('v-chip',{attrs:{\"label\":\"\"}},[_vm._v(\" Party Updated \")]),_c('span',{staticClass:\"my-0 mx-2\"},[_c('strong',[_vm._v(\"Party:\")]),_vm._v(\" \"+_vm._s(_vm.fullPartyName(_vm.payload.id))+\" (\"+_vm._s(_vm.nameForIDInCollection(_vm.payload.partyTypeID, this.partyTypes))+\") \"),(_vm.payload.nationalID)?_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.nationalID'))+\": \")]),_vm._v(_vm._s(_vm.payload.nationalID)+\" \")]):_vm._e()])],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[(_vm.payload.occupation)?_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.occupation'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.occupation)+\" - \")]):_vm._e(),(_vm.payload.phoneNumber)?_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.phoneNumber'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.phoneNumber)+\" - \")]):_vm._e(),(_vm.payload.emailAddress)?_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.emailAddress'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.payload.emailAddress)+\" \")]):_vm._e()])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\"}},[_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.residence'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.fullGeographyName(_vm.payload.residenceGeographyID))+\" - \")]),_c('span',[_c('strong',[_vm._v(_vm._s(_vm.$t('person.birthplace'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.fullGeographyName(_vm.payload.birthplaceGeographyID))+\" \")])])],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('geography', ['fullGeographyName']),\n ...mapGetters('court', ['fullPartyName']),\n ...mapState('court', ['partyTypes']),\n payload(): any {\n return this.entry.payload;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentUpdatePartyAction.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentUpdatePartyAction.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentUpdatePartyAction.vue?vue&type=template&id=43edb5bd&\"\nimport script from \"./PresentUpdatePartyAction.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentUpdatePartyAction.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.subjectProperty)?_c('div',{staticClass:\"my-1 text-body-2\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-chip',{staticClass:\"pl-4\",attrs:{\"label\":\"\"}},[(!_vm.payload.isDeleted)?_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-pencil-alt\")]):_vm._e(),(_vm.payload.isDeleted)?_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-trash-alt\")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.$t('subjectProperties.singular'))+\" \")],1),(_vm.payload.isDeleted)?_c('SubjectPropertyLabel',{attrs:{\"objects\":_vm.payload}}):_vm._e()],1)],1),(!_vm.payload.isDeleted)?_c('SubjectPropertyCard',{attrs:{\"objects\":_vm.payload}}):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport { mapGetters } from 'vuex';\nimport { SubjectProperty } from '@/vuex/court/subjectProperty';\n\nimport SubjectPropertyLabel from '@/components/subjectProperty/SubjectPropertyLabel.vue';\nimport SubjectPropertyCard from '@/components/subjectProperty/SubjectPropertyCard.vue';\n\nexport default Vue.extend({\n props: {\n entry: Object,\n },\n computed: {\n ...mapGetters('court', ['subjectPropertyWithID']),\n payload(): any {\n return this.entry.payload;\n },\n subjectPropertyID(): string {\n if (!this.entry.affectedRecords) {\n return '';\n }\n return _.first(this.entry.affectedRecords.subjectPropertyIDs) || '';\n },\n subjectProperty(): SubjectProperty | null {\n if (!this.subjectPropertyID) {\n return null;\n }\n return this.subjectPropertyWithID(this.subjectPropertyID);\n },\n },\n components: {\n SubjectPropertyCard,\n SubjectPropertyLabel,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentUpdateSubjectPropertyAction.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PresentUpdateSubjectPropertyAction.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresentUpdateSubjectPropertyAction.vue?vue&type=template&id=1600ca3a&\"\nimport script from \"./PresentUpdateSubjectPropertyAction.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresentUpdateSubjectPropertyAction.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VIcon,VRow})\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js??ref--13-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocketablePresenter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js??ref--13-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocketablePresenter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DocketablePresenter.vue?vue&type=template&id=06f1dc3c&\"\nimport script from \"./DocketablePresenter.vue?vue&type=script&lang=js&\"\nexport * from \"./DocketablePresenter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport DocketablePresenter from './DocketablePresenter.vue';\n\nexport default Vue.extend({\n props: {\n events: Array,\n },\n computed: {\n /**\n * headers builds the VDataTable headers\n */\n headers(): any[] {\n return [\n {\n text: this.$i18n.t('docketEntry.date'),\n value: 'filedAtSort',\n width: '130px',\n sortable: true,\n },\n {\n text: this.$i18n.t('details'),\n value: '',\n sortable: false,\n },\n ];\n },\n },\n components: {\n DocketablePresenter,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocketEventTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocketEventTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocketEventTable.vue?vue&type=template&id=a16249dc&\"\nimport script from \"./DocketEventTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./DocketEventTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VDataTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { DocketEntry } from '@/vuex/court/docket';\n\nimport NewDocketEntryMenu from './NewDocketEntryMenu.vue';\nimport DocketEventTable from '@/components/docket/DocketEventTable.vue';\n\nexport default Vue.extend({\n props: {\n caseID: Number,\n dossierID: Number,\n moduleOnly: Boolean,\n },\n data() {\n return {\n loading: false,\n };\n },\n created(): void {\n this.fetchData();\n },\n watch: {\n caseID(val: number): void {\n this.fetchData();\n },\n },\n computed: {\n ...mapGetters('court', ['docketEventsForCase']),\n ...mapState('court', ['docketEventTypes', 'hearingTypes']),\n events(): DocketEntry[] {\n return this.docketEventsForCase(this.caseID);\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n await this.$store.dispatch('court/fetchDocketEntriesForCase', {\n caseID: this.caseID,\n force: false,\n });\n this.loading = false;\n },\n },\n components: {\n DocketEventTable,\n NewDocketEntryMenu,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseDocket.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseDocket.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CaseDocket.vue?vue&type=template&id=2d8760e4&\"\nimport script from \"./CaseDocket.vue?vue&type=script&lang=ts&\"\nexport * from \"./CaseDocket.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.rawHearings.length)?_c('v-card',{attrs:{\"loading\":_vm.loading}},[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t('hearing.plural'))+\" \")]),_c('v-spacer'),(_vm.hasPastHearings)?_c('v-switch',{attrs:{\"hide-details\":\"\",\"label\":_vm.$t('hearing.showPast')},model:{value:(_vm.showPastHearings),callback:function ($$v) {_vm.showPastHearings=$$v},expression:\"showPastHearings\"}}):_vm._e()],1),_c('v-card-text',_vm._l((_vm.hearings),function(hearing){return _c('v-row',{key:hearing.id,class:{ 'text--disabled': _vm.isPast(hearing) },attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('Date',{attrs:{\"value\":hearing.hearingDate}})],1),_c('v-col',{attrs:{\"cols\":\"1\"}},[_vm._v(_vm._s(hearing.time))]),_c('v-col',{attrs:{\"cols\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(hearing.typeID, _vm.hearingTypes))+\" \")]),_c('v-col',{staticClass:\"align-center\",attrs:{\"cols\":\"5\"}},[_vm._v(\" \"+_vm._s(_vm.courtroomName(hearing.courtroomID))+\" \")]),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"1\"}},[_c('RescheduleHearingDialog',{attrs:{\"hearingID\":hearing.id}})],1),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"1\"}},[_c('ConfirmationButton',{attrs:{\"small\":\"\",\"title\":((_vm.$t('command.cancel')) + \" \" + (_vm.$t('hearing.singular'))),\"yes\":_vm.$t('command.cancel'),\"no\":_vm.$t('command.dismiss'),\"icon\":\"\"},on:{\"confirm\":function($event){return _vm.cancel(hearing)}}},[_c('v-icon',[_vm._v(\"cancel\")]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('hearing.type'),\"value\":_vm.nameForIDInCollection(hearing.typeID, _vm.hearingTypes)}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('hearing.date')}},[_c('Date',{attrs:{\"value\":hearing.hearingDate}})],1),_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('hearing.time'),\"value\":hearing.time}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"label\":_vm.$t('location.singular'),\"value\":_vm.courtroomName(hearing.courtroomID)}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"sm\":\"6\",\"label\":_vm.$t('notes'),\"value\":hearing.notes}})],1),_c('v-divider'),_c('v-row',[_c('v-col',[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('hearing.cancellationReason'),\"items\":\"court/cancellationReasons\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.cancellationReasonID),callback:function ($$v) {_vm.cancellationReasonID=$$v},expression:\"cancellationReasonID\"}}),_c('v-textarea',{attrs:{\"label\":_vm.$t('hearing.cancellationNotes'),\"rows\":\"3\"},model:{value:(_vm.cancellationNotes),callback:function ($$v) {_vm.cancellationNotes=$$v},expression:\"cancellationNotes\"}})],1)],1)],1)],1)],1)],1)}),1),(!_vm.hearings.length)?_c('v-card-text',[_c('v-row',[_c('v-col',{staticClass:\"text-center text-subtitle-1 font-italic grey--text\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('hearing.noneScheduled'))+\" \")])],1)],1):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('hearing.reschedule')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"icon\":\"\"}},on),[_c('v-icon',[_vm._v(\"edit\")])],1)]}}]),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('hearing.date'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.hearingDate),callback:function ($$v) {_vm.hearingDate=$$v},expression:\"hearingDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-menu',{ref:\"menu\",attrs:{\"close-on-content-click\":false,\"nudge-right\":40,\"return-value\":_vm.time,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},on:{\"update:returnValue\":function($event){_vm.time=$event},\"update:return-value\":function($event){_vm.time=$event}},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-text-field',_vm._g({attrs:{\"label\":_vm.$t('hearing.chooseATime'),\"prepend-icon\":\"access_time\",\"readonly\":\"\"},model:{value:(_vm.time),callback:function ($$v) {_vm.time=$$v},expression:\"time\"}},on))]}}])},[_c('v-time-picker',{attrs:{\"full-width\":\"\",\"format\":\"24hr\",\"color\":\"success\"},on:{\"click:minute\":function($event){return _vm.$refs.menu.save(_vm.time)}},model:{value:(_vm.time),callback:function ($$v) {_vm.time=$$v},expression:\"time\"}})],1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CourtroomSelector',{attrs:{\"courtID\":_vm.kase.courtID},model:{value:(_vm.courtroomID),callback:function ($$v) {_vm.courtroomID=$$v},expression:\"courtroomID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('notes'),\"rows\":\"3\"},model:{value:(_vm.notes),callback:function ($$v) {_vm.notes=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"notes\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { mapGetters } from 'vuex';\n\nimport { Case } from '@/vuex/court/case';\nimport { Hearing } from '@/vuex/court/hearing';\n\nimport CourtroomSelector from '@/components/court/courtroom/CourtroomSelector.vue';\n\nexport default Vue.extend({\n props: {\n hearingID: {\n required: true,\n type: Number,\n },\n },\n\n data() {\n return {\n isOpen: false,\n error: null as any,\n\n // Hearing fields which we modify\n caseID: 0,\n hearingDate: '',\n time: '',\n courtroomID: 0,\n notes: '',\n };\n },\n\n computed: {\n ...mapGetters('court', ['caseWithID', 'hearingWithID']),\n\n hearing(): Hearing {\n return this.hearingWithID(this.hearingID);\n },\n\n kase(): Case {\n return this.caseWithID(this.hearing.caseID);\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n if (this.hearing) {\n this.caseID = this.hearing.caseID;\n this.hearingDate = this.hearing.hearingDate.substr(0, 10);\n this.time = this.hearing.time;\n this.courtroomID = this.hearing.courtroomID;\n this.notes = this.hearing.notes;\n }\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await courtAPI.post('hearings/reschedule', {\n data: {\n hearingID: this.hearingID,\n caseID: this.caseID,\n hearingDate: this.hearingDate,\n time: this.time,\n courtroomID: this.courtroomID,\n notes: this.notes,\n },\n });\n\n // Apply the server-provided state to the appropriate Vuex store\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n\n // Reflect the action in the docket.\n this.$store.commit('court/addDocketEntry', response);\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n CourtroomSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RescheduleHearingDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RescheduleHearingDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RescheduleHearingDialog.vue?vue&type=template&id=726206a6&\"\nimport script from \"./RescheduleHearingDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./RescheduleHearingDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\nimport { VTimePicker } from 'vuetify/lib/components/VTimePicker';\ninstallComponents(component, {VBtn,VCol,VIcon,VMenu,VRow,VTextField,VTextarea,VTimePicker})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { Hearing } from '@/vuex/court/hearing';\n\nimport RescheduleHearingDialog from '@/components/court/hearing/RescheduleHearingDialog.vue';\n\nexport default Vue.extend({\n props: {\n caseID: Number,\n },\n data() {\n return {\n cancellationReasonID: 0,\n cancellationNotes: '',\n courtHearings: [] as Hearing[],\n loading: false,\n showPastHearings: false,\n };\n },\n computed: {\n ...mapGetters('court', ['hearingsForCase', 'caseWithID', 'courtroomName']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('court', ['hearingTypes']),\n\n /**\n * rawHearings returns the complete list of hearings for the case\n */\n rawHearings(): Hearing[] {\n let hearings = [] as Hearing[];\n if (this.caseID) {\n hearings = this.hearingsForCase(this.caseID);\n } else {\n hearings = this.courtHearings;\n }\n // Remove cancelled hearings\n hearings = _.filter(hearings, (h) => !h.isCancelled);\n return _.sortBy(hearings, (h) => h.hearingDate);\n },\n\n /**\n * hearings returns the filtered array of hearings which should\n * be displayed based on current filter settings\n */\n hearings(): Hearing[] {\n let hearings = this.rawHearings;\n\n // Remove past hearings if desired\n if (!this.showPastHearings) {\n hearings = hearings.filter((hearing) => this.isUpcoming(hearing));\n }\n\n return hearings;\n },\n\n /**\n * hasPastHearings returns true if any past hearings exist\n */\n hasPastHearings(): boolean {\n const pastHearings = this.rawHearings.filter((hearing) =>\n this.isPast(hearing),\n );\n return pastHearings.length > 0;\n },\n },\n methods: {\n isUpcoming(hearing: Hearing): boolean {\n return hearing.hearingDate >= moment().format();\n },\n isPast(hearing: Hearing): boolean {\n return !this.isUpcoming(hearing);\n },\n async cancel(hearing: Hearing): Promise {\n const response = await courtAPI.post(`hearings/cancel`, {\n data: {\n hearingID: hearing.id,\n caseID: hearing.caseID,\n cancellationReasonID: this.cancellationReasonID,\n cancellationNotes: this.cancellationNotes,\n },\n });\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/addDocketEntry', response);\n },\n },\n components: {\n RescheduleHearingDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseHearingCalendar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseHearingCalendar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CaseHearingCalendar.vue?vue&type=template&id=229a9bac&\"\nimport script from \"./CaseHearingCalendar.vue?vue&type=script&lang=ts&\"\nexport * from \"./CaseHearingCalendar.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCol,VDivider,VIcon,VRow,VSpacer,VSwitch,VTextarea,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('EditCaseJudgesDialog',{attrs:{\"courtID\":_vm.courtID,\"caseID\":_vm.caseID},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-card',_vm._g({attrs:{\"flat\":\"\"}},on),[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.$t('judge.plural'))+\" \")]),_c('v-list',{attrs:{\"dense\":\"\"}},[(_vm.kase && _vm.kase.headOfCourtJudgeID)?_c('v-list-item',[_c('v-list-item-title',[_c('span',{staticClass:\"text-caption mr-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('court.headOfCourt'))+\" \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.judgeName(_vm.kase.headOfCourtJudgeID))+\" \")])])],1):_vm._e(),_vm._l((_vm.caseJudges),function(judge){return _c('v-list-item',{key:judge.id,staticStyle:{\"min-height\":\"25px\"},attrs:{\"dense\":\"\"}},[_c('v-list-item-action',[_c('div',{staticClass:\"d-flex justify-space-between\"},[(judge.isInvestigatorJudge)?_c('v-icon',{staticClass:\"mx-2\",attrs:{\"small\":\"\"}},[_vm._v(\" fa-search \")]):_vm._e(),(judge.isLeadJudge)?_c('v-icon',{staticClass:\"mx-2\",attrs:{\"small\":\"\"}},[_vm._v(\"fa-gavel\")]):_vm._e()],1)]),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.judgeName(judge.judgeID))+\" \")])],1)],1)})],2)],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"title\":_vm.$t('judge.plural'),\"no-actions\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",null,null,slotProps)]}},{key:\"extension\",fn:function(){return [_c('AddCaseJudgeDialog',{attrs:{\"caseID\":_vm.caseID,\"courtID\":_vm.courtID}})]},proxy:true}],null,true)},[_c('v-data-table',{attrs:{\"items\":_vm.caseJudges,\"headers\":_vm.headers,\"no-data-text\":_vm.$t('error.nodata'),\"disable-pagination\":\"\",\"disable-sort\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',{staticClass:\"text-center\"},[_c('EditCaseJudgeDialog',{attrs:{\"caseJudgeID\":item.id,\"judgeID\":item.judgeID,\"caseID\":_vm.caseID}})],1),_c('td',{staticClass:\"text-center\"},[(item.isInvestigatorJudge)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" fa-search \")]):_vm._e()],1),_c('td',{staticClass:\"text-center\"},[(item.isLeadJudge)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-gavel\")]):_vm._e()],1),_c('td',[_vm._v(_vm._s(_vm.judgeName(item.judgeID)))]),_c('td',{staticClass:\"text-center\"},[_c('RemoveCaseJudgeDialog',{attrs:{\"caseID\":_vm.caseID,\"judgeID\":item.judgeID}})],1)])]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('judge.addCaseJudge'),\"saveAllowed\":_vm.saveAllowed,\"max-width\":\"500\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('date'),\"past-dates-only\":\"\"},model:{value:(_vm.filedAt),callback:function ($$v) {_vm.filedAt=$$v},expression:\"filedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('JudgeSelector',{attrs:{\"label\":_vm.$t('judge.singular'),\"courtID\":_vm.courtID,\"excludedIDs\":_vm.currentJudgeIDs},model:{value:(_vm.judgeID),callback:function ($$v) {_vm.judgeID=$$v},expression:\"judgeID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('judge.leadJudge')},model:{value:(_vm.isLeadJudge),callback:function ($$v) {_vm.isLeadJudge=$$v},expression:\"isLeadJudge\"}}),_c('v-checkbox',{attrs:{\"label\":_vm.$t('judge.investigatingJudge')},model:{value:(_vm.isInvestigatorJudge),callback:function ($$v) {_vm.isInvestigatorJudge=$$v},expression:\"isInvestigatorJudge\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\n\nimport JudgeSelector from '@/components/court/judge/JudgeSelector.vue';\n\nexport default Vue.extend({\n props: {\n courtID: Number,\n caseID: Number,\n },\n\n data() {\n return {\n isOpen: false,\n\n judgeID: 0,\n isLeadJudge: false,\n isInvestigatorJudge: false,\n filedAt: moment().format(),\n error: null as any,\n };\n },\n\n computed: {\n ...mapGetters('court', ['caseJudgesByCaseID']),\n currentJudgeIDs(): number[] {\n return (this.caseJudgesByCaseID(this.caseID) || []).map(\n (cj) => cj.judgeID,\n );\n },\n saveAllowed(): boolean {\n return !!this.judgeID;\n },\n },\n\n methods: {\n /**\n * reset is our event handler for CMSFormDialog's reset event. It fires when\n * the dialog is activated. We use it to reset all fields to their zero\n * values.\n */\n reset(): void {\n this.judgeID = 0;\n this.isLeadJudge = false;\n this.isInvestigatorJudge = false;\n this.filedAt = moment().format();\n },\n\n /**\n * save is our event handler for CMSFormDialog's save event. It fires when\n * the save button is clicked on the dialog. We use it to persist the\n * case judge to the server.\n */\n async save(): Promise {\n this.error = null;\n try {\n const response = await courtAPI.post('/cases/create-case-judge', {\n data: {\n caseID: this.caseID,\n judgeID: this.judgeID,\n isLeadJudge: this.isLeadJudge,\n isInvestigatorJudge: this.isInvestigatorJudge,\n filedAt: this.filedAt,\n },\n });\n\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/prependToTarget', {\n target: 'caseJudgeIDsForCase',\n index: this.caseID,\n value: Object.keys(newState.caseJudge),\n });\n this.$store.commit('court/addDocketEntry', response);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n JudgeSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddCaseJudgeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddCaseJudgeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddCaseJudgeDialog.vue?vue&type=template&id=a9ff00b6&\"\nimport script from \"./AddCaseJudgeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddCaseJudgeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCheckbox,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('judge.editCaseJudge'),\"max-width\":\"500\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('date'),\"past-dates-only\":\"\"},model:{value:(_vm.filedAt),callback:function ($$v) {_vm.filedAt=$$v},expression:\"filedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('JudgeSelector',{attrs:{\"label\":_vm.$t('judge.singular'),\"value\":_vm.judgeID,\"disabled\":\"\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('judge.leadJudge')},model:{value:(_vm.isLeadJudge),callback:function ($$v) {_vm.isLeadJudge=$$v},expression:\"isLeadJudge\"}}),_c('v-checkbox',{attrs:{\"label\":_vm.$t('judge.investigatingJudge')},model:{value:(_vm.isInvestigatorJudge),callback:function ($$v) {_vm.isInvestigatorJudge=$$v},expression:\"isInvestigatorJudge\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters, mapActions } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\n\nimport JudgeSelector from '@/components/court/judge/JudgeSelector.vue';\nimport { CaseJudge } from '@/vuex/court/caseJudge';\n\nexport default Vue.extend({\n props: {\n caseJudgeID: Number,\n judgeID: Number,\n caseID: Number,\n },\n data() {\n return {\n isOpen: false,\n\n isLeadJudge: false,\n isInvestigatorJudge: false,\n filedAt: moment().format(),\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('court', ['caseJudgesByCaseID']),\n caseJudge(): CaseJudge {\n return this.caseJudgesByCaseID(this.caseID).find(\n (cj) => cj.id === this.caseJudgeID,\n );\n },\n },\n methods: {\n ...mapActions('court', ['fetchCaseJudges']),\n\n /**\n * reset is our event handler for CMSFormDialog's reset event. It fires when\n * the dialog is activated. We use it to reset all fields to their current\n * values for the existing case judge.\n */\n reset(): void {\n const localCopy = Object.assign({}, this.caseJudge);\n this.isLeadJudge = localCopy.isLeadJudge;\n this.isInvestigatorJudge = localCopy.isInvestigatorJudge;\n this.filedAt = moment().format();\n },\n\n /**\n * save is our event handler for CMSFormDialog's save event. It fires when\n * the save button is clicked on the dialog. We use it to persist the\n * case judge changes to the server.\n */\n async save(): Promise {\n this.error = null;\n try {\n const response = await courtAPI.put('/cases/update-case-judge', {\n data: {\n id: this.caseJudgeID,\n caseID: this.caseID,\n judgeID: this.judgeID,\n isLeadJudge: this.isLeadJudge,\n isInvestigatorJudge: this.isInvestigatorJudge,\n filedAt: this.filedAt,\n },\n });\n const newState = response.data.data;\n\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/addDocketEntry', response);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n JudgeSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCaseJudgeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCaseJudgeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditCaseJudgeDialog.vue?vue&type=template&id=07463b8a&\"\nimport script from \"./EditCaseJudgeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditCaseJudgeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCheckbox,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"remove\":\"\",\"title\":_vm.$t('judge.removeCaseJudge'),\"max-width\":\"500\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('date'),\"past-dates-only\":\"\"},model:{value:(_vm.filedAt),callback:function ($$v) {_vm.filedAt=$$v},expression:\"filedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('JudgeSelector',{attrs:{\"label\":_vm.$t('judge.singular'),\"disabled\":\"\"},model:{value:(_vm.judgeID),callback:function ($$v) {_vm.judgeID=$$v},expression:\"judgeID\"}})],1),_c('v-col',{staticClass:\"mb-16\",attrs:{\"cols\":\"12\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('judge.removalReason'),\"items\":\"court/judgeRemovalReasons\",\"exclude-unknown\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.judgeRemovalReasonID),callback:function ($$v) {_vm.judgeRemovalReasonID=$$v},expression:\"judgeRemovalReasonID\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport Vue from 'vue';\n\nimport courtAPI from '@/vuex/court/courtAPI';\n\nimport JudgeSelector from '@/components/court/judge/JudgeSelector.vue';\n\nexport default Vue.extend({\n props: {\n caseID: Number,\n judgeID: Number,\n },\n data() {\n return {\n isOpen: false,\n judgeRemovalReasonID: 0,\n filedAt: moment().format(),\n error: null as any,\n };\n },\n methods: {\n /**\n * reset is our event handler for CMSFormDialog's reset event. It fires when\n * the dialog is activated. We use it to create a dialog-local copy of the\n * entity being edited, or to create a new entity from scratch if none\n * has been created yet.\n */\n reset(): void {\n this.judgeRemovalReasonID = 0;\n this.filedAt = moment().format();\n },\n\n /**\n * save is our event handler for CMSFormDialog's save event. It fires when\n * the save button is clicked on the dialog. We use it to emit the\n * complete SentenceComponent object which was created by the dialog.\n */\n async save(): Promise {\n this.error = null;\n try {\n const response = await courtAPI.post('/cases/remove-case-judge', {\n data: {\n caseID: this.caseID,\n judgeID: this.judgeID,\n judgeRemovalReasonID: this.judgeRemovalReasonID,\n filedAt: this.filedAt,\n },\n });\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/addDocketEntry', response);\n\n await this.$store.dispatch('court/fetchCaseJudges', {\n caseID: this.caseID,\n });\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n JudgeSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RemoveCaseJudgeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RemoveCaseJudgeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RemoveCaseJudgeDialog.vue?vue&type=template&id=15dd8ed5&\"\nimport script from \"./RemoveCaseJudgeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./RemoveCaseJudgeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { CaseJudge } from '@/vuex/court/caseJudge';\n\nimport AddCaseJudgeDialog from '@/components/court/judge/AddCaseJudgeDialog.vue';\nimport EditCaseJudgeDialog from '@/components/court/judge/EditCaseJudgeDialog.vue';\nimport JudgeSelector from '@/components/court/judge/JudgeSelector.vue';\nimport RemoveCaseJudgeDialog from '@/components/court/judge/RemoveCaseJudgeDialog.vue';\n\nexport default Vue.extend({\n props: {\n courtID: Number,\n caseID: Number,\n },\n computed: {\n ...mapState('court', ['caseJudge', 'caseJudgeIDsForCase']),\n ...mapGetters('court', [\n 'caseJudgesByCaseID',\n 'judgeName',\n 'caseJudgeIDsByCaseID',\n ]),\n headers(): any[] {\n const h = [\n {\n text: i18n.t('command.edit'),\n value: null,\n width: '2%',\n align: 'center',\n sortable: false,\n },\n {\n text: i18n.t('judge.investigatingJudge'),\n value: null,\n width: '8%',\n align: 'center',\n sortable: false,\n },\n {\n text: i18n.t('judge.leadJudge'),\n value: null,\n width: '8%',\n align: 'center',\n sortable: false,\n },\n {\n text: i18n.t('person.name'),\n value: 'id',\n },\n {\n text: i18n.t('command.delete'),\n width: '2%',\n align: 'center',\n sortable: false,\n },\n ];\n return h;\n },\n caseJudges(): CaseJudge[] {\n return this.caseJudgesByCaseID(this.caseID);\n },\n },\n created() {\n this.fetchData();\n },\n methods: {\n close(): void {\n this.$emit('input', false);\n },\n fetchData(): void {\n this.$store.dispatch('court/fetchCaseJudges', { caseID: this.caseID });\n },\n },\n components: {\n AddCaseJudgeDialog,\n EditCaseJudgeDialog,\n JudgeSelector,\n RemoveCaseJudgeDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCaseJudgesDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCaseJudgesDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditCaseJudgesDialog.vue?vue&type=template&id=12fe37e3&\"\nimport script from \"./EditCaseJudgesDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditCaseJudgesDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VDataTable,VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Case } from '@/vuex/court/case';\nimport { CaseJudge } from '@/vuex/court/caseJudge';\n\nimport EditCaseJudgesDialog from '@/components/court/judge/EditCaseJudgesDialog.vue';\n\nexport default Vue.extend({\n props: {\n caseID: Number,\n courtID: Number,\n },\n\n created(): void {\n this.fetchData();\n },\n\n computed: {\n ...mapGetters('court', ['caseWithID', 'caseJudgesByCaseID', 'judgeName']),\n\n kase(): Case {\n return this.caseWithID(this.caseID);\n },\n\n caseJudges(): CaseJudge[] {\n if (this.caseJudgesByCaseID(this.caseID).length === 0) {\n return [] as CaseJudge[];\n }\n return _(this.caseJudgesByCaseID(this.caseID))\n .sortBy((j) => !j.isLeadJudge)\n .value();\n },\n },\n\n methods: {\n async fetchData(): Promise {\n await this.$store.dispatch('court/fetchCaseJudges', {\n caseID: this.caseID,\n });\n },\n },\n\n components: {\n EditCaseJudgesDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseJudgesCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseJudgesCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CaseJudgesCard.vue?vue&type=template&id=d18da37c&\"\nimport script from \"./CaseJudgesCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./CaseJudgesCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\ninstallComponents(component, {VCard,VCardTitle,VIcon,VList,VListItem,VListItemAction,VListItemContent,VListItemTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.decision)?_c('div',{staticClass:\"text-body-2\"},[_c('v-row',{staticClass:\"text-h6\",attrs:{\"no-gutters\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('court.disposition'))+\" \")]),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.$t('court.dispositionReason'))+\" \")]),_c('v-col',{staticClass:\"text--red\",attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.$t('decision.singular')))]),_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.$t('court.decision.favor'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.partyName(_vm.decision.favorPartyIDs)))]),_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.$t('court.decision.against'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.partyName(_vm.decision.againstPartyIDs)))])],1),(_vm.decision.decisionNumber)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.$t('court.decision.decisionNumber'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(\" \"+_vm._s(_vm.decision.decisionNumber))])],1):_vm._e(),(_vm.decision.settlementValueInPuls)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.$t('court.decision.settlement'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('AFNDisplay',{attrs:{\"value\":_vm.decision.settlementValueInPuls}})],1)],1):_vm._e(),(_vm.decision.verdictText)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.$t('court.decision.verdictText'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(\" \"+_vm._s(_vm.decision.verdictText))])],1):_vm._e(),(_vm.decision.settlementNotes)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"4\"}},[_vm._v(_vm._s(_vm.$t('notes')))]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.decision.settlementNotes))])],1):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport _ from 'lodash';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { CivilDecision } from '@/vuex/court/civilDecision';\n\nexport default Vue.extend({\n props: {\n caseID: Number,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('court', ['partyTypes']),\n ...mapGetters('court', ['civilDecisionForCase', 'partyName']),\n\n decision(): CivilDecision {\n return this.civilDecisionForCase(this.caseID);\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CivilDecisionSummary.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CivilDecisionSummary.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CivilDecisionSummary.vue?vue&type=template&id=3ec55720&\"\nimport script from \"./CivilDecisionSummary.vue?vue&type=script&lang=ts&\"\nexport * from \"./CivilDecisionSummary.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.items.length)?_c('v-col',{attrs:{\"cols\":_vm.cols,\"sm\":_vm.sm}},[_c('v-card',{attrs:{\"flat\":\"\",\"loading\":_vm.loading}},[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.$t('fee.summary'))+\" \")]),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-data-table',{attrs:{\"dense\":\"\",\"items\":_vm.items,\"headers\":_vm.headers,\"disable-pagination\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item.categoryID\",fn:function(ref){\nvar value = ref.value;\nreturn [_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(value, 'court/feeCategories'))+\" \")]}},{key:\"item.assessedInPuls\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('AFNDisplay',{attrs:{\"value\":value}})]}},{key:\"item.paidInPuls\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('AFNDisplay',{attrs:{\"value\":value}})]}},{key:\"item.balanceInPuls\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('AFNDisplay',{attrs:{\"value\":value}})]}}],null,true)})],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\n\ninterface RevenueCategorySummary {\n cateogryID: number;\n assessedInPuls: number;\n paidInPUls: number;\n balanceInPuls: number;\n}\n\nexport default Vue.extend({\n props: {\n caseID: Number,\n dossierID: Number,\n cols: Number,\n sm: Number,\n },\n\n data() {\n return {\n loading: false,\n error: null as null | any,\n\n items: [] as RevenueCategorySummary[],\n };\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n\n headers(): any[] {\n return [\n { text: i18n.t('fee.category.singular'), value: 'categoryID' },\n {\n text: i18n.t('fee.assessed'),\n value: 'assessedInPuls',\n align: 'right',\n },\n { text: i18n.t('fee.paid'), value: 'paidInPuls', align: 'right' },\n { text: i18n.t('fee.balance'), value: 'balanceInPuls', align: 'right' },\n ];\n },\n\n url(): string {\n if (this.caseID) {\n return `/cases/${this.caseID}/revenue-summary`;\n }\n return `/dossiers/${this.dossierID}/revenue-summary`;\n },\n },\n\n watch: {\n url: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n try {\n const res = await courtAPI.get(this.url);\n this.items = _.get(res, 'data.data', []);\n } catch (err) {\n this.error = err;\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtRevenueSummary.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtRevenueSummary.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtRevenueSummary.vue?vue&type=template&id=66e7f87a&\"\nimport script from \"./CourtRevenueSummary.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtRevenueSummary.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDataTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.hasPermission('party.create'))?_c('AddParticipantDialog',{attrs:{\"dossierID\":_vm.dossierID,\"caseID\":_vm.caseID,\"caseType\":_vm.caseType,\"courtStageID\":_vm.courtStageID},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"fab\":\"\",\"absolute\":\"\",\"bottom\":\"\",\"color\":\"accent\"}},on),[_c('v-icon',[_vm._v(\"fa-plus\")])],1)]}}],null,false,1439934841)}):_vm._e()]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('party.plural')))]),_c('v-spacer'),_c('v-checkbox',{attrs:{\"hide-details\":\"\",\"label\":_vm.$t('command.includeDeleted')},model:{value:(_vm.showDeleted),callback:function ($$v) {_vm.showDeleted=$$v},expression:\"showDeleted\"}})],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"items\":_vm.filteredParticipants,\"headers\":_vm.headers,\"sortBy\":\"partyType\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(props){return [_c('tr',{staticClass:\"selectable\",class:{ isDeleted: props.item.isDeleted },on:{\"click\":function($event){return _vm.open(props.item.id)}}},[_c('td',[_vm._v(_vm._s(props.item.partyType))]),_c('td',[_vm._v(_vm._s(props.item.fullName))]),_c('td',[_vm._v(_vm._s(props.item.phoneNumber))]),_c('td',[_vm._v(_vm._s(props.item.emailAddress))])])]}}])})],1),_c('ParticipantDialog',{ref:\"participantDialog\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Dossier } from '@/vuex/court/dossier';\nimport { Case } from '@/vuex/court/case';\nimport { Participant } from '@/vuex/court/participant';\n\nimport AddParticipantDialog from '@/components/court/participant/AddParticipantDialog.vue';\nimport ParticipantDialog from '@/components/court/participant/ParticipantDialog.vue';\n\nexport default Vue.extend({\n props: {\n dossierID: Number,\n caseID: Number,\n courtStageID: Number,\n },\n data() {\n return {\n showDeleted: false,\n };\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('court', [\n 'partyName',\n 'participantsForCase',\n 'participantsForDossier',\n 'partyWithID',\n ]),\n ...mapState('court', ['partyTypes']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('language', ['align']),\n ...mapGetters('court', ['caseWithID', 'dossierWithID']),\n dossier(): Dossier {\n return this.dossierWithID(this.dossierID);\n },\n kase(): Case {\n return this.caseWithID(this.caseID);\n },\n caseType(): string {\n if (this.dossier) {\n return this.dossier.type;\n }\n return '';\n },\n // TODO: use stage id to name helper\n // return string (not number) after helper is used\n courtStage(): string | number {\n if (this.kase) {\n return this.kase.stageID;\n }\n if (this.dossier) {\n return this.dossier.currentCourtStageID;\n }\n return '';\n },\n participants(): Participant[] {\n if (this.caseID) {\n return this.participantsForCase(this.caseID);\n } else {\n return this.participantsForDossier(this.dossierID);\n }\n },\n headers(): any[] {\n const h = [\n {\n text: this.$i18n.t('partyType.singular'),\n value: 'partyType',\n },\n {\n text: this.$i18n.t('person.name'),\n value: 'name',\n },\n {\n text: this.$i18n.t('person.phoneNumber'),\n value: 'phoneNumber',\n },\n {\n text: this.$i18n.t('person.emailAddress'),\n value: 'emailAddress',\n },\n ];\n return h;\n },\n filteredParticipants(): any {\n let participants = this.participants;\n if (!this.showDeleted) {\n participants = participants.filter((p: Participant) => !p.isDeleted);\n }\n\n return participants.map((p: Participant) => {\n const party = this.partyWithID(p.partyID);\n let partyType = this.nameForIDInCollection(\n p.partyTypeID,\n this.partyTypes,\n );\n if (p.partyTypeID !== p.originalPartyTypeID) {\n const originalType = this.nameForIDInCollection(\n p.originalPartyTypeID,\n this.partyTypes,\n );\n partyType = `${partyType} [ ${originalType} ]`;\n }\n return Object.assign({}, p, {\n partyType,\n fullName: this.partyName(p.partyID),\n phoneNumber: party.phoneNumber,\n emailAddress: party.emailAddress,\n });\n });\n },\n },\n methods: {\n open(participantID: number): void {\n (this.$refs.participantDialog as any).open(participantID);\n },\n },\n components: {\n AddParticipantDialog,\n ParticipantDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ParticipantsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ParticipantsTable.vue?vue&type=template&id=495c7f51&\"\nimport script from \"./ParticipantsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./ParticipantsTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCheckbox,VDataTable,VIcon,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([(_vm.onDossierPage)?{key:\"extension\",fn:function(){return [_c('AddSubjectPropertyDialog',{attrs:{\"caseID\":_vm.caseID,\"dossierID\":_vm.dossierID}}),_c('v-spacer'),(_vm.haveDeleted)?_c('v-checkbox',{attrs:{\"label\":_vm.$t('command.includeDeleted')},model:{value:(_vm.showDeleted),callback:function ($$v) {_vm.showDeleted=$$v},expression:\"showDeleted\"}}):_vm._e()]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('subjectProperties.plural')))])],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"items\":_vm.displayedSubjectProperties,\"headers\":_vm.headers,\"disable-sort\":\"\",\"hide-default-footer\":\"\",\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',{class:{ isDeleted: item.isDeleted }},[_c('td',[_c('EditSubjectPropertyDialog',{attrs:{\"id\":item.id,\"dossierID\":_vm.dossierID}})],1),_c('td',[_c('SubjectPropertyLabel',{attrs:{\"objects\":item,\"expandable\":\"\"}})],1),_c('td',[_vm._v(_vm._s(_vm.fullGeographyName(item.locationGeographyID)))]),_c('td',{staticClass:\"text-right\"},[_vm._v(_vm._s(item.quantity))]),_c('td',{staticClass:\"text-right\"},[_c('AFNDisplay',{attrs:{\"value\":item.totalValueInPuls}})],1),_c('td',[_c('ConfirmationButton',{attrs:{\"icon\":\"\",\"x-small\":\"\",\"prompt\":_vm.$t('command.delete') + ' ' + item.label},on:{\"confirm\":function($event){return _vm.deleteSubjectProperty(item)}}},[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"fa-trash-alt\")])],1)],1),_c('td',[_c('SubjectPropertyExpander',{attrs:{\"id\":item.id}})],1)])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { SubjectProperty } from '@/vuex/court/subjectProperty';\n\nimport AddSubjectPropertyDialog from '@/components/subjectProperty/AddSubjectPropertyDialog.vue';\nimport EditSubjectPropertyDialog from '@/components/subjectProperty/EditSubjectPropertyDialog.vue';\nimport SubjectPropertyExpander from '@/components/subjectProperty/SubjectPropertyExpander.vue';\nimport SubjectPropertyLabel from '@/components/subjectProperty/SubjectPropertyLabel.vue';\n\nexport default Vue.extend({\n props: {\n dossierID: Number,\n caseID: {\n default: 0,\n type: Number,\n },\n },\n\n created(): void {\n this.fetchData();\n },\n\n data() {\n return {\n showDeleted: false,\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('court', [\n 'subjectPropertyForDossier',\n 'subjectPropertyName',\n ]),\n ...mapGetters('geography', ['fullGeographyName']),\n\n headers(): any[] {\n return [\n { value: 'edit', text: i18n.t('command.edit'), width: '5%' },\n { value: 'label', text: i18n.t('subjectProperties.label') },\n { value: 'locationGeographyID', text: i18n.t('location.singular') },\n {\n value: 'quantity',\n text: i18n.t('subjectProperties.quantity'),\n align: 'right',\n },\n {\n value: 'totalValueInPuls',\n text: i18n.t('subjectProperties.totalValue'),\n align: 'right',\n },\n { value: 'delete', text: i18n.t('command.delete'), width: '5%' },\n { value: null, text: '', width: '5%' },\n ];\n },\n\n subjectProperties(): SubjectProperty[] {\n return this.subjectPropertyForDossier(this.dossierID) || [];\n },\n\n displayedSubjectProperties(): SubjectProperty[] {\n if (!this.showDeleted) {\n return _.filter(this.subjectProperties, (p) => !p.isDeleted);\n }\n return this.subjectProperties;\n },\n\n onDossierPage(): boolean {\n return this.$route.path.includes('dossiers');\n },\n\n haveDeleted(): boolean {\n return _.some(this.subjectProperties, { isDeleted: true });\n },\n },\n\n watch: {\n dossierID(val: number): void {\n this.fetchData();\n },\n },\n\n methods: {\n fetchData(): void {\n if (this.dossierID) {\n this.$store.dispatch('court/fetchSubjectPropertiesForDossier', {\n dossierID: this.dossierID,\n });\n }\n },\n\n edit(subjectPropertyID: number): void {\n (this.$refs.editDialog as any).edit(subjectPropertyID);\n },\n\n deleteSubjectProperty(sp: SubjectProperty) {\n courtAPI\n .post(`subject-properties/update`, {\n data: {\n id: sp.id,\n caseID: this.caseID,\n dossierID: this.dossierID,\n label: sp.label,\n description: sp.description,\n subjectPropertyType: sp.typeID,\n locationGeographyID: sp.locationGeographyID,\n locationDetails: sp.locationDetails,\n landAreaInSquareMeters: sp.landAreaInSquareMeters,\n itemValueInPuls: sp.itemValueInPuls,\n quantity: sp.quantity,\n totalValueInPuls: sp.totalValueInPuls,\n isDeleted: true,\n },\n })\n .then((response) => {\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/addDocketEntry', response);\n });\n },\n },\n\n components: {\n AddSubjectPropertyDialog,\n EditSubjectPropertyDialog,\n SubjectPropertyExpander,\n SubjectPropertyLabel,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertyTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectPropertyTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubjectPropertyTable.vue?vue&type=template&id=2deb22d9&\"\nimport script from \"./SubjectPropertyTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubjectPropertyTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCheckbox,VDataTable,VIcon,VSpacer,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport moment from 'moment';\nimport { mapGetters } from 'vuex';\n\nimport { Case } from '@/vuex/court/case';\nimport { Dossier } from '@/vuex/court/dossier';\nimport { SubjectProperty } from '@/vuex/court/subjectProperty';\n\nimport CaseDocket from '@/components/docket/CaseDocket.vue';\nimport CaseHeaderNav from '@/components/court/case/CaseHeaderNav.vue';\nimport CaseHearingCalendar from '@/components/court/hearing/CaseHearingCalendar.vue';\nimport CaseJudgesCard from '@/components/court/judge/CaseJudgesCard.vue';\nimport CaseStatusLabel from '@/components/court/case/CaseStatusLabel.vue';\nimport CivilDecisionSummary from '@/components/court/CivilDecisionSummary.vue';\nimport CourtRevenueSummary from '@/components/court/CourtRevenueSummary.vue';\nimport ParticipantsTable from '@/components/court/participant/ParticipantsTable.vue';\nimport PrimaryParticipants from '@/components/court/participant/PrimaryParticipants.vue';\nimport SubjectPropertiesSummary from '@/components/subjectProperty/SubjectPropertiesSummary.vue';\nimport SubjectPropertyTable from '@/components/subjectProperty/SubjectPropertyTable.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n\n data() {\n return {\n civilDecisionDialogOpen: false,\n };\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', [\n 'courtName',\n 'courtroomsForCourt',\n 'caseWithID',\n 'dossierWithID',\n 'hearingsForCase',\n 'subjectPropertyForDossier',\n ]),\n\n loading(): boolean {\n // The page is considered loading until both the Case and Dossier are\n // fetched\n return !this.kase || !this.dossier;\n },\n\n kase(): Case {\n return this.caseWithID(this.id);\n },\n\n dossier(): Dossier | null {\n if (this.kase) {\n return this.dossierWithID(this.kase.dossierID);\n } else {\n return null;\n }\n },\n\n subjectProperties(): SubjectProperty[] {\n if (this.dossier) {\n return this.subjectPropertyForDossier(this.kase.dossierID);\n }\n return [];\n },\n\n age(): number {\n const filedDate = moment(this.kase.filedAt);\n const finalDate = moment(this.kase.finalizedAt);\n if (this.kase.isFinal) {\n return finalDate.diff(filedDate, 'days');\n } else {\n return moment().diff(filedDate, 'days');\n }\n },\n },\n\n components: {\n CaseDocket,\n CaseHeaderNav,\n CaseHearingCalendar,\n CaseJudgesCard,\n CaseStatusLabel,\n CivilDecisionSummary,\n CourtRevenueSummary,\n ParticipantsTable,\n PrimaryParticipants,\n SubjectPropertiesSummary,\n SubjectPropertyTable,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseShow.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseShow.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CaseShow.vue?vue&type=template&id=acb8d368&\"\nimport script from \"./CaseShow.vue?vue&type=script&lang=ts&\"\nexport * from \"./CaseShow.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VDivider,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',{attrs:{\"flat\":\"\",\"tile\":\"\",\"color\":\"white\"}},[_c('v-card-title',[_c('v-row',[_c('v-col',{staticClass:\"text-h4\",attrs:{\"cols\":\"12\",\"md\":\"3\",\"lg\":\"3\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(_vm._s(_vm.$t('module.court')))]),_vm._v(\" \"+_vm._s(_vm.$t('dashboard.singular'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\",\"lg\":\"7\",\"xl\":\"7\"}},[_c('div',{staticClass:\"text-overline\"},[_c('GeographyBreadcrumb',{attrs:{\"id\":_vm.criteria.locationID || 1,\"to\":{ name: 'courtDashboard', query: Object.assign({}, _vm.criteria) }}})],1),_c('div',{staticClass:\"text-h4\"},[_c('CourtBreadcrumb',{attrs:{\"id\":_vm.criteria.courtID || 0,\"to\":{ name: 'courtDashboard', query: Object.assign({}, _vm.criteria) },\"departmentParamName\":\"courtID\"}})],1)]),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"2\"}},[_c('v-img',{attrs:{\"max-width\":\"60%\",\"width\":\"150\",\"contain\":\"\",\"src\":\"/court-logo.png\"}})],1),(_vm.loading)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1):_vm._e()],1)],1)],1),_c('FormError',{attrs:{\"error\":_vm.error}}),(!_vm.loading)?_c('v-row',{attrs:{\"align-stretch\":\"\"}},[_c('CasesByCourtLocationTable',{attrs:{\"criteria\":_vm.criteria},model:{value:(_vm.menuExpanded),callback:function ($$v) {_vm.menuExpanded=$$v},expression:\"menuExpanded\"}}),_c('CasesByCourtTable',{attrs:{\"criteria\":_vm.criteria},model:{value:(_vm.menuExpanded),callback:function ($$v) {_vm.menuExpanded=$$v},expression:\"menuExpanded\"}})],1):_vm._e(),_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"text-h2 text-right\",attrs:{\"cols\":\"12\",\"md\":\"3\",\"lg\":\"2\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"12\"}},[_c('router-link',{attrs:{\"to\":{\n name: 'caseSearch',\n query: Object.assign({}, this.criteria, {activeOnly: true}),\n }}},[_c('NumFmt',{attrs:{\"value\":_vm.stats.activeCount}})],1),_c('div',{staticClass:\"text-body-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('case.activeCases'))+\" \")])],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"12\"}},[_vm._v(\" \"+_vm._s((_vm.stats.averageAge || 0).toFixed(1))+\" \"),_c('div',{staticClass:\"text-body-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('case.averageAge'))+\" \"),_c('br'),_vm._v(\" ( \"+_vm._s(_vm.$t('time.days'))+\" ) \")])])],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\",\"lg\":\"10\"}},[_c('CaseClearanceRatio',{attrs:{\"criteria\":_vm.criteria}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('v-row',{staticClass:\"align-stretch\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{staticClass:\"fill-height\",attrs:{\"color\":\"error\"}},[_c('v-card-text',{staticClass:\"white--text text-right\"},[_c('router-link',{staticClass:\"text-h3 font-weight-bold white--text\",attrs:{\"to\":{\n name: 'caseSearch',\n query: Object.assign({}, this.criteria,\n {activeOnly: true,\n pastDeadlineOnly: true}),\n }}},[_vm._v(\" \"+_vm._s(_vm.stats.pastDeadline)+\" \")]),_c('div',{staticClass:\"text-body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('case.pastDeadline'))+\" \")])],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{staticClass:\"fill-height\",attrs:{\"color\":\"warning\"}},[_c('v-card-text',{staticClass:\"white--text text-right\"},[_c('router-link',{staticClass:\"text-h3 font-weight-bold white--text\",attrs:{\"to\":{\n name: 'caseSearch',\n query: Object.assign({}, this.criteria,\n {activeOnly: true,\n nearingDeadlineOnly: true}),\n }}},[_vm._v(\" \"+_vm._s(_vm.stats.nearingDeadline)+\" \")]),_c('div',{staticClass:\"text-body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('case.nearingDeadline'))+\" \")])],1)],1)],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"10\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AgeOfPendingCaseload',{attrs:{\"criteria\":_vm.criteria}})],1)],1)],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('DisposedChargesBySeverity',{attrs:{\"criteria\":_vm.criteria}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CaseDocketEventCounts',{attrs:{\"criteria\":_vm.criteria}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('CasesByPunishmentType',{attrs:{\"criteria\":_vm.criteria}}),_c('CasesByDispositionReason',{attrs:{\"criteria\":_vm.criteria}}),_c('CasesByCivilCaseTopic',{attrs:{\"criteria\":_vm.criteria}}),_c('CasesByLawsuitType',{attrs:{\"criteria\":_vm.criteria}}),_c('CasesByCourtRevenue',{attrs:{\"criteria\":_vm.criteria}})],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CourtHearingCalendar',{attrs:{\"courtID\":_vm.criteria.courtID || 0}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\",\"loading\":_vm.loading}},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t('case.ageOfPendingCases')))]),_c('v-card-text',[_c('v-data-table',{attrs:{\"items\":_vm.results,\"headers\":_vm.headers,\"dense\":\"\",\"hide-default-footer\":\"\",\"disable-sort\":\"\",\"disable-pagination\":\"\",\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',{staticClass:\"text-caption\"},[_vm._v(\" \"+_vm._s(item.fromDays)+\"—\"+_vm._s(item.toDays)+\" \"+_vm._s(_vm.$t('time.days'))+\" \")]),_c('td',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s(item.caseCount)+\" \")]),_c('td',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s(((item.percent || 0) * 100).toFixed(0))+\"% \")]),_c('td',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s(((item.cumulativePercent || 0) * 100).toFixed(0))+\"% \")])])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n results: [],\n };\n },\n computed: {\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n\n headers(): any[] {\n return [\n { text: i18n.t('time.days'), alight: 'left', value: 'fromDays' },\n {\n text: i18n.t('case.plural'),\n align: 'right',\n value: 'caseCount',\n },\n {\n text: i18n.t('dashboard.percentage'),\n align: 'right',\n value: 'percent',\n },\n {\n text: i18n.t('dashboard.cumulativePercent'),\n align: 'right',\n value: 'cumulativePercent',\n },\n ];\n },\n },\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n methods: {\n async fetchData(): Promise {\n const url = `/age-of-pending-caseload?${this.queryString}`;\n const response = await courtAPI.get(url);\n if (response && response.data && response.data.data) {\n this.results = response.data.data;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgeOfPendingCaseload.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgeOfPendingCaseload.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgeOfPendingCaseload.vue?vue&type=template&id=6f41c182&\"\nimport script from \"./AgeOfPendingCaseload.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgeOfPendingCaseload.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VDataTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"start\"}},[_c('v-col',[_vm._v(_vm._s(_vm.$t('case.clearanceRatio')))]),_c('v-col',[_c('DaysAgoSelector',{model:{value:(_vm.lastNDays),callback:function ($$v) {_vm.lastNDays=$$v},expression:\"lastNDays\"}})],1)],1)],1),_c('v-card-text',[_c('v-row',{staticClass:\"text-center\",attrs:{\"align\":\"center\",\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"5\"}},[_c('div',{staticClass:\"text-h1\"},[_c('span',{class:_vm.stats.clearanceRatio >= 1.0 ? 'green--text' : 'red--text'},[_vm._v(\" \"+_vm._s((_vm.stats.clearanceRatio || 0).toFixed(2))+\" \")])]),_c('div',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('case.clearanceRatioExplanation'))+\" \")])]),_c('v-col',{attrs:{\"cols\":\"5\",\"sm\":\"2\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-h4\"},[_vm._v(\" \"+_vm._s(_vm.stats.disposedInPeriod)+\" \"),_c('div',{staticClass:\"text-caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('case.disposedInPeriod'))+\" \")])])]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-h4\"},[_vm._v(\" \"+_vm._s(_vm.stats.createdInPeriod)+\" \"),_c('div',{staticClass:\"text-caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('case.createdInPeriod'))+\" \")])])])],1)],1),_c('v-col',{attrs:{\"cols\":\"7\",\"sm\":\"5\"}},[_c('div',{staticClass:\"text-h2\"},[_vm._v(\" \"+_vm._s((_vm.stats.averageTimeToDisposition || 0).toFixed(1))+\" \"),_c('span',{staticClass:\"text-overline\"},[_vm._v(_vm._s(_vm.$t('time.days')))])]),_c('div',{staticClass:\"text-caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('case.averageTimeToDisposition'))+\" \")])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n error: null as any,\n\n lastNDays: 90,\n\n stats: {\n createdInPeriod: 0,\n disposedInPeriod: 0,\n clearanceRatio: 0.0,\n averageTimeToDisposition: 0.0,\n },\n };\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n\n /**\n * fullCriteria builds the actual API criteria which will be sent. This is\n * done by combining the incoming criteria prop with customizations set\n * directly on this component.\n */\n fullCriteria(): any {\n const criteria = Object.assign({}, this.criteria);\n if (this.lastNDays > 0) {\n criteria.startDate = moment().subtract(this.lastNDays, 'days').format();\n }\n return criteria;\n },\n\n /**\n * queryString builds the URL querystring which will be sent to the API\n * endpoint. It exists as a standalone computed prop so that the watcher\n * can trigger only when the query has changed.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n },\n\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n const url = `/cases/clearance-ratio?${this.queryString}`;\n\n try {\n const response = await courtAPI.get(url);\n const newStats = _.get(response, 'data.data', {});\n Object.assign(this.stats, newStats);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseClearanceRatio.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseClearanceRatio.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CaseClearanceRatio.vue?vue&type=template&id=ac5e3004&\"\nimport script from \"./CaseClearanceRatio.vue?vue&type=script&lang=ts&\"\nexport * from \"./CaseClearanceRatio.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"outlined\":\"\",\"loading\":_vm.loading}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\",\"jusify\":\"space-between\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.$t('court.docketEvent.plural'))+\" \")]),_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LocaleDateRange',{attrs:{\"label\":_vm.$t('filedAt'),\"two-fields\":\"never\",\"initial-value\":\"last90Days\",\"persistent-hint\":\"\"},model:{value:(_vm.filedBetween),callback:function ($$v) {_vm.filedBetween=$$v},expression:\"filedBetween\"}})],1)],1)],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-data-table',{attrs:{\"items\":_vm.items,\"headers\":_vm.headers,\"dense\":\"\",\"no-data-text\":_vm.$t('error.nodata'),\"sort-by\":\"caseCount\",\"sort-desc\":true}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n\n filedBetween: '',\n\n results: [] as any[],\n };\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n\n items(): any[] {\n return _.map(this.results, (row) => ({\n ...row,\n docketEventType: this.nameForIDInCollection(\n row.docketEventTypeID,\n 'court/docketEventTypes',\n ),\n }));\n },\n\n /**\n * fullCriteria builds the actual API criteria which will be sent. This is\n * done by combining the incoming criteria prop with customizations set\n * directly on this component.\n */\n fullCriteria(): any {\n return Object.assign({}, this.criteria, {\n activeOnly: false, // TODO Find a way to avoid needing to override this.\n filedBetween: this.filedBetween,\n });\n },\n\n /**\n * queryString computes the parameters to send to the API. This must\n * be a computed property so that it can be watched to trigger a new\n * API call.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a computed property so\n * that it will update with new translations when the locale changes.\n */\n headers(): any[] {\n return [\n { text: i18n.t('docketEventType.singular'), value: 'docketEventType' },\n {\n text: i18n.t('count'),\n align: 'right',\n value: 'eventCount',\n },\n {\n text: '# ' + i18n.t('case.plural'),\n align: 'right',\n value: 'caseCount',\n },\n ];\n },\n },\n\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n try {\n const url = `/docket-event-counts?${this.queryString}`;\n const response = await courtAPI.get(url);\n this.results = _.get(response, 'data.data', {});\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseDocketEventCounts.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CaseDocketEventCounts.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CaseDocketEventCounts.vue?vue&type=template&id=f52407de&\"\nimport script from \"./CaseDocketEventCounts.vue?vue&type=script&lang=ts&\"\nexport * from \"./CaseDocketEventCounts.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDataTable,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\",\"loading\":_vm.loading}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"start\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(_vm._s(_vm.$t('dossier.caseTopic')))]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LocaleDateRange',{attrs:{\"label\":_vm.$t('case.disposedAt'),\"initial-value\":\"last90Days\",\"persistent-hint\":\"\"},model:{value:(_vm.disposedBetween),callback:function ($$v) {_vm.disposedBetween=$$v},expression:\"disposedBetween\"}})],1)],1)],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-data-table',{attrs:{\"items\":_vm.items,\"headers\":_vm.headers,\"dense\":\"\",\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"no-data-text\":_vm.$t('error.nodata')}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n error: null as any,\n\n disposedBetween: '',\n\n results: [],\n };\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n\n items(): any[] {\n return _.map(this.results, (row: any) => {\n return {\n ...row,\n avgDuration: (row.avgDuration || 0).toFixed(1),\n topic: this.nameForIDInCollection(\n row.topicID,\n 'court/civilCaseTopics',\n ),\n };\n });\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a computed property so\n * that it will update with new translations when the locale changes.\n */\n headers(): any[] {\n return [\n { text: i18n.t('dossier.caseTopic'), value: 'topic' },\n { text: i18n.t('court.caseCount'), value: 'caseCount', align: 'right' },\n { text: i18n.t('duration.avg'), value: 'avgDuration', align: 'right' },\n ];\n },\n\n /**\n * fullCriteria builds the actual API criteria which will be sent. This is\n * done by combining the incoming criteria prop with customizations set\n * directly on this component.\n */\n fullCriteria(): any {\n const criteria = Object.assign({}, this.criteria, {\n disposedOnly: true,\n });\n criteria.activeOnly = false;\n criteria.disposedBetween = this.disposedBetween;\n return criteria;\n },\n\n /**\n * queryString builds the URL querystring which will be sent to the API\n * endpoint. It exists as a standalone computed prop so that the watcher\n * can trigger only when the query has changed.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n },\n watch: {\n /**\n * queryString is watched so that any change the API parameters will\n * trigger a new data fetch.\n */\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n const url = `/cases/by-civil-case-topic?${this.queryString}`;\n\n try {\n const response = await courtAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CasesByCivilCaseTopic.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CasesByCivilCaseTopic.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CasesByCivilCaseTopic.vue?vue&type=template&id=6cd26d2e&\"\nimport script from \"./CasesByCivilCaseTopic.vue?vue&type=script&lang=ts&\"\nexport * from \"./CasesByCivilCaseTopic.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDataTable,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.results.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('ExpandableCard',{staticClass:\"fill-height\",attrs:{\"title\":_vm.$t('geo.plural.' + _vm.mostCommonGeographyType),\"value\":_vm.value,\"flat\":\"\",\"dense\":\"\",\"color\":\"grey lighten-3\"},on:{\"input\":function($event){return _vm.$emit('input', $event)}}},[_c('v-data-table',{attrs:{\"dense\":\"\",\"items\":_vm.results,\"headers\":_vm.headers,\"hide-default-footer\":_vm.results.length < 10,\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_c('router-link',{attrs:{\"to\":{\n name: 'courtDashboard',\n query: Object.assign({}, _vm.criteria,\n {locationID: item.locationID}),\n }}},[_c('GeographyName',{attrs:{\"id\":item.locationID}})],1)],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'caseSearch',\n query: Object.assign({}, _vm.criteria,\n {locationID: item.locationID}),\n }}},[_vm._v(\" \"+_vm._s(item.activeCaseCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s((item.averageAge || 0).toFixed(1))+\" \")])])]}}],null,false,2038631204)})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\nimport { Geography } from '@/vuex/geography/geography';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n results: [],\n };\n },\n computed: {\n ...mapGetters('geography', ['geographyWithID', 'fullGeographyName']),\n\n geographies(): Geography[] {\n return _.chain(this.results || [])\n .map('locationID')\n .map(this.geographyWithID)\n .compact()\n .value();\n },\n\n /**\n * mostCommonType scans the list of facilities and returns the one that\n * occurs most frequently. This is used to create a summary title.\n */\n mostCommonGeographyType(): string {\n const types = _.map(this.geographies || [], 'type') as string[];\n const geo = _.chain(types)\n .countBy() // Produces { \"facility\": 14, \"cell\": 10 }\n .entries() // Converts to [[\"facility\", 14], [\"cell\", 10]]\n .maxBy(_.last) // Filters to [\"facility\", 14]\n .head() // Retrieves first element (\"facility\")\n .value() as string; // Exit lodash chain and type-assert to string\n return geo || 'country';\n },\n\n /**\n * fullCriteria ensures that whatever criteria comes in, the activeOnly\n * attribute is always true. This widget only tracks active cases.\n */\n fullCriteria(): any {\n const criteria = Object.assign({}, this.criteria, {\n activeOnly: true,\n });\n return criteria;\n },\n\n /**\n * queryString computes the parameters to send to the API. This must\n * be a computed property so that it can be watched to trigger a new\n * API call.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n\n headers(): any[] {\n return [\n { text: i18n.t('name'), value: 'name' },\n {\n text: i18n.t('case.activeCases'),\n align: 'right',\n value: 'activeCaseCount',\n },\n {\n text: i18n.t('case.averageAge'),\n align: 'right',\n value: 'averageAge',\n },\n ];\n },\n },\n watch: {\n /**\n * queryString is watched so that any change the API parameters will\n * trigger a new data fetch.\n */\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n try {\n const url = `/cases/by-court-location?${this.queryString}`;\n const res = await courtAPI.get(url);\n this.results = _.get(res, 'data.data', []);\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CasesByCourtLocationTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CasesByCourtLocationTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CasesByCourtLocationTable.vue?vue&type=template&id=ece91a26&\"\nimport script from \"./CasesByCourtLocationTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./CasesByCourtLocationTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCol,VDataTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"start\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.$t('fee.summary'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LocaleDateRange',{attrs:{\"label\":_vm.$t('filedAt'),\"initial-value\":\"last90Days\"},model:{value:(_vm.withFeesBetween),callback:function ($$v) {_vm.withFeesBetween=$$v},expression:\"withFeesBetween\"}})],1)],1)],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-data-table',{attrs:{\"items\":_vm.results,\"headers\":_vm.headers,\"dense\":\"\",\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(item.categoryID, 'court/feeCategories'))+\" \")]),_c('td',{staticClass:\"text-right\"},[_c('AFNDisplay',{attrs:{\"value\":item.assessedInPuls}})],1),_c('td',{staticClass:\"text-right\"},[_c('AFNDisplay',{attrs:{\"value\":item.paidInPuls}})],1),_c('td',{staticClass:\"text-right\"},[_c('AFNDisplay',{attrs:{\"value\":item.balanceInPuls}})],1)])]}}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n error: null as any,\n\n withFeesBetween: '',\n\n results: [],\n };\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n\n /**\n * fullCriteria builds the actual API criteria which will be sent. This is\n * done by combinging the incoming criteria prop with customizations set\n * directly on this component.\n */\n fullCriteria(): any {\n const criteria = Object.assign({}, this.criteria, {\n withFeesBetween: this.withFeesBetween,\n });\n return criteria;\n },\n\n /**\n * queryString builds the URL querystring which will be sent to the API\n * endpoint. It exists as a standalone computed prop so that the watcher\n * can trigger only when the query has changed.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n\n headers(): any[] {\n return [\n {\n text: i18n.t('fee.category.singular'),\n value: 'categoryID',\n },\n {\n text: i18n.t('fee.assessed'),\n value: 'assessedInPuls',\n align: 'right',\n },\n { text: i18n.t('fee.paid'), value: 'paidInPuls', align: 'right' },\n { text: i18n.t('fee.balance'), value: 'balanceInPuls', align: 'right' },\n ];\n },\n },\n\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n\n const url = `/cases/by-court-revenue?${this.queryString}`;\n try {\n const response = await courtAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CasesByCourtRevenue.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CasesByCourtRevenue.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CasesByCourtRevenue.vue?vue&type=template&id=6b065afa&\"\nimport script from \"./CasesByCourtRevenue.vue?vue&type=script&lang=ts&\"\nexport * from \"./CasesByCourtRevenue.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDataTable,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.results.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('ExpandableCard',{staticClass:\"fill-height\",attrs:{\"title\":_vm.$t('subdepartment.plural'),\"value\":_vm.value,\"flat\":\"\",\"dense\":\"\",\"color\":\"grey lighten-3\"},on:{\"input\":function($event){return _vm.$emit('input', $event)}}},[_c('v-data-table',{attrs:{\"dense\":\"\",\"items\":_vm.results,\"headers\":_vm.headers,\"hide-default-footer\":_vm.results.length < 10,\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_c('router-link',{attrs:{\"to\":{\n name: 'courtDashboard',\n query: Object.assign({}, _vm.criteria, {courtID: item.courtID}),\n }}},[_c('CourtName',{attrs:{\"id\":item.courtID}})],1)],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'caseSearch',\n query: Object.assign({}, _vm.criteria,\n {courtID: item.courtID}),\n }}},[_vm._v(\" \"+_vm._s(item.activeCaseCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s((item.averageAge || 0).toFixed(1))+\" \")])])]}}],null,false,4259174695)})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n results: [],\n };\n },\n computed: {\n /**\n * fullCriteria ensures that whatever criteria comes in, the activeOnly\n * attribute is always true. This widget only tracks active cases.\n */\n fullCriteria(): any {\n const criteria = Object.assign({}, this.criteria, {\n activeOnly: true,\n });\n return criteria;\n },\n\n /**\n * queryString computes the parameters to send to the API. This must\n * be a computed property so that it can be watched to trigger a new\n * API call.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a computed property so\n * that it will update with new translations when the locale changes.\n */\n headers(): any[] {\n return [\n { text: i18n.t('name'), value: 'name' },\n {\n text: i18n.t('case.activeCases'),\n align: 'right',\n value: 'activeCaseCount',\n },\n {\n text: i18n.t('case.averageAge'),\n align: 'right',\n value: 'averageAge',\n },\n ];\n },\n },\n watch: {\n /**\n * queryString is watched so that any change the API parameters will\n * trigger a new data fetch.\n */\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n try {\n const url = `/cases/by-court?${this.queryString}`;\n const response = await courtAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CasesByCourtTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CasesByCourtTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CasesByCourtTable.vue?vue&type=template&id=0e74c664&\"\nimport script from \"./CasesByCourtTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./CasesByCourtTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCol,VDataTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-col',{attrs:{\"cols\":\"12c\",\"md\":\"6\"}},[_c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\",\"loading\":_vm.loading}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"start\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(_vm._s(_vm.$t('dispositionReason.plural')))]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LocaleDateRange',{attrs:{\"label\":_vm.$t('case.disposedAt'),\"initial-value\":\"last90Days\",\"persistent-hint\":\"\"},model:{value:(_vm.disposedBetween),callback:function ($$v) {_vm.disposedBetween=$$v},expression:\"disposedBetween\"}})],1)],1)],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-data-table',{attrs:{\"items\":_vm.results,\"headers\":_vm.headers,\"dense\":\"\",\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( item.dispositionReasonID, 'court/dispositionReasons' ))+\" \")]),_c('td',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s(item.caseCount)+\" \")])])]}}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n\n disposedBetween: '',\n\n results: [],\n };\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n\n /**\n * fullCriteria builds the actual API criteria which will be sent. This is\n * done by combinging the incoming criteria prop with customizations set\n * directly on this component.\n */\n fullCriteria(): any {\n const criteria = Object.assign({}, this.criteria);\n criteria.activeOnly = false;\n criteria.disposedBetween = this.disposedBetween;\n return criteria;\n },\n\n /**\n * queryString builds the URL querystring which will be sent to the API\n * endpoint. It exists as a standalone computed prop so that the watcher\n * can trigger only when the query has changed.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n\n headers(): any[] {\n return [\n {\n text: i18n.t('dispositionReason.singular'),\n value: 'dispositionReasonID',\n },\n { text: i18n.t('court.caseCount'), value: 'caseCount', align: 'right' },\n ];\n },\n },\n\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n const url = `/cases/by-disposition-reason?${this.queryString}`;\n\n try {\n const response = await courtAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CasesByDispositionReason.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CasesByDispositionReason.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CasesByDispositionReason.vue?vue&type=template&id=6d7e9702&\"\nimport script from \"./CasesByDispositionReason.vue?vue&type=script&lang=ts&\"\nexport * from \"./CasesByDispositionReason.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDataTable,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\",\"loading\":_vm.loading}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"start\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(_vm._s(_vm.$t('lawsuitType.plural')))]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LocaleDateRange',{attrs:{\"label\":_vm.$t('case.disposedAt'),\"initial-value\":\"last90Days\",\"persistent-hint\":\"\"},model:{value:(_vm.disposedBetween),callback:function ($$v) {_vm.disposedBetween=$$v},expression:\"disposedBetween\"}})],1)],1)],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-data-table',{attrs:{\"items\":_vm.items,\"headers\":_vm.headers,\"dense\":\"\",\"no-data-text\":_vm.$t('error.nodata')}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n error: null as any,\n\n disposedBetween: '',\n\n results: [],\n };\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n\n items(): any[] {\n return _.map(this.results, (row: any) => {\n return {\n ...row,\n avgDuration: (row.avgDuration || 0).toFixed(1),\n lawsuitType: this.nameForIDInCollection(\n row.lawsuitTypeID,\n 'court/lawsuitTypes',\n ),\n };\n });\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a computed property so\n * that it will update with new translations when the locale changes.\n */\n headers(): any[] {\n return [\n { text: i18n.t('lawsuitType.singular'), value: 'lawsuitType' },\n { text: i18n.t('court.caseCount'), value: 'caseCount', align: 'right' },\n { text: i18n.t('duration.avg'), value: 'avgDuration', align: 'right' },\n ];\n },\n\n /**\n * fullCriteria builds the actual API criteria which will be sent. This is\n * done by combining the incoming criteria prop with customizations set\n * directly on this component.\n */\n fullCriteria(): any {\n const criteria = Object.assign({}, this.criteria, {\n disposedOnly: true,\n });\n criteria.disposedBetween = this.disposedBetween;\n return criteria;\n },\n\n /**\n * queryString builds the URL querystring which will be sent to the API\n * endpoint. It exists as a standalone computed prop so that the watcher\n * can trigger only when the query has changed.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n },\n watch: {\n /**\n * queryString is watched so that any change the API parameters will\n * trigger a new data fetch.\n */\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n const url = `/cases/by-lawsuit-type?${this.queryString}`;\n\n try {\n const response = await courtAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CasesByLawsuitType.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CasesByLawsuitType.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CasesByLawsuitType.vue?vue&type=template&id=621e03a1&\"\nimport script from \"./CasesByLawsuitType.vue?vue&type=script&lang=ts&\"\nexport * from \"./CasesByLawsuitType.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDataTable,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\",\"loading\":_vm.loading}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"start\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(_vm._s(_vm.$t('punishmentType.plural')))]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LocaleDateRange',{attrs:{\"label\":_vm.$t('case.disposedAt'),\"initial-value\":\"last90Days\",\"persistent-hint\":\"\"},model:{value:(_vm.disposedBetween),callback:function ($$v) {_vm.disposedBetween=$$v},expression:\"disposedBetween\"}})],1)],1)],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-data-table',{attrs:{\"items\":_vm.results,\"headers\":_vm.headers,\"hide-default-footer\":\"\",\"dense\":\"\",\"disable-pagination\":\"\",\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( item.punishmentTypeID, 'crime/punishmentTypes' ))+\" \")]),_c('td',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s(item.caseCount)+\" \")])])]}}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n error: null as any,\n\n disposedBetween: '',\n\n results: [],\n };\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n\n /**\n * fullCriteria builds the actual API criteria which will be sent. This is\n * done by combining the incoming criteria prop with customizations set\n * directly on this component.\n */\n fullCriteria(): any {\n const criteria = Object.assign({}, this.criteria);\n criteria.disposedBetween = this.disposedBetween;\n return criteria;\n },\n\n /**\n * queryString builds the URL querystring which will be sent to the API\n * endpoint. It exists as a standalone computed prop so that the watcher\n * can trigger only when the query has changed.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n\n headers(): any[] {\n return [\n { text: i18n.t('punishmentType.singular'), value: 'punishmentTypeID' },\n { text: i18n.t('court.caseCount'), value: 'caseCount', align: 'right' },\n ];\n },\n },\n\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n const url = `/cases/by-punishment-type?${this.queryString}`;\n\n try {\n const response = await courtAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CasesByPunishmentType.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CasesByPunishmentType.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CasesByPunishmentType.vue?vue&type=template&id=0b6ef622&\"\nimport script from \"./CasesByPunishmentType.vue?vue&type=script&lang=ts&\"\nexport * from \"./CasesByPunishmentType.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDataTable,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"outlined\":\"\",\"loading\":_vm.loading}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"start\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(_vm._s(_vm.$t('court.disposedCharges')))]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LocaleDateRange',{attrs:{\"label\":_vm.$t('case.disposedAt'),\"initial-value\":\"last90Days\",\"persistent-hint\":\"\"},model:{value:(_vm.disposedBetween),callback:function ($$v) {_vm.disposedBetween=$$v},expression:\"disposedBetween\"}})],1)],1)],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('LookupTableMatrix',{attrs:{\"col-data\":_vm.chargeDispositionTypes,\"row-data\":_vm.severities,\"cell-data\":_vm.results,\"row-attr\":\"crimeSeverityID\",\"col-attr\":\"dispositionTypeID\",\"value-attr\":\"count\",\"total-row\":\"\",\"total-col\":\"\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-data-table',{attrs:{\"items\":_vm.items,\"headers\":_vm.headers,\"no-data-text\":_vm.$t('error.nodata'),\"dense\":\"\",\"hide-default-footer\":\"\",\"disable-sort\":\"\"},scopedSlots:_vm._u([{key:\"item.rowTotal\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('span',{staticClass:\"font-weight-black\"},[_vm._v(_vm._s(value))])]}},(_vm.totalRow)?{key:\"body.append\",fn:function(ref){\nvar headers = ref.headers;\nvar isMobile = ref.isMobile;\nreturn [_c('tr',{staticClass:\"grey lighten-4 font-weight-black\"},_vm._l((headers),function(header,i){return _c('td',{key:i,class:{ 'v-data-table__mobile-row': isMobile }},[(isMobile)?_c('div',{staticClass:\"v-data-table__mobile-row__header\"},[_vm._v(\" \"+_vm._s(headers[i].text)+\" \")]):_vm._e(),_c('div',{class:{ 'v-data-table__mobile-row__cell': isMobile }},[(i === 0)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('dashboard.total'))+\" \")]):_c('div',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s(_vm.colTotals[header.value] || 0)+\" \")])])])}),0)]}}:null],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\n\nimport { LookupItem } from '@/vuex/offender/options';\n\nexport default Vue.extend({\n props: {\n /**\n * cellData expects an array of objects with precisely 3 attributes:\n *\n * - a \"col\" attribute indicating which column the data belongs in\n * - a \"row\" attribute indicating which row the data belongs in\n * - a \"value\" attribute indicating the data that will be placed at that X/Y position\n *\n * This component assumes the above attribute names will be used, but\n * they can be overriden. Example:\n *\n * [\n * \t{ thingID: 1, statusID: 2, count: 10 },\n * \t{ thingID: 1, statusID: 4, count 3 }\n * ]\n *\n * We have a matrix of counts of Things in each Status. To have Status rows\n * and Thing columns, we would use:\n *\n * \n *\n */\n cellData: {\n type: Array,\n required: true,\n },\n\n /**\n * rowData expects an array of LookupItems (i.e. an entire lookup table).\n * These values are used to label the column headers and align the cell\n * values with the correct header.\n */\n rowData: {\n type: Array,\n required: true,\n },\n\n /**\n * rowAttr can be used to override the attribute name for rows.\n */\n rowAttr: {\n type: String,\n default: 'row',\n },\n\n /**\n * colData expects an array of LookupItems (i.e. an entire lookup table).\n * These values are used to label the row headers and align the cell\n * values with the correct header.\n */\n colData: {\n type: Array,\n required: true,\n },\n\n /**\n * colAttr can be used to override the attribute name for columns.\n */\n colAttr: {\n type: String,\n default: 'col',\n },\n\n /**\n * valueAttr can be used to override the attribute name for the cell values.\n */\n valueAttr: {\n type: String,\n default: 'value',\n },\n\n /**\n * excludeUnknownRow can force an \"Unknown\" row (one with a 0 id) to be\n * excluded. The Unknown row is excluded by default if it contains no data.\n */\n excludeUnknownRow: Boolean,\n\n /**\n * excludeUnknownCol can force an \"Unknown\" column (one with a 0 id) to be\n * excluded. The Unknown column is excluded by default if it contains no\n * data.\n */\n excludeUnknownCol: Boolean,\n\n /**\n * totalCol triggers include of a Total column\n */\n totalCol: Boolean,\n\n /**\n * totalRow triggers inclusion of a Total row\n */\n totalRow: Boolean,\n },\n\n computed: {\n ...mapGetters('language', ['valueForLocale']),\n\n /**\n * items reshapes the provided cellData from \"long\" format into \"wide\" format\n */\n items(): any[] {\n const rows: any[] = [];\n for (const rowType of this.rowTypes) {\n const row = { label: this.valueForLocale(rowType.name), rowTotal: 0 };\n for (let colIndex = 0; colIndex < this.colTypes.length; colIndex++) {\n const colType = this.colTypes[colIndex] as LookupItem;\n const relevantCells = _.filter(this.cellData, {\n [this.colAttr]: colType.id,\n [this.rowAttr]: rowType.id,\n });\n const cellValue = _.sumBy(relevantCells, this.valueAttr);\n row[`col${colIndex}`] = cellValue;\n row.rowTotal = row.rowTotal + cellValue;\n }\n\n // Even if the user didn't explicityly exclude the Unknown row,\n // we exclude it automatically if that row would contain 0's in\n // every column\n if (rowType.id === 0 && row.rowTotal === 0) {\n continue;\n }\n rows.push(row);\n }\n\n return rows;\n },\n\n /**\n * colTotals builds a lookup table containing the totals for each column\n * in the data set, including the rowTotal column.\n */\n colTotals(): { [col: string]: number } {\n const totals = { rowTotal: 0 };\n for (const row of this.items) {\n for (let colIndex = 0; colIndex < this.colTypes.length; colIndex++) {\n const attr = `col${colIndex}`;\n totals[attr] = (totals[attr] || 0) + row[attr];\n totals.rowTotal = (totals.rowTotal || 0) + row[attr];\n }\n }\n return totals;\n },\n\n /**\n * rowTypes computes the array of LookupItems which define the rows.\n * This function will exclude unknown items (those with ID=0) if requested\n * by the user, and will sort by the rank of the LookupItem.\n */\n rowTypes(): LookupItem[] {\n let types = (this.rowData || []) as LookupItem[];\n if (this.excludeUnknownRow) {\n types = _.reject(types, { id: 0 });\n }\n types = _.sortBy(types, (t) => t.rank || 999999);\n return types;\n },\n\n /**\n * colTypes computes the array of LookupItems which define the columns.\n * This function will exclude unknown items (those with ID=0) if requested\n * by the user, and will sort by the rank of the LookupItem.\n */\n colTypes(): LookupItem[] {\n let types = (this.colData || []) as LookupItem[];\n if (this.excludeUnknownCol) {\n types = _.reject(types, { id: 0 });\n }\n types = _.sortBy(types, (t) => t.rank || 999999);\n return types;\n },\n\n /**\n * headers computes the headers attribute for the VDataTable from the\n * colTypes, which is in turn defined by the colData prop which expects\n * an array of LookupItems for the column types.\n */\n headers(): any[] {\n const h: any[] = [];\n\n // First column is the label column, which gets blank text in the\n // header.\n h.push({ text: '', value: 'label' });\n\n // Second column is the total column, which is optional\n if (this.totalCol) {\n h.push({\n text: i18n.t('dashboard.total'),\n value: 'rowTotal',\n align: 'right',\n });\n }\n\n for (let colIndex = 0; colIndex < this.colTypes.length; colIndex++) {\n const colType = this.colTypes[colIndex] as LookupItem;\n const attr = `col${colIndex}`;\n\n // Even if the user didn't explicityly exclude the Unknown column,\n // we exclude it automatically if that column would contain 0's in\n // every row\n if (colType.id === 0 && this.colTotals[attr] === 0) {\n continue;\n }\n\n h.push({\n text: this.valueForLocale(colType.name),\n value: attr,\n align: 'right',\n });\n }\n\n return h;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LookupTableMatrix.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LookupTableMatrix.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LookupTableMatrix.vue?vue&type=template&id=938862f0&\"\nimport script from \"./LookupTableMatrix.vue?vue&type=script&lang=ts&\"\nexport * from \"./LookupTableMatrix.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VDataTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nimport LookupTableMatrix from '@/components/global/formatting/LookupTableMatrix.vue';\n\n/**\n * DisposedChargeCount defines the shape of the \"long format\" data which the\n * serverreturns. It is transformed into a \"wide format\" by the\n * LookupTableMatrix component.\n */\ninterface DisposedChargeCount {\n dispositionTypeID: number;\n crimeSeverityID: number;\n count: number;\n}\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n\n disposedBetween: '',\n\n results: [] as DisposedChargeCount[],\n };\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('crime', ['severities']),\n ...mapState('court', ['chargeDispositionTypes']),\n\n /**\n * fullCriteria builds the actual API criteria which will be sent. This is\n * done by combining the incoming criteria prop with customizations set\n * directly on this component.\n */\n fullCriteria(): any {\n const criteria = Object.assign({}, this.criteria);\n criteria.activeOnly = false; // TODO Do this?\n criteria.disposedBetween = this.disposedBetween;\n return criteria;\n },\n\n /**\n * queryString builds the URL querystring which will be sent to the API\n * endpoint. It exists as a standalone computed prop so that the watcher\n * can trigger only when the query has changed.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n },\n\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n try {\n const url = `/charges/by-disposition-severity?${this.queryString}`;\n const response = await courtAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } catch (error) {\n this.error = error;\n }\n this.loading = false;\n },\n },\n\n components: {\n LookupTableMatrix,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisposedChargesBySeverity.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisposedChargesBySeverity.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DisposedChargesBySeverity.vue?vue&type=template&id=ce010cb0&\"\nimport script from \"./DisposedChargesBySeverity.vue?vue&type=script&lang=ts&\"\nexport * from \"./DisposedChargesBySeverity.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { criteriaToQueryString, routeToCriteria } from '@/lib/criteria';\n\nimport AgeOfPendingCaseload from '@/components/court/dashboard/AgeOfPendingCaseload.vue';\nimport CaseClearanceRatio from '@/components/court/dashboard/CaseClearanceRatio.vue';\nimport CaseDocketEventCounts from '@/components/court/dashboard/CaseDocketEventCounts.vue';\nimport CasesByCivilCaseTopic from '@/components/court/dashboard/CasesByCivilCaseTopic.vue';\nimport CasesByCourtLocationTable from '@/components/court/dashboard/CasesByCourtLocationTable.vue';\nimport CasesByCourtRevenue from '@/components/court/dashboard/CasesByCourtRevenue.vue';\nimport CasesByCourtTable from '@/components/court/dashboard/CasesByCourtTable.vue';\nimport CasesByDispositionReason from '@/components/court/dashboard/CasesByDispositionReason.vue';\nimport CasesByLawsuitType from '@/components/court/dashboard/CasesByLawsuitType.vue';\nimport CasesByPunishmentType from '@/components/court/dashboard/CasesByPunishmentType.vue';\nimport CourtHearingCalendar from '@/components/court/hearing/CourtHearingCalendar.vue';\nimport DisposedChargesBySeverity from '@/components/court/dashboard/DisposedChargesBySeverity.vue';\n\nexport default Vue.extend({\n data() {\n return {\n loading: false,\n error: null as any,\n menuExpanded: false,\n\n stats: {\n activeCount: 0,\n averageAge: 0,\n nearingDeadline: 0,\n pastDeadline: 0,\n },\n\n criteria: {\n courtID: 0,\n locationID: 1,\n },\n };\n },\n computed: {\n ...mapGetters('court', ['courtWithID']),\n\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n },\n watch: {\n $route: {\n immediate: true,\n handler() {\n routeToCriteria(this.$route, this.criteria);\n },\n },\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n methods: {\n /**\n * fetchData performs multiple simultaneous API calls to the backend\n * to populate all the dashboard statistics and tables. It should be\n * called on page load, anytime the active courtID changes or when globas\n * parameters are changed.\n */\n async fetchData(): Promise {\n this.error = null;\n this.loading = true;\n\n try {\n await this.fetchCourtStats();\n\n if (this.criteria.courtID) {\n await this.$store.dispatch('court/fetchCourtroomsForCourt', {\n courtID: this.criteria.courtID,\n force: false,\n });\n }\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n\n /**\n * fetchCourtStates triggers the API call to retrieve the top-level stats\n * for this entire Court.\n */\n async fetchCourtStats(): Promise {\n const queryString = criteriaToQueryString(this.criteria);\n const url = `/cases/stats?${queryString}`;\n const response = await courtAPI.get(url);\n if (response && response.data && response.data.data) {\n this.stats = response.data.data;\n }\n },\n },\n components: {\n AgeOfPendingCaseload,\n CaseDocketEventCounts,\n CasesByCivilCaseTopic,\n CasesByCourtRevenue,\n CasesByCourtTable,\n CasesByCourtLocationTable,\n CasesByDispositionReason,\n CasesByLawsuitType,\n CasesByPunishmentType,\n CaseClearanceRatio,\n CourtHearingCalendar,\n DisposedChargesBySeverity,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtDashboard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtDashboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtDashboard.vue?vue&type=template&id=4f69867c&\"\nimport script from \"./CourtDashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtDashboard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VContainer,VImg,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',{staticClass:\"py-4\"},[_c('v-col',{attrs:{\"cols\":\"4\",\"md\":\"2\"}},[_c('img',{attrs:{\"height\":\"155\",\"src\":\"/af-logo.png\"}})]),_c('v-col',{attrs:{\"cols\":\"8\",\"md\":\"10\"}},[_c('div',{staticClass:\"text-h6 text-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.$t('appTitle'))+\" \")]),_c('div',{staticClass:\"text-h2 font-weight-black text-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.$t('crimeReport.singular'))+\" \")])])],1),_c('v-row',[(_vm.dossier)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('court.dossier'))+\" \")]),_c('div',{staticClass:\"text-h5\"},[_vm._v(\" \"+_vm._s(_vm.dossier.number)+\" \")])]):_vm._e(),(_vm.crimeReport)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CrimeReportDisplay',{attrs:{\"crime-report\":_vm.crimeReport}})],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.crimeReport.awarenessNumber)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('div',{staticClass:\"text-caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('crimeReport.awarenessNumber'))+\" \")]),_c('div',{staticClass:\"text-h5 font-weight-bold secondary--text\"},[_vm._v(\" \"+_vm._s(_vm.crimeReport.awarenessNumber)+\" \")])])],1):_vm._e(),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('crimeReport.occurredAtDate')}},[_c('Date',{attrs:{\"value\":_vm.crimeReport.occurredOn}})],1),(_vm.crimeReport.occurredAt)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('crimeReport.occurredAtTime'),\"value\":_vm.crimeReport.occurredAt}}):_vm._e(),_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('crimeReport.locationID'),\"value\":_vm.fullGeographyName(_vm.crimeReport.locationID)}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('charge.crime.plural'),\"value\":_vm.crimeNames.join(', ')}})],1),_c('v-divider'),_c('v-row',[(_vm.suspectNames.length)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-caption\"},[_vm._v(_vm._s(_vm.$t('suspect.plural')))]),_c('div',{staticClass:\"text-h5\"},[_vm._v(\" \"+_vm._s(_vm.suspectNames.join(', '))+\" \")])]):_vm._e(),(_vm.victimNames.length)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-caption\"},[_vm._v(_vm._s(_vm.$t('victim.plural')))]),_c('div',{staticClass:\"text-h5\"},[_vm._v(\" \"+_vm._s(_vm.victimNames.join(', '))+\" \")])]):_vm._e()],1),(_vm.victimNames.length || _vm.suspectNames.length)?_c('v-divider'):_vm._e(),(_vm.crimeReport.description || _vm.crimeReport.wantedSuspectDescription)?_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"label\":_vm.$t('crimeReport.description'),\"value\":_vm.crimeReport.description}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"label\":_vm.$t('crimeReport.wantedSuspectDescription'),\"value\":_vm.crimeReport.wantedSuspectDescription}})],1):_vm._e(),(\n (_vm.victimNames.length || _vm.suspectNames.length) &&\n (_vm.crimeReport.description || _vm.crimeReport.wantedSuspectDescription)\n )?_c('v-divider'):_vm._e(),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('crimeReport.officerName'),\"value\":_vm.crimeReport.officerName}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('case.filedAt')}},[_c('Date',{attrs:{\"value\":_vm.crimeReport.filedAt}})],1),_c('LabeledData',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"label\":_vm.$t('crimeReport.coalitionForcesAffected'),\"value\":_vm.crimeReport.coalitionForcesAffected}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport { Crime } from '@/vuex/crime/crime';\n\nexport default Vue.extend({\n props: {\n crimeReport: Object,\n },\n computed: {\n ...mapGetters('crime', ['crimeWithID']),\n ...mapState('language', ['locale']),\n ...mapGetters('profile', ['profileName']),\n ...mapGetters('geography', ['fullGeographyName']),\n ...mapGetters('court', ['partyName']),\n crimes(): Crime[] {\n if (!this.crimeReport) {\n return [];\n }\n return _.compact(this.crimeReport.crimeIDs || []).map((id) =>\n this.crimeWithID(id),\n );\n },\n crimeNames(): string[] {\n return this.crimes.map((crime) => {\n return crime.title[this.locale];\n });\n },\n suspectNames(): string[] {\n if (!this.crimeReport) {\n return [];\n }\n return _.map(this.crimeReport.suspectIDs, (id) => this.profileName(id));\n },\n victimNames(): string[] {\n if (!this.crimeReport) {\n return [];\n }\n return _.map(this.crimeReport.victimIDs, (id) => this.partyName(id));\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportDisplay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportDisplay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeReportDisplay.vue?vue&type=template&id=f0260c78&\"\nimport script from \"./CrimeReportDisplay.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeReportDisplay.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VDivider,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { CrimeReport } from '@/vuex/investigation/crimeReport';\nimport { Dossier } from '@/vuex/court/dossier';\n\nimport CrimeReportDisplay from '@/views/detection/CrimeReportDisplay.vue';\nimport VictimsTable from '@/components/detection/crimeReport/VictimsTable.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n\n created(): void {\n this.fetchData();\n },\n\n computed: {\n ...mapGetters('investigation', ['crimeReportWithID']),\n ...mapGetters('court', ['dossierWithID']),\n crimeReport(): CrimeReport {\n return this.crimeReportWithID(this.id);\n },\n dossierID(): number {\n if (this.crimeReport) {\n return this.crimeReport.dossierID;\n }\n return 0;\n },\n dossier(): Dossier | null {\n if (this.dossierID) {\n return this.dossierWithID(this.dossierID);\n }\n return null;\n },\n },\n\n watch: {\n id(val: number): void {\n if (this.id) {\n this.fetchData();\n }\n },\n },\n\n methods: {\n async fetchData(): Promise {\n try {\n await this.$store.dispatch('investigation/fetchCrimeReport', this.id);\n setTimeout(window.print, 1000);\n } catch (e) {\n const anyE = e as any;\n let errorMessage = `${anyE.name}: ${anyE.message}. `;\n if (anyE.message.match(/404/)) {\n errorMessage += `Cant find Crime Report #${this.id}`;\n }\n this.$store.dispatch(`application/showSnackbarError`, errorMessage);\n }\n },\n },\n components: {\n CrimeReportDisplay,\n VictimsTable,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportPrint.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportPrint.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeReportPrint.vue?vue&type=template&id=1d58c190&\"\nimport script from \"./CrimeReportPrint.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeReportPrint.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pb-10\"},[_c('CrimeReportSearcher',{attrs:{\"route\":_vm.$route},on:{\"queryChanged\":_vm.queryChanged}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.fetchData()}}},[_c('v-card',{attrs:{\"loading\":_vm.loading}},[_c('v-toolbar',{staticClass:\"mb-5\",attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"black\",\"extension-height\":_vm.dense ? '20px' : '40px'}},[_c('v-toolbar-title',{staticClass:\"text-h4\"},[_c('v-icon',{attrs:{\"large\":\"\",\"color\":\"white\"}},[_vm._v(\"fa-search\")]),_vm._v(\" \"+_vm._s(_vm.$t('crimeReport.plural'))+\" \")],1),_vm._t(\"header\")],2),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"space-between\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"1\"}},[_c('v-switch',{attrs:{\"label\":_vm.$t('crimeReport.activeOnly')},model:{value:(_vm.criteria.activeOnly),callback:function ($$v) {_vm.$set(_vm.criteria, \"activeOnly\", $$v)},expression:\"criteria.activeOnly\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('v-switch',{attrs:{\"label\":\"Coalition Forces Affected\"},model:{value:(_vm.criteria.coalitionForcesAffected),callback:function ($$v) {_vm.$set(_vm.criteria, \"coalitionForcesAffected\", $$v)},expression:\"criteria.coalitionForcesAffected\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"4\"}},[_c('DossierNumberField',{attrs:{\"clearable\":\"\",\"disable-padding\":\"\"},model:{value:(_vm.criteria.dossierNumber),callback:function ($$v) {_vm.$set(_vm.criteria, \"dossierNumber\", $$v)},expression:\"criteria.dossierNumber\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"4\"}},[_c('v-text-field',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('######'),expression:\"'######'\"}],attrs:{\"label\":_vm.$t('crimeReport.awarenessNumber')},model:{value:(_vm.criteria.awarenessNumber),callback:function ($$v) {_vm.$set(_vm.criteria, \"awarenessNumber\", $$v)},expression:\"criteria.awarenessNumber\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LocaleDateRange',{attrs:{\"label\":_vm.$t('crimeReport.occurredAtDate'),\"two-fields\":\"when-blank\"},model:{value:(_vm.criteria.occurredBetween),callback:function ($$v) {_vm.$set(_vm.criteria, \"occurredBetween\", $$v)},expression:\"criteria.occurredBetween\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LocaleDateRange',{attrs:{\"label\":_vm.$t('filedAt'),\"two-fields\":\"when-blank\"},model:{value:(_vm.criteria.filedBetween),callback:function ($$v) {_vm.$set(_vm.criteria, \"filedBetween\", $$v)},expression:\"criteria.filedBetween\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('DepartmentSelector',{attrs:{\"label\":_vm.$t('dossier.firstDepartment'),\"clearable\":\"\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.departmentID),callback:function ($$v) {_vm.$set(_vm.criteria, \"departmentID\", $$v)},expression:\"criteria.departmentID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('crimeReport.locationID'),\"zero-label\":\"all\",\"clearable\":\"\"},model:{value:(_vm.criteria.locationID),callback:function ($$v) {_vm.$set(_vm.criteria, \"locationID\", $$v)},expression:\"criteria.locationID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('CrimeSelector',{attrs:{\"label\":_vm.$t('crime.plural'),\"clearable\":\"\",\"chips\":\"\",\"deletableChips\":\"\",\"multiple\":\"\"},model:{value:(_vm.criteria.crimeIDs),callback:function ($$v) {_vm.$set(_vm.criteria, \"crimeIDs\", $$v)},expression:\"criteria.crimeIDs\"}}),(_vm.criteria.crimeIDs.length > 1)?_c('div',[_c('v-radio-group',{staticClass:\"pt-0 mt-0\",attrs:{\"row\":\"\"},model:{value:(_vm.criteria.crimeMatchAll),callback:function ($$v) {_vm.$set(_vm.criteria, \"crimeMatchAll\", $$v)},expression:\"criteria.crimeMatchAll\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('matchmode.any'),\"value\":false}}),_c('v-radio',{attrs:{\"label\":_vm.$t('matchmode.all'),\"value\":true}})],1)],1):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('crimeReport.highestSeverity'),\"items\":\"crime/severities\",\"zero-label\":\"all\",\"disable-sorting\":\"\"},model:{value:(_vm.criteria.maxSeverityID),callback:function ($$v) {_vm.$set(_vm.criteria, \"maxSeverityID\", $$v)},expression:\"criteria.maxSeverityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('crimeReport.includesSeverity'),\"items\":\"crime/severities\",\"zero-label\":\"all\",\"disable-sorting\":\"\"},model:{value:(_vm.criteria.includesSeverityID),callback:function ($$v) {_vm.$set(_vm.criteria, \"includesSeverityID\", $$v)},expression:\"criteria.includesSeverityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('ProfileSearchSelector',{attrs:{\"label\":_vm.$t('suspect.singular'),\"clearable\":\"\",\"multiple\":\"\"},model:{value:(_vm.criteria.suspectIDs),callback:function ($$v) {_vm.$set(_vm.criteria, \"suspectIDs\", $$v)},expression:\"criteria.suspectIDs\"}}),(_vm.criteria.suspectIDs.length > 1)?_c('div',[_c('v-radio-group',{staticClass:\"pt-0 mt-0\",attrs:{\"row\":\"\"},model:{value:(_vm.criteria.suspectMatchAll),callback:function ($$v) {_vm.$set(_vm.criteria, \"suspectMatchAll\", $$v)},expression:\"criteria.suspectMatchAll\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('matchmode.any'),\"value\":false}}),_c('v-radio',{attrs:{\"label\":_vm.$t('matchmode.all'),\"value\":true}})],1)],1):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('PartySearchSelector',{attrs:{\"label\":_vm.$t('victim.singular'),\"clearable\":\"\"},model:{value:(_vm.criteria.victimID),callback:function ($$v) {_vm.$set(_vm.criteria, \"victimID\", $$v)},expression:\"criteria.victimID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('DocketEventTypeSelector',{attrs:{\"label\":_vm.$t('case.criteria.withDocketEvent'),\"module\":\"detection\",\"clearable\":\"\"},model:{value:(_vm.criteria.withDocketEventTypeID),callback:function ($$v) {_vm.$set(_vm.criteria, \"withDocketEventTypeID\", $$v)},expression:\"criteria.withDocketEventTypeID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('DocketEventTypeSelector',{attrs:{\"label\":_vm.$t('case.criteria.withoutDocketEvent'),\"module\":\"detection\",\"clearable\":\"\"},model:{value:(_vm.criteria.withoutDocketEventTypeID),callback:function ($$v) {_vm.$set(_vm.criteria, \"withoutDocketEventTypeID\", $$v)},expression:\"criteria.withoutDocketEventTypeID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('subjectProperty.type'),\"items\":\"court/subjectPropertyTypes\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.subjectPropertyTypeID),callback:function ($$v) {_vm.$set(_vm.criteria, \"subjectPropertyTypeID\", $$v)},expression:\"criteria.subjectPropertyTypeID\"}})],1)],1),_c('v-row',{staticClass:\"mt-4\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{staticClass:\"selectable no-fixed-height\",attrs:{\"items\":_vm.translatedResults,\"loading\":_vm.loading,\"headers\":_vm.headers,\"disable-sort\":\"\",\"no-data-text\":_vm.$t('error.nodata'),\"footer-props\":{\n 'items-per-page-options': [10, 20, 40, 50, 100],\n },\"page\":_vm.page.number,\"items-per-page\":_vm.page.size,\"server-items-length\":_vm.page.serverCount,\"dense\":\"\"},on:{\"update:page\":function($event){return _vm.$set(_vm.page, \"number\", $event)},\"update:itemsPerPage\":function($event){return _vm.$set(_vm.page, \"size\", $event)},\"update:items-per-page\":function($event){return _vm.$set(_vm.page, \"size\", $event)},\"click:row\":_vm.goToCrimeReport},scopedSlots:_vm._u([{key:\"item.locationID\",fn:function(ref){\n var item = ref.item;\nreturn [_c('GeographyName',{attrs:{\"full\":\"\",\"id\":item.locationID}})]}}],null,true)}),(_vm.hasPermission('crimeReport.excelExport'))?_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"accent\",\"href\":'/api/v1/investigationservice/crime-reports/search/excel?' +\n _vm.queryString}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-file-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.export'))+\" \")],1)],1):_vm._e()],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\nimport router from '@/router';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport {\n changedCriteria,\n criteriaToQueryString,\n routeToCriteria,\n} from '@/lib/criteria';\n\nimport CrimeSelector from '@/components/crime/CrimeSelector.vue';\nimport ProfileSearchSelector from '@/components/profile/ProfileSearchSelector.vue';\nimport PartySearchSelector from '@/components/court/party/PartySearchSelector.vue';\n\nexport default Vue.extend({\n props: {\n /**\n * route expects the $route object from the parent component. It is optional\n * and should only be supplied by OffenderList, where we *want* a tight\n * connection between the page URL and the OffenderSearcher criteria object.\n */\n route: Object,\n\n /**\n * dense triggers a more condensed design for the component, which is useful\n * when it appears in a popup or other compressed space.\n */\n dense: Boolean,\n },\n\n created() {\n if (this.route) {\n this.routeChanged();\n }\n\n // Load the initial data...\n this.fetchData();\n\n // ...then make every future calls to this.fetchData or this.routeChanged\n // be debounced so that they can never be called faster than once\n // every N milliseconds.\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.fetchData = _.debounce(this.fetchData, 400);\n this.routeChanged = _.debounce(this.routeChanged, 400);\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n\n initialCriteria: {},\n criteria: {\n activeOnly: false,\n dossierNumber: '',\n awarenessNumber: '',\n departmentID: 0,\n crimeIDs: [] as number[],\n crimeMatchAll: false,\n coalitionForcesAffected: false,\n suspectIDs: [],\n suspectMatchAll: false,\n subjectPropertyTypeID: 0,\n locationID: 1, // Afghanistan\n occurredBetween: '',\n filedBetween: '',\n includesSeverityID: 0,\n maxSeverityID: 0,\n withDocketEventTypeID: 0,\n withoutDocketEventTypeID: 0,\n victimId: 0,\n },\n\n results: [] as any[],\n\n page: {\n number: 1,\n size: 10,\n serverCount: 0,\n },\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('crime', ['crimeWithID']),\n ...mapGetters('auth', ['hasPermission']),\n\n crimeIDs(): number[] {\n return this.criteria.crimeIDs;\n },\n\n suspectIDs(): number[] {\n return this.criteria.suspectIDs;\n },\n\n /**\n * translatedResults processes the current page of search results and\n * prepares it for display in the table.\n */\n translatedResults(): any[] {\n return _.map(this.results, (sr) => {\n const crimes = _.chain(sr.crimeIDs)\n .map(this.crimeWithID)\n .map((crime) => {\n if (crime) {\n return crime.title[this.locale];\n }\n })\n .value()\n .join(', ');\n\n return Object.assign(sr, {\n translatedCrimes: crimes,\n });\n });\n },\n\n /**\n * queryString computes the query string component of the search API call.\n * It includes pagination parameters controlled by the v-data-table props,\n * but only if they are not the only parameters.\n */\n queryString(): string {\n if (_.isEmpty(this.initialCriteria)) {\n this.initialCriteria = _.cloneDeep(this.criteria);\n }\n const cc = changedCriteria(this.criteria, this.initialCriteria);\n return criteriaToQueryString(cc, this.page);\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a computed property so that it will\n * update with new translations when the locale changes.\n */\n headers(): any[] {\n return [\n {\n text: i18n.t('dossier.dossierNumber'),\n value: 'dossierNumber',\n width: '203px',\n },\n {\n text: i18n.t('dossier.awarenessNumber.singular'),\n value: 'awarenessNumber',\n },\n { text: i18n.t('crimeReport.locationID'), value: 'locationID' },\n { text: i18n.t('crimeReport.officerName'), value: 'officerName' },\n { text: i18n.t('charge.crime.plural'), value: 'translatedCrimes' },\n ];\n },\n },\n\n watch: {\n /**\n * route is watched so that when the $route of the topmost component\n * changes, we can update the query string. Note that we don't watch\n * $route directly from this component (note the lack of a dollar sign here),\n * because that would potentially trigger at undesirable times.\n *\n * Since we can search for Offenders from other places than the full\n * OffenderList page, we don't always want the route to be tied to this\n * component's behavior.\n */\n route(route: any) {\n this.routeChanged();\n },\n\n /**\n * queryString is watched so that a new search can be triggered.\n */\n queryString(newVal: string, oldVal: string) {\n this.fetchData();\n },\n\n /**\n * criteria is watched so that when the search criteria is changed after\n * results have already been returned, we can reset the page number.\n */\n criteria: {\n deep: true,\n immediate: false,\n handler(newVal, oldVal) {\n if (this.page.serverCount > 0 && this.page.number > 1) {\n this.page.number = 1;\n }\n },\n },\n\n crimeIDs(val: number[]) {\n if (val.length < 2) {\n // When there's a single item, matching ANY is OK.\n // This is relevant because the UI for changing this value gets hidden.\n this.criteria.crimeMatchAll = false;\n }\n },\n\n suspectIDs(val: number[]) {\n if (val.length < 2) {\n // When there's a single item, matching ANY is OK.\n // This is relevant because the UI for changing this value gets hidden.\n this.criteria.suspectMatchAll = false;\n }\n },\n },\n\n methods: {\n /**\n * routeChanged is triggered when the page URL changes.\n */\n routeChanged(): void {\n routeToCriteria(this.route, this.criteria, this.page);\n },\n\n /**\n * fetchData is called when the search button is pressed or when any table\n * pagination setting is changed. It refreshes the locally-held search\n * results with the current page of results from the server.\n */\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n\n try {\n const url = `/crime-reports/search?${this.queryString}`;\n const res = await investigationAPI.get(url);\n this.page.serverCount = _.get(res, 'data.meta.totalResults', 0);\n this.results = _.get(res, 'data.data', []);\n this.$emit('queryChanged', this.queryString);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n\n goToCrimeReport(row) {\n router.push({\n name: 'crimeReportShow',\n params: { id: String(row.id) },\n });\n },\n },\n\n components: {\n CrimeSelector,\n ProfileSearchSelector,\n PartySearchSelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportSearcher.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportSearcher.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeReportSearcher.vue?vue&type=template&id=5bf39b79&\"\nimport script from \"./CrimeReportSearcher.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeReportSearcher.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VDataTable,VForm,VIcon,VRadio,VRadioGroup,VRow,VSwitch,VTextField,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport CrimeReportSearcher from '@/components/detection/crimeReport/CrimeReportSearcher.vue';\n\nexport default Vue.extend({\n methods: {\n /**\n * queryChanged listens for the same-named event to be emitted from\n * the searcher and updates the pushState/URL to reflect the new\n * page. This is critical to preserve the behavior of the back button\n * when links in the search results are clicked. Beacuse the $route is not\n * constantly parsed, this does not trigger a loop back into re-setting the\n * query criteria inside the searcher.\n */\n queryChanged(query: string): void {\n if (query !== '') {\n query = `?${encodeURI(query)}`;\n }\n const newPath = `${this.$route.path}${query}`;\n if (this.$route.fullPath !== newPath) {\n this.$router.replace(newPath);\n }\n },\n },\n\n components: {\n CrimeReportSearcher,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeReportList.vue?vue&type=template&id=a29f7202&\"\nimport script from \"./CrimeReportList.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeReportList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pt-0\"},[(_vm.dossier)?_c('v-row',{staticClass:\"secondary white--text\"},[_c('v-col',{attrs:{\"cols\":\"11\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('dossier.caseTypeOptions.' + _vm.dossier.type))+\" — \"+_vm._s(_vm.$t('court.dossier'))+\" \")]),_c('div',{staticClass:\"text-h5\"},[_vm._v(_vm._s(_vm.dossier.number))]),_c('div',{staticClass:\"text-caption\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('department.singular'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.fullDepartmentName(_vm.crimeReport.departmentID))+\" \")])]),_c('v-col',{staticClass:\"text-right d-none d-md-block\",attrs:{\"cols\":\"1\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"text\":\"\",\"target\":\"_blank\",\"to\":{ name: 'crimeReportPrint' },\"exact\":\"\"}},[_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"white\"}},[_vm._v(\"fa-print\")])],1)],1)],1):_vm._e(),(_vm.crimeReport)?_c('div',[_c('v-row',[_c('v-col',[_c('div',{staticClass:\"text-h4 text-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.$t('crimeReport.singular'))+\" \")]),_c('CrimeReportDisplay',{attrs:{\"crime-report\":_vm.crimeReport}})],1),(_vm.subjectProperties.length)?_c('v-divider',{staticClass:\"d-none d-md-block\",attrs:{\"vertical\":\"\"}}):_vm._e(),(_vm.subjectProperties.length)?_c('v-col',{staticClass:\"px-4\",attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(_vm._s(_vm.$t('subjectProperties.singular')))]),_c('SubjectPropertiesSummary',{attrs:{\"objects\":_vm.subjectProperties}})],1):_vm._e()],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('DetectionDocket',{attrs:{\"dossierID\":_vm.dossierID}})],1)],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.hasPermission('crimeReport.docketEvent.create'))?_c('NewDocketEntryMenu',{attrs:{\"dossierID\":_vm.dossierID,\"module\":\"detection\"}}):_vm._e()]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('docketEntry.plural')))])],1),_c('v-card-text',[_c('DocketEventTable',{attrs:{\"events\":_vm.events}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { DocketEntry } from '@/vuex/court/docket';\n\nimport DocketEventTable from '@/components/docket/DocketEventTable.vue';\nimport NewDocketEntryMenu from './NewDocketEntryMenu.vue';\n\nexport default Vue.extend({\n props: {\n dossierID: Number,\n },\n created(): void {\n this.fetchData();\n },\n data() {\n return {\n loading: false,\n };\n },\n watch: {\n dossierID(val: number): void {\n this.fetchData();\n },\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('court', ['docketEventsForDossier']),\n ...mapState('court', ['docketEventTypes']),\n\n events(): DocketEntry[] {\n let entries: DocketEntry[] = this.docketEventsForDossier(this.dossierID);\n entries = _.filter(entries, (e) => {\n const actionType = _.get(e, 'actionType');\n const typeID = _.get(e, 'payload.typeID');\n if (typeID) {\n const eventType = _.find(this.docketEventTypes, { id: typeID });\n if (eventType) {\n return eventType.module === 'detection';\n }\n }\n return false;\n });\n return entries;\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n await this.$store.dispatch('court/fetchDocketEntriesForDossier', {\n dossierID: this.dossierID,\n force: false,\n });\n this.loading = false;\n },\n },\n components: {\n DocketEventTable,\n NewDocketEntryMenu,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetectionDocket.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetectionDocket.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DetectionDocket.vue?vue&type=template&id=6ae44550&\"\nimport script from \"./DetectionDocket.vue?vue&type=script&lang=ts&\"\nexport * from \"./DetectionDocket.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { CrimeReport } from '@/vuex/investigation/crimeReport';\nimport { Dossier } from '@/vuex/court/dossier';\nimport { SubjectProperty } from '@/vuex/court/subjectProperty';\n\nimport CrimeReportDisplay from './CrimeReportDisplay.vue';\nimport DetectionDocket from '@/components/docket/DetectionDocket.vue';\nimport SubjectPropertiesSummary from '@/components/subjectProperty/SubjectPropertiesSummary.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n created(): void {\n this.fetchData();\n },\n watch: {\n id(val: number): void {\n if (this.id) {\n this.fetchData();\n }\n },\n },\n computed: {\n ...mapGetters('investigation', ['crimeReportWithID', 'fullDepartmentName']),\n ...mapGetters('court', ['dossierWithID', 'subjectPropertyForDossier']),\n crimeReport(): CrimeReport {\n return this.crimeReportWithID(this.id);\n },\n dossierID(): number {\n if (this.crimeReport) {\n return this.crimeReport.dossierID;\n }\n return 0;\n },\n dossier(): Dossier | null {\n if (this.dossierID) {\n return this.dossierWithID(this.dossierID);\n }\n return null;\n },\n subjectProperties(): SubjectProperty[] {\n if (this.dossierID) {\n return this.subjectPropertyForDossier(this.dossierID);\n }\n return [];\n },\n },\n methods: {\n async fetchData(): Promise {\n try {\n // Fetch the Crime Report\n await this.$store.dispatch('investigation/fetchCrimeReport', this.id);\n if (this.dossierID) {\n await this.$store.dispatch('court/fetchDossier', this.dossierID);\n await this.$store.dispatch('court/fetchSubjectPropertiesForDossier', {\n dossierID: this.dossierID,\n });\n }\n } catch (e) {\n if (e.message.match(/404|500/)) {\n this.$store.dispatch(\n `application/showSnackbarError`,\n `${e.name}: ${e.message}. Cant find Crime Report #${this.id}`,\n );\n }\n }\n },\n },\n components: {\n CrimeReportDisplay,\n DetectionDocket,\n SubjectPropertiesSummary,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportShow.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportShow.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeReportShow.vue?vue&type=template&id=3fc18122&\"\nimport script from \"./CrimeReportShow.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeReportShow.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VDivider,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',{staticClass:\"white--text\",attrs:{\"flat\":\"\",\"tile\":\"\",\"dark\":\"\",\"color\":\"black\"}},[_c('v-card-title',[_c('v-row',[_c('v-col',{staticClass:\"text-h4\",attrs:{\"cols\":\"12\",\"md\":\"5\",\"lg\":\"3\",\"xl\":\"2\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(_vm._s(_vm.$t('module.police')))]),_vm._v(\" \"+_vm._s(_vm.$t('dashboard.singular'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\",\"lg\":\"9\",\"xl\":\"10\"}},[_c('div',{staticClass:\"text-overline\"},[_c('GeographyBreadcrumb',{attrs:{\"id\":_vm.criteria.locationID || 1,\"to\":{ name: 'detectionDashboard', query: Object.assign({}, _vm.criteria) }}})],1),_c('div',{staticClass:\"text-h4\"},[_c('DepartmentBreadcrumb',{attrs:{\"id\":_vm.criteria.departmentID || 0,\"to\":{ name: 'detectionDashboard', query: Object.assign({}, _vm.criteria) }}})],1)]),(_vm.loading)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1):_vm._e()],1)],1)],1),_c('v-row',{attrs:{\"align-stretch\":\"\",\"dense\":\"\"}},[_c('CrimeReportsByLocationTable',{attrs:{\"criteria\":_vm.criteria},model:{value:(_vm.menuExpanded),callback:function ($$v) {_vm.menuExpanded=$$v},expression:\"menuExpanded\"}}),_c('CrimeReportsByDepartmentTable',{attrs:{\"criteria\":_vm.criteria},model:{value:(_vm.menuExpanded),callback:function ($$v) {_vm.menuExpanded=$$v},expression:\"menuExpanded\"}})],1),(!_vm.loading)?_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"display-2\"},[_c('router-link',{attrs:{\"to\":{\n name: 'crimeReportSearch',\n query: Object.assign({}, _vm.criteria, {activeOnly: true}),\n }}},[_c('NumFmt',{attrs:{\"value\":_vm.stats.crimeReportCount}})],1)],1),_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('crimeReport.activeCrimeReports'))+\" \")])]),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"display-2\"},[_vm._v(\" \"+_vm._s((_vm.stats.averageFilingDelay || 0).toFixed(1))+\" \")]),_c('div',{staticClass:\"text-overline\"},[_vm._v(\"Average Filing Delay\")])])],1):_vm._e(),_c('v-row',{attrs:{\"align-stretch\":\"\"}},[_c('CrimeReportProvinceMap',{attrs:{\"criteria\":_vm.criteria}}),_c('CrimeReportsBySeverityTable',{attrs:{\"criteria\":_vm.criteria}}),_c('CrimeReportsByCrimeTable',{attrs:{\"criteria\":_vm.criteria}})],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('DossierDocketEventCounts',{attrs:{\"module\":\"detection\",\"criteria\":_vm.dossierCriteria}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_vm._v(_vm._s(_vm.$t('crimeReport.plural')))]),_c('v-col',[_c('LocaleDateRange',{attrs:{\"label\":_vm.$t('crimeReport.occurredAt'),\"two-fields\":\"never\",\"initial-value\":\"last90Days\",\"persistent-hint\":\"\"},model:{value:(_vm.occurredBetween),callback:function ($$v) {_vm.occurredBetween=$$v},expression:\"occurredBetween\"}})],1)],1)],1),_c('v-card-text',[_c('ProvinceMap',{attrs:{\"data\":_vm.results,\"provinceIDCol\":\"provinceID\",\"valueCol\":\"crimeReportCount\",\"metricName\":_vm.$t('crimeReport.plural'),\"colors\":['#fee0d2', '#de2d26']}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n\n occurredBetween: '',\n\n results: [] as any[],\n };\n },\n\n computed: {\n /**\n * fullCriteria builds the actual API criteria which will be sent. This is\n * done by combining the incoming criteria prop with customizations set\n * directly on this component.\n */\n fullCriteria(): any {\n const criteria = Object.assign({}, this.criteria, {\n activeOnly: false, // TODO Find a way to avoid needing to override this.\n occurredBetween: this.occurredBetween,\n });\n return criteria;\n },\n\n /**\n * queryString builds the URL querystring which will be sent to the API\n * endpoint. It exists as a standalone computed prop so that the watcher\n * can trigger only when the query has changed.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n },\n\n watch: {\n /**\n * queryString is watched so that a new API fetch can be triggered when\n * parameters are changed.\n */\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n try {\n const url = `/crime-reports/by-province?${this.queryString}`;\n const response = await investigationAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } catch (error) {\n this.error = error;\n }\n this.loading = false;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportProvinceMap.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportProvinceMap.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeReportProvinceMap.vue?vue&type=template&id=5cb2a178&\"\nimport script from \"./CrimeReportProvinceMap.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeReportProvinceMap.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.results.length)?_c('v-col',[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.$t('crime.plural')))])],1)],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"dense\":\"\",\"items\":_vm.results,\"headers\":_vm.headers,\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item.crimeID\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('CrimeTitle',{attrs:{\"id\":value}})]}},{key:\"item.count\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":{\n name: 'crimeReportSearch',\n query: Object.assign({}, _vm.criteria,\n {crimeIDs: item.crimeID}),\n }}},[_c('NumFmt',{attrs:{\"value\":item.count}})],1)]}}],null,true)})],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nimport CrimeTitle from '@/components/crime/CrimeTitle.vue';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n results: [],\n };\n },\n computed: {\n headers(): any[] {\n return [\n { text: i18n.t('crime.singular'), value: 'crimeID', sortable: false },\n {\n text: 'Active Crime Reports',\n value: 'count',\n align: 'right',\n sortable: false,\n },\n ];\n },\n },\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n try {\n const queryString = criteriaToQueryString(this.criteria);\n const url = `/crime-reports/by-crime?${queryString}`;\n const response = await investigationAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } finally {\n this.loading = false;\n }\n },\n },\n\n components: {\n CrimeTitle,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportsByCrimeTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportsByCrimeTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeReportsByCrimeTable.vue?vue&type=template&id=03c73c71&\"\nimport script from \"./CrimeReportsByCrimeTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeReportsByCrimeTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDataTable,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.results.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('ExpandableCard',{staticClass:\"fill-height\",attrs:{\"title\":_vm.$t('subdepartment.plural'),\"value\":_vm.value,\"flat\":\"\",\"dense\":\"\",\"dark\":\"\",\"color\":\"black\"},on:{\"input\":function($event){return _vm.$emit('input', $event)}}},[_c('v-data-table',{attrs:{\"dense\":\"\",\"items\":_vm.results,\"headers\":_vm.headers,\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_c('router-link',{attrs:{\"to\":{\n name: 'detectionDashboard',\n query: Object.assign({}, _vm.criteria,\n {departmentID: item.departmentID}),\n }}},[_c('DepartmentName',{attrs:{\"id\":item.departmentID}})],1)],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'crimeReportSearch',\n query: Object.assign({}, _vm.criteria,\n {departmentID: item.departmentID}),\n }}},[_vm._v(\" \"+_vm._s(item.crimeReportCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s((item.averageFilingDelay || 0).toFixed(1))+\" \"+_vm._s(_vm.$t('time.days'))+\" \")])])]}}],null,false,4138221696)})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n results: [],\n };\n },\n computed: {\n /**\n * queryString computes the parameters to send to the API. This must\n * be a computed property so that it can be watched to trigger a new\n * API call.\n */\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a computed property so\n * that it will update with new translations when the locale changes.\n */\n headers(): any[] {\n return [\n { text: i18n.t('name'), value: 'name' },\n {\n text: i18n.t('crimeReport.activeCrimeReports'),\n align: 'right',\n value: 'crimeReportCount',\n },\n {\n text: 'Average Filing Delay', // TODO Translate\n align: 'right',\n value: 'averageFilingDelay',\n },\n ];\n },\n },\n\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n try {\n const url = `/crime-reports/by-department?${this.queryString}`;\n const response = await investigationAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportsByDepartmentTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportsByDepartmentTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeReportsByDepartmentTable.vue?vue&type=template&id=ce4be962&\"\nimport script from \"./CrimeReportsByDepartmentTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeReportsByDepartmentTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCol,VDataTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.results.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('ExpandableCard',{staticClass:\"fill-height\",attrs:{\"title\":_vm.$t('geo.plural.' + _vm.mostCommonGeographyType),\"value\":_vm.value,\"flat\":\"\",\"dense\":\"\",\"dark\":\"\",\"color\":\"black\"},on:{\"input\":function($event){return _vm.$emit('input', $event)}}},[_c('v-data-table',{attrs:{\"dense\":\"\",\"items\":_vm.results,\"headers\":_vm.headers,\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_c('router-link',{attrs:{\"to\":{\n name: 'detectionDashboard',\n query: Object.assign({}, _vm.criteria,\n {locationID: item.locationID}),\n }}},[_c('GeographyName',{attrs:{\"id\":item.locationID}})],1)],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'crimeReportSearch',\n query: Object.assign({}, _vm.criteria,\n {locationID: item.locationID}),\n }}},[_vm._v(\" \"+_vm._s(item.crimeReportCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s((item.averageFilingDelay || 0).toFixed(1))+\" \"+_vm._s(_vm.$t('time.days'))+\" \")])])]}}],null,false,3682425893)})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\nimport { Geography } from '@/vuex/geography/geography';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n results: [],\n };\n },\n computed: {\n ...mapGetters('geography', ['geographyWithID', 'fullGeographyName']),\n\n geographies(): Geography[] {\n return _.chain(this.results || [])\n .map('locationID')\n .map(this.geographyWithID)\n .compact()\n .value();\n },\n\n /**\n * mostCommonType scans the list of facilities and returns the one that\n * occurs most frequently. This is used to create a summary title.\n */\n mostCommonGeographyType(): string {\n const types = _.map(this.geographies || [], 'type') as string[];\n return _.chain(types)\n .countBy() // Produces { \"facility\": 14, \"cell\": 10 }\n .entries() // Converts to [[\"facility\", 14], [\"cell\", 10]]\n .maxBy(_.last) // Filters to [\"facility\", 14]\n .head() // Retrieves first element (\"facility\")\n .value() as string; // Exit lodash chain and type-assert to string\n },\n\n /**\n * queryString computes the parameters to send to the API. This must\n * be a computed property so that it can be watched to trigger a new\n * API call.\n */\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n\n headers(): any[] {\n return [\n { text: i18n.t('name'), value: 'name' },\n {\n text: i18n.t('crimeReport.activeCrimeReports'),\n align: 'right',\n value: 'crimeReportCount',\n },\n {\n text: 'Average Filing Delay', // TODO Translate\n align: 'right',\n value: 'averageFilingDelay',\n },\n ];\n },\n },\n\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n try {\n const url = `/crime-reports/by-location?${this.queryString}`;\n const res = await investigationAPI.get(url);\n this.results = _.get(res, 'data.data', []);\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportsByLocationTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportsByLocationTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeReportsByLocationTable.vue?vue&type=template&id=5f8334dc&\"\nimport script from \"./CrimeReportsByLocationTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeReportsByLocationTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCol,VDataTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.results.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('v-card',{attrs:{\"outlined\":\"\",\"loading\":_vm.loading}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_vm._v(_vm._s(_vm.$t('charge.severity')))])],1)],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"dense\":\"\",\"items\":_vm.items,\"headers\":_vm.headers,\"no-data-text\":_vm.$t('error.nodata'),\"hide-default-footer\":\"\",\"disable-sort\":\"\"},scopedSlots:_vm._u([{key:\"item.label\",fn:function(ref){\nvar value = ref.value;\nreturn [_vm._v(\" \"+_vm._s(value)+\" \")]}},{key:\"item.count\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":{\n name: 'crimeReportSearch',\n query: Object.assign({}, _vm.criteria,\n {maxSeverityID: item.severityID}),\n }}},[_c('NumFmt',{attrs:{\"value\":item.count}})],1)]}}],null,true)})],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n\n results: [] as any[],\n };\n },\n computed: {\n ...mapState('crime', ['severities']),\n ...mapGetters('language', ['nameForIDInCollection']),\n\n items(): any[] {\n const total = _.sumBy(this.results, 'count');\n return _.map(this.results, (row) => ({\n label: this.nameForIDInCollection(row.severityID, this.severities),\n ...row,\n percent: Math.round((row.count / total) * 100) + '%',\n }));\n },\n\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n\n headers(): any[] {\n return [\n { text: i18n.t('charge.severity'), value: 'label' },\n { text: i18n.t('crimeReport.plural'), value: 'count', align: 'right' },\n {\n text: i18n.t('dashboard.percentage'),\n value: 'percent',\n align: 'right',\n },\n ];\n },\n },\n\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n\n try {\n const queryString = criteriaToQueryString(this.criteria);\n const url = `/crime-reports/by-severity?${queryString}`;\n const response = await investigationAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportsBySeverityTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrimeReportsBySeverityTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CrimeReportsBySeverityTable.vue?vue&type=template&id=56101ac4&\"\nimport script from \"./CrimeReportsBySeverityTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./CrimeReportsBySeverityTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDataTable,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"outlined\":\"\",\"loading\":_vm.loading}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\",\"jusify\":\"space-between\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.$t('court.docketEvent.plural'))+\" \")]),(!this.module)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-select',{attrs:{\"label\":_vm.$t('docketEventType.module.module'),\"items\":_vm.moduleChoices},model:{value:(_vm.internalModule),callback:function ($$v) {_vm.internalModule=$$v},expression:\"internalModule\"}})],1):_vm._e(),_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LocaleDateRange',{attrs:{\"label\":_vm.$t('filedAt'),\"two-fields\":\"never\",\"initial-value\":\"last90Days\",\"persistent-hint\":\"\"},model:{value:(_vm.filedBetween),callback:function ($$v) {_vm.filedBetween=$$v},expression:\"filedBetween\"}})],1)],1)],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-data-table',{attrs:{\"items\":_vm.items,\"headers\":_vm.headers,\"dense\":\"\",\"no-data-text\":_vm.$t('error.nodata'),\"sort-by\":\"dossierCount\",\"sort-desc\":true}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\nimport {\n AllDocketEventTypeModules,\n DocketEventTypeModule,\n} from '@/vuex/court/options';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nexport default Vue.extend({\n props: {\n module: String,\n criteria: Object,\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n\n internalModule: this.module || DocketEventTypeModule.Investigation,\n\n filedBetween: '',\n\n results: [] as any[],\n };\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n\n items(): any[] {\n return _.map(this.results, (row) => ({\n ...row,\n docketEventType: this.nameForIDInCollection(\n row.docketEventTypeID,\n 'court/docketEventTypes',\n ),\n }));\n },\n\n /**\n * fullCriteria builds the actual API criteria which will be sent. This is\n * done by combining the incoming criteria prop with customizations set\n * directly on this component.\n */\n fullCriteria(): any {\n return Object.assign({}, this.criteria, {\n activeOnly: false, // TODO Find a way to avoid needing to override this.\n module: this.internalModule,\n filedBetween: this.filedBetween,\n });\n },\n\n /**\n * queryString computes the parameters to send to the API. This must\n * be a computed property so that it can be watched to trigger a new\n * API call.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n\n /**\n * moduleChoices builds the array of objects to feed to the module selector\n */\n moduleChoices(): VSelectItem[] {\n return AllDocketEventTypeModules.map((m) => ({\n value: m,\n text: i18n.t('docketEventType.module.' + m),\n }));\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a computed property so\n * that it will update with new translations when the locale changes.\n */\n headers(): any[] {\n return [\n { text: i18n.t('docketEventType.singular'), value: 'docketEventType' },\n {\n text: i18n.t('count'),\n align: 'right',\n value: 'eventCount',\n },\n {\n text: '# ' + i18n.t('dossier.plural'),\n align: 'right',\n value: 'dossierCount',\n },\n ];\n },\n },\n\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n try {\n const url = `/docket-event-counts?${this.queryString}`;\n const response = await investigationAPI.get(url);\n this.results = _.get(response, 'data.data', {});\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierDocketEventCounts.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierDocketEventCounts.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossierDocketEventCounts.vue?vue&type=template&id=1b21256a&\"\nimport script from \"./DossierDocketEventCounts.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossierDocketEventCounts.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDataTable,VRow,VSelect,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { criteriaToQueryString, routeToCriteria } from '@/lib/criteria';\n\nimport CrimeReportProvinceMap from '@/components/detection/dashboard/CrimeReportProvinceMap.vue';\nimport CrimeReportsByCrimeTable from '@/components/detection/dashboard/CrimeReportsByCrimeTable.vue';\nimport CrimeReportsByDepartmentTable from '@/components/detection/dashboard/CrimeReportsByDepartmentTable.vue';\nimport CrimeReportsByLocationTable from '@/components/detection/dashboard/CrimeReportsByLocationTable.vue';\nimport CrimeReportsBySeverityTable from '@/components/detection/dashboard/CrimeReportsBySeverityTable.vue';\nimport DossierDocketEventCounts from '@/components/investigation/dashboard/DossierDocketEventCounts.vue';\n\nexport default Vue.extend({\n data() {\n return {\n loading: false,\n\n menuExpanded: false,\n\n criteria: {\n activeOnly: true,\n locationID: 1,\n departmentID: 0,\n },\n\n // Stats holds the top-line statistics for this department\n stats: {\n crimeReportCount: 0,\n averageFilingDelay: 0,\n },\n };\n },\n computed: {\n /**\n * dossierCriteria converts the crtieria object into a DossierCriteria\n * instead of a CrimeReportCriteria.\n */\n dossierCriteria(): any {\n return {\n activeOnly: this.criteria.activeOnly,\n firstDepartmentLocationID: this.criteria.locationID,\n firstDepartmentID: this.criteria.departmentID,\n };\n },\n },\n\n watch: {\n $route: {\n immediate: true,\n handler() {\n routeToCriteria(this.$route, this.criteria);\n this.fetchData();\n },\n },\n },\n\n methods: {\n /**\n * fetchData is the top-level function which triggers all other data\n * fetches and waits for them all to complete before changing the loading\n * variable back to false.\n */\n async fetchData(): Promise {\n this.loading = true;\n try {\n const queryString = criteriaToQueryString(this.criteria);\n const url = `/crime-reports/stats?${queryString}`;\n const response = await investigationAPI.get(url);\n const newStats = _.get(response, 'data.data', {});\n this.stats = Object.assign(this.stats, newStats);\n } finally {\n this.loading = false;\n }\n },\n },\n\n components: {\n CrimeReportProvinceMap,\n CrimeReportsByCrimeTable,\n CrimeReportsByDepartmentTable,\n CrimeReportsByLocationTable,\n CrimeReportsBySeverityTable,\n DossierDocketEventCounts,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetectionDashboard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetectionDashboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DetectionDashboard.vue?vue&type=template&id=88e1fac4&\"\nimport script from \"./DetectionDashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./DetectionDashboard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardTitle,VCol,VContainer,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('DossierHeaderNav',{attrs:{\"id\":_vm.id}}),_c('v-container',[(_vm.dossierPage === 'dossierShow')?_c('DossierDocket',{attrs:{\"id\":_vm.id}}):_vm._e(),(_vm.dossierPage === 'dossierCourts')?_c('DossierCourts',{attrs:{\"id\":_vm.id}}):_vm._e(),(_vm.dossierPage === 'dossierEnforcement')?_c('DossierEnforcement',{attrs:{\"id\":_vm.id}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',_vm._l((_vm.defendants),function(defendant,i){return _c('v-col',{key:i,attrs:{\"cols\":\"12\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([(_vm.highestGuiltyChargeSeverity(defendant))?{key:\"extension\",fn:function(){return [_c('div',{staticClass:\"text-caption\"},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('charge.highestChargeSeverity'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( _vm.highestGuiltyChargeSeverity(defendant), 'crime/severities' ))+\" \")])]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.partyName(defendant.partyID))+\" \"),_c('br')])],1),_c('DossierCaseTabs',{attrs:{\"dossierID\":_vm.id,\"disabledCaseIDs\":_vm.disabledCaseIDsForDefendant(defendant),\"background-color\":\"primary lighten-1\"},scopedSlots:_vm._u([{key:\"tab\",fn:function(ref){\nvar kase = ref.kase;\nvar disabled = ref.disabled;\nvar currentCase = ref.currentCase;\nreturn [(currentCase)?_c('span',[_vm._v(\" * \")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(kase.stageID, 'court/courtStages'))+\": \"+_vm._s(kase.number)+\" \"),(disabled)?_c('span',{staticClass:\"mx-2 text-caption\"},[_vm._v(\" ( \"+_vm._s(_vm.$t('court.decision.noDecision'))+\" ) \")]):_vm._e()]}},{key:\"content\",fn:function(ref){\nvar kase = ref.kase;\nreturn [_c('DefendantSentenceSummary',{attrs:{\"dossierID\":_vm.id,\"caseID\":kase.id,\"partyID\":defendant.partyID}})]}}],null,true)})],1)],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-tabs',{attrs:{\"background-color\":_vm.backgroundColor},model:{value:(_vm.activeTab),callback:function ($$v) {_vm.activeTab=$$v},expression:\"activeTab\"}},[_vm._l((_vm.tabs),function(tab){return _c('v-tab',{key:tab.kase.id,attrs:{\"disabled\":tab.disabled}},[_vm._t(\"tab\",function(){return [(tab.currentCase)?_c('span',[_vm._v(\" * \")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(tab.kase.stageID, _vm.courtStages))+\": \"+_vm._s(tab.kase.number)+\" \")]},null,tab)],2)}),_vm._l((_vm.tabs),function(tab){return _c('v-tab-item',{key:tab.id},[_c('div',{staticClass:\"pa-4\"},[_vm._t(\"content\",null,null,tab)],2)])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Case } from '@/vuex/court/case';\nimport { Dossier } from '@/vuex/court/dossier';\n\ninterface CaseTab {\n kase: Case;\n currentCase: boolean;\n disabled: boolean;\n}\n\nexport default Vue.extend({\n props: {\n dossierID: Number,\n disabledCaseIDs: Array,\n backgroundColor: String,\n },\n data(): any {\n return {\n activeTab: null as number | null,\n };\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', [\n 'casesForDossier',\n 'dossierWithID',\n 'participantsForCase',\n ]),\n ...mapState('court', ['courtStages']),\n dossier(): Dossier {\n return this.dossierWithID(this.dossierID);\n },\n cases(): Case[] {\n return this.casesForDossier(this.dossierID);\n },\n tabs(): CaseTab[] {\n return _.chain(this.cases)\n .orderBy('filedAt', 'desc')\n .map((kase) => {\n return {\n kase,\n currentCase: this.dossier && this.dossier.currentCaseID === kase.id,\n disabled: _.includes(this.disabledCaseIDs || [], kase.id),\n };\n })\n .value();\n },\n },\n watch: {\n tabs(tabs: CaseTab[]): void {\n this.activeTab = _.findLastIndex(tabs, { disabled: false }) || 0;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierCaseTabs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierCaseTabs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossierCaseTabs.vue?vue&type=template&id=187bedd8&\"\nimport script from \"./DossierCaseTabs.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossierCaseTabs.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VTab,VTabItem,VTabs})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":\"\"}},[(_vm.defendant)?_c('v-card-text',[_vm._l((_vm.activeCategories),function(cat){return _c('v-row',{key:cat.id,staticClass:\"mb-4\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-h5 pb-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(cat.name[_vm.locale])+\" \")]),_vm._l((_vm.categorizedPunishments[cat.id]),function(c){return _c('v-col',{key:c.id,attrs:{\"cols\":\"12\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-center pa-2\",attrs:{\"cols\":\"1\"}},[(c.punishmentType.trackFulfillment)?_c('FulfillSentenceComponentDialog',{attrs:{\"sentenceComponent\":c}}):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"11\"}},[_c('SentenceComponentDescription',{staticClass:\"grey lighten-3 pa-2\",attrs:{\"component\":c}}),(c.punishmentType.isCashFine)?_c('v-row',{attrs:{\"justify\":\"center\",\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"2\"}},[_c('AddFinePaymentDialog',{attrs:{\"dossierID\":_vm.defendant.dossierID,\"partyID\":_vm.defendant.partyID}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[(c.punishmentType.isCashFine)?_c('FinePaymentsTable',{staticClass:\"mt-2\",attrs:{\"dossierID\":_vm.defendant.dossierID,\"partyID\":_vm.defendant.partyID}}):_vm._e()],1)],1):_vm._e(),(c.punishmentType.isImprisonment)?_c('PartyImprisonmentsTable',{staticClass:\"mt-2\",attrs:{\"partyID\":_vm.defendant.partyID}}):_vm._e()],1)],1)],1)})],2)}),(_vm.consequentialPunishments.length)?_c('v-row',[_c('v-col',{staticClass:\"text-h5 pb-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('consequentialPunishment.plural'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((_vm.consequentialPunishments),function(c){return _c('v-col',{key:c.id,attrs:{\"cols\":\"12\"}},[_c('v-row',{staticClass:\"grey lighten-3\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('SentenceComponentDescription',{attrs:{\"component\":c}})],1)],1)],1)}),1)],1)],1):_vm._e()],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\nvar this$1 = this;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('finePayment.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_c('v-btn',_vm._g({attrs:{\"x-small\":\"\",\"color\":\"secondary\"}},slotProps.on),[_c('v-icon',{attrs:{\"left\":\"\",\"x-small\":\"\"}},[_vm._v(\"fa-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t('finePayment.add'))+\" \")],1)]}}]),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('finePayment.paidAt'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.paidAt),callback:function ($$v) {_vm.paidAt=$$v},expression:\"paidAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('AFNCurrencyField',{attrs:{\"label\":_vm.$t('cashFine.amount'),\"rules\":[function (v) { return !!v || this$1.$i18n.t('error.required'); }]},model:{value:(_vm.amountInPuls),callback:function ($$v) {_vm.amountInPuls=$$v},expression:\"amountInPuls\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('finePayment.receiptNumber'),\"rules\":[function (v) { return !!v || this$1.$i18n.t('error.required'); }]},model:{value:(_vm.receiptNumber),callback:function ($$v) {_vm.receiptNumber=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"receiptNumber\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('notes')},model:{value:(_vm.notes),callback:function ($$v) {_vm.notes=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"notes\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"finePayment\"}})],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport Vue from 'vue';\n\nimport courtAPI from '@/vuex/court/courtAPI';\n\nexport default Vue.extend({\n props: {\n dossierID: Number,\n partyID: Number,\n },\n data() {\n return {\n isOpen: false,\n paidAt: moment().format(),\n amountInPuls: 0,\n receiptNumber: '',\n notes: '',\n error: null as any,\n };\n },\n methods: {\n /**\n * reset is our event handler for CMSFormDialog's reset event. It fires when\n * the dialog is activated. We use it to reset the form.\n */\n reset(): void {\n this.paidAt = moment().format();\n this.amountInPuls = 0;\n this.receiptNumber = '';\n this.notes = '';\n },\n\n /**\n * save is our event handler for CMSFormDialog's save event. It fires when\n * the save button is clicked on the dialog. We use it to submit the\n * completion event to the server.\n */\n async save(): Promise {\n this.error = null;\n try {\n const response = await courtAPI.post('courts/add-fine-payment', {\n data: {\n dossierID: this.dossierID,\n partyID: this.partyID,\n paidAt: this.paidAt,\n amountInPuls: this.amountInPuls,\n receiptNumber: this.receiptNumber,\n notes: this.notes,\n },\n });\n\n // The newState should contain a finePayment entity\n const newState = response.data.data;\n const newID = Object.keys(newState.finePayment)[0];\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n\n // ... we update local state\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/appendToTarget', {\n target: 'finePaymentIDsForDossier',\n index: this.dossierID,\n value: Object.keys(newState.finePayment),\n });\n\n // Add to the docket\n this.$store.commit('court/addDocketEntry', response);\n\n // ... and close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddFinePaymentDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddFinePaymentDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddFinePaymentDialog.vue?vue&type=template&id=737250f8&\"\nimport script from \"./AddFinePaymentDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddFinePaymentDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VTextField,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.payments.length)?_c('v-simple-table',{attrs:{\"dense\":\"\"}},[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('date')))]),_c('th',[_vm._v(_vm._s(_vm.$t('finePayment.amount')))]),_c('th',[_vm._v(_vm._s(_vm.$t('finePayment.receiptNumber')))]),_c('th',[_vm._v(_vm._s(_vm.$t('notes')))]),_c('th',[_vm._v(_vm._s(_vm.$t('attachment.plural')))])])]),_c('tbody',_vm._l((_vm.payments),function(pmt){return _c('tr',{key:pmt.id},[_c('td',[_c('Date',{attrs:{\"value\":pmt.paidAt}})],1),_c('td',[_c('AFNDisplay',{attrs:{\"value\":pmt.amountInPuls}})],1),_c('td',[_vm._v(_vm._s(pmt.receiptNumber))]),_c('td',[_vm._v(_vm._s(pmt.notes))]),_c('td',[_c('AttachmentsLinks',{attrs:{\"label\":\"\",\"entityType\":\"finePayment\",\"entityID\":pmt.id}})],1)])}),0)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { FinePayment } from '@/vuex/court/finePayment';\n\nexport default Vue.extend({\n props: {\n dossierID: Number,\n partyID: Number,\n },\n computed: {\n ...mapGetters('court', ['finePaymentsForDossierPartyWithID']),\n payments(): FinePayment[] | [] {\n const finePayments =\n this.finePaymentsForDossierPartyWithID(this.dossierID, this.partyID) ||\n [];\n\n return finePayments;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FinePaymentsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FinePaymentsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FinePaymentsTable.vue?vue&type=template&id=70833a68&\"\nimport script from \"./FinePaymentsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./FinePaymentsTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VSimpleTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"title\":_vm.$t('sentenceComponent.fulfill')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_c('v-btn',_vm._g({attrs:{\"text\":\"\",\"small\":\"\",\"color\":_vm.checkColor}},slotProps.on),[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-check\")])],1)]}}]),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(_vm._s(_vm.$t('sentenceComponent.singular'))+\":\")]),_c('SentenceComponentDescription',{attrs:{\"component\":_vm.sentenceComponent}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('sentenceComponent.fulfill')},model:{value:(_vm.isFulfilled),callback:function ($$v) {_vm.isFulfilled=$$v},expression:\"isFulfilled\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\n\nimport SentenceComponentDescription from '@/components/enforcement/SentenceComponentDescription.vue';\n\nexport default Vue.extend({\n props: {\n sentenceComponent: Object,\n },\n data() {\n return {\n isFulfilled: false,\n isOpen: false,\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['subjectPropertyName']),\n ...mapState('crime', ['punishmentTypes']),\n /**\n * checkColor provides the color of the check for this value: green\n * if isFulfilled = true, grey if isFulfilled = false\n */\n checkColor(): string {\n if (this.sentenceComponent.isFulfilled) {\n return 'green';\n }\n return 'grey lighten-2';\n },\n },\n\n methods: {\n /**\n * reset is our event handler for CMSFormDialog's reset event. It fires when\n * the dialog is activated. We use it to reset the form.\n */\n reset(): void {\n if (this.sentenceComponent) {\n this.isFulfilled = this.sentenceComponent.isFulfilled;\n } else {\n this.isFulfilled = false;\n }\n },\n /**\n * save is our event handler for CMSFormDialog's save event. It fires when\n * the save button is clicked on the dialog. We use it to submit the\n * completion event to the server.\n */\n async save(): Promise {\n this.error = null;\n try {\n const response = await courtAPI.post('/sentences/components/fulfill', {\n data: {\n sentenceComponentID: this.sentenceComponent.id,\n dossierID: this.sentenceComponent.dossierID,\n // caseID is excluded intentionally to keep this action off the Case\n // Docket and treat it like a Dossier docket event.\n // caseID: this.sentenceComponent.caseID,\n partyID: this.sentenceComponent.partyID,\n punishmentTypeID: this.sentenceComponent.punishmentTypeID,\n categoryID: this.sentenceComponent.categoryID,\n durationInHours: this.sentenceComponent.durationInHours,\n amountInPuls: this.sentenceComponent.amountInPuls,\n notes: this.sentenceComponent.notes,\n subjectPropertyIDs: this.sentenceComponent.subjectPropertyIDs,\n isConsequential: this.sentenceComponent.isConsequential,\n isFulfilled: this.isFulfilled,\n },\n });\n\n // The entire Participant is returned with all up-to-date data...\n const newState = response.data.data;\n\n // ... we update local state.\n this.$store.commit('court/setState', newState);\n\n // ... and close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n SentenceComponentDescription,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FulfillSentenceComponentDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FulfillSentenceComponentDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FulfillSentenceComponentDialog.vue?vue&type=template&id=3670bcf0&\"\nimport script from \"./FulfillSentenceComponentDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./FulfillSentenceComponentDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCheckbox,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-simple-table',{attrs:{\"dense\":\"\"}},[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('offender.detainedAt')))]),_c('th',[_vm._v(_vm._s(_vm.$t('offender.din'))+\" / \"+_vm._s(_vm.$t('offender.pin')))]),_c('th',[_vm._v(_vm._s(_vm.$t('housingFacility.singular')))]),_c('th',[_vm._v(_vm._s(_vm.$t('header.custodyStatus')))]),_c('th',[_vm._v(_vm._s(_vm.$t('header.estimatedReleaseDate')))])])]),_c('tbody',_vm._l((_vm.offenderRecords),function(o){return _c('tr',{key:o.id},[_c('td',[_c('Date',{attrs:{\"value\":o.detainedAt}})],1),_c('td',[_c('router-link',{attrs:{\"to\":{ name: 'offenderProfile', params: { id: o.id } }}},[(o.PIN)?_c('span',[_vm._v(_vm._s(_vm.$t('offender.pin'))+\": \"+_vm._s(o.PIN))]):_vm._e(),(!o.PIN)?_c('span',[_vm._v(_vm._s(_vm.$t('offender.din'))+\": \"+_vm._s(o.DIN))]):_vm._e()])],1),_c('td',[_c('router-link',{attrs:{\"to\":{ name: 'offenderProfile', params: { id: o.id } }}},[_vm._v(\" \"+_vm._s(_vm.facilityName(o.housingFacilityID))+\" \")])],1),_c('td',[_vm._v(\" \"+_vm._s(_vm.$t('offender.custodyStatus.' + o.custodyStatus))+\" \")]),_c('td',[_c('ReleaseDate',{attrs:{\"expectedReleaseAt\":o.expectedReleaseAt,\"freedAt\":o.freedAt,\"small\":\"\"}})],1)])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from 'axios';\n\nimport api, { addAuthInterceptors } from '@/api';\n\nconst offenderAPI = axios.create({\n baseURL: `${api.defaults.baseURL}offenderservice/`,\n});\naddAuthInterceptors(offenderAPI);\nexport default offenderAPI;\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\n\ninterface FinePayment {\n id: number;\n date: string;\n receiptNumber: string;\n amountInPuls: number;\n notes: string;\n}\n\nexport default Vue.extend({\n props: {\n partyID: Number,\n },\n data() {\n return {\n offenderRecords: [],\n };\n },\n created() {\n this.fetchData();\n },\n computed: {\n ...mapGetters('housing', ['facilityName']),\n },\n methods: {\n async fetchData(): Promise {\n const offenderResponse = await offenderAPI.get(\n `/offenders/for-party/${this.partyID}`,\n );\n this.offenderRecords = offenderResponse.data.data;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyImprisonmentsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartyImprisonmentsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PartyImprisonmentsTable.vue?vue&type=template&id=1a279e78&\"\nimport script from \"./PartyImprisonmentsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./PartyImprisonmentsTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VSimpleTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Participant, SentenceComponent } from '@/vuex/court/participant';\nimport { LookupTableRow } from '@/vuex/language/language';\n\nimport AddFinePaymentDialog from '@/components/enforcement/AddFinePaymentDialog.vue';\nimport FinePaymentsTable from '@/components/enforcement/FinePaymentsTable.vue';\nimport FulfillSentenceComponentDialog from '@/components/enforcement/FulfillSentenceComponentDialog.vue';\nimport PartyImprisonmentsTable from '@/components/enforcement/PartyImprisonmentsTable.vue';\nimport SentenceComponentDescription from '@/components/enforcement/SentenceComponentDescription.vue';\n\nexport default Vue.extend({\n props: {\n dossierID: Number,\n caseID: Number,\n partyID: Number,\n },\n\n computed: {\n ...mapGetters('court', ['participantsForCase', 'participantsForDossier']),\n ...mapGetters('crime', [\n 'punishmentTypeWithID',\n 'punishmentTypeCategoryWithID',\n ]),\n ...mapState('crime', ['punishmentTypeCategories']),\n ...mapState('language', ['locale']),\n\n defendant(): Participant {\n const participants = this.caseID\n ? this.participantsForCase(this.caseID)\n : this.participantsForDossier(this.dossierID);\n return _.find(participants, { partyID: this.partyID });\n },\n\n /**\n * activeCategories narrows the list of Punishment Type Categories down to\n * those for which this defendant has sentence components.\n */\n activeCategories(): LookupTableRow[] {\n return _.filter(\n this.punishmentTypeCategories || [],\n (c) => this.categorizedPunishments[c.id],\n );\n },\n\n /**\n * sentenceComponents extends the raw sentenceComponents array from the\n * defendant to add full objects for the punishmentType and the category\n * of the punishment type.\n */\n sentenceComponents(): SentenceComponent[] {\n const defendant: Participant = this.defendant;\n if (!defendant || !defendant.sentenceComponents?.length) {\n return [];\n }\n return _.map(defendant.sentenceComponents || [], (c) => {\n // Add .type and .category properties\n const typeID = c.punishmentTypeID || 0;\n const punishmentType = this.punishmentTypeWithID(typeID);\n const catID = c.categoryID;\n const category = this.punishmentTypeCategoryWithID(catID);\n return _.extend(c, { punishmentType, category });\n });\n },\n\n /**\n * categorizedPunishments removes the sentence components which are\n * consequential (those are rendered separately) and then groups them\n * by categoryID so that they can be displayed in categorized groups\n */\n categorizedPunishments(): { [categoryID: number]: SentenceComponent[] } {\n return _.chain(this.sentenceComponents)\n .filter((c) => !c.isConsequential)\n .groupBy('categoryID')\n .value();\n },\n\n /**\n * consequentialPunishments provides the list of only the consequential\n * sentence components\n */\n consequentialPunishments(): SentenceComponent[] {\n return _.chain(this.sentenceComponents)\n .filter((c) => c.isConsequential)\n .value();\n },\n },\n\n components: {\n AddFinePaymentDialog,\n FinePaymentsTable,\n FulfillSentenceComponentDialog,\n PartyImprisonmentsTable,\n SentenceComponentDescription,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DefendantSentenceSummary.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DefendantSentenceSummary.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DefendantSentenceSummary.vue?vue&type=template&id=1f9dbc07&\"\nimport script from \"./DefendantSentenceSummary.vue?vue&type=script&lang=ts&\"\nexport * from \"./DefendantSentenceSummary.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport _ from 'lodash';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Case } from '@/vuex/court/case';\nimport { Participant } from '@/vuex/court/participant';\nimport { GuiltyChargeDispositionTypeIDs } from '@/vuex/court/charge';\n\nimport DossierCaseTabs from '@/components/dossier/DossierCaseTabs.vue';\nimport DefendantSentenceSummary from '@/components/enforcement/DefendantSentenceSummary.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', [\n 'casesForDossier',\n 'defendantsForDossier',\n 'participantsForCase',\n 'partyName',\n ]),\n\n defendants(): Participant[] {\n return this.defendantsForDossier(this.id);\n },\n },\n\n methods: {\n disabledCaseIDsForDefendant(val: Participant): number[] {\n const cases: Case[] = this.casesForDossier(this.id);\n return _.chain(cases)\n .filter((kase) => {\n const caseParticipant = _.find(this.participantsForCase(kase.id), {\n partyID: val.partyID,\n });\n if (!caseParticipant) {\n // Disable the tab for a case if this defendant is not in it.\n return true;\n }\n // Disable if this participant has no sentence for this case\n return caseParticipant.sentenceComponents?.length < 1;\n })\n .map('id')\n .value();\n },\n\n /**\n * highestChargeSeverity finds the highest charge severity of all guilty dispositions\n * returns a string of that severity for display\n */\n highestGuiltyChargeSeverity(val: Participant): number {\n return (\n _.chain(val.charges || [])\n .filter((c) => {\n return _.includes(\n GuiltyChargeDispositionTypeIDs,\n c.dispositionTypeID,\n );\n })\n .map('crimeSeverityID')\n .max()\n .value() || 0\n );\n },\n },\n\n components: {\n DossierCaseTabs,\n DefendantSentenceSummary,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierEnforcement.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierEnforcement.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossierEnforcement.vue?vue&type=template&id=ac4c6534&\"\nimport script from \"./DossierEnforcement.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossierEnforcement.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCol,VContainer,VRow,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"secondary white--text\",attrs:{\"fluid\":\"\"}},[(_vm.dossier)?_c('v-container',{attrs:{\"dark\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"order-md\":\"1\",\"order\":\"2\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('dossier.caseTypeOptions.' + _vm.dossier.type))+\" — \"+_vm._s(_vm.$t('court.dossier'))+\" \")]),_c('div',{staticClass:\"text-h5\"},[_vm._v(\" \"+_vm._s(_vm.dossier.number)+\" \")]),(_vm.dossier.lastDepartmentID)?_c('div',{staticClass:\"text-caption\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('department.singular'))+\": \")]),_c('DepartmentName',{attrs:{\"full\":\"\",\"id\":_vm.dossier.lastDepartmentID}})],1):_vm._e()]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"order-md\":\"2\",\"order\":\"1\"}},[_c('v-btn-toggle',{attrs:{\"dark\":\"\",\"group\":\"\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"exact\":\"\",\"to\":{ name: 'dossierShow' }}},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('docket.singular'))+\" \")])]),_c('v-btn',{attrs:{\"small\":\"\",\"exact\":\"\",\"to\":{ name: 'dossierCourts' }}},[_vm._v(\" \"+_vm._s(_vm.$t('court.plural'))+\" \")]),(_vm.showEnforcement)?_c('v-btn',{attrs:{\"small\":\"\",\"exact\":\"\",\"to\":{ name: 'dossierEnforcement' }}},[_vm._v(\" \"+_vm._s(_vm.$t('court.enforcement'))+\" \")]):_vm._e(),(_vm.dossier)?_c('LegacyDossierVersionsDialog',{attrs:{\"dossierID\":_vm.id}}):_vm._e()],1)],1)],1),_c('v-divider',{staticClass:\"white\"}),_c('v-row',{staticClass:\"text-caption\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('span',{staticClass:\"mr-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('dossier.awarenessNumber.singular'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.dossier.awarenessNumber)+\" \")])],1),_c('v-divider',{staticClass:\"white\"}),_c('v-row',{staticClass:\"text-caption\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('div',[_c('span',{staticClass:\"mr-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('case.filedAt'))+\": \")]),_c('Date',{attrs:{\"value\":_vm.dossier.filedAt}}),_vm._v(\" (\"),_c('strong',[_vm._v(_vm._s(_vm.$t('person.age'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.age)+\" \"+_vm._s(_vm.$t('time.days'))+\") \")],1),_c('div',[_c('span',{staticClass:\"mr-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('court.status'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.dossier.statusID, 'court/dossierStatuses'))+\" \")]),_c('div',[_c('span',{staticClass:\"mr-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('dossier.stage'))+\" \")]),_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.dossier.stageID, 'court/dossierStages'))+\" \")]),_c('div',[_c('span',{staticClass:\"mr-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('dossier.isFinal'))+\": \")]),(_vm.dossier.isFinal)?_c('span',[_vm._v(_vm._s(_vm.$t('command.yes')))]):_vm._e(),(!_vm.dossier.isFinal)?_c('span',[_vm._v(_vm._s(_vm.$t('command.no')))]):_vm._e()])]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[(_vm.dossier.topicID)?_c('div',[_c('span',{staticClass:\"mr-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('dossier.caseTopic'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.dossier.topicID, _vm.civilCaseTopics))+\" \")]):_vm._e(),(_vm.lawsuitTypeList)?_c('div',[_c('span',{staticClass:\"mr-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('lawsuitType.singular'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.lawsuitTypeList)+\" \")]):_vm._e(),(_vm.dossier.finalizedAt)?_c('div',[_c('span',{staticClass:\"mr-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('case.finalizedAt'))+\": \")]),_c('Date',{attrs:{\"value\":_vm.dossier.finalizedAt}})],1):_vm._e(),(_vm.currentCase && _vm.currentCourt)?_c('div',[(_vm.dossier.isFinal)?_c('span',{staticClass:\"mr-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('court.finalStage'))+\": \")]):_c('span',{staticClass:\"mr-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('court.currentStage'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.currentCase.stageID, _vm.courtStages))+\" \")]):_vm._e(),(_vm.currentCase && _vm.currentCase.courtID)?_c('div',[(_vm.dossier.isFinal)?_c('span',{staticClass:\"mr-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('court.final'))+\": \")]):_c('span',{staticClass:\"mr-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('court.current'))+\": \")]),_c('CourtName',{attrs:{\"full\":\"\",\"id\":_vm.currentCase.courtID}})],1):_vm._e(),(_vm.currentCase && _vm.currentCourt)?_c('div',[(_vm.dossier.isFinal)?_c('span',{staticClass:\"mr-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('case.final'))+\": \")]):_c('span',{staticClass:\"mr-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('case.current'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.currentCase.number)+\" \")]):_vm._e()])],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"fullscreen\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_c('v-btn',_vm._g({attrs:{\"small\":\"\"}},slotProps.on),[(_vm.dossier.isLegacyLocked)?_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"fa-lock\")]):_vm._e(),_vm._v(\" CMS1 Data (\"+_vm._s(_vm.versions.length)+\") \")],1)]}}]),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"secondary\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t('legacyDossierVersion.plural'))+\" \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":_vm.close}},[_c('v-icon',[_vm._v(\"fa-times-circle\")])],1)],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{staticClass:\"selectable\",attrs:{\"items\":_vm.versions,\"headers\":_vm.headers,\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"disable-sort\":\"\"},on:{\"click:row\":_vm.versionSelected},scopedSlots:_vm._u([{key:\"item.cms1LastChangedAt\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('Date',{attrs:{\"value\":value,\"show-time\":\"\"}})]}},{key:\"item.firstReceivedAt\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('Date',{attrs:{\"value\":value,\"show-time\":\"\"}})]}},{key:\"item.lastReceivedAt\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('Date',{attrs:{\"value\":value,\"show-time\":\"\"}})]}},{key:\"item.cms1LastChangedTable\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('pre',[_vm._v(_vm._s(value))])]}},{key:\"item.timesReceived\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.timesReceived)+\" (\"+_vm._s(item.timesLoaded)+\") \")]}}],null,true)})],1)],1),(_vm.selected)?_c('v-row',[(_vm.selected)?_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.selectedDataLoading)?_c('v-progress-linear',{staticClass:\"my-6\",attrs:{\"indeterminate\":\"\"}}):_c('CMS1Viewer',{attrs:{\"data\":_vm.selectedData},scopedSlots:_vm._u([{key:\"action\",fn:function(){return [_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"error\",\"loading\":_vm.isLoading},nativeOn:{\"click\":function($event){return _vm.load(_vm.selected.id)}}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-redo\")]),_vm._v(\" Re-Migrate \")],1)]},proxy:true}],null,false,844462360)})],1):_vm._e()],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from 'axios';\n\nimport api, { addAuthInterceptors } from '@/api';\n\nconst etlAPI = axios.create({\n baseURL: `${api.defaults.baseURL}etlservice/`,\n});\naddAuthInterceptors(etlAPI);\nexport default etlAPI;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"secondary\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('v-tabs',{model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tabs-slider',{attrs:{\"color\":\"white\"}}),_c('v-tab',{key:\"detection\"},[_vm._v(\"Detection\")]),_c('v-tab',{key:\"detention\"},[_vm._v(\"Detention\")]),_c('v-tab',{key:\"investigation\"},[_vm._v(\"Investigation\")]),_c('v-tab',{key:\"court\"},[_vm._v(\"Courts\")]),_c('v-tab',{key:\"prison\"},[_vm._v(\"Prison/JRC\")]),_c('v-tab',{key:\"raw\"},[_vm._v(\"Raw JSON\")])],1)]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.data.caseNumber))]),_c('v-spacer'),_vm._t(\"action\")],2),_c('v-card-text',[_c('v-tabs-items',{model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tab-item',[_c('DetectionTab',{attrs:{\"data\":_vm.data}})],1),_c('v-tab-item',[_c('DetentionTab',{attrs:{\"data\":_vm.data}})],1),_c('v-tab-item',[_c('InvestigationTab',{attrs:{\"data\":_vm.data}})],1),_c('v-tab-item',[_c('CourtsTab',{attrs:{\"data\":_vm.data}})],1),_c('v-tab-item',[_c('PrisonTab',{attrs:{\"data\":_vm.data}})],1),_c('v-tab-item',[_c('pre',[_vm._v(_vm._s(_vm.data))])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"3\",\"label\":_vm.$t('person.name'),\"value\":_vm.data.cmsCase.name}}),_c('LabeledData',{attrs:{\"cols\":\"3\",\"label\":_vm.$t('person.surname'),\"value\":_vm.data.cmsCase.surname}}),_c('LabeledData',{attrs:{\"cols\":\"3\",\"label\":_vm.$t('person.fatherName'),\"value\":_vm.data.cmsCase.fatherName}}),_c('LabeledData',{attrs:{\"cols\":\"3\",\"label\":_vm.$t('person.grandfatherName'),\"value\":_vm.data.cmsCase.grandfatherName}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nexport default Vue.extend({\n props: {\n data: Object,\n },\n components: {},\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetectionTab.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetectionTab.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DetectionTab.vue?vue&type=template&id=a215add4&\"\nimport script from \"./DetectionTab.vue?vue&type=script&lang=ts&\"\nexport * from \"./DetectionTab.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[(_vm.data.detentionFacilityRecords.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-h6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Facility Records (\"+_vm._s(_vm.data.detentionFacilityRecords.length)+\") \")]),_vm._l((_vm.data.detentionFacilityRecords),function(fr){return _c('v-col',{key:fr.id,attrs:{\"cols\":\"12\"}},[_c('FacilityRecord',{attrs:{\"data\":fr}})],1)})],2)],1):_vm._e(),(_vm.data.detentionReleaseInfoRecords.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-h6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Release Info Records ( \"+_vm._s(_vm.data.detentionReleaseInfoRecords.length)+\" ) \")]),_vm._l((_vm.data.detentionReleaseInfoRecords),function(dri){return _c('v-col',{key:dri.id,attrs:{\"cols\":\"12\"}},[_c('ReleaseInfoRecord',{attrs:{\"data\":dri}})],1)})],2)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"outlined\":\"\"},on:{\"dblclick\":function($event){_vm.isExpanded = !_vm.isExpanded}}},[_c('v-toolbar',{attrs:{\"dense\":\"\",\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"}},[_c('Date',{attrs:{\"value\":_vm.data.recDate}}),_vm._v(\" — #\"+_vm._s(_vm.data.id)+\" \"),_c('v-spacer'),(_vm.data.isCurrent)?_c('v-icon',{attrs:{\"small\":\"\",\"title\":\"Current CMS1 Record\"}},[_vm._v(\" fa-star \")]):_vm._e()],1),_c('v-card-text',[_c('v-chip',{staticClass:\"me-1\",attrs:{\"small\":\"\",\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.juvenileOrAdult))+\" \")]),_c('v-chip',{staticClass:\"me-1\",attrs:{\"small\":\"\",\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.detaineeOrPrisoner))+\" \")]),_c('div',{staticClass:\"my-4\"},[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('offender.pin'),\"value\":_vm.data.number}}),_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('offender.din'),\"value\":_vm.data.dinNumber}})],1)],1),(_vm.isExpanded)?_c('pre',[_vm._v(_vm._s(_vm.data))]):_vm._e(),_c('div',{staticClass:\"text-caption text--disabled\"},[_c('Date',{attrs:{\"value\":_vm.data.registerdate,\"show-time\":\"\"}}),_vm._v(\" — UserID \"+_vm._s(_vm.data.userid)+\" — \"),_c('DepartmentName',{attrs:{\"full\":\"\",\"id\":_vm.data.department}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nexport default Vue.extend({\n props: {\n data: Object,\n },\n\n data() {\n return {\n isExpanded: false,\n };\n },\n\n computed: {\n juvenileOrAdult(): string {\n if (this.data.ftype === 10 || this.data.ftype === 11) {\n return 'juvenile.singular';\n }\n return 'adult.singular';\n },\n detaineeOrPrisoner(): string {\n if (this.data.ftype === 6 || this.data.ftype === 11) {\n return 'offender.detainee.singular';\n }\n return 'offender.prisoner.singular';\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FacilityRecord.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FacilityRecord.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FacilityRecord.vue?vue&type=template&id=486791a4&\"\nimport script from \"./FacilityRecord.vue?vue&type=script&lang=ts&\"\nexport * from \"./FacilityRecord.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VChip,VIcon,VRow,VSpacer,VToolbar})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"outlined\":\"\"},on:{\"dblclick\":function($event){_vm.isExpanded = !_vm.isExpanded}}},[_c('v-toolbar',{attrs:{\"dense\":\"\",\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"}},[_c('Date',{attrs:{\"value\":_vm.data.date}}),_vm._v(\" — #\"+_vm._s(_vm.data.id)+\" \"),_c('v-spacer'),(_vm.data.isCurrent)?_c('v-icon',{attrs:{\"small\":\"\",\"title\":\"Current CMS1 Record\"}},[_vm._v(\" fa-star \")]):_vm._e()],1),_c('v-card-text',[_c('v-chip',{staticClass:\"me-1\",attrs:{\"small\":\"\",\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.detaineeOrPrisoner))+\" \")]),_c('v-chip',{staticClass:\"me-1\",attrs:{\"small\":\"\",\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.accStatus)+\" \")]),_c('div',{staticClass:\"my-4\"},[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('offender.pin'),\"value\":_vm.data.number}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"label\":_vm.$t('notes'),\"value\":_vm.data.remarks}})],1)],1),(_vm.isExpanded)?_c('pre',[_vm._v(_vm._s(_vm.data))]):_vm._e(),_c('div',{staticClass:\"text-caption text--disabled\"},[_c('Date',{attrs:{\"value\":_vm.data.registerdate}}),_vm._v(\" — UserID \"+_vm._s(_vm.data.userid)+\" — \"),_c('DepartmentName',{attrs:{\"full\":\"\",\"id\":_vm.data.department}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nexport default Vue.extend({\n props: {\n data: Object,\n },\n\n data() {\n return {\n isExpanded: false,\n };\n },\n\n computed: {\n juvenileOrAdult(): string {\n if (this.data.ftype === 10 || this.data.ftype === 11) {\n return 'juvenile.singular';\n }\n return 'adult.singular';\n },\n\n detaineeOrPrisoner(): string {\n if (this.data.source === 1) {\n return 'offender.detainee.singular';\n }\n return 'offender.prisoner.singular';\n },\n\n accStatus(): string {\n switch (this.data.accStatus) {\n case 32:\n return 'Released';\n case 33:\n return 'Deceased';\n case 34:\n return 'Escaped';\n case 35:\n return 'Sentence Implementation on Hold';\n case 36:\n return 'On Leave';\n case 37:\n return 'Hospitalized';\n case 38:\n return 'Executed';\n case 39:\n return 'Incarcerated at JRC (Open Center)';\n case 40:\n return 'Incarcerated at JRC (Close Center)';\n case 41:\n return 'Incarcerated at Prison';\n case 42:\n return 'Incarcerated at Detention Center';\n case 84:\n return 'Sentenced to Death';\n case 140:\n return 'Unknown';\n case 155:\n return 'Transferred to Prison';\n case 156:\n return 'Transferred to JRC';\n case 173:\n return 'Moved to Iran Country';\n case 175:\n return 'Temporary Moved to CNJC - Detention';\n case 176:\n return 'Based on Decree No 1 (COVID 19), Released from Detention';\n case 177:\n return 'Released by Valid Grantee';\n case 178:\n return 'Released by Bail';\n case 179:\n return 'Based on Decree #15 Released from Detention Center';\n case 180:\n return 'Based on Decree #1 (Peace Decree) released from Detention Center';\n }\n return 'Unknown';\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReleaseInfoRecord.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReleaseInfoRecord.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReleaseInfoRecord.vue?vue&type=template&id=5011cf56&\"\nimport script from \"./ReleaseInfoRecord.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReleaseInfoRecord.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VChip,VIcon,VRow,VSpacer,VToolbar})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport FacilityRecord from './FacilityRecord.vue';\nimport ReleaseInfoRecord from './ReleaseInfoRecord.vue';\n\nexport default Vue.extend({\n props: {\n data: Object,\n },\n components: {\n FacilityRecord,\n ReleaseInfoRecord,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetentionTab.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetentionTab.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DetentionTab.vue?vue&type=template&id=fe95737e&\"\nimport script from \"./DetentionTab.vue?vue&type=script&lang=ts&\"\nexport * from \"./DetentionTab.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(\"Prosecution\")]),_c('pre',[_vm._v(_vm._s(_vm.data.prosecutionRecords))])]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(\"Investigation\")]),_c('pre',[_vm._v(_vm._s(_vm.data.investigationRecords))])]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(\"Primary Investigation\")]),_c('pre',[_vm._v(_vm._s(_vm.data.primaryInvestigationRecords))])]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(\"Appellate Investigation\")]),_c('pre',[_vm._v(_vm._s(_vm.data.appellateInvestigationRecords))])]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(\"Supreme Investigation\")]),_c('pre',[_vm._v(_vm._s(_vm.data.supremeInvestigationRecords))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nexport default Vue.extend({\n props: {\n data: Object,\n },\n components: {},\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvestigationTab.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvestigationTab.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InvestigationTab.vue?vue&type=template&id=96252bde&\"\nimport script from \"./InvestigationTab.vue?vue&type=script&lang=ts&\"\nexport * from \"./InvestigationTab.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(\"Primary Court\")]),_c('pre',[_vm._v(_vm._s(_vm.data.primaryCourtRecords))])]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(\"Appellate Court\")]),_c('pre',[_vm._v(_vm._s(_vm.data.appellateCourtRecords))])]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(\"Supreme Court\")]),_c('pre',[_vm._v(_vm._s(_vm.data.supremeCourtRecords))])]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(\"Revision Court\")]),_c('pre',[_vm._v(_vm._s(_vm.data.revisionCourtRecords))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nexport default Vue.extend({\n props: {\n data: Object,\n },\n components: {},\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtsTab.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtsTab.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtsTab.vue?vue&type=template&id=37fe4e80&\"\nimport script from \"./CourtsTab.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtsTab.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},[(_vm.data.csspFacilityRecords.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-h6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Facility Records (\"+_vm._s(_vm.data.csspFacilityRecords.length)+\") \")]),_vm._l((_vm.data.csspFacilityRecords),function(pr){return _c('v-col',{key:pr.id,attrs:{\"cols\":\"12\"}},[_c('FacilityRecord',{attrs:{\"data\":pr}})],1)})],2)],1):_vm._e(),(_vm.data.csspReleaseInfoRecords.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-h6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Release Info Records ( \"+_vm._s(_vm.data.csspReleaseInfoRecords.length)+\" ) \")]),_vm._l((_vm.data.csspReleaseInfoRecords),function(pri){return _c('v-col',{key:pri.id,attrs:{\"cols\":\"12\"}},[_c('ReleaseInfoRecord',{attrs:{\"data\":pri}})],1)})],2)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport FacilityRecord from './FacilityRecord.vue';\nimport ReleaseInfoRecord from './ReleaseInfoRecord.vue';\n\nexport default Vue.extend({\n props: {\n data: Object,\n },\n components: {\n FacilityRecord,\n ReleaseInfoRecord,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrisonTab.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrisonTab.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PrisonTab.vue?vue&type=template&id=6a7176ad&\"\nimport script from \"./PrisonTab.vue?vue&type=script&lang=ts&\"\nexport * from \"./PrisonTab.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport DetectionTab from './DetectionTab.vue';\nimport DetentionTab from './DetentionTab.vue';\nimport InvestigationTab from './InvestigationTab.vue';\nimport CourtsTab from './CourtsTab.vue';\nimport PrisonTab from './PrisonTab.vue';\n\nexport default Vue.extend({\n props: {\n data: Object,\n },\n\n data() {\n return {\n tab: 'detection',\n };\n },\n\n components: {\n DetectionTab,\n DetentionTab,\n InvestigationTab,\n CourtsTab,\n PrisonTab,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CMS1Viewer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CMS1Viewer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CMS1Viewer.vue?vue&type=template&id=47e24f67&\"\nimport script from \"./CMS1Viewer.vue?vue&type=script&lang=ts&\"\nexport * from \"./CMS1Viewer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\nimport { VTabsSlider } from 'vuetify/lib/components/VTabs';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VSpacer,VTab,VTabItem,VTabs,VTabsItems,VTabsSlider,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport etlAPI from '@/vuex/etl/etlAPI';\nimport { Dossier } from '@/vuex/court/dossier';\nimport { LegacyDossierVersion } from '@/vuex/etl/legacy-dossier-version';\nimport CMS1Viewer from '@/components/etl/CMS1Viewer.vue';\n\nexport default Vue.extend({\n props: {\n dossierID: Number,\n },\n\n data() {\n return {\n isOpen: false,\n isLoading: false,\n error: null as any,\n\n selected: null as LegacyDossierVersion | null,\n selectedDataLoading: false,\n selectedData: null as any,\n\n versions: [] as LegacyDossierVersion[],\n };\n },\n\n computed: {\n ...mapGetters('court', ['dossierWithID']),\n\n dossier(): Dossier {\n return this.dossierWithID(this.dossierID);\n },\n\n dossierNumber(): string {\n if (!this.dossier) {\n return '';\n }\n return this.dossier.number;\n },\n\n headers(): any[] {\n const h: any[] = [\n { value: 'id', text: i18n.t('id'), width: '8em', align: 'right' },\n { value: 'cms1LastChangedAt', text: 'CMS1 Last Change' },\n { value: 'cms1LastChangedTable', text: 'CMS1 Table' },\n { value: 'timesReceived', text: 'Received (Loaded)', align: 'right' },\n { value: 'firstReceivedAt', text: 'First Received' },\n { value: 'lastReceivedAt', text: 'Last Received' },\n { value: 'lastLoadError', text: 'Last Load Error' },\n ];\n return h;\n },\n },\n\n watch: {\n dossierNumber: {\n immediate: true,\n handler(newNumber: string) {\n this.fetchVersions();\n },\n },\n },\n\n methods: {\n async fetchVersions(): Promise {\n if (!this.dossierNumber) {\n this.versions = [];\n return;\n }\n\n const res = await etlAPI.get(`/dossiers/${this.dossierNumber}/versions`);\n this.versions = _.get(res, 'data.data', []);\n },\n\n async versionSelected(v: LegacyDossierVersion): Promise {\n this.selected = v;\n this.selectedDataLoading = true;\n try {\n const url = `/dossiers/${this.dossierNumber}/versions/${v.id}/data`;\n const res = await etlAPI.get(url);\n this.selectedData = _.get(res, 'data.data', {});\n } finally {\n this.selectedDataLoading = false;\n }\n },\n\n async load(id: number): Promise {\n try {\n this.isLoading = true;\n const url = `/dossiers/${this.dossierNumber}/versions/${id}/reload`;\n await etlAPI.post(url);\n window.location.reload();\n } catch (err) {\n this.error = err;\n } finally {\n this.isLoading = false;\n }\n },\n\n close(): void {\n this.isOpen = false;\n },\n },\n\n components: {\n CMS1Viewer,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyDossierVersionsDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyDossierVersionsDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LegacyDossierVersionsDialog.vue?vue&type=template&id=39ea7c1d&\"\nimport script from \"./LegacyDossierVersionsDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LegacyDossierVersionsDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VDataTable,VDialog,VIcon,VProgressLinear,VRow,VSpacer,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport moment from 'moment';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Dossier } from '@/vuex/court/dossier';\nimport { CrimeReport } from '@/vuex/investigation/crimeReport';\n\nimport { Case } from '@/vuex/court/case';\nimport { Court } from '@/vuex/court/court';\nimport { Participant } from '@/vuex/court/participant';\n\nimport LegacyDossierVersionsDialog from '@/components/etl/LegacyDossierVersionsDialog.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n computed: {\n ...mapGetters('court', [\n 'dossierWithID',\n 'casesForDossier',\n 'caseWithID',\n 'courtWithID',\n 'defendantsForDossier',\n 'defendantsForCase',\n ]),\n ...mapGetters('investigation', ['crimeReportForDossier']),\n ...mapState('court', [\n 'civilCaseTopics',\n 'lawsuitTypes',\n 'courtStages',\n 'dossierStages',\n ]),\n ...mapGetters('language', ['nameForIDInCollection']),\n dossier(): Dossier {\n return this.dossierWithID(this.id);\n },\n cases(): Case[] {\n return this.casesForDossier(this.id);\n },\n crimeReport(): CrimeReport | null {\n return this.crimeReportForDossier(this.id);\n },\n lawsuitTypeList(): string {\n return (this.dossier.lawsuitTypeIDs || [])\n .map((id) => {\n return this.nameForIDInCollection(id, this.lawsuitTypes);\n })\n .join(', ');\n },\n currentCase(): Case | null {\n if (this.dossier) {\n return this.caseWithID(this.dossier.currentCaseID);\n }\n return null;\n },\n currentCourt(): Court | null {\n if (this.currentCase) {\n return this.courtWithID(this.currentCase.courtID);\n }\n return null;\n },\n\n /**\n * showEnforcement controls whether the enforcement tab will appear.\n */\n showEnforcement(): boolean {\n if (!this.dossier) {\n return false;\n }\n if (this.dossier.type !== 'criminal') {\n return false;\n }\n return this.hasSentenceComponentsOnAnyCase;\n },\n\n /**\n * hasSentenceComponentsOnAnyCase is a utility function which combines all sentence\n * components present for all defendants on all cases of this dossier.\n */\n hasSentenceComponentsOnAnyCase(): boolean {\n const components = _.chain(this.cases)\n .map((c) => this.defendantsForCase(c.id))\n .flatten()\n .map((d: Participant) => _.get(d, 'sentenceComponents'))\n .compact()\n .flatten()\n .value();\n return components.length > 0;\n },\n age(): number {\n const filedDate = moment(this.dossier.filedAt);\n const finalDate = moment(this.dossier.finalizedAt);\n if (this.dossier.isFinal) {\n return finalDate.diff(filedDate, 'days');\n } else {\n return moment().diff(filedDate, 'days');\n }\n },\n },\n components: {\n LegacyDossierVersionsDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierHeaderNav.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierHeaderNav.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossierHeaderNav.vue?vue&type=template&id=58210e24&\"\nimport script from \"./DossierHeaderNav.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossierHeaderNav.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VBtnToggle } from 'vuetify/lib/components/VBtnToggle';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VBtnToggle,VCol,VContainer,VDivider,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('DossierHeader',{attrs:{\"id\":_vm.id}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('InvestigationDocket',{attrs:{\"dossierID\":_vm.id}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('RelatedDossiersTable',{attrs:{\"dossierID\":_vm.id}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.dossier)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('PrimaryParticipants',{attrs:{\"dossierID\":_vm.id}})],1)],1),_c('v-row',[(_vm.subjectProperties.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(_vm._s(_vm.$t('subjectProperties.singular')))]),_c('SubjectPropertiesSummary',{attrs:{\"objects\":_vm.subjectProperties}})],1):_vm._e(),_c('CourtRevenueSummary',{attrs:{\"dossierID\":_vm.id,\"cols\":12,\"sm\":6}})],1),_c('v-divider'),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('AttachmentsLinks',{ref:\"attachments\",attrs:{\"entityType\":\"dossier\",\"entityID\":this.id}})],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport _ from 'lodash';\nimport { mapGetters } from 'vuex';\n\nimport { Dossier } from '@/vuex/court/dossier';\nimport { SubjectProperty } from '@/vuex/court/subjectProperty';\n\nimport CourtRevenueSummary from '@/components/court/CourtRevenueSummary.vue';\nimport PrimaryParticipants from '@/components/court/participant/PrimaryParticipants.vue';\nimport SubjectPropertiesSummary from '@/components/subjectProperty/SubjectPropertiesSummary.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n\n computed: {\n ...mapGetters('court', ['dossierWithID', 'subjectPropertyForDossier']),\n\n dossier(): Dossier {\n return this.dossierWithID(this.id);\n },\n\n subjectProperties(): SubjectProperty[] {\n if (this.id) {\n return this.subjectPropertyForDossier(this.id);\n }\n return [];\n },\n },\n\n components: {\n CourtRevenueSummary,\n PrimaryParticipants,\n SubjectPropertiesSummary,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossierHeader.vue?vue&type=template&id=96f63714&\"\nimport script from \"./DossierHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossierHeader.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VDivider,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.hasPermission('dossier.docketEvent.create'))?_c('NewDocketEntryMenu',{attrs:{\"dossierID\":_vm.dossierID,\"module\":\"investigation\"}}):_vm._e()]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('docketEntry.plural')))])],1),_c('v-card-text',{staticClass:\"pt-10\"},[_c('PartitionedDocketEventTable',{attrs:{\"dossierID\":_vm.dossierID,\"events\":_vm.events}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"12\"}},[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){return _vm.expandAll()}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.expand'))+\" \")]),_vm._v(\" / \"),_c('v-btn',{attrs:{\"text\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){return _vm.collapseAll()}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.collapse'))+\" \")])],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-expansion-panels',{attrs:{\"multiple\":\"\"},model:{value:(_vm.openPanels),callback:function ($$v) {_vm.openPanels=$$v},expression:\"openPanels\"}},_vm._l((_vm.partitions),function(partition,i){return _c('v-expansion-panel',{key:i},[_c('v-expansion-panel-header',[_c('span',{staticClass:\"text-h6 font-weight-bold\"},[_vm._v(_vm._s(partition.name))]),_c('span',{staticClass:\"text-caption\"},[_c('Date',{attrs:{\"value\":partition.firstDate}}),_vm._v(\" — \"),(partition.lastDate)?_c('span',[_c('Date',{attrs:{\"value\":partition.lastDate}})],1):_vm._e(),(!partition.lastDate)?_c('span',[_vm._v(\"Ongoing\")]):_vm._e(),(partition.dayCount)?_c('span',[_vm._v(\" ( \"+_vm._s(partition.dayCount)+\" \"+_vm._s(_vm.$t('time.days'))+\" ) \")]):_vm._e()],1)]),_c('v-expansion-panel-content',[_c('DocketEventTable',{attrs:{\"events\":partition.events}})],1)],1)}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { DocketEntry } from '@/vuex/court/docket';\nimport { DocketEventType } from '@/vuex/court/options';\nimport DocketEventTable from '@/components/docket/DocketEventTable.vue';\nimport { Dossier } from '@/vuex/court/dossier';\n\ninterface Partition {\n name: string;\n events: DocketEntry[];\n isFinalPartition: boolean;\n stageID?: number;\n statusID?: number;\n isClosed?: boolean;\n\n firstDate?: string;\n lastDate?: string;\n dayCount?: number;\n}\n\ntype PartitionOrNull = Partition | null;\n\nexport default Vue.extend({\n name: 'PartitionedDocket',\n props: {\n dossierID: Number,\n events: Array,\n },\n data() {\n return {\n openPanels: [] as number[],\n };\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('court', ['docketEventTypes']),\n ...mapGetters('court', ['dossierWithID']),\n\n /**\n * partitions is the heart of this component. It is essentially a\n * transformation over the docket events in this table. But it \"splits\" or\n * \"partitions\" the events whenever a stage-changing event is encountered.\n *\n * This Partition object is unique to this component and is defined purely\n * for ease-of-use in the UI code.\n */\n partitions(): Partition[] {\n // Initialize the data as an empty state. Assume no partitions until we\n // encounter the first event.\n const partitions = [] as Partition[];\n let currentPartition = null as PartitionOrNull;\n const events = this.events as DocketEntry[];\n\n // Iterate over each provided event\n for (const e of events) {\n // newPartition will only be non-null if this event needs to trigger\n // a new Partition, which happens either because it's the first event,\n // or because it is an event which changes the Dossier Stage.\n const newPartition = this.newPartitionForEvent(e, currentPartition);\n if (newPartition) {\n // When we create a new partition and a prior one exists,\n // we need to mark the prior one \"closed\".\n if (partitions.length > 0) {\n partitions[partitions.length - 1].isClosed = true;\n }\n partitions.push(newPartition);\n currentPartition = newPartition;\n }\n\n // Add the event to whichever partition ended up being the current one\n if (currentPartition) {\n currentPartition.events.push(e);\n }\n }\n\n // Whatever partition is \"current\" at the end is, by-definition, the\n // final partition.\n if (currentPartition) {\n currentPartition.isFinalPartition = true;\n }\n\n return _.chain(partitions)\n .filter((p) => p.events.length > 0)\n .map(this.calcStats)\n .value();\n },\n\n /**\n * dossier returns the Dossier object around which this PartitionedDocket\n * is being presented\n */\n dossier(): Dossier {\n return this.dossierWithID(this.dossierID);\n },\n\n /**\n * caseType returns the dossier.type field as long as the Dossier exists.\n * It's needed to dynamically relabel certain elements differently for\n * different types of cases (\"Investigation\" vs \"Huquq\" for example).\n */\n caseType(): string {\n if (!this.dossier) {\n return '';\n }\n return this.dossier.type;\n },\n },\n\n watch: {\n /**\n * events is watched so that the final partition can be defaulted to being\n * the expanded partiion, with all others being closed.\n */\n events: {\n immediate: true,\n handler() {\n this.openPanels = [this.partitions.length - 1];\n },\n },\n },\n\n methods: {\n /**\n * initialPartition is a utility function to create the initial Partition\n * object when the first docket event is enountered.\n */\n initialPartition(): Partition {\n return {\n name: this.stageName(0),\n stageID: 0,\n events: [],\n isFinalPartition: false,\n };\n },\n\n /**\n * newPartitionForEvent examines a docket event and figures out if that\n * event is the point at which a new partition needs to begin.\n */\n newPartitionForEvent(\n e: DocketEntry,\n current: PartitionOrNull,\n ): PartitionOrNull {\n let newPartition: PartitionOrNull = null;\n\n const stageID = this.stageForEvent(e);\n if (stageID !== null && (!current || stageID !== current.stageID)) {\n const name = this.stageName(stageID);\n newPartition = { name, stageID, events: [], isFinalPartition: false };\n }\n\n if (!current && !newPartition) {\n newPartition = this.initialPartition();\n }\n\n return newPartition;\n },\n\n /**\n * calcStats is a post-processor for Partitions which runs AFTER they have\n * all been created. Its purpose is to set the following properties which\n * are displayed in the UI:\n *\n * - firstDate - Which is the date of the first event in the partiion\n * - lastDate - Which can be one of three things: 1) The date of the last\n * event in the partition (if the partition is \"closed\" because another\n * came after it), 2) Today's date, if the partition is the last one\n * and the case has not been finalized yet, or 3) The finalizedAt date\n * for the Dossier if the Dossier is finalized.\n * - dayCount - THe difference in days between firstDate and lastDate.\n */\n calcStats(p: Partition): Partition {\n const begin = moment.tz(\n _.chain(p.events).map('filedAt').first().value(),\n 'Asia/Kabul',\n );\n\n let end = null as moment.Moment | null;\n if (p.isClosed) {\n end = moment.tz(\n _.chain(p.events).map('filedAt').last().value(),\n 'Asia/Kabul',\n );\n } else if (this.dossier && this.dossier.finalizedAt) {\n end = moment.tz(this.dossier.finalizedAt, 'Asia/Kabul');\n }\n\n return Object.assign(p, {\n firstDate: begin.format(),\n lastDate: end ? end.format() : '',\n dayCount: end\n ? end.diff(begin, 'days') + 1\n : moment().diff(begin, 'days') + 1,\n });\n },\n\n /**\n * stageForEvent returns the dossier stage (a number indicating an ID\n * from court/dossierStages) which the provided event changes the Dossier\n * to, or null if the provided event does not have any effect on the active\n * Dossier Stage.\n */\n stageForEvent(e: DocketEntry): number | null {\n const t = this.customTypeForEvent(e);\n if (t && t.willChangeDossierStage) {\n return t.newDossierStageID;\n }\n\n // CMS1 Court Record\n const stageID = _.get(e, 'payload.stageID', null);\n if (e.actionType === 'CourtRecord' && stageID) {\n return stageID;\n }\n if (e.actionType === 'CreateCase' && stageID) {\n return stageID;\n }\n\n const payloadDossierStageID = _.get(e, 'payload.dossierStageID', null);\n return payloadDossierStageID;\n },\n\n /**\n * customTypeForEvent returns null if the provided entry came from a\n * \"hard-coded\" docket event (a low-level domainmodel Action). If the entry\n * was a CreateDocketEvent event (a dynamic, administrator-created event, in\n * other words), then this returns the DocketEventType to which the event\n * belongs. This is used to determine whether the event should change the\n * active Partition or not.\n */\n customTypeForEvent(e: DocketEntry): DocketEventType | null {\n if (e.actionType !== 'CreateDocketEvent') {\n return null;\n }\n const id = _.get(e, 'payload.typeID');\n if (!id) {\n return null;\n }\n const eventType: DocketEventType = _.find(this.docketEventTypes, { id });\n return eventType || null;\n },\n\n /**\n * stageName takes a dossier stage ID (from the court/dossierStages lookup\n * table) and returns the translated string to use as the title for the\n * partition that relates to it. Normally this function would be\n * implemented with nameForIDInCollection(id, 'court/dossierStages'), but\n * here we want to display a custom title for the 0 stage.\n */\n stageName(id: number): string {\n if (id === 0) {\n switch (this.caseType) {\n case 'criminal':\n return i18n.t('investigation.singular').toString();\n case 'civil':\n return i18n.t('huquq.singular').toString();\n case 'state':\n return i18n.t('stateCase.plural').toString();\n default:\n return 'Unknown Case Type';\n }\n }\n return this.nameForIDInCollection(id, 'court/dossierStages');\n },\n\n /**\n * expandAll is a utility function to expand all expansion panels (i.e. to\n * expand all Partitions)\n */\n expandAll(): void {\n this.openPanels = this.partitions.map((k, i) => i);\n },\n\n /**\n * collapseAll is a utility function to collapse all expansion panels\n * (i.e. to close all Partitions)\n */\n collapseAll(): void {\n this.openPanels = [];\n },\n },\n components: {\n DocketEventTable,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartitionedDocketEventTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PartitionedDocketEventTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PartitionedDocketEventTable.vue?vue&type=template&id=117075a8&\"\nimport script from \"./PartitionedDocketEventTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./PartitionedDocketEventTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { DocketEntry } from '@/vuex/court/docket';\nimport { Dossier } from '@/vuex/court/dossier';\n\nimport NewDocketEntryMenu from './NewDocketEntryMenu.vue';\nimport PartitionedDocketEventTable from '@/components/docket/PartitionedDocketEventTable.vue';\n\nexport default Vue.extend({\n props: {\n dossierID: Number,\n },\n created(): void {\n this.fetchData();\n },\n data() {\n return {\n loading: false,\n };\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('court', ['docketEventTypes', 'dossierStatuses']),\n ...mapGetters('court', ['dossierWithID', 'docketEventsForDossier']),\n\n caseType(): string {\n const dossier: Dossier = this.dossierWithID(this.dossierID);\n if (!dossier) {\n return '';\n }\n return dossier.type;\n },\n\n /**\n * events retrieves the pre-sorted list of docket events which have been\n * added to this Dossier\n */\n events(): DocketEntry[] {\n return this.docketEventsForDossier(this.dossierID);\n },\n },\n watch: {\n /**\n * dossierID is watched so that the docket events can be re-fetched\n * if this component is switched to another Dossier\n */\n dossierID(val: number): void {\n this.fetchData();\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n await this.$store.dispatch('court/fetchDocketEntriesForDossier', {\n dossierID: this.dossierID,\n force: false,\n });\n this.loading = false;\n },\n },\n components: {\n NewDocketEntryMenu,\n PartitionedDocketEventTable,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvestigationDocket.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvestigationDocket.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InvestigationDocket.vue?vue&type=template&id=7a9fd144&\"\nimport script from \"./InvestigationDocket.vue?vue&type=script&lang=ts&\"\nexport * from \"./InvestigationDocket.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [(_vm.hasPermission('dossier.relatedDossier.create'))?_c('AddRelatedDossierDialog',{attrs:{\"dossierID\":_vm.dossierID}}):_vm._e()]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('relatedDossier.plural')))]),_c('v-spacer')],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"items\":_vm.relatedDossiers,\"headers\":_vm.headers,\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(props){return [_c('tr',[_c('td',[_c('router-link',{attrs:{\"to\":{\n name: 'dossierShow',\n params: { id: props.item.relatedDossierID },\n }}},[_vm._v(\" \"+_vm._s(props.item.relatedDossierNumber)+\" \")])],1)])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('relatedDossier.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('DossierLookupField',{attrs:{\"required\":\"\",\"rules\":[function (v) { return !_vm.isDuplicate || _vm.$t('error.duplicate'); }]},model:{value:(_vm.relatedDossierID),callback:function ($$v) {_vm.relatedDossierID=$$v},expression:\"relatedDossierID\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport { Dossier } from '@/vuex/court/dossier';\n\nimport DossierLookupField from '@/components/dossier/DossierLookupField.vue';\n\nexport default Vue.extend({\n props: {\n dossierID: Number,\n },\n data() {\n return {\n isOpen: false,\n relatedDossierID: 0,\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('court', ['dossierWithID']),\n dossier(): Dossier {\n return this.dossierWithID(this.relatedDossierID);\n },\n\n isDuplicate(): boolean {\n return this.relatedDossierID === this.dossierID;\n },\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.relatedDossierID = 0;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n try {\n const response = await courtAPI.post(\n 'dossiers/related-dossiers/create',\n {\n data: {\n dossierID: this.dossierID,\n relatedDossierID: this.relatedDossierID,\n relatedDossierNumber: this.dossier.number,\n },\n },\n );\n const newState = response.data.data;\n this.$store.commit('court/setState', newState);\n this.$store.commit('court/setTarget', {\n target: 'relatedDossierIDsForDossier',\n index: this.dossierID,\n value: Object.keys(newState.relatedDossier),\n });\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n DossierLookupField,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddRelatedDossierDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddRelatedDossierDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddRelatedDossierDialog.vue?vue&type=template&id=3b6d61d6&\"\nimport script from \"./AddRelatedDossierDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddRelatedDossierDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\nimport AddRelatedDossierDialog from '@/components/dossier/AddRelatedDossierDialog.vue';\nimport { RelatedDossier } from '@/vuex/court/relatedDossier';\n\nexport default Vue.extend({\n props: {\n dossierID: Number,\n },\n created(): void {\n this.fetchData();\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('court', ['relatedDossiersForDossier']),\n headers(): any[] {\n return [\n {\n text: this.$i18n.t('dossier.dossierNumber'),\n value: 'relatedDossierID',\n width: '203px',\n },\n ];\n },\n relatedDossiers(): RelatedDossier[] {\n return this.relatedDossiersForDossier(this.dossierID);\n },\n },\n watch: {\n dossierID() {\n this.fetchData();\n },\n },\n methods: {\n fetchData() {\n this.$store.dispatch('court/fetchRelatedDossiers', {\n dossierID: this.dossierID,\n });\n },\n },\n components: {\n AddRelatedDossierDialog,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatedDossiersTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RelatedDossiersTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RelatedDossiersTable.vue?vue&type=template&id=6da49d91&\"\nimport script from \"./RelatedDossiersTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./RelatedDossiersTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VDataTable,VSpacer,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport DossierHeader from '@/components/dossier/DossierHeader.vue';\nimport InvestigationDocket from '@/components/docket/InvestigationDocket.vue';\nimport PrimaryParticipants from '@/components/court/participant/PrimaryParticipants.vue';\nimport RelatedDossiersTable from '@/components/dossier/RelatedDossiersTable.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n components: {\n DossierHeader,\n InvestigationDocket,\n PrimaryParticipants,\n RelatedDossiersTable,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierDocket.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierDocket.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossierDocket.vue?vue&type=template&id=4e3c8a90&\"\nimport script from \"./DossierDocket.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossierDocket.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport DossierCourts from '@/views/dossier/DossierCourts.vue';\nimport DossierEnforcement from '@/views/dossier/DossierEnforcement.vue';\nimport DossierHeaderNav from '@/components/dossier/DossierHeaderNav.vue';\nimport DossierDocket from '@/views/dossier/DossierDocket.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n created(): void {\n this.fetchData();\n },\n watch: {\n id(val: number): void {\n if (this.id) {\n this.fetchData();\n }\n },\n },\n computed: {\n dossierPage(): string {\n return this.$route.name || '';\n },\n },\n methods: {\n fetchData(): void {\n // Fetch the Dossier\n this.$store.dispatch('court/fetchDossier', this.id).catch((e) => {\n if (e.message.match(/404|500/)) {\n this.$store.dispatch(\n `application/showSnackbarError`,\n `${e.name}: ${e.message}. Cant find Dossier #${this.id}`,\n );\n }\n });\n\n // Fetch Fine Payments\n this.$store.dispatch('court/fetchFinePaymentsForDossier', {\n dossierID: this.id,\n });\n\n // Fetch Subject Properties\n this.$store.dispatch('court/fetchSubjectPropertiesForDossier', {\n dossierID: this.id,\n });\n },\n },\n components: {\n DossierCourts,\n DossierEnforcement,\n DossierHeaderNav,\n DossierDocket,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierContainer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierContainer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossierContainer.vue?vue&type=template&id=760cf544&\"\nimport script from \"./DossierContainer.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossierContainer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pb-10\"},[_c('DossierSearcher',{attrs:{\"route\":_vm.$route},on:{\"queryChanged\":_vm.queryChanged}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.fetchData.apply(null, arguments)}}},[_c('v-card',{attrs:{\"loading\":_vm.loading}},[_c('v-toolbar',{staticClass:\"mb-5\",attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"secondary\",\"extension-height\":_vm.dense ? '20px' : '40x'},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('v-spacer'),_c('v-checkbox',{attrs:{\"label\":_vm.$t('advancedSearch')},model:{value:(_vm.advancedSearch),callback:function ($$v) {_vm.advancedSearch=$$v},expression:\"advancedSearch\"}})]},proxy:true}])},[_c('v-toolbar-title',{staticClass:\"text-h4\"},[_c('v-icon',{attrs:{\"color\":\"white\"}},[_vm._v(\"fa-search\")]),_vm._v(\" \"+_vm._s(_vm.$t('dossier.plural'))+\" \")],1),_c('v-spacer'),(!_vm.advancedSearch)?_c('v-text-field',{ref:\"query\",attrs:{\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\",\"append-icon\":\"search\",\"clearable\":\"\"},model:{value:(_vm.criteria.q),callback:function ($$v) {_vm.$set(_vm.criteria, \"q\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"criteria.q\"}}):_vm._e(),_vm._t(\"header\")],2),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),(_vm.advancedSearch)?_c('div',[_c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"space-between\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-switch',{attrs:{\"label\":_vm.$t('crimeReport.activeOnly')},model:{value:(_vm.criteria.activeOnly),callback:function ($$v) {_vm.$set(_vm.criteria, \"activeOnly\", $$v)},expression:\"criteria.activeOnly\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('court.status'),\"items\":\"court/dossierStatuses\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.statusID),callback:function ($$v) {_vm.$set(_vm.criteria, \"statusID\", $$v)},expression:\"criteria.statusID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"2\"}},[_c('DossierStageSelector',{attrs:{\"label\":_vm.$t('dossier.currentStage'),\"include-unknown\":\"\",\"unknown-label\":\"all\"},model:{value:(_vm.criteria.dossierStageID),callback:function ($$v) {_vm.$set(_vm.criteria, \"dossierStageID\", $$v)},expression:\"criteria.dossierStageID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"2\"}},[_c('CourtStageSelector',{attrs:{\"label\":_vm.$t('court.currentStage'),\"include-unknown\":\"\",\"unknown-label\":\"all\"},model:{value:(_vm.criteria.courtStageID),callback:function ($$v) {_vm.$set(_vm.criteria, \"courtStageID\", $$v)},expression:\"criteria.courtStageID\"}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-switch',{attrs:{\"label\":_vm.$t('dossier.finalOnly')},model:{value:(_vm.criteria.finalOnly),callback:function ($$v) {_vm.$set(_vm.criteria, \"finalOnly\", $$v)},expression:\"criteria.finalOnly\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('CaseTypeSelector',{attrs:{\"label\":_vm.$t('court.caseType.singular'),\"clearable\":\"\"},model:{value:(_vm.criteria.caseType),callback:function ($$v) {_vm.$set(_vm.criteria, \"caseType\", $$v)},expression:\"criteria.caseType\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('DossierNumberField',{attrs:{\"clearable\":\"\",\"disable-padding\":\"\"},model:{value:(_vm.criteria.number),callback:function ($$v) {_vm.$set(_vm.criteria, \"number\", $$v)},expression:\"criteria.number\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('dossier.awarenessNumber.singular')},model:{value:(_vm.criteria.awarenessNumber),callback:function ($$v) {_vm.$set(_vm.criteria, \"awarenessNumber\", $$v)},expression:\"criteria.awarenessNumber\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('DepartmentSelector',{attrs:{\"label\":_vm.$t('dossier.firstDepartment'),\"clearable\":\"\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.firstDepartmentID),callback:function ($$v) {_vm.$set(_vm.criteria, \"firstDepartmentID\", $$v)},expression:\"criteria.firstDepartmentID\"}}),_c('GeographySelector',{attrs:{\"clearable\":\"\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.firstDepartmentLocationID),callback:function ($$v) {_vm.$set(_vm.criteria, \"firstDepartmentLocationID\", $$v)},expression:\"criteria.firstDepartmentLocationID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('DepartmentSelector',{attrs:{\"label\":_vm.$t('dossier.lastDepartment'),\"clearable\":\"\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.lastDepartmentID),callback:function ($$v) {_vm.$set(_vm.criteria, \"lastDepartmentID\", $$v)},expression:\"criteria.lastDepartmentID\"}}),_c('GeographySelector',{attrs:{\"clearable\":\"\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.lastDepartmentLocationID),callback:function ($$v) {_vm.$set(_vm.criteria, \"lastDepartmentLocationID\", $$v)},expression:\"criteria.lastDepartmentLocationID\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"6\"}},[_c('CourtSelector',{attrs:{\"label\":_vm.$t('dossier.firstCourt'),\"clearable\":\"\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.firstCourtID),callback:function ($$v) {_vm.$set(_vm.criteria, \"firstCourtID\", $$v)},expression:\"criteria.firstCourtID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"6\"}},[_c('CourtSelector',{attrs:{\"label\":_vm.$t('dossier.lastCourt'),\"clearable\":\"\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.lastCourtID),callback:function ($$v) {_vm.$set(_vm.criteria, \"lastCourtID\", $$v)},expression:\"criteria.lastCourtID\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"start\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"md\":_vm.criteria.partyIDs.length ? 3 : 6}},[_c('PartySearchSelector',{attrs:{\"multiple\":\"\",\"clearable\":\"\"},model:{value:(_vm.criteria.partyIDs),callback:function ($$v) {_vm.$set(_vm.criteria, \"partyIDs\", $$v)},expression:\"criteria.partyIDs\"}}),(_vm.criteria.partyIDs.length > 1)?_c('div',[_c('v-radio-group',{staticClass:\"pt-0 mt-0\",attrs:{\"row\":\"\"},model:{value:(_vm.criteria.partyMatchAll),callback:function ($$v) {_vm.$set(_vm.criteria, \"partyMatchAll\", $$v)},expression:\"criteria.partyMatchAll\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('matchmode.any'),\"value\":false}}),_c('v-radio',{attrs:{\"label\":_vm.$t('matchmode.all'),\"value\":true}})],1)],1):_vm._e()],1),(_vm.criteria.partyIDs.length)?_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('partyType.singular'),\"items\":\"court/partyTypes\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.partyTypeID),callback:function ($$v) {_vm.$set(_vm.criteria, \"partyTypeID\", $$v)},expression:\"criteria.partyTypeID\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('CrimeSelector',{attrs:{\"label\":_vm.$t('crime.plural'),\"clearable\":\"\",\"multiple\":\"\"},model:{value:(_vm.criteria.crimeIDs),callback:function ($$v) {_vm.$set(_vm.criteria, \"crimeIDs\", $$v)},expression:\"criteria.crimeIDs\"}}),(_vm.criteria.crimeIDs.length > 1)?_c('div',[_c('v-radio-group',{staticClass:\"pt-0 mt-0\",attrs:{\"row\":\"\"},model:{value:(_vm.criteria.crimeMatchAll),callback:function ($$v) {_vm.$set(_vm.criteria, \"crimeMatchAll\", $$v)},expression:\"criteria.crimeMatchAll\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('matchmode.any'),\"value\":false}}),_c('v-radio',{attrs:{\"label\":_vm.$t('matchmode.all'),\"value\":true}})],1)],1):_vm._e()],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('charge.severity'),\"items\":\"crime/severities\",\"zero-label\":\"all\",\"disable-sorting\":\"\"},model:{value:(_vm.criteria.severityID),callback:function ($$v) {_vm.$set(_vm.criteria, \"severityID\", $$v)},expression:\"criteria.severityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('subjectProperty.type'),\"items\":\"court/subjectPropertyTypes\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.includesSubjectPropertyTypeID),callback:function ($$v) {_vm.$set(_vm.criteria, \"includesSubjectPropertyTypeID\", $$v)},expression:\"criteria.includesSubjectPropertyTypeID\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('LocaleDateRange',{attrs:{\"label\":_vm.$t('filedAt'),\"two-fields\":\"when-blank\",\"persistent-hint\":\"\"},model:{value:(_vm.criteria.filedBetween),callback:function ($$v) {_vm.$set(_vm.criteria, \"filedBetween\", $$v)},expression:\"criteria.filedBetween\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('DocketEventTypeSelector',{attrs:{\"label\":_vm.$t('case.criteria.withDocketEvent'),\"module\":\"investigation\",\"clearable\":\"\"},model:{value:(_vm.criteria.withDocketEventTypeID),callback:function ($$v) {_vm.$set(_vm.criteria, \"withDocketEventTypeID\", $$v)},expression:\"criteria.withDocketEventTypeID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('DocketEventTypeSelector',{attrs:{\"label\":_vm.$t('case.criteria.withoutDocketEvent'),\"module\":\"investigation\",\"clearable\":\"\"},model:{value:(_vm.criteria.withoutDocketEventTypeID),callback:function ($$v) {_vm.$set(_vm.criteria, \"withoutDocketEventTypeID\", $$v)},expression:\"criteria.withoutDocketEventTypeID\"}})],1)],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"items\":_vm.results,\"headers\":_vm.headers,\"loading\":_vm.loading,\"disable-sort\":\"\",\"page\":_vm.page.number,\"items-per-page\":_vm.page.size,\"server-items-length\":_vm.page.serverCount,\"footer-props\":{\n 'items-per-page-options': [10, 20, 40, 50, 100],\n },\"no-data-text\":_vm.$t('error.nodata'),\"dense\":\"\"},on:{\"update:page\":function($event){return _vm.$set(_vm.page, \"number\", $event)},\"update:itemsPerPage\":function($event){return _vm.$set(_vm.page, \"size\", $event)},\"update:items-per-page\":function($event){return _vm.$set(_vm.page, \"size\", $event)}},scopedSlots:_vm._u([{key:\"item.number\",fn:function(ref){\n var item = ref.item;\nreturn [(_vm.hasPermission('dossier.view'))?_c('router-link',{attrs:{\"to\":{\n name: 'dossierShow',\n params: { id: item.id },\n }}},[_vm._v(\" \"+_vm._s(item.number)+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(item.number)+\" \")])]}},{key:\"item.type\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.$t('dossier.caseTypeOptions.' + item.type))+\" \")]}},{key:\"item.currentCaseNumber\",fn:function(ref){\n var item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":{\n name: 'caseShow',\n params: { id: item.currentCaseID },\n }}},[_vm._v(\" \"+_vm._s(item.currentCaseNumber)+\" \")])]}},{key:\"item.filedAt\",fn:function(ref){\n var item = ref.item;\nreturn [_c('Date',{attrs:{\"value\":item.filedAt}})]}},{key:\"item.statusID\",fn:function(ref){\n var value = ref.value;\nreturn [_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(value, 'court/dossierStatuses'))+\" \")]}},{key:\"item.partyNames\",fn:function(ref){\n var value = ref.value;\nreturn [_vm._v(\" \"+_vm._s(value.join(', '))+\" \")]}}],null,true)}),(_vm.canExport)?_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"accent\",\"href\":'/api/v1/investigationservice/dossiers/search/excel?' +\n _vm.queryString}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-file-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.export'))+\" \")],1)],1):_vm._e()],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-autocomplete',{attrs:{\"label\":_vm.label || _vm.$t('court.stage.singular'),\"value\":_vm.value === null ? 'unknown' : _vm.value,\"items\":_vm.stageChoices,\"disabled\":_vm.disabled,\"hint\":_vm.hint,\"persistent-hint\":_vm.persistentHint,\"multiple\":_vm.multiple,\"chips\":_vm.chips,\"clearable\":_vm.clearable},on:{\"input\":function($event){return _vm.$emit('input', $event === 'unknown' ? null : $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { AllDossierStageIDs } from '@/vuex/court/dossier';\nimport { TAll, TUnknown } from '@/lib/translated';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: [Number, Array],\n hint: String,\n persistentHint: Boolean,\n disabled: Boolean,\n multiple: Boolean,\n chips: Boolean,\n items: {\n required: false,\n type: [Number, Array],\n },\n clearable: Boolean,\n\n includeUnknown: Boolean,\n unknownLabel: String,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('language', ['locale']),\n\n /**\n * stageIDs builds the list of court stage IDs that the user will be\n * allowed to select from. This can be supplied directly by the user via\n * the items prop, or obtained via the AllCourtStageIDs const. Choices for\n * null (Unknown) and 0 (Before Court) are added optionally if props are\n * set.\n */\n stageIDs(): any[] {\n // Wrap and flatten items to convert from a single item to an array\n const ids: any[] = this.items\n ? _.flatten([this.items])\n : _.cloneDeep(AllDossierStageIDs);\n\n if (this.includeUnknown) {\n ids.unshift('unknown');\n }\n return ids;\n },\n\n /**\n * stageChoices builds the array of dropdown selection items.\n */\n stageChoices(): VSelectItem[] {\n const choices: VSelectItem[] = _.map(this.stageIDs, (id) =>\n this.buildItemForID(id),\n );\n return choices;\n },\n },\n\n methods: {\n buildItemForID(id: number | string): VSelectItem {\n if (id === 'unknown') {\n let label = TUnknown[this.locale];\n if (this.unknownLabel === 'all') {\n label = TAll[this.locale];\n }\n return {\n value: 'unknown',\n text: label,\n };\n }\n\n return {\n value: id,\n text: this.nameForIDInCollection(id, 'court/dossierStages'),\n };\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierStageSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierStageSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossierStageSelector.vue?vue&type=template&id=5e1a6b5b&\"\nimport script from \"./DossierStageSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossierStageSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\ninstallComponents(component, {VAutocomplete})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport courtAPI from '@/vuex/court/courtAPI';\nimport i18n from '@/i18n';\nimport router from '@/router';\nimport {\n changedCriteria,\n criteriaToQueryString,\n routeToCriteria,\n} from '@/lib/criteria';\n\nimport { Dossier } from '@/vuex/court/dossier';\n\nimport CaseTypeSelector from '@/components/court/CaseTypeSelector.vue';\nimport CourtSelector from '@/components/court/court/CourtSelector.vue';\nimport CourtStageSelector from '@/components/court/CourtStageSelector.vue';\nimport CrimeSelector from '@/components/crime/CrimeSelector.vue';\nimport DossierStageSelector from '@/components/dossier/DossierStageSelector.vue';\nimport PartySearchSelector from '@/components/court/party/PartySearchSelector.vue';\n\nexport default Vue.extend({\n props: {\n /**\n * route expects the $route object from the parent component. It is optional\n * and should only be supplied by OffenderList, where we *want* a tight\n * connection between the page URL and the OffenderSearcher criteria object.\n */\n route: Object,\n\n /**\n * dense triggers a more condensed design for the component, which is useful\n * when it appears in a popup or other compressed space.\n */\n dense: Boolean,\n },\n\n created() {\n if (this.route) {\n this.routeChanged();\n }\n\n // Load the initial data...\n this.fetchData();\n\n // ...then make every future calls to this.fetchData or this.routeChanged\n // be debounced so that they can never be called faster than once\n // every N milliseconds.\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.fetchData = _.debounce(this.fetchData, 400);\n this.routeChanged = _.debounce(this.routeChanged, 400);\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n advancedSearch: false,\n\n initialCriteria: {},\n criteria: {\n q: '',\n activeOnly: false,\n number: '',\n awarenessNumber: '',\n firstDepartmentID: 0,\n firstDepartmentLocationID: 0,\n lastDepartmentID: 0,\n lastDepartmentLocationID: 0,\n crimeIDs: [],\n crimeMatchAll: false,\n severityID: 0,\n partyIDs: [] as number[],\n partyMatchAll: false,\n partyTypeID: 0,\n statusID: 0,\n caseType: '',\n withDocketEventTypeID: 0,\n withoutDocketEventTypeID: 0,\n dossierStageID: null as number | null,\n courtStageID: 0,\n firstCourtID: 0,\n lastCourtID: 0,\n finalOnly: false,\n includesSubjectPropertyTypeID: 0,\n filedBetween: '',\n },\n\n results: [] as Dossier[],\n\n page: {\n number: 1,\n size: 10,\n serverCount: 0,\n },\n };\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('court', ['subjectPropertyTypes']),\n\n /**\n * criteriaUnchanged returns true when the currently-active criteria\n * is unchanged from its original, default state on the form.\n */\n criteriaUnchanged(): boolean {\n return _.isEqual(this.criteria, this.initialCriteria);\n },\n\n /**\n * queryString computes the query string component of the search API call.\n * It includes pagination parameters controlled by the v-data-table props,\n * but only if they are not the only parameters.\n */\n queryString(): string {\n if (_.isEmpty(this.initialCriteria)) {\n this.initialCriteria = _.cloneDeep(this.criteria);\n }\n const cc = changedCriteria(this.criteria, this.initialCriteria);\n return criteriaToQueryString(cc, this.page);\n },\n\n /**\n * canExport computes whether the current user is allowed to download\n * an Excel export of the data on the screen.\n */\n canExport(): boolean {\n return this.hasPermission('dossier.excelExport');\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a commputed property so that it will\n * update with new translations when the locale changes.\n */\n headers(): any[] {\n return [\n {\n text: i18n.t('dossier.dossierNumber'),\n value: 'number',\n width: '203px',\n },\n {\n text: i18n.t('dossier.awarenessNumber.singular'),\n value: 'awarenessNumber',\n },\n { text: i18n.t('court.caseType.singular'), value: 'type' },\n { text: i18n.t('case.current'), value: 'currentCaseNumber' },\n { text: i18n.t('case.filedAt'), value: 'filedAt' },\n { text: i18n.t('court.status'), value: 'statusID' },\n { text: i18n.t('party.plural'), value: 'partyNames' },\n ];\n },\n },\n\n watch: {\n /**\n * route is watched so that when the $route of the topmost component\n * changes, we can update the query string. Note that we don't watch\n * $route directly from this component (note the lack of a dollar sign here),\n * because that would potentially trigger at undesirable times.\n *\n * Since we can search for Dossiers from other places than the full\n * DossierList page, we don't always want the route to be tied to this\n * component's behavior.\n */\n route(route: any) {\n this.routeChanged();\n },\n\n /**\n * queryString is watched so that a new search can be triggered.\n */\n queryString(newVal: string, oldVal: string) {\n this.fetchData();\n },\n\n /**\n * criteria is watched so that when the search criteria is changed after\n * results have already been returned, we can reset the page number.\n */\n criteria: {\n deep: true,\n immediate: false,\n handler(newVal, oldVal) {\n if (this.page.serverCount > 0 && this.page.number > 1) {\n this.page.number = 1;\n }\n },\n },\n\n crimeIDs(val: number[]) {\n if (val.length < 2) {\n // When there's a single item, matching ANY is OK.\n // This is relevant because the UI for changing this value gets hidden.\n this.criteria.crimeMatchAll = false;\n }\n },\n\n partyIDs(val: number[]) {\n if (val.length < 2) {\n // When there's a single item, matching ANY is OK.\n // This is relevant because the UI for changing this value gets hidden.\n this.criteria.partyMatchAll = false;\n }\n },\n\n /**\n * advancedSearch changes the UI, so we need to make sure to reset\n * the no longer visible fields\n */\n advancedSearch(isAdvanced: boolean) {\n if (isAdvanced) {\n this.resetSimpleCriteria();\n } else {\n this.resetAdvancedCriteria();\n }\n },\n },\n\n methods: {\n /**\n * routeChanged is triggered when the page URL changes.\n */\n routeChanged(): void {\n routeToCriteria(this.route, this.criteria, this.page);\n if (!this.criteriaUnchanged && this.criteria.q === '') {\n this.advancedSearch = true;\n }\n },\n\n /**\n * fetchData is called when the search button is pressed or when any table\n * pagination setting is changed. It refreshes the locally-held search\n * results with the current page of results from the server.\n */\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n\n try {\n const url = `/dossiers/search?${this.queryString}`;\n const res = await courtAPI.get(url);\n this.page.serverCount = _.get(res, 'data.meta.totalResults', 0);\n this.results = _.get(res, 'data.data', []);\n this.$emit('queryChanged', this.queryString);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n\n /**\n * reset clears the search and resets search results. Primarily designed\n * to be called externally via a $ref to this component so that the searcher\n * can be reset when a dialog is opened.\n */\n reset(): void {\n this.resetSimpleCriteria();\n this.resetAdvancedCriteria();\n },\n\n resetSimpleCriteria(): void {\n this.criteria.q = '';\n },\n\n resetAdvancedCriteria(): void {\n this.criteria = Object.assign(this.criteria, this.initialCriteria);\n },\n\n /**\n * goToDossier is the row click handler for case search results. It triggers\n * navigation to the Offender detail page for the offender in that row.\n */\n goToDossier(dossier: Dossier): void {\n router.push({\n name: 'dossierShow',\n params: { id: String(dossier.id) },\n });\n },\n },\n\n components: {\n CaseTypeSelector,\n CourtSelector,\n CourtStageSelector,\n CrimeSelector,\n DossierStageSelector,\n PartySearchSelector,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierSearcher.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierSearcher.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossierSearcher.vue?vue&type=template&id=6caab666&\"\nimport script from \"./DossierSearcher.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossierSearcher.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCheckbox,VCol,VDataTable,VForm,VIcon,VRadio,VRadioGroup,VRow,VSpacer,VSwitch,VTextField,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport DossierSearcher from '@/components/dossier/DossierSearcher.vue';\n\nexport default Vue.extend({\n methods: {\n /**\n * queryChanged listens for the same-named event to be emitted from\n * the searcher and updates the pushState/URL to reflect the new\n * page. This is critical to preserve the behavior of the back button\n * when links in the search results are clicked. Beacuse the $route is not\n * constantly parsed, this does not trigger a loop back into re-setting the\n * query criteria inside the searcher.\n */\n queryChanged(query: string): void {\n if (query !== '') {\n query = `?${encodeURI(query)}`;\n }\n const newPath = `${this.$route.path}${query}`;\n if (this.$route.fullPath !== newPath) {\n this.$router.replace(newPath);\n }\n },\n },\n\n components: {\n DossierSearcher,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossierList.vue?vue&type=template&id=68abfe9b&\"\nimport script from \"./DossierList.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossierList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',{staticClass:\"white--text\",attrs:{\"flat\":\"\",\"tile\":\"\",\"dark\":\"\",\"color\":\"secondary\"}},[_c('v-card-title',[_c('v-row',[_c('v-col',{staticClass:\"text-h4\",attrs:{\"cols\":\"12\",\"md\":\"5\",\"lg\":\"3\",\"xl\":\"2\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(_vm._s(_vm.$t('module.investigation')))]),_vm._v(\" \"+_vm._s(_vm.$t('dashboard.singular'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\",\"lg\":\"9\",\"xl\":\"10\"}},[_c('div',{staticClass:\"text-overline\"},[_c('GeographyBreadcrumb',{attrs:{\"id\":_vm.criteria.lastDepartmentLocationID || 1,\"to\":{ name: 'investigationDashboard', query: Object.assign({}, _vm.criteria) },\"locationParamName\":\"lastDepartmentLocationID\"}})],1),_c('div',{staticClass:\"text-h4\"},[_c('DepartmentBreadcrumb',{attrs:{\"id\":_vm.criteria.lastDepartmentID || 0,\"to\":{ name: 'investigationDashboard', query: Object.assign({}, _vm.criteria) },\"departmentParamName\":\"lastDepartmentID\"}})],1)]),(_vm.loading)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1):_vm._e()],1)],1)],1),(!_vm.loading)?_c('v-row',{attrs:{\"align-stretch\":\"\",\"dense\":\"\"}},[_c('DossiersByDepartmentLocationTable',{attrs:{\"criteria\":_vm.criteria},model:{value:(_vm.menuExpanded),callback:function ($$v) {_vm.menuExpanded=$$v},expression:\"menuExpanded\"}}),_c('DossiersByDepartmentTable',{attrs:{\"criteria\":_vm.criteria},model:{value:(_vm.menuExpanded),callback:function ($$v) {_vm.menuExpanded=$$v},expression:\"menuExpanded\"}})],1):_vm._e(),_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{staticClass:\"text-center\",attrs:{\"justify\":\"space-around\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"display-2\"},[_c('router-link',{attrs:{\"to\":{\n name: 'dossierSearch',\n query: Object.assign({}, _vm.criteria, {activeOnly: true}),\n }}},[_c('NumFmt',{attrs:{\"value\":_vm.stats.dossierCount}})],1)],1),_c('div',{staticClass:\"text-caption\"},[_vm._v(\"Active Dossiers\")])]),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"display-2\"},[_vm._v(\" \"+_vm._s((_vm.stats.averageAge || 0).toFixed(1))+\" \"),_c('span',{staticClass:\"text-body-2 grey--text\"},[_vm._v(\" \"+_vm._s(_vm.$t('time.days'))+\" \")])]),_c('div',{staticClass:\"text-caption\"},[_vm._v(\"Average Age\")])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('FinalizedByDate',{attrs:{\"criteria\":_vm.criteria}}),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('PendingChargesBySeverity',{attrs:{\"criteria\":_vm.criteria}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('DisposedChargesBySeverity',{attrs:{\"criteria\":_vm.criteria}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('DossierDocketEventCounts',{attrs:{\"criteria\":_vm.criteria}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('DossiersByCivilCaseTopic',{attrs:{\"criteria\":_vm.criteria}}),_c('DossiersByLawsuitType',{attrs:{\"criteria\":_vm.criteria}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.results.length)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GChart',{attrs:{\"type\":\"ColumnChart\",\"data\":_vm.chartData,\"options\":_vm.chartOptions}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n\n results: [] as any[],\n };\n },\n\n computed: {\n chartData(): any[] {\n const rows: any[] = [];\n rows.push([i18n.t('case.finalizedAt'), i18n.t('count')]);\n _.each(this.results, (row) => {\n rows.push([row.date, row.count]);\n });\n return rows;\n },\n\n chartOptions(): object {\n const dates = _.map(this.results, 'date');\n const hTickCount = Math.ceil(this.results.length / 5);\n\n return {\n title: i18n.t('dossier.finalizedByDate'),\n width: '100%',\n height: '100%',\n chartArea: { width: '90%' },\n legend: {\n position: 'none',\n },\n colors: ['#104721'],\n hAxis: {\n showTextEvery: hTickCount,\n },\n };\n },\n\n /**\n * fullCriteria builds the actual API criteria which will be sent. This is\n * done by combining the incoming criteria prop with customizations set\n * directly on this component.\n */\n fullCriteria(): any {\n return Object.assign({}, this.criteria, {\n activeOnly: false, // TODO Find a way to avoid needing to override this.\n finalizedBetween: `${moment().subtract(52, 'weeks').format()},`,\n });\n },\n\n /**\n * queryString builds the URL querystring which will be sent to the API\n * endpoint. It exists as a standalone computed prop so that the watcher\n * can trigger only when the query has changed.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n },\n\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n try {\n const url = `/dossiers/finalized-by-date?${this.queryString}`;\n const response = await investigationAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } catch (error) {\n this.error = error;\n }\n this.loading = false;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FinalizedByDate.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FinalizedByDate.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FinalizedByDate.vue?vue&type=template&id=6515dc36&\"\nimport script from \"./FinalizedByDate.vue?vue&type=script&lang=ts&\"\nexport * from \"./FinalizedByDate.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"outlined\":\"\",\"loading\":_vm.loading}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"start\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(_vm._s(_vm.$t('court.disposedCharges')))]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LocaleDateRange',{attrs:{\"label\":_vm.$t('case.finalizedAt'),\"initial-value\":\"last90Days\"},model:{value:(_vm.finalizedBetween),callback:function ($$v) {_vm.finalizedBetween=$$v},expression:\"finalizedBetween\"}})],1)],1)],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('LookupTableMatrix',{attrs:{\"col-data\":_vm.chargeDispositionTypes,\"row-data\":_vm.severities,\"cell-data\":_vm.results,\"row-attr\":\"crimeSeverityID\",\"col-attr\":\"dispositionTypeID\",\"value-attr\":\"count\",\"total-row\":\"\",\"total-col\":\"\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nimport LookupTableMatrix from '@/components/global/formatting/LookupTableMatrix.vue';\n\n/**\n * DisposedChargeCount defines the shape of the \"long format\" data which the\n * serverreturns. It is transformed into a \"wide format\" by the\n * LookupTableMatrix component.\n */\ninterface DisposedChargeCount {\n dispositionTypeID: number;\n crimeSeverityID: number;\n count: number;\n}\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n\n finalizedBetween: '',\n results: [] as DisposedChargeCount[],\n };\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('crime', ['severities']),\n ...mapState('court', ['chargeDispositionTypes']),\n\n /**\n * fullCriteria builds the actual API criteria which will be sent. This is\n * done by combining the incoming criteria prop with customizations set\n * directly on this component.\n */\n fullCriteria(): any {\n return Object.assign({}, this.criteria, {\n activeOnly: false, // TODO Find a way to avoid needing to override this.\n finalizedBetween: this.finalizedBetween,\n });\n },\n\n /**\n * queryString builds the URL querystring which will be sent to the API\n * endpoint. It exists as a standalone computed prop so that the watcher\n * can trigger only when the query has changed.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n },\n\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n try {\n const url = `/disposed-charges-by-severity?${this.queryString}`;\n const response = await investigationAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } catch (error) {\n this.error = error;\n }\n this.loading = false;\n },\n },\n\n components: {\n LookupTableMatrix,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisposedChargesBySeverity.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisposedChargesBySeverity.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DisposedChargesBySeverity.vue?vue&type=template&id=4f454c08&\"\nimport script from \"./DisposedChargesBySeverity.vue?vue&type=script&lang=ts&\"\nexport * from \"./DisposedChargesBySeverity.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\",\"loading\":_vm.loading}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"start\"}},[_c('v-col',[_vm._v(_vm._s(_vm.$t('dossier.caseTopic')))]),_c('v-col',[_c('LocaleDateRange',{attrs:{\"label\":_vm.$t('case.finalizedAt'),\"initial-value\":\"last90Days\",\"persistent-hint\":\"\"},model:{value:(_vm.finalizedBetween),callback:function ($$v) {_vm.finalizedBetween=$$v},expression:\"finalizedBetween\"}})],1)],1)],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-data-table',{attrs:{\"items\":_vm.items,\"headers\":_vm.headers,\"dense\":\"\",\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"no-data-text\":_vm.$t('error.nodata')}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n error: null as any,\n\n finalizedBetween: '',\n\n results: [],\n };\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n\n items(): any[] {\n return _.map(this.results, (row: any) => {\n return {\n ...row,\n avgDuration: (row.avgDuration || 0).toFixed(1),\n topic: this.nameForIDInCollection(\n row.topicID,\n 'court/civilCaseTopics',\n ),\n };\n });\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a computed property so\n * that it will update with new translations when the locale changes.\n */\n headers(): any[] {\n return [\n { text: i18n.t('dossier.caseTopic'), value: 'topic' },\n {\n text: i18n.t('court.caseCount'),\n value: 'dossierCount',\n align: 'right',\n },\n { text: i18n.t('duration.avg'), value: 'avgDuration', align: 'right' },\n ];\n },\n\n /**\n * fullCriteria builds the actual API criteria which will be sent. This is\n * done by combining the incoming criteria prop with customizations set\n * directly on this component.\n */\n fullCriteria(): any {\n const criteria = Object.assign({}, this.criteria, {\n activeOnly: false,\n finalizedBetween: this.finalizedBetween,\n });\n return criteria;\n },\n\n /**\n * queryString builds the URL querystring which will be sent to the API\n * endpoint. It exists as a standalone computed prop so that the watcher\n * can trigger only when the query has changed.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n },\n watch: {\n /**\n * queryString is watched so that any change the API parameters will\n * trigger a new data fetch.\n */\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n const url = `/dossiers/by-civil-case-topic?${this.queryString}`;\n\n try {\n const response = await investigationAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossiersByCivilCaseTopic.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossiersByCivilCaseTopic.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossiersByCivilCaseTopic.vue?vue&type=template&id=1c819c6e&\"\nimport script from \"./DossiersByCivilCaseTopic.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossiersByCivilCaseTopic.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDataTable,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.results.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('ExpandableCard',{attrs:{\"title\":_vm.$t('geo.plural.' + _vm.mostCommonGeographyType),\"value\":_vm.value,\"flat\":\"\",\"dark\":\"\",\"dense\":\"\",\"color\":\"secondary\"},on:{\"input\":function($event){return _vm.$emit('input', $event)}}},[_c('v-data-table',{attrs:{\"dense\":\"\",\"items\":_vm.results,\"headers\":_vm.headers,\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_c('router-link',{attrs:{\"to\":{\n name: 'investigationDashboard',\n query: Object.assign({}, _vm.criteria,\n {lastDepartmentLocationID: item.locationID}),\n }}},[_c('GeographyName',{attrs:{\"id\":item.locationID}})],1)],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'dossierSearch',\n query: Object.assign({}, _vm.criteria,\n {lastDepartmentLocationID: item.locationID}),\n }}},[_vm._v(\" \"+_vm._s(item.dossierCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s((item.averageAge || 0).toFixed(1))+\" \")])])]}}],null,false,2907696023)})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\nimport { Geography } from '@/vuex/geography/geography';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n criteria: Object,\n },\n\n data() {\n return {\n loading: false,\n results: [],\n };\n },\n\n computed: {\n ...mapGetters('geography', ['geographyWithID', 'fullGeographyName']),\n\n geographies(): Geography[] {\n return _.chain(this.results || [])\n .map('locationID')\n .map(this.geographyWithID)\n .compact()\n .value();\n },\n\n /**\n * mostCommonType scans the list of facilities and returns the one that\n * occurs most frequently. This is used to create a summary title.\n */\n mostCommonGeographyType(): string {\n const types = _.map(this.geographies || [], 'type') as string[];\n const mostCommon = _.chain(types)\n .countBy() // Produces { \"facility\": 14, \"cell\": 10 }\n .entries() // Converts to [[\"facility\", 14], [\"cell\", 10]]\n .maxBy(_.last) // Filters to [\"facility\", 14]\n .head() // Retrieves first element (\"facility\")\n .value() as string; // Exit lodash chain and type-assert to string\n return mostCommon || 'country';\n },\n\n /**\n * queryString computes the parameters to send to the API. This must\n * be a computed property so that it can be watched to trigger a new\n * API call.\n */\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n\n headers(): any[] {\n return [\n { text: i18n.t('name'), value: 'name' },\n {\n text: i18n.t('dossier.plural'),\n align: 'right',\n value: 'dossierCount',\n },\n {\n text: i18n.t('case.averageAge'),\n align: 'right',\n value: 'averageAge',\n },\n ];\n },\n },\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n try {\n const url = `/dossiers/by-location?${this.queryString}`;\n const res = await investigationAPI.get(url);\n this.results = _.get(res, 'data.data', []);\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossiersByDepartmentLocationTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossiersByDepartmentLocationTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossiersByDepartmentLocationTable.vue?vue&type=template&id=1e409eca&scoped=true&\"\nimport script from \"./DossiersByDepartmentLocationTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossiersByDepartmentLocationTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1e409eca\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCol,VDataTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.results.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('ExpandableCard',{attrs:{\"title\":_vm.$t('subdepartment.plural'),\"value\":_vm.value,\"flat\":\"\",\"dark\":\"\",\"dense\":\"\",\"color\":\"secondary\"},on:{\"input\":function($event){return _vm.$emit('input', $event)}}},[_c('v-data-table',{attrs:{\"dense\":\"\",\"items\":_vm.results,\"headers\":_vm.headers,\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_c('router-link',{attrs:{\"to\":{\n name: 'investigationDashboard',\n query: Object.assign({}, _vm.criteria,\n {lastDepartmentID: item.departmentID}),\n }}},[_c('DepartmentName',{attrs:{\"id\":item.departmentID}})],1)],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'dossierSearch',\n query: Object.assign({}, _vm.criteria,\n {lastDepartmentID: item.departmentID}),\n }}},[_vm._v(\" \"+_vm._s(item.dossierCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s((item.averageAge || 0).toFixed(1))+\" \")])])]}}],null,false,77584594)})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n results: [],\n };\n },\n computed: {\n /**\n * queryString computes the parameters to send to the API. This must\n * be a computed property so that it can be watched to trigger a new\n * API call.\n */\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a computed property so\n * that it will update with new translations when the locale changes.\n */\n headers(): any[] {\n return [\n { text: i18n.t('name'), value: 'name' },\n {\n text: i18n.t('dossier.plural'),\n align: 'right',\n value: 'dossierCount',\n },\n {\n text: i18n.t('case.averageAge'),\n align: 'right',\n value: 'averageAge',\n },\n ];\n },\n },\n\n watch: {\n /**\n * queryString is watched so that any change the API parameters will\n * trigger a new data fetch.\n */\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n try {\n const url = `/dossiers/by-assigned-department?${this.queryString}`;\n const response = await investigationAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossiersBySubdepartmentTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossiersBySubdepartmentTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossiersBySubdepartmentTable.vue?vue&type=template&id=389fe876&\"\nimport script from \"./DossiersBySubdepartmentTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossiersBySubdepartmentTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCol,VDataTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\",\"loading\":_vm.loading}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"start\"}},[_c('v-col',[_vm._v(_vm._s(_vm.$t('lawsuitType.plural')))]),_c('v-col',[_c('DaysAgoSelector',{attrs:{\"label\":_vm.$t('case.disposedAt')},model:{value:(_vm.finalizedInLastNDays),callback:function ($$v) {_vm.finalizedInLastNDays=$$v},expression:\"finalizedInLastNDays\"}})],1)],1)],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-data-table',{staticClass:\"no-fixed-height\",attrs:{\"items\":_vm.items,\"headers\":_vm.headers,\"dense\":\"\",\"no-data-text\":_vm.$t('error.nodata')}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n error: null as any,\n\n finalizedInLastNDays: 90,\n\n results: [],\n };\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n\n items(): any[] {\n return _.map(this.results, (row: any) => {\n return {\n ...row,\n avgDuration: (row.avgDuration || 0).toFixed(1),\n lawsuitType: this.nameForIDInCollection(\n row.lawsuitTypeID,\n 'court/lawsuitTypes',\n ),\n };\n });\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a computed property so\n * that it will update with new translations when the locale changes.\n */\n headers(): any[] {\n return [\n { text: i18n.t('lawsuitType.singular'), value: 'lawsuitType' },\n {\n text: '# ' + i18n.t('dossier.plural'),\n value: 'dossierCount',\n align: 'right',\n },\n { text: i18n.t('duration.avg'), value: 'avgDuration', align: 'right' },\n ];\n },\n\n /**\n * fullCriteria builds the actual API criteria which will be sent. This is\n * done by combining the incoming criteria prop with customizations set\n * directly on this component.\n */\n fullCriteria(): any {\n const criteria = Object.assign({}, this.criteria, {\n activeOnly: false,\n });\n if (this.finalizedInLastNDays > 0) {\n criteria.disposedAtOrAfter = moment()\n .subtract(this.finalizedInLastNDays, 'days')\n .format();\n }\n return criteria;\n },\n\n /**\n * queryString builds the URL querystring which will be sent to the API\n * endpoint. It exists as a standalone computed prop so that the watcher\n * can trigger only when the query has changed.\n */\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n },\n watch: {\n /**\n * queryString is watched so that any change the API parameters will\n * trigger a new data fetch.\n */\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n const url = `/dossiers/by-lawsuit-type?${this.queryString}`;\n\n try {\n const response = await investigationAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossiersByLawsuitType.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossiersByLawsuitType.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossiersByLawsuitType.vue?vue&type=template&id=73c6d2dc&\"\nimport script from \"./DossiersByLawsuitType.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossiersByLawsuitType.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDataTable,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\",\"loading\":_vm.loading}},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('charge.pendingCharges'))+\" \")])],1)],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-data-table',{attrs:{\"dense\":\"\",\"items\":_vm.items,\"headers\":_vm.headers,\"no-data-text\":_vm.$t('error.nodata'),\"hide-default-footer\":\"\",\"disable-sort\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_vm._v(_vm._s(item.label))]),_c('td',{staticClass:\"text-right\"},[_vm._v(_vm._s(item.count))]),_c('td',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s(((item.percent || 0) * 100).toFixed(0))+\"% \")])])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n\n results: [] as any[],\n };\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('crime', ['severities']),\n\n items(): any[] {\n const total = _.sumBy(this.results, 'count') || 0;\n return _.map(this.results, (row) => ({\n label: this.nameForIDInCollection(row.severityID, this.severities),\n ...row,\n percent: row.count / total,\n }));\n },\n\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n\n headers(): any[] {\n return [\n { text: i18n.t('charge.severity'), value: 'name' },\n {\n text: i18n.t('charge.plural'),\n align: 'right',\n value: 'count',\n },\n {\n text: i18n.t('dashboard.percentage'),\n align: 'right',\n value: 'percentage',\n },\n ];\n },\n },\n\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n try {\n const url = `/pending-charges-by-severity?${this.queryString}`;\n const response = await investigationAPI.get(url);\n this.results = _.get(response, 'data.data', {});\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PendingChargesBySeverity.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PendingChargesBySeverity.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PendingChargesBySeverity.vue?vue&type=template&id=6ebafa1f&\"\nimport script from \"./PendingChargesBySeverity.vue?vue&type=script&lang=ts&\"\nexport * from \"./PendingChargesBySeverity.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDataTable,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { criteriaToQueryString, routeToCriteria } from '@/lib/criteria';\nimport { Department } from '@/vuex/investigation/department';\n\nimport FinalizedByDate from '@/components/investigation/dashboard/FinalizedByDate.vue';\nimport DisposedChargesBySeverity from '@/components/investigation/dashboard/DisposedChargesBySeverity.vue';\nimport DossierDocketEventCounts from '@/components/investigation/dashboard/DossierDocketEventCounts.vue';\nimport DossiersByCivilCaseTopic from '@/components/investigation/dashboard/DossiersByCivilCaseTopic.vue';\nimport DossiersByDepartmentLocationTable from '@/components/investigation/DossiersByDepartmentLocationTable.vue';\nimport DossiersByDepartmentTable from '@/components/investigation/DossiersBySubdepartmentTable.vue';\nimport DossiersByLawsuitType from '@/components/investigation/dashboard/DossiersByLawsuitType.vue';\nimport PendingChargesBySeverity from '@/components/investigation/dashboard/PendingChargesBySeverity.vue';\n\nexport default Vue.extend({\n data() {\n return {\n loading: false,\n error: null as any,\n\n menuExpanded: false,\n\n criteria: {\n activeOnly: true,\n lastDepartmentLocationID: 1,\n lastDepartmentID: 0,\n },\n\n stats: {\n dossierCount: 0,\n averageAge: '',\n },\n\n departmentSummaries: [] as any[],\n };\n },\n created(): void {\n this.fetchData();\n },\n computed: {\n ...mapGetters('language', ['valueForLocale']),\n ...mapGetters('investigation', ['fullDepartmentName']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('court', ['dossierStatuses']),\n ...mapGetters('investigation', ['departmentWithID']),\n\n /**\n * department holds a reference to the \"focused\" Department for which stats\n * are being displayed. It is provided by a URL parameter.\n */\n department(): Department {\n return this.departmentWithID(this.criteria.lastDepartmentID);\n },\n },\n\n watch: {\n $route: {\n immediate: true,\n handler() {\n routeToCriteria(this.$route, this.criteria);\n this.fetchData();\n },\n },\n },\n\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n try {\n const queryString = criteriaToQueryString(this.criteria);\n const url = `/dossiers/stats?${queryString}`;\n const response = await investigationAPI.get(url);\n const newStats = _.get(response, 'data.data', {});\n this.stats = Object.assign(this.stats, newStats);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n\n components: {\n FinalizedByDate,\n DisposedChargesBySeverity,\n DossierDocketEventCounts,\n DossiersByCivilCaseTopic,\n DossiersByDepartmentLocationTable,\n DossiersByDepartmentTable,\n DossiersByLawsuitType,\n PendingChargesBySeverity,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvestigationDashboard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvestigationDashboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InvestigationDashboard.vue?vue&type=template&id=c946dd96&\"\nimport script from \"./InvestigationDashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./InvestigationDashboard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardTitle,VCol,VContainer,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',{staticClass:\"text-h3\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.pardonDecree.title)+\" \")]),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"3\",\"label\":_vm.$t('pardonDecrees.number'),\"value\":_vm.pardonDecree.number}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"9\",\"label\":_vm.$t('corpus.title'),\"value\":_vm.pardonDecree.title}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('summons.issuedAt'),\"value\":_vm.pardonDecree.issuedAt}},[_c('Date',{attrs:{\"value\":_vm.pardonDecree.issuedAt}})],1),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('pardonDecrees.enforcementBeginsAt')}},[_c('Date',{attrs:{\"value\":_vm.pardonDecree.enforcementBeginsAt}})],1),_c('LabeledData',{attrs:{\"cols\":\"12\",\"label\":_vm.$t('dashboard.summary'),\"value\":_vm.pardonDecree.summary}}),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsLinks',{attrs:{\"entityType\":\"pardonDecree\",\"entityID\":_vm.pardonDecree.id}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"dense\":\"\",\"color\":\"secondary\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t('offender.plural'))+\" \")])],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"items\":_vm.offendersWithProfiles,\"headers\":_vm.headers,\"loading\":_vm.loading},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_c('router-link',{attrs:{\"to\":item.routerLink}},[_vm._v(\" \"+_vm._s(item.profile.name)+\" \")])],1),_c('td',[_c('router-link',{attrs:{\"to\":item.routerLink}},[_vm._v(\" \"+_vm._s(item.profile.surname)+\" \")])],1),_c('td',[_c('router-link',{attrs:{\"to\":item.routerLink}},[_vm._v(\" \"+_vm._s(item.DIN)+\" \")])],1),_c('td',[_c('router-link',{attrs:{\"to\":item.routerLink}},[_vm._v(\" \"+_vm._s(item.PIN)+\" \")])],1),_c('td',[_c('OffenderFlags',{attrs:{\"small\":\"\"},model:{value:(item.flagIDs),callback:function ($$v) {_vm.$set(item, \"flagIDs\", $$v)},expression:\"item.flagIDs\"}})],1),_c('td',[_c('Date',{attrs:{\"value\":item.expectedReleaseAt}})],1)])]}}])}),(_vm.canExport)?_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"accent\",\"href\":(\"/api/v1/investigationservice/pardon-decrees/\" + _vm.id + \"/offenders/excel\")}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-file-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.export'))+\" \")],1)],1):_vm._e()],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.visibleFlags),function(flag,i){return _c('v-tooltip',{key:i,attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"mr-2\",attrs:{\"small\":_vm.small,\"x-small\":_vm.xSmall}},on),[_vm._v(\" fa-\"+_vm._s(flag.icon)+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(flag.name[_vm.locale]))])])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\n\nimport { Flag } from '@/vuex/offender/options';\n\nexport default Vue.extend({\n props: {\n value: Array,\n small: Boolean,\n xSmall: Boolean,\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapState('offender', ['flags']),\n\n /**\n * visibleFlags returns the subset of all known flag options\n * whose IDs are in the ID provided to this component's prop.\n */\n visibleFlags(): Flag[] {\n // Ensure we have an array\n const valAsArray = _.flatten([this.value || []]);\n\n return _.filter(this.flags, (flag) => {\n return _.includes(valAsArray, flag.id);\n });\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderFlags.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderFlags.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderFlags.vue?vue&type=template&id=5579f748&\"\nimport script from \"./OffenderFlags.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderFlags.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VIcon,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport _ from 'lodash';\nimport i18n from '@/i18n';\n\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { mapGetters } from 'vuex';\nimport { Offender } from '@/vuex/offender/offender';\nimport { PardonDecree } from '@/vuex/investigation/pardonDecree';\n\nimport OffenderFlags from '@/components/offender/classification/OffenderFlags.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n data() {\n return {\n loading: false,\n offenders: [] as Offender[],\n };\n },\n created(): void {\n this.fetchData();\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('investigation', ['pardonDecreeWithID']),\n ...mapGetters('profile', ['profileWithID']),\n\n /**\n * pardonDecree computes the PardonDecree entity matching the URL\n */\n pardonDecree(): PardonDecree {\n return this.pardonDecreeWithID(this.id);\n },\n\n /**\n * offendersWithProfiles combines the raw API results with the Profile\n * for each Offender.\n */\n offendersWithProfiles(): any[] {\n return _.map(this.offenders, (o) =>\n Object.assign(o, {\n profile: this.profileWithID(o.profileID) || {},\n routerLink: { name: 'offenderProfile', params: { id: String(o.id) } },\n }),\n );\n },\n\n /**\n * canExport computes whether the current user is allowed to download\n * an Excel export of the data on the screen.\n */\n canExport(): boolean {\n return this.hasPermission('admin.pardonDecree.excelExport');\n },\n\n /**\n * headers computes the array of column header definitions for the\n * v-data-table. It needs to be a commputed property so that it will\n * update with new translations when the locale changes.\n */\n headers(): any[] {\n return [\n { text: i18n.t('person.name'), value: 'name' },\n { text: i18n.t('person.surname'), value: 'surname' },\n { text: i18n.t('offender.din'), value: 'DIN' },\n { text: i18n.t('offender.pin'), value: 'PIN' },\n { text: i18n.t('flag.plural'), value: 'flagIDs' },\n {\n text: i18n.t('offender.expectedReleaseAt'),\n value: 'expectedRelease',\n },\n ];\n },\n },\n\n watch: {\n /**\n * id is watched so that the PardonDecree and Offenders can be re-fetched\n * when the URL changes to the ID of a new PardonDecree\n */\n id(newID: number) {\n this.fetchData();\n },\n },\n\n methods: {\n /**\n * fetchData retrieves the PardonDecree and recipient Offenders for this\n * PardonDecree\n */\n async fetchData(): Promise {\n this.loading = true;\n try {\n const url = `pardon-decrees/${this.id}/offenders`;\n const response = await investigationAPI.get(url);\n const offenders = _.get(response, 'data.data', []);\n this.offenders = offenders;\n\n // Ensure each Offender's Profile is loaded in Vuex\n const profileIDs = _.map(offenders, 'profileID');\n await this.$store.dispatch('profile/fetchProfile', profileIDs);\n } finally {\n this.loading = false;\n }\n },\n },\n components: {\n OffenderFlags,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PardonDecreeShow.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PardonDecreeShow.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PardonDecreeShow.vue?vue&type=template&id=a5afdc58&\"\nimport script from \"./PardonDecreeShow.vue?vue&type=script&lang=ts&\"\nexport * from \"./PardonDecreeShow.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VContainer,VDataTable,VIcon,VRow,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ProfileHeaderNav',{attrs:{\"profile\":_vm.profile}}),_c('v-container',[(!_vm.profile)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('v-row',_vm._l((_vm.dossiers),function(dossier){return _c('v-col',{key:dossier.id,attrs:{\"cols\":\"12\"}},[_c('ProfileDossierCard',{attrs:{\"dossier\":dossier,\"partyID\":_vm.profile.partyID}})],1)}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-toolbar',{attrs:{\"color\":_vm.cardColor,\"dark\":\"\",\"flat\":\"\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('div',{staticClass:\"text-caption\"},[(_vm.dossier.lastCourtID)?_c('div',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('court.singular'))+\": \")]),_c('CourtName',{attrs:{\"full\":\"\",\"id\":_vm.dossier.lastCourtID}})],1):_vm._e(),(_vm.dossier.lastDepartmentID)?_c('div',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('department.singular'))+\": \")]),_c('DepartmentName',{attrs:{\"full\":\"\",\"id\":_vm.dossier.lastDepartmentID}}),_vm._v(\"q \")],1):_vm._e()])]},proxy:true}])},[_c('v-toolbar-title',{staticClass:\"text-h5\"},[_c('router-link',{staticClass:\"white--text\",attrs:{\"to\":{ name: 'dossierShow', params: { id: _vm.dossier.id } }}},[_vm._v(_vm._s(_vm.dossier.number))]),_c('v-chip',{staticClass:\"ms-6 me-1\",attrs:{\"small\":\"\",\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.dossier.stageID, 'court/dossierStages'))+\" \")]),_c('v-chip',{staticClass:\"mx-1\",attrs:{\"small\":\"\",\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.dossier.statusID, 'court/dossierStatuses'))+\" \")]),(_vm.dossier.isFinal)?_c('v-chip',{staticClass:\"mx-1\",attrs:{\"small\":\"\",\"label\":\"\",\"color\":\"black\"}},[_vm._v(\" \"+_vm._s(_vm.$t('dossier.isFinal'))+\" \")]):_vm._e()],1)],1),_c('v-card-text',[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.$t('case.filedAt'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Date',{attrs:{\"value\":_vm.dossier.filedAt}})],1)],1),(_vm.dossier.finalizedAt)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.$t('case.finalizedAt'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Date',{attrs:{\"value\":_vm.dossier.finalizedAt}})],1)],1):_vm._e(),_c('v-row',{staticClass:\"pt-6\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"text-h6 grey--text font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('charge.plural'))+\" \")]),_c('ChargesTable',{attrs:{\"dense\":\"\"},model:{value:(_vm.charges),callback:function ($$v) {_vm.charges=$$v},expression:\"charges\"}})],1)],1),(_vm.participant.sentenceComponents.length)?_c('v-row',{staticClass:\"pt-4\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('SentenceSummary',{attrs:{\"components\":_vm.participant.sentenceComponents}})],1)],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Charge, GuiltyChargeDispositionTypeIDs } from '@/vuex/court/charge';\n\nimport ChargesTable from '@/components/charges/ChargesTable.vue';\nimport SentenceSummary from '@/components/court/SentenceSummary.vue';\n\nexport default Vue.extend({\n props: {\n dossier: Object,\n partyID: Number,\n },\n\n created() {\n this.fetchData();\n },\n\n computed: {\n ...mapGetters('court', [\n 'courtName',\n 'caseWithID',\n 'courtWithID',\n 'participantInCase',\n ]),\n ...mapGetters('language', ['nameForIDInCollection']),\n\n kase(): any {\n return this.caseWithID(this.dossier.currentCaseID);\n },\n\n cardColor(): string {\n if (this.hasGuiltyCharges) {\n return 'error';\n }\n return 'primary';\n },\n\n hasGuiltyCharges(): boolean {\n if (!this.participant) {\n return false;\n }\n if (!this.participant.charges) {\n return false;\n }\n for (const charge of this.participant.charges) {\n if (\n _.includes(GuiltyChargeDispositionTypeIDs, charge.dispositionTypeID)\n ) {\n return true;\n }\n }\n return false;\n },\n\n participant(): any {\n if (this.kase) {\n return this.participantInCase(this.kase.id, this.partyID);\n }\n },\n\n charges(): Charge[] {\n if (!this.participant) {\n return [];\n }\n return this.participant.charges;\n },\n },\n\n methods: {\n async fetchData(): Promise {\n if (this.dossier && this.dossier.currentCaseID) {\n await this.$store.dispatch(\n 'court/fetchCase',\n this.dossier.currentCaseID,\n );\n }\n },\n },\n\n components: {\n ChargesTable,\n SentenceSummary,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileDossierCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileDossierCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfileDossierCard.vue?vue&type=template&id=7a2ef0ed&\"\nimport script from \"./ProfileDossierCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfileDossierCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VChip,VCol,VRow,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"secondary white--text\"},[(_vm.profile)?_c('v-container',[_c('v-row',[_c('v-col',{staticClass:\"text-h3\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.profile.name)+\" \"+_vm._s(_vm.profile.surname)+\" \")]),_c('v-col',{staticClass:\"text-center d-print-none\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-btn-toggle',{attrs:{\"dark\":\"\",\"group\":\"\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"exact\":\"\",\"to\":{ name: 'profileShow' }}},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('profile.singular'))+\" \")])]),_c('v-btn',{attrs:{\"small\":\"\",\"exact\":\"\",\"to\":{ name: 'profileDossiers' }}},[_vm._v(\" \"+_vm._s(_vm.$t('dossier.plural'))+\" \")]),_c('v-btn',{attrs:{\"small\":\"\",\"exact\":\"\",\"to\":{ name: 'profileFacilities' }}},[_vm._v(\" \"+_vm._s(_vm.$t('housingFacility.plural'))+\" \")]),_c('v-btn',{attrs:{\"small\":\"\",\"exact\":\"\"},on:{\"click\":_vm.print}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-print\")])],1)],1)],1)],1),_c('ProfileIdentityDisplay',{staticClass:\"mt-4\",attrs:{\"profile\":_vm.profile}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport ProfileIdentityDisplay from '@/components/profile/ProfileIdentityDisplay.vue';\n\nexport default Vue.extend({\n props: {\n profile: Object,\n },\n methods: {\n print() {\n window.print();\n },\n },\n components: {\n ProfileIdentityDisplay,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileHeaderNav.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileHeaderNav.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfileHeaderNav.vue?vue&type=template&id=339f6051&\"\nimport script from \"./ProfileHeaderNav.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfileHeaderNav.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VBtnToggle } from 'vuetify/lib/components/VBtnToggle';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VBtnToggle,VCol,VContainer,VIcon,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Dossier } from '@/vuex/court/dossier';\nimport { Profile } from '@/vuex/profile/profile';\n\nimport ProfileDossierCard from '@/components/profile/ProfileDossierCard.vue';\nimport ProfileHeaderNav from '@/components/profile/ProfileHeaderNav.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n computed: {\n ...mapGetters('profile', ['profileWithID']),\n ...mapGetters('court', ['dossiersForParty']),\n profile(): Profile {\n return this.profileWithID(this.id);\n },\n dossiers(): Dossier[] {\n if (!this.profile || !this.profile.partyID) {\n return [];\n }\n return this.dossiersForParty(this.profile.partyID);\n },\n },\n components: {\n ProfileDossierCard,\n ProfileHeaderNav,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileDossiers.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileDossiers.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfileDossiers.vue?vue&type=template&id=16b2b0a4&\"\nimport script from \"./ProfileDossiers.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfileDossiers.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ProfileHeaderNav',{attrs:{\"profile\":_vm.profile}}),_c('v-container',[(!_vm.profile)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),(_vm.profile)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-toolbar',{attrs:{\"dark\":\"\",\"dense\":\"\",\"color\":\"secondary\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t('offender.plural'))+\" \")])],1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"items\":_vm.offenders,\"headers\":_vm.offenderHeaders},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_vm._v(\" \"+_vm._s(_vm.$t('offender.custodyStatus.' + item.custodyStatus))+\" \")]),_c('td',[_c('router-link',{attrs:{\"to\":{ name: 'offenderProfile', params: { id: item.id } }}},[_vm._v(\" \"+_vm._s(item.DIN)+\" \")])],1),_c('td',[_c('router-link',{attrs:{\"to\":{ name: 'offenderProfile', params: { id: item.id } }}},[_vm._v(\" \"+_vm._s(item.PIN)+\" \")])],1),_c('td',[_vm._v(_vm._s(_vm.facilityName(item.housingFacilityID)))]),_c('td',[_c('Date',{attrs:{\"value\":item.detainedAt}})],1),_c('td',[_c('Date',{attrs:{\"value\":item.expectedReleaseAt}})],1),_c('td',[_c('Date',{attrs:{\"value\":item.freedAt}})],1)])]}}],null,false,62569362)})],1)],1)],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\n\nimport { Offender } from '@/vuex/offender/offender';\nimport { Profile } from '@/vuex/profile/profile';\n\nimport ProfileHeaderNav from '@/components/profile/ProfileHeaderNav.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n computed: {\n ...mapGetters('profile', ['profileWithID']),\n ...mapGetters('court', ['dossiersForParty']),\n ...mapGetters('offender', ['offendersForProfile']),\n ...mapGetters('housing', ['facilityName']),\n profile(): Profile {\n return this.profileWithID(this.id);\n },\n offenders(): Offender[] {\n if (!this.profile) {\n return [];\n }\n return this.offendersForProfile(this.id);\n },\n offenderHeaders(): any[] {\n return [\n { text: i18n.t('custodyStatus.singular'), value: 'custodyStatus' },\n { text: i18n.t('offender.din'), value: 'DIN' },\n { text: i18n.t('offender.pin'), value: 'PIN' },\n {\n text: i18n.t('housingFacility.singular'),\n value: 'housingFacilityID',\n },\n { text: i18n.t('offender.detainedAt'), value: 'detainedAt' },\n {\n text: i18n.t('offender.expectedReleaseAt'),\n value: 'expectedReleaseAt',\n },\n {\n text: i18n.t('offender.freedAt'),\n value: 'freedAt',\n },\n ];\n },\n },\n components: {\n ProfileHeaderNav,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileFacilities.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileFacilities.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfileFacilities.vue?vue&type=template&id=685d4e70&\"\nimport script from \"./ProfileFacilities.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfileFacilities.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCol,VContainer,VDataTable,VProgressLinear,VRow,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pb-10\"},[_c('ProfileSearcher',{attrs:{\"route\":_vm.$route},on:{\"queryChanged\":_vm.queryChanged}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport ProfileSearcher from '@/components/profile/ProfileSearcher.vue';\n\nexport default Vue.extend({\n methods: {\n /**\n * queryChanged listens for the same-named event to be emitted from\n * the searcher and updates the pushState/URL to reflect the new\n * page. This is critical to preserve the behavior of the back button\n * when links in the search results are clicked. Beacuse the $route is not\n * constantly parsed, this does not trigger a loop back into re-setting the\n * query criteria inside the searcher.\n */\n queryChanged(query: string): void {\n if (query !== '') {\n query = `?${encodeURI(query)}`;\n }\n const newPath = `${this.$route.path}${query}`;\n if (this.$route.fullPath !== newPath) {\n this.$router.replace(newPath);\n }\n },\n },\n\n components: {\n ProfileSearcher,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfileList.vue?vue&type=template&id=05fe85b9&\"\nimport script from \"./ProfileList.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfileList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ProfileHeaderNav',{attrs:{\"profile\":_vm.profile}}),_c('v-container',[(!_vm.profile)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('ProfileDetailsDisplay',{attrs:{\"profile\":_vm.profile}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Profile } from '@/vuex/profile/profile';\n\nimport ProfileHeaderNav from '@/components/profile/ProfileHeaderNav.vue';\nimport ProfileDetailsDisplay from '@/components/profile/ProfileDetailsDisplay.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n computed: {\n ...mapGetters('profile', ['profileWithID']),\n ...mapGetters('court', ['dossiersForParty']),\n ...mapGetters('offender', ['offendersForProfile']),\n ...mapGetters('housing', ['facilityName']),\n profile(): Profile {\n return this.profileWithID(this.id);\n },\n },\n components: {\n ProfileDetailsDisplay,\n ProfileHeaderNav,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileShow.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileShow.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfileShow.vue?vue&type=template&id=59e3ebc4&\"\nimport script from \"./ProfileShow.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfileShow.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VContainer,VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pb-10\"},[_c('v-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.fetchData.apply(null, arguments)}}},[_c('v-card',{attrs:{\"loading\":_vm.loading}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"black\",\"extended\":\"\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('v-spacer'),_c('v-checkbox',{attrs:{\"label\":_vm.$t('advancedSearch')},model:{value:(_vm.advancedSearch),callback:function ($$v) {_vm.advancedSearch=$$v},expression:\"advancedSearch\"}})]},proxy:true}])},[_c('v-toolbar-title',[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-mask\")]),_vm._v(\" \"+_vm._s(_vm.$t('profile.backgroundCheck'))+\" \")],1),_c('v-spacer'),(!_vm.advancedSearch)?_c('v-text-field',{ref:\"query\",attrs:{\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\",\"append-icon\":\"search\",\"clearable\":\"\"},model:{value:(_vm.criteria.q),callback:function ($$v) {_vm.$set(_vm.criteria, \"q\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"criteria.q\"}}):_vm._e()],1),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),(_vm.advancedSearch)?_c('div',[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\",\"justify\":\"space-between\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.name')},model:{value:(_vm.criteria.name),callback:function ($$v) {_vm.$set(_vm.criteria, \"name\", $$v)},expression:\"criteria.name\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.surname')},model:{value:(_vm.criteria.surname),callback:function ($$v) {_vm.$set(_vm.criteria, \"surname\", $$v)},expression:\"criteria.surname\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.fatherName')},model:{value:(_vm.criteria.fatherName),callback:function ($$v) {_vm.$set(_vm.criteria, \"fatherName\", $$v)},expression:\"criteria.fatherName\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.grandfatherName')},model:{value:(_vm.criteria.grandfatherName),callback:function ($$v) {_vm.$set(_vm.criteria, \"grandfatherName\", $$v)},expression:\"criteria.grandfatherName\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.alias.singular')},model:{value:(_vm.criteria.alias),callback:function ($$v) {_vm.$set(_vm.criteria, \"alias\", $$v)},expression:\"criteria.alias\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.birthplace'),\"zero-label\":\"all\"},model:{value:(_vm.criteria.birthplaceGeographyID),callback:function ($$v) {_vm.$set(_vm.criteria, \"birthplaceGeographyID\", $$v)},expression:\"criteria.birthplaceGeographyID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.residence'),\"zero-label\":\"all\"},model:{value:(_vm.criteria.residenceGeographyID),callback:function ($$v) {_vm.$set(_vm.criteria, \"residenceGeographyID\", $$v)},expression:\"criteria.residenceGeographyID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.gender'),\"items\":\"profile/genders\",\"disable-sorting\":\"\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.genderID),callback:function ($$v) {_vm.$set(_vm.criteria, \"genderID\", $$v)},expression:\"criteria.genderID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.hairColor'),\"items\":\"profile/hairColors\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.hairColorID),callback:function ($$v) {_vm.$set(_vm.criteria, \"hairColorID\", $$v)},expression:\"criteria.hairColorID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.eyeColor'),\"items\":\"profile/eyeColors\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.eyeColorID),callback:function ($$v) {_vm.$set(_vm.criteria, \"eyeColorID\", $$v)},expression:\"criteria.eyeColorID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.age') + ' (' + _vm.$t('range.minimum') + ')'},model:{value:(_vm.criteria.minAge),callback:function ($$v) {_vm.$set(_vm.criteria, \"minAge\", $$v)},expression:\"criteria.minAge\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.age') + ' (' + _vm.$t('range.maximum') + ')'},model:{value:(_vm.criteria.maxAge),callback:function ($$v) {_vm.$set(_vm.criteria, \"maxAge\", $$v)},expression:\"criteria.maxAge\"}})],1)],1)],1):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.results,\"loading\":_vm.loading,\"disable-sort\":\"\",\"page\":_vm.page.number,\"items-per-page\":_vm.page.size,\"server-items-length\":_vm.page.serverCount,\"footer-props\":{\n 'items-per-page-options': [10, 20, 40, 50, 100],\n },\"no-data-text\":_vm.$t('error.nodata')},on:{\"update:page\":function($event){return _vm.$set(_vm.page, \"number\", $event)},\"update:itemsPerPage\":function($event){return _vm.$set(_vm.page, \"size\", $event)},\"update:items-per-page\":function($event){return _vm.$set(_vm.page, \"size\", $event)}},scopedSlots:_vm._u([{key:\"item.name\",fn:function(ref){\n var item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":{ name: 'profileDossiers', params: { id: item.id } }}},[_vm._v(\" \"+_vm._s(item.name)+\" \"+_vm._s(item.surname)+\" \")])]}},{key:\"item.birthdate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('AgeDisplay',{attrs:{\"birthdate\":item.birthdate,\"isApproximate\":item.birthdateIsApproximate}})]}},{key:\"item.fatherName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',[_vm._v(_vm._s(item.fatherName))]),_c('div',[_vm._v(_vm._s(item.grandFatherName))])]}},{key:\"item.identification\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',[_vm._v(_vm._s(item.nationalID)+\"  \")]),_c('div',[_vm._v(_vm._s(item.eNationalID))])]}},{key:\"item.birthplaceAndResidence\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',[_c('GeographyName',{attrs:{\"id\":item.birthplaceGeographyID}})],1),_c('div',[_c('GeographyName',{attrs:{\"id\":item.residenceGeographyID}})],1)]}}],null,true)})],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport profileAPI from '@/vuex/profile/profileAPI';\nimport {\n changedCriteria,\n criteriaToQueryString,\n routeToCriteria,\n} from '@/lib/criteria';\n\nimport AddProfileDialog from '@/components/profile/AddProfileDialog.vue';\nimport ProfileDetailsCard from '@/components/profile/ProfileDetailsCard.vue';\nimport ProfileIdentityCard from '@/components/profile/ProfileIdentityCard.vue';\n\nexport default Vue.extend({\n props: {\n /**\n * dense triggers a more condensed design for the component, which is useful\n * when it appears in a popup or other compressed space.\n */\n dense: Boolean,\n },\n\n created() {\n // Load the initial data...\n this.fetchData();\n // ...then make every future call to this.fetchData be debounced so that\n // it can never be called faster than once every N milliseconds.\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.fetchData = _.debounce(this.fetchData, 400);\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n advancedSearch: false,\n\n initialCriteria: {},\n criteria: {\n q: '',\n name: '',\n surname: '',\n fatherName: '',\n grandfatherName: '',\n alias: '',\n genderID: 0,\n birthplaceGeographyID: 0,\n residenceGeographyID: 0,\n minAge: 0,\n maxAge: 0,\n hairColorID: 0,\n eyeColorID: 0,\n },\n\n results: [] as any[],\n\n page: {\n number: 1,\n size: 10,\n serverCount: 0,\n },\n };\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('profile', ['profileWithID']),\n ...mapGetters('auth', ['hasPermission']),\n\n items(): any[] {\n return _.map(this.results, (row) => {\n return Object.assign({}, row, {\n name: `${row.name} ${row.surname}`,\n fatherName: `${row.fatherName}, ${row.grandfatherName}`,\n identification: `${row.nationalID} ${row.eNationalID}`,\n });\n });\n },\n\n /**\n * criteriaUnchanged returns true when the currently-active criteria\n * is unchanged from its original, default state on the form.\n */\n criteriaUnchanged(): boolean {\n return _.isEqual(this.criteria, this.initialCriteria);\n },\n\n /**\n * queryString computes the URL querystring parameters which will be\n * submitted to the server to perform the search. NOTE that this\n * value is combined with pagination criteria inside fetchData, so this\n * value doesn't exactly match the API request.\n */\n queryString(): string {\n if (_.isEmpty(this.initialCriteria)) {\n this.initialCriteria = _.cloneDeep(this.criteria);\n }\n const cc = changedCriteria(this.criteria, this.initialCriteria);\n return criteriaToQueryString(cc, this.page);\n },\n\n /**\n * headers dynamically builds the headers array so that translations for\n * the column titles can update live, and so that the edit link column is\n * removed *automatically when the selectable prop is set\n */\n headers(): any[] {\n const headers: any[] = [\n { text: i18n.t('person.name'), value: 'name' },\n {\n text: i18n.t('person.age'),\n value: 'birthdate',\n },\n {\n text: i18n.t('person.fatherName'),\n value: 'fatherName',\n },\n {\n text:\n i18n.t('person.nationalID') + ' / ' + i18n.t('person.eNationalID'),\n value: 'identification',\n },\n {\n text:\n i18n.t('person.birthplace') + ' / ' + i18n.t('person.residence'),\n value: 'birthplaceAndResidence',\n },\n {\n text: i18n.t('dossier.plural'),\n value: 'totalDossierCount',\n align: 'right',\n },\n ];\n return headers;\n },\n },\n\n watch: {\n $route: {\n immediate: true,\n handler() {\n if (_.isEmpty(this.initialCriteria)) {\n this.initialCriteria = _.cloneDeep(this.criteria);\n }\n routeToCriteria(this.$route, this.criteria, this.page);\n if (!this.criteriaUnchanged && this.criteria.q === '') {\n this.advancedSearch = true;\n }\n },\n },\n\n /**\n * queryString is watched so that a new search can be triggered.\n */\n queryString(newVal: string, oldVal: string) {\n this.fetchData();\n },\n\n /**\n * criteria is watched so that when the search criteria is changed after\n * results have already been returned, we can reset the page number.\n */\n criteria: {\n deep: true,\n immediate: false,\n handler(newVal, oldVal) {\n if (this.page.serverCount > 0 && this.page.number > 1) {\n this.page.number = 1;\n }\n },\n },\n\n /**\n * advancedSearch changes the UI, so we need to make sure to reset\n * the no longer visible fields\n */\n advancedSearch(isAdvanced: boolean) {\n if (isAdvanced) {\n this.resetSimpleCriteria();\n } else {\n this.resetAdvancedCriteria();\n }\n },\n },\n\n methods: {\n /**\n * queryChanged listens for changes in the currently-active querystring\n * (including pagination parameters)\n */\n queryChanged(query: string): void {\n if (query !== '') {\n query = `?${encodeURI(query)}`;\n }\n const newPath = `${this.$route.path}${query}`;\n if (this.$route.fullPath !== newPath) {\n this.$router.replace(newPath);\n }\n },\n\n /**\n * reset clears the search and resets search results. Primarily designed\n * to be called externally via a $ref to this component so that the searcher\n * can be reset when a dialog is opened.\n */\n reset(): void {\n this.$nextTick(() => {\n this.resetSimpleCriteria();\n this.resetAdvancedCriteria();\n\n if (this.$refs.query) {\n (this.$refs.query as any).focus();\n }\n });\n },\n\n resetSimpleCriteria(): void {\n this.criteria.q = '';\n },\n\n resetAdvancedCriteria(): void {\n this.criteria = Object.assign(this.criteria, this.initialCriteria);\n },\n\n /**\n * fetchData performs the actual search. It hits the API with the active\n * query and pagination criteria and updates the locally-held search results\n * data.\n */\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n\n try {\n const url = `/background-check?${this.queryString}`;\n const resp = await profileAPI.get(url);\n this.page.serverCount = _.get(resp, 'data.meta.totalResults', 0);\n this.results = _.get(resp, 'data.data', []);\n this.queryChanged(this.queryString);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n components: {\n AddProfileDialog,\n ProfileDetailsCard,\n ProfileIdentityCard,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackgroundCheck.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackgroundCheck.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BackgroundCheck.vue?vue&type=template&id=d70b4020&\"\nimport script from \"./BackgroundCheck.vue?vue&type=script&lang=ts&\"\nexport * from \"./BackgroundCheck.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCheckbox,VCol,VContainer,VDataTable,VForm,VIcon,VRow,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',{staticClass:\"text-h2\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.fullFacilityName(_vm.id))+\" \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(_vm._s(_vm.$t('transferIn.plural')))])]),_vm._l((_vm.incomingStatuses),function(status){return _c('v-col',{key:status,attrs:{\"cols\":\"12\"}},[_c('HousingFacilityTransfersTable',{attrs:{\"facilityID\":_vm.id,\"status\":status,\"transfers\":_vm.incomingTransfers[status] || []}})],1)})],2),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-h6\"},[_vm._v(_vm._s(_vm.$t('transferOut.plural')))])]),_vm._l((_vm.outgoingStatuses),function(status){return _c('v-col',{key:status,attrs:{\"cols\":\"12\"}},[_c('HousingFacilityTransfersTable',{attrs:{\"facilityID\":_vm.id,\"status\":status,\"transfers\":_vm.outgoingTransfers[status] || []}})],1)})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _ from 'lodash';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface Transfer {\n id: number;\n offenderID: number;\n scheduledDepartureAt: string;\n estimatedDurationInHours: number;\n estimatedArrivalAt: number;\n cancelDate?: string;\n cancelReason?: string;\n status: string;\n fromHousingFacilityID: number;\n toHousingFacilityID: number;\n fromCellID: number;\n toCellID: number;\n approvedAt: string;\n departedAt: string;\n arrivedAt: number;\n durationInHours: number;\n reasonID?: number;\n notes?: string;\n pin: string;\n din: string;\n isDetainee: boolean;\n}\n\nexport const enum TransferStatus {\n Pending = 'pending',\n Scheduled = 'scheduled',\n InTransit = 'in-transit',\n Denied = 'denied',\n Canceled = 'canceled',\n Aborted = 'aborted',\n Completed = 'completed',\n}\n\nexport const TransferStatuses = [\n TransferStatus.Pending,\n TransferStatus.Scheduled,\n TransferStatus.InTransit,\n TransferStatus.Denied,\n TransferStatus.Canceled,\n TransferStatus.Aborted,\n TransferStatus.Completed,\n];\n\nexport const ActiveTransferStatuses = [\n TransferStatus.Pending,\n TransferStatus.Scheduled,\n TransferStatus.InTransit,\n];\n\nexport const CancelableTransferStatuses = [\n TransferStatus.Pending,\n TransferStatus.Scheduled,\n];\n\nexport const state = {\n transfer: {} as { [id: number]: Transfer },\n transferIDsForOffender: {} as { [offenderID: number]: number[] },\n transferIDsForFacility: {} as { [facilityID: number]: number[] },\n};\n\nexport const getters = {\n transferWithID:\n (state) =>\n (transferID: number): Transfer => {\n return state.transfer[transferID];\n },\n transfersForOffender:\n (state) =>\n (offenderID: number): Transfer[] => {\n return (state.transferIDsForOffender[offenderID] || []).map(\n (id: number) => state.transfer[id],\n ) as Transfer[];\n },\n transfersForFacility:\n (state) =>\n (facilityID: number): Transfer[] => {\n return (state.transferIDsForFacility[facilityID] || []).map(\n (id: number) => state.transfer[id],\n ) as Transfer[];\n },\n};\n\nexport const mutations = {};\n\nexport const actions = {\n async fetchTransfers({ commit }, payload: { offenderID: number }) {\n const response = await offenderAPI.get(\n `offenders/${payload.offenderID}/transfers`,\n );\n const transfers = response.data.data;\n const newState = modelsToState('transfer', transfers);\n commit('setState', newState);\n commit('setTarget', {\n target: 'transferIDsForOffender',\n index: payload.offenderID,\n value: _.map(transfers, 'id'),\n });\n },\n async fetchActiveTransfersForFacility({ commit }, payload: { id: number }) {\n const response = await offenderAPI.get(\n `facilities/${payload.id}/active-transfers`,\n );\n const transfers = response.data.data;\n const newState = modelsToState('transfer', transfers);\n commit('setState', newState);\n commit('setTarget', {\n target: 'transferIDsForFacility',\n index: payload.id,\n value: _.map(transfers, 'id'),\n });\n },\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-toolbar',{attrs:{\"dense\":\"\",\"dark\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t('transfer.statusOptions.' + _vm.status))+\" \")])],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"dense\":\"\",\"headers\":_vm.headers,\"items\":_vm.items,\"hide-default-footer\":\"\",\"no-data-text\":_vm.$t('error.nodata')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_c('Date',{attrs:{\"value\":item.departedAt || item.scheduledDepartureAt}})],1),_c('td',[_c('Date',{attrs:{\"value\":item.estimatedArrivalAt}})],1),_c('td',[_c('router-link',{attrs:{\"to\":{\n name: 'offenderHousing',\n params: { id: item.offenderID },\n }}},[_vm._v(\" \"+_vm._s(item.name)+\" \")])],1),_c('td',[_vm._v(_vm._s(_vm.facilityName(_vm.facilityIDForDisplay(item))))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(item.reasonID, _vm.transferReasons))+\" \")]),_c('td',[_c('div',{staticClass:\"d-flex\"},[_c('TransferActions',{attrs:{\"transferID\":item.id,\"offenderID\":item.offenderID}}),_c('ExpanderDialog',{attrs:{\"title\":_vm.$t('transfer.singular')}},[_c('v-row',[(item.status)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"label\":_vm.$t('transfer.status'),\"value\":_vm.translateStatus(item.status)}}):_vm._e(),(item.isDetainee)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"label\":_vm.$t('offender.din'),\"value\":item.din}}):_vm._e(),(!item.isDetainee)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"label\":_vm.$t('offender.pin'),\"value\":item.pin}}):_vm._e()],1),(item.scheduledDepartureAt || item.estimatedArrivalAt)?_c('v-row',[(item.scheduledDepartureAt)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.scheduledDepartureAt')}},[_c('Date',{attrs:{\"value\":item.scheduledDepartureAt}})],1):_vm._e(),(item.estimatedArrivalAt)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.estimatedArrivalAt')}},[_c('Date',{attrs:{\"value\":item.estimatedArrivalAt}})],1):_vm._e()],1):_vm._e(),(item.departedAt || item.arrivedAt)?_c('v-row',[(item.departedAt)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"label\":_vm.$t('transfer.departedAt')}},[_c('Date',{attrs:{\"value\":item.departedAt}})],1):_vm._e(),(item.arrivedAt)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.arrivedAt')}},[_c('Date',{attrs:{\"value\":item.arrivedAt}})],1):_vm._e()],1):_vm._e(),(\n item.fromHousingFacilityID || item.toHousingFacilityID\n )?_c('v-row',[(item.fromHousingFacilityID)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.fromHousingFacility'),\"value\":_vm.facilityName(item.fromHousingFacilityID)}}):_vm._e(),(item.toHousingFacilityID)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.toHousingFacility'),\"value\":_vm.facilityName(item.toHousingFacilityID)}}):_vm._e()],1):_vm._e(),(item.fromCellID || item.toCellID)?_c('v-row',[(item.fromCellID)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.fromCell'),\"value\":_vm.cellName(item.fromCellID)}}):_vm._e(),(item.toCellID)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.toCell'),\"value\":_vm.cellName(item.toCellID)}}):_vm._e()],1):_vm._e(),(item.reasonID || item.notes)?_c('v-row',[(item.reasonID > 0)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.reason'),\"value\":_vm.nameForIDInCollection(item.reasonID, _vm.transferReasons)}}):_vm._e(),(item.notes)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('notes'),\"value\":item.notes}}):_vm._e()],1):_vm._e(),(item.cancelDate || item.cancelReason)?_c('v-row',[(item.cancelDate)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.cancelDate')}},[_c('Date',{attrs:{\"value\":item.cancelDate}})],1):_vm._e(),(item.cancelReason)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.cancelReason'),\"value\":item.cancelReason}}):_vm._e()],1):_vm._e()],1)],1)])])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex justify-space-between align-center\"},[(_vm.isApprovable)?_c('ConfirmationButton',{staticClass:\"mx-1\",attrs:{\"prompt\":_vm.$t('transfer.confirm.approve'),\"color\":\"success\",\"x-small\":\"\"},on:{\"confirm\":function($event){return _vm.approve()}}},[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-check\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.approve'))+\" \")],1):_vm._e(),(_vm.isApprovable)?_c('ConfirmationButton',{staticClass:\"mx-1\",attrs:{\"prompt\":_vm.$t('transfer.confirm.deny'),\"color\":\"error\",\"x-small\":\"\"},on:{\"confirm\":function($event){return _vm.deny()}}},[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-ban\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.deny'))+\" \")],1):_vm._e(),(_vm.isStartable)?_c('ConfirmationButton',{staticClass:\"mx-1\",attrs:{\"prompt\":_vm.$t('transfer.confirm.start'),\"color\":\"accent\",\"x-small\":\"\"},on:{\"confirm\":function($event){return _vm.start()}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.start'))+\" \")]):_vm._e(),(_vm.isCancelable)?_c('TransferCancelDialog',{attrs:{\"transferID\":_vm.transferID}}):_vm._e(),(_vm.isCompletable)?_c('TransferCompleteDialog',{attrs:{\"transferID\":_vm.transferID}}):_vm._e(),(_vm.isAbortable)?_c('ConfirmationButton',{staticClass:\"mx-1\",attrs:{\"prompt\":_vm.$t('transfer.confirm.abort'),\"color\":\"error\",\"x-small\":\"\"},on:{\"confirm\":function($event){return _vm.abort()}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.abort'))+\" \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"title\":_vm.$t('leave.cancel.cancelReason')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",function(){return [_c('v-btn',_vm._g({staticClass:\"mx-1\",attrs:{\"color\":\"error\",\"x-small\":\"\"}},slotProps.on),[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-ban\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.cancel'))+\" \")],1)]},null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('transfer.cancelDate'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.cancelDate),callback:function ($$v) {_vm.cancelDate=$$v},expression:\"cancelDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('transfer.cancelReason'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.cancelReason),callback:function ($$v) {_vm.cancelReason=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"cancelReason\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"transfer\",\"entityID\":this.transferID}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport Vue from 'vue';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\n\nexport default Vue.extend({\n props: {\n transferID: Number,\n },\n\n data() {\n return {\n isOpen: false,\n cancelDate: '',\n cancelReason: '',\n error: null as any,\n };\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.cancelDate = moment().format();\n this.cancelReason = '';\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('transfers/cancel', {\n data: {\n transferID: this.transferID,\n cancelDate: this.cancelDate,\n cancelReason: this.cancelReason,\n },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferCancelDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferCancelDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TransferCancelDialog.vue?vue&type=template&id=5d09aa93&\"\nimport script from \"./TransferCancelDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./TransferCancelDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"title\":_vm.$t('transfer.confirm.complete')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",function(){return [_c('v-btn',_vm._g({staticClass:\"mx-1\",attrs:{\"color\":\"success\",\"x-small\":\"\"}},slotProps.on),[_vm._v(\" \"+_vm._s(_vm.$t('command.complete'))+\" \")])]},null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"6\",\"label\":_vm.$t('transfer.transferOriginLocation'),\"value\":_vm.facilityName(_vm.transfer.fromHousingFacilityID)}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"label\":_vm.$t('transfer.transferDestinationLocation'),\"value\":_vm.facilityName(_vm.transfer.toHousingFacilityID)}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"label\":_vm.$t('transfer.reason'),\"value\":_vm.transfer.reasonID,\"lookup-table\":\"offender/transferReasons\"}}),_c('LabeledData',{attrs:{\"cols\":\"6\",\"label\":_vm.$t('notes'),\"value\":_vm.transfer.notes}})],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-divider')],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-radio-group',{attrs:{\"row\":\"\"},model:{value:(_vm.isDetainee),callback:function ($$v) {_vm.isDetainee=$$v},expression:\"isDetainee\"}},[_c('v-radio',{attrs:{\"type\":\"radio\",\"label\":_vm.$t('offender.prisoner.singular'),\"value\":false}}),_c('v-radio',{attrs:{\"type\":\"radio\",\"label\":_vm.$t('offender.detainee.singular'),\"value\":true}})],1)],1),_c('v-col',{attrs:{\"cols\":\"8\"}},[(_vm.isDetainee)?_c('v-text-field',{attrs:{\"label\":_vm.$t('offender.din'),\"maxlength\":\"6\"},model:{value:(_vm.din),callback:function ($$v) {_vm.din=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"din\"}}):_vm._e(),(!_vm.isDetainee)?_c('v-text-field',{attrs:{\"label\":_vm.$t('offender.pin'),\"maxlength\":\"6\"},model:{value:(_vm.pin),callback:function ($$v) {_vm.pin=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"pin\"}}):_vm._e()],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"transfer\",\"entityID\":_vm.transfer.id}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { Offender } from '@/vuex/offender/offender';\nimport { Transfer } from '@/vuex/offender/transfer';\n\nexport default Vue.extend({\n props: {\n transferID: Number,\n },\n\n data() {\n return {\n pin: '',\n din: '',\n isDetainee: false,\n isOpen: false,\n error: null as any,\n };\n },\n\n computed: {\n ...mapGetters('offender', ['transferWithID', 'offenderWithID']),\n ...mapGetters('housing', ['facilityName']),\n\n transfer(): Transfer {\n return this.transferWithID(this.transferID);\n },\n\n offender(): Offender {\n const transfer = this.transfer;\n return this.offenderWithID(transfer.offenderID);\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n if (this.offender) {\n this.din = this.offender.DIN;\n this.pin = this.offender.PIN;\n }\n\n if (this.transfer) {\n this.isDetainee = this.transfer.isDetainee;\n }\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('transfers/complete', {\n data: {\n transferID: this.transferID,\n pin: this.pin,\n din: this.din,\n isDetainee: this.isDetainee,\n },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferCompleteDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferCompleteDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TransferCompleteDialog.vue?vue&type=template&id=22b5541e&\"\nimport script from \"./TransferCompleteDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./TransferCompleteDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCol,VDivider,VRadio,VRadioGroup,VRow,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport {\n CancelableTransferStatuses,\n Transfer,\n TransferStatus,\n} from '@/vuex/offender/transfer';\n\nimport TransferCancelDialog from '@/components/offender/transfer/TransferCancelDialog.vue';\nimport TransferCompleteDialog from '@/components/offender/transfer/TransferCompleteDialog.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n transferID: Number,\n },\n computed: {\n ...mapGetters('offender', ['transferWithID']),\n ...mapGetters('auth', ['hasPermission']),\n\n transfer(): Transfer {\n return this.transferWithID(this.transferID);\n },\n\n /**\n * status is a convenience wrapper around transfer.status. It returns\n * 'unknown' until the full Transfer object is available.\n */\n status(): string {\n if (!this.transfer) {\n return 'unknown';\n }\n return this.transfer.status;\n },\n\n /**\n * isApprovable returns true if this Transfer is awaiting to be approved/denied\n * and the current user has permission to do that.\n */\n isApprovable(): boolean {\n if (this.status !== TransferStatus.Pending) {\n return false;\n }\n\n return this.hasPermission(\n 'offender.transfer.approve',\n 'facility',\n this.transfer.fromHousingFacilityID,\n );\n },\n\n /**\n * isStartable returns true if this Transfer is approved and not yet started\n * and the current user has permissions to start it.\n */\n isStartable(): boolean {\n if (this.status !== TransferStatus.Scheduled) {\n return false;\n }\n return this.hasPermission(\n 'offender.transfer.start',\n 'facility',\n this.transfer.fromHousingFacilityID,\n );\n },\n\n /**\n * isCancelable returns true if this Transfer is in a cancelable state and\n * the current user has permissions to cancel it.\n */\n isCancelable(): boolean {\n if (!_.includes(CancelableTransferStatuses, this.status)) {\n return false;\n }\n return this.hasPermission(\n 'offender.transfer.request',\n 'facility',\n this.transfer.fromHousingFacilityID,\n );\n },\n\n /**\n * isCompletable returns true if this Transfer is in progress and\n * the current user has permissions to mark it completed.\n */\n isCompletable(): boolean {\n if (this.status !== TransferStatus.InTransit) {\n return false;\n }\n return this.hasPermission(\n 'offender.transfer.complete',\n 'facility',\n this.transfer.toHousingFacilityID,\n );\n },\n\n /**\n * isAbortable returns true if this Transfer is in progress and\n * the current user has permissions to abort it ()\n */\n isAbortable(): boolean {\n if (this.status !== TransferStatus.InTransit) {\n return false;\n }\n return this.hasPermission(\n 'offender.transfer.complete',\n 'facility',\n this.transfer.toHousingFacilityID,\n );\n },\n },\n\n methods: {\n async approve(): Promise {\n const response = await offenderAPI.post('transfers/approve', {\n data: { transferID: this.transferID },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n },\n\n async deny(): Promise {\n const response = await offenderAPI.post('transfers/deny', {\n data: { transferID: this.transferID },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n },\n\n async start(): Promise {\n const response = await offenderAPI.post('transfers/start', {\n data: { transferID: this.transferID },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n },\n\n async abort(): Promise {\n const response = await offenderAPI.post('transfers/abort', {\n data: { transferID: this.transferID },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n },\n },\n\n components: {\n TransferCancelDialog,\n TransferCompleteDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferActions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferActions.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TransferActions.vue?vue&type=template&id=730666ec&\"\nimport script from \"./TransferActions.vue?vue&type=script&lang=ts&\"\nexport * from \"./TransferActions.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport i18n from '@/i18n';\n\nimport { mapGetters, mapState } from 'vuex';\nimport { Transfer } from '@/vuex/offender/transfer';\n\nimport TransferActions from '@/components/offender/transfer/TransferActions.vue';\n\nexport default Vue.extend({\n props: {\n facilityID: Number,\n transfers: Array as () => Transfer[],\n status: String,\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('housing', ['facilityName', 'cellName']),\n ...mapGetters('offender', ['offenderWithID']),\n ...mapGetters('profile', ['profileName']),\n ...mapState('offender', ['transferReasons']),\n items(): any[] {\n return this.transfers.map((t: Transfer) => {\n const o = this.offenderWithID(t.offenderID);\n return Object.assign(t, {\n name: o ? this.profileName(o.profileID) : '',\n });\n });\n },\n },\n\n data() {\n return {\n headers: [\n { text: i18n.t('startDate'), value: 'departedAt' },\n {\n text: i18n.t('transfer.estimatedArrivalAt'),\n value: 'estimatedArrivalAt',\n },\n { text: i18n.t('person.name'), value: '' },\n { text: i18n.t('housingFacility.typeOptions.facility'), value: '' },\n { text: i18n.t('transfer.reason'), value: 'reason' },\n { text: i18n.t('action.plural'), value: '' },\n ],\n };\n },\n\n methods: {\n translateStatus(val): string {\n return this.$i18n.t('transfer.statusOptions.' + val).toString();\n },\n\n facilityIDForDisplay(transfer: Transfer): number {\n if (this.facilityID === transfer.toHousingFacilityID) {\n return transfer.fromHousingFacilityID;\n } else {\n return transfer.toHousingFacilityID;\n }\n },\n },\n\n components: {\n TransferActions,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HousingFacilityTransfersTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HousingFacilityTransfersTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HousingFacilityTransfersTable.vue?vue&type=template&id=777253ae&\"\nimport script from \"./HousingFacilityTransfersTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./HousingFacilityTransfersTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VDataTable,VRow,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport _ from 'lodash';\nimport { mapGetters } from 'vuex';\n\nimport {\n Transfer,\n TransferStatus,\n ActiveTransferStatuses,\n} from '@/vuex/offender/transfer';\n\nimport HousingFacilityTransfersTable from '@/components/offender/transfer/HousingFacilityTransfersTable.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n\n data() {\n return {\n statuses: ActiveTransferStatuses,\n };\n },\n\n created() {\n this.fetchData();\n },\n\n computed: {\n ...mapGetters('offender', ['transfersForFacility']),\n ...mapGetters('housing', ['fullFacilityName']),\n\n transfers(): Transfer[] {\n return this.transfersForFacility(this.id);\n },\n\n activeTransfers(): Transfer[] {\n return _.filter(this.transfers, (t: Transfer) =>\n _.includes(ActiveTransferStatuses, t.status),\n );\n },\n\n incomingTransfers(): any {\n return _.chain(this.activeTransfers)\n .filter(['toHousingFacilityID', this.id])\n .groupBy('status')\n .value();\n },\n\n outgoingTransfers(): any {\n return _.chain(this.activeTransfers)\n .filter(['fromHousingFacilityID', this.id])\n .groupBy('status')\n .value();\n },\n\n incomingStatuses(): TransferStatus[] {\n return _.filter(ActiveTransferStatuses, (s: TransferStatus) => {\n return !!this.incomingTransfers[s];\n });\n },\n\n outgoingStatuses(): TransferStatus[] {\n return _.filter(ActiveTransferStatuses, (s: TransferStatus) => {\n return !!this.outgoingTransfers[s];\n });\n },\n },\n\n methods: {\n async fetchData(): Promise {\n await this.$store.dispatch('offender/fetchActiveTransfersForFacility', {\n id: this.id,\n });\n const offenderIDs = _.map(this.transfers, 'offenderID');\n this.$store.dispatch('offender/fetchOffender', offenderIDs);\n },\n },\n\n components: {\n HousingFacilityTransfersTable,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HousingFacilityTransfers.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HousingFacilityTransfers.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HousingFacilityTransfers.vue?vue&type=template&id=9cafc414&\"\nimport script from \"./HousingFacilityTransfers.vue?vue&type=script&lang=ts&\"\nexport * from \"./HousingFacilityTransfers.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('div',{staticClass:\"text-h4\"},[_vm._v(\" \"+_vm._s(_vm.$t('offender.newOffenderIntake'))+\" \")]),_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.next()}}},[_c('v-stepper',{attrs:{\"vertical\":\"\"},model:{value:(_vm.step),callback:function ($$v) {_vm.step=$$v},expression:\"step\"}},[_c('v-stepper-step',{attrs:{\"step\":\"1\",\"editable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('case.importFromDossier'))+\" \"),(_vm.dossierID)?_c('small',{staticClass:\"pt-2\"},[_vm._v(\" \"+_vm._s(_vm.dossier.number)+\", \"+_vm._s(_vm.partyName(_vm.partyID))+\" \")]):_vm._e()]),_c('v-stepper-content',{attrs:{\"step\":\"1\",\"editable\":\"\"}},[_c('v-card',{staticClass:\"mb-2 pa-4\",attrs:{\"flat\":\"\",\"color\":\"grey lighten-4\"}},[_c('v-card-text',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('DossierLookupField',{model:{value:(_vm.dossierID),callback:function ($$v) {_vm.dossierID=$$v},expression:\"dossierID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[(_vm.dossierID)?_c('PartySelector',{attrs:{\"dossierID\":_vm.dossierID,\"defendants-only\":\"\"},model:{value:(_vm.partyID),callback:function ($$v) {_vm.partyID=$$v},expression:\"partyID\"}}):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"color\":\"accent\",\"small\":\"\",\"disabled\":!_vm.partyID},on:{\"click\":function($event){return _vm.importFromDossier()}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.import'))+\" \")])],1)],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"text\":\"\",\"color\":\"red\"},on:{\"click\":function($event){return _vm.startBlank()}}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-arrow-down\")]),_vm._v(\" Intake without Dossier \")],1)],1)],1)],1),_c('v-stepper-step',{attrs:{\"step\":\"2\",\"editable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('profile.singular'))+\" \"),(_vm.profile)?_c('small',{staticClass:\"pt-2\"},[_vm._v(\" \"+_vm._s(_vm.profile.name)+\" \"+_vm._s(_vm.profile.surname)+\" \")]):_vm._e()]),_c('v-stepper-content',{attrs:{\"step\":\"2\"}},[_c('ProfileSearchSelector',{model:{value:(_vm.profileID),callback:function ($$v) {_vm.profileID=$$v},expression:\"profileID\"}}),_c('v-btn',{attrs:{\"color\":\"accent\",\"disabled\":!_vm.profileID},on:{\"click\":function($event){return _vm.forward(3)}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.next'))+\" \")])],1),_c('v-stepper-step',{attrs:{\"step\":\"3\",\"editable\":_vm.identificationComplete}},[_vm._v(\" \"+_vm._s(_vm.$t('intake.classification'))+\" \")]),_c('v-stepper-content',{attrs:{\"step\":\"3\"}},[(_vm.step == 3 && _vm.offender && _vm.profile)?_c('OffenderClassificationForm',{attrs:{\"offender\":_vm.offender,\"profile\":_vm.profile},on:{\"updateOffender\":function($event){_vm.offender = $event},\"updateProfile\":function($event){_vm.profile = $event}}}):_vm._e(),_c('v-btn',{attrs:{\"color\":\"accent\"},on:{\"click\":function($event){return _vm.forward(4)}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.next'))+\" \")])],1),_c('v-stepper-step',{attrs:{\"step\":\"4\",\"editable\":_vm.identificationComplete}},[_vm._v(\" \"+_vm._s(_vm.$t('housing.singular'))+\" \")]),_c('v-stepper-content',{attrs:{\"step\":\"4\"}},[(_vm.step == 4)?_c('IntakeHousingForm',{model:{value:(_vm.offender),callback:function ($$v) {_vm.offender=$$v},expression:\"offender\"}}):_vm._e(),_c('v-btn',{attrs:{\"color\":\"accent\"},on:{\"click\":function($event){return _vm.forward(5)}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.next'))+\" \")])],1),_c('v-stepper-step',{attrs:{\"step\":\"5\",\"editable\":_vm.housingComplete}},[_vm._v(\" \"+_vm._s(_vm.$t('intake.confirm'))+\" \")]),_c('v-stepper-content',{attrs:{\"step\":\"5\"}},[(_vm.profile)?_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"3\",\"label\":_vm.$t('person.name'),\"value\":_vm.profile.name}}),_c('LabeledData',{attrs:{\"cols\":\"3\",\"label\":_vm.$t('person.surname'),\"value\":_vm.profile.surname}}),_c('LabeledData',{attrs:{\"cols\":\"3\",\"label\":_vm.$t('person.fatherName'),\"value\":_vm.profile.fatherName}}),_c('LabeledData',{attrs:{\"cols\":\"3\",\"label\":_vm.$t('person.grandfatherName'),\"value\":_vm.profile.grandfatherName}})],1):_vm._e(),(_vm.offender)?_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"5\",\"label\":_vm.$t('housingFacility.singular'),\"value\":_vm.fullFacilityName(_vm.offender.housingFacilityID)}}),(_vm.offender.cellID)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"5\",\"label\":_vm.$t('housingFacility.typeOptions.cell'),\"value\":_vm.cellName(_vm.offender.cellID)}}):_vm._e(),(_vm.offender.DIN)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"2\",\"label\":_vm.$t('offender.din'),\"value\":_vm.offender.DIN}}):_vm._e(),(_vm.offender.PIN)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"2\",\"label\":_vm.$t('offender.pin'),\"value\":_vm.offender.PIN}}):_vm._e()],1):_vm._e(),(_vm.offender)?_c('v-row',[(_vm.offender.detainedAt)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('offender.detainedAt')}},[_c('Date',{attrs:{\"value\":_vm.offender.detainedAt}})],1):_vm._e(),(_vm.offender.expectedReleaseAt)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('offender.expectedReleaseAt')}},[_c('Date',{attrs:{\"value\":_vm.offender.expectedReleaseAt}})],1):_vm._e()],1):_vm._e(),_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"color\":\"accent\",\"loading\":_vm.saving,\"disabled\":_vm.saving},on:{\"click\":function($event){return _vm.save()}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-save\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.save'))+\" \")],1)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _ from 'lodash';\nimport Vue from 'vue';\n\nimport api from '@/api';\n\n/**\n * AccompanyingChild describes a child incarcerated with its mother\n */\nexport interface AccompanyingChild {\n id: number;\n offenderID: number;\n intakeDate: string;\n releaseDate: string;\n name: string;\n birthdate: string;\n birthdateIsApproximate: boolean;\n notes: string;\n isReleased: boolean;\n}\n\nexport const state = {\n accompanyingChild: {} as { [id: number]: AccompanyingChild },\n accompanyingChildrenIDsForOffender: {} as { [offenderID: number]: number[] },\n};\n\nexport const getters = {\n accompanyingChildrenForOffender:\n (state) =>\n (offenderID: number): AccompanyingChild[] => {\n return (state.accompanyingChildrenIDsForOffender[offenderID] || []).map(\n (id: number) => state.accompanyingChild[id],\n ) as AccompanyingChild[];\n },\n\n accompanyingChildWithID:\n (state) =>\n (accompanyingChildID: number): AccompanyingChild => {\n return state.accompanyingChild[accompanyingChildID];\n },\n};\n\nexport const mutations = {\n /**\n * setAccompanyingChildrenForOffender either sets or replaces all\n * accompanyingChildren that are associated with the provided offender.\n * This function updates both the state.accompanyingChild lookup object and\n * the accompanyingChildrenIDsForOffender index.\n */\n setAccompanyingChildrenForOffender(\n state,\n payload: { offenderID: number; accompanyingChildren: AccompanyingChild[] },\n ) {\n for (const accompanyingChild of payload.accompanyingChildren) {\n Vue.set(state.accompanyingChild, accompanyingChild.id, accompanyingChild);\n }\n const ids = _.map(payload.accompanyingChildren, 'id');\n Vue.set(state.accompanyingChildrenIDsForOffender, payload.offenderID, ids);\n },\n /**\n * addAccompanyingChildToOffender prepends the ID of a newly created\n * accompanyingChild to the provided offender's list of accompanyingChildren.\n */\n addAccompanyingChildToOffender(\n state,\n payload: { offenderID: number; accompanyingChildID: number },\n ) {\n const ids =\n state.accompanyingChildrenIDsForOffender[payload.offenderID] || [];\n ids.unshift(payload.accompanyingChildID);\n Vue.set(state.accompanyingChildrenIDsForOffender, payload.offenderID, ids);\n },\n};\n\nexport const actions = {\n /**\n * fetchAccompanyingChildren retrieves the complete list of accompanyingChildren\n * for a particular offender from the server, and updates the local store with the results.\n */\n async fetchAccompanyingChildren({ commit }, payload: { offenderID: number }) {\n const response = await api.get(\n `/offenderservice/offenders/${payload.offenderID}/accompanying-children`,\n );\n const offenderID = payload.offenderID;\n const accompanyingChildren = response.data.data;\n commit('setAccompanyingChildrenForOffender', {\n offenderID,\n accompanyingChildren,\n });\n },\n};\n","import _ from 'lodash';\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface Escape {\n id: number;\n offenderID: number;\n housingFacilityID: number;\n escapedAt: Date;\n recapturedAt: Date;\n durationInHours: number;\n wasFailedEscape: boolean;\n causedBuildingDamage: boolean;\n causedStaffInjuries: boolean;\n helpedOthersEscape: boolean;\n remarks: string;\n}\n\nexport const state = {\n escape: {} as { [id: number]: Escape },\n escapeIDsForOffender: {} as { [offenderID: number]: number[] },\n};\n\nexport const getters = {\n escapeWithID:\n (state) =>\n (escapeID: number): Escape => {\n return state.escape[escapeID];\n },\n escapesForOffender:\n (state) =>\n (offenderID: number): Escape[] => {\n return (state.escapeIDsForOffender[offenderID] || []).map(\n (id: number) => state.escape[id],\n ) as Escape[];\n },\n};\n\nexport const mutations = {};\n\nexport const actions = {\n /**\n * fetchEscapes retrieves the complete list of escapes for a particular offender\n * from the server, and updates the local store with the results.\n */\n async fetchEscapes({ commit }, payload: { offenderID: number }) {\n const response = await offenderAPI.get(\n `offenders/${payload.offenderID}/escapes`,\n );\n const escapes = response.data.data;\n\n const newState = modelsToState('escape', escapes);\n commit('setState', newState);\n commit('setTarget', {\n target: 'escapeIDsForOffender',\n index: payload.offenderID,\n value: _.map(escapes, 'id'),\n });\n },\n};\n","import _ from 'lodash';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface Incident {\n id: number;\n offenderID: number;\n housingFacilityID: number;\n type: string;\n occurredAt: Date;\n reportedAt: Date;\n reportedBy: string;\n details: string;\n}\n\nexport const enum IncidentType {\n Violent = 1,\n NonViolent = 2,\n}\n\nexport const state = {\n incident: {} as { [id: number]: Incident },\n incidentIDsForOffender: {} as { [offenderID: number]: number[] },\n};\n\nexport const getters = {\n incidentsForOffender:\n (state) =>\n (offenderID: number): Incident[] => {\n return (state.incidentIDsForOffender[offenderID] || []).map(\n (id: number) => state.incident[id],\n ) as Incident[];\n },\n};\n\nexport const mutations = {};\n\nexport const actions = {\n async fetchIncidents({ commit }, payload: { offenderID: number }) {\n const response = await offenderAPI.get(\n `offenders/${payload.offenderID}/incidents`,\n );\n const incidents = response.data.data;\n const newState = modelsToState('incident', incidents);\n commit('setState', newState);\n commit('setTarget', {\n target: 'incidentIDsForOffender',\n index: payload.offenderID,\n value: _.map(incidents, 'id'),\n });\n },\n};\n","import _ from 'lodash';\nimport moment from 'moment-timezone';\nimport jmoment from 'moment-jalaali';\n\nimport i18n from '@/i18n';\n\nexport const MONTHNAMES = {\n en: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n fa: [\n 'حمل', // Hamal (Aries)\n 'ثور', // Sawr (Taurus)\n 'جوزا', // Jawzā (Gemini)\n 'سرطان', // Saraṭān (Cancer)\n 'اسد', // Asad (Leo)\n 'سنبله', // Sonbola (Virgo)\n 'میزان', // Mizān (Libra)\n 'عقرب', // Aqrab (Scorpio)\n 'قوس', // Qaws (Sagittarius)\n 'جدی', // Jadi (Capricorn)\n 'دلو', // Dalvæ (Aquarius)\n 'حوت', // Hūt (Pisces)\n ],\n ps: [\n 'وری', // Wray (Aries)\n 'غويی', // Ǧwayay (Taurus)\n 'غبرګولی', // Ǧbargolay (Gemini)\n 'چنګاښ', // Čungāx̌ (Cancer)\n 'زمری', // Zmaray (Leo)\n 'وږی', // Waǵay (Virgo)\n 'تله', // Təla (Libra)\n 'لړم', // Laṛam (Scorpio)\n 'ليندۍ', // Līndəi (Sagittarius)\n 'مرغومی', // Marǧūmay (Capricorn)\n 'سلواغه', // Salwāǧa (Aquarius)\n 'كب', // Kab (Pisces)\n ],\n};\n\n/*\n inCurrentJalaaliYear calculates based on the Islamic calendar (starts on \n March 21 each year).\n*/\nexport function inCurrentJalaaliYear(date: string): boolean {\n if (!date) {\n // An empty date is definitely not in the current year.\n return false;\n }\n\n if (_.isString(date) === true) {\n const specifiedDate = moment(date);\n const currentNewYear = moment().startOf('year').month(2).day(21);\n\n let startOfYear;\n let endOfYear;\n if (specifiedDate.isBefore(currentNewYear)) {\n startOfYear = currentNewYear.clone().subtract(1, 'year');\n endOfYear = currentNewYear;\n } else {\n startOfYear = currentNewYear;\n endOfYear = currentNewYear.clone().add(1, 'year');\n }\n\n return specifiedDate.isBetween(\n startOfYear.startOf('day'),\n endOfYear.endOf('day'),\n );\n } else {\n throw new Error(\n `TypeError: inCurrentJalaaliYear() expects date as type 'string'`,\n );\n }\n}\n\n/**\n * toLocalizedDate translates a raw date value into a locale-specific\n * presentation format.\n *\n * @param isoDate A string holding a date in ISO (YYYY-MM-DD) format\n */\nexport function toLocalizedDate(isoDate: string, withTime?: boolean): string {\n if (!isoDate) {\n return '';\n }\n\n const rawInTZ = moment.tz(isoDate, 'Asia/Kabul');\n\n // English Format\n if (i18n.locale === 'en') {\n if (withTime) {\n return rawInTZ.format('DD-MMM-YYYY HH:mm');\n } else {\n return rawInTZ.format('DD-MMM-YYYY');\n }\n }\n\n // Dari/Pashto Format\n if (withTime) {\n // Because the jmoment library does not support time zones, we have to\n // build the time part with moment.tz and the date part with jmoment,\n // and then combine the two values together.\n const datePart = jmoment(rawInTZ.format()).format('jYYYY-jMM-jDD');\n const timePart = rawInTZ.format('HH:mm');\n return `${datePart} ${timePart}`;\n } else {\n return jmoment(rawInTZ.format(), 'YYYY-MM-DD').format('jYYYY-jMM-jDD');\n }\n}\n\n/**\n * toLocalizedTime translates a raw date value into a locale-specific\n * of just its time part.\n *\n * @param isoDate A string holding a date in ISO (YYYY-MM-DDTHH:MM:SS) format\n * @returns\n */\nexport function toLocalizedTime(isoDate: string): string {\n if (!isoDate) {\n return '';\n }\n\n if (i18n.locale !== 'en') {\n const jmom = jmoment(String(isoDate), 'YYYY-MM-DD');\n return jmom.format('jYYYY-jMM-jDD');\n }\n\n const mom = moment(String(isoDate), 'YYYY-MM-DD');\n return mom.format('DD-MMM-YYYY');\n}\n\n/**\n * toLocalizedMonthName is a formatting function supplied to the v-date-picker. It\n * is provided with the currently selected date, and is expected to return\n * the string in the header above the month calendar (e.g. October 2020).\n * For the English locale, our implementation is identical to the\n * v-date-picker default. We had to customize to return the correct month\n * names for Dari and Pashto locale displays.\n */\nexport function toLocalizedMonthName(isoDate: string): string {\n let year = 0;\n let month = 0;\n if (i18n.locale === 'en') {\n const gregorianDate = moment(isoDate);\n year = gregorianDate.year();\n month = gregorianDate.month();\n } else {\n const jalaaliDate = jmoment(isoDate);\n year = jalaaliDate.jYear();\n month = jalaaliDate.jMonth();\n }\n return `${MONTHNAMES[i18n.locale][month]} ${year}`;\n}\n","import _ from 'lodash';\nimport { inCurrentJalaaliYear } from '@/lib/dates';\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\n/**\n * Leave describes a temporary absence from a facility for an Offender\n */\nexport interface Leave {\n id: number;\n offenderID: number;\n housingFacilityID: number;\n reasonID: string;\n details: string;\n status: string;\n scheduledReleaseDate: string;\n estimatedReturnDate: string;\n estimatedDurationInHours: number;\n durationInHours: number;\n requestedAt: string;\n approvedAt: string;\n deniedAt: string;\n approverTitle: string;\n approverName: string;\n canceledAt: string;\n cancelReason: string;\n releasedAt: string;\n returnedAt: string;\n}\n\nexport const enum LeaveReason {\n Unknown = 0,\n Court = 1,\n Deposition = 2,\n Death = 3,\n Sickness = 4,\n Personal = 5,\n}\n\nexport const state = {\n leave: {} as { [id: number]: Leave },\n leaveIDsForOffender: {} as { [offenderID: number]: number[] },\n};\n\nexport const getters = {\n leavesForOffender:\n (state) =>\n (offenderID: number): Leave[] => {\n return (state.leaveIDsForOffender[offenderID] || []).map(\n (id: number) => state.leave[id],\n ) as Leave[];\n },\n\n // voluntaryLeaveDaysThisYearForOffender returns the total number of days\n // of voluntary leave that have been completed during the current year.\n voluntaryLeaveDaysThisYearForOffender:\n (state, getters) =>\n (offenderID: number): number => {\n const totalHoursThisYear = _.reduce(\n getters.voluntaryLeavesInCurrentJalaaliYear(offenderID),\n (sum, leave) => {\n return sum + leave.durationInHours;\n },\n 0,\n );\n\n return Math.floor(totalHoursThisYear / 24);\n },\n\n // leavesInCurrentJalaaliYear returns the collection of Leave objects\n // for the offenderID with releasedAt dates in the current Jalaali year.\n // A leave will be calculated based on when the Leave is started.\n //\n //\n // Example: Prisoner Zach begins his 14 day leave on March 15, 2019 and\n // returns to prison on March 29, 2020. The 14 days of Leave would be\n // counted in 2019 and not 2020.\n //\n leavesInCurrentJalaaliYear:\n (state, getters) =>\n (offenderID: number): Leave[] => {\n return getters\n .leavesForOffender(offenderID)\n .filter((leave) => inCurrentJalaaliYear(leave.releasedAt));\n },\n\n // voluntaryLeavesInCurrentJalaaliYear returns the collection of Leave objects\n // for the offenderID with releasedAt dates in the current Jalaali year which\n // adhere to the 'isVoluntaryLeave' requirements\n voluntaryLeavesInCurrentJalaaliYear:\n (state, getters) =>\n (offenderID: number): Leave[] => {\n return getters.leavesInCurrentJalaaliYear(offenderID).filter((leave) => {\n getters.isVoluntaryLeave(leave);\n });\n },\n\n // isVoluntaryLeave tests whether the given leave is considered voluntary\n // based on a list of acceptable reasons\n isVoluntaryLeave:\n (state) =>\n (leave): boolean => {\n return ['death', 'sickness', 'personal', 'unknown'].includes(\n leave.reason,\n );\n },\n};\n\nexport const mutations = {};\n\nexport const actions = {\n /**\n * fetchLeaves retrieves the complete list of leaves for a particular offender\n * from the server, and updates the local store with the results.\n */\n async fetchLeaves({ commit }, payload: { offenderID: number }) {\n const response = await offenderAPI.get(\n `offenders/${payload.offenderID}/leaves`,\n );\n const leaves = response.data.data;\n const newState = modelsToState('leave', leaves);\n commit('setState', newState);\n commit('setTarget', {\n target: 'leaveIDsForOffender',\n index: payload.offenderID,\n value: _.map(leaves, 'id'),\n });\n },\n};\n","import _ from 'lodash';\nimport Vue from 'vue';\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface Exam {\n id: number;\n offenderID: number;\n housingFacilityID: number;\n createdAt: Date;\n visitTypeID: number;\n doctor: string;\n chiefComplaint: string;\n historyOfPresentIllness: string;\n diagnosis: string;\n prescription: string;\n followUpAt: Date;\n hospitilizationRecommended: boolean;\n pregnant: boolean;\n breastfeeding: boolean;\n infectiousDiseaseIDs: number[];\n drugIDs: number[];\n mentalDisorderIDs: number[];\n disabilityIDs: number[];\n appearance: string;\n behavior: string;\n speech: string;\n mood: string;\n affect: string;\n thoughts: string;\n perception: string;\n insight: string;\n judgement: string;\n cognition: string;\n remarks: string;\n}\n\nexport const enum VisitType {\n Exam = 1,\n FollowUp = 2,\n Evaluation = 3,\n LabResults = 4,\n Other = 5,\n}\nexport interface Treatment {\n id: number;\n offenderID: number;\n createdAt: Date;\n treatmentTypeID: number;\n administeredBy: string;\n treatmentDescriptin: string;\n remarks: string;\n housingFacilityID: number;\n}\n\nexport const enum TreatmentType {\n Medication = 1,\n PhysicalTherapy = 2,\n Other = 3,\n}\nexport interface HealthHistoryRecord {\n id: number;\n offenderID: number;\n createdAt: Date;\n medicalProfessional: string;\n notes: string;\n}\n\nexport interface IntakeHealthScreening {\n id: number;\n offenderID: number;\n createdAt: Date;\n housingFacilityID: number;\n hasPrescribedMedication: boolean;\n prescribedMedication: string;\n isAllergic: boolean;\n allergicMedication: string;\n hasBeenUnderPhysicianCare: boolean;\n careForWhat: string;\n hasBeenHospitalized: boolean;\n hospitalizedWhereWhat: string;\n hasDisabilitiesOrMentalHealth: boolean;\n whatDisabilitiesOrIssues: string;\n hasHeartMurmurOrTreatedCondition: boolean;\n hasBeenTreatedForTumorOrCancer: boolean;\n hasProlongedBleeding: boolean;\n hasLatexAllergy: boolean;\n useNonprescriptionDrugs: boolean;\n isPregnant: boolean;\n infectiousDiseaseIDs: number[];\n healthConditionIDs: number[];\n motherChildConcernIDs: number[];\n unlistedHealthCondition: string;\n hasInjuryAbuse: boolean;\n injuryAbuse: string;\n hasSufferedDisease: boolean;\n sufferedDisease: string;\n}\n\nexport const state = {\n exam: {} as { [id: number]: Exam },\n examIDsForOffender: {} as { [id: number]: Exam },\n\n treatment: {} as { [id: number]: Treatment },\n treatmentIDsForOffender: {} as { [id: number]: number[] },\n\n healthHistoryRecord: {} as { [id: number]: HealthHistoryRecord },\n healthHistoryRecordIDsForOffender: {} as { [offenderID: number]: number[] },\n\n intakeHealthScreening: {} as { [id: number]: IntakeHealthScreening },\n intakeHealthScreeningIDsForOffender: {} as { [id: number]: number[] },\n};\n\nexport const getters = {\n examsForOffender:\n (state) =>\n (offenderID: number): Exam[] => {\n return (state.examIDsForOffender[offenderID] || []).map(\n (id: number) => state.exam[id],\n ) as Exam[];\n },\n intakeHealthScreeningsForOffender:\n (state) =>\n (offenderID: number): IntakeHealthScreening[] => {\n return (state.intakeHealthScreeningIDsForOffender[offenderID] || []).map(\n (id: number) => state.intakeHealthScreening[id],\n ) as IntakeHealthScreening[];\n },\n healthHistoryRecordsForOffender:\n (state) =>\n (offenderID: number): HealthHistoryRecord[] => {\n return (state.healthHistoryRecordIDsForOffender[offenderID] || []).map(\n (id: number) => state.healthHistoryRecord[id],\n ) as HealthHistoryRecord[];\n },\n treatmentsForOffender:\n (state) =>\n (offenderID: number): Treatment[] => {\n return (state.treatmentIDsForOffender[offenderID] || []).map(\n (id: number) => state.treatment[id],\n ) as Treatment[];\n },\n};\n\nexport const mutations = {\n setIntakeHealthScreeningsForOffender(\n state,\n payload: { offenderID: number; screenings: IntakeHealthScreening[] },\n ) {\n for (const screening of payload.screenings) {\n Vue.set(state.intakeHealthScreening, screening.id, screening);\n }\n const ids = _.map(payload.screenings, 'id');\n Vue.set(state.intakeHealthScreeningIDsForOffender, payload.offenderID, ids);\n },\n /**\n * addIntakeHealthScreeningToOffender associates a newly-created\n * IntakeHealthScreening to its Offender by ID\n */\n addIntakeHealthScreeningToOffender(\n state,\n payload: { offenderID: number; screeningID: number },\n ) {\n const ids =\n state.intakeHealthScreeningIDsForOffender[payload.offenderID] || [];\n ids.unshift(payload.screeningID);\n Vue.set(state.intakeHealthScreeningIDsForOffender, payload.offenderID, ids);\n },\n};\n\nexport const actions = {\n /**\n * fetchExams fetches the complete list of Exams for the referenced\n * Offender from the server and replaces all local Exam state\n * for that Offender.\n */\n async fetchExams({ commit }, payload: { offenderID: number }) {\n const response = await offenderAPI.get(\n `offenders/${payload.offenderID}/exams`,\n );\n const exams = response.data.data;\n const newState = modelsToState('exam', exams);\n commit('setState', newState);\n commit('setTarget', {\n target: 'examIDsForOffender',\n index: payload.offenderID,\n value: _.map(exams, 'id'),\n });\n },\n /**\n * fetchIntakeHealthScreenings fetches the complete list of\n * IntakeHealthScreenings from the server and replaces all local\n * IntakeHealthScreening records for that Offender.\n */\n async fetchIntakeHealthScreenings(\n { commit },\n payload: { offenderID: number },\n ) {\n const response = await offenderAPI.get(\n `offenders/${payload.offenderID}/intake-health-screenings`,\n );\n const screenings = response.data.data;\n const newState = modelsToState('intakeHealthScreening', screenings);\n commit('setState', newState);\n commit('setTarget', {\n target: 'intakeHealthScreeningIDsForOffender',\n index: payload.offenderID,\n value: _.map(screenings, 'id'),\n });\n },\n /**\n * fetchTreatments fetches the complete list of Treatments for the\n * referenced Offender from the server.\n */\n async fetchTreatments({ commit }, payload: { offenderID: number }) {\n const response = await offenderAPI.get(\n `offenders/${payload.offenderID}/treatments`,\n );\n const treatments = response.data.data;\n const newState = modelsToState('treatment', treatments);\n commit('setState', newState);\n commit('setTarget', {\n target: 'treatmentIDsForOffender',\n index: payload.offenderID,\n value: _.map(treatments, 'id'),\n });\n },\n /**\n * fetchHealthHistoryRecords fetches the complete list of\n * HealthHistoryRecords for the referenced Offender from the server and\n * replaces all local state.\n */\n async fetchHealthHistoryRecords({ commit }, payload: { offenderID: number }) {\n const response = await offenderAPI.get(\n `offenders/${payload.offenderID}/health-history-records`,\n );\n const healthHistoryRecords = response.data.data;\n const newState = modelsToState('healthHistoryRecord', healthHistoryRecords);\n commit('setState', newState);\n commit('setTarget', {\n target: 'healthHistoryRecordIDsForOffender',\n index: payload.offenderID,\n value: _.map(healthHistoryRecords, 'id'),\n });\n },\n};\n","import _ from 'lodash';\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { TranslatedString } from '@/lib/translated';\n\nexport interface Flag {\n id: number;\n name: TranslatedString;\n icon: string;\n notePrompt: TranslatedString;\n noteRequired: boolean;\n showOnDetailPage: boolean;\n showInTables: boolean;\n isSystemFlag: boolean;\n}\nexport interface LookupItem {\n id: number;\n name: TranslatedString;\n rank: number;\n}\n\nexport const enum AdjustmentReasonID {\n Intake = 1,\n PardonDecree = 2,\n DetentionExtension = 3,\n CourtDecision = 4,\n ClericalError = 5,\n PostponedEnforcement = 6,\n ConvictionOfAnotherCrime = 10,\n}\n\nexport const state = {\n optionsLoaded: false,\n\n courses: [],\n criminalGroups: [] as LookupItem[],\n criminalGroupRoles: [] as LookupItem[],\n custodyStatuses: [],\n disabilities: [] as LookupItem[],\n drugAddictions: [] as LookupItem[],\n flags: [],\n healthConditions: [] as LookupItem[],\n infectiousDiseases: [] as LookupItem[],\n incidentTypes: [] as LookupItem[],\n leaveReasons: [] as LookupItem[],\n mentalDisorders: [] as LookupItem[],\n motherAndChildConcerns: [],\n privileges: [],\n releaseReasons: [] as LookupItem[],\n securityLevels: [],\n sentenceAdjustmentReasons: [] as LookupItem[],\n transferReasons: [] as LookupItem[],\n treatmentTypes: [] as LookupItem[],\n visitTypes: [] as LookupItem[],\n};\n\nexport const getters = {\n /**\n * courseWithID is a convenience getter to get a Course LookupItem\n * from its ID. The facility must already be loaded in the Vuex state.\n */\n courseWithID:\n (state) =>\n (id): LookupItem => {\n return _.find(state.courses, { id });\n },\n\n /**\n * editableFlags returns the set of known Flags which are end-user\n * editable (those that are not \"system\" flags).\n */\n editableFlags(state): Flag[] {\n return state.flags.filter((flag) => !flag.isSystemFlag);\n },\n};\n\nexport const mutations = {\n /**\n * setOptionsLoaded sets the tracking variable which identifies\n * whether the options have been successfully fetched from the\n * API or not.\n */\n setOptionsLoaded(state, isLoaded) {\n state.optionsLoaded = isLoaded;\n },\n};\n\nexport const actions = {\n /**\n * fetchOptions fetches all dropdown choices for entities in this Vuex\n * store from the API.\n *\n * Most of the time it should be called as fetchOptions({ force: false }),\n * to avoid re-fetching options from the API that have already been\n * loaded.\n */\n async fetchOptions(\n { state, commit },\n payload = {} as { force: boolean },\n ): Promise {\n // Early return when the options are already loaded\n if (!payload.force && state.optionsLoaded) {\n return Promise.resolve(true);\n }\n\n // Fetch all offender-related options from the API\n const response = await offenderAPI.get('/options');\n if (response.data && response.data.data) {\n const newState = response.data.data;\n // Set each option array in the state. This will throw\n // an error if the server sends any top-level\n // properties which are not initialized to their\n // initial state (typically an empty array) above in\n // the state definition.\n commit('setState', newState);\n\n // Set loaded\n commit('setOptionsLoaded', true);\n return Promise.resolve(true);\n }\n\n // We reach here only in case of failure\n return Promise.reject();\n },\n};\n","import _ from 'lodash';\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface Program {\n id: number;\n offenderID: number;\n courseID: number;\n status: string;\n startNotes: string;\n endNotes: string;\n}\n\nexport const state = {\n offenderProgram: {} as { [id: number]: Program },\n offenderProgramIDsForOffender: {} as { [offenderID: number]: number[] },\n};\n\nexport const getters = {\n /**\n * offenderProgramWithID is a convenience getter to get a single Program\n * for a single Offender. This is used on the detail popups after an\n * Offender begins a Program.\n */\n offenderProgramWithID:\n (state) =>\n (id: number): Program => {\n return state.offenderProgram[id];\n },\n\n /**\n * programsForOffender retrieves the entire array of Program entries for a\n * a single Offender.\n */\n programsForOffender:\n (state) =>\n (offenderID: number): Program[] => {\n return (state.offenderProgramIDsForOffender[offenderID] || []).map(\n (id: number) => state.offenderProgram[id],\n ) as Program[];\n },\n};\n\nexport const mutations = {};\n\nexport const actions = {\n /**\n * fetchPrograms retrieves the complete list of programs for a particular\n * Offender from the server, and updates the local store with the results.\n */\n async fetchPrograms({ commit }, payload: { offenderID: number }) {\n const response = await offenderAPI.get(\n `offenders/${payload.offenderID}/programs`,\n );\n const programs = response.data.data;\n const newState = modelsToState('offenderProgram', programs);\n commit('setState', newState);\n commit('setTarget', {\n target: 'offenderProgramIDsForOffender',\n index: payload.offenderID,\n value: _.map(programs, 'id'),\n });\n },\n};\n","import _ from 'lodash';\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface SentenceAdjustment {\n id: number;\n offenderID: number;\n dossierID: number;\n reasonID: number;\n pardonDecreeID: number;\n adjustmentDirection: number;\n adjustmentAmountInHours: number;\n oldDurationInHours: number;\n newDurationInHours: number;\n oldDetainedAt: string;\n newDetainedAt: string;\n newExpectedReleaseAt: string;\n notes: string;\n filedAt: string;\n registeredAt: string;\n}\n\nexport const enum SentenceAdjustmentReasonID {\n Unknown = 0,\n Intake = 1,\n // See sentence_adjustment_reasons database table\n // for other options to enumerate here if needed.\n}\n\nexport const state = {\n sentenceAdjustment: {} as { [id: number]: SentenceAdjustment },\n sentenceAdjustmentIDsForOffender: {} as { [offenderID: number]: number[] },\n};\n\nexport const getters = {\n sentenceAdjustmentWithID:\n (state) =>\n (id: number): SentenceAdjustment => {\n return state.sentenceAdjustment[id];\n },\n sentenceAdjustmentsForOffender:\n (state) =>\n (id: number): SentenceAdjustment[] => {\n return (state.sentenceAdjustmentIDsForOffender[id] || []).map(\n (id: number) => state.sentenceAdjustment[id],\n );\n },\n};\n\nexport const mutations = {};\n\nexport const actions = {\n /**\n * fetchSentenceAdjustments retrieves the complete list of sentence adjustments\n * for a particular offender.\n */\n async fetchSentenceAdjustments(\n { commit, dispatch },\n payload: { offenderID: number },\n ) {\n const response = await offenderAPI.get(\n `offenders/${payload.offenderID}/sentence-adjustments`,\n );\n const adjustments = _.get(response, 'data.data');\n const newState = modelsToState('sentenceAdjustment', adjustments);\n commit('setState', newState);\n commit('setTarget', {\n target: 'sentenceAdjustmentIDsForOffender',\n index: payload.offenderID,\n value: _.map(adjustments, 'id'),\n });\n\n // Ensure any SentenceAdjustment-related Dossiers are added to state.\n const dossierIDs = _.chain(adjustments).map('dossierID').compact().value();\n for (const id of dossierIDs) {\n dispatch('court/fetchDossier', id, { root: true });\n }\n },\n};\n","import moment from 'moment';\nimport _ from 'lodash';\nimport { domainmodelMutations } from '@/lib/vuex-domainmodel';\nimport offenderAPI from '@/vuex/offender/offenderAPI';\n\nimport {\n state as accompanyingChildState,\n getters as accompanyingChildGetters,\n mutations as accompanyingChildMutations,\n actions as accompanyingChildActions,\n} from './accompanyingChild';\nimport {\n state as escapeState,\n getters as escapeGetters,\n mutations as escapeMutations,\n actions as escapeActions,\n} from './escape';\nimport {\n state as incidentState,\n getters as incidentGetters,\n mutations as incidentMutations,\n actions as incidentActions,\n} from './incident';\nimport {\n state as leaveState,\n getters as leaveGetters,\n mutations as leaveMutations,\n actions as leaveActions,\n} from './leave';\nimport {\n state as medicalState,\n getters as medicalGetters,\n mutations as medicalMutations,\n actions as medicalActions,\n} from './medical';\nimport {\n state as optionsState,\n getters as optionsGetters,\n mutations as optionsMutations,\n actions as optionsActions,\n} from './options';\nimport {\n state as programState,\n getters as programGetters,\n mutations as programMutations,\n actions as programActions,\n} from './program';\nimport {\n state as sentenceAdjustmentState,\n getters as sentenceAdjustmentGetters,\n mutations as sentenceAdjustmentMutations,\n actions as sentenceAdjustmentActions,\n} from './sentenceAdjustment';\nimport {\n state as transferState,\n getters as transferGetters,\n mutations as transferMutations,\n actions as transferActions,\n} from './transfer';\n\nexport interface Offender {\n id: number;\n profileID: number;\n dossierID: number;\n detainedAt: Date | string;\n imprisonmentDurationInHours: number;\n freedAt: Date | string;\n DIN: string;\n PIN: string;\n case: object;\n hasChild: boolean;\n hasStar: boolean;\n hasEscape: boolean;\n hasWarning: boolean;\n hasMedical: boolean;\n isDetainee: boolean;\n isJuvenile: boolean;\n flagIDs: number[];\n pardonDecreeIDs: number[];\n privilegeIDs: number[];\n classificationScore: number;\n housingFacilityID: number;\n cellID: number;\n custodyStatus: string;\n releaseReasonID: number;\n releaseDetails: string;\n expectedReleaseAt: string;\n}\n\nexport function blankOffender(): Offender {\n return {\n id: 0,\n profileID: 0,\n dossierID: 0,\n detainedAt: moment().format(),\n imprisonmentDurationInHours: 0,\n expectedReleaseAt: moment().add(7, 'days').format(),\n freedAt: '',\n DIN: '',\n PIN: '',\n case: {},\n hasStar: false,\n hasChild: false,\n hasEscape: false,\n hasWarning: false,\n hasMedical: false,\n isDetainee: true,\n isJuvenile: false,\n flagIDs: [],\n pardonDecreeIDs: [],\n privilegeIDs: [],\n classificationScore: 20, // default for any new offenders should be 20\n housingFacilityID: 0,\n cellID: 0,\n custodyStatus: '',\n releaseReasonID: 0,\n releaseDetails: '',\n };\n}\n\nexport abstract class Flags {\n public static readonly criminalGroupMemberID = 1;\n public static readonly escapeeID = 2;\n public static readonly withChildID = 3;\n public static readonly medicalConcernsID = 4;\n public static readonly infectiousDiseaseID = 5;\n public static readonly presidentialDecreeID = 6;\n public static readonly highProfileOffenderID = 7;\n public static readonly securityThreatID = 8;\n public static readonly specialManagementID = 9;\n}\n\nexport const custodyStatuses: string[] = [\n 'released',\n 'on-bond',\n 'monitored',\n 'enforcement-suspended',\n 'deceased',\n 'executed',\n];\n\nconst state = {\n ...accompanyingChildState,\n ...escapeState,\n ...incidentState,\n ...leaveState,\n ...medicalState,\n ...optionsState,\n ...programState,\n ...sentenceAdjustmentState,\n ...transferState,\n\n offenderIDsForProfile: {} as { [profileID: number]: number[] },\n offender: {} as { [id: number]: Offender },\n};\n\nconst getters = {\n ...accompanyingChildGetters,\n ...escapeGetters,\n ...incidentGetters,\n ...leaveGetters,\n ...medicalGetters,\n ...optionsGetters,\n ...programGetters,\n ...sentenceAdjustmentGetters,\n ...transferGetters,\n\n /**\n * offenderWIthID is the global getter to retrieve a single Offender from the\n * Vuex state by their ID.\n */\n offenderWithID:\n (state) =>\n (id): Offender | null => {\n return state.offender[id] || null;\n },\n\n /**\n * offenderIsReleased is a parameterized getter which expects an Offender ID\n * and returns true if the referenced Offender has been released. Note that\n * the Offender must have been fetched and be in the local Vuex state for this\n * to work.\n */\n offenderIsReleased:\n (state) =>\n (id): boolean => {\n const o: Offender = state.offender[id];\n if (!o) {\n // If the Offender is not in the Vuex state, assume they have not\n // been released.\n return false;\n }\n return !!o.freedAt;\n },\n\n offendersForProfile:\n (state) =>\n (profileID: number): Offender[] => {\n return (state.offenderIDsForProfile[profileID] || []).map((id) => {\n return state.offender[id];\n });\n },\n};\n\nconst mutations = {\n ...domainmodelMutations,\n\n ...accompanyingChildMutations,\n ...escapeMutations,\n ...incidentMutations,\n ...leaveMutations,\n ...medicalMutations,\n ...optionsMutations,\n ...programMutations,\n ...sentenceAdjustmentMutations,\n ...transferMutations,\n};\n\nconst actions = {\n ...accompanyingChildActions,\n ...escapeActions,\n ...incidentActions,\n ...leaveActions,\n ...medicalActions,\n ...optionsActions,\n ...programActions,\n ...sentenceAdjustmentActions,\n ...transferActions,\n\n /**\n * fetchOffender triggers an API call to fetch Offender data from the API\n * and write it to the Vuex state. Dependent entities (Persons, the\n * HousingFacility for the Offender's cell) are automatically fetched as well.\n *\n * @param id The ID of a single offender or an array of offender IDs.\n *\n */\n async fetchOffender({ commit, dispatch }, id: number | number[]) {\n const idsStr = _.flatten([id]).join(',');\n const response = await offenderAPI.get(`offenders/batch?ids=${idsStr}`);\n const offenderState = response.data.data;\n\n // Identify IDs of dependent entities so that they can be batch-fetched\n //\n const offenders = _.values(offenderState.offender || {});\n const dispatches = [] as any[];\n const profileIDs = _.chain(offenders)\n .map('profileID')\n .compact()\n .uniq()\n .value();\n if (profileIDs.length) {\n dispatches.push(\n dispatch('profile/fetchProfile', profileIDs, { root: true }),\n );\n }\n const cellIDs = _.chain(offenders).map('cellID').compact().uniq().value();\n for (const cellID of cellIDs) {\n dispatches.push(\n dispatch(\n 'housing/fetchFacility',\n { facilityID: cellID },\n { root: true },\n ),\n );\n }\n\n // Fetch all entity dependencies\n await Promise.all(dispatches);\n\n // Only add the offenders to the state after all dependencies have been\n // fetched.\n commit('setState', offenderState);\n },\n\n async fetchOffenderForProfile(\n { commit, dispatch },\n profileID: number | number[],\n ) {\n const idsStr = _.flatten([profileID]).join(',');\n const response = await offenderAPI.get(\n `offenders/batch?profileIDs=${idsStr}`,\n );\n const newState = response.data.data;\n commit('setState', newState);\n if (newState.offender) {\n commit('setTarget', {\n target: 'offenderIDsForProfile',\n index: profileID,\n value: Object.keys(newState.offender),\n });\n }\n },\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('FacilitySelector',{attrs:{\"label\":_vm.$t('housingFacility.singular'),\"value\":_vm.offender.housingFacilityID,\"rules\":[function (v) { return v > 0 || _vm.$t('error.required'); }],\"must-accept-transfers\":\"\",\"must-have-permission\":\"offender.intake\"},on:{\"input\":function($event){return _vm.update('housingFacilityID', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CellSelector',{attrs:{\"value\":_vm.offender.cellID,\"facilityID\":_vm.offender.housingFacilityID},on:{\"input\":function($event){return _vm.update('cellID', $event)}}})],1),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\"}},[_c('v-radio-group',{attrs:{\"value\":_vm.offender.isDetainee,\"row\":\"\"},on:{\"change\":function($event){return _vm.update('isDetainee', $event)}}},[_c('v-radio',{attrs:{\"type\":\"radio\",\"label\":_vm.$t('offender.prisoner.singular'),\"value\":false}}),_c('v-radio',{attrs:{\"type\":\"radio\",\"label\":_vm.$t('offender.detainee.singular'),\"value\":true}})],1)],1),(_vm.offender.isDetainee)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('offender.din'),\"value\":_vm.offender.DIN,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"maxlength\":\"6\"},on:{\"input\":function($event){return _vm.update('DIN', $event, 'trim')}}})],1):_vm._e(),(!_vm.offender.isDetainee)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('offender.pin'),\"value\":_vm.offender.PIN,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"maxlength\":\"6\"},on:{\"input\":function($event){return _vm.update('PIN', $event, 'trim')}}})],1):_vm._e()],1),_c('v-row',{attrs:{\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('offender.detainedAt'),\"value\":_vm.offender.detainedAt,\"past-dates-only\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('detainedAt', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"8\",\"md\":\"6\",\"lg\":\"4\"}},[_c('ImprisonmentDurationField',{attrs:{\"label\":_vm.$t(_vm.durationLabel),\"value\":_vm.offender.imprisonmentDurationInHours},on:{\"input\":function($event){return _vm.durationChanged($event)}}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('offender.expectedReleaseAt'),\"value\":_vm.offender.expectedReleaseAt,\"disabled\":\"\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\n\nimport CellSelector from '@/components/offender/facility/CellSelector.vue';\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\nimport { blankOffender, Offender } from '@/vuex/offender/offender';\n\nexport default Vue.extend({\n props: {\n value: Object,\n },\n\n computed: {\n offender(): Offender {\n return this.value ? this.value : blankOffender();\n },\n\n durationLabel(): string {\n if (this.offender.isDetainee) {\n return 'offender.detentionDuration';\n }\n return 'offender.sentenceDuration';\n },\n },\n\n methods: {\n durationChanged(newDuration: number): void {\n const o = cloneDeep(this.offender);\n o.imprisonmentDurationInHours = newDuration;\n o.expectedReleaseAt = moment(this.offender.detainedAt)\n .add(newDuration, 'hours')\n .format();\n this.$emit('input', o);\n },\n\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.offender), (v) => set(v, key, modifiedValue)),\n );\n },\n },\n\n components: {\n CellSelector,\n FacilitySelector,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntakeHousingForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntakeHousingForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IntakeHousingForm.vue?vue&type=template&id=c596bba0&scoped=true&\"\nimport script from \"./IntakeHousingForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./IntakeHousingForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c596bba0\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRadio,VRadioGroup,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('ClassificationScoreSlider',{attrs:{\"value\":_vm.offender.classificationScore},on:{\"input\":function($event){return _vm.updateOffender('classificationScore', $event)}}})],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-toolbar',{attrs:{\"dense\":\"\",\"color\":\"primary\",\"dark\":\"\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t('classification.addedClassifications'))+\" \")])],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('offender.detainee.singular'),\"input-value\":_vm.offender.isDetainee},on:{\"change\":function($event){return _vm.updateOffender('isDetainee', $event)}}}),_c('v-checkbox',{attrs:{\"label\":_vm.$t('offender.isJuvenile'),\"input-value\":_vm.offender.isJuvenile},on:{\"change\":function($event){return _vm.updateOffender('isJuvenile', $event)}}}),_c('v-divider'),_vm._l((_vm.editableFlags),function(flag){return _c('v-checkbox',{key:flag.id,attrs:{\"label\":_vm.valueForLocale(flag.name),\"input-value\":_vm.offender.flagIDs,\"value\":flag.id},on:{\"change\":function($event){return _vm.updateOffender('flagIDs', $event)}}})})],2),_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('v-expansion-panels',[_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" \"+_vm._s(_vm.$t('classification.criminalGroupMember'))+\" \")]),_c('v-expansion-panel-content',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},_vm._l((_vm.criminalGroups),function(criminalGroup){return _c('v-checkbox',{key:criminalGroup.id,attrs:{\"dense\":\"\",\"hide-details\":\"\",\"label\":_vm.valueForLocale(criminalGroup.name),\"input-value\":_vm.profile.criminalGroupIDs,\"value\":criminalGroup.id},on:{\"change\":function($event){return _vm.updateProfile('criminalGroupIDs', $event)}}})}),1),(_vm.profile.criminalGroupIDs.length)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('classification.criminalGroupRole'),\"items\":\"offender/criminalGroupRoles\",\"value\":_vm.profile.criminalGroupRoleID,\"exclude-unknown\":\"\"},on:{\"input\":function($event){return _vm.updateProfile('criminalGroupRoleID', $event)}}})],1):_vm._e()],1)],1)],1),(_vm.profile.criminalGroupIDs.length)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ul',{staticClass:\"list-inline\"},[_c('span',{staticClass:\"list-inline__label\"},[_vm._v(\" \"+_vm._s(_vm.$t('classification.selected'))+\"   \")]),_vm._l((_vm.profile.criminalGroupIDs),function(criminalGroupID){return _c('li',{key:criminalGroupID},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(criminalGroupID, _vm.criminalGroups))+\" \")])})],2)])],1):_vm._e(),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" \"+_vm._s(_vm.$t('classification.infectiousDisease'))+\" \")]),_c('v-expansion-panel-content',_vm._l((_vm.infectiousDiseases),function(infectiousDisease){return _c('v-checkbox',{key:infectiousDisease.id,attrs:{\"dense\":\"\",\"hide-details\":\"\",\"label\":_vm.valueForLocale(infectiousDisease.name),\"input-value\":_vm.profile.infectiousDiseaseIDs,\"value\":infectiousDisease.id},on:{\"change\":function($event){return _vm.updateProfile('infectiousDiseaseIDs', $event)}}})}),1)],1),(_vm.profile.infectiousDiseaseIDs.length)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ul',{staticClass:\"list-inline\"},[_c('span',{staticClass:\"list-inline__label\"},[_vm._v(\" \"+_vm._s(_vm.$t('classification.selected'))+\": \")]),_vm._l((_vm.profile.infectiousDiseaseIDs),function(infectiousDiseaseID){return _c('li',{key:infectiousDiseaseID},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( infectiousDiseaseID, _vm.infectiousDiseases ))+\" \")])})],2)])],1):_vm._e(),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" \"+_vm._s(_vm.$t('classification.mentalDisorders'))+\" \")]),_c('v-expansion-panel-content',_vm._l((_vm.mentalDisorders),function(mentalDisorder){return _c('v-checkbox',{key:mentalDisorder.id,attrs:{\"dense\":\"\",\"hide-details\":\"\",\"label\":_vm.valueForLocale(mentalDisorder.name),\"input-value\":_vm.profile.mentalDisorderIDs,\"value\":mentalDisorder.id},on:{\"change\":function($event){return _vm.updateProfile('mentalDisorderIDs', $event)}}})}),1)],1),(_vm.profile.mentalDisorderIDs.length)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ul',{staticClass:\"list-inline\"},[_c('span',{staticClass:\"list-inline__label\"},[_vm._v(\" \"+_vm._s(_vm.$t('classification.selected'))+\"   \")]),_vm._l((_vm.profile.mentalDisorderIDs),function(mentalDisorderID){return _c('li',{key:mentalDisorderID},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(mentalDisorderID, _vm.mentalDisorders))+\" \")])})],2)])],1):_vm._e(),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" \"+_vm._s(_vm.$t('classification.motherChildConcerns'))+\" \")]),_c('v-expansion-panel-content',_vm._l((_vm.motherAndChildConcerns),function(motherAndChildConcern){return _c('v-checkbox',{key:motherAndChildConcern.id,attrs:{\"dense\":\"\",\"hide-details\":\"\",\"label\":_vm.valueForLocale(motherAndChildConcern.name),\"input-value\":_vm.profile.motherChildConcernIDs,\"value\":motherAndChildConcern.id},on:{\"change\":function($event){return _vm.updateProfile('motherChildConcernIDs', $event)}}})}),1)],1),(_vm.profile.motherChildConcernIDs.length)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ul',{staticClass:\"list-inline\"},[_c('span',{staticClass:\"list-inline__label\"},[_vm._v(\" \"+_vm._s(_vm.$t('classification.selected'))+\"   \")]),_vm._l((_vm.profile.motherChildConcernIDs),function(motherChildrenConcernID){return _c('li',{key:motherChildrenConcernID},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( motherChildrenConcernID, _vm.motherAndChildConcerns ))+\" \")])})],2)])],1):_vm._e(),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" \"+_vm._s(_vm.$t('classification.privileges'))+\" \")]),_c('v-expansion-panel-content',_vm._l((_vm.privileges),function(privilege){return _c('v-checkbox',{key:privilege.id,attrs:{\"dense\":\"\",\"hide-details\":\"\",\"label\":_vm.valueForLocale(privilege.name),\"input-value\":_vm.offender.privilegeIDs,\"value\":privilege.id},on:{\"change\":function($event){return _vm.updateOffender('privilegeIDs', $event)}}})}),1)],1),(_vm.offender.privilegeIDs.length)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ul',{staticClass:\"list-inline\"},[_c('span',{staticClass:\"list-inline__label\"},[_vm._v(\" \"+_vm._s(_vm.$t('classification.selected'))+\"   \")]),_vm._l((_vm.offender.privilegeIDs),function(privilegeID){return _c('li',{key:privilegeID},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(privilegeID, _vm.privileges))+\" \")])})],2)])],1):_vm._e()],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',{staticClass:\"mb-2\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\",\"offset-md\":\"2\"}},[_c('v-row',[_c('v-col',[_c('span',{staticClass:\"security-level\"},[_vm._v(\" \"+_vm._s(_vm.$t('classification.classificationScore'))+\" \")])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-slider',{staticClass:\"align-center\",attrs:{\"track-color\":\"grey\",\"color\":_vm.getColor,\"max\":_vm.max,\"min\":_vm.min,\"step\":\"1\",\"tick-size\":\"0\",\"thumb-size\":\"24\",\"thumb-label\":\"always\",\"hide-details\":\"\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-text-field',{staticClass:\"mt-0 pt-0\",staticStyle:{\"width\":\"60px\"},attrs:{\"id\":\"test-security-level\",\"hide-details\":\"\",\"single-line\":\"\",\"type\":\"number\"},model:{value:(_vm.score),callback:function ($$v) {_vm.score=$$v},expression:\"score\"}}),_c('br')]},proxy:true}]),model:{value:(_vm.score),callback:function ($$v) {_vm.score=$$v},expression:\"score\"}})],1)],1),_c('v-row',[_c('span',{staticClass:\"security-level-text\"},[_c('p',{class:_vm.textColor(_vm.getColor)},[_c('b',[_vm._v(_vm._s(_vm.$t('offender.securityLevel'))+\" \"+_vm._s(_vm.$t('offender.securityLevels.' + _vm.securityLevel)))])])])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nexport default Vue.extend({\n props: {\n value: Number,\n },\n data() {\n return {\n min: 0,\n max: 50,\n range: [0, 50],\n score: this.value ? this.value : 20,\n };\n },\n watch: {\n value(val) {\n this.score = val;\n },\n score(newVal) {\n this.$emit('input', newVal);\n },\n },\n computed: {\n getColor(): string {\n if (this.score < 10) {\n return 'amber';\n }\n if (this.score < 20) {\n return 'orange';\n }\n if (this.score < 50) {\n return 'red';\n }\n return 'red';\n },\n securityLevel(): string {\n if (this.score < 10) {\n return 'minimum';\n }\n if (this.score < 20) {\n return 'medium';\n }\n if (this.score <= 50) {\n return 'maximum';\n }\n return 'maximum';\n },\n },\n methods: {\n textColor(val) {\n return val + '--text';\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClassificationScoreSlider.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClassificationScoreSlider.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ClassificationScoreSlider.vue?vue&type=template&id=ca8c4ebc&scoped=true&\"\nimport script from \"./ClassificationScoreSlider.vue?vue&type=script&lang=ts&\"\nexport * from \"./ClassificationScoreSlider.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ClassificationScoreSlider.vue?vue&type=style&index=0&id=ca8c4ebc&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ca8c4ebc\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSlider } from 'vuetify/lib/components/VSlider';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VContainer,VRow,VSlider,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport ClassificationScoreSlider from '@/components/offender/classification/ClassificationScoreSlider.vue';\n\nexport default Vue.extend({\n props: {\n offender: {\n type: Object,\n required: true,\n },\n profile: {\n type: Object,\n required: true,\n },\n },\n\n computed: {\n ...mapState('offender', [\n 'criminalGroups',\n 'criminalGroupRoles',\n 'infectiousDiseases',\n 'mentalDisorders',\n 'motherAndChildConcerns',\n 'privileges',\n ]),\n ...mapGetters('profile', ['profileWithID']),\n ...mapGetters('offender', ['editableFlags']),\n ...mapGetters('language', ['valueForLocale', 'nameForIDInCollection']),\n },\n\n methods: {\n /**\n * updateProfile is the handler for all UI form field edit events which\n * pertain to the Profile entity. This function rebuilds a new Profile\n * object based on the prop, and emits the updateProfile event.\n */\n updateProfile(key: string, val: any): void {\n const newP = tap(cloneDeep(this.profile), (p) => set(p, key, val));\n\n if (newP.criminalGroupIDs.length < 1) {\n // When no Criminal Groups are selected, we don't want a\n // CriminalGroupRole set\n newP.criminalGroupRoleID = 0;\n }\n if (newP.criminalGroupIDs.length >= 1 && newP.criminalGroupRoleID === 0) {\n // When at least one Criminal Group is set, don't allow Unknown to be\n // set for the CriminalGroupRoleID\n newP.criminalGroupRoleID = 1;\n }\n\n this.$emit('updateProfile', newP);\n },\n\n /**\n * updateOffender is the handler for all UI form field edit events which\n * pertain to the Offender entity. This function rebuilds a new Offender\n * object based on the prop, and emits the updateOffender event.\n */\n updateOffender(key: string, val: any): void {\n const newO = tap(cloneDeep(this.offender), (o) => set(o, key, val));\n this.$emit('updateOffender', newO);\n },\n },\n components: {\n ClassificationScoreSlider,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderClassificationForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderClassificationForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderClassificationForm.vue?vue&type=template&id=2369ad9a&scoped=true&\"\nimport script from \"./OffenderClassificationForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderClassificationForm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./OffenderClassificationForm.vue?vue&type=style&index=0&id=2369ad9a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2369ad9a\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCheckbox,VCol,VDivider,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VRow,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport profileAPI from '@/vuex/profile/profileAPI';\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { blankOffender, Offender } from '@/vuex/offender/offender';\nimport { Profile } from '@/vuex/profile/profile';\nimport { VForm } from '@/lib/vue-typescript';\n\nimport DossierLookupField from '@/components/dossier/DossierLookupField.vue';\nimport IntakeHousingForm from '@/components/offender/facility/IntakeHousingForm.vue';\nimport OffenderClassificationForm from '@/views/offender/OffenderClassificationForm.vue';\nimport PartySelector from '@/components/court/party/PartySelector.vue';\nimport ProfileSearchSelector from '@/components/profile/ProfileSearchSelector.vue';\nimport { Dossier } from '@/vuex/court/dossier';\n\nexport default Vue.extend({\n data(): any {\n return {\n step: 1,\n saving: false,\n\n dossierID: 0,\n profileID: 0,\n partyID: 0,\n offender: null as Offender | null,\n profile: null as Profile | null,\n };\n },\n computed: {\n ...mapGetters('court', ['dossierWithID', 'partyName', 'participantInCase']),\n ...mapGetters('housing', ['fullFacilityName', 'cellName']),\n ...mapGetters('profile', ['profileWithID']),\n\n /**\n * identificationComplete is a UI status tracking computed property. It\n * returns true when the Profile has been identified.\n */\n identificationComplete(): boolean {\n return this.profileID !== 0;\n },\n\n /**\n * housingComplete is a UI status tracking computed property. It returns\n * true when the housing facility fields have been filled out.\n */\n housingComplete(): boolean {\n if (!this.offender) {\n return false;\n }\n return this.offender.housingFacilityID !== 0;\n },\n\n /**\n * dossier computes the Dossier which has been chosen to relate to this\n * Intake operation. It may be null if the Dossier has not been entered\n * yet, or when the user has elected to proceed with intake without a\n * Dossier.\n */\n dossier(): Dossier | null {\n return this.dossierWithID(this.dossierID);\n },\n },\n watch: {\n /**\n * profile is watched so that classification settings for the new Offender\n * can be set to defaults which are inferred from the Profile of the\n * Party referenced in the Dossier which is being imported.\n */\n profile(p: Profile) {\n this.setDefaultJuvenileStatus();\n this.setDefaultImprisonmentDuration();\n },\n\n /**\n * profileID is watched so that the entire Profile entity can be fetched\n * when a new Profile is selected for Intake.\n */\n async profileID(newID: number): Promise {\n if (newID) {\n await this.$store.dispatch('profile/fetchProfile', newID);\n const localProfileCopy = Object.assign({}, this.profileWithID(newID));\n this.profile = localProfileCopy;\n this.offender = blankOffender();\n this.offender.profileID = this.profile.id;\n } else {\n this.offender = null;\n this.profile = null;\n }\n },\n },\n methods: {\n reset(): void {\n this.dossierID = 0;\n this.partyID = 0;\n this.profileID = 0;\n },\n async importFromDossier(): Promise {\n const response = await profileAPI.get(\n '/profiles/search?partyID=' + this.partyID,\n );\n const firstID = _.get(response, 'data.data[0].id');\n if (firstID) {\n this.profileID = firstID;\n this.forward(3);\n } else {\n alert('Failed to find a match!');\n console.log(response.data.data);\n }\n },\n startBlank(): void {\n this.step = 2;\n this.reset();\n },\n forward(nextStep: number): void {\n if (!nextStep) {\n nextStep = this.step + 1;\n }\n if (nextStep > 5) {\n nextStep = 5;\n }\n\n const form = this.$refs.form as VForm;\n if (!form.validate()) {\n return;\n }\n\n this.step = nextStep;\n },\n async save(): Promise {\n const form = this.$refs.form as VForm;\n if (!form.validate()) {\n return;\n }\n\n this.saving = true;\n const response = await offenderAPI.post('offenders/intake', {\n data: {\n // Offender Fields\n profileID: this.profileID,\n dossierID: this.dossierID,\n detainedAt: this.offender.detainedAt,\n imprisonmentDurationInHours:\n this.offender.imprisonmentDurationInHours,\n expectedReleaseAt: this.offender.expectedReleaseAt,\n housingFacilityID: this.offender.housingFacilityID,\n cellID: this.offender.cellID,\n DIN: this.offender.DIN,\n PIN: this.offender.PIN,\n\n // Offender > Classification sub-fields\n classificationScore: this.offender.classificationScore,\n flagIDs: this.offender.flagIDs,\n privilegeIDs: this.offender.privilegeIDs,\n isJuvenile: this.offender.isJuvenile,\n isDetainee: this.offender.isDetainee,\n\n // Profile Fields\n criminalGroupIDs: this.profile.criminalGroupIDs,\n criminalGroupRoleID: this.profile.criminalGroupRoleID,\n infectiousDiseaseIDs: this.profile.infectiousDiseaseIDs,\n mentalDisorderIDs: this.profile.mentalDisorderIDs,\n motherChildConcernIDs: this.profile.motherChildConcernIDs,\n },\n });\n this.saving = false;\n\n const combinedState = response.data.data;\n\n const offenderState = _.pick(combinedState, ['offender']);\n this.$store.commit('offender/setState', offenderState);\n\n const profileState = _.pick(combinedState, ['profile']);\n this.$store.commit('profile/setState', profileState);\n\n const offenderID = Object.keys(offenderState.offender)[0];\n this.$router.push({\n name: 'offenderProfile',\n params: { id: offenderID },\n });\n },\n\n /**\n * setDefaultJuvenileStatus is triggered when the Profile is changed. It\n * examines the Profile to see if the birthdate suggests that the new\n * Offender should be defaulted to have isJuvenile true.\n */\n setDefaultJuvenileStatus(): void {\n const profile = this.profile;\n if (profile && profile.birthdate) {\n const ageInYears = moment().diff(profile.birthdate, 'years');\n if (ageInYears > 0 && ageInYears < 18) {\n this.offender.isJuvenile = true;\n }\n }\n },\n\n /**\n * setDefaultImprisonmentDuration is triggered when the Dossier is changed.\n * It examines the Participant in that Dossier's current Court Case to\n * see if an Imprisonment duration exists. If it does, it changes the\n * new Offender to have isDetainee = false, and to have their length of\n * stay set to the total amount of time on the sentence.\n */\n setDefaultImprisonmentDuration(): void {\n if (this.dossier) {\n const participant = this.participantInCase(\n this.dossier.currentCaseID,\n this.partyID,\n );\n if (participant && participant.sentence) {\n this.offender.isDetainee = false;\n this.offender.imprisonmentDurationInHours =\n participant.sentence.totalImprisonmentDurationInHours;\n }\n }\n },\n },\n components: {\n DossierLookupField,\n IntakeHousingForm,\n OffenderClassificationForm,\n PartySelector,\n ProfileSearchSelector,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntakeStepper.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntakeStepper.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IntakeStepper.vue?vue&type=template&id=0bf9ca26&\"\nimport script from \"./IntakeStepper.vue?vue&type=script&lang=ts&\"\nexport * from \"./IntakeStepper.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VStepper } from 'vuetify/lib/components/VStepper';\nimport { VStepperContent } from 'vuetify/lib/components/VStepper';\nimport { VStepperStep } from 'vuetify/lib/components/VStepper';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VContainer,VForm,VIcon,VRow,VStepper,VStepperContent,VStepperStep})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[(!_vm.offender)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),(_vm.offender)?_c('div',[_c('OffenderNavToolbar',{attrs:{\"offenderID\":_vm.id}}),_c('OffenderHeader',{attrs:{\"offenderID\":_vm.id}}),(_vm.offenderPage == 'offenderProfile')?_c('OffenderProfile',{attrs:{\"offenderID\":_vm.id}}):_vm._e(),(_vm.offenderPage == 'offenderHousing')?_c('OffenderHousing',{attrs:{\"id\":_vm.id}}):_vm._e(),(_vm.offenderPage == 'offenderSentence')?_c('OffenderSentence',{attrs:{\"id\":_vm.id}}):_vm._e(),(_vm.offenderPage == 'offenderPrograms')?_c('OffenderPrograms',{attrs:{\"id\":_vm.id}}):_vm._e(),(_vm.offenderPage == 'offenderMedical')?_c('OffenderMedical',{attrs:{\"id\":_vm.id}}):_vm._e()],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"2\",\"sm\":\"4\",\"md\":\"2\"}},[_c('AttachmentImage',{attrs:{\"entityType\":\"profile\",\"entityID\":_vm.offender.profileID,\"location\":\"front\",\"width\":\"150\",\"placeholder\":\"/mug-front-gray.jpg\"}})],1),_c('v-col',{attrs:{\"cols\":\"10\",\"md\":\"5\"}},[_c('v-row',{staticClass:\"text-body-1\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-h4\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.profile.name)+\" \"+_vm._s(_vm.profile.surname)+\" \")]),_c('v-col',{staticClass:\"grey--text\",attrs:{\"cols\":\"12\"}},[_c('DossierNumber',{attrs:{\"link\":\"\",\"id\":_vm.offender.dossierID}}),(!_vm.offender.dossierID)?_c('OffenderDossierLinkDialog',{attrs:{\"offenderID\":_vm.offender.id}}):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.offender.isDetainee)?_c('h3',{staticClass:\"grey--text text--lighten-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('offender.din'))+\" \"+_vm._s(_vm.offender.DIN)+\" \")]):_vm._e(),(!_vm.offender.isDetainee)?_c('h3',{staticClass:\"grey--text text--lighten-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('offender.pin'))+\" \"+_vm._s(_vm.offender.PIN)+\" \")]):_vm._e()]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('OffenderFlags',{attrs:{\"value\":_vm.offender.flagIDs}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-chip',{staticClass:\"me-1 px-2\",attrs:{\"small\":\"\",\"label\":\"\"}},[_c('OffenderCustodyStatus',{attrs:{\"offenderID\":_vm.offenderID}}),(_vm.offender.freedAt && _vm.offender.releaseReasonID)?_c('span',{staticClass:\"ms-1\"},[_vm._v(\" (\"+_vm._s(this.nameForIDInCollection( _vm.offender.releaseReasonID, 'offender/releaseReasons' ))+\") \")]):_vm._e()],1),_c('v-chip',{staticClass:\"me-1 px-2\",attrs:{\"label\":\"\",\"small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.detaineePrisonerLabel)+\" \")]),_c('v-chip',{staticClass:\"me-1 px-2\",attrs:{\"label\":\"\",\"small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.offender.isJuvenile ? _vm.$t('juvenile.singular') : _vm.$t('adult.singular'))+\" \")])],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"5\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[(_vm.offender.freedAt)?_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"5\"}},[_vm._v(\" \"+_vm._s(_vm.$t('offender.freedAt'))+\" \")]):_vm._e(),(_vm.offender.freedAt)?_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('ReleaseDate',{attrs:{\"warning-chip-only\":\"\",\"freedAt\":_vm.offender.freedAt}})],1):_vm._e(),(_vm.offender.freedAt && _vm.offender.releaseDetails)?_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"5\"}},[_vm._v(\" \"+_vm._s(_vm.$t('offender.releaseDetails'))+\" \")]):_vm._e(),(_vm.offender.freedAt && _vm.offender.releaseDetails)?_c('v-col',{attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.offender.releaseDetails)+\" \")]):_vm._e(),(_vm.offender.detainedAt)?_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"5\"}},[_vm._v(\" \"+_vm._s(_vm.$t('offender.detainedAt'))+\" \")]):_vm._e(),_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('Date',{attrs:{\"value\":_vm.offender.detainedAt}})],1),(_vm.percentTimeServed)?_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"5\"}},[_vm._v(\" \"+_vm._s(_vm.$t('sentence.percentageTimeServed'))+\" \")]):_vm._e(),(_vm.percentTimeServed)?_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('v-progress-linear',{attrs:{\"height\":\"25\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar value = ref.value;\nreturn [_vm._v(\" \"+_vm._s(Math.round(value))+\"% \")]}}],null,false,3705758473),model:{value:(_vm.percentTimeServed),callback:function ($$v) {_vm.percentTimeServed=$$v},expression:\"percentTimeServed\"}})],1):_vm._e(),(!_vm.offender.freedAt && _vm.offender.expectedReleaseAt)?_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"5\"}},[_vm._v(\" \"+_vm._s(_vm.$t('header.estimatedReleaseDate'))+\" \")]):_vm._e(),(!_vm.offender.freedAt && _vm.offender.expectedReleaseAt)?_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('ReleaseDate',{attrs:{\"warning-chip-only\":\"\",\"expectedReleaseAt\":_vm.offender.expectedReleaseAt}})],1):_vm._e(),_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"5\"}},[_vm._v(\" \"+_vm._s(_vm.$t('offender.securityLevel'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.$t('offender.securityLevels.' + _vm.offender.securityLevel))+\" \")]),_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"5\"}},[_vm._v(\" \"+_vm._s(_vm.$t('housingFacility.singular'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderDashboard',\n query: { facilityID: _vm.offender.housingFacilityID },\n }}},[_vm._v(\" \"+_vm._s(_vm.fullFacilityName(_vm.offender.housingFacilityID))+\" \")])],1),(_vm.offender.cellID)?_c('v-col',{staticClass:\"font-weight-bold\",attrs:{\"cols\":\"5\"}}):_vm._e(),(_vm.offender.cellID)?_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderDashboard',\n query: {\n facilityID: _vm.offender.cellID\n ? _vm.offender.cellID\n : _vm.offender.housingFacilityID,\n },\n }}},[_vm._v(\" \"+_vm._s(_vm.cellName(_vm.offender.cellID))+\" \")])],1):_vm._e()],1)],1),(_vm.participant && _vm.participant.charges.length)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(_vm._s(_vm.$t('charge.plural')))]),_c('ChargesSummary',{attrs:{\"charges\":_vm.participant.charges,\"no-prefix\":\"\",\"active-only\":\"\"}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isLabeledData)?[_c('LabeledData',{attrs:{\"label\":_vm.$t('housing.status'),\"value\":_vm.custodyStatus}})]:[(_vm.offender.custodyStatus === 'in-transit')?_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\" fa-truck \")]):_vm._e(),(_vm.offender.custodyStatus === 'on-leave')?_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\" fa-suitcase \")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.custodyStatus)+\" \")]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport i18n from '@/i18n';\nimport { Offender } from '@/vuex/offender/offender';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n isLabeledData: Boolean,\n },\n computed: {\n offender(): Offender {\n return this.$store.getters['offender/offenderWithID'](this.offenderID);\n },\n\n custodyStatus(): string {\n if (!this.offender) {\n return '';\n }\n\n return i18n\n .t('offender.custodyStatus.' + this.offender.custodyStatus)\n .toString();\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderCustodyStatus.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderCustodyStatus.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderCustodyStatus.vue?vue&type=template&id=49d2b946&\"\nimport script from \"./OffenderCustodyStatus.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderCustodyStatus.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"title\":_vm.$t('offender.linkdossier')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",function(){return [_c('v-btn',_vm._g({staticClass:\"mx-1\",attrs:{\"x-small\":\"\",\"color\":\"error\"}},slotProps.on),[_vm._v(\" \"+_vm._s(_vm.$t('offender.linkdossier'))+\" \")])]},null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-select',{attrs:{\"label\":_vm.$t('court.dossier'),\"item-value\":\"id\",\"item-text\":function (v) { return v.number; },\"items\":_vm.dossiers,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.dossierID),callback:function ($$v) {_vm.dossierID=$$v},expression:\"dossierID\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { Dossier } from '@/vuex/court/dossier';\nimport { Offender } from '@/vuex/offender/offender';\nimport { Profile } from '@/vuex/profile/profile';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n data(): any {\n return {\n isOpen: false,\n dossierID: 0,\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('court', ['dossiersForParty']),\n ...mapGetters('offender', ['offenderWithID']),\n ...mapGetters('profile', ['profileWithID']),\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n profile(): Profile | null {\n if (this.offender && this.offender.profileID) {\n return this.profileWithID(this.offender.profileID);\n }\n return null;\n },\n partyID(): number {\n if (this.profile && this.profile.partyID) {\n return this.profile.partyID;\n }\n return 0;\n },\n dossiers(): Dossier[] {\n if (this.partyID) {\n return this.dossiersForParty(this.partyID);\n }\n return [];\n },\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the dossierID to its default state.\n */\n async reset(): Promise {\n if (this.partyID) {\n await this.$store.dispatch('court/fetchDossiersForParty', this.partyID);\n if (this.offender.dossierID) {\n // If the current Offender already has a DossierID assigned, don't\n // presume they are going to change it.\n this.dossierID = this.offender.dossierID;\n } else if (this.dossiers.length > 0) {\n // If there was 1 or more dossiers returned, go ahead and\n // preselect the first one for them.\n this.dossierID = this.dossiers[0].id;\n }\n }\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('offenders/link-dossier', {\n data: {\n offenderID: this.offender.id,\n dossierID: this.dossierID,\n },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderDossierLinkDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderDossierLinkDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderDossierLinkDialog.vue?vue&type=template&id=1a474726&\"\nimport script from \"./OffenderDossierLinkDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderDossierLinkDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VBtn,VCol,VRow,VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{class:_vm.nameStyle},[_vm._v(_vm._s(_vm.name))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport Vue from 'vue';\n\nexport default Vue.extend({\n props: {\n name: String,\n status: String,\n },\n computed: {\n nameStyle(): string {\n if (this.status) {\n return `${this.status}--text`;\n } else {\n return '';\n }\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderName.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderName.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderName.vue?vue&type=template&id=7a8b03fe&\"\nimport script from \"./OffenderName.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderName.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { Offender } from '@/vuex/offender/offender';\nimport { Participant } from '@/vuex/court/participant';\nimport { Profile } from '@/vuex/profile/profile';\n\nimport ChargesSummary from '@/components/charges/ChargesSummary.vue';\nimport OffenderCustodyStatus from '@/views/offender/OffenderCustodyStatus.vue';\nimport OffenderDossierLinkDialog from '@/components/offender/OffenderDossierLinkDialog.vue';\nimport OffenderFlags from '@/components/offender/classification/OffenderFlags.vue';\nimport OffenderName from '@/components/offender/OffenderName.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('profile', ['profileWithID']),\n ...mapGetters('offender', ['offenderWithID']),\n ...mapGetters('housing', [\n 'cellName',\n 'facilityWithID',\n 'fullFacilityName',\n ]),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('court', ['participantInDossier']),\n\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n\n profile(): Profile | null {\n if (this.offender && this.offender.profileID) {\n return this.profileWithID(this.offender.profileID);\n }\n return null;\n },\n\n participant(): Participant | null {\n if (this.offender && this.profile) {\n return this.participantInDossier(\n this.offender.dossierID,\n this.profile.partyID,\n );\n }\n return null;\n },\n\n /**\n * percentTimeServed calculates the percentage of this prisoner's\n * sentence that has already been served. In order to avoid confusing\n * display, this returns 0 for detainees and for folks without an\n * imprisonmentDurationInHours.\n */\n percentTimeServed(): number {\n if (!this.offender) {\n return 0;\n }\n if (this.offender.isDetainee) {\n return 0;\n }\n\n const hoursToServe = this.offender.imprisonmentDurationInHours;\n if (hoursToServe <= 0) {\n // Avoid divide by zero\n return 0;\n }\n\n const now = moment();\n const start = moment(this.offender.detainedAt);\n const hoursServed = now.diff(start, 'hours');\n return (hoursServed / hoursToServe) * 100.0;\n },\n\n /**\n * detaineePrisonerLabel returns 'Detainee', 'Prisoner', or 'Confinee'\n * as appropriate to this offender's classification.\n */\n detaineePrisonerLabel(): string {\n if (!this.offender) {\n return '';\n }\n\n if (this.offender.isDetainee) {\n return i18n.t('offender.detainee.singular').toString();\n }\n\n if (this.offender.isJuvenile) {\n return i18n.t('offender.confinee.singular').toString();\n }\n\n return i18n.t('offender.prisoner.singular').toString();\n },\n },\n components: {\n ChargesSummary,\n OffenderCustodyStatus,\n OffenderDossierLinkDialog,\n OffenderFlags,\n OffenderName,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderHeader.vue?vue&type=template&id=1ff2946f&\"\nimport script from \"./OffenderHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderHeader.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.id)?_c('v-row',[_c('v-col',{staticClass:\"text-h4\",attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.$t('housing.singular')))]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AccompanyingChildrenTable',{attrs:{\"contentOnly\":_vm.contentOnly,\"offenderID\":_vm.id}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TransfersTable',{attrs:{\"contentOnly\":_vm.contentOnly,\"offenderID\":_vm.id}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LeavesTable',{attrs:{\"contentOnly\":_vm.contentOnly,\"offenderID\":_vm.id}})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.childrenTableVisible)?_c('v-card',{attrs:{\"flat\":_vm.contentOnly,\"tile\":_vm.contentOnly}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([(_vm.canAddChildren && !_vm.contentOnly)?{key:\"extension\",fn:function(){return [_c('AddAccompanyingChildDialog',{attrs:{\"offenderID\":_vm.offenderID}})]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('accompanyingChild.plural')))])],1),_c('v-card-text',[_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th'),_c('th',[_vm._v(_vm._s(_vm.$t('accompanyingChild.name')))]),_c('th',{staticClass:\"text-right\"},[_vm._v(_vm._s(_vm.$t('person.age')))]),_c('th',{staticClass:\"text-right\"},[_vm._v(_vm._s(_vm.$t('person.birthdate')))]),_c('th',[_vm._v(_vm._s(_vm.$t('notes')))]),_c('th',[_vm._v(_vm._s(_vm.$t('accompanyingChild.intakeDate')))]),_c('th',[_vm._v(_vm._s(_vm.$t('accompanyingChild.releaseDate')))]),_c('th',[_vm._v(_vm._s(_vm.$t('action.plural')))])])]),_c('tbody',_vm._l((_vm.children),function(child){return _c('tr',{key:child.id,class:{ isDeleted: child.isReleased }},[_c('td',{staticClass:\"text-center\"},[_c('EditAccompanyingChildDialog',{attrs:{\"id\":child.id}})],1),_c('td',[_vm._v(_vm._s(child.name))]),_c('td',{staticClass:\"text-right\"},[_c('AgeDisplay',{attrs:{\"birthdate\":child.birthdate,\"isApproximate\":child.birthdateIsApproximate}})],1),_c('td',{staticClass:\"text-right\"},[_c('BirthdateDisplay',{attrs:{\"birthdate\":child.birthdate,\"isApproximate\":child.birthdateIsApproximate}})],1),_c('td',[_vm._v(_vm._s(child.notes))]),_c('td',[_vm._v(_vm._s(child.intakeDate))]),_c('td',[_vm._v(_vm._s(child.releaseDate))]),_c('td',[(!child.isReleased)?_c('ReleaseAccompanyingChildDialog',{attrs:{\"id\":child.id}}):_vm._e()],1)])}),0)]},proxy:true}],null,false,2282896891)})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('accompanyingChild.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('AccompanyingChildForm',{model:{value:(_vm.accompanyingChild),callback:function ($$v) {_vm.accompanyingChild=$$v},expression:\"accompanyingChild\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"space-between\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('accompanyingChild.intakeDate'),\"value\":_vm.accompanyingChild.intakeDate,\"past-dates-only\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('intakeDate', $event)}}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('accompanyingChild.informationUnknown')},model:{value:(_vm.childInformationUnknown),callback:function ($$v) {_vm.childInformationUnknown=$$v},expression:\"childInformationUnknown\"}})],1),(!_vm.childInformationUnknown)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"value\":_vm.accompanyingChild.name,\"label\":_vm.$t('accompanyingChild.name'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('name', $event, 'trim')}}})],1):_vm._e(),(!_vm.childInformationUnknown)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('BirthdateSelector',{attrs:{\"value\":_vm.accompanyingChild.birthdate,\"isApproximate\":_vm.accompanyingChild.birthdateIsApproximate,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"input\":function($event){return _vm.update('birthdate', $event)},\"approximateChanged\":function($event){_vm.accompanyingChild.birthdateIsApproximate = $event}}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('notes'),\"value\":_vm.accompanyingChild.notes,\"rules\":_vm.childInformationUnknown ? [function (v) { return !!v || _vm.$t('error.required'); }] : []},on:{\"input\":function($event){return _vm.update('notes', $event, 'trim')}}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { cloneDeep, tap, set } from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\n\nimport { AccompanyingChild } from '@/vuex/offender/accompanyingChild';\n\nexport default Vue.extend({\n props: {\n value: Object,\n offenderID: Number,\n },\n\n data() {\n return {\n childInformationUnknown: false,\n };\n },\n\n computed: {\n /**\n * accompanyingChild computes the current state of the object being edited on this\n * form. If an Object was supplied to the `value` prop, then that is\n * returned unmodified. If the incoming `value` is null, then we compute\n * an initial (blank) object for the form.\n *\n * This function should return an object which fulfils the entire type\n * specification without an \"as Thing\" explicit type assertion.\n *\n * This property should be treated as readonly. Modifications should be made\n * by calling the update() function, which will apply the modification to a\n * copy of the entity and $emit it. Two-way data binding will then cause\n * this component's `value` prop to hold the new, modified entity.\n */\n accompanyingChild(): AccompanyingChild {\n return this.value\n ? this.value\n : {\n id: 0,\n offenderID: 0,\n name: '',\n birthdate: '',\n birthdateIsApproximate: true,\n intakeDate: moment().format(),\n };\n },\n },\n\n methods: {\n /**\n * update is the handler for the @input event of form fields on this form.\n * Instead of directly updating an object property, any field change\n * triggers the entire object to be re-built and $emitted to the consumer,\n * ensuring the state displayed on the form and the local data object\n * remain consistent.\n *\n * This method is critical for proper Vuex reactivity\n * of complex objects being edited in forms.\n */\n update(key: string, value: any, modifier: string = ''): void {\n let modifiedValue = value;\n if (modifier === 'trim') {\n modifiedValue = value.trim();\n }\n this.$emit(\n 'input',\n tap(cloneDeep(this.accompanyingChild), (v) =>\n set(v, key, modifiedValue),\n ),\n );\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccompanyingChildForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccompanyingChildForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccompanyingChildForm.vue?vue&type=template&id=6fdc6d16&\"\nimport script from \"./AccompanyingChildForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccompanyingChildForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCheckbox,VCol,VRow,VTextField,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { AccompanyingChild } from '@/vuex/offender/accompanyingChild';\n\nimport AccompanyingChildForm from '@/components/offender/accompanyingChild/AccompanyingChildForm.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n\n data() {\n return {\n error: null as any,\n isOpen: false,\n\n accompanyingChild: null as AccompanyingChild | null,\n };\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset() {\n this.error = null;\n this.accompanyingChild = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n if (!this.accompanyingChild) {\n return;\n }\n\n try {\n // Execute the API call\n const response = await offenderAPI.post('/add-accompanying-child', {\n data: {\n offenderID: this.offenderID,\n intakeDate: this.accompanyingChild.intakeDate,\n releaseDate: this.accompanyingChild.releaseDate,\n name: this.accompanyingChild.name,\n birthdate: this.accompanyingChild.birthdate,\n birthdateIsApproximate:\n this.accompanyingChild.birthdateIsApproximate,\n notes: this.accompanyingChild.notes,\n },\n });\n\n // Update local state in Vuex\n const newState = _.get(response, 'data.data', {});\n this.$store.commit('offender/setState', newState);\n this.$store.commit('offender/prependToTarget', {\n target: 'accompanyingChildrenIDsForOffender',\n index: this.offenderID,\n value: Object.keys(newState.accompanyingChild),\n });\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n AccompanyingChildForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddAccompanyingChildDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddAccompanyingChildDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddAccompanyingChildDialog.vue?vue&type=template&id=01e6648e&\"\nimport script from \"./AddAccompanyingChildDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddAccompanyingChildDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('accompanyingChild.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('AccompanyingChildForm',{model:{value:(_vm.accompanyingChild),callback:function ($$v) {_vm.accompanyingChild=$$v},expression:\"accompanyingChild\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { AccompanyingChild } from '@/vuex/offender/accompanyingChild';\n\nimport AccompanyingChildForm from '@/components/offender/accompanyingChild/AccompanyingChildForm.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n\n data() {\n return {\n error: null as any,\n isOpen: false,\n\n accompanyingChild: null as AccompanyingChild | null,\n };\n },\n\n computed: {\n ...mapGetters('offender', ['accompanyingChildWithID']),\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.error = null;\n const localCopy = _.cloneDeep(this.accompanyingChildWithID(this.id));\n this.accompanyingChild = localCopy;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n try {\n this.error = null;\n\n // Make the API call\n const response = await offenderAPI.post('/update-accompanying-child', {\n data: this.accompanyingChild,\n });\n\n const newState = _.get(response, 'data.data', {});\n this.$store.commit('offender/setState', newState);\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n AccompanyingChildForm,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditAccompanyingChildDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditAccompanyingChildDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditAccompanyingChildDialog.vue?vue&type=template&id=335e4cfc&\"\nimport script from \"./EditAccompanyingChildDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditAccompanyingChildDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"title\":_vm.$t('accompanyingChild.singular') +\n ': ' +\n _vm.$t('accompanyingChild.releaseDate')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"mx-1\",attrs:{\"x-small\":\"\",\"color\":\"success\"}},on),[_vm._v(\" \"+_vm._s(_vm.$t('release.release'))+\" \")])]}}]),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('accompanyingChild.releaseDate'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.releaseDate),callback:function ($$v) {_vm.releaseDate=$$v},expression:\"releaseDate\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport moment from 'moment';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n\n data(): any {\n return {\n isOpen: false,\n releaseDate: moment().format(),\n error: null as any,\n };\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.releaseDate = moment().format();\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n try {\n const response = await offenderAPI.post('release-accompanying-child', {\n data: {\n id: this.id,\n releaseDate: this.releaseDate,\n },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReleaseAccompanyingChildDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReleaseAccompanyingChildDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReleaseAccompanyingChildDialog.vue?vue&type=template&id=3c469277&\"\nimport script from \"./ReleaseAccompanyingChildDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReleaseAccompanyingChildDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { AccompanyingChild } from '@/vuex/offender/accompanyingChild';\nimport { Offender, Flags } from '@/vuex/offender/offender';\nimport { Profile } from '@/vuex/profile/profile';\n\nimport AddAccompanyingChildDialog from '@/components/offender/accompanyingChild/AddAccompanyingChildDialog.vue';\nimport EditAccompanyingChildDialog from '@/components/offender/accompanyingChild/EditAccompanyingChildDialog.vue';\nimport ReleaseAccompanyingChildDialog from '@/components/offender/accompanyingChild/ReleaseAccompanyingChildDialog.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n contentOnly: Boolean,\n },\n\n created(): void {\n /**\n * At startup, we only want to fetch data if an offenderID was correctly\n * provided. A separate watcher on offenderID (see below) will trigger\n * data fetch if the offenderID is changed later.\n */\n if (this.offenderID) {\n this.fetchData();\n }\n },\n\n computed: {\n ...mapGetters('offender', [\n 'offenderWithID',\n 'accompanyingChildrenForOffender',\n ]),\n ...mapGetters('profile', ['profileWithID']),\n\n offender(): Offender | null {\n return this.offenderWithID(this.offenderID) || null;\n },\n\n profile(): Profile | null {\n if (!this.offender) {\n return null;\n }\n return this.profileWithID(this.offender.profileID) || null;\n },\n\n children(): AccompanyingChild[] {\n return this.accompanyingChildrenForOffender(this.offenderID);\n },\n\n childrenTableVisible(): boolean {\n return this.withChildFlag || this.children.length > 0;\n },\n\n canAddChildren(): boolean {\n return this.withChildFlag;\n },\n\n withChildFlag(): boolean {\n if (this.offender) {\n if (this.offender.flagIDs.includes(Flags.withChildID)) {\n return true;\n }\n }\n if (this.profile) {\n if (this.profile.motherChildConcernIDs.includes(Flags.withChildID)) {\n return true;\n }\n }\n return false;\n },\n },\n\n watch: {\n /**\n * If offenderID prop is changed on this component, we need to ensure\n * data for the new Offender is fetched.\n */\n offenderID(val: number): void {\n if (this.offenderID) {\n this.fetchData();\n }\n },\n },\n\n methods: {\n /**\n * fetchData asks the Vuex store to fetch all children for this Offender and\n * update local state with the results. We don't need to listen for a\n * response because the `children` computed property will update automatically.\n */\n fetchData(): void {\n this.$store.dispatch('offender/fetchAccompanyingChildren', {\n offenderID: this.offenderID,\n });\n },\n },\n\n components: {\n AddAccompanyingChildDialog,\n EditAccompanyingChildDialog,\n ReleaseAccompanyingChildDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccompanyingChildrenTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccompanyingChildrenTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccompanyingChildrenTable.vue?vue&type=template&id=48375dd0&\"\nimport script from \"./AccompanyingChildrenTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccompanyingChildrenTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VSimpleTable,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":_vm.contentOnly || _vm.isReleased,\"tile\":_vm.contentOnly || _vm.isReleased}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([(!_vm.contentOnly)?{key:\"extension\",fn:function(){return [(_vm.canAdd)?_c('LeaveRequestDialog',{attrs:{\"offenderID\":_vm.offenderID}}):_vm._e(),_c('v-spacer'),(_vm.canBackfill)?_c('LeaveBackfillDialog',{attrs:{\"offenderID\":_vm.offenderID}}):_vm._e()]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('leave.plural')))]),_c('v-spacer'),_c('v-switch',{attrs:{\"label\":_vm.$t('leave.hideCourtLeaves'),\"hide-details\":\"\"},model:{value:(_vm.hideInvoluntaryLeaves),callback:function ($$v) {_vm.hideInvoluntaryLeaves=$$v},expression:\"hideInvoluntaryLeaves\"}})],1),_c('v-card-text',[_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('leave.status')))]),_c('th',[_vm._v(_vm._s(_vm.$t('housingFacility.singular')))]),_c('th',[_vm._v(_vm._s(_vm.$t('leave.reason')))]),_c('th',[_vm._v(_vm._s(_vm.$t('leave.release')))]),_c('th',[_vm._v(_vm._s(_vm.$t('leave.return')))]),_c('th',[_vm._v(_vm._s(_vm.$t('leave.duration')))]),_c('th',{staticStyle:{\"width\":\"24px\"}},[_vm._v(_vm._s(_vm.$t('action.plural')))])])]),_c('tbody',[(_vm.leaves.length === 0)?_c('tr',[_c('td',{staticStyle:{\"text-align\":\"center\"},attrs:{\"colspan\":\"8\"}},[_vm._v(\" \"+_vm._s(_vm.$t('error.nodata'))+\" \")])]):_vm._e(),_vm._l((_vm.leaves),function(leave){return _c('tr',{key:leave.id},[_c('td',[_vm._v(_vm._s(_vm.$t('leave.statusOptions.' + leave.status)))]),_c('td',[_vm._v(_vm._s(_vm.facilityName(leave.housingFacilityID)))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(leave.reasonID, 'offender/leaveReasons'))+\" \")]),_c('td',[_c('Date',{attrs:{\"value\":leave.releasedAt || leave.scheduledReleaseDate}})],1),_c('td',[_c('Date',{attrs:{\"value\":leave.returnedAt || leave.estimatedReturnDate}})],1),_c('td',[(!_vm.hideLeaveDuration(leave))?_c('span',[_vm._v(\" \"+_vm._s(_vm.leaveDurationInDays(_vm.leaveDurationBasedOnStatus(leave)))+\" \"+_vm._s(_vm.$t('time.days'))+\" \")]):_vm._e()]),_c('td',[_c('div',{staticClass:\"d-flex\"},[_c('LeaveActions',{attrs:{\"leaveID\":leave.id}}),_c('ExpanderDialog',{attrs:{\"title\":_vm.$t('leave.singular')}},[(leave.status || leave.housingFacilityID)?_c('v-row',[(leave.status)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('leave.status'),\"value\":_vm.$t('leave.statusOptions.' + leave.status)}}):_vm._e(),(leave.housingFacilityID)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"12\",\"sm\":\"12\",\"label\":_vm.$t('housingFacility.singular'),\"value\":leave.housingFacilityID}}):_vm._e()],1):_vm._e(),(leave.requestedAt || leave.approvedAt)?_c('v-row',[(leave.requestedAt)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"xs\":\"6\",\"label\":_vm.$t('leave.requestedAt')}},[_c('Date',{attrs:{\"value\":leave.requestedAt}})],1):_vm._e(),(leave.approvedAt)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('leave.approvedAt')}},[_c('Date',{attrs:{\"value\":leave.approvedAt}})],1):_vm._e()],1):_vm._e(),(\n leave.scheduledReleaseDate || leave.estimatedReturnDate\n )?_c('v-row',[(leave.scheduledReleaseDate)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('leave.scheduledReleaseDate')}},[_c('Date',{attrs:{\"value\":leave.scheduledReleaseDate}})],1):_vm._e(),(leave.estimatedReturnDate)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('leave.estimatedReturnDate')}},[_c('Date',{attrs:{\"value\":leave.estimatedReturnDate}})],1):_vm._e()],1):_vm._e(),(leave.approverTitle || leave.approverName)?_c('v-row',[(leave.approverTitle)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('leave.approverTitle'),\"value\":leave.approverTitle}}):_vm._e(),(leave.approverName)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('leave.approverName'),\"value\":leave.approverName}}):_vm._e()],1):_vm._e(),(leave.reasonID || leave.details)?_c('v-row',[(leave.reasonID)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('leave.reason'),\"value\":_vm.nameForIDInCollection(\n leave.reasonID,\n 'offender/leaveReasons'\n )}}):_vm._e(),(leave.details)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('details'),\"value\":leave.details}}):_vm._e()],1):_vm._e(),(leave.returnedAt)?_c('v-row',[(leave.returnedAt)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('leave.returnedAt')}},[_c('Date',{attrs:{\"value\":leave.returnedAt}})],1):_vm._e()],1):_vm._e(),(leave.canceledAt || leave.cancelReason)?_c('v-row',[(leave.canceledAt)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('leave.canceledAt')}},[_c('Date',{attrs:{\"value\":leave.canceledAt}})],1):_vm._e(),(leave.cancelReason)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('leave.cancelReason'),\"value\":leave.cancelReason}}):_vm._e()],1):_vm._e(),(leave.deniedAt)?_c('v-row',[(leave.deniedAt)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('leave.deniedAt')}},[_c('Date',{attrs:{\"value\":leave.deniedAt}})],1):_vm._e()],1):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsLinks',{attrs:{\"entityType\":\"leave\",\"entityID\":leave.id}})],1)],1)],1)],1)])])})],2),(_vm.totalLeaveDays > 0)?_c('tfoot',[_c('v-list',[_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{class:{ 'red--text': _vm.totalLeaveDays > 20 }},[_c('strong',[_vm._v(_vm._s(_vm.totalLeaveDays)+\" days\")])])]),_c('v-list-item-subtitle',[_vm._v(\" \"+_vm._s(_vm.$t('leave.totalLeaveThisYear'))+\" \")])],1)],1)],1)],1):_vm._e()]},proxy:true}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex justify-space-between align-center\"},[(_vm.isApprovable)?_c('ConfirmationButton',{staticClass:\"mx-1\",attrs:{\"prompt\":_vm.$t('leave.confirm.approve'),\"color\":\"success\",\"x-small\":\"\"},on:{\"confirm\":function($event){return _vm.approve()}}},[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-check\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.approve'))+\" \")],1):_vm._e(),(_vm.isApprovable)?_c('ConfirmationButton',{staticClass:\"mx-1\",attrs:{\"prompt\":_vm.$t('leave.confirm.deny'),\"color\":\"error\",\"x-small\":\"\"},on:{\"confirm\":function($event){return _vm.deny()}}},[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-ban\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.deny'))+\" \")],1):_vm._e(),(_vm.isStartable)?_c('ConfirmationButton',{staticClass:\"mx-1\",attrs:{\"prompt\":_vm.$t('leave.confirm.start'),\"color\":\"accent\",\"x-small\":\"\"},on:{\"confirm\":function($event){return _vm.start()}}},[_vm._v(\" \"+_vm._s(_vm.$t('leave.begin'))+\" \")]):_vm._e(),(_vm.isCompletable)?_c('ConfirmationButton',{staticClass:\"mx-1\",attrs:{\"prompt\":_vm.$t('leave.confirm.complete'),\"color\":\"accent\",\"x-small\":\"\"},on:{\"confirm\":function($event){return _vm.complete()}}},[_vm._v(\" \"+_vm._s(_vm.$t('leave.return'))+\" \")]):_vm._e(),(_vm.isCancelable)?_c('LeaveCancelDialog',{attrs:{\"leaveID\":_vm.leave.id}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"title\":_vm.$t('leave.cancel.prompt')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",function(){return [_c('v-btn',_vm._g({staticClass:\"mx-1\",attrs:{\"color\":\"error\",\"x-small\":\"\"}},slotProps.on),[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-ban\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.cancel'))+\" \")],1)]},null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"wrap\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.$t('leave.cancel.cancel')))]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('leave.cancel.cancellationDate'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.canceledAt),callback:function ($$v) {_vm.canceledAt=$$v},expression:\"canceledAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('leave.reason'),\"rows\":\"3\",\"auto-grow\":\"\"},model:{value:(_vm.cancelReason),callback:function ($$v) {_vm.cancelReason=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"cancelReason\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"leave\",\"entityID\":this.leaveID}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport Vue from 'vue';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\n\n/**\n * LeaveCancelDialog wraps a Vuetify v-dialog with a form to cancel a\n * Leave. Just like a v-dialog, it expects a v-model=\"\" attribute,\n * which trigger the visibility of the dialog. It also requires a\n * leaveID=\"\" parameter to indicate the Leave which should be\n * cancelled.\n */\nexport default Vue.extend({\n props: ['value', 'leaveID'],\n data() {\n return {\n isOpen: false,\n canceledAt: '',\n cancelReason: '',\n error: null as any,\n };\n },\n // created is the Vue component lifecycle callback which triggers\n // when the component appears on the page the first time.\n created() {\n this.reset();\n },\n watch: {\n value(val) {\n if (val) {\n this.reset();\n }\n },\n },\n methods: {\n // reset clears all form fields to their initial values\n reset(): void {\n this.canceledAt = moment().format();\n this.cancelReason = '';\n },\n // save submits the cancelation request to the server\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('leaves/cancel', {\n data: {\n leaveID: this.leaveID,\n canceledAt: this.canceledAt,\n cancelReason: this.cancelReason,\n },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n this.$store.commit('offender/prependToTarget', {\n target: 'leaveIDsForOffender',\n index: this.leaveID,\n value: Object.keys(newState.leave),\n });\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeaveCancelDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeaveCancelDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LeaveCancelDialog.vue?vue&type=template&id=4b785e6c&\"\nimport script from \"./LeaveCancelDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LeaveCancelDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport LeaveCancelDialog from '@/components/offender/leave/LeaveCancelDialog.vue';\n\nimport { Leave } from '@/vuex/offender/leave';\n\n/**\n * LeaveActions displays the correct array of buttons to\n * interact with a single Leave. It requires a leave=\"\" prop\n * which should be assigned a complete Leave object because\n * decision making about which buttons to show requires\n */\nexport default Vue.extend({\n props: {\n leaveID: Number,\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n\n // leave provides the Leave object from the Vuex store for our leaveID\n leave(): Leave | null {\n return this.$store.state.offender.leave[this.leaveID] || null;\n },\n\n /**\n * status is a convenience wrapper around leave.status. It returns 'unknown'\n * if the Leave object is not populated yet, otherwise it returns the\n * value of leave.status.\n */\n status(): string {\n if (!this.leave) {\n return 'unknown';\n }\n return this.leave.status;\n },\n\n /**\n * isApprovable returns true if this Leave is awaiting to be approved/denied\n * and the current user has permission to do that.\n */\n isApprovable(): boolean {\n if (this.status !== 'pending') {\n return false;\n }\n\n if (!this.leave) {\n return false;\n }\n\n return this.hasPermission(\n 'offender.leave.approve',\n 'facility',\n this.leave.housingFacilityID,\n );\n },\n\n /**\n * isStartable returns true if this Leave is in a startable state, and\n * the current user has permissions to start it.\n */\n isStartable(): boolean {\n if (this.status !== 'scheduled') {\n return false;\n }\n\n if (!this.leave) {\n return false;\n }\n\n return this.hasPermission(\n 'offender.leave.start',\n 'facility',\n this.leave.housingFacilityID,\n );\n },\n\n /**\n * isCancelable returns true if this Leave is in a cancellable state,\n * and the current user has permissions to cancel it.\n */\n isCancelable(): boolean {\n // Only allow cancellation when in a status where cancellation makes\n // sense.\n if (this.status !== 'pending' && this.status !== 'scheduled') {\n return false;\n }\n\n if (!this.leave) {\n return false;\n }\n\n return this.hasPermission(\n 'offender.leave.request',\n 'facility',\n this.leave.housingFacilityID,\n );\n },\n\n /**\n * isCompletable returns true if this Leave is in a completable state,\n * and the current user has the permission to mark it completed.\n */\n isCompletable(): boolean {\n if (this.status !== 'in-progress') {\n return false;\n }\n\n if (!this.leave) {\n return false;\n }\n\n return this.hasPermission(\n 'offender.leave.complete',\n 'facility',\n this.leave.housingFacilityID,\n );\n },\n },\n\n methods: {\n async approve(): Promise {\n const response = await offenderAPI.post('leaves/approve', {\n data: { leaveID: this.leaveID },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n },\n\n async deny(): Promise {\n const response = await offenderAPI.post('leaves/deny', {\n data: { leaveID: this.leaveID },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n },\n\n async start(): Promise {\n const response = await offenderAPI.post('leaves/start', {\n data: { leaveID: this.leaveID },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n },\n\n async complete(): Promise {\n const response = await offenderAPI.post('leaves/complete', {\n data: { leaveID: this.leaveID },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n },\n },\n components: {\n LeaveCancelDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeaveActions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeaveActions.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LeaveActions.vue?vue&type=template&id=622fd211&\"\nimport script from \"./LeaveActions.vue?vue&type=script&lang=ts&\"\nexport * from \"./LeaveActions.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('leave.backfillALeave')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",function(){return [_c('v-btn',_vm._g({attrs:{\"slot\":\"backfill\",\"x-small\":\"\",\"text\":\"\"},slot:\"backfill\"},slotProps.on),[_c('v-icon',{attrs:{\"left\":\"\",\"x-small\":\"\"}},[_vm._v(\"fa-fast-backward\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.backfill'))+\" \")],1)]},null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.offenderID}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('leave.release'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.releasedAt),callback:function ($$v) {_vm.releasedAt=$$v},expression:\"releasedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('leave.return'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.returnedAt),callback:function ($$v) {_vm.returnedAt=$$v},expression:\"returnedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('leave.authorizedByTitle'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.approverTitle),callback:function ($$v) {_vm.approverTitle=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"approverTitle\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('leave.authorizedByName'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.approverName),callback:function ($$v) {_vm.approverName=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"approverName\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('leave.reason'),\"items\":\"offender/leaveReasons\",\"exclude-unknown\":\"\"},model:{value:(_vm.reasonID),callback:function ($$v) {_vm.reasonID=$$v},expression:\"reasonID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-select',{attrs:{\"label\":_vm.$t('leave.status'),\"items\":_vm.statusOptions},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.$t('leave.statusOptions.' + item))+\" \")]}},{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.$t('leave.statusOptions.' + item))+\" \")]}}]),model:{value:(_vm.status),callback:function ($$v) {_vm.status=$$v},expression:\"status\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('FacilitySelector',{attrs:{\"label\":_vm.$t('housingFacility.singular'),\"disabled\":\"\"},model:{value:(_vm.housingFacilityID),callback:function ($$v) {_vm.housingFacilityID=$$v},expression:\"housingFacilityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('details'),\"rows\":\"2\",\"auto-grow\":\"\"},model:{value:(_vm.details),callback:function ($$v) {_vm.details=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"details\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"leave\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"disabled\":\"\",\"label\":_vm.$t('offender.singular'),\"value\":((_vm.profile.name) + \" \" + (_vm.profile.surname))}})],1),(_vm.offender.isDetainee)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"disabled\":\"\",\"label\":_vm.$t('offender.din'),\"value\":_vm.offender.DIN}})],1):_vm._e(),(!_vm.offender.isDetainee)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"disabled\":\"\",\"label\":_vm.$t('offender.pin'),\"value\":_vm.offender.PIN}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Profile } from '@/vuex/profile/profile';\nimport { Offender } from '@/vuex/offender/offender';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('offender', ['offenderWithID']),\n ...mapGetters('profile', ['profileWithID']),\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n profile(): Profile {\n return this.profileWithID(this.offender.profileID);\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderNameAndPIN.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderNameAndPIN.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderNameAndPIN.vue?vue&type=template&id=05ca024e&\"\nimport script from \"./OffenderNameAndPIN.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderNameAndPIN.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { Offender } from '@/vuex/offender/offender';\n\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n\n data() {\n return {\n isOpen: false,\n housingFacilityID: 0,\n reasonID: 0,\n statusOptions: ['in-progress', 'complete'],\n releasedAt: '',\n returnedAt: '',\n approverTitle: '',\n approverName: '',\n status: 'complete',\n details: '',\n error: null as any,\n };\n },\n\n computed: {\n ...mapGetters('offender', [\n 'offenderWithID',\n 'voluntaryLeaveDaysThisYearForOffender',\n ]),\n\n offender(): Offender | null {\n return this.offenderWithID(this.offenderID) || null;\n },\n\n totalLeaveDays(): number {\n return this.voluntaryLeaveDaysThisYearForOffender(this.offenderID);\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n const releaseDate = new Date();\n releaseDate.setDate(releaseDate.getDate() + 4);\n const returnDate = new Date();\n returnDate.setDate(returnDate.getDate() + 8);\n this.releasedAt = releaseDate.toISOString().substr(0, 10);\n this.returnedAt = returnDate.toISOString().substr(0, 10);\n this.approverTitle = '';\n this.approverName = '';\n this.reasonID = 0;\n this.status = 'complete';\n this.details = '';\n\n if (this.offender) {\n this.housingFacilityID = this.offender.housingFacilityID;\n }\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('leaves/backfill', {\n data: {\n offenderID: this.offenderID,\n housingFacilityID: this.housingFacilityID,\n releasedAt: this.releasedAt,\n returnedAt: this.returnedAt,\n reasonID: this.reasonID,\n status: this.status,\n details: this.details,\n approverTitle: this.approverTitle,\n approverName: this.approverName,\n },\n });\n const newState = response.data.data;\n const newID = Object.keys(newState.leave)[0];\n this.$store.commit('offender/setState', newState);\n this.$store.commit('offender/prependToTarget', {\n target: 'leaveIDsForOffender',\n index: this.offenderID,\n value: Object.keys(newState.leave),\n });\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n FacilitySelector,\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeaveBackfillDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeaveBackfillDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LeaveBackfillDialog.vue?vue&type=template&id=013285e4&\"\nimport script from \"./LeaveBackfillDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LeaveBackfillDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSelect,VTextField,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"max-width\":\"800px\",\"title\":_vm.$t('leave.schedule.scheduleALeave')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.offenderID}})],1)],1),_c('div',[_c('v-row',[(this.totalLeaveDays > 20)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-alert',{attrs:{\"type\":\"error\"}},[_vm._v(\" \"+_vm._s(_vm.$t('leave.confirm.leaveWarning'))+\" \")])],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('leave.schedule.estimatedReleaseDate'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.scheduledReleaseDate),callback:function ($$v) {_vm.scheduledReleaseDate=$$v},expression:\"scheduledReleaseDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('FacilitySelector',{attrs:{\"disabled\":true,\"label\":_vm.$t('housingFacility.singular'),\"must-accept-transfers\":\"\"},model:{value:(_vm.housingFacilityID),callback:function ($$v) {_vm.housingFacilityID=$$v},expression:\"housingFacilityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('transfer.estimatedDuration'),\"rules\":[function (v) { return v > 0 || _vm.$t('error.required'); }],\"suffix\":_vm.$t('time.days')},model:{value:(_vm.estimatedDurationInDays),callback:function ($$v) {_vm.estimatedDurationInDays=$$v},expression:\"estimatedDurationInDays\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('leave.authorizedByTitle'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.approverTitle),callback:function ($$v) {_vm.approverTitle=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"approverTitle\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('leave.authorizedByName'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.approverName),callback:function ($$v) {_vm.approverName=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"approverName\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('leave.reason'),\"items\":\"offender/leaveReasons\",\"exclude-unknown\":\"\"},model:{value:(_vm.reasonID),callback:function ($$v) {_vm.reasonID=$$v},expression:\"reasonID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"rows\":\"2\",\"auto-grow\":\"\",\"label\":_vm.$t('details')},model:{value:(_vm.details),callback:function ($$v) {_vm.details=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"details\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"leave\"}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { Offender } from '@/vuex/offender/offender';\nimport { LeaveReason } from '@/vuex/offender/leave';\n\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n data() {\n return {\n isOpen: false,\n scheduledReleaseDate: '',\n estimatedDurationInDays: 0,\n approverTitle: '',\n approverName: '',\n reasonID: LeaveReason.Personal,\n details: '',\n housingFacilityID: 0,\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('offender', [\n 'offenderWithID',\n 'voluntaryLeaveDaysThisYearForOffender',\n ]),\n offender(): Offender | null {\n return this.offenderWithID(this.offenderID) || null;\n },\n totalLeaveDays(): number {\n return this.voluntaryLeaveDaysThisYearForOffender(this.offenderID);\n },\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state\n */\n reset(): void {\n const releaseDate = new Date();\n releaseDate.setDate(releaseDate.getDate() + 4);\n const returnDate = new Date();\n returnDate.setDate(returnDate.getDate() + 8);\n this.scheduledReleaseDate = releaseDate.toISOString().substr(0, 10);\n this.estimatedDurationInDays = 0;\n this.approverTitle = '';\n this.approverName = '';\n this.reasonID = LeaveReason.Personal;\n this.details = '';\n if (this.offender) {\n this.housingFacilityID = this.offender.housingFacilityID;\n }\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('leaves/request', {\n data: {\n offenderID: this.offenderID,\n housingFacilityID: this.housingFacilityID,\n reasonID: this.reasonID,\n details: this.details,\n scheduledReleaseDate: this.scheduledReleaseDate,\n estimatedDurationInHours: this.estimatedDurationInDays * 24,\n approverTitle: this.approverTitle,\n approverName: this.approverName,\n },\n });\n const newState = response.data.data;\n const newID = Object.keys(newState.leave)[0];\n this.$store.commit('offender/setState', newState);\n this.$store.commit('offender/prependToTarget', {\n target: 'leaveIDsForOffender',\n index: this.offenderID,\n value: Object.keys(newState.leave),\n });\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n FacilitySelector,\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeaveRequestDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeaveRequestDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LeaveRequestDialog.vue?vue&type=template&id=2f09a5c3&\"\nimport script from \"./LeaveRequestDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LeaveRequestDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VAlert,VCol,VRow,VTextField,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Leave } from '@/vuex/offender/leave';\nimport { Offender } from '@/vuex/offender/offender';\n\nimport LeaveActions from '@/components/offender/leave/LeaveActions.vue';\nimport LeaveBackfillDialog from '@/components/offender/leave/LeaveBackfillDialog.vue';\nimport LeaveRequestDialog from '@/components/offender/leave/LeaveRequestDialog.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n contentOnly: Boolean,\n },\n\n created(): void {\n /**\n * At startup, we only want to fetch data if an offenderID was correctly\n * provided. A separate watcher on offenderID (see below) will trigger\n * data fetch if the offenderID is changed later.\n */\n if (this.offenderID) {\n this.fetchData();\n }\n },\n\n data(): any {\n return {\n hideInvoluntaryLeaves: false,\n };\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('offender', [\n 'leavesForOffender',\n 'voluntaryLeaveDaysThisYearForOffender',\n 'isVoluntaryLeave',\n 'offenderIsReleased',\n 'offenderWithID',\n ]),\n ...mapGetters('housing', ['facilityName']),\n\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n\n /**\n * leaves builds the current list of Leaves for this Offender from\n * the Vuex store data.\n */\n leaves(): Leave[] {\n const leaves = this.leavesForOffender(this.offenderID);\n if (this.hideInvoluntaryLeaves) {\n return leaves.filter(this.isVoluntaryLeave);\n }\n return leaves;\n },\n\n /**\n * isReleased computes whether this Offender has been released. It is used\n * to alter the display and disable features which are not used for\n * released Offenders.\n */\n isReleased(): boolean {\n return this.offenderIsReleased(this.offenderID);\n },\n\n /**\n * canAdd returns true if its acceptable to add a new *pending* leave. This\n * property only affects the large green + button, not the backfill feature.\n */\n canAdd(): boolean {\n if (this.offenderIsReleased(this.offenderID)) {\n // Released Offenders can't go on leave\n return false;\n }\n\n const activeLeaves = _.filter(this.leaves, (leave) => {\n return _.includes(\n ['pending', 'scheduled', 'in-progress'],\n leave.status,\n );\n });\n if (activeLeaves.length > 0) {\n return false;\n }\n\n return this.hasPermission(\n 'offender.leave.request',\n 'facility',\n this.offender.housingFacilityID,\n );\n },\n\n /**\n * canBackfill returns true if its acceptable to add a new historical leave.\n * (one which may have already have been completed).\n */\n canBackfill(): boolean {\n return this.hasPermission(\n 'offender.leave.backfill',\n 'facility',\n this.offender.housingFacilityID,\n );\n },\n\n /**\n * totalLeaveDays computes the total number of leave days this Offender\n * has used in the current year.\n */\n totalLeaveDays(): number {\n return this.voluntaryLeaveDaysThisYearForOffender(this.offenderID);\n },\n },\n\n watch: {\n /**\n * If offenderID prop is changed on this component, we need to ensure\n * data for the new Offender is fetched.\n */\n offenderID(val: number): void {\n if (this.offenderID) {\n this.fetchData();\n }\n },\n },\n\n methods: {\n /**\n * fetchData asks the Vuex store to fetch all leaves for this Offender and\n * update local state with the results. We don't need to listen for a\n * response because the `leaves` computed property will update automatically.\n */\n fetchData(): void {\n this.$store.dispatch('offender/fetchLeaves', {\n offenderID: this.offenderID,\n });\n },\n\n leaveDurationInDays(duration): number {\n return Math.floor(duration / 24.0);\n },\n\n leaveDurationBasedOnStatus(leave): number {\n if (leave.status === 'complete') {\n return leave.durationInHours;\n } else {\n return leave.estimatedDurationInHours;\n }\n },\n\n hideLeaveDuration(leave): boolean {\n return leave.status === 'denied' || leave.status === 'canceled';\n },\n },\n\n components: {\n LeaveActions,\n LeaveBackfillDialog,\n LeaveRequestDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeavesTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeavesTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LeavesTable.vue?vue&type=template&id=0c592694&\"\nimport script from \"./LeavesTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./LeavesTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCol,VList,VListItem,VListItemContent,VListItemSubtitle,VListItemTitle,VRow,VSimpleTable,VSpacer,VSwitch,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":_vm.contentOnly || _vm.isReleased,\"tile\":_vm.contentOnly || _vm.isReleased}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([(!_vm.contentOnly)?{key:\"extension\",fn:function(){return [_c('TransferAddMenu',{attrs:{\"offenderID\":_vm.offenderID},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_c('v-btn',_vm._g({attrs:{\"fab\":\"\",\"absolute\":\"\",\"bottom\":\"\",\"color\":\"accent\"}},slotProps.on),[_c('v-icon',[_vm._v(\"fa-plus\")])],1)]}}],null,false,908198896)}),_c('v-spacer'),_c('TransferBackfillDialog',{attrs:{\"offenderID\":_vm.offenderID}})]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('transfer.transferMoves')))]),_c('v-spacer'),_c('v-switch',{attrs:{\"hide-details\":\"\",\"label\":_vm.$t('transfer.hideMoves')},model:{value:(_vm.hideMoves),callback:function ($$v) {_vm.hideMoves=$$v},expression:\"hideMoves\"}})],1),_c('v-card-text',[_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('transfer.date')))]),_c('th',[_vm._v(_vm._s(_vm.$t('transfer.status')))]),_c('th',[_vm._v(_vm._s(_vm.$t('offender.din'))+\" / \"+_vm._s(_vm.$t('offender.pin')))]),_c('th',[_vm._v(_vm._s(_vm.$t('transfer.originFacility')))]),_c('th',[_vm._v(_vm._s(_vm.$t('transfer.destinationFacility')))]),_c('th',[_vm._v(_vm._s(_vm.$t('housing.singular')))]),_c('th',[_vm._v(_vm._s(_vm.$t('transfer.reason')))]),_c('th',[_vm._v(_vm._s(_vm.$t('action.plural')))])])]),_c('tbody',[(_vm.transfers.length === 0)?_c('tr',[_c('td',{staticStyle:{\"text-align\":\"center\"},attrs:{\"colspan\":\"8\"}},[_vm._v(\" \"+_vm._s(_vm.$t('error.nodata'))+\" \")])]):_vm._e(),_vm._l((_vm.transfers),function(transfer){return _c('tr',{key:transfer.id},[_c('td',[_c('Date',{attrs:{\"value\":transfer.scheduledDepartureAt}})],1),_c('td',[_vm._v(_vm._s(_vm.$t('transfer.statusOptions.' + transfer.status)))]),_c('td',[(\n transfer.status == 'completed' &&\n transfer.isDetainee &&\n transfer.din\n )?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('offender.din'))+\": \"+_vm._s(transfer.din)+\" \")]):_vm._e(),(\n transfer.status == 'completed' &&\n !transfer.isDetainee &&\n transfer.pin\n )?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('offender.pin'))+\": \"+_vm._s(transfer.pin)+\" \")]):_vm._e()]),_c('td',[_c('HousingFacilityName',{attrs:{\"id\":transfer.fromHousingFacilityID,\"hide-unknown\":\"\"}})],1),_c('td',[_c('HousingFacilityName',{attrs:{\"id\":transfer.toHousingFacilityID,\"hide-unknown\":\"\"}})],1),_c('td',[_c('HousingFacilityName',{attrs:{\"id\":transfer.toCellID,\"hide-unknown\":\"\"}})],1),_c('td',[(transfer.reasonID)?_c('span',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( transfer.reasonID, 'offender/transferReasons' ))+\" \")]):_vm._e()]),_c('td',[_c('div',{staticClass:\"d-flex\"},[_c('TransferActions',{attrs:{\"transferID\":transfer.id,\"offenderID\":_vm.offenderID}}),_c('ExpanderDialog',{attrs:{\"title\":_vm.$t('transfer.singular')}},[_c('v-row',[(transfer.status)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"label\":_vm.$t('transfer.status')}},[_vm._v(\" \"+_vm._s(_vm.$t('transfer.statusOptions.' + transfer.status))+\" \")]):_vm._e(),(transfer.isDetainee)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"label\":_vm.$t('offender.din'),\"value\":transfer.din}}):_vm._e(),(!transfer.isDetainee)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"label\":_vm.$t('offender.pin'),\"value\":transfer.pin}}):_vm._e()],1),(\n transfer.scheduledDepartureAt ||\n transfer.estimatedArrivalAt\n )?_c('v-row',[(transfer.scheduledDepartureAt)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.scheduledDepartureAt'),\"value\":transfer.scheduledDepartureAt}},[_c('Date',{attrs:{\"value\":transfer.scheduledDepartureAt}})],1):_vm._e(),(transfer.estimatedArrivalAt)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.estimatedArrivalAt'),\"value\":transfer.estimatedArrivalAt}},[_c('Date',{attrs:{\"value\":transfer.estimatedArrivalAt}})],1):_vm._e()],1):_vm._e(),(transfer.departedAt || transfer.arrivedAt)?_c('v-row',[(transfer.departedAt)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"label\":_vm.$t('transfer.departedAt'),\"value\":transfer.departedAt}},[_c('Date',{attrs:{\"value\":transfer.departedAt}})],1):_vm._e(),(transfer.arrivedAt)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.arrivedAt'),\"value\":transfer.arrivedAt}},[_c('Date',{attrs:{\"value\":transfer.arrivedAt}})],1):_vm._e()],1):_vm._e(),(\n transfer.fromHousingFacilityID ||\n transfer.toHousingFacilityID\n )?_c('v-row',[(transfer.fromHousingFacilityID)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.fromHousingFacility')}},[_c('HousingFacilityName',{attrs:{\"full\":\"\",\"id\":transfer.fromHousingFacilityID}})],1):_vm._e(),(transfer.toHousingFacilityID)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.toHousingFacility')}},[_c('HousingFacilityName',{attrs:{\"full\":\"\",\"id\":transfer.toHousingFacilityID}})],1):_vm._e()],1):_vm._e(),(transfer.fromCellID || transfer.toCellID)?_c('v-row',[(transfer.fromCellID)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.fromCell')}},[_c('HousingFacilityName',{attrs:{\"id\":transfer.fromCellID}})],1):_vm._e(),(transfer.toCellID)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.toCell')}},[_c('HousingFacilityName',{attrs:{\"id\":transfer.toCellID}})],1):_vm._e()],1):_vm._e(),(transfer.reasonID || transfer.notes)?_c('v-row',[(transfer.reasonID)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.reason'),\"value\":_vm.nameForIDInCollection(\n transfer.reasonID,\n 'offender/transferReasons'\n )}}):_vm._e(),(transfer.notes)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('notes'),\"value\":transfer.notes}}):_vm._e()],1):_vm._e(),(transfer.cancelDate || transfer.cancelReason)?_c('v-row',[(transfer.cancelDate)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.cancelDate'),\"value\":transfer.cancelDate}},[_c('Date',{attrs:{\"value\":transfer.cancelDate}})],1):_vm._e(),(transfer.cancelReason)?_c('LabeledData',{attrs:{\"cols\":\"6\",\"md\":\"6\",\"sm\":\"12\",\"label\":_vm.$t('transfer.cancelReason'),\"value\":transfer.cancelReason}}):_vm._e()],1):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsLinks',{attrs:{\"entityType\":\"transfer\",\"entityID\":transfer.id}})],1)],1)],1)],1)])])})],2)]},proxy:true}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.canTransfer || _vm.canMove)?_c('v-menu',{attrs:{\"bottom\":\"\",\"right\":\"\",\"offset-x\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",function(){return [_c('v-btn',_vm._g({staticClass:\"mx-1\",attrs:{\"small\":\"\",\"color\":\"accent\"}},slotProps.on),[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"swap_horiz\")]),_vm._v(\" \"+_vm._s(_vm.$t('transfer.singular'))+\" \")],1)]},null,slotProps)]}}],null,true)},[_c('v-list',[(_vm.canMove)?_c('MoveDialog',{attrs:{\"offenderID\":_vm.offenderID},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-list-item',_vm._g({},on),[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('command.move')))])],1)]}}],null,false,3987993597)}):_vm._e(),(_vm.canTransfer)?_c('TransferRequestDialog',{attrs:{\"offenderID\":_vm.offenderID},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-list-item',_vm._g({},on),[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('transfer.singular'))+\" \")])],1)]}}],null,false,2709051289)}):_vm._e()],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"value\":_vm.value,\"title\":_vm.$t('move.enterAMove')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",null,null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.offenderID}})],1)],1),(_vm.fromHousingFacilityID)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('move.moveDate'),\"past-dates-only\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.moveDate),callback:function ($$v) {_vm.moveDate=$$v},expression:\"moveDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('CellSelector',{attrs:{\"label\":_vm.$t('move.originLocation'),\"facilityID\":_vm.fromHousingFacilityID,\"disabled\":\"\",\"show-hidden\":\"\"},model:{value:(_vm.fromCellID),callback:function ($$v) {_vm.fromCellID=$$v},expression:\"fromCellID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('CellSelector',{attrs:{\"label\":_vm.$t('move.destinationLocation'),\"facilityID\":_vm.toHousingFacilityID,\"rules\":_vm.destinationRules},model:{value:(_vm.toCellID),callback:function ($$v) {_vm.toCellID=$$v},expression:\"toCellID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('move.reason'),\"items\":\"offender/transferReasons\",\"exclude-unknown\":\"\"},model:{value:(_vm.moveSelectedReasonID),callback:function ($$v) {_vm.moveSelectedReasonID=$$v},expression:\"moveSelectedReasonID\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-divider')],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-radio-group',{attrs:{\"row\":\"\"},model:{value:(_vm.isDetainee),callback:function ($$v) {_vm.isDetainee=$$v},expression:\"isDetainee\"}},[_c('v-radio',{attrs:{\"type\":\"radio\",\"label\":_vm.$t('offender.prisoner.singular'),\"value\":false}}),_c('v-radio',{attrs:{\"type\":\"radio\",\"label\":_vm.$t('offender.detainee.singular'),\"value\":true}})],1)],1),_c('v-col',{attrs:{\"cols\":\"8\"}},[(_vm.isDetainee)?_c('v-text-field',{attrs:{\"label\":_vm.$t('offender.din'),\"maxlength\":\"6\"},model:{value:(_vm.din),callback:function ($$v) {_vm.din=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"din\"}}):_vm._e(),(!_vm.isDetainee)?_c('v-text-field',{attrs:{\"label\":_vm.$t('offender.pin'),\"maxlength\":\"6\"},model:{value:(_vm.pin),callback:function ($$v) {_vm.pin=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"pin\"}}):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-divider')],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"name\":\"notes\",\"label\":_vm.$t('notes'),\"rows\":\"2\"},model:{value:(_vm.moveNotes),callback:function ($$v) {_vm.moveNotes=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"moveNotes\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"transfer\"}})],1)],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport Vue from 'vue';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\n\nimport { mapGetters } from 'vuex';\nimport { Offender } from '@/vuex/offender/offender';\nimport { Profile } from '@/vuex/profile/profile';\nimport { HousingFacility } from '@/vuex/housing/housing';\n\nimport CellSelector from '@/components/offender/facility/CellSelector.vue';\n\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n offenderID: Number,\n },\n\n data() {\n return {\n isOpen: false,\n\n moveDate: moment().format(),\n fromHousingFacilityID: 0,\n toHousingFacilityID: 0,\n fromCellID: 0,\n toCellID: 0,\n moveSelectedReasonID: 0,\n moveNotes: '',\n isDetainee: false,\n pin: '',\n din: '',\n error: null as any,\n };\n },\n\n computed: {\n ...mapGetters('housing', ['cellName', 'facilityName', 'facilityWithID']),\n ...mapGetters('offender', ['offenderWithID']),\n ...mapGetters('profile', ['profileWithID']),\n\n offender(): Offender {\n const offender = this.offenderWithID(this.offenderID);\n this.isDetainee = offender.isDetainee;\n return offender;\n },\n\n profile(): Profile {\n return this.profileWithID(this.offender.profileID);\n },\n\n destinationFacility(): HousingFacility {\n return this.facilityWithID(this.toCellID);\n },\n\n destinationRules(): any[] {\n let originID = 0;\n const rules = Array();\n\n if (this.offender) {\n originID = this.offender.cellID;\n }\n\n rules.push(\n (v) => v !== 0 || this.$i18n.t('transfer.error.unknownDestination'),\n );\n rules.push(\n (v) => v !== originID || this.$i18n.t('transfer.error.sameDestination'),\n );\n if (this.isDetainee) {\n rules.push(\n () =>\n this.destinationFacility.canHoldDetainees ||\n this.$i18n.t('transfer.error.detaineesNotAllowed'),\n );\n }\n if (!this.isDetainee) {\n rules.push(\n () =>\n this.destinationFacility.canHoldPrisoners ||\n this.$i18n.t('transfer.error.prisonersNotAllowed'),\n );\n }\n if (this.profile.genderID === 1) {\n rules.push(\n () =>\n this.destinationFacility.canHoldMales ||\n this.$i18n.t('transfer.error.malesNotAllowed'),\n );\n }\n if (this.profile.genderID === 2) {\n rules.push(\n () =>\n this.destinationFacility.canHoldFemales ||\n this.$i18n.t('transfer.error.femalesNotAllowed'),\n );\n }\n if (this.offender.isJuvenile) {\n rules.push(\n () =>\n this.destinationFacility.canHoldJuveniles ||\n this.$i18n.t('transfer.error.juvenilesNotAllowed'),\n );\n }\n if (!this.offender.isJuvenile) {\n rules.push(\n () =>\n this.destinationFacility.canHoldAdults ||\n this.$i18n.t('transfer.error.adultsNotAllowed'),\n );\n }\n return rules;\n },\n },\n\n watch: {\n offenderID(newVal: number) {\n this.reset();\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n if (this.offender) {\n this.fromHousingFacilityID = this.offender.housingFacilityID;\n this.toHousingFacilityID = this.offender.housingFacilityID;\n this.fromCellID = this.offender.cellID;\n this.isDetainee = this.offender.isDetainee;\n this.pin = this.offender.PIN; // TODO This should change to pin\n this.din = this.offender.DIN; // TODO This should change to din\n } else {\n this.fromHousingFacilityID = 0;\n this.toHousingFacilityID = 0;\n this.fromCellID = 0;\n }\n this.toCellID = 0;\n this.moveDate = moment().format();\n this.moveSelectedReasonID = 0;\n this.moveNotes = '';\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('transfers/record-move', {\n data: {\n offenderID: this.offenderID,\n fromHousingFacilityID: this.toHousingFacilityID || 0,\n toHousingFacilityID: this.fromHousingFacilityID,\n fromCellID: this.fromCellID || 0,\n toCellID: this.toCellID,\n scheduledDepartureAt: new Date(this.moveDate),\n reasonID: this.moveSelectedReasonID,\n notes: this.moveNotes || '',\n pin: this.pin,\n din: this.din,\n isDetainee: this.isDetainee,\n },\n });\n const newState = response.data.data;\n const newID = Object.keys(newState.transfer)[0];\n this.$store.commit('offender/setState', newState);\n this.$store.commit('offender/prependToTarget', {\n target: 'transferIDsForOffender',\n index: this.offenderID,\n value: Object.keys(newState.transfer),\n });\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n this.isOpen = false;\n\n // Dismiss the dialog\n this.close();\n\n // If the move was added from someplace other than offenderHousing\n // make sure we redirect there where the move can be seen\n this.goToHousingPage();\n } catch (error) {\n this.error = error;\n }\n },\n\n close(): void {\n this.reset();\n this.$emit('input', false);\n },\n\n /**\n * goToHousingPage does programmatic navigation to the referenced\n * offender's housing page (if we're not already there).\n */\n goToHousingPage(): void {\n this.$router\n .push({\n name: 'offenderHousing',\n params: { id: `${this.offenderID}` },\n })\n .catch(() => {\n // An error is thrown if we're already here\n // We can safely ignore it.\n });\n },\n },\n components: {\n CellSelector,\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MoveDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MoveDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MoveDialog.vue?vue&type=template&id=2d780c19&\"\nimport script from \"./MoveDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./MoveDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCol,VDivider,VRadio,VRadioGroup,VRow,VTextField,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('transfer.requestATransfer')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",null,null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.offenderID}}),_c('v-row',{attrs:{\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('transfer.estimatedTransferBeginDate'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.scheduledDepartureAt),callback:function ($$v) {_vm.scheduledDepartureAt=$$v},expression:\"scheduledDepartureAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('transfer.estimatedDuration'),\"suffix\":_vm.$t('time.days')},model:{value:(_vm.estimatedDurationInDays),callback:function ($$v) {_vm.estimatedDurationInDays=$$v},expression:\"estimatedDurationInDays\"}})],1)],1),_c('v-row',{attrs:{\"align\":\"start\"}},[(_vm.offender && _vm.offender.housingFacilityID)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('div',{staticClass:\"text-caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('transfer.transferOriginLocation'))+\" \")]),_c('div',{staticClass:\"body-1 black--text\"},[_c('HousingFacilityName',{attrs:{\"full\":\"\",\"id\":_vm.offender.housingFacilityID}})],1)]):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('FacilitySelector',{attrs:{\"label\":_vm.$t('transfer.transferDestinationLocation'),\"item-value\":\"id\",\"item-text\":function (v) { return v.name[_vm.locale]; },\"rules\":_vm.destinationRules,\"must-accept-transfers\":\"\"},model:{value:(_vm.selectedDestination),callback:function ($$v) {_vm.selectedDestination=$$v},expression:\"selectedDestination\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"space-between\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"5\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('transfer.reason'),\"items\":\"offender/transferReasons\",\"exclude-unknown\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.selectedReasonID),callback:function ($$v) {_vm.selectedReasonID=$$v},expression:\"selectedReasonID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('header',[_vm._v(_vm._s(_vm.$t('offender.statusAfterTransfer')))]),_c('v-radio-group',{attrs:{\"row\":\"\"},model:{value:(_vm.isDetainee),callback:function ($$v) {_vm.isDetainee=$$v},expression:\"isDetainee\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('offender.prisoner.singular'),\"type\":\"radio\",\"value\":false}}),_c('v-radio',{attrs:{\"label\":_vm.$t('offender.detainee.singular'),\"type\":\"radio\",\"value\":true}})],1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('notes'),\"rows\":\"2\",\"auto-grow\":\"\"},model:{value:(_vm.notes),callback:function ($$v) {_vm.notes=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"notes\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"transfer\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { HousingFacility } from '@/vuex/housing/housing';\nimport { Offender } from '@/vuex/offender/offender';\nimport { Profile } from '@/vuex/profile/profile';\n\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n data(): any {\n return {\n isOpen: false,\n\n estimatedDurationInDays: 0,\n scheduledDepartureAt: moment().format(),\n selectedDestination: 0,\n selectedReasonID: 0,\n notes: '',\n isDetainee: false,\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('housing', ['facilityWithID']),\n ...mapGetters('offender', ['offenderWithID']),\n ...mapGetters('profile', ['profileWithID']),\n\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n\n profile(): Profile {\n return this.profileWithID(this.offender.profileID);\n },\n\n destinationFacility(): HousingFacility {\n return this.facilityWithID(this.selectedDestination);\n },\n\n destinationRules(): any[] {\n let originID = 0;\n const rules = Array();\n\n if (this.offender) {\n originID = this.offender.housingFacilityID;\n }\n\n rules.push(\n (v) => v !== 0 || this.$i18n.t('transfer.error.unknownDestination'),\n );\n rules.push(\n (v) => v !== originID || this.$i18n.t('transfer.error.sameDestination'),\n );\n\n if (this.isDetainee) {\n rules.push(\n () =>\n this.destinationFacility.canHoldDetainees ||\n this.$i18n.t('transfer.error.detaineesNotAllowed'),\n );\n }\n\n if (!this.isDetainee) {\n rules.push(\n () =>\n this.destinationFacility.canHoldPrisoners ||\n this.$i18n.t('transfer.error.prisonersNotAllowed'),\n );\n }\n\n if (this.profile.genderID === 1) {\n rules.push(\n () =>\n this.destinationFacility.canHoldMales ||\n this.$i18n.t('transfer.error.malesNotAllowed'),\n );\n }\n\n if (this.profile.genderID === 2) {\n rules.push(\n () =>\n this.destinationFacility.canHoldFemales ||\n this.$i18n.t('transfer.error.femalesNotAllowed'),\n );\n }\n\n if (this.offender.isJuvenile) {\n rules.push(\n () =>\n this.destinationFacility.canHoldJuveniles ||\n this.$i18n.t('transfer.error.juvenilesNotAllowed'),\n );\n }\n\n if (!this.offender.isJuvenile) {\n rules.push(\n () =>\n this.destinationFacility.canHoldAdults ||\n this.$i18n.t('transfer.error.adultsNotAllowed'),\n );\n }\n return rules;\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n if (this.offender) {\n this.isDetainee = this.offender.isDetainee;\n }\n this.estimatedDurationInDays = 0;\n this.selectedDestination = 0;\n this.selectedReasonID = 0;\n this.notes = '';\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('transfers/request', {\n data: {\n offenderID: this.offenderID,\n fromHousingFacilityID: this.offender.housingFacilityID || 0,\n toHousingFacilityID: this.selectedDestination,\n scheduledDepartureAt: new Date(this.scheduledDepartureAt),\n estimatedDurationInHours: this.estimatedDurationInDays * 24,\n reasonID: this.selectedReasonID,\n notes: this.notes || '',\n isDetainee: this.isDetainee,\n },\n });\n const newState = response.data.data;\n const newID = Object.keys(newState.transfer)[0];\n this.$store.commit('offender/setState', newState);\n this.$store.commit('offender/prependToTarget', {\n target: 'transferIDsForOffender',\n index: this.offenderID,\n value: Object.keys(newState.transfer),\n });\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n\n // Close the Dialog\n this.isOpen = false;\n\n // Navigate to Housing in case the transfer was triggered from the\n // OffenderNavHeader area\n this.goToHousingPage();\n } catch (error) {\n this.error = error;\n }\n },\n\n /**\n * goToHousingPage does programmatic navigation to the referenced\n * offender's housing page (if we're not already there).\n */\n goToHousingPage(): void {\n this.$router\n .push({\n name: 'offenderHousing',\n params: { id: `${this.offenderID}` },\n })\n .catch(() => {\n // An error is thrown if we're already here\n // We can safely ignore it.\n });\n },\n },\n\n components: {\n FacilitySelector,\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferRequestDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferRequestDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TransferRequestDialog.vue?vue&type=template&id=33343ec0&\"\nimport script from \"./TransferRequestDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./TransferRequestDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCol,VRadio,VRadioGroup,VRow,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Offender } from '@/vuex/offender/offender';\nimport { ActiveTransferStatuses } from '@/vuex/offender/transfer';\n\nimport MoveDialog from '@/components/offender/transfer/MoveDialog.vue';\nimport TransferRequestDialog from '@/components/offender/transfer/TransferRequestDialog.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('offender', [\n 'offenderWithID',\n 'offenderIsReleased',\n 'transfersForOffender',\n ]),\n\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n\n /**\n * isReleased computes whether the currently viewed Offender has already\n * been released. It returns true if so.\n */\n isReleased(): boolean {\n return this.offenderIsReleased(this.offenderID);\n },\n\n /**\n * canMove returns true if the Move menu item should be displayed.\n * This can return false due to status (the prisoner is not movable) or due\n * to permissions (the currrent user is not allowed to do moves here).\n */\n canMove(): boolean {\n if (!this.offender) {\n return false;\n }\n\n if (this.isReleased) {\n return false;\n }\n\n if (this.hasActiveTransfer) {\n return false;\n }\n\n return this.hasPermission(\n 'offender.move',\n 'facility',\n this.offender.housingFacilityID,\n );\n },\n\n /* canTransfer returns true if the Tranfer menu item should be\n * displayed. This can return false due to status (the prisoner is not\n * in a Transferable state) or due to permissions (the currrent user is\n * not allowed to request transfers here).\n */\n canTransfer(): boolean {\n if (!this.offender) {\n return false;\n }\n\n if (this.isReleased) {\n return false;\n }\n\n if (this.hasActiveTransfer) {\n return false;\n }\n\n return this.hasPermission(\n 'offender.transfer.request',\n 'facility',\n this.offender.housingFacilityID,\n );\n },\n\n /**\n * hasActiveTransfer computes whether this Offender has a not-yet-completed\n * transfer\n */\n hasActiveTransfer(): boolean {\n const transfers = this.transfersForOffender(this.offenderID);\n const activeTransfers = _.filter(transfers, (transfer) => {\n return _.includes(ActiveTransferStatuses, transfer.status);\n });\n return activeTransfers.length > 0;\n },\n },\n\n components: {\n MoveDialog,\n TransferRequestDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferAddMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferAddMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TransferAddMenu.vue?vue&type=template&id=2978fbb6&\"\nimport script from \"./TransferAddMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./TransferAddMenu.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VList,VListItem,VListItemTitle,VMenu})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.canBackfill)?_c('CMSFormDialog',{attrs:{\"add\":\"\",\"max-width\":\"800px\",\"title\":_vm.$t('transfer.backfillATransfer')},on:{\"save\":_vm.save,\"reset\":_vm.reset},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",function(){return [_c('v-btn',_vm._g({attrs:{\"x-small\":\"\",\"text\":\"\"}},slotProps.on),[_c('v-icon',{attrs:{\"left\":\"\",\"x-small\":\"\"}},[_vm._v(\"fa-fast-backward\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.backfill'))+\" \")],1)]},null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.offenderID}}),_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('transfer.transferredDate'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.arrivedAt),callback:function ($$v) {_vm.arrivedAt=$$v},expression:\"arrivedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('FacilitySelector',{attrs:{\"label\":_vm.$t('transfer.transferOriginLocation'),\"must-accept-transfers\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.fromHousingFacilityID),callback:function ($$v) {_vm.fromHousingFacilityID=$$v},expression:\"fromHousingFacilityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('FacilitySelector',{attrs:{\"label\":_vm.$t('transfer.transferDestinationLocation'),\"must-accept-transfers\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.toHousingFacilityID),callback:function ($$v) {_vm.toHousingFacilityID=$$v},expression:\"toHousingFacilityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('transfer.reason'),\"items\":\"offender/transferReasons\",\"exclude-unknown\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.reasonID),callback:function ($$v) {_vm.reasonID=$$v},expression:\"reasonID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('notes'),\"rows\":\"2\",\"auto-grow\":\"\"},model:{value:(_vm.notes),callback:function ($$v) {_vm.notes=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"notes\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"transfer\"}})],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { Offender } from '@/vuex/offender/offender';\n\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n\n data(): any {\n return {\n isOpen: false,\n error: null as any,\n\n reasonID: 0,\n fromHousingFacilityID: 0,\n toHousingFacilityID: 0,\n arrivedAt: moment().format(),\n notes: '',\n };\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('offender', ['offenderWithID']),\n\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n\n /**\n * canBackfill computes whether a Transfer can be backfilled. It controls\n * whether or not this dialog's activator is visible.\n */\n canBackfill(): boolean {\n if (!this.offender) {\n return false;\n }\n\n return this.hasPermission('offender.transfer.backfill');\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.arrivedAt = moment().format();\n this.reasonID = 0;\n this.toHousingFacilityID = 0;\n this.notes = '';\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('transfers/backfill', {\n data: {\n offenderID: this.offenderID,\n fromHousingFacilityID: this.fromHousingFacilityID,\n toHousingFacilityID: this.toHousingFacilityID,\n arrivedAt: this.arrivedAt,\n reasonID: this.reasonID,\n notes: this.notes,\n },\n });\n const newState = response.data.data;\n const newID = Object.keys(newState.transfer)[0];\n this.$store.commit('offender/setState', newState);\n this.$store.commit('offender/prependToTarget', {\n target: 'transferIDsForOffender',\n index: this.offenderID,\n value: Object.keys(newState.transfer),\n });\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n\n // Close the Dialog\n this.isOpen = false;\n } catch (err) {\n this.error = err;\n }\n },\n },\n\n components: {\n FacilitySelector,\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferBackfillDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferBackfillDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TransferBackfillDialog.vue?vue&type=template&id=262259a4&\"\nimport script from \"./TransferBackfillDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./TransferBackfillDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Transfer } from '@/vuex/offender/transfer';\n\nimport TransferActions from '@/components/offender/transfer/TransferActions.vue';\nimport TransferAddMenu from '@/components/offender/transfer/TransferAddMenu.vue';\nimport TransferBackfillDialog from '@/components/offender/transfer/TransferBackfillDialog.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n contentOnly: Boolean,\n },\n\n created() {\n this.fetchData();\n },\n\n data() {\n return {\n hideMoves: false,\n };\n },\n\n computed: {\n ...mapGetters('offender', ['transfersForOffender', 'offenderIsReleased']),\n ...mapGetters('language', ['nameForIDInCollection']),\n\n /**\n * transfers computes the array of Transfer objects to display in the table\n */\n transfers(): Transfer[] {\n const transfers = this.transfersForOffender(this.offenderID);\n if (this.hideMoves) {\n return transfers.filter(this.isTransfer);\n }\n return transfers;\n },\n\n /**\n * isReleased computes whether this Offender has been released. It is used\n * to alter the display and disable features which are not used for\n * released Offenders.\n */\n isReleased(): boolean {\n return this.offenderIsReleased(this.offenderID);\n },\n },\n\n watch: {\n offenderID(val: number): void {\n if (this.offenderID) {\n this.fetchData();\n }\n },\n },\n\n methods: {\n /**\n * fetchData performs the API call to populate the list of this Offender's\n * transfers\n */\n async fetchData(): Promise {\n this.$store.dispatch('offender/fetchTransfers', {\n offenderID: this.offenderID,\n });\n },\n\n /**\n * isTransfer takes a full Transfer object and returns true if its a\n * facility-to-facility, real Transfer and not an internal Move.\n */\n isTransfer(transfer: Transfer): boolean {\n return transfer.toHousingFacilityID !== transfer.fromHousingFacilityID;\n },\n },\n\n components: {\n TransferActions,\n TransferAddMenu,\n TransferBackfillDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransfersTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransfersTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TransfersTable.vue?vue&type=template&id=58f54de8&\"\nimport script from \"./TransfersTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./TransfersTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VIcon,VRow,VSimpleTable,VSpacer,VSwitch,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport _ from 'lodash';\n\nimport AccompanyingChildrenTable from '@/components/offender/accompanyingChild/AccompanyingChildrenTable.vue';\nimport LeavesTable from '@/components/offender/leave/LeavesTable.vue';\nimport TransfersTable from '@/components/offender/transfer/TransfersTable.vue';\n\n/*\n * The AccompanyingChildrenTable component is always included in the markup,\n * BUT will become invisible if not relevant for this offender (see the\n * component itself for those rules)\n */\nexport default Vue.extend({\n props: {\n id: Number,\n contentOnly: Boolean,\n },\n components: {\n AccompanyingChildrenTable,\n LeavesTable,\n TransfersTable,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderHousing.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderHousing.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderHousing.vue?vue&type=template&id=c2dae3b4&\"\nimport script from \"./OffenderHousing.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderHousing.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.id)?_c('v-row',[_c('v-col',{staticClass:\"text-h4\",attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.$t('medical.medical')))]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ExamsTable',{attrs:{\"contentOnly\":_vm.contentOnly,\"id\":_vm.id}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TreatmentsTable',{attrs:{\"contentOnly\":_vm.contentOnly,\"id\":_vm.id}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('IntakeHealthScreeningTable',{attrs:{\"contentOnly\":_vm.contentOnly,\"id\":_vm.id}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('HealthHistoryRecordTable',{attrs:{\"contentOnly\":_vm.contentOnly,\"id\":_vm.id}})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":_vm.contentOnly || _vm.isReleased,\"tile\":_vm.contentOnly || _vm.isReleased}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([(_vm.canAdd && !_vm.contentOnly)?{key:\"extension\",fn:function(){return [_c('AddExamDialog',{attrs:{\"offenderID\":_vm.id}})]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('medical.exam.plural')))])],1),_c('v-card-text',[_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',{staticClass:\"date\"},[_vm._v(_vm._s(_vm.$t('medical.exam.date')))]),_c('th',{staticClass:\"facility\"},[_vm._v(\" \"+_vm._s(_vm.$t('housingFacility.singular'))+\" \")]),_c('th',[_vm._v(_vm._s(_vm.$t('medical.exam.type')))]),_c('th',[_vm._v(_vm._s(_vm.$t('medical.exam.chiefComplaint')))]),_c('th',[_vm._v(_vm._s(_vm.$t('medical.exam.diagnosis')))]),_c('th',[_vm._v(_vm._s(_vm.$t('medical.exam.prescription')))]),_c('th',[_vm._v(_vm._s(_vm.$t('action.plural')))])])]),_c('tbody',[(_vm.exams.length === 0)?_c('tr',[_c('td',{staticStyle:{\"text-align\":\"center\"},attrs:{\"colspan\":\"8\"}},[_vm._v(\" \"+_vm._s(_vm.$t('error.nodata'))+\" \")])]):_vm._e(),_vm._l((_vm.exams),function(exam,index){return _c('tr',{key:index},[_c('td',[_c('Date',{attrs:{\"value\":exam.createdAt}})],1),_c('td',[_vm._v(_vm._s(_vm.facilityName(exam.housingFacilityID)))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(exam.visitTypeID, 'offender/visitTypes'))+\" \")]),_c('td',[_vm._v(_vm._s(exam.chiefComplaint))]),_c('td',[_vm._v(_vm._s(exam.diagnosis))]),_c('td',[_vm._v(_vm._s(exam.prescription))]),_c('td',[_c('ExpanderDialog',{attrs:{\"title\":_vm.$t('medical.exam.singular')}},[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('medical.exam.date')}},[_c('Date',{attrs:{\"value\":exam.createdAt}})],1),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('medical.exam.visitType')}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( exam.visitTypeID, 'offender/visitTypes' ))+\" \")]),(exam.doctor != null)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('medical.exam.doctor'),\"value\":exam.doctor}}):_vm._e(),(exam.housingFacilityID != null)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('location.singular'),\"value\":_vm.facilityName(exam.housingFacilityID)}}):_vm._e()],1),(\n exam.chiefComplaint ||\n exam.diagnosis ||\n exam.historyOfPresentIllness ||\n exam.prescription ||\n exam.followUpAt != null ||\n exam.hospitilizationRecommended != false\n )?_c('v-divider'):_vm._e(),(exam.visitTypeID)?_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.chiefComplaint'),\"value\":exam.chiefComplaint}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.diagnosis'),\"value\":exam.diagnosis}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"12\",\"label\":_vm.$t('medical.exam.historyOfPresentIllnessHPI'),\"value\":exam.historyOfPresentIllness}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('medical.exam.prescription'),\"value\":exam.prescription}}),(exam.followUpAt != null)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('medical.exam.followUpAt')}},[_c('Date',{attrs:{\"value\":exam.followUpAt}})],1):_vm._e(),(exam.hospitilizationRecommended != false)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('medical.exam.hospitalizationRecommended'),\"value\":exam.hospitilizationRecommended}}):_vm._e()],1):_vm._e(),(\n exam.infectiousDiseaseIDs ||\n exam.drugIDs ||\n exam.mentalDisorderIDs ||\n exam.disabilityIDs ||\n exam.motherChildConcernIDs ||\n exam.visitTypeID\n )?_c('v-divider'):_vm._e(),(exam.visitTypeID != null)?_c('v-row',[(exam.infectiousDiseaseIDs != null)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.infectiousDiseases'),\"value\":_vm.findDiseases(exam.infectiousDiseaseIDs)}}):_vm._e(),(exam.drugIDs != null)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.drugs'),\"value\":_vm.findDrugs(exam.drugIDs)}}):_vm._e(),(exam.mentalDisorderIDs != null)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.mentalDisorders'),\"value\":_vm.findDisorders(exam.mentalDisorderIDs)}}):_vm._e(),(exam.disabilityIDs != null)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.disabilities'),\"value\":exam.disabilityIDs,\"lookup-table\":\"offender/disabilities\"}}):_vm._e(),(exam.motherChildConcernIDs != null)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.motherChildConcerns'),\"value\":_vm.findMotherChildConcern(exam.motherChildConcernIDs)}}):_vm._e()],1):_vm._e(),(\n exam.appearance ||\n exam.speech ||\n exam.affect ||\n exam.perception ||\n exam.cognition ||\n exam.judgement ||\n exam.behavior ||\n exam.mood ||\n exam.thoughts ||\n exam.insight\n )?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('v-divider')],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('v-row',[_c('h3',{staticStyle:{\"padding-left\":\"10px\"}},[_vm._v(\" \"+_vm._s(_vm.$t('medical.exam.mentalStatusExam'))+\" \")])])],1)],1):_vm._e(),(exam.visitTypeID)?_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.appearance'),\"value\":exam.appearance}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.speech'),\"value\":exam.speech}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.affect'),\"value\":exam.affect}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.perception'),\"value\":exam.perception}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.judgement'),\"value\":exam.judgement}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.behavior'),\"value\":exam.behavior}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.mood'),\"value\":exam.mood}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.thoughts'),\"value\":exam.thoughts}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.insight'),\"value\":exam.insight}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.cognition'),\"value\":exam.cognition}})],1):_vm._e(),(exam.remarks)?_c('v-divider'):_vm._e(),_c('v-row',[(exam.remarks != null)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.exam.remarks'),\"value\":exam.remarks}}):_vm._e()],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsLinks',{attrs:{\"entityType\":\"exam\",\"entityID\":exam.id}})],1)],1)],1)],1)])})],2)]},proxy:true}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('medical.exam.addExam'),\"max-width\":\"950\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.offenderID}}),_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('medical.exam.date'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.createdAt),callback:function ($$v) {_vm.createdAt=$$v},expression:\"createdAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('FacilitySelector',{attrs:{\"label\":_vm.$t('housingFacility.singular'),\"disabled\":\"\",\"must-accept-transfers\":\"\"},model:{value:(_vm.housingFacilityID),callback:function ($$v) {_vm.housingFacilityID=$$v},expression:\"housingFacilityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('medical.exam.visitType'),\"items\":\"offender/visitTypes\"},model:{value:(_vm.visitTypeID),callback:function ($$v) {_vm.visitTypeID=$$v},expression:\"visitTypeID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('medical.exam.doctor'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.doctor),callback:function ($$v) {_vm.doctor=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"doctor\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('medical.exam.chiefComplaintCC'),\"rows\":\"2\",\"auto-grow\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.chiefComplaint),callback:function ($$v) {_vm.chiefComplaint=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"chiefComplaint\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('medical.exam.historyOfPresentIllnessHPI'),\"rows\":\"2\",\"auto-grow\":\"\"},model:{value:(_vm.historyOfPresentIllness),callback:function ($$v) {_vm.historyOfPresentIllness=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"historyOfPresentIllness\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('medical.exam.diagnosis'),\"rows\":\"7\",\"auto-grow\":\"\"},model:{value:(_vm.diagnosis),callback:function ($$v) {_vm.diagnosis=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"diagnosis\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('medical.exam.enterPrescription')},model:{value:(_vm.prescription),callback:function ($$v) {_vm.prescription=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"prescription\"}}),_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('medical.exam.followUpAt')},model:{value:(_vm.followUpAt),callback:function ($$v) {_vm.followUpAt=$$v},expression:\"followUpAt\"}}),_c('v-checkbox',{attrs:{\"label\":_vm.$t('medical.exam.hospitalizationRecommended'),\"hide-details\":\"\"},model:{value:(_vm.hospitilizationRecommended),callback:function ($$v) {_vm.hospitilizationRecommended=$$v},expression:\"hospitilizationRecommended\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('medical.exam.selectInfectiousDisease'),\"items\":\"offender/infectiousDiseases\",\"multiple\":\"\",\"chips\":\"\",\"deletable-chips\":\"\"},model:{value:(_vm.infectiousDiseaseIDs),callback:function ($$v) {_vm.infectiousDiseaseIDs=$$v},expression:\"infectiousDiseaseIDs\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('medical.exam.selectMentalDisorders'),\"items\":\"offender/mentalDisorders\",\"multiple\":\"\",\"chips\":\"\",\"deletable-chips\":\"\"},model:{value:(_vm.mentalDisorderIDs),callback:function ($$v) {_vm.mentalDisorderIDs=$$v},expression:\"mentalDisorderIDs\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('medical.exam.selectDrugs'),\"items\":\"offender/drugAddictions\",\"multiple\":\"\",\"chips\":\"\",\"deletable-chips\":\"\"},model:{value:(_vm.drugIDs),callback:function ($$v) {_vm.drugIDs=$$v},expression:\"drugIDs\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('medical.exam.selectDisabilities'),\"items\":\"offender/disabilities\",\"multiple\":\"\",\"chips\":\"\",\"deletable-chips\":\"\"},model:{value:(_vm.disabilityIDs),callback:function ($$v) {_vm.disabilityIDs=$$v},expression:\"disabilityIDs\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('classification.motherChildConcerns'),\"items\":\"offender/motherAndChildConcerns\",\"multiple\":\"\",\"chips\":\"\",\"deletable-chips\":\"\"},model:{value:(_vm.motherChildConcernIDs),callback:function ($$v) {_vm.motherChildConcernIDs=$$v},expression:\"motherChildConcernIDs\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('medical.exam.addMentalStatusExam'),\"hide-details\":\"\"},model:{value:(_vm.mentalStatusCheckbox),callback:function ($$v) {_vm.mentalStatusCheckbox=$$v},expression:\"mentalStatusCheckbox\"}}),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.mentalStatusCheckbox),expression:\"mentalStatusCheckbox\"}]},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('medical.exam.appearance')},model:{value:(_vm.appearance),callback:function ($$v) {_vm.appearance=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"appearance\"}}),_c('v-textarea',{attrs:{\"label\":_vm.$t('medical.exam.speech')},model:{value:(_vm.speech),callback:function ($$v) {_vm.speech=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"speech\"}}),_c('v-textarea',{attrs:{\"label\":_vm.$t('medical.exam.affect')},model:{value:(_vm.affect),callback:function ($$v) {_vm.affect=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"affect\"}}),_c('v-textarea',{attrs:{\"label\":_vm.$t('medical.exam.perception')},model:{value:(_vm.perception),callback:function ($$v) {_vm.perception=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"perception\"}}),_c('v-textarea',{attrs:{\"label\":_vm.$t('medical.exam.judgement')},model:{value:(_vm.judgement),callback:function ($$v) {_vm.judgement=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"judgement\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('medical.exam.behavior')},model:{value:(_vm.behavior),callback:function ($$v) {_vm.behavior=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"behavior\"}}),_c('v-textarea',{attrs:{\"label\":_vm.$t('medical.exam.mood')},model:{value:(_vm.mood),callback:function ($$v) {_vm.mood=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"mood\"}}),_c('v-textarea',{attrs:{\"label\":_vm.$t('medical.exam.thoughts')},model:{value:(_vm.thoughts),callback:function ($$v) {_vm.thoughts=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"thoughts\"}}),_c('v-textarea',{attrs:{\"label\":_vm.$t('medical.exam.insight')},model:{value:(_vm.insight),callback:function ($$v) {_vm.insight=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"insight\"}}),_c('v-textarea',{attrs:{\"label\":_vm.$t('medical.exam.cognition')},model:{value:(_vm.cognition),callback:function ($$v) {_vm.cognition=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"cognition\"}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('medical.exam.remarks'),\"rows\":\"2\",\"auto-grow\":\"\"},model:{value:(_vm.remarks),callback:function ($$v) {_vm.remarks=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"remarks\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"exam\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { Offender } from '@/vuex/offender/offender';\nimport { Profile } from '@/vuex/profile/profile';\nimport { VisitType } from '@/vuex/offender/medical';\n\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n data() {\n return {\n isOpen: false,\n error: null as any,\n\n // Set the initial state of every form element\n housingFacilityID: 0,\n createdAt: moment().format(),\n visitTypeID: VisitType.Exam,\n doctor: '',\n chiefComplaint: '',\n historyOfPresentIllness: '',\n diagnosis: '',\n prescription: '',\n followUpAt: '',\n hospitilizationRecommended: false,\n infectiousDiseaseIDs: [] as number[],\n drugIDs: [] as number[],\n mentalDisorderIDs: [] as number[],\n disabilityIDs: [] as number[],\n motherChildConcernIDs: [] as number[],\n mentalStatusCheckbox: false,\n appearance: '',\n behavior: '',\n speech: '',\n mood: '',\n affect: '',\n thoughts: '',\n perception: '',\n insight: '',\n judgement: '',\n cognition: '',\n remarks: '',\n };\n },\n computed: {\n ...mapGetters('offender', ['offenderWithID']),\n ...mapGetters('profile', ['profileWithID']),\n\n offender(): Offender | null {\n return this.offenderWithID(this.offenderID) || null;\n },\n\n profile(): Profile | null {\n if (!this.offender) {\n return null;\n }\n return this.profileWithID(this.offender.profileID) || null;\n },\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.error = null;\n\n this.createdAt = moment().format();\n this.visitTypeID = VisitType.Exam;\n this.doctor = '';\n this.chiefComplaint = '';\n this.historyOfPresentIllness = '';\n this.diagnosis = '';\n this.prescription = '';\n this.followUpAt = ''; // Follow-up should be blank until populated\n this.hospitilizationRecommended = false;\n this.infectiousDiseaseIDs = [];\n this.drugIDs = [];\n this.mentalDisorderIDs = [];\n this.disabilityIDs = [];\n this.motherChildConcernIDs = [];\n this.mentalStatusCheckbox = false;\n this.appearance = '';\n this.behavior = '';\n this.speech = '';\n this.mood = '';\n this.affect = '';\n this.thoughts = '';\n this.perception = '';\n this.insight = '';\n this.judgement = '';\n this.cognition = '';\n this.remarks = '';\n\n if (this.offender) {\n this.housingFacilityID = this.offender.housingFacilityID;\n } else {\n this.housingFacilityID = 0;\n }\n\n if (this.profile) {\n // Use the ES6 spread operator to get a copy of these arrays\n // so that the original ones are not modified merely by\n // interacting with the form and then canceling the submission.\n this.infectiousDiseaseIDs = [...this.profile.infectiousDiseaseIDs];\n this.mentalDisorderIDs = [...this.profile.mentalDisorderIDs];\n this.motherChildConcernIDs = [...this.profile.motherChildConcernIDs];\n } else {\n this.infectiousDiseaseIDs = [];\n this.motherChildConcernIDs = [];\n this.mentalDisorderIDs = [];\n }\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n const newExam = {\n offenderID: this.offenderID,\n housingFacilityID: this.housingFacilityID,\n createdAt: this.createdAt,\n visitTypeID: this.visitTypeID,\n doctor: this.doctor,\n chiefComplaint: this.chiefComplaint,\n historyOfPresentIllness: this.historyOfPresentIllness,\n diagnosis: this.diagnosis,\n prescription: this.prescription,\n followUpAt: this.followUpAt,\n hospitilizationRecommended: this.hospitilizationRecommended,\n infectiousDiseaseIDs: this.infectiousDiseaseIDs,\n mentalDisorderIDs: this.mentalDisorderIDs,\n motherChildConcernIDs: this.motherChildConcernIDs,\n drugIDs: this.drugIDs,\n disabilityIDs: this.disabilityIDs,\n remarks: this.remarks,\n };\n if (this.mentalStatusCheckbox) {\n /**\n * Only add the mental status exam fields if the\n * user checked the box.\n */\n Object.assign(newExam, {\n appearance: this.appearance,\n behavior: this.behavior,\n speech: this.speech,\n mood: this.mood,\n affect: this.affect,\n thoughts: this.thoughts,\n perception: this.perception,\n insight: this.insight,\n judgement: this.judgement,\n cognition: this.cognition,\n });\n }\n\n try {\n const response = await offenderAPI.post('exams/create', {\n data: newExam,\n });\n\n const combinedState = _.get(response, 'data.data', {});\n\n const offenderState = _.pick(combinedState, ['offender', 'exam']);\n const newID = Object.keys(offenderState.exam)[0];\n this.$store.commit('offender/setState', offenderState);\n this.$store.commit('offender/prependToTarget', {\n target: 'examIDsForOffender',\n index: this.offenderID,\n value: Object.keys(offenderState.exam),\n });\n\n const profileState = _.pick(combinedState, ['profile']);\n this.$store.commit('profile/setState', profileState);\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n FacilitySelector,\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddExamDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddExamDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddExamDialog.vue?vue&type=template&id=4f004a22&\"\nimport script from \"./AddExamDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddExamDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCheckbox,VCol,VRow,VTextField,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { Exam } from '@/vuex/offender/medical';\nimport { Offender } from '@/vuex/offender/offender';\n\nimport AddExamDialog from '@/components/offender/medical/AddExamDialog.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n contentOnly: Boolean,\n },\n created(): void {\n if (this.id) {\n this.fetchData();\n }\n },\n data(): any {\n return {\n adding: false,\n };\n },\n watch: {\n id(val: number): void {\n if (this.id) {\n this.fetchData();\n }\n },\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('housing', ['facilityName']),\n ...mapGetters('offender', [\n 'examsForOffender',\n 'offenderIsReleased',\n 'offenderWithID',\n ]),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('offender', [\n 'mentalDisorders',\n 'infectiousDiseases',\n 'disabilities',\n 'drugAddictions',\n 'motherAndChildConcerns',\n ]),\n\n offender(): Offender {\n return this.offenderWithID(this.id);\n },\n\n exams(): Exam[] {\n return this.examsForOffender(this.id);\n },\n\n /**\n * isReleased computes whether this Offender has been released. It is used\n * to alter the display and disable features which are not used for\n * released Offenders.\n */\n isReleased(): boolean {\n return this.offenderIsReleased(this.id);\n },\n\n /**\n * canAdd returns true if its acceptable to add a new Sentence Adjustment\n */\n canAdd(): boolean {\n return (\n !this.isReleased &&\n this.hasPermission(\n 'offender.medical.createExam',\n 'facility',\n this.offender.housingFacilityID,\n )\n );\n },\n },\n methods: {\n fetchData(): void {\n this.$store.dispatch('offender/fetchExams', {\n offenderID: this.id,\n });\n },\n findDisorders(val: number[]): string[] {\n return _.map(val, (id) =>\n this.nameForIDInCollection(id, this.mentalDisorders),\n );\n },\n findDiseases(val: number[]): string[] {\n return _.map(val, (id) =>\n this.nameForIDInCollection(id, this.infectiousDiseases),\n );\n },\n findDisabilities(val: number[]): string[] {\n return _.map(val, (id) =>\n this.nameForIDInCollection(id, this.disabilities),\n );\n },\n findDrugs(val: number[]): string[] {\n return _.map(val, (id) =>\n this.nameForIDInCollection(id, this.drugAddictions),\n );\n },\n findMotherChildConcern(val: number[]): string[] {\n return _.map(val, (id) =>\n this.nameForIDInCollection(id, this.motherAndChildConcerns),\n );\n },\n },\n components: {\n AddExamDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExamsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExamsTable.vue?vue&type=template&id=f23cde46&\"\nimport script from \"./ExamsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExamsTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCol,VDivider,VRow,VSimpleTable,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":_vm.contentOnly || _vm.isReleased,\"tile\":_vm.contentOnly || _vm.isReleased}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([(_vm.canAdd && !_vm.contentOnly)?{key:\"extension\",fn:function(){return [_c('AddHealthHistoryRecordDialog',{attrs:{\"offenderID\":_vm.id}})]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('medical.history.history')))])],1),_c('v-card-text',[(_vm.healthHistoryRecords.length === 0)?_c('v-container',[_c('div',{attrs:{\"align\":\"center\"}},[_vm._v(_vm._s(_vm.$t('error.nodata')))])]):_vm._e(),_vm._l((_vm.healthHistoryRecords),function(healthHistoryRecord,index){return _c('v-container',{key:healthHistoryRecord.id},[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.history.date')}},[_c('Date',{attrs:{\"value\":healthHistoryRecord.createdAt}})],1),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.history.medicalProfessional'),\"value\":healthHistoryRecord.medicalProfessional}})],1),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"12\",\"label\":_vm.$t('notes'),\"value\":healthHistoryRecord.notes}})],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsLinks',{attrs:{\"entityType\":\"healthHistoryRecord\",\"entityID\":healthHistoryRecord.id}})],1)],1),(index !== _vm.last)?_c('v-divider',{staticClass:\"mt-4\"}):_vm._e()],1)})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('medical.history.addHistory')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.offenderID}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('medical.history.date'),\"past-dates-only\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.createdAt),callback:function ($$v) {_vm.createdAt=$$v},expression:\"createdAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('medical.history.medicalProfessional'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.medicalProfessional),callback:function ($$v) {_vm.medicalProfessional=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"medicalProfessional\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('notes'),\"rows\":\"2\",\"auto-grow\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.notes),callback:function ($$v) {_vm.notes=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"notes\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"healthHistoryRecord\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport Vue from 'vue';\nimport offenderAPI from '@/vuex/offender/offenderAPI';\n\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n data(): any {\n return {\n isOpen: false,\n\n createdAt: moment().format(),\n medicalProfessional: '',\n notes: '',\n error: null as any,\n };\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.createdAt = moment().format();\n this.medicalProfessional = '';\n this.notes = '';\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post(\n 'health-history-records/create',\n {\n data: {\n offenderID: this.offenderID,\n createdAt: this.createdAt,\n medicalProfessional: this.medicalProfessional,\n notes: this.notes,\n },\n },\n );\n const newState = response.data.data;\n const newID = Object.keys(newState.healthHistoryRecord)[0];\n this.$store.commit('offender/setState', newState);\n this.$store.commit('offender/prependToTarget', {\n target: 'healthHistoryRecordIDsForOffender',\n index: this.offenderID,\n value: Object.keys(newState.healthHistoryRecord),\n });\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddHealthHistoryRecordDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddHealthHistoryRecordDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddHealthHistoryRecordDialog.vue?vue&type=template&id=b28da460&\"\nimport script from \"./AddHealthHistoryRecordDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddHealthHistoryRecordDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCol,VRow,VTextField,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { HealthHistoryRecord } from '@/vuex/offender/medical';\nimport { Offender } from '@/vuex/offender/offender';\nimport { mapGetters } from 'vuex';\n\nimport AddHealthHistoryRecordDialog from '@/components/offender/medical/AddHealthHistoryRecordDialog.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n contentOnly: Boolean,\n },\n\n created(): void {\n if (this.id) {\n this.fetchData();\n }\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('offender', [\n 'healthHistoryRecordsForOffender',\n 'offenderIsReleased',\n 'offenderWithID',\n ]),\n\n offender(): Offender {\n return this.offenderWithID(this.id);\n },\n\n healthHistoryRecords(): HealthHistoryRecord[] {\n return this.healthHistoryRecordsForOffender(this.id);\n },\n last(): number {\n return (\n Object.keys(this.healthHistoryRecordsForOffender(this.id)).length - 1\n );\n },\n\n /**\n * isReleased computes whether this Offender has been released. It is used\n * to alter the display and disable features which are not used for\n * released Offenders.\n */\n isReleased(): boolean {\n return this.offenderIsReleased(this.id);\n },\n\n /**\n * canAdd returns true if its acceptable to add a new Sentence Adjustment\n */\n canAdd(): boolean {\n return (\n !this.isReleased &&\n this.hasPermission(\n 'offender.medical.createHistory',\n 'facility',\n this.offender.housingFacilityID,\n )\n );\n },\n },\n\n watch: {\n id(val: number): void {\n if (this.id) {\n this.fetchData();\n }\n },\n },\n\n methods: {\n fetchData(): void {\n this.$store.dispatch('offender/fetchHealthHistoryRecords', {\n offenderID: this.id,\n });\n },\n },\n components: {\n AddHealthHistoryRecordDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HealthHistoryRecordTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HealthHistoryRecordTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HealthHistoryRecordTable.vue?vue&type=template&id=0a611c29&\"\nimport script from \"./HealthHistoryRecordTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./HealthHistoryRecordTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCol,VContainer,VDivider,VRow,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":_vm.contentOnly || _vm.isReleased,\"tile\":_vm.contentOnly || _vm.isReleased}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([(_vm.canAdd && !_vm.contentOnly)?{key:\"extension\",fn:function(){return [_c('NewIntakeHealthScreeningDialog',{attrs:{\"offenderID\":_vm.id}})]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('medical.intakes.plural')))])],1),_c('v-card-text',[_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',{staticClass:\"date\"},[_vm._v(_vm._s(_vm.$t('medical.exam.date')))]),_c('th',{staticClass:\"facility\"},[_vm._v(\" \"+_vm._s(_vm.$t('housingFacility.singular'))+\" \")]),_c('th',[_vm._v(_vm._s(_vm.$t('medical.intakeScreening.infectiousDiseases')))]),_c('th',[_vm._v(_vm._s(_vm.$t('medical.intakeScreening.healthConditions')))]),_c('th',[_vm._v(_vm._s(_vm.$t('action.plural')))])])]),_c('tbody',[(_vm.intakeHealthScreenings.length === 0)?_c('tr',[_c('td',{staticStyle:{\"text-align\":\"center\"},attrs:{\"colspan\":\"8\"}},[_vm._v(\" \"+_vm._s(_vm.$t('error.nodata'))+\" \")])]):_vm._e(),_vm._l((_vm.intakeHealthScreenings),function(screening){return _c('tr',{key:screening.id},[_c('td',[_c('Date',{attrs:{\"value\":screening.createdAt}})],1),_c('td',[_vm._v(_vm._s(_vm.facilityName(screening.housingFacilityID)))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.findDiseases(screening.infectiousDiseaseIDs).join(', '))+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.findHealthCondition(screening.healthConditionIDs).join(', '))+\" \")]),_c('td',[_c('ExpanderDialog',{attrs:{\"title\":_vm.$t('medical.intakes.intakeHealthScreening')}},[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('medical.exam.date')}},[_c('Date',{attrs:{\"value\":screening.createdAt}})],1),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('medical.exam.visitType'),\"value\":_vm.translateExamType(screening.visitType)}}),(screening.doctor != null)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('medical.exam.doctor'),\"value\":screening.doctor}}):_vm._e(),(screening.housingFacilityID != null)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('location.singular'),\"value\":_vm.facilityName(screening.housingFacilityID)}}):_vm._e()],1),(\n screening.infectiousDiseaseIDs ||\n screening.drugIDs ||\n screening.mentalDisorderIDs ||\n screening.disabilityIDs ||\n screening.motherChildConcernIDs ||\n screening.visitType\n )?_c('v-divider'):_vm._e(),(screening.visitType == null)?_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.currentlyTakingMedication'),\"value\":_vm.booleanWithExplanation(\n screening.hasPrescribedMedication,\n screening.prescribedMedication\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.allergicToMedication'),\"value\":_vm.booleanWithExplanation(\n screening.isAllergic,\n screening.allergicMedication\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.careOfPhysician'),\"value\":_vm.booleanWithExplanation(\n screening.hasBeenUnderPhysicianCare,\n screening.careForWhat\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.hospitalized'),\"value\":_vm.booleanWithExplanation(\n screening.hasBeenHospitalized,\n screening.hospitalizedWhereWhat\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.heartMurmurCondition'),\"value\":_vm.booleanWithExplanation(\n screening.hasHeartMurmurOrTreatedCondition,\n ''\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.treatedTumorGrowthCancer'),\"value\":_vm.booleanWithExplanation(\n screening.hasBeenTreatedForTumorOrCancer\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.prolongedBleeding'),\"value\":_vm.booleanWithExplanation(\n screening.hasProlongedBleeding,\n ''\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.latexAllergy'),\"value\":_vm.booleanWithExplanation(screening.hasLatexAllergy, '')}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.nonprescriptionDrugs'),\"value\":_vm.booleanWithExplanation(\n screening.useNonprescriptionDrugs,\n ''\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.developmentalDisabilities'),\"value\":_vm.booleanWithExplanation(\n screening.hasDisabilitiesOrMentalHealth,\n screening.whatDisabilitiesOrIssues\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.motherChildConcerns'),\"value\":_vm.booleanWithExplanation(\n screening.motherChildConcernIDs.length > 0,\n _vm.findMotherChildConcern(\n screening.motherChildConcernIDs\n )\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.infectiousDiseases'),\"value\":_vm.booleanWithExplanation(\n screening.infectiousDiseaseIDs.length > 0,\n _vm.findDiseases(screening.infectiousDiseaseIDs)\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.healthConditions'),\"value\":_vm.booleanWithExplanation(\n screening.healthConditionIDs.length > 0,\n _vm.findHealthCondition(screening.healthConditionIDs)\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.unlistedHealthCondition'),\"value\":_vm.booleanWithExplanation(\n screening.unlistedHealthCondition !== '',\n screening.unlistedHealthCondition\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.signsInjuryAbuse'),\"value\":_vm.booleanWithExplanation(\n screening.hasInjuryAbuse,\n screening.injuryAbuse\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.intakeScreening.sufferedDisease'),\"value\":_vm.booleanWithExplanation(\n screening.hasSufferedDisease,\n screening.sufferedDisease\n )}})],1):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsLinks',{attrs:{\"entityType\":\"intakeHealthScreening\",\"entityID\":screening.id}})],1)],1)],1)],1)])})],2)]},proxy:true}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('medical.intakes.addIntake')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.offenderID}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('medical.treatment.date'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.createdAt),callback:function ($$v) {_vm.createdAt=$$v},expression:\"createdAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('FacilitySelector',{attrs:{\"label\":_vm.$t('housingFacility.singular'),\"must-accept-transfers\":\"\",\"disabled\":\"\"},model:{value:(_vm.housingFacilityID),callback:function ($$v) {_vm.housingFacilityID=$$v},expression:\"housingFacilityID\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ol',[_c('li',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_vm._v(\" \"+_vm._s(_vm.$t('intake.questions.prescribedMedication'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"d-inline\",attrs:{\"row\":\"\"},model:{value:(_vm.hasPrescribedMedication),callback:function ($$v) {_vm.hasPrescribedMedication=$$v},expression:\"hasPrescribedMedication\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('command.yes'),\"value\":true}}),_c('v-radio',{attrs:{\"label\":_vm.$t('command.no'),\"value\":false}})],1)],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasPrescribedMedication),expression:\"hasPrescribedMedication\"}]},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{staticClass:\"text-caption\",attrs:{\"label\":_vm.$t('intake.followUps.whatMedication')},model:{value:(_vm.prescribedMedication),callback:function ($$v) {_vm.prescribedMedication=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"prescribedMedication\"}})],1)],1)],1),_c('li',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_vm._v(\" \"+_vm._s(_vm.$t('intake.questions.allergicMedication'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"d-inline\",attrs:{\"row\":\"\"},model:{value:(_vm.isAllergic),callback:function ($$v) {_vm.isAllergic=$$v},expression:\"isAllergic\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('command.yes'),\"value\":true}}),_c('v-radio',{attrs:{\"label\":_vm.$t('command.no'),\"value\":false}})],1)],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isAllergic),expression:\"isAllergic\"}]},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{staticClass:\"text-caption\",attrs:{\"label\":_vm.$t('intake.followUps.whatMedication')},model:{value:(_vm.allergicMedication),callback:function ($$v) {_vm.allergicMedication=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"allergicMedication\"}})],1)],1)],1),_c('li',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_vm._v(\" \"+_vm._s(_vm.$t('intake.questions.physicianCare'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"d-inline\",attrs:{\"row\":\"\"},model:{value:(_vm.hasBeenUnderPhysicianCare),callback:function ($$v) {_vm.hasBeenUnderPhysicianCare=$$v},expression:\"hasBeenUnderPhysicianCare\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('command.yes'),\"value\":true}}),_c('v-radio',{attrs:{\"label\":_vm.$t('command.no'),\"value\":false}})],1)],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasBeenUnderPhysicianCare),expression:\"hasBeenUnderPhysicianCare\"}]},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{staticClass:\"text-caption\",attrs:{\"label\":_vm.$t('intake.followUps.forWhat')},model:{value:(_vm.careForWhat),callback:function ($$v) {_vm.careForWhat=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"careForWhat\"}})],1)],1)],1),_c('li',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_vm._v(\" \"+_vm._s(_vm.$t('intake.questions.pastHospitalization'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"d-inline\",attrs:{\"row\":\"\"},model:{value:(_vm.hasBeenHospitalized),callback:function ($$v) {_vm.hasBeenHospitalized=$$v},expression:\"hasBeenHospitalized\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('command.yes'),\"value\":true}}),_c('v-radio',{attrs:{\"label\":_vm.$t('command.no'),\"value\":false}})],1)],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasBeenHospitalized),expression:\"hasBeenHospitalized\"}]},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{staticClass:\"text-caption\",attrs:{\"label\":_vm.$t('intake.followUps.whereForWhat')},model:{value:(_vm.hospitalizedWhereWhat),callback:function ($$v) {_vm.hospitalizedWhereWhat=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"hospitalizedWhereWhat\"}})],1)],1)],1),_c('li',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_vm._v(\" \"+_vm._s(_vm.$t('intake.questions.heartCondition'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"d-inline\",attrs:{\"row\":\"\"},model:{value:(_vm.hasHeartMurmurOrTreatedCondition),callback:function ($$v) {_vm.hasHeartMurmurOrTreatedCondition=$$v},expression:\"hasHeartMurmurOrTreatedCondition\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('command.yes'),\"value\":true}}),_c('v-radio',{attrs:{\"label\":_vm.$t('command.no'),\"value\":false}})],1)],1)],1)],1),_c('li',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_vm._v(\" \"+_vm._s(_vm.$t('intake.questions.tumorGrowthCancer'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"d-inline\",attrs:{\"row\":\"\"},model:{value:(_vm.hasBeenTreatedForTumorOrCancer),callback:function ($$v) {_vm.hasBeenTreatedForTumorOrCancer=$$v},expression:\"hasBeenTreatedForTumorOrCancer\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('command.yes'),\"value\":true}}),_c('v-radio',{attrs:{\"label\":_vm.$t('command.no'),\"value\":false}})],1)],1)],1)],1),_c('li',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_vm._v(\" \"+_vm._s(_vm.$t('intake.questions.prolongedBleeding'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"d-inline\",attrs:{\"row\":\"\"},model:{value:(_vm.hasProlongedBleeding),callback:function ($$v) {_vm.hasProlongedBleeding=$$v},expression:\"hasProlongedBleeding\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('command.yes'),\"value\":true}}),_c('v-radio',{attrs:{\"label\":_vm.$t('command.no'),\"value\":false}})],1)],1)],1)],1),_c('li',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_vm._v(\" \"+_vm._s(_vm.$t('intake.questions.latexAllergy'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"d-inline\",attrs:{\"row\":\"\"},model:{value:(_vm.hasLatexAllergy),callback:function ($$v) {_vm.hasLatexAllergy=$$v},expression:\"hasLatexAllergy\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('command.yes'),\"value\":true}}),_c('v-radio',{attrs:{\"label\":_vm.$t('command.no'),\"value\":false}})],1)],1)],1)],1),_c('li',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_vm._v(\" \"+_vm._s(_vm.$t('intake.questions.nonprescriptionDrugs'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"d-inline\",attrs:{\"row\":\"\"},model:{value:(_vm.useNonprescriptionDrugs),callback:function ($$v) {_vm.useNonprescriptionDrugs=$$v},expression:\"useNonprescriptionDrugs\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('command.yes'),\"value\":true}}),_c('v-radio',{attrs:{\"label\":_vm.$t('command.no'),\"value\":false}})],1)],1)],1)],1),_c('li',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_vm._v(\" \"+_vm._s(_vm.$t('intake.questions.disabilitiesMentalHealth'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"d-inline\",attrs:{\"row\":\"\"},model:{value:(_vm.hasDisabilitiesOrMentalHealth),callback:function ($$v) {_vm.hasDisabilitiesOrMentalHealth=$$v},expression:\"hasDisabilitiesOrMentalHealth\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('command.yes'),\"value\":true}}),_c('v-radio',{attrs:{\"label\":_vm.$t('command.no'),\"value\":false}})],1)],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasDisabilitiesOrMentalHealth),expression:\"hasDisabilitiesOrMentalHealth\"}]},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{staticClass:\"text-caption\",attrs:{\"label\":_vm.$t('intake.followUps.whichIssueDisability')},model:{value:(_vm.whatDisabilitiesOrIssues),callback:function ($$v) {_vm.whatDisabilitiesOrIssues=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"whatDisabilitiesOrIssues\"}})],1)],1)],1),_c('li',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_vm._v(\" \"+_vm._s(_vm.$t('intake.questions.signsInjuryAbuse'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"d-inline\",attrs:{\"row\":\"\"},model:{value:(_vm.hasInjuryAbuse),callback:function ($$v) {_vm.hasInjuryAbuse=$$v},expression:\"hasInjuryAbuse\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('command.yes'),\"value\":true}}),_c('v-radio',{attrs:{\"label\":_vm.$t('command.no'),\"value\":false}})],1)],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasInjuryAbuse),expression:\"hasInjuryAbuse\"}]},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{staticClass:\"text-caption\",attrs:{\"label\":_vm.$t('intake.followUps.whatSigns')},model:{value:(_vm.injuryAbuse),callback:function ($$v) {_vm.injuryAbuse=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"injuryAbuse\"}})],1)],1)],1),_c('li',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_vm._v(\" \"+_vm._s(_vm.$t('intake.questions.sufferedDisease'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"d-inline\",attrs:{\"row\":\"\"},model:{value:(_vm.hasSufferedDisease),callback:function ($$v) {_vm.hasSufferedDisease=$$v},expression:\"hasSufferedDisease\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('command.yes'),\"value\":true}}),_c('v-radio',{attrs:{\"label\":_vm.$t('command.no'),\"value\":false}})],1)],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasSufferedDisease),expression:\"hasSufferedDisease\"}]},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{staticClass:\"text-caption\",attrs:{\"label\":_vm.$t('intake.followUps.addDetails')},model:{value:(_vm.sufferedDisease),callback:function ($$v) {_vm.sufferedDisease=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"sufferedDisease\"}})],1)],1)],1)]),_c('v-divider')],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',{staticStyle:{\"justify-content\":\"space-around\"},attrs:{\"align\":\"center\"}},_vm._l((_vm.motherAndChildConcerns),function(motherAndChildConcern){return _c('v-checkbox',{key:motherAndChildConcern.id,attrs:{\"label\":_vm.valueForLocale(motherAndChildConcern.name),\"value\":motherAndChildConcern.id},model:{value:(_vm.motherChildConcernIDs),callback:function ($$v) {_vm.motherChildConcernIDs=$$v},expression:\"motherChildConcernIDs\"}})}),1)],1)],1),_c('v-row',[_c('v-divider')],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-select',{staticClass:\"mr-10\",attrs:{\"items\":_vm.infectiousDiseases,\"item-text\":function (d) { return _vm.valueForLocale(d.name); },\"item-value\":\"id\",\"label\":_vm.$t('medical.exam.selectInfectiousDisease'),\"multiple\":\"\"},model:{value:(_vm.infectiousDiseaseIDs),callback:function ($$v) {_vm.infectiousDiseaseIDs=$$v},expression:\"infectiousDiseaseIDs\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-select',{staticClass:\"mr-10\",attrs:{\"items\":_vm.healthConditionItems,\"item-text\":function (d) { return _vm.valueForLocale(d.name); },\"item-value\":\"id\",\"label\":_vm.$t('intake.selectHealthConditions'),\"multiple\":\"\"},model:{value:(_vm.healthConditionIDs),callback:function ($$v) {_vm.healthConditionIDs=$$v},expression:\"healthConditionIDs\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{staticClass:\"text-caption\",attrs:{\"label\":_vm.$t('intake.enterDiseaseConditionProblem')},model:{value:(_vm.unlistedHealthCondition),callback:function ($$v) {_vm.unlistedHealthCondition=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"unlistedHealthCondition\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"intakeHealthScreening\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { Offender } from '@/vuex/offender/offender';\n\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: ['value', 'offenderID'],\n data(): any {\n return {\n createdAt: moment().format(),\n housingFacilityID: 0,\n hasPrescribedMedication: null as boolean | null,\n prescribedMedication: '',\n isAllergic: null as boolean | null,\n allergicMedication: '',\n hasBeenUnderPhysicianCare: null as boolean | null,\n careForWhat: '',\n hasBeenHospitalized: null as boolean | null,\n hospitalizedWhereWhat: '',\n hasDisabilitiesOrMentalHealth: null as boolean | null,\n whatDisabilitiesOrIssues: '',\n hasHeartMurmurOrTreatedCondition: null as boolean | null,\n hasBeenTreatedForTumorOrCancer: null as boolean | null,\n hasProlongedBleeding: null as boolean | null,\n hasLatexAllergy: null as boolean | null,\n useNonprescriptionDrugs: null as boolean | null,\n infectiousDiseaseIDs: [] as number[],\n healthConditionIDs: [] as number[],\n motherChildConcernIDs: [] as number[],\n unlistedHealthCondition: '',\n hasInjuryAbuse: null as boolean | null,\n injuryAbuse: '',\n hasSufferedDisease: null as boolean | null,\n sufferedDisease: '',\n error: null as any,\n isOpen: false,\n };\n },\n watch: {\n value(val) {\n if (val) {\n this.reset();\n }\n },\n },\n computed: {\n ...mapState('offender', [\n 'infectiousDiseases',\n 'healthConditions',\n 'motherAndChildConcerns',\n ]),\n ...mapGetters('language', ['valueForLocale']),\n ...mapGetters('offender', ['offenderWithID']),\n ...mapState('language', ['locale']),\n offender(): Offender | null {\n return this.offenderWithID(this.offenderID) || null;\n },\n healthConditionItems(): any {\n return _.orderBy(this.healthConditions, ['name.' + this.locale], ['asc']);\n },\n },\n methods: {\n async save(): Promise {\n this.clearDetailsThatAreFalse();\n this.error = null;\n\n try {\n const response = await offenderAPI.post(\n 'intake-health-screenings/create',\n {\n data: {\n offenderID: this.offenderID,\n createdAt: this.createdAt,\n housingFacilityID: this.housingFacilityID,\n hasPrescribedMedication: this.hasPrescribedMedication,\n prescribedMedication: this.prescribedMedication,\n isAllergic: this.isAllergic,\n allergicMedication: this.allergicMedication,\n hasBeenUnderPhysicianCare: this.hasBeenUnderPhysicianCare,\n careForWhat: this.careForWhat,\n hasBeenHospitalized: this.hasBeenHospitalized,\n hospitalizedWhereWhat: this.hospitalizedWhereWhat,\n hasDisabilitiesOrMentalHealth: this.hasDisabilitiesOrMentalHealth,\n whatDisabilitiesOrIssues: this.whatDisabilitiesOrIssues,\n hasHeartMurmurOrTreatedCondition:\n this.hasHeartMurmurOrTreatedCondition,\n hasBeenTreatedForTumorOrCancer:\n this.hasBeenTreatedForTumorOrCancer,\n hasProlongedBleeding: this.hasProlongedBleeding,\n hasLatexAllergy: this.hasLatexAllergy,\n useNonprescriptionDrugs: this.useNonprescriptionDrugs,\n infectiousDiseaseIDs: this.infectiousDiseaseIDs,\n healthConditionIDs: this.healthConditionIDs,\n motherChildConcernIDs: this.motherChildConcernIDs,\n unlistedHealthCondition: this.unlistedHealthCondition,\n hasInjuryAbuse: this.hasInjuryAbuse,\n injuryAbuse: this.injuryAbuse,\n hasSufferedDisease: this.hasSufferedDisease,\n sufferedDisease: this.sufferedDisease,\n },\n },\n );\n const newState = response.data.data;\n const newID = Object.keys(newState.intakeHealthScreening)[0];\n\n this.$store.commit('offender/setState', newState);\n this.$store.commit('offender/prependToTarget', {\n target: 'intakeHealthScreeningIDsForOffender',\n index: this.offenderID,\n value: Object.keys(newState.intakeHealthScreening),\n });\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n reset(): void {\n this.createdAt = moment().format();\n this.hasPrescribedMedication = null;\n this.prescribedMedication = '';\n this.isAllergic = null;\n this.allergicMedication = '';\n this.hasBeenUnderPhysicianCare = null;\n this.careForWhat = '';\n this.hasBeenHospitalized = null;\n this.hospitalizedWhereWhat = '';\n this.hasDisabilitiesOrMentalHealth = null;\n this.whatDisabilitiesOrIssues = '';\n this.hasHeartMurmurOrTreatedCondition = null;\n this.hasBeenTreatedForTumorOrCancer = null;\n this.hasProlongedBleeding = null;\n this.hasLatexAllergy = null;\n this.useNonprescriptionDrugs = null;\n this.healthConditionIDs = [] as number[];\n this.motherChildConcernIDs = [] as number[];\n this.hasInjuryAbuse = null;\n this.injuryAbuse = '';\n this.hasSufferedDisease = null;\n this.sufferedDisease = '';\n this.unlistedHealthCondition = '';\n if (this.offender) {\n this.housingFacilityID = this.offender.housingFacilityID;\n // Use the ES6 spread operator to get a copy of these arrays\n // so that the original ones are not modified merely by\n // interacting with the form and then canceling the submission\n if (this.offender.infectiousDiseaseIDs) {\n this.infectiousDiseaseIDs = [...this.offender.infectiousDiseaseIDs];\n }\n if (this.offender.motherChildConcernIDs) {\n this.motherChildConcernIDs = [...this.offender.motherChildConcernIDs];\n }\n }\n },\n clearDetailsThatAreFalse(): void {\n if (!this.hasPrescribedMedication) {\n this.prescribedMedication = '';\n }\n\n if (!this.isAllergic) {\n this.allergicMedication = '';\n }\n\n if (!this.hasBeenUnderPhysicianCare) {\n this.careForWhat = '';\n }\n\n if (!this.hasBeenHospitalized) {\n this.hospitalizedWhereWhat = '';\n }\n\n if (!this.hasDisabilitiesOrMentalHealth) {\n this.whatDisabilitiesOrIssues = '';\n }\n\n if (!this.hasInjuryAbuse) {\n this.injuryAbuse = '';\n }\n\n if (!this.hasSufferedDisease) {\n this.sufferedDisease = '';\n }\n },\n },\n components: {\n FacilitySelector,\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewIntakeHealthScreeningDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewIntakeHealthScreeningDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewIntakeHealthScreeningDialog.vue?vue&type=template&id=44e807e2&\"\nimport script from \"./NewIntakeHealthScreeningDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewIntakeHealthScreeningDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCheckbox,VCol,VDivider,VRadio,VRadioGroup,VRow,VSelect,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport _ from 'lodash';\nimport { mapGetters, mapState } from 'vuex';\nimport { IntakeHealthScreening } from '@/vuex/offender/medical';\nimport { Offender } from '@/vuex/offender/offender';\nimport { TranslateResult } from 'vue-i18n';\n\nimport NewIntakeHealthScreeningDialog from './NewIntakeHealthScreeningDialog.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n contentOnly: Boolean,\n },\n\n data(): any {\n return {\n adding: false,\n };\n },\n\n created(): void {\n this.fetchData();\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('offender', [\n 'intakeHealthScreeningsForOffender',\n 'offenderIsReleased',\n 'offenderWithID',\n ]),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('housing', ['facilityName']),\n ...mapState('offender', [\n 'infectiousDiseases',\n 'healthConditions',\n 'motherAndChildConcerns',\n ]),\n intakeHealthScreenings(): IntakeHealthScreening[] {\n return this.intakeHealthScreeningsForOffender(this.id);\n },\n\n offender(): Offender {\n return this.offenderWithID(this.id);\n },\n\n /**\n * isReleased computes whether this Offender has been released. It is used\n * to alter the display and disable features which are not used for\n * released Offenders.\n */\n isReleased(): boolean {\n return this.offenderIsReleased(this.id);\n },\n\n /**\n * canAdd returns true if its acceptable to add a new Sentence Adjustment\n */\n canAdd(): boolean {\n return (\n !this.isReleased &&\n this.hasPermission(\n 'offender.medical.createIntakeHealthScreening',\n 'facility',\n this.offender.housingFacilityID,\n )\n );\n },\n },\n\n watch: {\n id(newVal: number): void {\n this.fetchData();\n },\n },\n\n methods: {\n fetchData(): void {\n this.$store.dispatch('offender/fetchIntakeHealthScreenings', {\n offenderID: this.id,\n });\n },\n translateExamType(val): TranslateResult {\n if (val) {\n return this.$i18n.t('medical.exam.visitTypes.' + val);\n }\n return this.$i18n.t('medical.intakes.intakeExam');\n },\n booleanWithExplanation(hasCondition: boolean, message: any): string {\n if (hasCondition) {\n if (message) {\n if (Array.isArray(message)) {\n return this.$i18n.t('command.yes') + ' - ' + message.join(', ');\n } else {\n return this.$i18n.t('command.yes') + ` - ${message}`;\n }\n } else {\n return this.$i18n.t('command.yes');\n }\n } else {\n return this.$i18n.t('command.no');\n }\n },\n findDiseases(val: number[]): string[] {\n return _.map(val, (id) =>\n this.nameForIDInCollection(id, this.infectiousDiseases),\n );\n },\n findHealthCondition(val: number[]): string[] {\n return _.map(val, (id) =>\n this.nameForIDInCollection(id, this.healthConditions),\n );\n },\n findMotherChildConcern(val: number[]): string[] {\n return _.map(val, (id) =>\n this.nameForIDInCollection(id, this.motherAndChildConcerns),\n );\n },\n },\n components: {\n NewIntakeHealthScreeningDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntakeHealthScreeningTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntakeHealthScreeningTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IntakeHealthScreeningTable.vue?vue&type=template&id=1c1d47c9&\"\nimport script from \"./IntakeHealthScreeningTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./IntakeHealthScreeningTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCol,VDivider,VRow,VSimpleTable,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":_vm.contentOnly || _vm.isReleased,\"tile\":_vm.contentOnly || _vm.isReleased}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([(_vm.canAdd && !_vm.contentOnly)?{key:\"extension\",fn:function(){return [_c('NewTreatmentDialog',{attrs:{\"offenderID\":_vm.id},model:{value:(_vm.adding),callback:function ($$v) {_vm.adding=$$v},expression:\"adding\"}})]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('medical.treatment.plural')))])],1),_c('v-card-text',[_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',{staticClass:\"date\"},[_vm._v(\" \"+_vm._s(_vm.$t('medical.treatment.date'))+\" \")]),_c('th',{staticClass:\"facility\"},[_vm._v(\" \"+_vm._s(_vm.$t('housingFacility.singular'))+\" \")]),_c('th',[_vm._v(_vm._s(_vm.$t('medical.treatment.type')))]),_c('th',[_vm._v(_vm._s(_vm.$t('medical.treatment.singular')))]),_c('th')])]),_c('tbody',[(_vm.treatments.length === 0)?_c('tr',[_c('td',{staticStyle:{\"text-align\":\"center\"},attrs:{\"colspan\":\"8\"}},[_vm._v(\" \"+_vm._s(_vm.$t('error.nodata'))+\" \")])]):_vm._e(),_vm._l((_vm.treatments),function(treatment){return _c('tr',{key:treatment.id},[_c('td',[_c('Date',{attrs:{\"value\":treatment.createdAt}})],1),_c('td',[_vm._v(_vm._s(_vm.facilityName(treatment.housingFacilityID)))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( treatment.treatmentTypeID, 'offender/treatmentTypes' ))+\" \")]),_c('td',[_vm._v(_vm._s(treatment.treatmentDescription))]),_c('td',[_c('ExpanderDialog',{attrs:{\"title\":_vm.$t('medical.treatment.singular')}},[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('medical.treatment.date')}},[_c('Date',{attrs:{\"value\":treatment.createdAt}})],1),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('housingFacility.singular'),\"value\":_vm.facilityName(treatment.housingFacilityID)}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('medical.treatment.type'),\"value\":_vm.nameForIDInCollection(\n treatment.treatmentTypeID,\n 'offender/treatmentTypes'\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('medical.treatment.administeredBy'),\"value\":treatment.administeredBy}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.treatment.singular'),\"value\":treatment.treatmentDescription}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('medical.treatment.remarks'),\"value\":treatment.remarks}})],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsLinks',{attrs:{\"entityType\":\"treatment\",\"entityID\":treatment.id}})],1)],1)],1)],1)])})],2)]},proxy:true}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('medical.treatment.addTreatment'),\"max-width\":\"1000\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.offenderID}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('medical.treatment.date'),\"past-dates-only\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.createdAt),callback:function ($$v) {_vm.createdAt=$$v},expression:\"createdAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('FacilitySelector',{attrs:{\"label\":_vm.$t('housingFacility.singular'),\"disabled\":\"\"},model:{value:(_vm.housingFacilityID),callback:function ($$v) {_vm.housingFacilityID=$$v},expression:\"housingFacilityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('medical.treatment.administeredBy'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.administeredBy),callback:function ($$v) {_vm.administeredBy=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"administeredBy\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('medical.treatment.type'),\"items\":\"offender/treatmentTypes\"},model:{value:(_vm.treatmentTypeID),callback:function ($$v) {_vm.treatmentTypeID=$$v},expression:\"treatmentTypeID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('medical.treatment.singular'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.treatmentDescription),callback:function ($$v) {_vm.treatmentDescription=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"treatmentDescription\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('medical.treatment.remarks')},model:{value:(_vm.remarks),callback:function ($$v) {_vm.remarks=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"remarks\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"treatment\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport moment from 'moment';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { Offender } from '@/vuex/offender/offender';\nimport { TreatmentType } from '@/vuex/offender/medical';\n\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: { offenderID: Number },\n data(): any {\n return {\n housingFacilityID: 0,\n createdAt: moment().format(),\n treatmentTypeID: TreatmentType.Medication,\n administeredBy: '',\n treatmentDescription: '',\n remarks: '',\n isOpen: false,\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('offender', ['offenderWithID']),\n offender(): Offender | null {\n return this.offenderWithID(this.offenderID) || null;\n },\n },\n methods: {\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('treatments/create', {\n data: {\n housingFacilityID: this.housingFacilityID,\n offenderID: this.offenderID,\n createdAt: this.createdAt,\n treatmentTypeID: this.treatmentTypeID,\n administeredBy: this.administeredBy,\n treatmentDescription: this.treatmentDescription,\n remarks: this.remarks,\n },\n });\n const newState = response.data.data;\n const newID = Object.keys(newState.treatment)[0];\n this.$store.commit('offender/setState', newState);\n this.$store.commit('offender/prependToTarget', {\n target: 'treatmentIDsForOffender',\n index: this.offenderID,\n value: Object.keys(newState.treatment),\n });\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.createdAt = moment().format();\n this.administeredBy = '';\n this.treatmentTypeID = TreatmentType.Medication;\n this.treatmentDescription = '';\n this.remarks = '';\n if (this.offender) {\n this.housingFacilityID = this.offender.housingFacilityID;\n }\n },\n },\n components: {\n FacilitySelector,\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewTreatmentDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewTreatmentDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewTreatmentDialog.vue?vue&type=template&id=2da56641&\"\nimport script from \"./NewTreatmentDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewTreatmentDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCol,VRow,VTextField,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Offender } from '@/vuex/offender/offender';\nimport { Treatment } from '@/vuex/offender/medical';\n\nimport NewTreatmentDialog from './NewTreatmentDialog.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n contentOnly: Boolean,\n },\n\n created(): void {\n if (this.id) {\n this.fetchData();\n }\n },\n\n data(): any {\n return {\n adding: false,\n };\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('housing', ['facilityName']),\n ...mapGetters('offender', [\n 'treatmentsForOffender',\n 'offenderIsReleased',\n 'offenderWithID',\n ]),\n ...mapGetters('language', ['nameForIDInCollection']),\n\n offender(): Offender {\n return this.offenderWithID(this.id);\n },\n\n treatments(): Treatment[] {\n return this.treatmentsForOffender(this.id);\n },\n\n /**\n * isReleased computes whether this Offender has been released. It is used\n * to alter the display and disable features which are not used for\n * released Offenders.\n */\n isReleased(): boolean {\n return this.offenderIsReleased(this.id);\n },\n\n /**\n * canAdd returns true if its acceptable to add a new Sentence Adjustment\n */\n canAdd(): boolean {\n return (\n !this.isReleased &&\n this.hasPermission(\n 'offender.medical.createTreatment',\n 'facility',\n this.offender.housingFacilityID,\n )\n );\n },\n },\n\n watch: {\n offenderID(val: number): void {\n if (this.id) {\n this.fetchData();\n }\n },\n },\n\n methods: {\n fetchData(): void {\n this.$store.dispatch('offender/fetchTreatments', {\n offenderID: this.id,\n });\n },\n },\n components: {\n NewTreatmentDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreatmentsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreatmentsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TreatmentsTable.vue?vue&type=template&id=3e5a3c18&\"\nimport script from \"./TreatmentsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./TreatmentsTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCol,VRow,VSimpleTable,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport ExamsTable from '@/components/offender/medical/ExamsTable.vue';\nimport HealthHistoryRecordTable from '@/components/offender/medical/HealthHistoryRecordTable.vue';\nimport IntakeHealthScreeningTable from '@/components/offender/medical/IntakeHealthScreeningTable.vue';\nimport TreatmentsTable from '@/components/offender/medical/TreatmentsTable.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n contentOnly: {\n type: Boolean,\n default: false,\n },\n },\n components: {\n ExamsTable,\n HealthHistoryRecordTable,\n IntakeHealthScreeningTable,\n TreatmentsTable,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderMedical.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderMedical.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderMedical.vue?vue&type=template&id=ccdf5d5e&\"\nimport script from \"./OffenderMedical.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderMedical.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-toolbar',{staticClass:\"d-print-none\",attrs:{\"color\":\"secondary\",\"dark\":\"\",\"flat\":\"\"}},[_c('TransferAddMenu',{attrs:{\"offenderID\":_vm.offenderID}}),_c('ReportIncidentDialog',{attrs:{\"offenderID\":_vm.offenderID}}),_c('ReleaseDialog',{attrs:{\"offenderID\":_vm.offenderID}}),_c('v-spacer'),_vm._l((_vm.menuItems),function(item,index){return _c('div',{key:index,staticClass:\"d-none d-md-flex\"},[_c('v-btn',{attrs:{\"small\":\"\",\"text\":\"\",\"to\":{ name: item.routeName },\"exact\":\"\"}},[_c('v-list-item-title',{staticClass:\"text-subtitle-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(item.linkLabel))+\" \")])],1)],1)}),_c('div',{staticClass:\"d-none d-md-flex\"},[_c('v-btn',{attrs:{\"small\":\"\",\"text\":\"\",\"target\":\"_blank\",\"to\":{ name: 'offenderPrint' },\"exact\":\"\"}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-print\")])],1)],1),_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"d-md-none\",attrs:{\"color\":\"primary\",\"small\":\"\"}},on),[_c('v-icon',[_vm._v(\"fa fa-bars\")])],1)]}}])},[_c('v-list',_vm._l((_vm.menuItems),function(item,index){return _c('v-list-item',{key:index},[_c('v-btn',{attrs:{\"small\":\"\",\"text\":\"\",\"to\":{ name: item.routeName },\"exact\":\"\"}},[_c('v-list-item-title',{staticClass:\"text-subtitle-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(item.linkLabel))+\" \")])],1)],1)}),1)],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.canRelease)?_c('CMSFormDialog',{attrs:{\"title\":_vm.$t('release.releaseOffender')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"mx-1\",attrs:{\"small\":\"\",\"color\":\"accent\"},on:{\"click\":function($event){return _vm.$emit('input', true)}}},on),[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-door-open\")]),_vm._v(\" \"+_vm._s(_vm.$t('release.release'))+\" \")],1)]}}],null,false,3209781656),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.offenderID}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('release.releaseDate'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.releaseDate),callback:function ($$v) {_vm.releaseDate=$$v},expression:\"releaseDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-select',{attrs:{\"items\":_vm.statuses,\"label\":_vm.$t('header.custodyStatus')},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.$t('offender.custodyStatus.' + item))+\" \")]}},{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.$t('offender.custodyStatus.' + item))+\" \")]}}],null,false,2183128700),model:{value:(_vm.releaseCustodyStatus),callback:function ($$v) {_vm.releaseCustodyStatus=$$v},expression:\"releaseCustodyStatus\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('release.releaseReason'),\"items\":\"offender/releaseReasons\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.releaseReasonID),callback:function ($$v) {_vm.releaseReasonID=$$v},expression:\"releaseReasonID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('release.releaseDetails'),\"rows\":\"4\"},model:{value:(_vm.releaseDetails),callback:function ($$v) {_vm.releaseDetails=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"releaseDetails\"}})],1)],1),(_vm.releaseDateTooSoon)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-alert',{attrs:{\"dense\":\"\",\"type\":\"warning\"}},[_vm._v(\" \"+_vm._s(_vm.$t('offender.expectedReleaseAt'))+\": \"),_c('Date',{attrs:{\"value\":_vm.expectedReleaseDate}})],1)],1)],1):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { Offender, custodyStatuses } from '@/vuex/offender/offender';\n\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n\n data() {\n return {\n isOpen: false,\n\n statuses: custodyStatuses,\n\n releaseDate: moment().format(),\n releaseCustodyStatus: 'released',\n releaseReasonID: 0,\n releaseDetails: '',\n error: null as any,\n };\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('offender', ['offenderWithID', 'offenderIsReleased']),\n\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n\n /**\n * canRelease computes whether this offender can be released. It is used\n * to hide the activator for this dialog. This checks both status (an\n * already-released Offender cannot be released) as well as permissions\n * (not all users will have the permissions to release an Offender).\n */\n canRelease(): boolean {\n if (!this.offender) {\n return false;\n }\n\n if (this.offenderIsReleased(this.offenderID)) {\n return false;\n }\n\n return this.hasPermission(\n 'offender.release',\n 'facility',\n this.offender.housingFacilityID,\n );\n },\n\n /**\n * expectedReleaseDate is a helper that wraps the expectedReleaseAt field\n * on the Offender.\n */\n expectedReleaseDate(): string {\n if (!this.offender) {\n return '';\n }\n\n return this.offender.expectedReleaseAt || '';\n },\n\n /**\n * releaseDateTooSoon computes whether the expected release date of the\n * offender is beforet the date being entered for the release on this\n * form. When true it triggers the display of the on-screen warning.\n */\n releaseDateTooSoon(): boolean {\n if (!this.expectedReleaseDate) {\n // Can't be too soon if its not set\n return false;\n }\n return this.releaseDate < this.offender.expectedReleaseAt;\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.releaseDate = moment().format();\n this.releaseCustodyStatus = 'released';\n this.releaseReasonID = 0;\n this.releaseDetails = '';\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the release event to the database and update the\n * Offender.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('offenders/release-offender', {\n data: {\n offenderID: this.offenderID,\n freedAt: this.releaseDate,\n custodyStatus: this.releaseCustodyStatus,\n releaseReasonID: this.releaseReasonID,\n releaseDetails: this.releaseDetails,\n },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n\n components: {\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReleaseDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReleaseDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReleaseDialog.vue?vue&type=template&id=54e553ab&\"\nimport script from \"./ReleaseDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReleaseDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VAlert,VBtn,VCol,VIcon,VRow,VSelect,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.canAddIncident)?_c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('incident.reportAnIncident')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",function(){return [_c('v-btn',_vm._g({staticClass:\"mx-1\",attrs:{\"small\":\"\",\"color\":\"accent\"}},slotProps.on),[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"warning\")]),_vm._v(\" \"+_vm._s(_vm.$t('incident.singular'))+\" \")],1)]},null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.offenderID}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('incident.date'),\"past-dates-only\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.occurredAt),callback:function ($$v) {_vm.occurredAt=$$v},expression:\"occurredAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('FacilitySelector',{attrs:{\"label\":_vm.$t('location.singular'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"disabled\":\"\"},model:{value:(_vm.housingFacilityID),callback:function ($$v) {_vm.housingFacilityID=$$v},expression:\"housingFacilityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('incident.incidentType'),\"items\":\"offender/incidentTypes\"},model:{value:(_vm.typeID),callback:function ($$v) {_vm.typeID=$$v},expression:\"typeID\"}})],1),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('incident.reportedBy'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.reportedBy),callback:function ($$v) {_vm.reportedBy=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"reportedBy\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('details'),\"rows\":\"2\",\"auto-grow\":\"\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.details),callback:function ($$v) {_vm.details=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"details\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticStyle:{\"display\":\"inline\",\"font-size\":\"16px\"}},[_vm._v(\" \"+_vm._s(_vm.$t('incident.victim.plural'))+\" \"),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.addVictim()}}},[_c('v-icon',{staticStyle:{\"top-margin\":\"-10px\"}},[_vm._v(\"add_circle\")])],1)],1),_c('v-row',_vm._l((_vm.victims),function(victim,i){return _c('v-col',{key:i,attrs:{\"cols\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('incident.addNameofVictim')},model:{value:(_vm.victims[i]),callback:function ($$v) {_vm.$set(_vm.victims, i, (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"victims[i]\"}})],1)}),1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"incident\"}})],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { IncidentType } from '@/vuex/offender/incident';\nimport { Offender } from '@/vuex/offender/offender';\n\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n data() {\n return {\n isOpen: false,\n occurredAt: moment().format(),\n housingFacilityID: 0,\n typeID: IncidentType.Violent,\n reportedBy: '',\n details: '',\n victims: [] as string[],\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('offender', ['offenderWithID', 'offenderIsReleased']),\n\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n\n /**\n * canAddIncident computes whether an Incident can be added for this\n * Offender. This checks both status (released Offenders can't have new\n * incidents added, for example), and permissions (not all users will have\n * permissions to add an Incident).\n */\n canAddIncident(): boolean {\n if (this.offenderIsReleased(this.offenderID)) {\n return false;\n }\n\n if (!this.offender) {\n return false;\n }\n\n return this.hasPermission(\n 'offender.incident.create',\n 'facility',\n this.offender.housingFacilityID,\n );\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n const offender = this.offenderWithID(this.offenderID);\n if (offender) {\n this.housingFacilityID = offender.housingFacilityID;\n }\n\n this.occurredAt = moment().format();\n this.typeID = IncidentType.Violent;\n this.reportedBy = '';\n this.details = '';\n this.victims = [];\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n // API call and response\n const response = await offenderAPI.post('offenders/create-incident', {\n data: {\n offenderID: this.offenderID,\n housingFacilityID: this.housingFacilityID,\n occurredAt: this.occurredAt,\n typeID: this.typeID,\n victims: _.compact(this.victims),\n details: this.details,\n reportedBy: this.reportedBy,\n },\n });\n const newState = response.data.data;\n const newID = Object.keys(newState.incident)[0];\n this.$store.commit('offender/setState', newState);\n this.$store.commit('offender/prependToTarget', {\n target: 'incidentIDsForOffender',\n index: this.offenderID,\n value: Object.keys(newState.incident),\n });\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n\n addVictim(): void {\n this.victims.push('');\n },\n },\n components: {\n FacilitySelector,\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportIncidentDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportIncidentDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReportIncidentDialog.vue?vue&type=template&id=7e0b8dda&\"\nimport script from \"./ReportIncidentDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReportIncidentDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VTextField,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Offender } from '@/vuex/offender/offender';\n\nimport ReleaseDialog from '@/components/offender/ReleaseDialog.vue';\nimport ReportIncidentDialog from '@/components/offender/incident/ReportIncidentDialog.vue';\nimport TransferAddMenu from '@/components/offender/transfer/TransferAddMenu.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('offender', ['offenderIsReleased', 'offenderWithID']),\n\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n\n canViewMedical(): boolean {\n // can view medical tab explicitly\n if (\n this.hasPermission(\n 'offender.medical.view',\n 'facility',\n this.offender.housingFacilityID,\n )\n ) {\n return true;\n }\n\n // or can edit any medical record within the tab\n if (\n this.hasPermission(\n 'offender.medical.createExam',\n 'facility',\n this.offender.housingFacilityID,\n ) ||\n this.hasPermission(\n 'offender.medical.createTreatment',\n 'facility',\n this.offender.housingFacilityID,\n ) ||\n this.hasPermission(\n 'offender.medical.createIntakeHealthScreening',\n 'facility',\n this.offender.housingFacilityID,\n ) ||\n this.hasPermission(\n 'offender.medical.createHistory',\n 'facility',\n this.offender.housingFacilityID,\n )\n ) {\n return true;\n }\n\n return false;\n },\n\n menuItems(): any[] {\n const tabs: Array<{ routeName: string; linkLabel: string }> = [];\n tabs.push(\n {\n routeName: 'offenderProfile',\n linkLabel: 'profile.profile',\n },\n {\n routeName: 'offenderHousing',\n linkLabel: 'housing.singular',\n },\n {\n routeName: 'offenderSentence',\n linkLabel: 'sentence.singular',\n },\n {\n routeName: 'offenderPrograms',\n linkLabel: 'program.plural',\n },\n );\n\n if (this.canViewMedical) {\n tabs.push({\n routeName: 'offenderMedical',\n linkLabel: 'medical.medical',\n });\n }\n\n return tabs;\n },\n },\n components: {\n ReleaseDialog,\n ReportIncidentDialog,\n TransferAddMenu,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderNavToolbar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderNavToolbar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderNavToolbar.vue?vue&type=template&id=16428808&\"\nimport script from \"./OffenderNavToolbar.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderNavToolbar.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VIcon,VList,VListItem,VListItemTitle,VMenu,VSpacer,VToolbar})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ProfileIdentityCard',{attrs:{\"id\":_vm.offender.profileID,\"allow-edit\":!_vm.contentOnly,\"flat\":_vm.contentOnly || _vm.isReleased,\"tile\":_vm.contentOnly || _vm.isReleased}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ProfileDetailsCard',{attrs:{\"offenderID\":_vm.offenderID,\"profileID\":_vm.offender.profileID,\"allow-edit\":!_vm.contentOnly,\"flat\":_vm.contentOnly || _vm.isReleased,\"tile\":_vm.contentOnly || _vm.isReleased}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{attrs:{\"flat\":_vm.contentOnly || _vm.isReleased,\"tile\":_vm.contentOnly || _vm.isReleased}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t('profile.classification'))+\" \")]),_c('v-spacer'),(_vm.canReclassify)?_c('OffenderReclassificationDialog',{attrs:{\"offenderID\":_vm.offenderID}}):_vm._e()],1),_c('v-card-text',[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('offender.securityLevel')}},[_vm._v(\" \"+_vm._s(_vm.$t('offender.securityLevels.' + _vm.offender.securityLevel))+\" \"),(_vm.offender.classificationScore)?_c('span',[_vm._v(\" ( \"+_vm._s(_vm.offender.classificationScore)+\" ) \")]):_vm._e()]),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('classification.criminalGroups'),\"value\":_vm.profile.criminalGroupIDs,\"lookup-table\":\"offender/criminalGroups\"}}),(_vm.profile.criminalGroupRoleID != 0)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('classification.criminalGroupRole'),\"value\":_vm.profile.criminalGroupRoleID,\"lookup-table\":\"offender/criminalGroupRoles\"}}):_vm._e(),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('classification.mentalDisorders'),\"value\":_vm.profile.mentalDisorderIDs,\"lookup-table\":\"offender/mentalDisorders\"}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('medical.exam.infectiousDiseases'),\"value\":_vm.profile.infectiousDiseaseIDs,\"lookup-table\":\"offender/infectiousDiseases\"}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('classification.motherChildConcerns'),\"value\":_vm.profile.motherChildConcernIDs,\"lookup-table\":\"offender/motherAndChildConcerns\"}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('classification.privileges'),\"value\":_vm.offender.privilegeIDs,\"lookup-table\":\"offender/privileges\"}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.nameForIDInCollection(_vm.securityThreatID, 'offender/flags'),\"value\":_vm.offender.flagIDs.includes(_vm.securityThreatID)}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.nameForIDInCollection(_vm.highProfileOffenderID, 'offender/flags'),\"value\":_vm.offender.flagIDs.includes(_vm.highProfileOffenderID)}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.nameForIDInCollection(_vm.specialManagementID, 'offender/flags'),\"value\":_vm.offender.flagIDs.includes(_vm.specialManagementID)}})],1)],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('IncidentsTable',{attrs:{\"contentOnly\":_vm.contentOnly,\"offenderID\":_vm.offenderID}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('EscapesTable',{attrs:{\"contentOnly\":_vm.contentOnly,\"offenderID\":_vm.offenderID}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":_vm.contentOnly || _vm.isReleased,\"tile\":_vm.contentOnly || _vm.isReleased}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([(_vm.canAdd && !_vm.contentOnly)?{key:\"extension\",fn:function(){return [_c('AddAnEscapeDialog',{attrs:{\"offenderID\":_vm.offenderID}})]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('escape.plural')))])],1),_c('v-card-text',[_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('escape.escapedDate')))]),_c('th',[_vm._v(_vm._s(_vm.$t('escape.recapturedDate')))]),_c('th',[_vm._v(_vm._s(_vm.$t('housingFacility.singular')))]),_c('th',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('escape.damage')))]),_c('th',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('escape.injuries')))]),_c('th',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('escape.helpedEscape')))]),_c('th',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('escape.failedEscape')))]),_c('th',[_vm._v(_vm._s(_vm.$t('details')))]),_c('th',[_vm._v(_vm._s(_vm.$t('action.plural')))])])]),_c('tbody',[(_vm.escapes.length === 0)?_c('tr',[_c('td',{staticStyle:{\"text-align\":\"center\"},attrs:{\"colspan\":\"9\"}},[_vm._v(\" \"+_vm._s(_vm.$t('error.nodata'))+\" \")])]):_vm._e(),_vm._l((_vm.escapes),function(escape){return _c('tr',{key:escape.id},[_c('td',[_c('Date',{attrs:{\"value\":escape.escapedAt}})],1),_c('td',[_c('Date',{attrs:{\"value\":escape.recapturedAt}})],1),_c('td',[_vm._v(_vm._s(_vm.facilityName(escape.housingFacilityID)))]),_c('td',{staticClass:\"text-center\"},[(escape.causedBuildingDamage)?_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"warning\"}},[_vm._v(\" fa-house-damage \")]):_vm._e()],1),_c('td',{staticClass:\"text-center\"},[(escape.causedStaffInjuries)?_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"warning\"}},[_vm._v(\" fa-user-injured \")]):_vm._e()],1),_c('td',{staticClass:\"text-center\"},[(escape.helpedOthersEscape)?_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"warning\"}},[_vm._v(\" fa-hands-helping \")]):_vm._e()],1),_c('td',{staticClass:\"text-center\"},[(escape.wasFailedEscape)?_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"warning\"}},[_vm._v(\" fa-check-square \")]):_vm._e()],1),_c('td',[_vm._v(_vm._s(escape.remarks))]),_c('td',[_c('div',{staticClass:\"d-flex\"},[_c('EscapesActions',{attrs:{\"escapeID\":escape.id,\"offenderID\":_vm.offenderID}}),_c('ExpanderDialog',{attrs:{\"title\":_vm.$t('escape.singular')}},[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('escape.date')}},[_c('Date',{attrs:{\"value\":escape.escapedAt}})],1),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('escape.recapturedDate')}},[_c('Date',{attrs:{\"value\":escape.recapturedAt}})],1),(escape.causedBuildingDamage)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('escape.causedDamage')}},[_c('v-icon',{attrs:{\"large\":\"\",\"color\":\"warning\"}},[_vm._v(\"fa-house-damage\")])],1):_vm._e(),(escape.causedStaffInjuries)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('escape.causedInjuries')}},[_c('v-icon',{attrs:{\"large\":\"\",\"color\":\"warning\"}},[_vm._v(\"fa-user-injured\")])],1):_vm._e(),(escape.helpedOthersEscape)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('escape.helpedOthersEscape')}},[_c('v-icon',{attrs:{\"large\":\"\",\"color\":\"warning\"}},[_vm._v(\"fa-user-injured\")])],1):_vm._e(),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('housingFacility.singular'),\"value\":_vm.facilityName(escape.housingFacilityID)}}),(escape.wasFailedEscape === true)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('escape.failedEscape')}},[_c('v-icon',{attrs:{\"large\":\"\",\"color\":\"warning\"}},[_vm._v(\"fa-check-square\")])],1):_vm._e(),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"12\",\"label\":_vm.$t('escape.remarks'),\"value\":escape.remarks}})],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[(escape.id)?_c('AttachmentsLinks',{attrs:{\"entityType\":\"escape\",\"entityID\":escape.id,\"label\":_vm.$t('escape.singular') +\n ': ' +\n _vm.$t('attachment.plural')}}):_vm._e(),(escape.id)?_c('AttachmentsLinks',{attrs:{\"entityType\":\"escapeRecapture\",\"entityID\":escape.id,\"label\":_vm.$t('escape.recapture') +\n ': ' +\n _vm.$t('attachment.plural')}}):_vm._e()],1)],1)],1)],1)])])})],2)]},proxy:true}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('escape.addAnEscape')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('escape.escapedDate'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.escapedAt),callback:function ($$v) {_vm.escapedAt=$$v},expression:\"escapedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('FacilitySelector',{attrs:{\"label\":_vm.$t('housingFacility.singular'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"must-accept-transfers\":\"\",\"disabled\":\"\"},model:{value:(_vm.housingFacilityID),callback:function ($$v) {_vm.housingFacilityID=$$v},expression:\"housingFacilityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('escape.causedDamage'),\"prepend-icon\":\"fa-house-damage\"},model:{value:(_vm.causedBuildingDamage),callback:function ($$v) {_vm.causedBuildingDamage=$$v},expression:\"causedBuildingDamage\"}})],1),_c('v-col',{attrs:{\"xs\":\"12\",\"sm\":\"4\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('escape.causedInjuries'),\"prepend-icon\":\"fa-user-injured\"},model:{value:(_vm.causedStaffInjuries),callback:function ($$v) {_vm.causedStaffInjuries=$$v},expression:\"causedStaffInjuries\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('escape.failedEscape'),\"prepend-icon\":\"fa-check-square\"},model:{value:(_vm.wasFailedEscape),callback:function ($$v) {_vm.wasFailedEscape=$$v},expression:\"wasFailedEscape\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('escape.helpedOthersEscape'),\"prepend-icon\":\"fa-hands-helping\"},model:{value:(_vm.helpedOthersEscape),callback:function ($$v) {_vm.helpedOthersEscape=$$v},expression:\"helpedOthersEscape\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('escape.remarks'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.remarks),callback:function ($$v) {_vm.remarks=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"remarks\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"escape\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { Offender } from '@/vuex/offender/offender';\n\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n\n data() {\n return {\n isOpen: false,\n\n housingFacilityID: 0,\n escapedAt: moment().format(),\n wasFailedEscape: false,\n causedBuildingDamage: false,\n causedStaffInjuries: false,\n helpedOthersEscape: false,\n remarks: '',\n error: null as any,\n };\n },\n\n computed: {\n ...mapGetters('offender', ['offenderWithID']),\n\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n },\n\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.escapedAt = moment().format();\n this.remarks = '';\n this.housingFacilityID =\n (this.offender && this.offender.housingFacilityID) || 0;\n this.causedBuildingDamage = false;\n this.causedStaffInjuries = false;\n this.helpedOthersEscape = false;\n this.wasFailedEscape = false;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('escapes/create', {\n data: {\n offenderID: this.offenderID,\n housingFacilityID: this.housingFacilityID,\n escapedAt: this.escapedAt,\n remarks: this.remarks,\n causedBuildingDamage: this.causedBuildingDamage,\n causedStaffInjuries: this.causedStaffInjuries,\n helpedOthersEscape: this.helpedOthersEscape,\n wasFailedEscape: this.wasFailedEscape,\n },\n });\n const newState = response.data.data;\n const newID = Object.keys(newState.escape)[0];\n this.$store.commit('offender/setState', newState);\n this.$store.commit('offender/prependToTarget', {\n target: 'escapeIDsForOffender',\n index: this.offenderID,\n value: Object.keys(newState.escape),\n });\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n\n // Close the dialog\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n FacilitySelector,\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddAnEscapeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddAnEscapeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddAnEscapeDialog.vue?vue&type=template&id=770efbb4&\"\nimport script from \"./AddAnEscapeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddAnEscapeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCheckbox,VCol,VRow,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex justify-space-between\"},[(_vm.isNotRecaptured && _vm.hasPermission('offender.escape.create'))?_c('RecaptureDialog',{attrs:{\"escapeID\":_vm.escapeID,\"offenderID\":_vm.offenderID},model:{value:(_vm.openRecaptureDialog),callback:function ($$v) {_vm.openRecaptureDialog=$$v},expression:\"openRecaptureDialog\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"title\":_vm.$t('escape.markAsRecaptured')},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",function(){return [_c('v-btn',_vm._g({staticClass:\"mx-1\",attrs:{\"color\":\"success\",\"x-small\":\"\"}},slotProps.on),[_vm._v(\" \"+_vm._s(_vm.$t('escape.markAsRecaptured'))+\" \")])]},null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.offenderID}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('escape.recapturedDate'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.recapturedDate),callback:function ($$v) {_vm.recapturedDate=$$v},expression:\"recapturedDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('details')},model:{value:(_vm.remarks),callback:function ($$v) {_vm.remarks=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"remarks\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"escapeRecapture\",\"entityID\":_vm.escapeID}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport moment from 'moment';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\n\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: ['value', 'offenderID', 'escapeID'],\n data() {\n return {\n currentEscapeID: this.escapeID,\n recapturedDate: moment().format(),\n remarks: '',\n recaptureDialog: false,\n housingFacilityID: 0,\n error: null as any,\n isOpen: false,\n };\n },\n watch: {\n value(val) {\n if (val) {\n this.reset();\n }\n },\n },\n methods: {\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('escapes/recapture', {\n data: {\n escapeID: this.escapeID,\n recaptureDate: this.recapturedDate,\n remarks: this.remarks,\n },\n });\n const newState = response.data.data;\n const newID = Object.keys(newState.escape)[0];\n this.$store.commit('offender/setState', newState);\n this.$store.commit('offender/prependToTarget', {\n target: 'escapeIDsForOffender',\n index: this.offenderID,\n value: Object.keys(newState.escape),\n });\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n reset() {\n this.currentEscapeID = 0;\n this.recapturedDate = moment().format();\n this.housingFacilityID = 0;\n this.remarks = '';\n },\n },\n components: {\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecaptureDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecaptureDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecaptureDialog.vue?vue&type=template&id=2dba39c2&\"\nimport script from \"./RecaptureDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecaptureDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCol,VRow,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\nimport { Escape } from '@/vuex/offender/escape';\nimport RecaptureDialog from './RecaptureDialog.vue';\n\nexport default Vue.extend({\n props: {\n escapeID: Number,\n offenderID: Number,\n },\n data() {\n return {\n openRecaptureDialog: false,\n };\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('offender', ['escapeWithID']),\n escape(): Escape {\n return this.escapeWithID(this.escapeID);\n },\n isNotRecaptured(): boolean {\n return this.escape.recapturedAt === null;\n },\n },\n methods: {\n recapturePrompt(): void {\n this.openRecaptureDialog = true;\n },\n },\n components: {\n RecaptureDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EscapesActions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EscapesActions.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EscapesActions.vue?vue&type=template&id=14c6a89d&\"\nimport script from \"./EscapesActions.vue?vue&type=script&lang=ts&\"\nexport * from \"./EscapesActions.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Escape } from '@/vuex/offender/escape';\nimport { Offender } from '@/vuex/offender/offender';\n\nimport AddAnEscapeDialog from '@/components/offender/escape/AddAnEscapeDialog.vue';\nimport EscapesActions from '@/components/offender/escape/EscapesActions.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n contentOnly: Boolean,\n },\n\n created(): void {\n if (this.offenderID) {\n this.fetchData();\n }\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('offender', [\n 'escapesForOffender',\n 'offenderIsReleased',\n 'offenderWithID',\n ]),\n ...mapGetters('housing', ['facilityName']),\n\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n\n escapes(): Escape[] {\n return this.escapesForOffender(this.offenderID);\n },\n\n /**\n * isReleased computes whether this Offender has been released. It is used\n * to alter the display and disable features which are not used for\n * released Offenders.\n */\n isReleased(): boolean {\n return this.offenderIsReleased(this.offenderID);\n },\n\n /**\n * canAdd returns true if its acceptable to add a new Escape\n */\n canAdd(): boolean {\n if (this.isReleased) {\n return false;\n }\n\n if (!this.offender) {\n return false;\n }\n\n const hasPendingEscape =\n _.filter(this.escapes, (escape) => {\n return !escape.recapturedAt;\n }).length > 0;\n\n if (hasPendingEscape) {\n return false;\n }\n\n return this.hasPermission(\n 'offender.escape.create',\n 'facility',\n this.offender.housingFacilityID,\n );\n },\n },\n\n watch: {\n offenderID(val: number): void {\n if (this.offenderID) {\n this.fetchData();\n }\n },\n },\n\n methods: {\n fetchData(): void {\n this.$store.dispatch('offender/fetchEscapes', {\n offenderID: this.offenderID,\n });\n },\n },\n\n components: {\n AddAnEscapeDialog,\n EscapesActions,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EscapesTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EscapesTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EscapesTable.vue?vue&type=template&id=436e9bfe&\"\nimport script from \"./EscapesTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./EscapesTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCol,VIcon,VRow,VSimpleTable,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":_vm.contentOnly || _vm.isReleased,\"tile\":_vm.contentOnly || _vm.isReleased}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([(!_vm.contentOnly)?{key:\"extension\",fn:function(){return [_c('ReportIncidentDialog',{attrs:{\"offenderID\":_vm.offenderID},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_c('v-btn',_vm._g({attrs:{\"fab\":\"\",\"absolute\":\"\",\"bottom\":\"\",\"color\":\"accent\"}},slotProps.on),[_c('v-icon',[_vm._v(\"fa-plus\")])],1)]}}],null,false,908198896)})]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('incident.plural')))])],1),_c('v-card-text',[_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('incident.date')))]),_c('th',[_vm._v(_vm._s(_vm.$t('incident.type')))]),_c('th',[_vm._v(_vm._s(_vm.$t('location.singular')))]),_c('th',[_vm._v(_vm._s(_vm.$t('action.plural')))])])]),_c('tbody',[(_vm.incidents.length === 0)?_c('tr',[_c('td',{staticStyle:{\"text-align\":\"center\"},attrs:{\"colspan\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.$t('error.nodata'))+\" \")])]):_vm._e(),_vm._l((_vm.incidents),function(incident){return _c('tr',{key:incident.id},[_c('td',[_c('Date',{attrs:{\"value\":incident.occurredAt}})],1),_c('td',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( incident.typeID, 'offender/incidentTypes' ))+\" \")]),_c('td',[_c('HousingFacilityName',{attrs:{\"full\":\"\",\"id\":incident.housingFacilityID}})],1),_c('td',[_c('ExpanderDialog',{attrs:{\"title\":_vm.$t('incident.singular')}},[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('incident.date')}},[_c('Date',{attrs:{\"value\":incident.occurredAt}})],1),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('incident.incidentType'),\"value\":_vm.nameForIDInCollection(\n incident.typeID,\n 'offender/incidentTypes'\n )}}),(incident.victims[0] != undefined)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('incident.victim.plural'),\"value\":incident.victims}},_vm._l((incident.victims),function(victim){return _c('ul',{key:victim.id},[_vm._v(\" \"+_vm._s(victim)+\" \")])}),0):_vm._e(),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('location.singular')}},[_c('HousingFacilityName',{attrs:{\"full\":\"\",\"id\":incident.housingFacilityID}})],1),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('incident.reportedBy'),\"value\":incident.reportedBy}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('details'),\"value\":incident.details}})],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[(incident.id)?_c('AttachmentsLinks',{attrs:{\"entityType\":\"incident\",\"entityID\":incident.id}}):_vm._e()],1)],1)],1)],1)])})],2)]},proxy:true}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Incident } from '@/vuex/offender/incident';\nimport { Offender } from '@/vuex/offender/offender';\n\nimport ReportIncidentDialog from '@/components/offender/incident/ReportIncidentDialog.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n contentOnly: Boolean,\n },\n\n created(): void {\n if (this.offenderID) {\n this.fetchData();\n }\n },\n\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('offender', [\n 'incidentsForOffender',\n 'offenderIsReleased',\n 'offenderWithID',\n ]),\n\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n\n incidents(): Incident[] {\n return this.incidentsForOffender(this.offenderID);\n },\n\n /**\n * isReleased computes whether this Offender has been released. It is used\n * to alter the display and disable features which are not used for\n * released Offenders.\n */\n isReleased(): boolean {\n return this.offenderIsReleased(this.offenderID);\n },\n },\n\n watch: {\n offenderID(val: number): void {\n if (this.offenderID) {\n this.fetchData();\n }\n },\n },\n\n methods: {\n fetchData(): void {\n this.$store.dispatch('offender/fetchIncidents', {\n offenderID: this.offenderID,\n });\n },\n },\n components: {\n ReportIncidentDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IncidentsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IncidentsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IncidentsTable.vue?vue&type=template&id=686fa160&\"\nimport script from \"./IncidentsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./IncidentsTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VIcon,VRow,VSimpleTable,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"edit\":\"\",\"title\":_vm.$t('classification.reclassify'),\"loading\":_vm.loading,\"max-width\":\"800px\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",function(){return [_c('v-btn',_vm._g({attrs:{\"text\":\"\"}},slotProps.on),[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fas fa-edit\")]),_vm._v(\" \"+_vm._s(_vm.$t('profile.reclassification'))+\" \")],1)]},null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.offenderID}}),(_vm.offender && _vm.profile)?_c('OffenderClassificationForm',{attrs:{\"offender\":_vm.offender,\"profile\":_vm.profile},on:{\"updateOffender\":function($event){_vm.offender = $event},\"updateProfile\":function($event){_vm.profile = $event}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { Profile } from '@/vuex/profile/profile';\nimport { Offender } from '@/vuex/offender/offender';\n\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\nimport OffenderClassificationForm from '@/views/offender/OffenderClassificationForm.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n data() {\n return {\n isOpen: false,\n loading: false,\n offender: null as Offender | null,\n profile: null as Profile | null,\n };\n },\n computed: {\n ...mapGetters('offender', ['offenderWithID']),\n ...mapGetters('profile', ['profileWithID']),\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n async reset(): Promise {\n if (this.offenderID) {\n const localOffenderCopy = this.offenderWithID(this.offenderID);\n this.offender = Object.assign({}, localOffenderCopy);\n\n const localProfileCopy = this.profileWithID(\n localOffenderCopy.profileID,\n );\n this.profile = Object.assign({}, localProfileCopy);\n }\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the classification info (Profile and Offender) to\n * the database and update local state with the results.3\n */\n async save(): Promise {\n if (!this.offender || !this.profile) {\n return;\n }\n\n const response = await offenderAPI.post('offenders/reclassify', {\n data: {\n offenderID: this.offenderID,\n classificationScore: this.offender.classificationScore,\n flagIDs: this.offender.flagIDs,\n privilegeIDs: this.offender.privilegeIDs,\n isJuvenile: this.offender.isJuvenile,\n isDetainee: this.offender.isDetainee,\n\n criminalGroupIDs: this.profile.criminalGroupIDs,\n criminalGroupRoleID: this.profile.criminalGroupRoleID,\n infectiousDiseaseIDs: this.profile.infectiousDiseaseIDs,\n mentalDisorderIDs: this.profile.mentalDisorderIDs,\n motherChildConcernIDs: this.profile.motherChildConcernIDs,\n },\n });\n const combinedState = response.data.data;\n\n const offenderState = _.pick(combinedState, ['offender']);\n this.$store.commit('offender/setState', offenderState);\n\n const profileState = _.pick(combinedState, ['profile']);\n this.$store.commit('profile/setState', profileState);\n\n this.isOpen = false;\n },\n },\n components: {\n OffenderNameAndPIN,\n OffenderClassificationForm,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderReclassificationDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderReclassificationDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderReclassificationDialog.vue?vue&type=template&id=30fb6614&\"\nimport script from \"./OffenderReclassificationDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderReclassificationDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Profile } from '@/vuex/profile/profile';\nimport { Offender } from '@/vuex/offender/offender';\nimport { Flags } from '@/vuex/offender/offender';\n\nimport EscapesTable from '@/components/offender/escape/EscapesTable.vue';\nimport IncidentsTable from '@/components/offender/incident/IncidentsTable.vue';\nimport OffenderReclassificationDialog from '@/views/offender/OffenderReclassificationDialog.vue';\nimport ProfileDetailsCard from '@/components/profile/ProfileDetailsCard.vue';\nimport ProfileIdentityCard from '@/components/profile/ProfileIdentityCard.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n contentOnly: Boolean,\n },\n\n data(): any {\n return {\n highProfileOffenderID: Flags.highProfileOffenderID,\n securityThreatID: Flags.securityThreatID,\n specialManagementID: Flags.specialManagementID,\n };\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('offender', ['offenderWithID', 'offenderIsReleased']),\n ...mapGetters('profile', ['profileWithID']),\n\n profile(): Profile {\n return this.profileWithID(this.offender.profileID);\n },\n\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n\n /**\n * canReclassify returns true if the current user is allowed to reclassify\n * this offender.\n */\n canReclassify(): boolean {\n if (this.isReleased) {\n return false;\n }\n if (!this.offender) {\n return false;\n }\n return this.hasPermission(\n 'offender.reclassify',\n 'facility',\n this.offender.housingFacilityID,\n );\n },\n\n /**\n * isReleased computes whether this Offender has been released. It is used\n * to alter the display and disable features which are not used for\n * released Offenders.\n */\n isReleased(): boolean {\n return this.offenderIsReleased(this.offenderID);\n },\n },\n components: {\n EscapesTable,\n IncidentsTable,\n OffenderReclassificationDialog,\n ProfileDetailsCard,\n ProfileIdentityCard,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderProfile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderProfile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderProfile.vue?vue&type=template&id=49b2fae7&\"\nimport script from \"./OffenderProfile.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderProfile.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCol,VRow,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.id)?_c('v-row',[_c('v-col',{staticClass:\"text-h4\",attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.$t('program.plural')))]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('OffenderProgramsTable',{attrs:{\"contentOnly\":_vm.contentOnly,\"offenderID\":_vm.id}})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":_vm.contentOnly || _vm.isReleased,\"tile\":_vm.contentOnly || _vm.isReleased}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([(!_vm.contentOnly)?{key:\"extension\",fn:function(){return [(_vm.canAdd)?_c('BeginOffenderProgramDialog',{attrs:{\"offenderID\":_vm.offenderID}}):_vm._e()]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('program.plural')))])],1),_c('v-card-text',[_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('program.status')))]),_c('th',[_vm._v(_vm._s(_vm.$t('housingFacility.singular')))]),_c('th',[_vm._v(_vm._s(_vm.$t('program.type')))]),_c('th',[_vm._v(_vm._s(_vm.$t('program.course')))]),_c('th',[_vm._v(_vm._s(_vm.$t('program.startedAt')))]),_c('th',[_vm._v(_vm._s(_vm.$t('program.endedAt')))]),_c('th',[_vm._v(_vm._s(_vm.$t('action.plural')))])])]),_c('tbody',[(_vm.programs.length === 0)?_c('tr',[_c('td',{staticStyle:{\"text-align\":\"center\"},attrs:{\"colspan\":\"8\"}},[_vm._v(\" \"+_vm._s(_vm.$t('error.nodata'))+\" \")])]):_vm._e(),_vm._l((_vm.programs),function(program){return _c('tr',{key:program.id},[_c('td',[_vm._v(_vm._s(_vm.$t('program.statusOptions.' + program.status)))]),_c('td',[_vm._v(_vm._s(_vm.facilityName(program.housingFacilityID)))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.$t('program.typeOptions.' + _vm.courses[program.courseID].type))+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.courses[program.courseID].name[_vm.locale])+\" \")]),_c('td',[_c('Date',{attrs:{\"value\":program.startedAt}})],1),_c('td',[_c('Date',{attrs:{\"value\":program.endedAt}})],1),_c('td',[_c('div',{staticClass:\"d-flex\"},[_c('OffenderProgramActions',{attrs:{\"offenderProgramID\":program.id}}),_c('ExpanderDialog',{attrs:{\"title\":_vm.nameForIDInCollection(program.courseID, _vm.courses)}},[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('program.status'),\"value\":_vm.$t('program.statusOptions.' + program.status)}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('program.startedAt')}},[_c('Date',{attrs:{\"value\":program.startedAt}})],1),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('program.endedAt')}},[_c('Date',{attrs:{\"value\":program.endedAt}})],1),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('program.course'),\"value\":_vm.nameForIDInCollection(program.courseID, _vm.courses)}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('program.type'),\"value\":_vm.$t(\n 'program.typeOptions.' +\n _vm.courses[program.courseID].type\n )}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('program.startingNotes'),\"value\":program.startNotes}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"4\",\"label\":_vm.$t('program.endingNotes'),\"value\":program.endNotes}})],1),_c('v-row',[(program.id)?_c('AttachmentsLinks',{attrs:{\"entityType\":\"offenderProgram\",\"entityID\":program.id,\"label\":_vm.$t('attachment.plural')}}):_vm._e()],1)],1)],1)])])})],2)]},proxy:true}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex\"},[(_vm.program.status == 'in-progress')?[(_vm.hasPermission('offender.program.create'))?_c('CompleteOffenderProgramDialog',{attrs:{\"offenderProgramID\":_vm.program.id},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"mx-1\",attrs:{\"x-small\":\"\",\"color\":\"success\"}},on),[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-check\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.complete'))+\" \")],1)]}}],null,false,4000805525)}):_vm._e(),(_vm.hasPermission('offender.program.create'))?_c('EndOffenderProgramDialog',{attrs:{\"offenderProgramID\":_vm.program.id},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"mx-1\",attrs:{\"x-small\":\"\",\"color\":\"error\"}},on),[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-ban\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.end'))+\" \")],1)]}}],null,false,26549603)}):_vm._e()]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"title\":_vm.$t('program.logSuccessfulCompletion'),\"edit\":\"\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",null,null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.program.offenderID}})],1)],1),(_vm.course)?_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(_vm._s(_vm.$t('program.startedAt')))]),_c('div',{staticClass:\"text-body-1\"},[_c('Date',{attrs:{\"value\":_vm.program.startedAt}})],1)]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(_vm._s(_vm.$t('program.type')))]),_c('div',{staticClass:\"text-body-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('program.typeOptions.' + _vm.course.type))+\" \")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(_vm._s(_vm.$t('program.course')))]),_c('div',{staticClass:\"text-body-1\"},[_vm._v(\" \"+_vm._s(_vm.valueForLocale(_vm.course.name))+\" \")])])],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('program.completedAt'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.completedAt),callback:function ($$v) {_vm.completedAt=$$v},expression:\"completedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-select',{attrs:{\"disabled\":\"\",\"label\":_vm.$t('program.status'),\"items\":_vm.endTypes},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.$t('program.statusOptions.' + item))+\" \")]}},{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.$t('program.statusOptions.' + item))+\" \")]}}]),model:{value:(_vm.endType),callback:function ($$v) {_vm.endType=$$v},expression:\"endType\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"rows\":\"4\",\"label\":_vm.$t('notes')},model:{value:(_vm.notes),callback:function ($$v) {_vm.notes=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"notes\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"offenderProgram\",\"entityID\":this.offenderProgramID}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport moment from 'moment-timezone';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { Program } from '@/vuex/offender/program';\nimport { LookupItem } from '@/vuex/offender/options';\n\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: ['offenderProgramID'],\n data(): any {\n return {\n isOpen: false,\n\n endTypes: ['completed'],\n endType: 'completed',\n completedAt: moment().format(),\n notes: '',\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('language', ['valueForLocale']),\n ...mapGetters('offender', ['courseWithID', 'offenderProgramWithID']),\n\n /**\n * program pulls an individual Program for a single Offender from the Vuex\n * store.\n */\n program(): Program | null {\n return this.offenderProgramWithID(this.offenderProgramID) || null;\n },\n\n /**\n * course retrieves the LookupItem for the course on this program, so that\n * we can display its type and title in the form.\n */\n course(): LookupItem | null {\n if (!this.program) {\n return null;\n }\n return this.courseWithID(this.program.courseID) || null;\n },\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.completedAt = moment().format();\n this.notes = '';\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to trigger the API call to persist the entity to the database.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('programs/complete', {\n data: {\n programID: this.offenderProgramID,\n completedAt: moment.tz(this.completedAt, 'Asia/Kabul').format(),\n notes: this.notes,\n },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CompleteOffenderProgramDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CompleteOffenderProgramDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CompleteOffenderProgramDialog.vue?vue&type=template&id=716a4750&\"\nimport script from \"./CompleteOffenderProgramDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./CompleteOffenderProgramDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCol,VRow,VSelect,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"title\":_vm.$t('program.logUnsuccessfulEnding'),\"edit\":\"\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",null,null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.program.offenderID}})],1)],1),(_vm.course)?_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(_vm._s(_vm.$t('program.startedAt')))]),_c('div',{staticClass:\"text-body-1\"},[_c('Date',{attrs:{\"value\":_vm.program.startedAt}})],1)]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(_vm._s(_vm.$t('program.type')))]),_c('div',{staticClass:\"text-body-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('program.typeOptions.' + _vm.course.type))+\" \")])]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-overline\"},[_vm._v(_vm._s(_vm.$t('program.course')))]),_c('div',{staticClass:\"text-body-1\"},[_vm._v(_vm._s(_vm.valueForLocale(_vm.course.name)))])])],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('program.endedAt'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.endedAt),callback:function ($$v) {_vm.endedAt=$$v},expression:\"endedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-select',{attrs:{\"label\":_vm.$t('program.endType'),\"items\":_vm.endTypes},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.$t('program.statusOptions.' + item))+\" \")]}},{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.$t('program.statusOptions.' + item))+\" \")]}}]),model:{value:(_vm.endType),callback:function ($$v) {_vm.endType=$$v},expression:\"endType\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"rows\":\"4\",\"label\":_vm.$t('notes')},model:{value:(_vm.notes),callback:function ($$v) {_vm.notes=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"notes\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"offenderProgram\",\"entityID\":this.offenderProgramID}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { Program } from '@/vuex/offender/program';\nimport { LookupItem } from '@/vuex/offender/options';\n\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: ['offenderProgramID'],\n data() {\n return {\n isOpen: false,\n\n endTypes: ['terminated', 'dropped-out'],\n endType: 'terminated',\n endedAt: moment().format(),\n notes: '',\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('language', ['valueForLocale']),\n ...mapGetters('offender', ['courseWithID', 'offenderProgramWithID']),\n\n /**\n * program pulls an individual Program for a single Offender from the Vuex\n * store.\n */\n program(): Program | null {\n return this.offenderProgramWithID(this.offenderProgramID) || null;\n },\n\n /**\n * course retrieves the LookupItem for the course on this program, so that\n * we can display its type and title in the form.\n */\n course(): LookupItem | null {\n if (!this.program) {\n return null;\n }\n return this.courseWithID(this.program.courseID);\n },\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset() {\n this.endedAt = moment().format();\n this.notes = '';\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to trigger the API call to persist the entity to the database.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('programs/end', {\n data: {\n programID: this.offenderProgramID,\n endedAt: this.endedAt,\n endType: this.endType,\n notes: this.notes,\n },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EndOffenderProgramDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EndOffenderProgramDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EndOffenderProgramDialog.vue?vue&type=template&id=5d536a43&\"\nimport script from \"./EndOffenderProgramDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EndOffenderProgramDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCol,VRow,VSelect,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport { Program } from '@/vuex/offender/program';\n\nimport CompleteOffenderProgramDialog from './CompleteOffenderProgramDialog.vue';\nimport EndOffenderProgramDialog from './EndOffenderProgramDialog.vue';\nimport { mapGetters, mapState } from 'vuex';\n\n/**\n * OffenderProgramActions shows UI for buttons to interact\n * with a single Program\n */\nexport default Vue.extend({\n props: {\n offenderProgramID: Number,\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapState('offender', ['offenderProgram']),\n // program provides the current OffenderProgram object\n program(): Program | null {\n return this.offenderProgram[this.offenderProgramID] || null;\n },\n\n // status returns either the status of the current Program or 'unknown'\n // if the program is not found\n status(): string {\n if (this.program === null) {\n return 'unknown';\n }\n return this.program.status;\n },\n },\n components: {\n CompleteOffenderProgramDialog,\n EndOffenderProgramDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderProgramActions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderProgramActions.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderProgramActions.vue?vue&type=template&id=3f56eeb4&\"\nimport script from \"./OffenderProgramActions.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderProgramActions.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"title\":_vm.$t('program.beginAProgram'),\"add\":\"\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('OffenderNameAndPIN',{attrs:{\"offenderID\":_vm.offenderID}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('program.startedAt'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.startedAt),callback:function ($$v) {_vm.startedAt=$$v},expression:\"startedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('FacilitySelector',{attrs:{\"disabled\":true,\"label\":_vm.$t('housingFacility.singular'),\"must-accept-transfers\":\"\"},model:{value:(_vm.housingFacilityID),callback:function ($$v) {_vm.housingFacilityID=$$v},expression:\"housingFacilityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('LookupTableTypeSelector',{attrs:{\"label\":_vm.$t('program.type'),\"items\":\"offender/courses\",\"translation-key-prefix\":\"program.typeOptions\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.courseType),callback:function ($$v) {_vm.courseType=$$v},expression:\"courseType\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('program.course'),\"type\":_vm.courseType,\"items\":\"offender/courses\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.courseID),callback:function ($$v) {_vm.courseID=$$v},expression:\"courseID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"rows\":\"4\",\"label\":_vm.$t('notes')},model:{value:(_vm.notes),callback:function ($$v) {_vm.notes=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"notes\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('AttachmentsList',{ref:\"attachments\",attrs:{\"entityType\":\"offenderProgram\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\nimport offenderAPI from '@/vuex/offender/offenderAPI';\n\nimport { Offender } from '@/vuex/offender/offender';\n\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\n\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n data(): any {\n return {\n isOpen: false,\n\n courseType: 'education',\n startedAt: '',\n courseID: 1,\n housingFacilityID: 0,\n notes: '',\n error: null as any,\n };\n },\n computed: {\n ...mapGetters('offender', ['offenderWithID']),\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n const now = new Date();\n this.startedAt = now.toISOString().substr(0, 10);\n if (this.offender) {\n this.housingFacilityID = this.offender.housingFacilityID;\n }\n this.courseID = 1;\n this.courseType = 'education';\n this.notes = '';\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to trigger the API call to persist the entity to the database.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('programs/begin', {\n data: {\n offenderID: this.offenderID,\n courseID: this.courseID,\n housingFacilityID: this.housingFacilityID,\n startedAt: this.startedAt,\n startNotes: this.notes,\n },\n });\n const newState = response.data.data;\n const newID = Object.keys(newState.offenderProgram)[0];\n this.$store.commit('offender/setState', newState);\n this.$store.commit('offender/prependToTarget', {\n target: 'offenderProgramIDsForOffender',\n index: this.offenderID,\n value: Object.keys(newState.offenderProgram),\n });\n\n // Attach the attachments\n (this.$refs.attachments as any).updateEntityID(newID);\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n FacilitySelector,\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BeginOffenderProgramDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BeginOffenderProgramDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BeginOffenderProgramDialog.vue?vue&type=template&id=1ce24ad4&\"\nimport script from \"./BeginOffenderProgramDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./BeginOffenderProgramDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCol,VRow,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport { mapGetters, mapState } from 'vuex';\nimport { Program } from '@/vuex/offender/program';\nimport OffenderProgramActions from './OffenderProgramActions.vue';\n\nimport BeginOffenderProgramDialog from '@/components/offender/programs/BeginOffenderProgramDialog.vue';\n\n/**\n * OffenderProgramsTable displays all programs an offender has participated in\n * or is currently participating in.\n */\nexport default Vue.extend({\n props: {\n offenderID: Number,\n contentOnly: Boolean,\n },\n\n created(): void {\n /**\n * At startup, we only want to fetch data if an offenderID was correctly\n * provided. A separate watcher on offenderID (see below) will trigger\n * data fetch if the offenderID is changed later.\n */\n if (this.offenderID) {\n this.fetchData();\n }\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('housing', ['facilityName']),\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('offender', ['courses']),\n ...mapGetters('offender', ['programsForOffender', 'offenderIsReleased']),\n\n /**\n * programs builds the current list of the offender's programs from\n * the Vuex\n */\n programs(): Program[] {\n return this.programsForOffender(this.offenderID);\n },\n\n /**\n * isReleased computes whether this Offender has been released. It is used\n * to alter the display and disable features which are not used for\n * released Offenders.\n */\n isReleased(): boolean {\n return this.offenderIsReleased(this.offenderID);\n },\n\n /**\n * canAdd returns true if its acceptable to add a new Sentence Adjustment\n */\n canAdd(): boolean {\n if (this.isReleased) {\n return false;\n }\n return this.hasPermission('offender.program.create');\n },\n },\n\n watch: {\n /**\n * If offenderID prop is changed on this component, we need to ensure\n * data for the new Offender is fetched.\n */\n offenderID(val: number): void {\n if (this.offenderID) {\n this.fetchData();\n }\n },\n },\n\n methods: {\n /**\n * fetchData asks the Vuex store to fetch all programs for this offender\n */\n fetchData(): void {\n this.$store.dispatch('offender/fetchPrograms', {\n offenderID: this.offenderID,\n });\n },\n },\n components: {\n BeginOffenderProgramDialog,\n OffenderProgramActions,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderProgramsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderProgramsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderProgramsTable.vue?vue&type=template&id=03a984ae&\"\nimport script from \"./OffenderProgramsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderProgramsTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VRow,VSimpleTable,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport OffenderProgramsTable from '@/components/offender/programs/OffenderProgramsTable.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n contentOnly: {\n type: Boolean,\n default: false,\n },\n },\n components: {\n OffenderProgramsTable,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderPrograms.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderPrograms.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderPrograms.vue?vue&type=template&id=79e4ed2a&\"\nimport script from \"./OffenderPrograms.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderPrograms.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.id)?_c('v-row',[_c('v-col',{staticClass:\"text-h4\",attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.$t('charge.plural')))]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('OffenderCharges',{attrs:{\"offenderID\":_vm.id,\"contentOnly\":_vm.contentOnly}})],1),_c('v-col',{staticClass:\"text-h4\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('sentence.singular')))]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('OffenderPardonDecreesTable',{attrs:{\"offenderID\":_vm.id,\"contentOnly\":_vm.contentOnly}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('SentenceAdjustmentsTable',{attrs:{\"offenderID\":_vm.id,\"contentOnly\":_vm.contentOnly}})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.participant)?_c('v-card',{attrs:{\"flat\":_vm.contentOnly || _vm.isReleased,\"tile\":_vm.contentOnly || _vm.isReleased}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('div',{staticClass:\"text-caption\"},[(_vm.dossier.lastCourtID)?_c('div',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('court.singular'))+\": \")]),_c('CourtName',{attrs:{\"full\":\"\",\"id\":_vm.dossier.lastCourtID}})],1):_vm._e(),(_vm.dossier.lastDepartmentID)?_c('div',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('department.singular'))+\": \")]),_c('DepartmentName',{attrs:{\"full\":\"\",\"id\":_vm.dossier.lastDepartmentID}})],1):_vm._e()])]},proxy:true}],null,false,1022972148)},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.dossier.number)+\" \"),_c('v-chip',{staticClass:\"mx-1\",attrs:{\"small\":\"\",\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.dossier.stageID, 'court/dossierStages'))+\" \")]),_c('v-chip',{staticClass:\"mx-1\",attrs:{\"small\":\"\",\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(_vm.dossier.statusID, 'court/dossierStatuses'))+\" \")]),(_vm.dossier.isFinal)?_c('v-chip',{staticClass:\"mx-1\",attrs:{\"small\":\"\",\"label\":\"\",\"color\":\"secondary\"}},[_vm._v(\" \"+_vm._s(_vm.$t('dossier.isFinal'))+\" \")]):_vm._e()],1)],1),_c('v-card-text',[_c('ChargesTable',{model:{value:(_vm.participant.charges),callback:function ($$v) {_vm.$set(_vm.participant, \"charges\", $$v)},expression:\"participant.charges\"}})],1),_vm._t(\"default\")],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Dossier } from '@/vuex/court/dossier';\nimport { Offender } from '@/vuex/offender/offender';\nimport { Participant } from '@/vuex/court/participant';\nimport { Profile } from '@/vuex/profile/profile';\n\nimport ChargesTable from '@/components/charges/ChargesTable.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n contentOnly: Boolean,\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('offender', ['offenderWithID', 'offenderIsReleased']),\n ...mapGetters('court', ['participantInDossier', 'dossierWithID']),\n ...mapGetters('profile', ['profileWithID']),\n\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n\n profile(): Profile {\n return this.profileWithID(this.offender.profileID);\n },\n\n participant(): Participant {\n return this.participantInDossier(\n this.offender.dossierID,\n this.profile.partyID,\n );\n },\n\n dossier(): Dossier {\n return this.dossierWithID(this.offender.dossierID);\n },\n\n /**\n * isReleased computes whether this Offender has been released. It is used\n * to alter the display and disable features which are not used for\n * released Offenders.\n */\n isReleased(): boolean {\n return this.offenderIsReleased(this.offenderID);\n },\n },\n components: {\n ChargesTable,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderCharges.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderCharges.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderCharges.vue?vue&type=template&id=4affc190&\"\nimport script from \"./OffenderCharges.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderCharges.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VChip,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":_vm.contentOnly || _vm.isReleased,\"tile\":_vm.contentOnly || _vm.isReleased}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([(_vm.canAdd && !_vm.contentOnly)?{key:\"extension\",fn:function(){return [_c('AssignPardonDecreeDialog',{attrs:{\"offenderID\":_vm.offenderID}})]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('pardonDecrees.plural')))])],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"items\":_vm.pardonDecrees,\"headers\":_vm.headers,\"no-data-text\":_vm.$t('error.nodata'),\"hide-default-footer\":\"\",\"disable-sort\":\"\",\"disable-pagination\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',{key:item.id},[_c('td',[_vm._v(_vm._s(item.number))]),_c('td',[_c('Date',{attrs:{\"value\":item.issuedAt}})],1),_c('td',[_c('Truncate',{attrs:{\"value\":item.title,\"length\":40}})],1),_c('td',[_c('Date',{attrs:{\"value\":item.enforcementBeginsAt}})],1),_c('td',[_c('AttachmentsLinks',{attrs:{\"entityType\":\"pardonDecree\",\"entityID\":item.id,\"label\":\"\"}})],1)])]}}])})],1),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('pardonDecrees.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"}},[_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"search\",\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"search\"}})],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"items\":_vm.pardonDecrees,\"search\":_vm.search,\"headers\":_vm.headers,\"no-data-text\":_vm.$t('error.nodata'),\"show-select\":\"\",\"hide-default-footer\":\"\",\"disable-sort\":\"\",\"disable-pagination\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nvar isSelected = ref.isSelected;\nvar select = ref.select;\nreturn [_c('tr',{on:{\"click\":function($event){return select(!isSelected)}}},[_c('td',[_c('v-simple-checkbox',{attrs:{\"value\":isSelected,\"ripple\":false},on:{\"input\":function($event){return select($event)}}})],1),_c('td',[_vm._v(_vm._s(item.number))]),_c('td',[_c('Date',{attrs:{\"value\":item.issuedAt}})],1),_c('td',[_c('Truncate',{attrs:{\"value\":item.title,\"length\":40}})],1)])]}}]),model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { Offender } from '@/vuex/offender/offender';\nimport { PardonDecree } from '@/vuex/investigation/pardonDecree';\nimport { TranslateResult } from 'vue-i18n';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n data() {\n return {\n error: null as TranslateResult | null,\n isOpen: false,\n search: '',\n selected: [],\n };\n },\n computed: {\n ...mapGetters('investigation', ['allPardonDecrees']),\n ...mapGetters('offender', ['offenderWithID']),\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n pardonDecrees(): PardonDecree[] {\n // Reject pardon decrees already associated with offender\n return _.reject(this.allPardonDecrees, (pardonDecree) => {\n return this.offender.pardonDecreeIDs.includes(pardonDecree.id);\n });\n },\n selectedIDs(): number[] {\n return _.map(this.selected, 'id');\n },\n headers(): any[] {\n const h = [\n {\n text: i18n.t('pardonDecrees.number'),\n value: 'number',\n width: '20%',\n },\n {\n text: i18n.t('summons.issuedAt'),\n value: 'issuedAt',\n width: '30%',\n },\n {\n text: i18n.t('corpus.title'),\n value: 'title',\n width: '45%',\n },\n ];\n return h;\n },\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state.\n */\n reset(): void {\n this.error = null;\n this.search = '';\n this.selected = [];\n },\n\n /**\n * save is our event handler for CMSFormDialog's save event. It fires when\n * the save button is clicked on the dialog. We use it to persist the\n * object to the server.\n */\n async save(): Promise {\n if (this.selectedIDs.length === 0) {\n this.error = i18n.t('error.required');\n return;\n }\n\n const response = await offenderAPI.post('offenders/add-pardon-decree', {\n data: {\n offenderID: this.offenderID,\n pardonDecreeIDs: this.selectedIDs,\n },\n });\n const newState = response.data.data;\n this.$store.commit('offender/setState', newState);\n\n this.isOpen = false;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssignPardonDecreeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssignPardonDecreeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AssignPardonDecreeDialog.vue?vue&type=template&id=6aafd338&\"\nimport script from \"./AssignPardonDecreeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AssignPardonDecreeDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VSimpleCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VDataTable,VSimpleCheckbox,VSpacer,VTextField,VToolbar})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { Offender } from '@/vuex/offender/offender';\nimport { PardonDecree } from '@/vuex/investigation/pardonDecree';\n\nimport AssignPardonDecreeDialog from '@/components/offender/pardonDecree/AssignPardonDecreeDialog.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n contentOnly: Boolean,\n },\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('offender', ['offenderWithID', 'offenderIsReleased']),\n ...mapGetters('investigation', ['pardonDecreeWithID']),\n\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n\n pardonDecrees(): PardonDecree[] {\n if (!this.offender) {\n return [];\n }\n const decreeIDs = this.offender.pardonDecreeIDs || [];\n return _.map(decreeIDs, this.pardonDecreeWithID);\n },\n\n /**\n * isReleased computes whether this Offender has been released. It is used\n * to alter the display and disable features which are not used for\n * released Offenders.\n */\n isReleased(): boolean {\n return this.offenderIsReleased(this.offenderID);\n },\n\n /**\n * canAdd returns true if its acceptable to add a new pardon decree\n */\n canAdd(): boolean {\n if (this.isReleased) {\n return false;\n }\n\n if (!this.offender) {\n return false;\n }\n\n return this.hasPermission(\n 'offender.assignPardonDecree',\n 'facility',\n this.offender.housingFacilityID,\n );\n },\n\n headers(): any[] {\n const h = [\n {\n text: i18n.t('pardonDecrees.number'),\n value: 'number',\n width: '10%',\n },\n {\n text: i18n.t('summons.issuedAt'),\n value: 'issuedAt',\n width: '15%',\n },\n {\n text: i18n.t('corpus.title'),\n value: 'title',\n width: '30%',\n },\n {\n text: i18n.t('pardonDecrees.enforcementBeginsAt'),\n value: 'enforcementBeginsAt',\n width: '15%',\n },\n {\n text: i18n.t('attachment.plural'),\n width: '15%',\n },\n ];\n return h;\n },\n },\n components: {\n AssignPardonDecreeDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderPardonDecreesTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderPardonDecreesTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderPardonDecreesTable.vue?vue&type=template&id=524e20a3&\"\nimport script from \"./OffenderPardonDecreesTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderPardonDecreesTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VDataTable,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":_vm.contentOnly || _vm.isReleased,\"tile\":_vm.contentOnly || _vm.isReleased}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"},scopedSlots:_vm._u([(_vm.canAdd && !_vm.contentOnly)?{key:\"extension\",fn:function(){return [_c('AddSentenceAdjustmentDialog',{attrs:{\"offenderID\":_vm.offenderID}})]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('sentenceAdjustment.plural')))])],1),_c('v-card-text',[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.translatedAdjustments,\"disable-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_c('Date',{attrs:{\"value\":item.filedAt}})],1),_c('td',[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(item.reasonID, _vm.sentenceAdjustmentReasons))+\" \")]),_c('td',[_vm._v(_vm._s(item.translatedOperation))]),_c('td',[_c('Duration',{attrs:{\"hours\":item.adjustmentAmountInHours}})],1),_c('td',[_c('Duration',{attrs:{\"hours\":item.newDurationInHours}})],1),_c('td',[_c('Date',{attrs:{\"value\":item.newExpectedReleaseAt}})],1),_c('td',[_c('ExpanderDialog',{attrs:{\"title\":_vm.$t('sentenceAdjustment.singular')}},[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('filedAt')}},[_c('Date',{attrs:{\"value\":item.filedAt}})],1),_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('sentenceAdjustment.direction'),\"value\":item.translatedOperation}}),_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('sentenceAdjustment.amount'),\"value\":item.adjustmentAmountInHours}},[_c('Duration',{attrs:{\"hours\":item.adjustmentAmountInHours}})],1)],1),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('sentenceAdjustment.reason'),\"value\":_vm.nameForIDInCollection(\n item.reasonID,\n _vm.sentenceAdjustmentReasons\n )}}),(item.dossierID && _vm.dossierWithID(item.dossierID))?_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('dossier.dossierNumber'),\"value\":_vm.dossierWithID(item.dossierID).number}}):_vm._e(),(item.pardonDecreeID)?_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('pardonDecrees.singular'),\"value\":item.pardonDecree.number + ': ' + item.pardonDecree.title}}):_vm._e()],1),_c('v-row',[(item.oldDurationInHours)?_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('sentenceAdjustment.oldDuration')}},[_c('Duration',{attrs:{\"hours\":item.oldDurationInHours}})],1):_vm._e(),_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('sentenceAdjustment.newDuration')}},[_c('Duration',{attrs:{\"hours\":item.newDurationInHours}})],1)],1),(\n item.newDetainedAt &&\n item.newDetainedAt != item.oldDetainedAt\n )?_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('sentenceAdjustment.oldDetainedAt')}},[_c('Date',{attrs:{\"value\":item.oldDetainedAt}})],1),_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('sentenceAdjustment.newDetainedAt')}},[_c('Date',{attrs:{\"value\":item.newDetainedAt}})],1)],1):_vm._e(),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"4\",\"label\":_vm.$t('sentenceAdjustment.newExpectedRelease')}},[_c('Date',{attrs:{\"value\":item.newExpectedReleaseAt}})],1)],1),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"label\":_vm.$t('notes'),\"value\":item.notes}})],1)],1)],1)])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('sentenceAdjustment.singular')},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('filedAt'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"past-dates-only\":\"\"},model:{value:(_vm.filedAt),callback:function ($$v) {_vm.filedAt=$$v},expression:\"filedAt\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('sentenceAdjustment.reason'),\"items\":\"offender/sentenceAdjustmentReasons\",\"excludedIDs\":_vm.disallowedReasonIDs},model:{value:(_vm.reasonID),callback:function ($$v) {_vm.reasonID=$$v},expression:\"reasonID\"}})],1),(_vm.needsAssociatedDossier)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-select',{attrs:{\"label\":_vm.$t('court.dossier'),\"items\":_vm.dossierChoices,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.dossierID),callback:function ($$v) {_vm.dossierID=$$v},expression:\"dossierID\"}})],1):_vm._e(),(_vm.needsAssociatedPardonDecree)?_c('v-col',[_c('v-select',{attrs:{\"label\":_vm.$t('pardonDecrees.singular'),\"items\":_vm.pardonDecreeChoices,\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},model:{value:(_vm.pardonDecreeID),callback:function ($$v) {_vm.pardonDecreeID=$$v},expression:\"pardonDecreeID\"}})],1):_vm._e()],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-select',{attrs:{\"label\":_vm.$t('sentenceAdjustment.direction'),\"items\":_vm.directionChoices},model:{value:(_vm.adjustmentDirection),callback:function ($$v) {_vm.adjustmentDirection=$$v},expression:\"adjustmentDirection\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('ImprisonmentDurationField',{attrs:{\"label\":\"\",\"rules\":[function (v) { return v > 0 || _vm.$t('error.required'); }]},model:{value:(_vm.adjustmentAmountInHours),callback:function ($$v) {_vm.adjustmentAmountInHours=$$v},expression:\"adjustmentAmountInHours\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t('notes'),\"rows\":\"2\"},model:{value:(_vm.notes),callback:function ($$v) {_vm.notes=$$v},expression:\"notes\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport offenderAPI from '@/vuex/offender/offenderAPI';\n\nimport { Offender } from '@/vuex/offender/offender';\nimport { Profile } from '@/vuex/profile/profile';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\nimport OffenderNameAndPIN from '@/components/offender/OffenderNameAndPIN.vue';\nimport { AdjustmentReasonID } from '@/vuex/offender/options';\nimport { SentenceAdjustmentReasonID } from '@/vuex/offender/sentenceAdjustment';\n\nconst enum Direction {\n Subtract = -1,\n Set = 0,\n Add = 1,\n}\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n },\n\n data() {\n return {\n isOpen: false,\n dossierID: 0,\n reasonID: AdjustmentReasonID.DetentionExtension,\n pardonDecreeID: 0,\n adjustmentDirection: 1,\n adjustmentAmountInHours: 0,\n filedAt: moment().format(),\n notes: '',\n error: null as any,\n };\n },\n\n computed: {\n ...mapGetters('court', ['dossiersForParty']),\n ...mapGetters('offender', ['offenderWithID']),\n ...mapGetters('profile', ['profileWithID']),\n ...mapGetters('investigation', ['pardonDecreeWithID']),\n\n /**\n * offender returns the full Offender from the offenderID prop provided to\n * this component.\n */\n offender(): Offender {\n return this.offenderWithID(this.offenderID);\n },\n\n /**\n * profile returns the full Profile from the offender.profileID attribute\n */\n profile(): Profile {\n return this.profileWithID(this.offender.profileID);\n },\n\n /**\n * partyID returns the PartyID for the current Offender, by way of their\n * attached Profile.\n */\n partyID(): number {\n if (this.profile) {\n return this.profile.partyID;\n }\n return 0;\n },\n\n /**\n * disallowedReasonIDs restricts the choices which the user is allowed\n * to choose from the full offender/sentenceAdjustmentReasons lookup\n * table\n */\n disallowedReasonIDs(): number[] {\n return [\n SentenceAdjustmentReasonID.Unknown,\n SentenceAdjustmentReasonID.Intake,\n ];\n },\n\n /**\n * directionChoices builds the list of choices for the Sentence Adjustment\n * direction dropdown control.\n */\n directionChoices(): VSelectItem[] {\n return [\n { value: -1, text: i18n.t('sentenceAdjustment.subtract') },\n { value: 0, text: i18n.t('sentenceAdjustment.set') },\n { value: 1, text: i18n.t('sentenceAdjustment.add') },\n ];\n },\n\n /**\n * pardonDecreeChoices builds an array of dropdown selection choices to\n * allow the user to select which Pardon Decree prompted this Sentence\n * Adjustment. Only Pardon Decrees which have been granted to this\n * Offender are valid choices.\n */\n pardonDecreeChoices(): VSelectItem[] {\n return _.map(this.offender.pardonDecreeIDs || [], (id) => {\n const pd = this.pardonDecreeWithID(id);\n return {\n value: id,\n text: `${pd.number} - ${pd.title}`,\n };\n });\n },\n\n /**\n * dossierChoices builds an array of dropdown selection choices to\n * allow the user to select which Dossier prompted this Sentence Adjustment.\n * Only Dossiers Which involve this offender as a Party are valid, and the\n * currently-linked Dossier is removed from the selection list.\n */\n dossierChoices(): VSelectItem[] {\n if (!this.partyID) {\n return [];\n }\n const dossiers = this.dossiersForParty(this.partyID) || [];\n return _.chain(dossiers)\n .reject((d) => d.id === this.offender.dossierID)\n .map((d) => {\n return { value: d.id, text: d.number };\n })\n .value();\n },\n\n /**\n * needsAssociatedPardonDecree returns true when the user needs to select\n * the Pardon Decree to which this SentenceAdjustment relates.\n */\n needsAssociatedPardonDecree(): boolean {\n return this.reasonID === AdjustmentReasonID.PardonDecree;\n },\n\n /**\n * needsAssociatedDossier returns true when the user needs to select a\n * Dossier to associate with this sentence adjustment.\n */\n needsAssociatedDossier(): boolean {\n return this.reasonID === AdjustmentReasonID.ConvictionOfAnotherCrime;\n },\n },\n watch: {\n reasonID(newVal: number) {\n switch (newVal) {\n case AdjustmentReasonID.PardonDecree:\n this.adjustmentDirection = Direction.Subtract;\n break;\n case AdjustmentReasonID.DetentionExtension:\n this.adjustmentDirection = Direction.Add;\n break;\n case AdjustmentReasonID.Intake:\n this.adjustmentDirection = Direction.Set;\n break;\n case AdjustmentReasonID.CourtDecision:\n this.adjustmentDirection = Direction.Set;\n break;\n case AdjustmentReasonID.ClericalError:\n this.adjustmentDirection = Direction.Set;\n break;\n case AdjustmentReasonID.PostponedEnforcement:\n this.adjustmentDirection = Direction.Add;\n break;\n }\n },\n adjustmentDirection(newDirection: number) {\n switch (newDirection) {\n case Direction.Subtract:\n this.adjustmentAmountInHours = 0;\n break;\n case Direction.Add:\n this.adjustmentAmountInHours = 0;\n break;\n case Direction.Set:\n this.adjustmentAmountInHours =\n this.offender.imprisonmentDurationInHours;\n break;\n }\n },\n },\n methods: {\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the object being edited to its default state and to\n * load all relevant data needed for dropdowns.\n */\n async reset(): Promise {\n await this.$store.dispatch('court/fetchDossiersForParty', this.partyID);\n\n if (this.offender) {\n this.dossierID = this.offender.dossierID;\n }\n\n this.reasonID = AdjustmentReasonID.DetentionExtension;\n this.adjustmentDirection = 1;\n this.adjustmentAmountInHours = 0;\n this.filedAt = moment().format();\n this.notes = '';\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to persist the object to the database and close the dialog.\n */\n async save(): Promise {\n this.error = null;\n\n try {\n const response = await offenderAPI.post('adjust-sentence', {\n data: {\n offenderID: this.offenderID,\n dossierID: this.dossierID,\n reasonID: this.reasonID,\n pardonDecreeID: this.pardonDecreeID,\n adjustmentDirection: this.adjustmentDirection,\n adjustmentAmountInHours: this.adjustmentAmountInHours,\n notes: this.notes,\n filedAt: this.filedAt,\n },\n });\n const newState = response.data.data;\n const newID = Object.keys(newState.sentenceAdjustment)[0];\n this.$store.commit('offender/setState', newState);\n this.$store.commit('offender/prependToTarget', {\n target: 'sentenceAdjustmentIDsForOffender',\n index: this.offenderID,\n value: newID,\n });\n\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n }\n },\n },\n components: {\n FacilitySelector,\n OffenderNameAndPIN,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddSentenceAdjustmentDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddSentenceAdjustmentDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddSentenceAdjustmentDialog.vue?vue&type=template&id=b736923a&\"\nimport script from \"./AddSentenceAdjustmentDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddSentenceAdjustmentDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCol,VRow,VSelect,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { SentenceAdjustment } from '@/vuex/offender/sentenceAdjustment';\n\nimport AddSentenceAdjustmentDialog from '@/components/offender/sentenceAdjustment/AddSentenceAdjustmentDialog.vue';\n\nexport default Vue.extend({\n props: {\n offenderID: Number,\n contentOnly: Boolean,\n },\n\n created(): void {\n if (this.offenderID) {\n this.fetchData();\n }\n },\n\n computed: {\n ...mapGetters('court', ['dossierWithID']),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapState('offender', ['sentenceAdjustmentReasons']),\n ...mapGetters('offender', [\n 'sentenceAdjustmentsForOffender',\n 'offenderIsReleased',\n ]),\n ...mapGetters('investigation', ['pardonDecreeWithID']),\n ...mapGetters('auth', ['hasPermission']),\n\n adjustments(): SentenceAdjustment[] {\n return this.sentenceAdjustmentsForOffender(this.offenderID);\n },\n\n translatedAdjustments(): any[] {\n return _.map(this.adjustments, (a) => {\n let tOp = i18n.t('sentenceAdjustment.set');\n if (a.adjustmentDirection > 0) {\n tOp = i18n.t('sentenceAdjustment.add');\n } else if (a.adjustmentDirection < 0) {\n tOp = i18n.t('sentenceAdjustment.subtract');\n }\n const pardonDecree = a.pardonDecreeID\n ? this.pardonDecreeWithID(a.pardonDecreeID)\n : null;\n return Object.assign(a, {\n translatedOperation: tOp,\n pardonDecree,\n });\n });\n },\n\n /**\n * isReleased computes whether this Offender has been released. It is used\n * to alter the display and disable features which are not used for\n * released Offenders.\n */\n isReleased(): boolean {\n return this.offenderIsReleased(this.offenderID);\n },\n\n /**\n * canAdd returns true if has permission and also acceptable to add a new Sentence Adjustment\n */\n canAdd(): boolean {\n return (\n this.hasPermission('offender.createSentenceAdjustment') &&\n !this.isReleased\n );\n },\n\n /**\n * headers computes the array of VDataTable header description objects.\n * This needs to be a computed property so that translates can update\n * when the language is changed.\n */\n headers(): any[] {\n return [\n { value: 'filedAt', text: i18n.t('filedAt'), width: '130px' },\n { value: 'reasonID', text: i18n.t('sentenceAdjustment.reason') },\n {\n value: 'adjustmentDirection',\n text: i18n.t('sentenceAdjustment.direction'),\n },\n {\n value: 'adjustmentAmountInHours',\n text: i18n.t('sentenceAdjustment.amount'),\n },\n {\n value: 'newDurationInHours',\n text: i18n.t('sentenceAdjustment.newDuration'),\n },\n {\n value: 'newExpectedReleaseAt',\n text: i18n.t('sentenceAdjustment.newExpectedRelease'),\n },\n { value: null, text: i18n.t('action.plural') },\n ];\n },\n },\n\n watch: {\n /**\n * offenderID is watched so that the data set of SentenceAdjustments can\n * be re-fetched when the offender changes.\n */\n offenderID(val: number): void {\n if (this.offenderID) {\n this.fetchData();\n }\n },\n },\n\n methods: {\n fetchData(): void {\n this.$store.dispatch('offender/fetchSentenceAdjustments', {\n offenderID: this.offenderID,\n });\n },\n },\n components: {\n AddSentenceAdjustmentDialog,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SentenceAdjustmentsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SentenceAdjustmentsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SentenceAdjustmentsTable.vue?vue&type=template&id=4fd58674&\"\nimport script from \"./SentenceAdjustmentsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./SentenceAdjustmentsTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VDataTable,VRow,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport OffenderCharges from '@/views/offender/OffenderCharges.vue';\nimport OffenderPardonDecreesTable from '@/components/offender/pardonDecree/OffenderPardonDecreesTable.vue';\nimport SentenceAdjustmentsTable from '@/components/offender/sentenceAdjustment/SentenceAdjustmentsTable.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n contentOnly: Boolean,\n },\n components: {\n OffenderCharges,\n OffenderPardonDecreesTable,\n SentenceAdjustmentsTable,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderSentence.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderSentence.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderSentence.vue?vue&type=template&id=18d0ac62&\"\nimport script from \"./OffenderSentence.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderSentence.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Offender } from '@/vuex/offender/offender';\n\nimport OffenderHeader from '@/components/offender/OffenderHeader.vue';\nimport OffenderHousing from '@/views/offender/OffenderHousing.vue';\nimport OffenderMedical from '@/views/offender/OffenderMedical.vue';\nimport OffenderNavToolbar from '@/components/offender/OffenderNavToolbar.vue';\nimport OffenderProfile from '@/views/offender/OffenderProfile.vue';\nimport OffenderPrograms from '@/views/offender/OffenderPrograms.vue';\nimport OffenderSentence from '@/views/offender/OffenderSentence.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n computed: {\n ...mapGetters('offender', ['offenderWithID', 'offenderIsReleased']),\n\n offender(): Offender {\n return this.offenderWithID(this.id);\n },\n\n offenderPage(): string {\n return this.$route.name || '';\n },\n\n /**\n * isReleased computes whether the currently-viewed offender has already\n * been released.\n */\n isReleased(): boolean {\n return this.offenderIsReleased(this.id);\n },\n },\n components: {\n OffenderHeader,\n OffenderHousing,\n OffenderMedical,\n OffenderNavToolbar,\n OffenderProfile,\n OffenderPrograms,\n OffenderSentence,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderContainer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderContainer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderContainer.vue?vue&type=template&id=7fab198a&\"\nimport script from \"./OffenderContainer.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderContainer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VContainer,VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pb-10\"},[_c('v-row',{staticClass:\"mb-6\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"8\",\"sm\":\"8\"}},[_c('div',{class:{\n 'mt-4': !_vm.criteria.facilityID,\n 'text-h5': !!_vm.criteria.facilityID,\n 'text-h3': !_vm.criteria.facilityID,\n }},[_c('GeographyBreadcrumb',{attrs:{\"id\":_vm.criteria.facilityLocationID,\"locationParamName\":\"facilityLocationID\",\"to\":_vm.hasAllFacilities\n ? { name: 'offenderDashboard', query: Object.assign({}, _vm.criteria) }\n : {}}})],1),(_vm.criteria.facilityID)?_c('div',{staticClass:\"text-h4\"},[_c('HousingFacilityBreadcrumb',{attrs:{\"id\":_vm.criteria.facilityID,\"to\":{ name: 'offenderDashboard', query: Object.assign({}, _vm.criteria) }}})],1):_vm._e()]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"2\"}},[_c('BooleanSelector',{staticClass:\"mt-4\",attrs:{\"label\":_vm.$t('person.age'),\"unknown-label\":_vm.$t('adult.plural') + ' + ' + _vm.$t('juvenile.plural'),\"true-label\":_vm.$t('juvenile.plural'),\"false-label\":_vm.$t('adult.plural')},model:{value:(_vm.criteria.isJuvenile),callback:function ($$v) {_vm.$set(_vm.criteria, \"isJuvenile\", $$v)},expression:\"criteria.isJuvenile\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\",\"sm\":\"2\"}},[_c('v-img',{staticClass:\"float-right\",attrs:{\"max-width\":\"100%\",\"width\":\"150\",\"contain\":\"\",\"src\":\"/opa-logo.png\"}})],1)],1),(_vm.loading)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1)],1):_vm._e(),(!_vm.loading)?_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-h4\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria),\n }}},[_c('NumFmt',{attrs:{\"value\":_vm.totalPopulation}})],1)],1),_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('dashboard.currentPopulation'))+\" \")])]),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-h4\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria, {isDetainee: false}),\n }}},[_c('NumFmt',{attrs:{\"value\":_vm.prisonerCount}})],1)],1),_c('div',{staticClass:\"text-overline\"},[_vm._v(_vm._s(_vm.prisonersHeader))])]),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-h4\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria, {isDetainee: true}),\n }}},[_c('NumFmt',{attrs:{\"value\":_vm.detaineeCount}})],1)],1),_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('offender.detainee.plural'))+\" \")])]),(this.elderlyCount > 0)?_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-h4\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria, {elderlyOnly: true}),\n }}},[_c('NumFmt',{attrs:{\"value\":_vm.elderlyCount}})],1)],1),_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('elderlyOffender.plural'))+\" \"),_c('br'),_vm._v(\" ( \"+_vm._s(_vm.$t('person.age'))+\" \"+_vm._s(_vm.elderlyAge)+\"+ ) \")])]):_vm._e()],1)],1),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-h4\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria, {genderID: 1}),\n }}},[_c('NumFmt',{attrs:{\"value\":_vm.maleCount}})],1)],1),_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(1, 'profile/genders'))+\" \")])]),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-h4\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria, {genderID: 2}),\n }}},[_c('NumFmt',{attrs:{\"value\":_vm.femaleCount}})],1)],1),_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(2, 'profile/genders'))+\" \")])]),(_vm.adultCount > 0)?_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-h4\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria, {isJuvenile: false}),\n }}},[_c('NumFmt',{attrs:{\"value\":_vm.adultCount}})],1)],1),_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('adult.plural'))+\" \")])]):_vm._e(),(_vm.juvenileCount > 0)?_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\",\"sm\":\"3\"}},[_c('div',{staticClass:\"text-h4\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria, {isJuvenile: true}),\n }}},[_c('NumFmt',{attrs:{\"value\":_vm.juvenileCount}})],1)],1),_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('juvenile.plural'))+\" \")])]):_vm._e()],1)],1)],1):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-row',{attrs:{\"dense\":\"\",\"align-stretch\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"12\"}},[_c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\",\"color\":\"error\"}},[_c('v-card-text',{staticClass:\"white--text text-right\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"6\",\"md\":\"6\"}},[_c('div',{staticClass:\"text-h4 font-weight-bold\"},[_c('router-link',{staticClass:\"white--text\",attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria, {missingDossier: true}),\n }}},[_c('NumFmt',{attrs:{\"value\":_vm.missingDossierCount}})],1)],1),_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('offender.missingDossier'))+\" \")])]),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"6\",\"md\":\"6\"}},[_c('div',{staticClass:\"text-h4 font-weight-bold\"},[_c('router-link',{staticClass:\"white--text\",attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria, {pastDue: true}),\n }}},[_c('NumFmt',{attrs:{\"value\":_vm.pastDueCount}})],1)],1),_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('dashboard.pastDue'))+\" \")])])],1)],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"12\"}},[_c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\",\"color\":\"warning\"}},[_c('v-card-text',{staticClass:\"white--text text-right\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"6\",\"md\":\"6\"}},[_c('div',{staticClass:\"text-h4 font-weight-bold\"},[_c('router-link',{staticClass:\"white--text\",attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {nearingRelease: true}),\n }}},[_c('NumFmt',{attrs:{\"value\":_vm.nearingReleaseCount}})],1)],1),_c('div',{staticClass:\"text-overline\"})]),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"6\",\"md\":\"6\"}},[_c('div',{staticClass:\"text-h4 font-weight-bold\"},[_c('router-link',{staticClass:\"white--text\",attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {imminentRelease: true}),\n }}},[_c('NumFmt',{attrs:{\"value\":_vm.imminentReleaseCount}})],1)],1),_c('div',{staticClass:\"text-overline\"})])],1),_c('v-row',{staticClass:\"text-right\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-overline\",attrs:{\"cols\":\"6\",\"sm\":\"6\",\"md\":\"6\"}},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('offender.nearingRelease'))+\" \")])]),_c('v-col',{staticClass:\"text-overline\",attrs:{\"cols\":\"6\",\"sm\":\"6\",\"md\":\"6\"}},[_c('div',[_vm._v(_vm._s(_vm.$t('offender.imminentRelease')))])])],1)],1)],1)],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('OffendersBySecurityLevel',{attrs:{\"criteria\":_vm.criteria}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('OffendersByCustodyStatus',{attrs:{\"criteria\":_vm.criteria}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('OffendersByCriminalGroup',{attrs:{\"criteria\":_vm.criteria}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('OffendersByNationality',{attrs:{\"criteria\":_vm.criteria}})],1),(_vm.incomingTransfers.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.$t('transferIn.plural'))+\" \")]),_c('v-card-text',_vm._l((_vm.incomingTransfers),function(s){return _c('v-row',{key:s.status,attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"11\"}},[_vm._v(\" \"+_vm._s(_vm.$t('transfer.statusOptions.' + s.status))+\" \")]),_c('v-col',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'housingFacilityTransfers',\n params: { id: _vm.criteria.facilityID },\n }}},[_c('NumFmt',{attrs:{\"value\":s.count}})],1)],1)],1)}),1)],1)],1):_vm._e(),(_vm.outgoingTransfers.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.$t('transferOut.plural'))+\" \")]),_c('v-card-text',_vm._l((_vm.outgoingTransfers),function(s){return _c('v-row',{key:s.status,attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"11\"}},[_vm._v(\" \"+_vm._s(_vm.$t('transfer.statusOptions.' + s.status))+\" \")]),_c('v-col',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'housingFacilityTransfers',\n params: { id: _vm.criteria.facilityID },\n }}},[_c('NumFmt',{attrs:{\"value\":s.count}})],1)],1)],1)}),1)],1)],1):_vm._e()],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-expansion-panels',{attrs:{\"multiple\":\"\"},model:{value:(_vm.expanded),callback:function ($$v) {_vm.expanded=$$v},expression:\"expanded\"}},[_c('OffendersByLocationTable',{attrs:{\"criteria\":_vm.criteria}}),_c('OffendersByFacilityTable',{attrs:{\"criteria\":_vm.criteria}})],1)],1),(_vm.criteria.facilityID)?_c('OffenderRosterTable',{attrs:{\"criteria\":_vm.criteria}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.results.length || _vm.error || _vm.q)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-toolbar-title',[_c('HousingFacilityName',{attrs:{\"id\":_vm.criteria.facilityID}}),_c('div',{staticClass:\"text-overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('housingFacility.typeOptions.' + _vm.facility.type))+\" \")])],1),_c('v-spacer'),_c('v-text-field',{ref:\"query\",attrs:{\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\",\"append-icon\":\"search\",\"clearable\":\"\"},model:{value:(_vm.q),callback:function ($$v) {_vm.q=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"q\"}})],1),(_vm.loading)?_c('v-progress-linear',{attrs:{\"color\":\"accent\",\"indeterminate\":\"\"}}):_vm._e(),_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-data-table',{attrs:{\"items\":_vm.results,\"headers\":_vm.headers,\"loading\":_vm.loading,\"disable-sort\":\"\",\"page\":_vm.currentPage,\"items-per-page\":_vm.pageSize,\"server-items-length\":_vm.serverTotalResults,\"footer-props\":{\n 'items-per-page-options': [10, 20, 40, 50, 100],\n },\"no-data-text\":_vm.$t('error.nodata')},on:{\"update:page\":[function($event){_vm.currentPage=$event},function($event){return _vm.fetchData()}],\"update:itemsPerPage\":function($event){_vm.pageSize=$event},\"update:items-per-page\":[function($event){_vm.pageSize=$event},function($event){return _vm.fetchData()}]},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\n var item = ref.item;\nreturn [_c('tr',[_c('td',[_c('router-link',{attrs:{\"to\":{ name: 'offenderProfile', params: { id: item.id } }}},[_vm._v(\" \"+_vm._s(item.name)+\" \")])],1),_c('td',[_vm._v(_vm._s(item.surname))]),_c('td',[_vm._v(_vm._s(item.DIN))]),_c('td',[_vm._v(_vm._s(item.PIN))]),_c('td',[(item.custodyStatus === 'in-transit')?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" fa-truck \")]):_vm._e(),(item.custodyStatus === 'on-leave')?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" fa-suitcase \")]):_vm._e()],1),_c('td',[_c('OffenderFlags',{attrs:{\"small\":\"\"},model:{value:(item.flagIDs),callback:function ($$v) {_vm.$set(item, \"flagIDs\", $$v)},expression:\"item.flagIDs\"}})],1),_c('td',{staticClass:\"text-center\"},[_c('ReleaseDate',{attrs:{\"expectedReleaseAt\":item.expectedReleaseAt}})],1)])]}}],null,false,2367218650)})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\nimport { HousingFacility } from '@/vuex/housing/housing';\n\nimport OffenderFlags from '@/components/offender/classification/OffenderFlags.vue';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n\n created() {\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.fetchData = _.debounce(this.fetchData, 400);\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n\n q: '',\n results: [],\n\n // Pagination Attributes\n currentPage: 1,\n pageSize: 10,\n serverTotalResults: 0,\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('housing', ['facilityWithID']),\n\n facility(): HousingFacility {\n return this.facilityWithID(this.criteria.facilityID);\n },\n\n fullCriteria(): any {\n return Object.assign({}, this.criteria, {\n q: this.q,\n facilityIDExact: true,\n });\n },\n\n queryString(): string {\n return criteriaToQueryString(this.fullCriteria);\n },\n\n headers(): any[] {\n return [\n { value: 'name', text: i18n.t('person.name') },\n { value: 'surname', text: i18n.t('person.surname') },\n { value: 'DIN', text: i18n.t('offender.din') },\n { value: 'PIN', text: i18n.t('offender.pin') },\n { value: null, text: i18n.t('dashboard.roster.custody') },\n { sortable: false, value: null, text: i18n.t('flag.plural') },\n {\n value: 'expectedReleaseAt',\n text: i18n.t('offender.expectedReleaseAt'),\n align: 'center',\n },\n ];\n },\n },\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.currentPage = 1;\n this.results = [];\n this.fetchData();\n },\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.results = [];\n this.error = null;\n\n const args = [] as string[];\n args.push(`page[size]=${this.pageSize}`);\n args.push(`page[number]=${this.currentPage}`);\n args.push(this.queryString);\n\n try {\n const url = `/offenders/search?${args.join('&')}`;\n const res = await offenderAPI.get(url);\n this.serverTotalResults = _.get(res, 'data.meta.totalResults') || 0;\n this.results = _.get(res, 'data.data', []);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n components: {\n OffenderFlags,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderRosterTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderRosterTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderRosterTable.vue?vue&type=template&id=5339d5a2&\"\nimport script from \"./OffenderRosterTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderRosterTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCol,VDataTable,VIcon,VProgressLinear,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.$t('classification.criminalGroups'))+\" \")]),_c('v-card-text',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_vm._l((_vm.results),function(group){return _c('v-row',{key:group.id,attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection( group.criminalGroupID, 'offender/criminalGroups' ))+\" \")]),_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"2\"}},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {criminalGroupIDs: group.criminalGroupID}),\n }}},[_vm._v(\" \"+_vm._s(group.count)+\" \")])],1)],1)})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n results: [] as any[],\n };\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n },\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n try {\n const url = `/offenders/by-criminal-group?${this.queryString}`;\n const response = await offenderAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffendersByCriminalGroup.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffendersByCriminalGroup.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffendersByCriminalGroup.vue?vue&type=template&id=200e9388&\"\nimport script from \"./OffendersByCriminalGroup.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffendersByCriminalGroup.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t('header.custodyStatus')))]),_c('v-card-text',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_vm._l((_vm.results),function(s){return _c('v-row',{key:s.custodyStatus,attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_vm._v(\" \"+_vm._s(_vm.$t('offender.custodyStatus.' + s.custodyStatus))+\" \")]),_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"2\"}},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {custodyStatuses: s.custodyStatus}),\n }}},[_c('NumFmt',{attrs:{\"value\":s.count}})],1)],1)],1)})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n results: [] as any[],\n };\n },\n computed: {\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n },\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n try {\n const url = `/offenders/by-custody-status?${this.queryString}`;\n const response = await offenderAPI.get(url);\n const rawResults = _.get(response, 'data.data', []);\n\n // Offenders with 'Unknown' Custody Status are relics of bad data from\n // CMS 1.0. We exclude these from the Dashboard aggregate on purpose\n // to avoid confusing/distracting the users of CMS 2.0\n this.results = _.reject(rawResults, { custodyStatus: 'unknown' });\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffendersByCustodyStatus.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffendersByCustodyStatus.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffendersByCustodyStatus.vue?vue&type=template&id=5f06d752&\"\nimport script from \"./OffendersByCustodyStatus.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffendersByCustodyStatus.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.results.length)?_c('v-expansion-panel',[(_vm.mostCommonType)?_c('v-expansion-panel-header',[_vm._v(\" \"+_vm._s(_vm.$t(_vm.mostCommonType + 'Summary'))+\" \")]):_vm._e(),_c('v-expansion-panel-content',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"color\":\"accent\",\"indeterminate\":\"\"}}):_vm._e(),_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-data-table',{attrs:{\"dense\":\"\",\"items\":_vm.results,\"loading\":_vm.loading,\"headers\":_vm.headers,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"header-props\":{ sortIcon: null }},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_c('router-link',{attrs:{\"to\":{\n name: 'offenderDashboard',\n query: { facilityID: item.facilityID },\n }}},[_c('HousingFacilityName',{attrs:{\"id\":item.facilityID}})],1)],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria, {facilityID: item.facilityID}),\n }}},[_vm._v(\" \"+_vm._s(item.headcount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {facilityID: item.facilityID,\n isDetainee: true}),\n }}},[_vm._v(\" \"+_vm._s(item.detaineeCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {facilityID: item.facilityID,\n isDetainee: false}),\n }}},[_vm._v(\" \"+_vm._s(item.prisonerCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {facilityID: item.facilityID,\n isJuvenile: false}),\n }}},[_vm._v(\" \"+_vm._s(item.adultCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {facilityID: item.facilityID,\n isJuvenile: true}),\n }}},[_vm._v(\" \"+_vm._s(item.juvenileCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {facilityID: item.facilityID,\n pastDue: true}),\n }}},[_vm._v(\" \"+_vm._s(item.pastDueCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {facilityID: item.facilityID,\n nearingRelease: true}),\n }}},[_vm._v(\" \"+_vm._s(item.nearingReleaseCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {facilityID: item.facilityID,\n imminentRelease: true}),\n }}},[_vm._v(\" \"+_vm._s(item.imminentReleaseCount)+\" \")])],1)])]}}],null,false,3986318245)})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n error: null as any,\n\n results: [],\n };\n },\n computed: {\n headers(): any[] {\n return [\n { text: i18n.t('dashboard.name'), value: 'name', width: '330px' },\n {\n text: i18n.t('dashboard.headcount'),\n value: 'headcount',\n align: 'right',\n },\n {\n text: i18n.t('offender.detainee.plural'),\n value: 'detaineeCount',\n align: 'right',\n },\n {\n text: this.prisonersHeader,\n value: 'prisonerCount',\n align: 'right',\n },\n {\n text: i18n.t('adult.plural'),\n value: 'adultCount',\n align: 'right',\n },\n {\n text: i18n.t('juvenile.plural'),\n value: 'juvenileCount',\n align: 'right',\n },\n {\n text: i18n.t('dashboard.pastDue'),\n value: 'pastDueCount',\n align: 'right',\n },\n {\n text: i18n.t('offender.nearingRelease'),\n value: 'nearingReleaseCount',\n align: 'right',\n },\n {\n text: i18n.t('offender.imminentRelease'),\n value: 'imminentReleaseCount',\n align: 'right',\n },\n ];\n },\n\n /**\n * mostCommonType scans the list of facilities and returns the one that\n * occurs most frequently. This is used to create a summary title.\n */\n mostCommonType(): string {\n const types = _.map(this.results, 'type') as string[];\n return _.chain(types)\n .countBy() // Produces { \"facility\": 14, \"cell\": 10 }\n .entries() // Converts to [[\"facility\", 14], [\"cell\", 10]]\n .maxBy(_.last) // Filters to [\"facility\", 14]\n .head() // Retrieves first element (\"facility\")\n .value() as string; // Exit lodash chain and type-assert to string\n },\n\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n\n prisonersHeader(): string {\n const jc = _.chain(this.results).map('juvenileCount').sum().value();\n const ac = _.chain(this.results).map('adultCount').sum().value();\n if (jc > 0 && ac < 1) {\n return i18n.t('offender.confinee.plural').toString();\n } else {\n return i18n.t('offender.prisoner.plural').toString();\n }\n },\n },\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.results = [];\n this.error = null;\n try {\n const url = `/offenders/by-facility?${this.queryString}`;\n const res = await offenderAPI.get(url);\n this.results = _.get(res, 'data.data', []);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffendersByFacilityTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffendersByFacilityTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffendersByFacilityTable.vue?vue&type=template&id=67a80645&\"\nimport script from \"./OffendersByFacilityTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffendersByFacilityTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VDataTable,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.results.length > 1)?_c('v-expansion-panel',[(_vm.mostCommonType)?_c('v-expansion-panel-header',[_vm._v(\" \"+_vm._s(_vm.$t(_vm.mostCommonType + 'Summary'))+\" \")]):_vm._e(),_c('v-expansion-panel-content',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"color\":\"accent\",\"indeterminate\":\"\"}}):_vm._e(),_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-data-table',{attrs:{\"dense\":\"\",\"items\":_vm.results,\"loading\":_vm.loading,\"headers\":_vm.headers,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"header-props\":{ sortIcon: null }},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',[_c('td',[_c('router-link',{attrs:{\"to\":{\n name: 'offenderDashboard',\n query: { facilityLocationID: item.locationID },\n }}},[_c('GeographyName',{attrs:{\"id\":item.locationID}})],1)],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria, {facilityLocationID: item.locationID}),\n }}},[_vm._v(\" \"+_vm._s(item.headcount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {facilityLocationID: item.locationID,\n isDetainee: true}),\n }}},[_vm._v(\" \"+_vm._s(item.detaineeCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {facilityLocationID: item.locationID,\n isDetainee: false}),\n }}},[_vm._v(\" \"+_vm._s(item.prisonerCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {facilityLocationID: item.locationID,\n isJuvenile: false}),\n }}},[_vm._v(\" \"+_vm._s(item.adultCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {facilityLocationID: item.locationID,\n isJuvenile: true}),\n }}},[_vm._v(\" \"+_vm._s(item.juvenileCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {facilityLocationID: item.locationID,\n pastDue: true}),\n }}},[_vm._v(\" \"+_vm._s(item.pastDueCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {facilityLocationID: item.locationID,\n nearingRelease: true}),\n }}},[_vm._v(\" \"+_vm._s(item.nearingReleaseCount)+\" \")])],1),_c('td',{staticClass:\"text-right\"},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {facilityLocationID: item.locationID,\n imminentRelease: true}),\n }}},[_vm._v(\" \"+_vm._s(item.imminentReleaseCount)+\" \")])],1)])]}}],null,false,3863434436)})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n error: null as any,\n\n results: [],\n };\n },\n computed: {\n headers(): any[] {\n return [\n { text: i18n.t('dashboard.name'), value: 'name', width: '330px' },\n\n {\n text: i18n.t('dashboard.headcount'),\n value: 'headcount',\n align: 'right',\n },\n {\n text: i18n.t('offender.detainee.plural'),\n value: 'detaineeCount',\n align: 'right',\n },\n {\n text: this.prisonersHeader,\n value: 'prisonerCount',\n align: 'right',\n },\n {\n text: i18n.t('adult.plural'),\n value: 'adultCount',\n align: 'right',\n },\n {\n text: i18n.t('juvenile.plural'),\n value: 'juvenileCount',\n align: 'right',\n },\n {\n text: i18n.t('dashboard.pastDue'),\n value: 'pastDueCount',\n align: 'right',\n },\n {\n text: i18n.t('offender.nearingRelease'),\n value: 'nearingReleaseCount',\n align: 'right',\n },\n {\n text: i18n.t('offender.imminentRelease'),\n value: 'imminentReleaseCount',\n align: 'right',\n },\n ];\n },\n /**\n * mostCommonType scans the list of facilities and returns the one that\n * occurs most frequently. This is used to create a summary title.\n */\n mostCommonType(): string {\n const types = _.map(this.results, 'type') as string[];\n return _.chain(types)\n .countBy() // Produces { \"facility\": 14, \"cell\": 10 }\n .entries() // Converts to [[\"facility\", 14], [\"cell\", 10]]\n .maxBy(_.last) // Filters to [\"facility\", 14]\n .head() // Retrieves first element (\"facility\")\n .value() as string; // Exit lodash chain and type-assert to string\n },\n\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n\n prisonersHeader(): string {\n const jc = _.chain(this.results).map('juvenileCount').sum().value();\n const ac = _.chain(this.results).map('adultCount').sum().value();\n if (jc > 0 && ac < 1) {\n return i18n.t('offender.confinee.plural').toString();\n } else {\n return i18n.t('offender.prisoner.plural').toString();\n }\n },\n },\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n this.results = [];\n this.error = null;\n try {\n const url = `/offenders/by-location?${this.queryString}`;\n const res = await offenderAPI.get(url);\n this.results = _.get(res, 'data.data', []);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffendersByLocationTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffendersByLocationTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffendersByLocationTable.vue?vue&type=template&id=801ec5a0&\"\nimport script from \"./OffendersByLocationTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffendersByLocationTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VDataTable,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.$t('person.nationality'))+\" / \"+_vm._s(_vm.$t('person.birthplace'))+\" \")]),_c('v-card-text',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_vm._l((_vm.nationalityResults),function(row){return _c('v-row',{key:'nationality' + row.nationalityID,attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_vm._v(\" \"+_vm._s(_vm.nameForIDInCollection(row.nationalityID, 'profile/nationalities'))+\" \")]),_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"2\"}},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {nationalityID: row.nationalityID}),\n }}},[_c('NumFmt',{attrs:{\"value\":row.count}})],1)],1)],1)}),(!_vm.loading)?_c('v-divider',{staticClass:\"my-4\"}):_vm._e(),_vm._l((_vm.birthplaceResults),function(row){return _c('v-row',{key:'country' + row.countryID,attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('GeographyName',{attrs:{\"id\":row.countryID}})],1),_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"2\"}},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {birthplaceGeographyID: row.countryID}),\n }}},[_c('NumFmt',{attrs:{\"value\":row.count}})],1)],1)],1)})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n\n nationalityResults: [] as any[],\n birthplaceResults: [] as any[],\n };\n },\n computed: {\n ...mapGetters('language', ['nameForIDInCollection']),\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n },\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n try {\n const url = `/offenders/by-birthplace?${this.queryString}`;\n const responses = await Promise.all([\n offenderAPI.get(`/offenders/by-nationality?${this.queryString}`),\n offenderAPI.get(`/offenders/by-birthplace?${this.queryString}`),\n ]);\n\n // responses will be an array ordered the same as the calls were made\n // we extract them by position:\n this.nationalityResults = _.get(responses, '[0].data.data') || [];\n this.birthplaceResults = _.get(responses, '[1].data.data') || [];\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffendersByNationality.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffendersByNationality.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffendersByNationality.vue?vue&type=template&id=2b9aae6f&\"\nimport script from \"./OffendersByNationality.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffendersByNationality.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDivider,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t('offender.securityLevel')))]),_c('v-card-text',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_vm._l((_vm.results),function(l){return _c('v-row',{key:l.securityLevel,attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_vm._v(\" \"+_vm._s(_vm.$t('offender.securityLevels.' + l.securityLevel))+\" \")]),_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"2\"}},[_c('router-link',{attrs:{\"to\":{\n name: 'offenderSearch',\n query: Object.assign({}, _vm.criteria,\n {securityLevel: l.securityLevel}),\n }}},[_c('NumFmt',{attrs:{\"value\":l.count}})],1)],1)],1)})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { criteriaToQueryString } from '@/lib/criteria';\n\nexport default Vue.extend({\n props: {\n criteria: Object,\n },\n data() {\n return {\n loading: false,\n results: [] as any[],\n };\n },\n computed: {\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n },\n watch: {\n queryString: {\n immediate: true,\n handler() {\n this.fetchData();\n },\n },\n },\n methods: {\n async fetchData(): Promise {\n this.loading = true;\n try {\n const url = `/offenders/by-security-level?${this.queryString}`;\n const response = await offenderAPI.get(url);\n this.results = _.get(response, 'data.data', []);\n } finally {\n this.loading = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffendersBySecurityLevel.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffendersBySecurityLevel.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffendersBySecurityLevel.vue?vue&type=template&id=62fbab7b&\"\nimport script from \"./OffendersBySecurityLevel.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffendersBySecurityLevel.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VProgressLinear,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport { HousingFacility } from '@/vuex/housing/housing';\nimport { criteriaToQueryString, routeToCriteria } from '@/lib/criteria';\n\nimport OffenderRosterTable from '@/components/offender/dashboard/OffenderRosterTable.vue';\nimport OffendersByCriminalGroup from '@/components/offender/dashboard/OffendersByCriminalGroup.vue';\nimport OffendersByCustodyStatus from '@/components/offender/dashboard/OffendersByCustodyStatus.vue';\nimport OffendersByFacilityTable from '@/components/offender/dashboard/OffendersByFacilityTable.vue';\nimport OffendersByLocationTable from '@/components/offender/dashboard/OffendersByLocationTable.vue';\nimport OffendersByNationality from '@/components/offender/dashboard/OffendersByNationality.vue';\nimport OffendersBySecurityLevel from '@/components/offender/dashboard/OffendersBySecurityLevel.vue';\n\nexport default Vue.extend({\n /**\n * created is triggered only when the URL is first navigated to via the\n * vue-router. This is the only time we want to parse the $route and convert\n * it to a criteria in the OffenderSearcher.\n */\n created() {\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.fetchStats = _.debounce(this.fetchStats, 50);\n\n // First take the URL parameters and map them onto the criteria.\n routeToCriteria(this.$route, this.criteria);\n\n // Apply Permissions-based Default Criteria\n if (!this.hasAllFacilities) {\n const facilityIDs = this.entityIDsWithPermission('dashboard.prison');\n if (!_.includes(facilityIDs, this.criteria.facilityID)) {\n if (facilityIDs.length > 0) {\n this.criteria.facilityID = facilityIDs[0];\n } else {\n // User has no Facility they are allowed to see\n // TODO Redirect to access denied page\n }\n }\n }\n\n // Perform the initial API call\n this.fetchStats();\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n expanded: [0],\n\n criteria: {\n facilityID: 0,\n facilityLocationID: 1,\n isJuvenile: null,\n custodyStatuses: ['in-custody'],\n },\n\n totalPopulation: 0,\n elderlyCount: 0,\n elderlyAge: 0,\n pastDueCount: 0,\n missingDossierCount: 0,\n nearingReleaseDays: 0,\n nearingReleaseCount: 0,\n imminentReleaseDays: 0,\n imminentReleaseCount: 0,\n maleCount: 0,\n femaleCount: 0,\n adultCount: 0,\n juvenileCount: 0,\n prisonerCount: 0,\n detaineeCount: 0,\n incomingTransfers: [],\n outgoingTransfers: [],\n };\n },\n computed: {\n ...mapGetters('auth', [\n 'hasAllFacilities',\n 'allowedFacilityIDs',\n 'entityIDsWithPermission',\n ]),\n ...mapGetters('language', ['nameForIDInCollection']),\n ...mapGetters('housing', ['facilityWithID']),\n\n facility(): HousingFacility {\n return this.facilityWithID(this.criteria.facilityID);\n },\n\n prisonersHeader(): string {\n if (\n this.facility &&\n this.facility.canHoldJuveniles &&\n !this.facility.canHoldAdults\n ) {\n return this.$i18n.t('offender.confinee.plural').toString();\n }\n return this.$i18n.t('offender.prisoner.plural').toString();\n },\n\n queryString(): string {\n return criteriaToQueryString(this.criteria);\n },\n },\n watch: {\n $route(newRoute, oldRoute) {\n routeToCriteria(this.$route, this.criteria);\n },\n\n queryString(newQuery, oldQuery) {\n this.fetchStats();\n },\n },\n methods: {\n async fetchStats(): Promise {\n this.loading = true;\n this.error = null;\n\n try {\n const url = `/offenders/stats?${this.queryString}`;\n const response = await offenderAPI.get(url);\n\n if (response && response.data && response.data.data) {\n const stats = response.data.data;\n this.totalPopulation = stats.totalPopulation;\n this.elderlyCount = stats.elderlyCount;\n this.elderlyAge = stats.elderlyAge;\n this.pastDueCount = stats.pastDueCount;\n this.missingDossierCount = stats.missingDossierCount;\n this.nearingReleaseDays = stats.nearingReleaseDays;\n this.nearingReleaseCount = stats.nearingReleaseCount;\n this.imminentReleaseDays = stats.imminentReleaseDays;\n this.imminentReleaseCount = stats.imminentReleaseCount;\n this.prisonerCount = stats.prisonerCount;\n this.detaineeCount = stats.detaineeCount;\n this.maleCount = stats.maleCount;\n this.femaleCount = stats.femaleCount;\n this.adultCount = stats.adultCount;\n this.juvenileCount = stats.juvenileCount;\n this.incomingTransfers = stats.incomingTransfers;\n this.outgoingTransfers = stats.outgoingTransfers;\n }\n this.expanded = [0];\n\n let query = this.queryString;\n if (query !== '') {\n query = `?${query}`;\n }\n const newPath = `${this.$route.path}${query}`;\n if (this.$route.fullPath !== newPath) {\n this.$router.push(newPath);\n }\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n reset(): void {\n this.criteria = {\n facilityID: 0,\n facilityLocationID: 1,\n isJuvenile: null,\n custodyStatuses: ['in-custody'],\n };\n },\n },\n components: {\n OffenderRosterTable,\n OffendersByCriminalGroup,\n OffendersByCustodyStatus,\n OffendersByFacilityTable,\n OffendersByLocationTable,\n OffendersByNationality,\n OffendersBySecurityLevel,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderDashboard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderDashboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderDashboard.vue?vue&type=template&id=0b2e2f00&\"\nimport script from \"./OffenderDashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderDashboard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VContainer,VExpansionPanels,VImg,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pb-10\"},[_c('OffenderSearcher',{attrs:{\"route\":_vm.$route},on:{\"queryChanged\":_vm.queryChanged}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.fetchData.apply(null, arguments)}}},[_c('v-card',{attrs:{\"loading\":_vm.loading}},[_c('v-toolbar',{staticClass:\"mb-5\",attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\",\"extension-height\":_vm.dense ? '20px' : '40x'},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('v-spacer'),_c('v-checkbox',{attrs:{\"label\":_vm.$t('advancedSearch')},model:{value:(_vm.advancedSearch),callback:function ($$v) {_vm.advancedSearch=$$v},expression:\"advancedSearch\"}})]},proxy:true}])},[_c('v-toolbar-title',{staticClass:\"text-h4\"},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"fa-search\")]),_vm._v(\" \"+_vm._s(_vm.$t('offender.plural'))+\" \")],1),_c('v-spacer'),(!_vm.advancedSearch)?_c('v-text-field',{ref:\"query\",attrs:{\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\",\"append-icon\":\"search\",\"clearable\":\"\"},model:{value:(_vm.criteria.q),callback:function ($$v) {_vm.$set(_vm.criteria, \"q\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"criteria.q\"}}):_vm._e(),_vm._t(\"header\")],2),_c('v-card-text',[_c('FormError',{attrs:{\"error\":_vm.error}}),(_vm.advancedSearch)?_c('div',[_c('v-row',{attrs:{\"align\":\"start\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-switch',{attrs:{\"label\":_vm.$t('offender.nearingReleaseOnly'),\"dense\":\"\"},model:{value:(_vm.criteria.nearingRelease),callback:function ($$v) {_vm.$set(_vm.criteria, \"nearingRelease\", $$v)},expression:\"criteria.nearingRelease\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-switch',{attrs:{\"label\":_vm.$t('offender.imminentReleaseOnly'),\"dense\":\"\"},model:{value:(_vm.criteria.imminentRelease),callback:function ($$v) {_vm.$set(_vm.criteria, \"imminentRelease\", $$v)},expression:\"criteria.imminentRelease\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-switch',{attrs:{\"label\":_vm.$t('offender.pastDueOnly'),\"dense\":\"\"},model:{value:(_vm.criteria.pastDue),callback:function ($$v) {_vm.$set(_vm.criteria, \"pastDue\", $$v)},expression:\"criteria.pastDue\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.name')},model:{value:(_vm.criteria.name),callback:function ($$v) {_vm.$set(_vm.criteria, \"name\", $$v)},expression:\"criteria.name\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.surname')},model:{value:(_vm.criteria.surname),callback:function ($$v) {_vm.$set(_vm.criteria, \"surname\", $$v)},expression:\"criteria.surname\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.fatherName')},model:{value:(_vm.criteria.fatherName),callback:function ($$v) {_vm.$set(_vm.criteria, \"fatherName\", $$v)},expression:\"criteria.fatherName\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.grandfatherName')},model:{value:(_vm.criteria.grandfatherName),callback:function ($$v) {_vm.$set(_vm.criteria, \"grandfatherName\", $$v)},expression:\"criteria.grandfatherName\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('person.alias.singular')},model:{value:(_vm.criteria.alias),callback:function ($$v) {_vm.$set(_vm.criteria, \"alias\", $$v)},expression:\"criteria.alias\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.gender'),\"items\":\"profile/genders\",\"disable-sorting\":\"\",\"clearable\":\"\",\"exclude-unknown\":\"\"},model:{value:(_vm.criteria.genderID),callback:function ($$v) {_vm.$set(_vm.criteria, \"genderID\", $$v)},expression:\"criteria.genderID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.age') + ' (' + _vm.$t('range.minimum') + ')'},model:{value:(_vm.criteria.minAge),callback:function ($$v) {_vm.$set(_vm.criteria, \"minAge\", $$v)},expression:\"criteria.minAge\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.age') + ' (' + _vm.$t('range.maximum') + ')'},model:{value:(_vm.criteria.maxAge),callback:function ($$v) {_vm.$set(_vm.criteria, \"maxAge\", $$v)},expression:\"criteria.maxAge\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('v-switch',{attrs:{\"label\":_vm.$t('offender.elderlyOnly')},model:{value:(_vm.criteria.elderlyOnly),callback:function ($$v) {_vm.$set(_vm.criteria, \"elderlyOnly\", $$v)},expression:\"criteria.elderlyOnly\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.minHeight'),\"suffix\":\"cm\",\"type\":\"number\"},model:{value:(_vm.criteria.minHeightInCm),callback:function ($$v) {_vm.$set(_vm.criteria, \"minHeightInCm\", $$v)},expression:\"criteria.minHeightInCm\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.maxHeight'),\"suffix\":\"cm\",\"type\":\"number\"},model:{value:(_vm.criteria.maxHeightInCm),callback:function ($$v) {_vm.$set(_vm.criteria, \"maxHeightInCm\", $$v)},expression:\"criteria.maxHeightInCm\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.minWeight'),\"suffix\":\"kg\",\"type\":\"number\"},model:{value:(_vm.criteria.minWeightInKg),callback:function ($$v) {_vm.$set(_vm.criteria, \"minWeightInKg\", $$v)},expression:\"criteria.minWeightInKg\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.maxWeight'),\"suffix\":\"kg\",\"type\":\"number\"},model:{value:(_vm.criteria.maxWeightInKg),callback:function ($$v) {_vm.$set(_vm.criteria, \"maxWeightInKg\", $$v)},expression:\"criteria.maxWeightInKg\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.hairColor'),\"items\":\"profile/hairColors\",\"clearable\":\"\",\"exclude-unknown\":\"\"},model:{value:(_vm.criteria.hairColorID),callback:function ($$v) {_vm.$set(_vm.criteria, \"hairColorID\", $$v)},expression:\"criteria.hairColorID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.eyeColor'),\"items\":\"profile/eyeColors\",\"clearable\":\"\",\"exclude-unknown\":\"\"},model:{value:(_vm.criteria.eyeColorID),callback:function ($$v) {_vm.$set(_vm.criteria, \"eyeColorID\", $$v)},expression:\"criteria.eyeColorID\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('CustodyStatusSelector',{attrs:{\"multiple\":\"\",\"chips\":\"\",\"clearable\":\"\",\"deletable-chips\":\"\"},model:{value:(_vm.criteria.custodyStatuses),callback:function ($$v) {_vm.$set(_vm.criteria, \"custodyStatuses\", $$v)},expression:\"criteria.custodyStatuses\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('SecurityLevelSelector',{attrs:{\"clearable\":\"\"},model:{value:(_vm.criteria.securityLevel),callback:function ($$v) {_vm.$set(_vm.criteria, \"securityLevel\", $$v)},expression:\"criteria.securityLevel\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('GeographySelector',{attrs:{\"label\":\"Facility Location\",\"max-specificity\":\"province\",\"clearable\":\"\",\"zero-label\":\"all\"},model:{value:(_vm.criteria.facilityLocationID),callback:function ($$v) {_vm.$set(_vm.criteria, \"facilityLocationID\", $$v)},expression:\"criteria.facilityLocationID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('FacilitySelector',{attrs:{\"clearable\":\"\",\"must-have-permission\":\"offender.view\"},model:{value:(_vm.criteria.facilityID),callback:function ($$v) {_vm.$set(_vm.criteria, \"facilityID\", $$v)},expression:\"criteria.facilityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('offender.din')},model:{value:(_vm.criteria.din),callback:function ($$v) {_vm.$set(_vm.criteria, \"din\", $$v)},expression:\"criteria.din\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('offender.pin')},model:{value:(_vm.criteria.pin),callback:function ($$v) {_vm.$set(_vm.criteria, \"pin\", $$v)},expression:\"criteria.pin\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('DossierNumberField',{attrs:{\"label\":_vm.$t('dossier.dossierNumber'),\"disable-padding\":\"\"},model:{value:(_vm.criteria.dossierNumber),callback:function ($$v) {_vm.$set(_vm.criteria, \"dossierNumber\", $$v)},expression:\"criteria.dossierNumber\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('classification.criminalGroups'),\"items\":\"offender/criminalGroups\",\"clearable\":\"\",\"multiple\":\"\",\"small-chips\":\"\"},model:{value:(_vm.criteria.criminalGroupIDs),callback:function ($$v) {_vm.$set(_vm.criteria, \"criminalGroupIDs\", $$v)},expression:\"criteria.criminalGroupIDs\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.nationality'),\"items\":\"profile/nationalities\",\"zero-label\":\"all\",\"disable-sorting\":\"\"},model:{value:(_vm.criteria.nationalityID),callback:function ($$v) {_vm.$set(_vm.criteria, \"nationalityID\", $$v)},expression:\"criteria.nationalityID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.birthplace'),\"zero-label\":\"all\"},model:{value:(_vm.criteria.birthplaceGeographyID),callback:function ($$v) {_vm.$set(_vm.criteria, \"birthplaceGeographyID\", $$v)},expression:\"criteria.birthplaceGeographyID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('GeographySelector',{attrs:{\"label\":_vm.$t('person.residence'),\"zero-label\":\"all\"},model:{value:(_vm.criteria.residenceGeographyID),callback:function ($$v) {_vm.$set(_vm.criteria, \"residenceGeographyID\", $$v)},expression:\"criteria.residenceGeographyID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"1\"}},[_c('BooleanSelector',{attrs:{\"label\":_vm.$t('person.isKochi'),\"unknown-label\":_vm.$t('na')},model:{value:(_vm.criteria.isKochi),callback:function ($$v) {_vm.$set(_vm.criteria, \"isKochi\", $$v)},expression:\"criteria.isKochi\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{staticClass:\"text-h6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('offender.detainedAt'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('startDate'),\"clearable\":\"\",\"past-dates-only\":\"\"},model:{value:(_vm.criteria.detainedAtOrAfter),callback:function ($$v) {_vm.$set(_vm.criteria, \"detainedAtOrAfter\", $$v)},expression:\"criteria.detainedAtOrAfter\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('endDate'),\"clearable\":\"\",\"past-dates-only\":\"\"},model:{value:(_vm.criteria.detainedAtOrBefore),callback:function ($$v) {_vm.$set(_vm.criteria, \"detainedAtOrBefore\", $$v)},expression:\"criteria.detainedAtOrBefore\"}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{staticClass:\"text-h6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('offender.expectedReleaseAt'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('startDate'),\"clearable\":\"\"},model:{value:(_vm.criteria.expectedReleaseAtOrAfter),callback:function ($$v) {_vm.$set(_vm.criteria, \"expectedReleaseAtOrAfter\", $$v)},expression:\"criteria.expectedReleaseAtOrAfter\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('endDate'),\"clearable\":\"\"},model:{value:(_vm.criteria.expectedReleaseAtOrBefore),callback:function ($$v) {_vm.$set(_vm.criteria, \"expectedReleaseAtOrBefore\", $$v)},expression:\"criteria.expectedReleaseAtOrBefore\"}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"end\"}},[_c('v-col',{staticClass:\"text-h6\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('offender.freedAt'))+\" \")]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('startDate'),\"clearable\":\"\",\"past-dates-only\":\"\"},model:{value:(_vm.criteria.freedAtOrAfter),callback:function ($$v) {_vm.$set(_vm.criteria, \"freedAtOrAfter\", $$v)},expression:\"criteria.freedAtOrAfter\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('endDate'),\"clearable\":\"\",\"past-dates-only\":\"\"},model:{value:(_vm.criteria.freedAtOrBefore),callback:function ($$v) {_vm.$set(_vm.criteria, \"freedAtOrBefore\", $$v)},expression:\"criteria.freedAtOrBefore\"}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('sentence.minPercentServed'),\"suffix\":\"%\"},model:{value:(_vm.criteria.minPercentOfTimeServed),callback:function ($$v) {_vm.$set(_vm.criteria, \"minPercentOfTimeServed\", $$v)},expression:\"criteria.minPercentOfTimeServed\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"2\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('sentence.maxPercentServed'),\"suffix\":\"%\"},model:{value:(_vm.criteria.maxPercentOfTimeServed),callback:function ($$v) {_vm.$set(_vm.criteria, \"maxPercentOfTimeServed\", $$v)},expression:\"criteria.maxPercentOfTimeServed\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"4\"}},[_c('v-select',{attrs:{\"label\":_vm.$t('pardonDecrees.benefittedInYear'),\"items\":_vm.jalaaliYears,\"clearable\":\"\"},model:{value:(_vm.criteria.benefittedFromPardonDecreeInYear),callback:function ($$v) {_vm.$set(_vm.criteria, \"benefittedFromPardonDecreeInYear\", $$v)},expression:\"criteria.benefittedFromPardonDecreeInYear\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"4\"}},[_c('v-select',{attrs:{\"label\":_vm.$t('pardonDecrees.notBenefittedInYear'),\"items\":_vm.jalaaliYears,\"clearable\":\"\"},model:{value:(_vm.criteria.notBenefittedFromPardonDecreeInYear),callback:function ($$v) {_vm.$set(_vm.criteria, \"notBenefittedFromPardonDecreeInYear\", $$v)},expression:\"criteria.notBenefittedFromPardonDecreeInYear\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('BooleanSelector',{attrs:{\"label\":_vm.$t('offender.detainee.singular') +\n '/' +\n _vm.$t('offender.prisoner.singular'),\"unknown-label\":_vm.$t('offender.detainee.plural') +\n ' + ' +\n _vm.$t('offender.prisoner.plural'),\"true-label\":_vm.$t('offender.detainee.plural'),\"false-label\":_vm.$t('offender.prisoner.plural')},model:{value:(_vm.criteria.isDetainee),callback:function ($$v) {_vm.$set(_vm.criteria, \"isDetainee\", $$v)},expression:\"criteria.isDetainee\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('BooleanSelector',{attrs:{\"label\":_vm.$t('person.age'),\"unknown-label\":_vm.$t('adult.plural') + ' + ' + _vm.$t('juvenile.plural'),\"true-label\":_vm.$t('juvenile.plural'),\"false-label\":_vm.$t('adult.plural')},model:{value:(_vm.criteria.isJuvenile),callback:function ($$v) {_vm.$set(_vm.criteria, \"isJuvenile\", $$v)},expression:\"criteria.isJuvenile\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('release.releaseReason'),\"items\":\"offender/releaseReasons\",\"zero-label\":\"all\",\"disable-sorting\":\"\"},model:{value:(_vm.criteria.releaseReasonID),callback:function ($$v) {_vm.$set(_vm.criteria, \"releaseReasonID\", $$v)},expression:\"criteria.releaseReasonID\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('classification.infectiousDisease'),\"items\":\"offender/infectiousDiseases\",\"multiple\":\"\",\"small-chips\":\"\",\"clearable\":\"\"},model:{value:(_vm.criteria.infectiousDiseaseIDs),callback:function ($$v) {_vm.$set(_vm.criteria, \"infectiousDiseaseIDs\", $$v)},expression:\"criteria.infectiousDiseaseIDs\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('classification.mentalDisorders'),\"items\":\"offender/mentalDisorders\",\"multiple\":\"\",\"small-chips\":\"\"},model:{value:(_vm.criteria.mentalDisorderIDs),callback:function ($$v) {_vm.$set(_vm.criteria, \"mentalDisorderIDs\", $$v)},expression:\"criteria.mentalDisorderIDs\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.maritalStatus'),\"items\":\"profile/maritalStatuses\",\"exclude-unknown\":\"\",\"clearable\":\"\"},model:{value:(_vm.criteria.maritalStatusID),callback:function ($$v) {_vm.$set(_vm.criteria, \"maritalStatusID\", $$v)},expression:\"criteria.maritalStatusID\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('classification.motherChildConcerns'),\"items\":\"offender/motherAndChildConcerns\",\"clearable\":\"\",\"multiple\":\"\",\"small-chips\":\"\"},model:{value:(_vm.criteria.motherChildConcernIDs),callback:function ($$v) {_vm.$set(_vm.criteria, \"motherChildConcernIDs\", $$v)},expression:\"criteria.motherChildConcernIDs\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.nativeLanguage'),\"items\":\"profile/languages\",\"exclude-unknown\":\"\",\"clearable\":\"\"},model:{value:(_vm.criteria.nativeLanguageID),callback:function ($$v) {_vm.$set(_vm.criteria, \"nativeLanguageID\", $$v)},expression:\"criteria.nativeLanguageID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.secondLanguage'),\"items\":\"profile/languages\",\"exclude-unknown\":\"\",\"clearable\":\"\"},model:{value:(_vm.criteria.secondLanguageID),callback:function ($$v) {_vm.$set(_vm.criteria, \"secondLanguageID\", $$v)},expression:\"criteria.secondLanguageID\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('LookupTableItemSelector',{attrs:{\"label\":_vm.$t('person.militaryRank'),\"items\":\"profile/militaryRanks\",\"clearable\":\"\",\"exclude-unknown\":\"\"},model:{value:(_vm.criteria.militaryRankID),callback:function ($$v) {_vm.$set(_vm.criteria, \"militaryRankID\", $$v)},expression:\"criteria.militaryRankID\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-switch',{attrs:{\"label\":_vm.$t('offender.missingDossier'),\"dense\":\"\"},model:{value:(_vm.criteria.missingDossier),callback:function ($$v) {_vm.$set(_vm.criteria, \"missingDossier\", $$v)},expression:\"criteria.missingDossier\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-switch',{attrs:{\"label\":_vm.$t('dossier.isFinal'),\"dense\":\"\"},model:{value:(_vm.criteria.finalDossierOnly),callback:function ($$v) {_vm.$set(_vm.criteria, \"finalDossierOnly\", $$v)},expression:\"criteria.finalDossierOnly\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('CrimeSelector',{attrs:{\"label\":_vm.$t('charge.plural'),\"clearable\":\"\",\"chips\":\"\",\"deletable-chips\":\"\",\"hide-details\":\"\",\"multiple\":\"\"},model:{value:(_vm.criteria.dossierCrimeIDs),callback:function ($$v) {_vm.$set(_vm.criteria, \"dossierCrimeIDs\", $$v)},expression:\"criteria.dossierCrimeIDs\"}}),(_vm.criteria.dossierCrimeIDs.length > 0)?_c('v-checkbox',{staticClass:\"mt-1\",attrs:{\"label\":_vm.$t('charge.includeUndisposed'),\"dense\":\"\"},model:{value:(_vm.criteria.includeUndisposedCharges),callback:function ($$v) {_vm.$set(_vm.criteria, \"includeUndisposedCharges\", $$v)},expression:\"criteria.includeUndisposedCharges\"}}):_vm._e()],1)],1)],1):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{staticClass:\"selectable\",attrs:{\"items\":_vm.results,\"headers\":_vm.headers,\"loading\":_vm.loading,\"disable-sort\":\"\",\"page\":_vm.page.number,\"items-per-page\":_vm.page.size,\"server-items-length\":_vm.page.serverCount,\"footer-props\":{\n 'items-per-page-options': [10, 20, 40, 50, 100],\n },\"no-data-text\":_vm.$t('error.nodata'),\"dense\":\"\"},on:{\"update:page\":function($event){return _vm.$set(_vm.page, \"number\", $event)},\"update:itemsPerPage\":function($event){return _vm.$set(_vm.page, \"size\", $event)},\"update:items-per-page\":function($event){return _vm.$set(_vm.page, \"size\", $event)},\"click:row\":_vm.goToOffender},scopedSlots:_vm._u([{key:\"item.id\",fn:function(ref){\n var value = ref.value;\nreturn [_c('v-btn',{attrs:{\"x-small\":\"\",\"to\":{ name: 'offenderProfile', params: { id: value } },\"target\":\"_blank\",\"title\":_vm.$t('command.newWindow')},nativeOn:{\"click\":function($event){return $event.stopImmediatePropagation()}}},[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"fa-external-link-alt\")])],1)]}},{key:\"item.birthplaceGeographyID\",fn:function(ref){\n var value = ref.value;\nreturn [_c('GeographyName',{attrs:{\"full\":\"\",\"id\":value}})]}},{key:\"item.aliases\",fn:function(ref){\n var value = ref.value;\nreturn [_vm._v(\" \"+_vm._s(value.join(', '))+\" \")]}},{key:\"item.birthdate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('AgeDisplay',{attrs:{\"birthdate\":item.birthdate,\"isApproximate\":item.birthdateIsApproximate,\"no-suffix\":\"\"}})]}},{key:\"item.flagIDs\",fn:function(ref){\n var item = ref.item;\nreturn [_c('OffenderFlags',{attrs:{\"x-small\":\"\"},model:{value:(item.flagIDs),callback:function ($$v) {_vm.$set(item, \"flagIDs\", $$v)},expression:\"item.flagIDs\"}})]}},{key:\"item.expectedReleaseAt\",fn:function(ref){\n var item = ref.item;\nreturn [_c('ReleaseDate',{attrs:{\"small\":\"\",\"expectedReleaseAt\":item.expectedReleaseAt,\"freedAt\":item.freedAt}})]}}],null,true)})],1),(_vm.canExport)?_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"accent\",\"href\":'/api/v1/offenderservice/offenders/search/excel?' + _vm.queryString}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-file-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.export'))+\" \")],1)],1):_vm._e()],1),_vm._t(\"footer\")],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-autocomplete',{attrs:{\"label\":_vm.label || _vm.$t('custodyStatus.singular'),\"value\":_vm.value,\"items\":_vm.custodyStatusChoices,\"disabled\":_vm.disabled,\"multiple\":_vm.multiple,\"chips\":_vm.chips,\"small-chips\":_vm.chips,\"clearable\":_vm.clearable,\"deletable-chips\":_vm.deletableChips},on:{\"input\":function($event){return _vm.$emit('input', $event || 0)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport i18n from '@/i18n';\nimport { mapState } from 'vuex';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: [String, Array],\n disabled: Boolean,\n multiple: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n },\n computed: {\n ...mapState('offender', ['custodyStatuses']),\n custodyStatusChoices(): any[] {\n return this.custodyStatuses.map((s) => ({\n value: s,\n text: i18n.t('offender.custodyStatus.' + s),\n }));\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustodyStatusSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustodyStatusSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CustodyStatusSelector.vue?vue&type=template&id=5723e574&\"\nimport script from \"./CustodyStatusSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./CustodyStatusSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\ninstallComponents(component, {VAutocomplete})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-autocomplete',{attrs:{\"label\":_vm.label || _vm.$t('securityLevel.singular'),\"value\":_vm.value,\"items\":_vm.securityLevelChoices,\"disabled\":_vm.disabled,\"multiple\":_vm.multiple,\"chips\":_vm.chips,\"small-chips\":_vm.chips,\"clearable\":_vm.clearable,\"deletable-chips\":_vm.deletableChips},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport i18n from '@/i18n';\nimport { mapState } from 'vuex';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: [String, Array],\n disabled: Boolean,\n multiple: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n },\n computed: {\n ...mapState('offender', ['securityLevels']),\n securityLevelChoices(): any[] {\n return this.securityLevels.map((s) => ({\n value: s,\n text: i18n.t('offender.securityLevels.' + s),\n }));\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SecurityLevelSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SecurityLevelSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SecurityLevelSelector.vue?vue&type=template&id=03fe750c&\"\nimport script from \"./SecurityLevelSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./SecurityLevelSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\ninstallComponents(component, {VAutocomplete})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport offenderAPI from '@/vuex/offender/offenderAPI';\nimport i18n from '@/i18n';\nimport jmoment from 'moment-jalaali';\nimport router from '@/router';\nimport {\n changedCriteria,\n criteriaToQueryString,\n routeToCriteria,\n} from '@/lib/criteria';\nimport { Offender } from '@/vuex/offender/offender';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nimport CrimeSelector from '@/components/crime/CrimeSelector.vue';\nimport CustodyStatusSelector from '@/components/offender/classification/CustodyStatusSelector.vue';\nimport FacilitySelector from '@/components/offender/facility/FacilitySelector.vue';\nimport OffenderFlags from '@/components/offender/classification/OffenderFlags.vue';\nimport SecurityLevelSelector from '@/components/offender/classification/SecurityLevelSelector.vue';\n\nexport default Vue.extend({\n props: {\n /**\n * route expects the $route object from the parent component. It is optional\n * and should only be supplied by OffenderList, where we *want* a tight\n * connection between the page URL and the OffenderSearcher criteria object.\n */\n route: Object,\n\n /**\n * dense triggers a more condensed design for the component, which is useful\n * when it appears in a popup or other compressed space.\n */\n dense: Boolean,\n },\n\n created() {\n if (this.route) {\n this.routeChanged();\n }\n\n // Load the initial data...\n this.fetchData();\n\n // ...then make every future calls to this.fetchData or this.routeChanged\n // be debounced so that they can never be called faster than once\n // every N milliseconds.\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.fetchData = _.debounce(this.fetchData, 400);\n this.routeChanged = _.debounce(this.routeChanged, 400);\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n advancedSearch: false,\n\n initialCriteria: {},\n criteria: {\n // Profile Criteria\n q: '',\n name: '',\n surname: '',\n fatherName: '',\n grandfatherName: '',\n alias: '',\n genderID: 0,\n criminalGroupIDs: [],\n birthplaceGeographyID: 0,\n residenceGeographyID: 0,\n minAge: 0,\n maxAge: 0,\n elderlyOnly: false,\n infectiousDiseaseIDs: [],\n mentalDisorderIDs: [],\n motherChildConcernIDs: [],\n maritalStatusID: 0,\n nativeLanguageID: 0,\n secondLanguageID: 0,\n militaryRankID: 0,\n isKochi: null as boolean | null,\n nationalityID: 0,\n minHeightInCm: 0,\n maxHeightInCm: 0,\n minWeightInKg: 0,\n maxWeightInKg: 0,\n hairColorID: 0,\n eyeColorID: 0,\n\n // Offender Criteria\n facilityLocationID: 1,\n facilityID: 0,\n din: '',\n pin: '',\n securityLevel: '',\n isDetainee: null,\n isJuvenile: null,\n pastDue: false,\n nearingRelease: false,\n imminentRelease: false,\n missingDossier: false,\n custodyStatuses: [],\n dossierNumber: '',\n detainedAtOrAfter: '',\n detainedAtOrBefore: '',\n expectedReleaseAtOrAfter: '',\n expectedReleaseAtOrBefore: '',\n freedAtOrAfter: '',\n freedAtOrBefore: '',\n releaseReasonID: 0,\n benefittedFromPardonDecreeInYear: 0,\n notBenefittedFromPardonDecreeInYear: 0,\n dossierCrimeIDs: [],\n includeUndisposedCharges: false,\n finalDossierOnly: false,\n minPercentOfTimeServed: 0,\n maxPercentOfTimeServed: 0,\n },\n\n results: [],\n\n page: {\n number: 1,\n size: 10,\n serverCount: 0,\n },\n };\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('language', ['nameForIDInCollection']),\n\n /**\n * criteriaUnchanged returns true when the currently-active criteria\n * is unchanged from its original, default state on the form.\n */\n criteriaUnchanged(): boolean {\n return _.isEqual(this.criteria, this.initialCriteria);\n },\n\n /**\n * queryString computes the URL querystring parameters which will be\n * submitted to the server to perform the search. NOTE that this\n * value is combined with pagination criteria inside fetchData, so this\n * value doesn't exactly match the API request.\n */\n queryString(): string {\n if (_.isEmpty(this.initialCriteria)) {\n this.initialCriteria = _.cloneDeep(this.criteria);\n }\n const cc = changedCriteria(this.criteria, this.initialCriteria);\n return criteriaToQueryString(cc, this.page);\n },\n\n /**\n * canExport computes whether the current user is allowed to download\n * an Excel export of the data on the screen.\n */\n canExport(): boolean {\n return this.hasPermission('offender.excelExport');\n },\n\n jalaaliYears(): VSelectItem[] {\n const years: VSelectItem[] = [];\n const thisYear = jmoment().jYear();\n for (let i = 0; i < 10; i++) {\n years.push({\n value: thisYear - i,\n text: thisYear - i,\n });\n }\n return years;\n },\n\n /**\n * headers dynamically builds the headers array so that translations for\n * the column titles can update live, and so that the edit link column is\n * removed *automatically when the selectable prop is set\n */\n headers(): any[] {\n return [\n { text: i18n.t('person.name'), value: 'name' },\n { text: i18n.t('person.surname'), value: 'surname' },\n { text: i18n.t('person.fatherName'), value: 'fatherName' },\n { text: i18n.t('person.grandfatherName'), value: 'grandfatherName' },\n { text: i18n.t('person.alias.plural'), value: 'aliases' },\n {\n text: i18n.t('person.birthplace'),\n value: 'birthplaceGeographyID',\n },\n {\n text: i18n.t('person.age'),\n value: 'birthdate',\n align: 'right',\n width: '4em',\n },\n { text: i18n.t('offender.din'), value: 'DIN' },\n { text: i18n.t('offender.pin'), value: 'PIN' },\n { text: i18n.t('flag.plural'), value: 'flagIDs' },\n {\n text: i18n.t('release.releaseDate'),\n value: 'expectedReleaseAt',\n align: 'center',\n },\n { value: 'id' }, // Open in new window column\n ];\n },\n },\n\n watch: {\n /**\n * route is watched so that when the $route of the topmost component\n * changes, we can update the query string. Note that we don't watch\n * $route directly from this component (note the lack of a dollar sign here),\n * because that would potentially trigger at undesirable times.\n *\n * Since we can search for Offenders from other places than the full\n * OffenderList page, we don't always want the route to be tied to this\n * component's behavior.\n */\n route(route: any) {\n this.routeChanged();\n },\n\n /**\n * queryString is watched so that a new search can be triggered.\n */\n queryString(newVal: string, oldVal: string) {\n this.fetchData();\n },\n\n /**\n * criteria is watched so that when the search criteria is changed after\n * results have already been returned, we can reset the page number.\n */\n criteria: {\n deep: true,\n immediate: false,\n handler(newVal, oldVal) {\n if (this.page.serverCount > 0 && this.page.number > 1) {\n this.page.number = 1;\n }\n },\n },\n\n /**\n * advancedSearch changes the UI, so we need to make sure to reset\n * the no longer visible fields\n */\n advancedSearch(isAdvanced: boolean) {\n if (isAdvanced) {\n this.resetSimpleCriteria();\n } else {\n this.resetAdvancedCriteria();\n }\n },\n },\n\n methods: {\n /**\n * routeChanged is triggered when the page URL changes.\n */\n routeChanged(): void {\n routeToCriteria(this.route, this.criteria, this.page);\n if (!this.criteriaUnchanged && this.criteria.q === '') {\n this.advancedSearch = true;\n }\n },\n\n /**\n * fetchData triggers the the API endpoint and updates the table with the\n * results for the currently-selected page. This function is triggered\n * both when the criteria changes and when the page changes.\n */\n async fetchData(): Promise {\n this.loading = true;\n this.error = null;\n\n try {\n const url = `/offenders/search?${this.queryString}`;\n const res = await offenderAPI.get(url);\n this.page.serverCount = _.get(res, 'data.meta.totalResults', 0);\n this.results = _.get(res, 'data.data', []);\n this.$emit('queryChanged', this.queryString);\n } catch (error) {\n this.error = error;\n } finally {\n this.loading = false;\n }\n },\n\n /**\n * reset clears the search and resets search results. Primarily designed\n * to be called externally via a $ref to this component so that the searcher\n * can be reset when a dialog is opened.\n */\n reset(): void {\n this.resetSimpleCriteria();\n this.resetAdvancedCriteria();\n },\n\n resetSimpleCriteria(): void {\n this.criteria.q = '';\n },\n\n resetAdvancedCriteria(): void {\n this.criteria = Object.assign(this.criteria, this.initialCriteria);\n },\n\n /**\n * goToOffender is the row click handler for case search results. It triggers\n * navigation to the Offender detail page for the offender in that row.\n */\n goToOffender(row: Offender): void {\n router.push({\n name: 'offenderProfile',\n params: { id: String(row.id) },\n });\n },\n },\n\n components: {\n CrimeSelector,\n CustodyStatusSelector,\n FacilitySelector,\n OffenderFlags,\n SecurityLevelSelector,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderSearcher.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderSearcher.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderSearcher.vue?vue&type=template&id=6eae2cbe&\"\nimport script from \"./OffenderSearcher.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderSearcher.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCheckbox,VCol,VDataTable,VForm,VIcon,VRow,VSelect,VSpacer,VSwitch,VTextField,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport OffenderSearcher from '@/components/offender/OffenderSearcher.vue';\n\nexport default Vue.extend({\n methods: {\n /**\n * queryChanged listens for the same-named event to be emitted from\n * the searcher and updates the pushState/URL to reflect the new\n * page. This is critical to preserve the behavior of the back button\n * when links in the search results are clicked. Beacuse the $route is not\n * constantly parsed, this does not trigger a loop back into re-setting the\n * query criteria inside the searcher.\n */\n queryChanged(query: string): void {\n if (query !== '') {\n query = `?${encodeURI(query)}`;\n }\n const newPath = `${this.$route.path}${query}`;\n if (this.$route.fullPath !== newPath) {\n this.$router.replace(newPath);\n }\n },\n },\n\n components: {\n OffenderSearcher,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderList.vue?vue&type=template&id=3559b3a9&\"\nimport script from \"./OffenderList.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.offender && !_vm.profile)?_c('v-container',[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1):_vm._e(),(_vm.offender && _vm.profile)?_c('div',[_c('v-container',[_c('OffenderHeader',{attrs:{\"offenderID\":_vm.id}}),(_vm.canViewProfile)?_c('OffenderProfile',{attrs:{\"content-only\":\"\",\"offenderID\":_vm.id}}):_vm._e(),(_vm.canViewHousing)?_c('OffenderHousing',{attrs:{\"content-only\":\"\",\"id\":_vm.id}}):_vm._e(),(_vm.canViewSentence)?_c('OffenderSentence',{attrs:{\"content-only\":\"\",\"id\":_vm.id}}):_vm._e(),(_vm.canViewPrograms)?_c('OffenderPrograms',{attrs:{\"content-only\":\"\",\"id\":_vm.id}}):_vm._e(),(_vm.canViewMedical)?_c('OffenderMedical',{attrs:{\"content-only\":\"\",\"id\":_vm.id}}):_vm._e()],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Offender } from '@/vuex/offender/offender';\nimport { Profile } from '@/vuex/profile/profile';\n\nimport OffenderHeader from '@/components/offender/OffenderHeader.vue';\nimport OffenderHousing from '@/views/offender/OffenderHousing.vue';\nimport OffenderMedical from '@/views/offender/OffenderMedical.vue';\nimport OffenderNavToolbar from '@/components/offender/OffenderNavToolbar.vue';\nimport OffenderProfile from '@/views/offender/OffenderProfile.vue';\nimport OffenderPrograms from '@/views/offender/OffenderPrograms.vue';\nimport OffenderSentence from '@/views/offender/OffenderSentence.vue';\n\nexport default Vue.extend({\n props: {\n id: Number,\n },\n\n created() {\n this.fetchData();\n },\n\n computed: {\n ...mapGetters('offender', ['offenderWithID']),\n ...mapGetters('profile', ['profileWithID']),\n ...mapGetters('auth', ['hasPermission']),\n\n offender(): Offender | null {\n return this.offenderWithID(this.id) || null;\n },\n\n profile(): Profile | null {\n if (this.offender && this.offender.profileID) {\n return this.profileWithID(this.offender.profileID) || null;\n } else {\n return null;\n }\n },\n\n canViewMedical(): boolean {\n if (this.offender) {\n if (\n this.hasPermission(\n 'offender.medical.view',\n 'facility',\n this.offender.housingFacilityID,\n )\n ) {\n return true;\n }\n\n if (\n this.hasPermission(\n 'offender.medical.createExam',\n 'facility',\n this.offender.housingFacilityID,\n ) ||\n this.hasPermission(\n 'offender.medical.createTreatment',\n 'facility',\n this.offender.housingFacilityID,\n ) ||\n this.hasPermission(\n 'offender.medical.createIntakeHealthScreening',\n 'facility',\n this.offender.housingFacilityID,\n ) ||\n this.hasPermission(\n 'offender.medical.createHistory',\n 'facility',\n this.offender.housingFacilityID,\n )\n ) {\n return true;\n }\n }\n\n return false;\n },\n\n canViewHousing(): boolean {\n if (this.offender) {\n if (\n this.hasPermission('offender.transfer.request') ||\n this.hasPermission('offender.leave.request') ||\n this.hasPermission('offender.leave.backfill') ||\n this.hasPermission('offender.move')\n ) {\n return true;\n }\n }\n return false;\n },\n\n canViewSentence(): boolean {\n if (this.offender) {\n if (\n this.hasPermission('offender.createSentenceAdjustment') ||\n this.hasPermission('offender.assignPardonDecree')\n ) {\n return true;\n }\n }\n return false;\n },\n\n canViewProfile(): boolean {\n if (this.offender) {\n if (\n this.hasPermission('offender.escape.create') ||\n this.hasPermission('offender.reclassify') ||\n this.hasPermission('offender.incident.create')\n ) {\n return true;\n }\n }\n return false;\n },\n\n canViewPrograms(): boolean {\n return this.hasPermission('offender.program.create');\n },\n },\n\n watch: {\n id() {\n this.fetchData();\n },\n },\n\n methods: {\n async fetchData(): Promise {\n await this.$store.dispatch('offender/fetchOffender', this.id);\n if (this.offender && this.offender.dossierID) {\n const dossierID = this.offender.dossierID;\n await this.$store.dispatch('court/fetchDossier', dossierID);\n }\n setTimeout(window.print, 1000);\n },\n },\n components: {\n OffenderHeader,\n OffenderHousing,\n OffenderMedical,\n OffenderNavToolbar,\n OffenderProfile,\n OffenderPrograms,\n OffenderSentence,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderPrint.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OffenderPrint.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OffenderPrint.vue?vue&type=template&id=2b83f1d0&\"\nimport script from \"./OffenderPrint.vue?vue&type=script&lang=ts&\"\nexport * from \"./OffenderPrint.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VContainer,VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"justify\":\"start\"}},[_c('v-col',{staticClass:\"text-h4 font-weight-bold\",attrs:{\"cols\":\"12\"}},[_vm._v(\"CMS1 Viewer\")]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"2\"}},[_c('v-select',{attrs:{\"label\":\"Case Type\",\"items\":['criminal', 'civil']},model:{value:(_vm.caseType),callback:function ($$v) {_vm.caseType=$$v},expression:\"caseType\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('DossierNumberField',{attrs:{\"dark\":\"\"},model:{value:(_vm.dossierNumber),callback:function ($$v) {_vm.dossierNumber=$$v},expression:\"dossierNumber\"}})],1),(_vm.loading)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1):_vm._e()],1),(_vm.legacyData)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('CMS1Viewer',{attrs:{\"data\":_vm.legacyData}})],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport etlAPI from '@/vuex/etl/etlAPI';\n\nimport CMS1Viewer from '@/components/etl/CMS1Viewer.vue';\n\nexport default Vue.extend({\n created() {\n // Make every call to this.fetchData be debounced so that\n // it can never be called faster than once every N milliseconds.\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.fetchData = _.debounce(this.fetchData, 400);\n },\n\n data() {\n return {\n loading: false,\n error: null as any,\n\n caseType: 'criminal',\n dossierNumber: '',\n legacyData: null,\n };\n },\n\n computed: {},\n\n watch: {\n caseType(newValue: string) {\n this.fetchData();\n },\n\n dossierNumber(newValue: string) {\n this.fetchData();\n },\n },\n\n methods: {\n async fetchData(): Promise {\n try {\n this.error = null;\n this.loading = true;\n\n const url = `/legacydata/${this.caseType}/${this.dossierNumber}`;\n const res = await etlAPI.get(url);\n this.legacyData = _.get(res, 'data', null);\n } catch (err) {\n this.error = err;\n this.legacyData = null;\n } finally {\n this.loading = false;\n }\n },\n },\n components: {\n CMS1Viewer,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CMS1StandaloneViewer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CMS1StandaloneViewer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CMS1StandaloneViewer.vue?vue&type=template&id=31bed4c1&\"\nimport script from \"./CMS1StandaloneViewer.vue?vue&type=script&lang=ts&\"\nexport * from \"./CMS1StandaloneViewer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VCol,VContainer,VProgressLinear,VRow,VSelect})\n","import Vue from 'vue';\nimport Router from 'vue-router';\nimport store from '@/vuex/store';\nimport {\n fetchCaseFirst,\n fetchOffenderFirst,\n fetchProfileFirst,\n} from './router-data';\n\nVue.use(Router);\n\n// Root Routes -----------------------------------------------------------------\n// These will be in the main app.js\n// -----------------------------------------------------------------------------\nimport Login from '@/views/auth/Login.vue';\nimport HomeRedirector from '@/views/HomeRedirector.vue';\nimport NotFound from '@/views/NotFound.vue';\nimport Unauthorized from '@/views/auth/Unauthorized.vue';\n\n// User Routes -----------------------------------------------------------------\n// Works as a default home page if user has no dashboard permissions\n// -----------------------------------------------------------------------------\nimport UserHome from '@/views/user/UserHome.vue';\n\n// Admin Chunk -----------------------------------------------------------------\n// Rarely-used administrative features, regardless of which area of focus.\n//\n// -----------------------------------------------------------------------------\nimport AttorneyList from '@/views/courts/AttorneyList.vue';\nimport ComponentLibrary from '@/views/ComponentLibrary.vue';\nimport CorpusEdit from '@/views/corpus/CorpusEdit.vue';\nimport CorpusList from '@/views/corpus/CorpusList.vue';\nimport CorpusNew from '@/views/corpus/CorpusNew.vue';\nimport CorpusShow from '@/views/corpus/CorpusShow.vue';\nimport CourtCalendarPrint from '@/views/courts/CourtCalendarPrint.vue';\nimport CourtList from '@/views/courts/CourtList.vue';\nimport CourtroomList from '@/views/courts/CourtroomList.vue';\nimport CrimeGroupList from '@/views/crime/CrimeGroupList.vue';\nimport CrimeList from '@/views/crime/CrimeList.vue';\nimport DepartmentList from '@/views/investigation/DepartmentList.vue';\nimport DocketEventTypeList from '@/views/courts/DocketEventTypeList.vue';\nimport GeographyList from '@/views/geography/GeographyList.vue';\nimport HolidayList from '@/views/courts/HolidayList.vue';\nimport HousingFacilityList from '@/views/housing/HousingFacilityList.vue';\nimport JudgeList from '@/views/courts/JudgeList.vue';\nimport LegacyCrimeList from '@/views/crime/LegacyCrimeList.vue';\nimport LocaleMessageList from '@/views/translation/LocaleMessageList.vue';\nimport LookupTableEditor from '@/views/translation/LookupTableEditor.vue';\nimport PardonDecreeList from '@/views/investigation/PardonDecreeList.vue';\nimport PartyList from '@/views/courts/PartyList.vue';\nimport ProsecutorsList from '@/views/investigation/ProsecutorsList.vue';\nimport PunishmentTypesList from '@/views/crime/PunishmentTypesList.vue';\nimport RoleList from '@/views/user/RoleList.vue';\nimport UserAuditReport from '@/views/user/UserAuditReport.vue';\nimport UserList from '@/views/user/UserList.vue';\n\n// Court Chunk -----------------------------------------------------------------\n// End-user court case management\n//\n// -----------------------------------------------------------------------------\nimport CaseDossierDetail from '@/views/courts/CaseDossierDetail.vue';\nimport CaseList from '@/views/courts/CaseList.vue';\nimport CaseShow from '@/views/courts/CaseShow.vue';\nimport CourtDashboard from '@/views/courts/CourtDashboard.vue';\n\n// Investigation Chunk ---------------------------------------------------------\n// End-user dossier/investigation management\n// -----------------------------------------------------------------------------\nimport CrimeReportPrint from '@/views/detection/CrimeReportPrint.vue';\nimport CrimeReportList from '@/views/detection/CrimeReportList.vue';\nimport CrimeReportShow from '@/views/detection/CrimeReportShow.vue';\nimport DetectionDashboard from '@/views/investigation/DetectionDashboard.vue';\nimport DossierContainer from '@/views/dossier/DossierContainer.vue';\nimport DossierList from '@/views/dossier/DossierList.vue';\nimport InvestigationDashboard from '@/views/investigation/InvestigationDashboard.vue';\nimport PardonDecreeShow from '@/views/investigation/PardonDecreeShow.vue';\nimport ProfileDossiers from '@/views/profile/ProfileDossiers.vue';\nimport ProfileFacilities from '@/views/profile/ProfileFacilities.vue';\nimport ProfileList from '@/views/profile/ProfileList.vue';\nimport ProfileShow from '@/views/profile/ProfileShow.vue';\nimport BackgroundCheck from '@/views/profile/BackgroundCheck.vue';\n\n// Prison Chunk ----------------------------------------------------------------\n// End-user prison management.\n// -----------------------------------------------------------------------------\nimport HousingFacilityTransfers from '@/views/housing/HousingFacilityTransfers.vue';\nimport IntakeStepper from '@/views/offender/IntakeStepper.vue';\nimport OffenderContainer from '@/views/offender/OffenderContainer.vue';\nimport OffenderDashboard from '@/views/offender/OffenderDashboard.vue';\nimport OffenderList from '@/views/offender/OffenderList.vue';\nimport OffenderPrint from '@/views/offender/OffenderPrint.vue';\n\n// CMS1 Viewer / ETL Features --------------------------------------------------\nimport CMS1StandaloneViewer from '@/views/etl/CMS1StandaloneViewer.vue';\n\nconst router = new Router({\n mode: 'history',\n base: process.env.BASE_URL,\n routes: [\n {\n path: '/admin/component-library',\n name: 'componentLibrary',\n component: ComponentLibrary,\n },\n {\n path: '/',\n name: 'home',\n component: HomeRedirector,\n },\n {\n path: '/login',\n name: 'login',\n component: Login,\n },\n {\n path: '/unauthorized',\n name: 'unauthorized',\n component: Unauthorized,\n },\n {\n path: '/user-home',\n name: 'userHome',\n component: UserHome,\n },\n {\n path: '/admin/courts',\n name: 'courts',\n component: CourtList,\n },\n {\n path: '/cases/search',\n name: 'caseSearch',\n component: CaseList,\n },\n {\n path: '/courts/dashboard',\n name: 'courtDashboard',\n component: CourtDashboard,\n },\n {\n path: '/courts/:id/courtrooms',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'courtrooms',\n component: CourtroomList,\n },\n {\n path: '/crimes',\n name: 'crimeList',\n component: CrimeList,\n },\n {\n path: '/crime-groups',\n name: 'crimeGroupList',\n component: CrimeGroupList,\n },\n {\n path: '/legacy-crimes',\n name: 'legacyCrimeList',\n component: LegacyCrimeList,\n },\n {\n path: '/departments/detection-dashboard',\n name: 'detectionDashboard',\n component: DetectionDashboard,\n },\n {\n path: '/departments/investigation-dashboard',\n name: 'investigationDashboard',\n component: InvestigationDashboard,\n },\n {\n path: '/crime-reports/search',\n name: 'crimeReportSearch',\n component: CrimeReportList,\n },\n {\n path: '/crime-reports/:id',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'crimeReportShow',\n component: CrimeReportShow,\n },\n {\n path: '/crime-reports/:id/print',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'crimeReportPrint',\n component: CrimeReportPrint,\n meta: { printView: true },\n },\n {\n path: '/corpora',\n name: 'corpusList',\n component: CorpusList,\n },\n {\n path: '/corpus/new',\n name: 'corpusNew',\n component: CorpusNew,\n },\n {\n path: '/corpus/:id',\n name: 'corpusShow',\n props: (route) => ({ id: Number(route.params.id) }),\n component: CorpusShow,\n },\n {\n path: '/corpus/:id/edit',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'corpusEdit',\n component: CorpusEdit,\n },\n {\n path: '/dossiers/search',\n name: 'dossierSearch',\n component: DossierList,\n },\n {\n path: '/housing-facilities',\n name: 'housingFacilityList',\n props: (route) => ({ parentID: Number(route.query.parentID) }),\n component: HousingFacilityList,\n },\n {\n path: '/housing-facilities/:id/transfers',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'housingFacilityTransfers',\n component: HousingFacilityTransfers,\n },\n {\n path: '/offenders/dashboard',\n name: 'offenderDashboard',\n component: OffenderDashboard,\n },\n {\n path: '/admin/users',\n name: 'userList',\n component: UserList,\n },\n {\n path: '/admin/roles',\n name: 'roleList',\n component: RoleList,\n },\n {\n path: '/admin/user-audit',\n name: 'userAuditReport',\n component: UserAuditReport,\n },\n {\n path: '/offenders/search',\n name: 'offenderSearch',\n component: OffenderList,\n },\n {\n path: '/offenders/new',\n name: 'offenderNew',\n component: IntakeStepper,\n },\n {\n path: '/offenders/:id',\n redirect: '/offenders/:id/profile',\n },\n {\n path: '/offenders/:id/profile',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'offenderProfile',\n component: OffenderContainer,\n beforeEnter: fetchOffenderFirst,\n },\n {\n path: '/offenders/:id/housing',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'offenderHousing',\n component: OffenderContainer,\n beforeEnter: fetchOffenderFirst,\n },\n {\n path: '/offenders/:id/sentence',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'offenderSentence',\n component: OffenderContainer,\n beforeEnter: fetchOffenderFirst,\n },\n {\n path: '/offenders/:id/programs',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'offenderPrograms',\n component: OffenderContainer,\n beforeEnter: fetchOffenderFirst,\n },\n {\n path: '/offenders/:id/medical',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'offenderMedical',\n component: OffenderContainer,\n beforeEnter: fetchOffenderFirst,\n },\n {\n path: '/offenders/:id/print',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'offenderPrint',\n component: OffenderPrint,\n beforeEnter: fetchOffenderFirst,\n meta: { printView: true },\n },\n {\n path: '/courts/:id/calendar/print',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'courtCalendarPrint',\n component: CourtCalendarPrint,\n meta: { printView: true },\n },\n {\n path: '/profiles/:id',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'profileShow',\n component: ProfileShow,\n beforeEnter: fetchProfileFirst,\n },\n {\n path: '/profiles/:id/dossiers',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'profileDossiers',\n component: ProfileDossiers,\n beforeEnter: fetchProfileFirst,\n },\n {\n path: '/profiles/:id/facilities',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'profileFacilities',\n component: ProfileFacilities,\n beforeEnter: fetchProfileFirst,\n },\n {\n path: '/translation/locale-messages',\n name: 'localeMessageList',\n component: LocaleMessageList,\n },\n {\n path: '/translation/lookup-tables',\n name: 'lookupTableEditor',\n component: LookupTableEditor,\n },\n {\n path: '/admin/punishment-types',\n name: 'punishmentTypesList',\n component: PunishmentTypesList,\n },\n {\n path: '/dossiers/:id',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'dossierShow',\n component: DossierContainer,\n },\n {\n path: '/dossiers/:id/courts',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'dossierCourts',\n component: DossierContainer,\n },\n {\n path: '/dossiers/:id/enforcement',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'dossierEnforcement',\n component: DossierContainer,\n },\n {\n path: '/dossiers/:id/docket',\n redirect: '/dossiers/:id',\n },\n {\n path: '/cases/:id',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'caseShow',\n component: CaseShow,\n beforeEnter: fetchCaseFirst,\n },\n {\n path: '/cases/:id/dossier',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'caseDossierDetail',\n component: CaseDossierDetail,\n beforeEnter: fetchCaseFirst,\n },\n {\n path: '/admin/judges',\n name: 'judgeList',\n component: JudgeList,\n },\n {\n path: '/admin/prosecutors',\n name: 'prosecutors',\n component: ProsecutorsList,\n },\n {\n path: '/admin/attorneys',\n name: 'attorneyList',\n component: AttorneyList,\n },\n {\n path: '/admin/departments',\n name: 'departmentList',\n component: DepartmentList,\n },\n {\n path: '/admin/docket-event-types',\n name: 'docketEventTypeList',\n component: DocketEventTypeList,\n },\n {\n path: '/admin/geographies',\n name: 'geographyList',\n component: GeographyList,\n },\n {\n path: '/admin/holidays',\n name: 'holidayList',\n component: HolidayList,\n },\n {\n path: '/admin/pardon-decrees',\n name: 'pardonDecreeList',\n component: PardonDecreeList,\n },\n {\n path: '/admin/pardon-decrees/:id',\n props: (route) => ({ id: Number(route.params.id) }),\n name: 'pardonDecreeShow',\n component: PardonDecreeShow,\n },\n {\n path: '/admin/parties',\n name: 'partyList',\n component: PartyList,\n },\n {\n path: '/admin/profiles',\n name: 'profileList',\n component: ProfileList,\n },\n {\n path: '/admin/background-check',\n name: 'backgroundCheck',\n component: BackgroundCheck,\n },\n {\n path: '/admin/cms1-viewer',\n name: 'cms1Viewer',\n component: CMS1StandaloneViewer,\n },\n\n // '*' catches all routes that don't match any of the above and redirects to the 404 page.\n // This route MUST be the last item in routes[] in order to work as expected.\n {\n path: '*',\n component: NotFound,\n },\n ],\n});\n\nrouter.beforeEach(async (to, from, next) => {\n await store.dispatch('auth/autoLogin');\n\n const loggedIn = !!store.getters['auth/isAuthenticated'];\n\n // Always allow non-logged in visits to /login\n if (!loggedIn && to.path === '/login') {\n next();\n return;\n }\n\n // Redirect home instead of /login if already logged in\n if (to.path === '/login' && loggedIn) {\n next('/');\n return;\n }\n\n if (loggedIn) {\n next();\n return;\n }\n\n // Redirect to /login if logged out\n if (!loggedIn) {\n if (to.path !== '/login') {\n store.commit('auth/setAfterLoginPath', to.path);\n }\n next('/login');\n }\n});\n\nexport default router;\n","import _ from 'lodash';\nimport JWT from 'jwt-decode';\nimport api from '@/api';\nimport router from '@/router';\n\nconst JWT_KEYNAME = 'cmsauth';\n\nimport { RoleEntityType, User, UserPermissions } from '@/vuex/user/user';\n\nexport interface Credentials {\n username: string;\n password: string;\n}\n\nexport interface LoginResponse {\n user: User | null;\n token: string | null;\n}\n\nexport interface AuthState {\n user: User | null;\n token: string | null;\n tokenExpiresAt: Date | null;\n error: string | null;\n}\n\nconst state = {\n token: localStorage.getItem(JWT_KEYNAME),\n afterLoginPath: '/',\n tokenExpiresAt: null,\n timer: null,\n user: null,\n error: null,\n};\n\nconst getters = {\n isAuthenticated(state): boolean {\n return !!state.token;\n },\n\n /**\n * hasPermission is the universal getter to do client-side permissions checks,\n * such as when hiding a particular menu item if a user does not have\n * the rights to access it. Usage examples:\n *\n * hasPermission('menu.admin')\n * hasPermission('offender.transfer.request', 'facility', 834)\n * hasPermission('offender.transfer.complete', 'facility', 345)\n *\n */\n hasPermission:\n (state, getters, rootState, rootGetters) =>\n (\n permissionKey: number | string,\n entityType: string,\n entityID: number,\n ): boolean => {\n // Get the currently logged-in user\n const user = state.user;\n\n // If no user exists, then we immediately report no access\n if (!user) {\n return false;\n }\n\n // Translate what might be a string or integer reference to the permission\n // into a number to match the database storage of permissionIDs.\n const permID = _.isNumber(permissionKey)\n ? permissionKey\n : rootState.user.permissionIDsByKey[permissionKey];\n if (!permID) {\n console.error(`Unknown permission: ${permissionKey}`);\n }\n\n // Get the permissions for the current user\n const userPerms: UserPermissions =\n rootGetters['user/permissionsForUser'](user);\n const allUserPermissionIDs = _.chain(userPerms)\n .values()\n .flatten()\n .uniq()\n .value();\n\n const validIDs = [permID, '*'];\n\n // Special case for entity-less permission checks.\n // If the hasPermission question was asked without an entityType or entityID\n // then we only care if the referenced permissionID (or a '*') appears in\n // any of the UserRoles.\n if (!entityType && !entityID) {\n const intersection = _.intersection(allUserPermissionIDs, validIDs);\n return intersection.length > 0;\n }\n\n // keysToCheck will contain an array of the permission keys that are\n // relevant to this request. If we're checking for a permission with\n // entityType = 'department', and entityID = 34, then the following keys\n // should be checked:\n // 'department:34'\n // 'department:*'\n //\n const keysToCheck: string[] = [];\n keysToCheck.push(`global:*`);\n keysToCheck.push(`${entityType}:${entityID}`);\n keysToCheck.push(`${entityType}:*`);\n\n for (const key of keysToCheck) {\n const keyPermissionIDs: any[] = [userPerms[key]];\n const intersection = _.intersection(\n _.flatten(keyPermissionIDs),\n validIDs,\n );\n if (intersection.length > 0) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * entityIDsWithPermission returns the the IDs of Courts, Departments or\n * Facilities at which the currently logged-in user has the provided\n * permission.\n */\n entityIDsWithPermission:\n (state, getters, rootState, rootGetters) =>\n (permissionKey: number | string): Array => {\n // Get the currently logged-in user\n const user = state.user;\n if (!user) {\n return [];\n }\n return rootGetters['user/entityIDsWithPermissionForUser'](\n user,\n permissionKey,\n );\n },\n\n /**\n * allowedCourtIDs calculates which Courts the current user has\n * access to. Most of the time, it returns an array of numbers, indicating\n * the Court ID to which the user has access. Some users have access to\n * all Courts, which is indicated by a '*' instead of a numeric ID.\n */\n allowedCourtIDs(\n state,\n getters,\n rootState,\n rootGetters,\n ): Array {\n return rootGetters['user/allowedEntitiesForUser'](\n state.user,\n RoleEntityType.Court,\n );\n },\n\n /**\n * allowedDepartmentIDs calculates which Departments the current user has\n * access to. Most of the time, it returns an array of numbers, indicating\n * the Department ID to which the user has access. Some users have access to\n * all Departments, which is indicated by a '*' instead of a numeric ID.\n */\n allowedDepartmentIDs(\n state,\n getters,\n rootState,\n rootGetters,\n ): Array {\n return rootGetters['user/allowedEntitiesForUser'](\n state.user,\n RoleEntityType.Department,\n );\n },\n\n /**\n * allowedFacilityIDs calculates which Housing Facilities the current user has\n * access to. Most of the time, it returns an array of numbers, indicating\n * the Facility ID to which the user has access. Some users have access to\n * all Facilities, which is indicated by a '*' instead of a numeric ID.\n */\n allowedFacilityIDs(\n state,\n getters,\n rootState,\n rootGetters,\n ): Array {\n return rootGetters['user/allowedEntitiesForUser'](\n state.user,\n RoleEntityType.HousingFacility,\n );\n },\n\n /**\n * hasAllFacilities returns true if any of the currently logged-in user's\n * roles has been assigned to all Housing Facilities.\n */\n hasAllFacilities(state, getters): boolean {\n return _.includes(getters.allowedFacilityIDs, '*');\n },\n};\n\nconst mutations = {\n setToken(state, token: string | null) {\n if (token === null || token === '') {\n state.token = null;\n state.user = null;\n state.tokenExpiresAt = null;\n localStorage.removeItem(JWT_KEYNAME);\n } else {\n localStorage.setItem(JWT_KEYNAME, token);\n state.token = token;\n interface Claims {\n exp: number;\n }\n const t = JWT(token);\n state.tokenExpiresAt = new Date(0);\n state.tokenExpiresAt.setUTCSeconds(t.exp);\n }\n },\n setProfile(state, user: User | null) {\n state.user = user;\n },\n setError(state, error: string | null) {\n state.error = error;\n },\n setAfterLoginPath(state, path: string) {\n state.afterLoginPath = path;\n },\n};\n\nconst actions = {\n /**\n * autoLogin is called via the router navigation guard whenever the page first\n * starts loading.\n *\n * It checks for a JWT in local storage, and if found,\n * begins to treat the user as if they are logged in\n * and fetches their current profile. Failure at that point\n * will end up sending the user back to the login screen\n * because of a globally-accessible API interceptor configured\n * in the axios initializer.\n */\n async autoLogin({ state, commit, dispatch }): Promise {\n if (state.user) {\n // Early exit in case we're already logged in. Since autoLogin gets called\n // in navigation guards (before every route change) we expect it will be\n // called many times when the user is already authenticated.\n return;\n }\n\n commit('setError', null);\n const token = localStorage.getItem(JWT_KEYNAME);\n if (token) {\n commit('setToken', token);\n await dispatch('fetchProfile');\n dispatch('startTokenRefreshTimer');\n }\n },\n\n /**\n * login attempts to authenticate the user with the server\n * and obtain a JSON Web Token (JWT) for future API requests\n */\n async login({ state, commit, dispatch }, creds: Credentials): Promise {\n commit('setError', null);\n try {\n const response = await api.post('/authservice/login', { data: creds });\n const token: string = response.data.data;\n commit('setToken', token);\n await dispatch('fetchProfile');\n dispatch('startTokenRefreshTimer');\n router.push(state.afterLoginPath || { name: 'home' });\n } catch (error) {\n commit('setToken', null);\n commit('setError', error);\n }\n },\n\n /**\n * logout triggers the deletion of locally-stored credentials\n * and returns the user to the login screen\n */\n logout({ commit }): void {\n commit('setToken', null);\n if (router.currentRoute.path !== '/login') {\n router.push('/login');\n }\n },\n\n /**\n * fetchProfile retrieves the currently logged-in user's profile\n * data from the server\n */\n async fetchProfile({ commit }): Promise {\n try {\n const response = await api.get('/authservice/whoami');\n commit('setProfile', response.data.data);\n } catch (error) {\n commit('setToken', null);\n commit('setProfile', null);\n }\n },\n\n /**\n * startTokenRefreshTimer starts a JS timeout to renew the current\n * token before it expires. Acts as a no-op if there is no token.\n */\n startTokenRefreshTimer({ dispatch, state }): void {\n if (!state.tokenExpiresAt) {\n return;\n }\n const refresher = () => dispatch('refreshToken');\n const expiresInMillis =\n state.tokenExpiresAt.getTime() - new Date().getTime();\n if (state.timer) {\n clearTimeout(state.timer);\n }\n if (expiresInMillis < 5_000) {\n state.timer = setTimeout(refresher, 3_000);\n } else if (expiresInMillis < 60_000) {\n state.timer = setTimeout(refresher, expiresInMillis * 0.6);\n } else {\n state.timer = setTimeout(refresher, expiresInMillis * 0.9);\n }\n },\n\n /**\n * refreshToken asks the server for an updated JWT with a new expiration\n * date based on the token we already have.\n */\n async refreshToken({ commit, dispatch, state }): Promise {\n try {\n const response = await api.post('/authservice/refresh');\n const token: string = response.data.data;\n commit('setToken', token);\n dispatch('startTokenRefreshTimer');\n } catch (error) {\n if (state.tokenExpiresAt && state.tokenExpiresAt < new Date()) {\n // Clear the existing token if it is expired\n commit('setToken', null);\n commit('setAfterLoginPath', router.currentRoute.path);\n } else {\n dispatch('startTokenRefreshTimer');\n }\n }\n },\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","import _ from 'lodash';\nimport Vue from 'vue';\nimport { TranslatedString, TUnknown } from '@/lib/translated';\n\nimport api from '@/api';\nimport i18n from '@/i18n';\nimport { domainmodelMutations, modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface HousingFacility {\n id: number;\n type: string;\n name: TranslatedString;\n geographyID: number;\n canHoldJuveniles: boolean;\n canHoldAdults: boolean;\n canHoldDetainees: boolean;\n canHoldPrisoners: boolean;\n canHoldFemales: boolean;\n canHoldMales: boolean;\n acceptsTransfers: boolean;\n path: string;\n capacity: number;\n parentID?: number;\n hidden: boolean;\n legacyIDs: number[];\n}\n\nexport interface Leave {\n id: number;\n offenderID: number;\n status: string;\n housingFacilityID: number;\n scheduledReleaseDate: string;\n}\n\n// Feel free to change - for intake demo\nexport interface Cell {\n id: number;\n name: TranslatedString;\n}\n\nconst state = {\n facilitiesLoaded: false,\n facilityIDs: [],\n\n facility: {} as { [id: number]: HousingFacility },\n childIDs: {} as { [id: number]: number[] },\n};\n\nconst getters = {\n /**\n * allFacilities retrieves the complete array of HousingFacility objects\n * known to Vuex.\n */\n allFacilities(state): HousingFacility[] {\n return state.facilityIDs.map((id) => state.facility[id]);\n },\n\n /**\n * transferrableFacilities computes the subset of allFacilities which allow\n * an incoming Transfer.\n */\n transferrableFacilities(state, getters): HousingFacility[] {\n return getters.allFacilities.filter(\n (facility) => facility.acceptsTransfers,\n );\n },\n\n /**\n * facilityWithID is a convenience getter to get a HousingFacility object\n * from its ID. The facility must already be loaded in the Vuex state.\n */\n facilityWithID:\n (state) =>\n (id): HousingFacility => {\n return state.facility[id];\n },\n\n /**\n * facilitiesUnder retrieves the array of HousingFacility objects which are\n * direct children of the provided facility ID. Passing no ID retrieves the\n * facilities at the root level.\n */\n facilitiesUnder:\n (state) =>\n (parentID: number): HousingFacility[] => {\n const facilities: HousingFacility[] = Object.values(state.facility);\n return _.filter(facilities, (f: HousingFacility) => {\n return (f.parentID || 0) === (parentID || 0);\n });\n },\n\n /**\n * facilityChildren\n * TODO Replace usages of this with facilitiesUnder instead. Looks like\n * * CellSelector uses this, while HousingFacilityContainer\n * uses facilitiesUnder.\n */\n\n facilityChildren:\n (state) =>\n (parentID): HousingFacility[] => {\n return (Object.values(state.facility) as HousingFacility[]).filter(\n (f) => f.parentID === parentID,\n );\n },\n\n /**\n * facilityVisibleChildren computes the subset of children under the provided\n * facilityID which are visible. This is used by CellSelector and seems like\n * it could be refactored to use facilitiesUnder with an internal reject\n * inside that component.\n *\n * TODO Remove\n */\n facilityVisibleChildren:\n (state) =>\n (parentID): HousingFacility[] => {\n return (Object.values(state.facility) as HousingFacility[]).filter(\n (f) => f.parentID === parentID && !f.hidden,\n );\n },\n\n /**\n * facilityAncestors computes an array of the provided Facility preceded by\n * all of its ancestors:\n *\n * [{GrandParent Object}, {Parent Object}, {My Object}]\n *\n * This getter is the full-object equivalent of ancestorIDs.\n */\n facilityAncestors:\n (state, getters) =>\n (id: number): HousingFacility[] => {\n const ids = getters.ancestorIDs(id);\n return _.chain(ids)\n .compact()\n .map((id) => state.facility[id])\n .compact()\n .value();\n },\n\n /**\n * ancestorIDs computes an array of the provided Facility ID preceded by all\n * of the IDs of its ancestors:\n *\n * [grandParentID, parentID, myID]\n *\n * TODO Rename to facilityAncestorIDs\n */\n ancestorIDs:\n (state) =>\n (id: number): number[] => {\n const ids = [] as number[];\n let currID = id;\n while (state.facility[currID]) {\n ids.unshift(currID);\n currID = state.facility[currID].parentID;\n }\n return ids;\n },\n\n /**\n * facilityName computes the translated name of a housing facility, not\n * including any ancestors or other structure.\n */\n facilityName:\n (state) =>\n (id): string => {\n const facility = state.facility[id];\n if (!facility) {\n return TUnknown[i18n.locale];\n } else {\n return facility.name[i18n.locale];\n }\n },\n\n /**\n * fullFacilityName computes the fully-qualified name of a facility, with\n * all parts translated and separated by slashes:\n *\n * GrandParent Name / Parent Name / My Name\n */\n fullFacilityName:\n (state, getters) =>\n (id: number): string => {\n const breadcrumb = getters.facilityAncestors(id);\n return breadcrumb.map((f) => f.name[i18n.locale]).join(' / ');\n },\n\n /**\n * cellName computes the translated name of a cell within a Housing Facility.\n * It returns Unknown\n */\n cellName:\n (state, getters) =>\n (id): string => {\n const facility = state.facility[id];\n if (!facility) {\n return TUnknown[i18n.locale];\n }\n\n const cellName = getters.fullCellName(facility.id);\n return cellName;\n },\n\n fullCellName:\n (state, getters) =>\n (facilityID): string => {\n const facility = getters.facilityWithID(facilityID);\n const parentFacilityID = facility.parentID;\n\n /*\n / Need to check for type !== 'facility' in order to avoid printing the topmost\n / facility name.\n */\n if (\n parentFacilityID &&\n getters.facilityWithID(parentFacilityID).type !== 'facility'\n ) {\n return `${getters.fullCellName(parentFacilityID)} - ${\n facility.name[i18n.locale]\n }`;\n } else {\n return `${facility.name[i18n.locale]}`;\n }\n },\n};\n\nconst mutations = {\n ...domainmodelMutations,\n\n setFacilitiesLoaded(state, val: boolean) {\n state.facilitiesLoaded = val;\n },\n\n setFacilities(state, facilities: HousingFacility[]) {\n facilities.forEach((facility) => {\n Vue.set(state.facility, facility.id, facility);\n });\n\n const ids = _.values(state.facility)\n .filter((f) => f.type === 'facility')\n .map((f) => f.id);\n state.facilityIDs = ids;\n },\n\n setFacilityChildren(\n state,\n payload: { parentID: number; children: HousingFacility[] },\n ) {\n const ids = [] as number[];\n for (const facility of payload.children) {\n ids.push(facility.id);\n Vue.set(state.facility, facility.id, facility);\n }\n Vue.set(state.childIDs, payload.parentID, ids);\n },\n\n removeFacility(state, id: number) {\n const index = state.facilityIDs.indexOf(id);\n if (index !== -1) {\n state.facilityIDs.splice(index, 1);\n }\n Vue.delete(state.facility, id);\n },\n};\n\nconst actions = {\n /**\n * fetchFacilities loads the \"'facility' facilities\" (i.e. the top level\n * facilities which can accept transfers). This function fetches data from\n * the server when necessary or when the force parameter is set to true.\n * Otherwise it returns cached data.\n */\n async fetchFacilities({ commit, state }, force: boolean): Promise {\n if (!force && state.facilitiesLoaded) {\n return Promise.resolve();\n }\n const response = await api.get(\n `/housingservice/facilities?acceptsTransfers=true&includeAncestors=true`,\n );\n const facilities = response.data.data;\n const newState = modelsToState('facility', facilities);\n commit('setState', newState);\n commit('setTarget', {\n target: 'facilityIDs',\n value: _.map(facilities, 'id'),\n });\n commit('setFacilitiesLoaded', true);\n },\n\n /**\n * fetchFacility ensures that the Vuex store has populated data for the facility\n * facility provided and for all of its ancestor facilities.\n *\n * It retrieves data from the server when necessary or when\n * the force parameter is set to true. Otherwise cached data is used.\n *\n * The return value is a promise which resolves to the single requested\n * HousingFacility object.\n */\n async fetchFacility(\n { commit, state },\n command: { force: boolean; facilityID: number },\n ): Promise {\n if (!command.force && state.facility[command.facilityID]) {\n return Promise.resolve(state.facility[command.facilityID]);\n }\n const response = await api.get(\n `/housingservice/facilities/${command.facilityID}/with-ancestors`,\n );\n commit('setState', response.data.data);\n return Promise.resolve(state.facility[command.facilityID]);\n },\n\n /**\n * fetchFacilityChildren ensures that the Vuex store has populated data for\n * all child facilities (blocks, wings, etc) for the provided parentID.\n * It retrieves the data from the API server if necessary or if the force\n * parameter is set to true. Otherwise cached data is used.\n *\n * The return value is a promise which resolves to the array of child\n * HousingFacility objects.\n */\n // tslint:disable-next-line: max-line-length\n async fetchFacilityChildren(\n { commit, state, getters },\n command: { force: boolean; parentID: number },\n ): Promise {\n if (command.parentID === 0) {\n // Unknown facilities always have no children\n return Promise.resolve([]);\n }\n if (!command.force && Array.isArray(state.childIDs[command.parentID])) {\n // Return a cached result unless forced to fetch\n return Promise.resolve(getters.facilityChildren(command.parentID));\n }\n const response = await api.get(\n `/housingservice/facilities?parentIDs=${command.parentID}`,\n );\n const children = response.data.data;\n commit('setFacilityChildren', { parentID: command.parentID, children });\n return Promise.resolve(getters.facilityChildren(command.parentID));\n },\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","import _ from 'lodash';\nimport { domainmodelMutations } from '@/lib/vuex-domainmodel';\nimport profileAPI from './profileAPI';\n\nexport interface Profile {\n id: number;\n partyID: number;\n name: string;\n surname: string;\n fatherName: string;\n grandfatherName: string;\n birthplaceGeographyID: number;\n residenceGeographyID: number;\n nationalityID: number;\n birthdate: string;\n birthdateIsApproximate: boolean;\n heightInCm: number;\n weightInKg: number;\n hairColorID: number;\n eyeColorID: number;\n genderID: number;\n bloodType: string;\n maritalStatusID: number;\n numberOfChildren: number;\n nativeLanguageID: number;\n secondLanguageID: number;\n nationalID: string;\n eNationalID: string;\n passportNumber: string;\n isMilitary: boolean;\n militaryRankID: number;\n occupation: string;\n description: string;\n identifyingMarks: string;\n canRead: boolean;\n canWrite: boolean;\n educationLevelID: number;\n familyContact: string;\n visitors: string;\n aliases: [];\n phoneNumber: string;\n emailAddress: string;\n isKochi: boolean;\n criminalGroupIDs: [];\n criminalGroupRoleID: number;\n infectiousDiseaseIDs: number[];\n mentalDisorderIDs: number[];\n motherChildConcernIDs: number[];\n}\n\nconst state = {\n profile: {} as { [id: number]: Profile },\n\n optionsLoaded: false,\n bloodTypes: [],\n educationLevels: [],\n eyeColors: [],\n genders: [],\n hairColors: [],\n languages: [],\n maritalStatuses: [],\n militaryRanks: [],\n nationalities: [],\n};\n\nconst getters = {\n profileWithID:\n (state) =>\n (id): Profile => {\n return state.profile[id];\n },\n profileName:\n (state) =>\n (id: number): string => {\n const profile = state.profile[id];\n if (profile) {\n return `${profile.name} ${profile.surname}`;\n }\n return `Unknown Profile: ${id}`;\n },\n};\n\nconst mutations = {\n ...domainmodelMutations, // provides setState, appendToTarget, etc\n /**\n * setOptionsLoaded set ths tracking variable which identifies\n * whether the options have been successfully fetched from the\n * API or not.\n */\n setOptionsLoaded(state, isLoaded): void {\n state.optionsLoaded = isLoaded;\n },\n};\n\nconst actions = {\n /**\n * fetchOptions fetches all dropdown choices for entities in this\n * Vuex store from the API.\n */\n async fetchOptions(\n { state, commit },\n payload = {} as { force: boolean },\n ): Promise {\n // Early return when the options are already loaded\n if (!payload.force && state.optionsLoaded) {\n return Promise.resolve(true);\n }\n\n // Fetch all profile-related options from the API\n const response = await profileAPI.get(`/options`);\n if (response.data && response.data.data) {\n const newState = response.data.data;\n\n // Set each option array in the state. This will\n // throw an error if the server sends any top-level\n // properties which are not initialized to their\n // initial state (typically an empty array) above in\n // the state definition.\n commit('setState', newState);\n\n // Set loaded\n commit('setOptionsLoaded', true);\n\n return Promise.resolve(true);\n }\n\n // We reach here only in case of API retrieval failure\n return Promise.reject();\n },\n\n /**\n * fetchProfile retrieves Criminal Profile entities from the server and\n * injects them into the local Vuex store. It accepts a single profile ID\n * or an array of IDs.\n */\n async fetchProfile({ commit }, id: number | number[]): Promise {\n const idsStr = _.flatten([id]).join(',');\n if (idsStr) {\n const response = await profileAPI.get(`profiles/batch?ids=${idsStr}`);\n const newState = response.data.data;\n commit('setState', newState);\n }\n },\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","import axios from 'axios';\n\nimport api, { addAuthInterceptors } from '@/api';\n\nconst settingsAPI = axios.create({\n baseURL: `${api.defaults.baseURL}settingsservice/`,\n});\naddAuthInterceptors(settingsAPI);\nexport default settingsAPI;\n","import Vue from 'vue';\nimport settingsAPI from './settingsAPI';\n\nexport const state = {\n settings: {},\n settingsLoaded: false,\n};\n\nexport const getters = {};\n\nexport const mutations = {\n setSetting(state, setting: { name: string; value: any }) {\n Vue.set(state.settings, setting.name, setting.value);\n },\n setSettingsLoaded(state, isLoaded) {\n state.settingsLoaded = isLoaded;\n },\n};\n\nexport const actions = {\n async fetchSettings(\n { state, commit },\n payload = {} as { force: boolean },\n ): Promise {\n if (!payload.force && state.settingsLoaded) {\n return Promise.resolve();\n }\n const response = await settingsAPI.get(`/settings`);\n if (response.data && response.data.data) {\n const settings = response.data.data;\n for (const setting of settings) {\n commit('setSetting', setting);\n }\n commit('setSettingsLoaded', true);\n }\n },\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","import _ from 'lodash';\nimport courtAPI from '@/vuex/court/courtAPI';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface CrimeReport {\n id: number;\n dossierID: number;\n dossierNumber?: string; // Only included in search results\n awarenessNumber: string;\n departmentID: number;\n locationID: number;\n occurredOn: string;\n occurredAt: string;\n crimeIDs: number[];\n description: string;\n victimIDs: number[];\n officerName: string;\n wantedSuspectDescription: string;\n coalitionForcesAffected: boolean;\n filedAt: string;\n registeredAt: string;\n suspectIDs: number[];\n}\n\nexport const state = {\n crimeReport: {} as { [id: number]: CrimeReport },\n crimeReportIDForDossier: {} as { [dossierID: number]: number },\n};\n\nexport const getters = {\n crimeReportWithID:\n (state) =>\n (id): CrimeReport | null => {\n return state.crimeReport[id] || null;\n },\n crimeReportForDossier:\n (state) =>\n (dossierID: number): CrimeReport | null => {\n const crimeReportID = state.crimeReportIDForDossier[dossierID];\n if (!crimeReportID) {\n return null;\n }\n return state.crimeReport[crimeReportID];\n },\n};\n\nexport const mutations = {};\n\nexport const actions = {\n /**\n * fetchCrimeReport retrieves a single Crime Report entity from the server\n * and injects its data into the Vuex store.\n */\n async fetchCrimeReport({ commit, dispatch }, id: number) {\n const response = await investigationAPI.get(`crime-reports/${id}`);\n\n // Server returns state containing objects for the court and the\n // investigation stores.\n const combinedState = response.data.data;\n\n // Split off the investigation state and store that here\n const investigationState = _.pick(combinedState, ['crimeReport']);\n commit('setState', investigationState);\n\n // Split off the profile state and store it\n const profileState = _.pick(combinedState, ['profile']);\n commit('profile/setState', profileState, { root: true });\n\n // Split off the court state and send it to the court state to be stored\n const courtState = _.pick(combinedState, ['dossier', 'party']);\n commit('court/setState', courtState, { root: true });\n },\n\n /**\n * fetchCrimeReportForDossier retrieves a single Crime Report entity from the\n * server and injects its data into the Vuex store. Unlike fetchCrimeReport,\n * this function retrieves records based on the Dossier ID rather than the\n * ID of the CrimeReport record.\n */\n async fetchCrimeReportForDossier({ commit }, payload: { dossierID: number }) {\n const response = await courtAPI.get(\n `dossiers/${payload.dossierID}/crime-report`,\n );\n const crimeReport = response.data.data;\n const newState = modelsToState('crimeReport', crimeReport);\n commit('setState', newState);\n commit('setTarget', {\n target: 'crimeReportIDForDossier',\n index: payload.dossierID,\n value: crimeReport.id,\n });\n },\n};\n","import Vue from 'vue';\nimport _ from 'lodash';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\nimport { TranslatedString, TUnknown } from '@/lib/translated';\nimport i18n from '@/i18n';\n\nexport interface Department {\n id: number;\n parentID: number | null;\n rank: number;\n code: string;\n name: TranslatedString;\n locationGeographyID: number;\n legacyDepartmentIDs: number[];\n year: number;\n lastCaseNumber: number;\n cms1Importance: number;\n cms1RecordCount: number;\n childCount?: number;\n}\n\nexport const state = {\n departmentsLoaded: false,\n departmentIDs: [] as number[],\n department: {} as { [id: number]: Department },\n departmentChildIDs: {} as { [id: number]: number[] },\n};\n\nexport const getters = {\n departmentWithID:\n (state) =>\n (id: number): Department | null => {\n return state.department[id] || null;\n },\n\n /**\n * allDepartments is a convenience getter to retrieve the entire list of\n * Departments which are currently stored in the Vuex store.\n */\n allDepartments(state): Department[] {\n return _.map(state.departmentIDs, (id) => state.department[id]);\n },\n\n departmentMinistryCode:\n (state, getters) =>\n (id: number): string => {\n const ancestorIDs: number[] = _.compact(\n getters.departmentAncestorIDs(id),\n );\n if (ancestorIDs.length < 1) {\n return '??';\n }\n return state.department[ancestorIDs[0]].code;\n },\n\n fullDepartmentName:\n (state, getters) =>\n (id: number): string => {\n const departments: Department[] = getters.departmentAncestors(id);\n return _.map(departments, (d) => d.name[i18n.locale]).join(' :: ');\n },\n\n /**\n * departmentName returns the common name for the Department.\n */\n departmentName:\n (state) =>\n (id: number): string => {\n const department = state.department[id];\n if (!department) {\n return TUnknown[i18n.locale] + `: ${id}`;\n }\n return department.name[i18n.locale];\n },\n\n /**\n * departmentsUnder returns the array of Departments that reside\n * as children of the provided Department id.\n */\n departmentsUnder:\n (state, getters) =>\n (parentID: number): Department[] => {\n const ids: number[] = state.departmentChildIDs[parentID || 0] || [];\n return _.map(ids, (id: number): Department => state.department[id]);\n },\n\n departmentChildCount:\n (state) =>\n (parentID: number): number => {\n const ids: number[] = state.departmentChildIDs[parentID || 0] || [];\n return ids.length || 0;\n },\n\n departmentAncestorIDs:\n (state) =>\n (id: number): number[] => {\n const ids: number[] = [];\n let currID = id;\n while (state.department[currID]) {\n ids.unshift(currID);\n currID = state.department[currID].parentID;\n }\n if (ids.length === 0) {\n ids.unshift(0);\n }\n return ids;\n },\n\n departmentAncestors:\n (state, getters) =>\n (id: number): Department[] => {\n const ids = getters.departmentAncestorIDs(id);\n return _.chain(ids)\n .map((id) => state.department[id])\n .compact()\n .value();\n },\n};\n\nexport const mutations = {\n setDepartmentsLoaded(state, val: boolean) {\n state.departmentsLoaded = val;\n },\n calculateDepartmentChildStats(state) {\n Vue.set(\n state,\n 'departmentIDs',\n _.chain(Object.values(state.department)).compact().map('id').value(),\n );\n Vue.set(state, 'departmentChildIDs', {});\n for (const id of state.departmentIDs) {\n const department = state.department[id];\n const parentID = department.parentID || 0;\n if (!state.departmentChildIDs.hasOwnProperty(parentID)) {\n Vue.set(state.departmentChildIDs, parentID, []);\n if (parentID && state.department[parentID]) {\n Vue.set(state.department[parentID], 'childCount', 0);\n }\n }\n state.departmentChildIDs[parentID].push(id);\n if (parentID) {\n state.department[parentID].childCount++;\n }\n }\n },\n};\n\nexport const actions = {\n /**\n * fetchDepartment retrieves Department entities from the server and\n * injects them into the local Vuex store. It accepts a single ID\n * or an array of IDs.\n */\n async fetchDepartment({ commit }, id: number | number[]) {\n const ids: number[] = _.flatten([id]);\n const idsToFetch = _.difference(ids, state.departmentIDs);\n\n if (idsToFetch.length > 0) {\n const idsStr = idsToFetch.join(',');\n const response = await investigationAPI.get(\n `departments/batch?ids=${idsStr}`,\n );\n const newState = response.data.data;\n commit('setState', newState);\n commit('calculateDepartmentChildStats');\n }\n },\n\n /**\n * fetchDepartments fetches the initial set of globally-available Department\n * entities from the server and stores them in the Vuex store. It refuses\n * to re-fetch the data is it was already fetched. This can be overridden\n * by supplying { force: true } in the payload.\n */\n async fetchDepartments(\n { commit, state },\n payload = {} as { force: boolean },\n ): Promise {\n if (!payload.force && state.departmentsLoaded) {\n return Promise.resolve();\n }\n const response = await investigationAPI.get(`departments`);\n const departments = response.data.data;\n const newState = modelsToState('department', departments);\n commit('setState', newState);\n commit('setTarget', {\n target: 'departmentIDs',\n value: _.map(departments, 'id'),\n });\n commit('setDepartmentsLoaded', true);\n commit('calculateDepartmentChildStats');\n },\n};\n","import _ from 'lodash';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface Prosecutor {\n id: number;\n name: string;\n surname: string;\n fatherName: string;\n grandfatherName: string;\n birthplaceGeographyID: number;\n residenceGeographyID: number;\n genderID: number;\n phoneNumber: string;\n emailAddress: string;\n isDeleted: boolean;\n partyID: number;\n caseTypes: string[];\n stageIDs: number[];\n}\n\nexport const state = {\n prosecutor: {} as { [id: number]: Prosecutor },\n};\n\nexport const getters = {\n prosecutorWithID:\n (state) =>\n (id: number): Prosecutor | null => {\n return state.prosecutor[id] || null;\n },\n\n prosecutorName:\n (state) =>\n (prosecutorID: number): string => {\n const prosecutor = state.prosecutor[prosecutorID];\n if (!prosecutor) {\n return `Unknown Prosecutor: ${prosecutorID}`;\n }\n return `${prosecutor.name} ${prosecutor.surname}`;\n },\n};\n\nexport const mutations = {};\n\nexport const actions = {\n async fetchProsecutor({ commit }, id: number) {\n const response = await investigationAPI.get(`prosecutors/${id}`);\n const prosecutor = response.data.data;\n const newState = modelsToState('prosecutor', prosecutor);\n commit('setState', newState);\n commit('setTarget', {\n target: 'prosecutor',\n index: prosecutor.id,\n value: prosecutor,\n });\n },\n};\n","import _ from 'lodash';\nimport investigationAPI from '@/vuex/investigation/investigationAPI';\nimport { modelsToState } from '@/lib/vuex-domainmodel';\n\nexport interface PardonDecree {\n id: number;\n number: number;\n title: string;\n summary: string;\n issuedAt: string;\n enforcementBeginsAt: string;\n isDeleted: boolean;\n}\n\nexport const state = {\n pardonDecreeIDs: [],\n pardonDecree: {} as { [id: number]: PardonDecree },\n pardonDecreesLoaded: false,\n};\n\nexport const getters = {\n pardonDecreeWithID:\n (state) =>\n (id: number): PardonDecree | null => {\n return state.pardonDecree[id] || null;\n },\n allPardonDecrees(state): PardonDecree[] {\n return _.map(state.pardonDecreeIDs, (id: number) => state.pardonDecree[id]);\n },\n};\n\nexport const mutations = {\n /**\n * setPardonDecreesLoaded sets the tracking variable which identifies\n * whether the decres have been successfully fetched from the\n * API or not.\n */\n setPardonDecreesLoaded(state, val: boolean) {\n state.pardonDecreesLoaded = val;\n },\n};\n\nexport const actions = {\n /**\n * fetchPardonDecrees fetches all dropdown choices for entities in this Vuex\n * store from the API.\n *\n * Most of the time it should be called as fetchPardonDecrees({ force: false }),\n * to avoid re-fetching decrees from the API that have already been\n * loaded.\n */\n async fetchPardonDecrees(\n { commit, state },\n payload = {} as { force: boolean },\n ): Promise {\n // Early return when the pardonDecrees are already loaded\n if (!payload.force && state.pardonDecreesLoaded) {\n return Promise.resolve();\n }\n\n // Fetch all pardonDecrees from the API\n const response = await investigationAPI.get('/pardon-decrees');\n const pardonDecrees = response.data.data;\n const newState = modelsToState('pardonDecree', pardonDecrees);\n\n commit('setState', newState);\n commit('setTarget', {\n target: 'pardonDecreeIDs',\n value: _.map(pardonDecrees, 'id'),\n });\n\n commit('setPardonDecreesLoaded', true);\n },\n async fetchPardonDecree({ commit }, id: number) {\n const response = await investigationAPI.get(`/pardon-decrees/${id}`);\n const pardonDecree = response.data.data;\n\n const newState = modelsToState('pardonDecree', pardonDecree);\n commit('setState', newState);\n commit('setTarget', {\n target: 'pardonDecree',\n index: pardonDecree.id,\n value: pardonDecree,\n });\n },\n};\n","import _ from 'lodash';\nimport { domainmodelMutations } from '@/lib/vuex-domainmodel';\n\nimport {\n state as crimeReportState,\n getters as crimeReportGetters,\n mutations as crimeReportMutations,\n actions as crimeReportActions,\n} from './crimeReport';\n\nimport {\n state as departmentState,\n getters as departmentGetters,\n mutations as departmentMutations,\n actions as departmentActions,\n} from './department';\n\nimport {\n state as prosecutorState,\n getters as prosecutorGetters,\n mutations as prosecutorMutations,\n actions as prosecutorActions,\n} from './prosecutor';\n\nimport {\n state as pardonDecreeState,\n getters as pardonDecreeGetters,\n mutations as pardonDecreeMutations,\n actions as pardonDecreeActions,\n} from './pardonDecree';\n\nexport interface Investigation {\n id: number;\n name: string;\n}\n\nconst state = {\n ...crimeReportState,\n ...departmentState,\n ...pardonDecreeState,\n ...prosecutorState,\n};\n\nconst getters = {\n ...crimeReportGetters,\n ...departmentGetters,\n ...pardonDecreeGetters,\n ...prosecutorGetters,\n};\n\nconst mutations = {\n ...domainmodelMutations,\n\n ...crimeReportMutations,\n ...departmentMutations,\n ...pardonDecreeMutations,\n ...prosecutorMutations,\n};\n\nconst actions = {\n ...crimeReportActions,\n ...departmentActions,\n ...pardonDecreeActions,\n ...prosecutorActions,\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport application from '@/vuex/application/application';\nimport attachment from '@/vuex/attachment/attachment';\nimport auth from '@/vuex/auth/auth';\nimport corpus from '@/vuex/corpus/corpus';\nimport crime from '@/vuex/crime/crime';\nimport geography from '@/vuex/geography/geography';\nimport housing from '@/vuex/housing/housing';\nimport language from '@/vuex/language/language';\nimport offender from '@/vuex/offender/offender';\nimport profile from '@/vuex/profile/profile';\nimport settings from '@/vuex/settings/settings';\nimport user from '@/vuex/user/user';\nimport court from '@/vuex/court/court';\nimport investigation from '@/vuex/investigation/investigation';\n\nVue.use(Vuex);\n\nconst store = new Vuex.Store({\n modules: {\n application,\n attachment,\n auth,\n corpus,\n crime,\n geography,\n housing,\n language,\n offender,\n profile,\n settings,\n user,\n court,\n investigation,\n },\n});\n\nexport default store;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[(!_vm.initialized)?_c('v-container',{attrs:{\"fill-height\":\"\"}},[_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('img',{staticClass:\"ml-md-4 ml-xs-2 mr-2\",attrs:{\"contain\":\"\",\"src\":\"/cms-logo.png\"}})]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('div',{staticClass:\"text-h4\"},[_vm._v(_vm._s(_vm.$t('appTitle')))]),_c('div',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.$t('system.loading')))]),_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1)],1)],1):_vm._e(),(_vm.initialized)?_c('div',[(!_vm.printView)?_c('v-app-bar',{staticClass:\"d-print-none\",attrs:{\"app\":\"\",\"clipped-left\":\"\",\"clipped-right\":\"\",\"color\":\"black\",\"dark\":\"\"}},[(_vm.user)?_c('v-app-bar-nav-icon',{on:{\"click\":function($event){_vm.drawer = !_vm.drawer}}}):_vm._e(),_c('v-toolbar-title',{staticClass:\"headline text-uppercase d-flex flex-row align-center\"},[_c('img',{staticClass:\"ml-md-4 ml-xs-2 mr-2\",attrs:{\"width\":\"50\",\"contain\":\"\",\"src\":\"/cms-logo.png\"}}),_c('span',{staticClass:\"d-none d-md-block\"},[_vm._v(_vm._s(_vm.$t('appTitle')))]),_c('span',{staticClass:\"d-md-none\"},[_vm._v(_vm._s(_vm.$t('mobileTitle')))])]),_c('v-spacer'),_c('LanguageSelector')],1):_vm._e(),(_vm.user && _vm.initialized && !_vm.printView)?_c('v-navigation-drawer',{staticClass:\"d-print-none\",attrs:{\"app\":\"\",\"clipped\":\"\",\"right\":_vm.$vuetify.rtl,\"color\":\"grey lighten-3\",\"width\":\"300\"},model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c('div',{staticClass:\"d-flex flex-column justify-space-between\",staticStyle:{\"height\":\"100%\"}},[_c('PrimaryNav'),_c('v-list',{staticClass:\"mt-auto\",attrs:{\"dense\":\"\"}},[_c('v-list-item',{attrs:{\"to\":{ name: 'userHome' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('user.username'))+\": \"),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.user.username))])]),_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('buildDate'))+\": \"),_c('Date',{staticClass:\"font-weight-bold\",attrs:{\"value\":_vm.buildTimestamp}}),_vm._v(\" ( \"+_vm._s(_vm.commitHash)+\" ) \")],1)])],1)],1)],1),_c('img',{staticClass:\"mb-4 d-flex align-center mx-auto\",attrs:{\"width\":\"150\",\"contain\":\"\",\"src\":\"/af-logo.png\"}})],1)]):_vm._e(),_c('v-main',[_c('router-view'),(!_vm.printView)?_c('FeedbackWidget'):_vm._e(),_c('Snackbar')],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasPermission('admin.feedback.create'))?_c('v-bottom-sheet',{staticStyle:{\"overflow-y\":\"scroll\"},attrs:{\"inset\":\"\",\"scrollable\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"d-print-none\",attrs:{\"fab\":\"\",\"fixed\":\"\",\"bottom\":\"\",\"right\":\"\",\"color\":\"primary\"}},on),[_c('v-icon',[_vm._v(\"feedback\")])],1)]}}],null,false,2349343098),model:{value:(_vm.feedbackDialogOpen),callback:function ($$v) {_vm.feedbackDialogOpen=$$v},expression:\"feedbackDialogOpen\"}},[_c('v-card',[_c('v-card-title',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"11\"}},[_vm._v(\" \"+_vm._s(_vm.$t('feedback.formTitle'))+\" \")]),_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"1\"}},[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.feedbackDialogOpen = false}}},[_c('v-icon',[_vm._v(\"close\")])],1)],1)],1)],1),_c('v-card-text',[_c('v-form',{ref:\"form\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('feedback.yourName'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"required\":\"\"},model:{value:(_vm.submitterName),callback:function ($$v) {_vm.submitterName=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"submitterName\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('feedback.yourEmail'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"required\":\"\"},model:{value:(_vm.submitterEmail),callback:function ($$v) {_vm.submitterEmail=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"submitterEmail\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('feedback.yourDepartment'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"required\":\"\"},model:{value:(_vm.submitterDepartment),callback:function ($$v) {_vm.submitterDepartment=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"submitterDepartment\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-select',{attrs:{\"label\":_vm.$t('feedback.type'),\"items\":[\n _vm.$t('feedback.issue'),\n _vm.$t('feedback.question'),\n _vm.$t('feedback.comment') ],\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"required\":\"\"},model:{value:(_vm.feedbackType),callback:function ($$v) {_vm.feedbackType=$$v},expression:\"feedbackType\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-textarea',{attrs:{\"filled\":\"\",\"label\":_vm.$t('details')},model:{value:(_vm.details),callback:function ($$v) {_vm.details=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"details\"}})],1)],1),_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('v-spacer'),_c('v-col',{staticClass:\"text-right\"},[_c('v-btn',{attrs:{\"loading\":_vm.pendingApi,\"disabled\":_vm.pendingApi,\"color\":\"secondary\"},on:{\"click\":_vm.submit}},[_vm._v(\" \"+_vm._s(_vm.$t('form.submit'))+\" \")])],1)],1)],1),_c('v-expansion-panels',[_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(_vm._s(_vm.$t('feedback.technicalDetails')))]),_c('v-expansion-panel-content',[_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('feedback.userAgentString'),\"value\":_vm.userAgent}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"label\":_vm.$t('feedback.currentURL'),\"value\":_vm.windowURL}})],1),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"3\",\"label\":_vm.$t('feedback.operatingSystem'),\"value\":_vm.platform}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"3\",\"label\":_vm.$t('feedback.language'),\"value\":_vm.browserLanguage}})],1),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"3\",\"label\":_vm.$t('feedback.browserName'),\"value\":_vm.browserName}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"3\",\"label\":_vm.$t('feedback.browserCodename'),\"value\":_vm.browserCodeName}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"3\",\"label\":_vm.$t('feedback.browserVersion'),\"value\":_vm.browserVersion}})],1),_c('v-row',[_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"3\",\"label\":_vm.$t('feedback.online'),\"value\":_vm.browserOnline ? _vm.$t('command.yes') : _vm.$t('command.no')}}),_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"3\",\"label\":_vm.$t('feedback.cookiesEnabled'),\"value\":_vm.cookiesEnabled ? _vm.$t('command.yes') : _vm.$t('command.no')}})],1),_c('v-row',[(_vm.user)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"3\",\"label\":_vm.$t('feedback.applicationUsername'),\"value\":_vm.user.username}}):_vm._e(),(_vm.user)?_c('LabeledData',{attrs:{\"cols\":\"12\",\"md\":\"3\",\"label\":_vm.$t('feedback.applicationEmail'),\"value\":_vm.user.email}}):_vm._e()],1)],1)],1)],1)],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from 'axios';\n\n// Usage:\n// import Github from '@/lib/github';\n// Label can be one of three options: comment, bug, question\n// Github.createIssue(\"Issue title\", \"Issue body details\", \"comment\");\n\nexport default class Github {\n static BASE_URL = 'https://api.github.com/repos/jsspaf-cms/cms2';\n\n // CMSFeedback Github user in JSSP org\n // Personal token\n static TOKEN = 'cb7f1dd6e1960efaf99a77012c26856697c37f19';\n\n static createIssue(\n title: string,\n body: string,\n label: string,\n ): Promise {\n // Milestone for \"CMS Feedback\" tracked on Github\n // TODO: move to env variables?\n const MILESTONE_ID = 2;\n\n const config = {\n method: 'post',\n baseURL: this.BASE_URL + '/issues',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `token ${this.TOKEN}`,\n },\n data: {\n title,\n body,\n milestone: MILESTONE_ID,\n labels: [label],\n },\n };\n\n return axios.post(config.baseURL, config.data, { headers: config.headers });\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { mapState, mapGetters } from 'vuex';\nimport { VForm } from '@/lib/vue-typescript';\nimport Github from '@/lib/github';\n\nimport Vue from 'vue';\nexport default Vue.extend({\n name: 'FeedbackWidget',\n data() {\n return {\n pendingApi: false,\n feedbackDialogOpen: false,\n userAgent: '',\n platform: '',\n browserCodeName: '',\n browserName: '',\n browserVersion: '',\n browserLanguage: '',\n browserOnline: false,\n cookiesEnabled: false,\n routerPath: '',\n windowURL: '',\n submitterName: '',\n submitterEmail: '',\n submitterDepartment: '',\n feedbackType: '',\n details: '',\n };\n },\n\n computed: {\n ...mapState('auth', ['user']),\n ...mapGetters('auth', ['hasPermission']),\n form(): VForm {\n return this.$refs.form as VForm;\n },\n },\n\n watch: {\n feedbackDialogOpen(val) {\n if (val) {\n this.openFeedbackDialog();\n }\n },\n },\n methods: {\n openFeedbackDialog(): void {\n this.userAgent = window.navigator.userAgent;\n this.platform = window.navigator.platform;\n this.browserCodeName = window.navigator.appCodeName;\n this.browserName = window.navigator.appName;\n this.browserVersion = window.navigator.appVersion;\n this.browserLanguage = window.navigator.language;\n this.cookiesEnabled = window.navigator.cookieEnabled;\n this.browserOnline = window.navigator.onLine;\n this.routerPath = this.$route.fullPath;\n this.windowURL = window.location.href;\n\n this.feedbackDialogOpen = true;\n },\n\n validate(): boolean {\n return this.form.validate();\n },\n\n async postFeedback(): Promise {\n const title = this.generateTitle();\n const body = this.generateBody();\n const label = this.generateLabel();\n\n try {\n await Github.createIssue(title, body, label);\n } catch (err) {\n console.error('There was a problem creating a Github issue: ' + err);\n }\n },\n async submit(): Promise {\n if (!this.validate()) {\n return;\n }\n\n this.pendingApi = true;\n try {\n await this.postFeedback();\n this.$store.dispatch(\n 'application/showSnackbarSuccess',\n this.$t('feedback.apiSuccess'),\n );\n this.feedbackDialogOpen = false;\n this.pendingApi = false;\n } catch (e) {\n this.$store.dispatch(\n 'application/showSnackbarError',\n this.$t('feedback.apiFail'),\n );\n this.pendingApi = false;\n }\n },\n\n generateTitle(): string {\n return `${this.generateLabel()} at ${this.windowURL}`;\n },\n\n generateBody(): string {\n let userID = 'Unknown; not logged in';\n let userName = 'Unknown; not logged in';\n let userEmail = 'Unknown; not logged in';\n\n if (this.user) {\n userID = this.user.id;\n userName = this.user.username;\n userEmail = this.user.email;\n }\n\n let detailsString = '[No details supplied]';\n if (this.details) {\n detailsString = `\n## Feedback Details From User\n\n\"\"\"\n${this.details}\n\"\"\"\n `;\n }\n\n const body = `\n# ${this.generateLabel()} on ${this.windowURL}\n\n${detailsString}\n\n---\n\nEncountered at ${this.windowURL}\n\n## User Information\n\n**Automatically Collected**\n- CMS Username: ${userName}\n- CMS Email: ${userEmail}\n- CMS User ID: ${userID}\n\n**Self-Reporting as**\n- Name: ${this.submitterName}\n- Email: ${this.submitterEmail}\n- Department: ${this.submitterDepartment}\n\n## Browser Stats\n\n- **User Agent String**: ${this.userAgent}\n- **Operating System**: ${this.platform}\n- **Language**: ${this.browserLanguage}\n- **Name**: ${this.browserName}\n- **Codename**: ${this.browserCodeName}\n- **Version**: ${this.browserVersion}\n- **Was Online?**: ${this.browserOnline ? 'Yes' : 'No'}\n- **Cookies Enabled?**: ${this.cookiesEnabled ? 'Yes' : 'No'}\n `;\n return body;\n },\n\n generateLabel(): string {\n // TODO: change when using translated labels\n return this.feedbackType.toLowerCase();\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeedbackWidget.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeedbackWidget.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FeedbackWidget.vue?vue&type=template&id=18c59874&\"\nimport script from \"./FeedbackWidget.vue?vue&type=script&lang=ts&\"\nexport * from \"./FeedbackWidget.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBottomSheet } from 'vuetify/lib/components/VBottomSheet';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBottomSheet,VBtn,VCard,VCardText,VCardTitle,VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VForm,VIcon,VRow,VSelect,VSpacer,VTextField,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"value\":_vm.locale,\"items\":_vm.languages,\"item-text\":\"name\",\"item-value\":\"locale\"},on:{\"change\":_vm.userChangedLanguage}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nexport default Vue.extend({\n created() {\n if (this.$vuetify) {\n this.$vuetify.rtl = this.languageIsRTL;\n }\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['languages', 'languageIsRTL']),\n },\n\n methods: {\n userChangedLanguage(newLocale: string): void {\n this.$store.commit('language/setLocale', newLocale);\n\n if (this.$vuetify) {\n this.$vuetify.rtl = this.languageIsRTL;\n }\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LanguageSelector.vue?vue&type=template&id=7aa431eb&\"\nimport script from \"./LanguageSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./LanguageSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-list',{attrs:{\"dense\":\"\",\"nav\":\"\"}},[(_vm.settings.showSampleCases && _vm.hasPermission('menu.examples'))?_c('SampleCaseNav'):_vm._e(),_c('PrimaryDetectionNav'),_c('PrimaryInvestigationNav'),_c('PrimaryCourtNav'),_c('PrimaryPrisonNav'),_c('PrimaryAdministrationNav'),_c('v-list-item',{staticClass:\"mt-10\",on:{\"click\":_vm.logout}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-sign-out-alt\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('menu.signOut'))+\" \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-list-item',{attrs:{\"to\":{ path: '/dossiers/1' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('dossier.exampleCriminal'))+\" #1 \")])],1)],1),_c('v-list-item',{attrs:{\"to\":{ path: '/dossiers/2' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('dossier.exampleCivil'))+\" #2 \")])],1)],1),_c('v-list-item',{attrs:{\"to\":{ path: '/dossiers/3' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('dossier.exampleCriminal'))+\" #3 \")])],1)],1),_c('v-list-item',{attrs:{\"to\":{ path: '/dossiers/4' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('dossier.exampleCivil'))+\" #4 \")])],1)],1),_c('v-list-item',{attrs:{\"to\":{ path: '/dossiers/5' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('dossier.exampleCriminal'))+\" #5 \")])],1)],1),_c('v-list-item',{attrs:{\"to\":{ name: 'offenderProfile', params: { id: 1 } }}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('offender.exampleOffenderProfile'))+\" \")])],1)],1),_c('v-divider')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nexport default Vue.extend({});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SampleCaseNav.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SampleCaseNav.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SampleCaseNav.vue?vue&type=template&id=12d50860&\"\nimport script from \"./SampleCaseNav.vue?vue&type=script&lang=ts&\"\nexport * from \"./SampleCaseNav.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\ninstallComponents(component, {VDivider,VListItem,VListItemContent,VListItemTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport SampleCaseNav from './SampleCaseNav.vue';\nimport PrimaryDetectionNav from './PrimaryDetectionNav.vue';\nimport PrimaryInvestigationNav from './PrimaryInvestigationNav.vue';\nimport PrimaryCourtNav from './PrimaryCourtNav.vue';\nimport PrimaryPrisonNav from './PrimaryPrisonNav.vue';\nimport PrimaryAdministrationNav from './PrimaryAdministrationNav.vue';\n\nexport default Vue.extend({\n computed: {\n ...mapState('settings', ['settings']),\n ...mapGetters('auth', ['hasPermission']),\n },\n methods: {\n logout(): void {\n this.$store.dispatch('auth/logout');\n },\n },\n components: {\n SampleCaseNav,\n PrimaryCourtNav,\n PrimaryDetectionNav,\n PrimaryInvestigationNav,\n PrimaryPrisonNav,\n PrimaryAdministrationNav,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryNav.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryNav.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PrimaryNav.vue?vue&type=template&id=c23f9b60&\"\nimport script from \"./PrimaryNav.vue?vue&type=script&lang=ts&\"\nexport * from \"./PrimaryNav.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\ninstallComponents(component, {VIcon,VList,VListItem,VListItemContent,VListItemIcon,VListItemTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ma-2\"},[_c('v-snackbar',{attrs:{\"top\":_vm.isError,\"color\":_vm.snackbarColorClass,\"timeout\":_vm.timeoutTime},model:{value:(_vm.snackbarIsOpen),callback:function ($$v) {_vm.snackbarIsOpen=$$v},expression:\"snackbarIsOpen\"}},[_c('div',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(_vm.snackbarMessage)+\" \")]),_c('div',{staticClass:\"mt-2 d-flex justify-space-between\"},[(_vm.isError)?_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.back()}}},[_vm._v(\" \"+_vm._s(_vm.$t('menu.back'))+\" \")]):_vm._e(),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.closeSnackbar}},[_vm._v(\" \"+_vm._s(_vm.$t('command.close'))+\" \")])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters, mapActions } from 'vuex';\n\nexport default Vue.extend({\n name: 'Snackbar',\n computed: {\n ...mapGetters('application', ['snackbarMessage', 'snackbarColorClass']),\n snackbarIsOpen: {\n // This needs to be a separate get/set computed property to allow the\n // timeout prop on v-snackbar to properly set open/closed\n get(): boolean {\n return this.$store.getters['application/snackbarIsOpen'];\n },\n set(open): void {\n if (!open) {\n this.$store.dispatch('application/closeSnackbar');\n }\n },\n },\n timeoutTime() {\n return this.snackbarColorClass === 'error' ? -1 : 500;\n },\n isError() {\n return this.snackbarColorClass === 'error';\n },\n },\n methods: {\n ...mapActions('application', [\n 'showSnackbarSuccess',\n 'showSnackbarError',\n 'showSnackbarInfo',\n 'closeSnackbar',\n ]),\n back() {\n history.back();\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Snackbar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Snackbar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Snackbar.vue?vue&type=template&id=8e8f5e6c&\"\nimport script from \"./Snackbar.vue?vue&type=script&lang=ts&\"\nexport * from \"./Snackbar.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\ninstallComponents(component, {VBtn,VSnackbar})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport axios from 'axios';\n\nimport FeedbackWidget from '@/components/nav/FeedbackWidget.vue';\nimport LanguageSelector from '@/components/nav/LanguageSelector.vue';\nimport PrimaryNav from '@/components/nav/PrimaryNav.vue';\nimport Snackbar from '@/components/nav/Snackbar.vue';\n\nimport { mapState } from 'vuex';\n\nexport default Vue.extend({\n name: 'App',\n created() {\n Promise.all([\n // Load settings and translations\n this.$store.dispatch('language/initializeLocale'),\n this.$store.dispatch('settings/fetchSettings'),\n\n // Load service options (dropdowns, etc)\n this.$store.dispatch('user/fetchOptions'),\n this.$store.dispatch('crime/fetchOptions'),\n this.$store.dispatch('corpus/fetchCorpora'),\n this.$store.dispatch('crime/fetchCrimes'),\n this.$store.dispatch('offender/fetchOptions'),\n this.$store.dispatch('profile/fetchOptions'),\n this.$store.dispatch('court/fetchOptions'),\n this.$store.dispatch('court/fetchCourts'),\n this.$store.dispatch('investigation/fetchDepartments'),\n this.$store.dispatch('court/fetchJudges'),\n this.$store.dispatch('investigation/fetchPardonDecrees'),\n this.$store.dispatch('geography/fetchGeographies'),\n this.$store.dispatch('housing/fetchFacilities'),\n ]).then(() => {\n this.initialized = true;\n });\n\n this.fetchBuildDate();\n },\n\n data() {\n return {\n initialized: false,\n drawer: null,\n buildTimestamp: '',\n commitHash: '',\n };\n },\n\n computed: {\n ...mapState('auth', ['user']),\n printView(): boolean {\n return this.$route && this.$route.meta?.printView;\n },\n },\n\n methods: {\n async fetchBuildDate() {\n try {\n const response = await axios.get('/build.json');\n this.buildTimestamp = _.get(response, 'data.buildTimestamp');\n this.commitHash = _.get(response, 'data.commitHash');\n } catch (error) {\n console.error(error);\n }\n },\n },\n\n components: {\n FeedbackWidget,\n LanguageSelector,\n PrimaryNav,\n Snackbar,\n },\n});\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js??ref--14-1!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js??ref--14-1!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=f69cd1c6&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VApp,VAppBar,VAppBarNavIcon,VCol,VContainer,VList,VListItem,VListItemContent,VListItemTitle,VMain,VNavigationDrawer,VProgressLinear,VRow,VSpacer,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-text-field',{class:{ AFNCurrencyReadOnly: _vm.readonly },attrs:{\"label\":_vm.label,\"hint\":_vm.$t('command.afghaniCurrency'),\"rules\":_vm.rules,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"hide-details\":_vm.readonly || _vm.hideDetails,\"single-line\":_vm.singleLine,\"dense\":_vm.dense,\"prefix\":\"🇦🇫\"},on:{\"input\":function($event){return _vm.updateValue()}},model:{value:(_vm.displayedValue),callback:function ($$v) {_vm.displayedValue=$$v},expression:\"displayedValue\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nexport default Vue.extend({\n props: {\n value: {\n type: Number,\n },\n rules: {\n type: Array,\n default: () => [],\n },\n label: {\n type: String,\n },\n disabled: {\n type: Boolean,\n },\n readonly: {\n type: Boolean,\n },\n hideDetails: {\n type: Boolean,\n },\n singleLine: {\n type: Boolean,\n },\n dense: {\n type: Boolean,\n },\n },\n created() {\n // Force the value-change translation to happen\n // upon initial display\n this.valueChangedFromOutside(this.value);\n },\n data() {\n return {\n realValue: null as number | null,\n displayedValue: null as string | null,\n };\n },\n watch: {\n value(newValue: number) {\n this.valueChangedFromOutside(newValue);\n },\n },\n methods: {\n valueChangedFromOutside(newValue: number) {\n if (newValue) {\n this.realValue = parseInt(newValue.toString(), 10);\n this.displayedValue = (this.realValue / 100).toLocaleString('en-US');\n } else {\n this.displayedValue = null;\n this.realValue = null;\n }\n },\n updateValue(): void {\n if (!this.displayedValue) {\n this.realValue = null;\n } else {\n this.realValue = Math.round(\n parseFloat(this.displayedValue.replace(/[^\\d.]/g, '')) * 100.0,\n );\n }\n this.$emit('input', this.realValue);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AFNCurrencyField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AFNCurrencyField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AFNCurrencyField.vue?vue&type=template&id=44b12af2&\"\nimport script from \"./AFNCurrencyField.vue?vue&type=script&lang=ts&\"\nexport * from \"./AFNCurrencyField.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AFNCurrencyField.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_vm._v(\"🇦🇫 \"+_vm._s(_vm.formatAFN))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\nimport Vue from 'vue';\n\nexport default Vue.extend({\n props: {\n value: Number,\n },\n computed: {\n /**\n * formatAFN converts the value prop from Puls to AFN and performs an\n * Internationalized number format on it.\n */\n formatAFN(): string {\n return new Intl.NumberFormat().format(this.value / 100);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AFNDisplay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AFNDisplay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AFNDisplay.vue?vue&type=template&id=a45ad56c&\"\nimport script from \"./AFNDisplay.vue?vue&type=script&lang=ts&\"\nexport * from \"./AFNDisplay.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[(_vm.prefix)?_c('span',{staticClass:\"prefix\"},[_vm._v(_vm._s(_vm.prefix))]):_vm._e(),(_vm.ageInYears)?_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.ageInYears))]):_vm._e(),(_vm.suffix)?_c('span',{staticClass:\"suffix\"},[_vm._v(\" \"+_vm._s(_vm.suffix))]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport moment from 'moment';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\n\nexport default Vue.extend({\n props: {\n birthdate: String,\n isApproximate: Boolean,\n noPrefix: Boolean,\n noSuffix: Boolean,\n },\n computed: {\n ageInYears(): number {\n if (!this.birthdate) {\n return 0;\n }\n const age = moment().diff(this.birthdate, 'years');\n if (age < 1) {\n return 0;\n }\n return age;\n },\n prefix(): string {\n if (this.noPrefix) {\n return '';\n }\n if (this.isApproximate && this.ageInYears > 0) {\n return '~';\n }\n return '';\n },\n suffix(): string {\n if (this.noSuffix) {\n return '';\n }\n if (this.ageInYears > 0) {\n return i18n.t('time.years').toString();\n }\n return '';\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgeDisplay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgeDisplay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgeDisplay.vue?vue&type=template&id=3d6c5bf3&\"\nimport script from \"./AgeDisplay.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgeDisplay.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"overlay-opacity\":0.65,\"title\":_vm.$t('attachment.singular'),\"saving\":_vm.uploadStarted,\"max-width\":\"600px\",\"persistent\":\"\"},on:{\"reset\":_vm.reset,\"save\":_vm.save},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-file-input',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.file),expression:\"!file\"}],attrs:{\"label\":_vm.$t('attachment.choose'),\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"change\":function($event){return _vm.filePicked()}},model:{value:(_vm.file),callback:function ($$v) {_vm.file=$$v},expression:\"file\"}})],1),_c('v-col',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.file),expression:\"file\"}],attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"disabled\":\"\",\"label\":_vm.$t('attachment.fileNameOriginal'),\"prepend-icon\":_vm.icon},model:{value:(_vm.fileNameOriginal),callback:function ($$v) {_vm.fileNameOriginal=$$v},expression:\"fileNameOriginal\"}})],1),_c('v-col',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.file),expression:\"file\"}],attrs:{\"cols\":\"12\"}},[_c('v-text-field',{ref:\"label\",attrs:{\"label\":_vm.$t('attachment.label')},model:{value:(_vm.label),callback:function ($$v) {_vm.label=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"label\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.uploadStarted)?_c('v-progress-linear',{attrs:{\"color\":\"accent\"},model:{value:(_vm.percentUploaded),callback:function ($$v) {_vm.percentUploaded=$$v},expression:\"percentUploaded\"}}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport attachmentAPI from '@/vuex/attachment/attachmentAPI';\n\nexport default Vue.extend({\n props: {\n entityType: String,\n entityID: Number,\n location: String,\n value: Boolean,\n },\n\n created() {\n this.isOpen = this.value;\n },\n\n data() {\n return {\n error: null as any,\n file: null as File | null,\n isOpen: false,\n label: '',\n percentUploaded: 0.0,\n mimeType: '',\n fileNameOriginal: '',\n uploadStarted: false,\n uploadResponse: null,\n };\n },\n\n watch: {\n value(nowOpen: boolean): void {\n this.isOpen = nowOpen;\n },\n isOpen(nowOpen: boolean): void {\n this.$emit('input', nowOpen);\n },\n },\n\n computed: {\n /**\n * icon computes the FontAwesome icon name to indicate what type of file\n * was uploaded.\n */\n icon(): string {\n if (this.mimeType.search('image') === 0) {\n return 'fa-file-image';\n }\n if (this.mimeType.search('application/pdf') === 0) {\n return 'fa-file-pdf';\n }\n if (\n this.mimeType.search('spreadsheet') > 0 ||\n this.mimeType.search('excel') > 0\n ) {\n return 'fa-file-excel';\n }\n if (this.mimeType.search('word') > 0) {\n return 'fa-file-word';\n }\n return 'fa-file';\n },\n },\n\n methods: {\n /**\n * filePicked is the event handler which triggers when the user selects\n * a file in the file picker UI widget\n */\n filePicked(): void {\n if (this.file) {\n this.label = this.fileNameToLabel(this.file.name);\n this.mimeType = this.file.type;\n this.fileNameOriginal = this.file.name;\n this.$nextTick(() => {\n // Since the label doesn't appear until after the file is picked,\n // we need to wait a beat before focusing the label editing field\n (this.$refs.label as any).focus();\n });\n }\n },\n\n /**\n * reset is the handler for CMSFormDialog's reset event.\n * We use it to reset the dialog to its default state.\n */\n reset(): void {\n this.fileNameOriginal = '';\n this.error = null;\n this.file = null;\n this.label = '';\n this.percentUploaded = 0.0;\n this.uploadStarted = false;\n this.mimeType = '';\n this.uploadResponse = null;\n },\n\n /**\n * save is the handler for CMSFormDialog's save event.\n * We use it to begin the upload to the server.\n */\n async save(): Promise {\n this.error = null;\n this.uploadStarted = true;\n\n try {\n // Begin the upload request and wait for the response\n const qs = [\n `entityType=${this.entityType}`,\n `entityID=${this.entityID}`,\n `location=${this.location}`,\n `label=${encodeURIComponent(this.label)}`,\n `fileNameOriginal=${encodeURIComponent(this.fileNameOriginal)}`,\n `mimeType=${this.mimeType}`,\n ];\n const response = await attachmentAPI.put(\n '/upload?' + qs.join('&'),\n this.file,\n {\n // Track real upload progress as it happens and update the\n // progress bar display.\n onUploadProgress: (evt) => {\n if (evt.lengthComputable) {\n this.percentUploaded = Math.round(\n (evt.loaded * 100) / evt.total,\n );\n }\n },\n },\n );\n\n // Update local state to store the attachment data\n const newState = response.data.data;\n this.$store.commit('attachment/setState', newState);\n this.isOpen = false;\n } catch (error) {\n this.error = error;\n } finally {\n this.uploadStarted = false;\n }\n },\n\n /**\n * fileNameToLabel is a utility function to convert a raw filename into a\n * more user friendly human name.\n */\n fileNameToLabel(fileName: string): string {\n return (fileName || '').split('.')[0].replace(/_/g, ' ').trim();\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddAttachmentDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddAttachmentDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddAttachmentDialog.vue?vue&type=template&id=f6ce86ba&\"\nimport script from \"./AddAttachmentDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddAttachmentDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VFileInput,VProgressLinear,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CMSFormDialog',{attrs:{\"add\":\"\",\"title\":_vm.$t('image.singular'),\"max-width\":\"600\",\"saveAllowed\":_vm.isSaveAllowed},on:{\"reset\":_vm.reset,\"save\":_vm.save},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_c('div',{staticClass:\"text-center\"},[_c('AttachmentImage',_vm._g({staticStyle:{\"cursor\":\"pointer\"},attrs:{\"entityType\":_vm.internalEntityType,\"entityID\":_vm.internalEntityID,\"location\":_vm.location,\"placeholder\":\"/headshot.png\"}},slotProps.on)),_c('v-btn',_vm._g({staticClass:\"mt-2\",attrs:{\"small\":\"\",\"text\":\"\"}},slotProps.on),[_vm._v(\" \"+_vm._s(_vm.$t('command.upload'))+\" \")])],1)]}}]),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('FormError',{attrs:{\"error\":_vm.error}}),_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.src)?_c('v-img',{attrs:{\"contain\":\"\",\"src\":_vm.src,\"width\":\"300\"}}):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-file-input',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.file),expression:\"!file\"}],attrs:{\"label\":_vm.$t('attachment.choose'),\"accept\":\"image/jpeg\",\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }]},on:{\"change\":function($event){return _vm.filePicked()}},model:{value:(_vm.file),callback:function ($$v) {_vm.file=$$v},expression:\"file\"}})],1),_c('v-col',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.file),expression:\"file\"}],attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"disabled\":\"\",\"label\":_vm.$t('attachment.fileNameOriginal'),\"prepend-icon\":\"fa-file-image\"},model:{value:(_vm.fileNameOriginal),callback:function ($$v) {_vm.fileNameOriginal=$$v},expression:\"fileNameOriginal\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.uploadStarted)?_c('v-progress-linear',{attrs:{\"color\":\"accent\"},model:{value:(_vm.percentUploaded),callback:function ($$v) {_vm.percentUploaded=$$v},expression:\"percentUploaded\"}}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport { AxiosResponse } from 'axios';\nimport attachmentAPI from '@/vuex/attachment/attachmentAPI';\n\nexport default Vue.extend({\n props: {\n entityType: String,\n entityID: Number,\n location: String,\n },\n\n data() {\n return {\n error: null as any,\n isOpen: false,\n file: null as File | null,\n internalEntityID: 0,\n internalEntityType: 'temp',\n label: '',\n percentUploaded: 0.0,\n mimeType: '',\n fileNameOriginal: '',\n uploadStarted: false,\n uploadResponse: null,\n };\n },\n\n computed: {\n src(): any {\n if (this.file) {\n return URL.createObjectURL(this.file);\n }\n return null;\n },\n isSaveAllowed(): boolean {\n if (!this.file) {\n return false;\n }\n if (!this.label) {\n return false;\n }\n return true;\n },\n },\n\n watch: {\n entityType: {\n immediate: true,\n handler(newVal) {\n if (newVal) {\n this.internalEntityType = newVal;\n } else {\n this.internalEntityType = 'temp';\n }\n },\n },\n entityID: {\n immediate: true,\n handler(newVal) {\n if (newVal) {\n this.internalEntityID = newVal;\n } else {\n this.internalEntityID = Math.floor(Math.random() * -999999);\n }\n },\n },\n },\n\n methods: {\n filePicked(): void {\n if (this.file) {\n this.label = this.fileNameToLabel(this.file.name);\n this.mimeType = this.file.type;\n this.fileNameOriginal = this.file.name;\n }\n },\n reset(): void {\n this.error = null;\n this.fileNameOriginal = '';\n this.file = null;\n this.label = '';\n this.percentUploaded = 0.0;\n this.uploadStarted = false;\n this.mimeType = '';\n this.uploadResponse = null;\n },\n async save(): Promise {\n const qs = [\n `entityType=${this.internalEntityType}`,\n `entityID=${this.internalEntityID}`,\n `location=${this.location}`,\n `label=${encodeURIComponent(this.label)}`,\n `fileNameOriginal=${encodeURIComponent(this.fileNameOriginal)}`,\n `mimeType=${this.mimeType}`,\n ];\n this.uploadStarted = true;\n try {\n const response = await attachmentAPI.put(\n '/upload?' + qs.join('&'),\n this.file,\n {\n onUploadProgress: (evt) => {\n if (evt.lengthComputable) {\n this.percentUploaded = Math.round(\n (evt.loaded * 100) / evt.total,\n );\n }\n },\n },\n );\n const newState = response.data.data;\n this.$store.commit('attachment/setState', newState);\n this.isOpen = false;\n } catch (error) {\n this.uploadStarted = false;\n this.error = error;\n }\n },\n /**\n * updateEntityID exists to be called externally (via a this.$refs handle\n * to an instance of this component). It is necessary because the ID of the\n * entity to which this image is attached is sometimes not known at the time\n * of upload.\n */\n async updateEntityID(entityID: number): Promise {\n const data = {\n oldEntityType: this.internalEntityType,\n newEntityType: this.internalEntityType,\n oldEntityID: this.internalEntityID,\n newEntityID: parseInt(entityID.toString(), 10),\n };\n return attachmentAPI.post('/finalize', { data });\n },\n fileNameToLabel(fileName: string): string {\n return (fileName || '').split('.')[0].replace(/_/g, ' ').trim();\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddImageAttachmentDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddImageAttachmentDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddImageAttachmentDialog.vue?vue&type=template&id=7ff09e76&\"\nimport script from \"./AddImageAttachmentDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddImageAttachmentDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCol,VFileInput,VImg,VProgressLinear,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.src)?_c('v-img',_vm._g({attrs:{\"contain\":\"\",\"width\":_vm.width,\"src\":_vm.src}},_vm.$listeners)):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Attachment } from '@/vuex/attachment/attachment';\n\nexport default Vue.extend({\n props: {\n entityType: {\n type: String,\n required: true,\n },\n entityID: Number,\n location: {\n type: String,\n required: true,\n },\n width: [String, Number],\n placeholder: String,\n },\n created() {\n this.fetchData();\n },\n data() {\n return {};\n },\n watch: {\n entityID() {\n this.fetchData();\n },\n },\n computed: {\n ...mapGetters('attachment', ['attachmentsForEntity']),\n src(): string {\n if (this.currentAttachment) {\n return this.currentAttachment.uri || '';\n }\n return this.placeholder;\n },\n currentAttachment(): Attachment | null {\n if (this.attachments.length > 0) {\n return this.attachments[0];\n }\n return null;\n },\n attachments(): Attachment[] {\n const attachments =\n this.attachmentsForEntity(\n this.entityType,\n this.entityID,\n this.location,\n ) || [];\n return _.sortBy(attachments, 'uploadedAt').reverse();\n },\n },\n methods: {\n async fetchData(): Promise {\n await this.$store.dispatch('attachment/fetchAttachments', {\n entityType: this.entityType,\n entityID: this.entityID,\n location: this.location,\n });\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttachmentImage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttachmentImage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AttachmentImage.vue?vue&type=template&id=3168908e&\"\nimport script from \"./AttachmentImage.vue?vue&type=script&lang=ts&\"\nexport * from \"./AttachmentImage.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VImg } from 'vuetify/lib/components/VImg';\ninstallComponents(component, {VImg})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.attachments.length)?_c('div',[(_vm.labelText)?_c('label',{staticClass:\"caption text-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.labelText)+\": \")]):_vm._e(),_vm._l((_vm.attachments),function(attachment){return _c('v-btn',{key:attachment.id,attrs:{\"text\":\"\",\"small\":\"\",\"color\":\"accent\"},on:{\"click\":function($event){return _vm.openDownloadLink(attachment.uri)}}},[_c('MimeTypeIcon',{attrs:{\"small\":\"\",\"left\":\"\",\"mime-type\":attachment.mimeType}}),_vm._v(\" \"+_vm._s(attachment.label)+\" \")],1)})],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-icon',{attrs:{\"color\":_vm.color,\"dark\":_vm.dark,\"dense\":_vm.dense,\"disabled\":_vm.disabled,\"large\":_vm.large,\"left\":_vm.left,\"light\":_vm.light,\"small\":_vm.small,\"xSmall\":_vm.xSmall,\"xLarge\":_vm.xLarge}},[_vm._v(\" \"+_vm._s(_vm.icon)+\" \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nexport default Vue.extend({\n props: [\n 'mimeType',\n 'color',\n 'small',\n 'large',\n 'dense',\n 'disabled',\n 'left',\n 'light',\n 'dark',\n 'xSmall',\n 'xLarge',\n ],\n computed: {\n icon(): string {\n if (this.mimeType.search('image') === 0) {\n return 'fa-file-image';\n }\n if (this.mimeType.search('application/pdf') === 0) {\n return 'fa-file-pdf';\n }\n if (\n this.mimeType.search('spreadsheet') > 0 ||\n this.mimeType.search('excel') > 0\n ) {\n return 'fa-file-excel';\n }\n if (this.mimeType.search('word') > 0) {\n return 'fa-file-word';\n }\n return 'fa-file';\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MimeTypeIcon.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MimeTypeIcon.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MimeTypeIcon.vue?vue&type=template&id=429c251a&\"\nimport script from \"./MimeTypeIcon.vue?vue&type=script&lang=ts&\"\nexport * from \"./MimeTypeIcon.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport i18n from '@/i18n';\n\nimport { mapGetters, mapState } from 'vuex';\nimport { Attachment } from '@/vuex/attachment/attachment';\n\nimport MimeTypeIcon from '@/components/global/attachments/MimeTypeIcon.vue';\n\nexport default Vue.extend({\n props: {\n entityType: {\n type: String,\n required: true,\n },\n entityID: Number,\n location: {\n type: String,\n default: '',\n },\n label: {\n type: String,\n required: false,\n },\n },\n created() {\n this.fetchData();\n },\n data() {\n return {\n adding: false,\n internalEntityID: 0,\n internalEntityType: 'temp',\n };\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('attachment', ['attachmentsForEntity']),\n labelText(): string {\n if (this.label || this.label === '') {\n return this.label;\n }\n if (this.attachments.length > 1) {\n return i18n.t('attachment.plural').toString();\n } else {\n return i18n.t('attachment.singular').toString();\n }\n },\n attachments(): Attachment[] {\n return this.attachmentsForEntity(\n this.entityType,\n this.entityID,\n this.location,\n );\n },\n },\n methods: {\n openDownloadLink(uri: string): void {\n window.open(uri, '_blank');\n },\n fetchData(): void {\n this.$store.dispatch('attachment/fetchAttachments', {\n entityType: this.entityType,\n entityID: this.entityID,\n location: this.location,\n });\n },\n },\n components: {\n MimeTypeIcon,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttachmentsLinks.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttachmentsLinks.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AttachmentsLinks.vue?vue&type=template&id=5de3d235&\"\nimport script from \"./AttachmentsLinks.vue?vue&type=script&lang=ts&\"\nexport * from \"./AttachmentsLinks.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-subheader',[_vm._v(\" \"+_vm._s(_vm.label ? _vm.label : _vm.$t('attachment.plural'))+\" \")]),_vm._l((_vm.attachments),function(attachment){return _c('v-list-item',{key:attachment.id,on:{\"click\":function($event){return _vm.openDownloadLink(attachment.uri)}}},[_c('v-list-item-action',[_c('MimeTypeIcon',{attrs:{\"color\":\"secondary\",\"mime-type\":attachment.mimeType}})],1),_c('v-list-item-title',[_vm._v(_vm._s(attachment.label))])],1)}),_c('v-list-item',{on:{\"click\":function($event){_vm.adding = true}}},[_c('v-list-item-action',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-paperclip\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t('attachment.singular'))+\" \")],1)],1)],1),_c('AddAttachmentDialog',{attrs:{\"entityType\":_vm.entityType,\"entityID\":_vm.internalEntityID,\"location\":_vm.location},model:{value:(_vm.adding),callback:function ($$v) {_vm.adding=$$v},expression:\"adding\"}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { AxiosResponse } from 'axios';\n\nimport attachmentAPI from '@/vuex/attachment/attachmentAPI';\nimport { mapGetters } from 'vuex';\nimport { Attachment } from '@/vuex/attachment/attachment';\n\nimport AddAttachmentDialog from '@/components/global/attachments/AddAttachmentDialog.vue';\nimport MimeTypeIcon from '@/components/global/attachments/MimeTypeIcon.vue';\n\nexport default Vue.extend({\n props: {\n entityType: {\n type: String,\n required: true,\n },\n entityID: Number,\n location: {\n type: String,\n default: '',\n },\n label: String,\n accept: String,\n },\n created() {\n this.fetchData();\n },\n data() {\n return {\n adding: false,\n internalEntityID: 0,\n internalEntityType: 'temp',\n };\n },\n computed: {\n ...mapGetters('attachment', ['attachmentsForEntity']),\n attachments(): Attachment[] {\n return this.attachmentsForEntity(\n this.internalEntityType,\n this.internalEntityID,\n this.location,\n );\n },\n },\n watch: {\n entityType: {\n immediate: true,\n handler(newVal) {\n if (newVal) {\n this.internalEntityType = newVal;\n } else {\n this.internalEntityType = 'temp';\n }\n },\n },\n entityID: {\n immediate: true,\n handler(newVal) {\n if (newVal) {\n this.internalEntityID = newVal;\n } else {\n this.internalEntityID = Math.floor(Math.random() * -999999);\n }\n },\n },\n },\n methods: {\n async updateEntityID(entityID: number): Promise {\n const data = {\n oldEntityType: this.internalEntityType,\n newEntityType: this.internalEntityType,\n oldEntityID: this.internalEntityID,\n newEntityID: parseInt(entityID.toString(), 10),\n };\n return attachmentAPI.post('/finalize', { data });\n },\n openDownloadLink(uri: string) {\n window.open(uri, '_blank');\n },\n fetchData(): void {\n this.$store.dispatch('attachment/fetchAttachments', {\n entityType: this.entityType,\n entityID: this.entityID,\n location: this.location,\n });\n },\n },\n components: {\n AddAttachmentDialog,\n MimeTypeIcon,\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttachmentsList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttachmentsList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AttachmentsList.vue?vue&type=template&id=11415b66&\"\nimport script from \"./AttachmentsList.vue?vue&type=script&lang=ts&\"\nexport * from \"./AttachmentsList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\ninstallComponents(component, {VIcon,VList,VListItem,VListItemAction,VListItemContent,VListItemTitle,VSubheader})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.display)?_c('span',[_vm._v(_vm._s(_vm.display))]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport moment from 'moment';\nimport jmoment from 'moment-jalaali';\nimport Vue from 'vue';\nimport i18n from '@/i18n';\n\nimport { toLocalizedDate } from '@/lib/dates';\n\nexport default Vue.extend({\n props: {\n birthdate: String,\n isApproximate: Boolean,\n },\n computed: {\n display(): string {\n if (!this.birthdate) {\n return '';\n }\n if (this.isApproximate) {\n return this.yearDisplay;\n }\n return this.dateDisplay;\n },\n yearDisplay(): string {\n if (i18n.locale === 'en') {\n const m = moment(String(this.birthdate), 'YYYY-MM-DD');\n return m.format('YYYY');\n }\n const j = jmoment(String(this.birthdate), 'YYYY-MM-DD');\n return j.format('jYYYY');\n },\n\n dateDisplay(): string {\n return toLocalizedDate(this.birthdate);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BirthdateDisplay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BirthdateDisplay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BirthdateDisplay.vue?vue&type=template&id=70dca9bc&\"\nimport script from \"./BirthdateDisplay.vue?vue&type=script&lang=ts&\"\nexport * from \"./BirthdateDisplay.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"px-4\",attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('IntField',{attrs:{\"label\":_vm.$t('person.age'),\"rules\":_vm.ageRules,\"readonly\":_vm.readonly,\"disabled\":_vm.ageDisabled},model:{value:(_vm.age),callback:function ($$v) {_vm.age=$$v},expression:\"age\"}})],1),_c('v-col',{staticClass:\"px-2\",attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('person.birthdateKnown')},model:{value:(_vm.dateKnown),callback:function ($$v) {_vm.dateKnown=$$v},expression:\"dateKnown\"}})],1),_c('v-col',{staticClass:\"px-4\",attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('LocaleDateEntry',{attrs:{\"label\":_vm.$t('person.birthdayDate'),\"past-dates-only\":\"\",\"rules\":_vm.dateRules,\"readonly\":_vm.readonly,\"disabled\":_vm.dateDisabled},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport jmoment from 'moment-jalaali';\nimport moment from 'moment';\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\n\nexport default Vue.extend({\n props: {\n value: String,\n isApproximate: Boolean,\n required: Boolean,\n readonly: Boolean,\n disabled: Boolean,\n },\n created() {\n this.date = this.value;\n this.dateKnown = !this.isApproximate;\n },\n data(): any {\n return {\n age: 0,\n dateKnown: false,\n date: '',\n };\n },\n watch: {\n value(newValue: string): void {\n this.date = newValue;\n },\n isApproximate(newApproximate: boolean): void {\n this.dateKnown = !newApproximate;\n },\n /**\n * age is watched so that we can update the date to an approximate date from\n * that year, but only if it's not already set to a date in the correct year.\n */\n age(): void {\n if (this.age !== this.ageFromDate(this.date)) {\n this.dateKnown = false;\n this.date = this.dateFromAge(this.age);\n }\n },\n date(): void {\n if (this.age !== this.ageFromDate(this.date)) {\n this.age = this.ageFromDate(this.date);\n }\n this.$emit('input', this.date);\n },\n dateKnown(): void {\n this.$emit('approximateChanged', !this.dateKnown);\n },\n },\n computed: {\n /**\n * ageDisabled determines when the age field is allowed to be edited\n */\n ageDisabled(): boolean {\n if (this.disabled) {\n return true;\n }\n return this.dateKnown;\n },\n\n /**\n * dateDisabled determins when the date field is allowed to be edited.\n */\n dateDisabled(): boolean {\n if (this.disabled) {\n return true;\n }\n return !this.dateKnown;\n },\n\n ageRules(): any[] {\n if (this.required && !this.ageDisabled) {\n return [(v) => v > 0 || i18n.t('error.required')];\n }\n return [];\n },\n\n dateRules(): any[] {\n if (this.required && !this.dateDisabled) {\n return [(v) => !!v || i18n.t('error.required')];\n }\n return [];\n },\n },\n\n methods: {\n /**\n * ageFromDate is a helper function which calculates an age in years from\n * a date in the internal (gregorian) date format (YYYY-MM-DD).\n */\n ageFromDate(date: string): number {\n if (!date) {\n return 0;\n }\n const ageInYears = moment().diff(date, 'years');\n if (ageInYears < 0) {\n return 0;\n }\n return ageInYears;\n },\n\n /**\n * dateFromAge is a helper function which calculates an approximate\n * birthdate when given an age in years. The birthdate is assumed to be\n * the first of Hamal (01-01) in the Afghan Jalaali calendar, but the\n * value is returned in our native internal date format (gregorian calendar),\n * so the returned date will be on March 21st of the Gregorian year.\n *\n * In other words, this function will always return YYYY-03-21, with the\n * YYYY part determined by the supplied age in years.\n */\n dateFromAge(age: number): string {\n if (age <= 0) {\n return '';\n }\n const birthYear = jmoment().jYear() - age;\n const jBirthdate = jmoment(birthYear + '-01-01', 'jYYYY-jMM-jDD');\n return jBirthdate.format('YYYY-MM-DD');\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BirthdateSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BirthdateSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BirthdateSelector.vue?vue&type=template&id=0e1a2ec4&\"\nimport script from \"./BirthdateSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./BirthdateSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCheckbox,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"label\":_vm.label || _vm.$t('person.bloodType'),\"value\":_vm.value,\"items\":_vm.bloodTypeChoices,\"rules\":_vm.rules,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"change\":function($event){return _vm.$emit('change', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\n\nimport { VSelectItem } from '@/lib/vue-typescript';\nimport { TAll, TUnknown } from '@/lib/translated';\n\nexport default Vue.extend({\n props: {\n value: String,\n label: String,\n rules: Array,\n disabled: Boolean,\n readonly: Boolean,\n zeroLabel: String,\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapState('profile', ['bloodTypes']),\n /**\n * bloodTypeChoices translates the raw array of blood types (\n * which includes 'Unknown' and English-character labels of the\n * types... like AB+, O-, etc) into a VSelectItem for the v-select.\n *\n * We translate the Unknown item on the fly into Dari here.\n */\n bloodTypeChoices(): VSelectItem[] {\n const rawTypes = this.bloodTypes;\n return _.map(rawTypes, (t: string) => {\n const value = t;\n let text = t;\n if (t === 'Unknown' || t === '') {\n if (this.zeroLabel === 'all') {\n text = TAll[this.locale];\n } else if (this.zeroLabel === 'unknown') {\n text = TUnknown[this.locale];\n }\n }\n return { value, text };\n });\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BloodTypeSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BloodTypeSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BloodTypeSelector.vue?vue&type=template&id=c5e1f236&\"\nimport script from \"./BloodTypeSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./BloodTypeSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.internalValue == 'true')?_c('span',[_vm._v(\" \"+_vm._s(_vm.trueLabel || _vm.$t('true'))+\" \")]):(_vm.internalValue == 'false')?_c('span',[_vm._v(\" \"+_vm._s(_vm.falseLabel || _vm.$t('false'))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.unknownLabel || _vm.$t('unknown'))+\" \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n trueLabel: String,\n falseLabel: String,\n unknownLabel: String,\n },\n computed: {\n internalValue(): string {\n switch (this.value) {\n case null:\n return 'null';\n case undefined:\n return 'null';\n case false:\n return 'false';\n case true:\n return 'true';\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BooleanDisplay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BooleanDisplay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BooleanDisplay.vue?vue&type=template&id=3eb769ab&\"\nimport script from \"./BooleanDisplay.vue?vue&type=script&lang=ts&\"\nexport * from \"./BooleanDisplay.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"label\":_vm.label,\"items\":_vm.items,\"hint\":_vm.hint,\"readonly\":_vm.readonly,\"persistentHint\":_vm.persistentHint,\"rules\":_vm.rules,\"hideDetails\":_vm.hideDetails},model:{value:(_vm.internalValue),callback:function ($$v) {_vm.internalValue=$$v},expression:\"internalValue\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\nimport { TUnknown } from '@/lib/translated';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n label: String,\n unknownLabel: String,\n trueLabel: String,\n falseLabel: String,\n readonly: Boolean,\n hint: String,\n persistentHint: Boolean,\n rules: Array,\n loading: Boolean,\n hideDetails: Boolean,\n excludeUnknown: Boolean,\n },\n data() {\n return {\n internalValue: 'null',\n };\n },\n computed: {\n ...mapGetters('language', ['valueForLocale']),\n\n items(): VSelectItem[] {\n return [\n {\n text: this.unknownLabel || this.valueForLocale(TUnknown),\n value: 'null',\n },\n { text: this.trueLabel || i18n.t('true').toString(), value: 'true' },\n { text: this.falseLabel || i18n.t('false').toString(), value: 'false' },\n ];\n },\n },\n watch: {\n value: {\n immediate: true,\n handler(newVal: any) {\n switch (newVal) {\n case null:\n case undefined:\n if (this.excludeUnknown) {\n this.internalValue = 'false';\n // Correct malformatted input\n this.$emit('input', false);\n } else {\n this.internalValue = 'null';\n }\n break;\n case 'false':\n case false:\n this.internalValue = 'false';\n break;\n default:\n this.internalValue = 'true';\n }\n },\n },\n internalValue(newInternalVal: string): void {\n switch (newInternalVal) {\n case 'true':\n this.$emit('input', true);\n break;\n case 'false':\n this.$emit('input', false);\n break;\n case 'null':\n this.$emit('input', null);\n break;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BooleanSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BooleanSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BooleanSelector.vue?vue&type=template&id=5836da9d&\"\nimport script from \"./BooleanSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./BooleanSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-radio-group',{attrs:{\"label\":_vm.label,\"readonly\":_vm.readonly,\"hint\":_vm.hint,\"persistentHint\":_vm.persistentHint,\"loading\":_vm.loading,\"rules\":_vm.rules,\"hideDetails\":_vm.hideDetails,\"mandatory\":\"\",\"row\":_vm.row},model:{value:(_vm.internalValue),callback:function ($$v) {_vm.internalValue=$$v},expression:\"internalValue\"}},[(!_vm.excludeUnknown)?_c('v-radio',{attrs:{\"label\":_vm.unknownLabel || _vm.$t('unknown'),\"value\":\"null\"}}):_vm._e(),_c('v-radio',{attrs:{\"label\":_vm.falseLabel || _vm.$t('false'),\"value\":\"false\"}}),_c('v-radio',{attrs:{\"label\":_vm.trueLabel || _vm.$t('true'),\"value\":\"true\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nexport default Vue.extend({\n props: {\n value: Boolean,\n label: String,\n unknownLabel: String,\n trueLabel: String,\n falseLabel: String,\n readonly: Boolean,\n hint: String,\n persistentHint: Boolean,\n rules: Array,\n loading: Boolean,\n hideDetails: Boolean,\n excludeUnknown: Boolean,\n row: Boolean,\n },\n data() {\n return {\n /**\n * internalValue always holds a string, regardless of the type of the\n * external value. This helps us data-bind to a 3-value boolean field\n * (one which can be null, false, or true).\n */\n internalValue: 'null',\n };\n },\n computed: {},\n watch: {\n value: {\n immediate: true,\n handler(newVal: any): void {\n switch (newVal) {\n case null:\n case undefined:\n if (this.excludeUnknown) {\n this.internalValue = 'false';\n // Correct malformatted input\n this.$emit('input', false);\n } else {\n this.internalValue = 'null';\n }\n break;\n case 'false':\n case false:\n this.internalValue = 'false';\n break;\n default:\n this.internalValue = 'true';\n }\n },\n },\n internalValue(newInternalVal: string): void {\n switch (newInternalVal) {\n case 'true':\n this.$emit('input', true);\n break;\n case 'false':\n this.$emit('input', false);\n break;\n case 'null':\n this.$emit('input', null);\n break;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BooleanRadioButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BooleanRadioButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BooleanRadioButton.vue?vue&type=template&id=2a630e76&\"\nimport script from \"./BooleanRadioButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./BooleanRadioButton.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\ninstallComponents(component, {VRadio,VRadioGroup})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":_vm.maxWidth,\"persistent\":!_vm.notPersistent,\"fullscreen\":_vm.fullscreen,\"scrollable\":!_vm.notScrollable,\"overlay-opacity\":_vm.overlayOpacity},scopedSlots:_vm._u([(!_vm.noActivator)?{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",function(){return [(_vm.add)?_c('v-btn',_vm._g({attrs:{\"fab\":\"\",\"absolute\":\"\",\"bottom\":\"\",\"x-small\":_vm.xSmall,\"small\":_vm.small,\"large\":_vm.large,\"color\":\"accent\"}},slotProps.on),[_c('v-icon',{attrs:{\"x-small\":_vm.xSmall,\"small\":_vm.small,\"large\":_vm.large}},[_vm._v(\" fa-plus \")])],1):_vm._e(),(_vm.remove || _vm.edit)?_c('v-btn',_vm._g({attrs:{\"icon\":\"\",\"x-small\":_vm.xSmall,\"small\":_vm.small,\"medium\":_vm.medium,\"large\":_vm.large}},slotProps.on),[(_vm.edit)?_c('v-icon',{attrs:{\"x-small\":_vm.xSmall,\"small\":_vm.small,\"medium\":_vm.medium,\"large\":_vm.large}},[_vm._v(\" fa-pencil-alt \")]):_vm._e(),(_vm.remove)?_c('v-icon',{attrs:{\"x-small\":_vm.xSmall,\"small\":_vm.small,\"medium\":_vm.medium,\"large\":_vm.large}},[_vm._v(\" fa-trash-alt \")]):_vm._e()],1):_vm._e()]},null,slotProps)]}}:null],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.save.apply(null, arguments)}}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":_vm.color || 'secondary'},scopedSlots:_vm._u([(_vm.$slots.extension)?{key:\"extension\",fn:function(){return [_vm._t(\"extension\")]},proxy:true}:null],null,true)},[_c('v-toolbar-title',[(_vm.add)?_c('v-icon',[_vm._v(\"fa-plus\")]):_vm._e(),(_vm.edit)?_c('v-icon',[_vm._v(\"fa-pencil-alt\")]):_vm._e(),(_vm.remove)?_c('v-icon',[_vm._v(\"fa-trash-alt\")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.title)+\" \")],1),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":_vm.cancel}},[_c('v-icon',[_vm._v(\"fa-times-circle\")])],1)],1),_c('v-card-text',[(!_vm.loading)?_vm._t(\"default\"):_vm._e(),(_vm.loading)?_c('v-progress-linear',{staticClass:\"my-6\",attrs:{\"indeterminate\":\"\"}}):_vm._e()],2),_c('v-divider'),(!_vm.noActions)?_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"small\":\"\",\"text\":\"\",\"color\":\"error\"},on:{\"click\":_vm.cancel}},[_vm._v(\" \"+_vm._s(_vm.$t('command.cancel'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"accent\",\"type\":\"submit\",\"loading\":_vm.saving}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-save\")]),_vm._v(\" \"+_vm._s(_vm.$t('command.save'))+\" \")],1)],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport { VForm } from '@/lib/vue-typescript';\n\nexport default Vue.extend({\n props: {\n value: Boolean,\n add: Boolean,\n edit: Boolean,\n remove: Boolean,\n title: String,\n color: String,\n loading: Boolean,\n saving: Boolean,\n buttonSize: {\n type: String,\n default: '',\n },\n maxWidth: {\n type: [String, Number],\n default: 800,\n },\n fullscreen: {\n type: Boolean,\n default: false,\n },\n notPersistent: {\n type: Boolean,\n default: false,\n },\n notScrollable: {\n type: Boolean,\n default: false,\n },\n noActions: {\n type: Boolean,\n default: false,\n },\n noActivator: {\n type: Boolean,\n default: false,\n },\n overlayOpacity: { type: Number, default: 0.46 },\n },\n created() {\n this.isOpen = this.value;\n },\n data() {\n return {\n isOpen: false,\n };\n },\n computed: {\n // xSmall is the default size when the consumer doesn't supply a size,\n // but they do indicate this is an edit or remove form dialog\n xSmall(): boolean {\n if (this.buttonSize === 'x-small' || this.buttonSize === 'xSmall') {\n return true;\n }\n if (this.buttonSize === '') {\n return this.edit || this.remove;\n }\n return false;\n },\n small(): boolean {\n return this.buttonSize === 'small';\n },\n // medium is the default size when the consumer doesn't supply a size\n // but they indicate this is an add form dialog\n medium(): boolean {\n if (this.buttonSize === 'medium') {\n return true;\n }\n if (this.buttonSize === '') {\n return this.add;\n }\n return false;\n },\n large(): boolean {\n return this.buttonSize === 'large';\n },\n xLarge(): boolean {\n return this.buttonSize === 'x-large' || this.buttonSize === 'xLarge';\n },\n },\n watch: {\n value(nowOpen: boolean): void {\n this.isOpen = nowOpen;\n },\n isOpen(nowOpen: boolean): void {\n if (nowOpen) {\n this.reset();\n this.focus();\n }\n this.$emit('input', nowOpen);\n },\n },\n methods: {\n /**\n * focus searches the child HTML elements of the dialog, and focuses the\n * first non-hidden, non-disabled element that it finds.\n */\n focus(): void {\n this.$nextTick(() => {\n const form = this.$refs.form as any;\n if (!form) {\n return;\n }\n const el = form.$el;\n if (!el || !el.querySelector) {\n return;\n }\n if (el.querySelector) {\n const searches = [\n 'input:not([type=hidden]):not([disabled]):not([readonly])',\n 'textarea:not([type=hidden]):not([disabled]):not([readonly])',\n ];\n const firstInput = form.$el.querySelector(searches.join(','));\n if (firstInput && firstInput.focus && firstInput.select) {\n setTimeout(() => {\n firstInput.focus();\n firstInput.select();\n }, 0);\n }\n }\n });\n },\n reset(): void {\n const form = this.$refs.form as VForm;\n if (form) {\n form.resetValidation();\n }\n this.$emit('reset');\n },\n cancel(): void {\n this.$emit('cancel');\n this.isOpen = false;\n },\n close(): void {\n this.isOpen = false;\n },\n save(): void {\n const form = this.$refs.form as VForm;\n if (!form.validate()) {\n return;\n }\n this.$emit('save');\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CMSFormDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CMSFormDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CMSFormDialog.vue?vue&type=template&id=160e2328&\"\nimport script from \"./CMSFormDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./CMSFormDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VDialog,VDivider,VForm,VIcon,VProgressLinear,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-btn',{attrs:{\"color\":_vm.color,\"icon\":_vm.icon,\"absolute\":_vm.absolute,\"top\":_vm.top,\"right\":_vm.right,\"bottom\":_vm.bottom,\"left\":_vm.left,\"x-small\":_vm.xSmall,\"small\":_vm.small,\"large\":_vm.large,\"x-large\":_vm.xLarge,\"fab\":_vm.fab,\"text\":_vm.text},on:{\"click\":_vm.openConfirmDialog}},[_vm._t(\"default\")],2),_c('v-dialog',{attrs:{\"max-width\":\"600px\"},model:{value:(_vm.dialogOpen),callback:function ($$v) {_vm.dialogOpen=$$v},expression:\"dialogOpen\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"flat\":\"\",\"color\":_vm.toolbarColor}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.titleText)+\" \")])],1),_c('v-card-text',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._t(\"body\",function(){return [_vm._v(\" \"+_vm._s(_vm.prompt)+\" \")]})],2)],1)],1),_c('v-card-actions',[_c('v-spacer'),(!_vm.hideNo)?_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\",\"color\":_vm.noColor},on:{\"click\":function($event){return _vm.close()}}},[_vm._v(\" \"+_vm._s(_vm.noText)+\" \")]):_vm._e(),_c('v-btn',{attrs:{\"small\":\"\",\"color\":_vm.yesColor},on:{\"click\":function($event){return _vm.executeConfirm()}}},[_vm._v(\" \"+_vm._s(_vm.yesText)+\" \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nexport default Vue.extend({\n /*\n event listener required by consumer/parent:\n - '@confirm', as in @confirm=\"someFunction(someArg)\".\n this will get called in the parent if the affirmative is clicked\n optional props:\n - `confirm-if`. Optionally accepts a conditional; if the passed\n conditional is true, the confirmation will appear.\n If it's false **THE CONFIRM CALLBACK WILL EXECUTE IMMEDIATELY**.\n - `prompt`. this is techically optional, but necessary for UI-purposes. \n there is no default for prompt. It can be passed in a simple prop,\n or the `body` slot can be used for more complicated markup\n - `title`. (defaults to translated 'warning')\n - `yes`. (defaults to translated 'yes')\n - `no`. (defaults to translated 'no')\n\n slots:\n - default slot: This where the button magic happens. You can treat\n ConfirmationButton just like you would a v-btn, as far as the default\n slot (button title and icon) is concerned.\n - body slot: Used in place of 'prompt' prop if a customized\n v-card-text is desired.\n */\n props: {\n color: {\n type: String,\n default: '',\n },\n confirmIf: {\n // Pass a conditional here\n type: Boolean,\n default: true,\n },\n absolute: {\n type: Boolean,\n default: false,\n },\n top: {\n type: Boolean,\n default: false,\n },\n right: {\n type: Boolean,\n default: false,\n },\n bottom: {\n type: Boolean,\n default: false,\n },\n left: {\n type: Boolean,\n default: false,\n },\n fab: {\n type: Boolean,\n default: false,\n },\n xSmall: {\n type: Boolean,\n default: false,\n },\n small: {\n type: Boolean,\n default: false,\n },\n large: {\n type: Boolean,\n default: false,\n },\n xLarge: {\n type: Boolean,\n default: false,\n },\n icon: {\n type: Boolean,\n default: false,\n },\n text: {\n type: Boolean,\n default: false,\n },\n prompt: {\n required: false,\n type: String,\n },\n title: {\n type: String,\n },\n toolbarColor: {\n type: String,\n default: 'warning',\n },\n yes: {\n type: String,\n },\n yesColor: {\n type: String,\n default: 'accent',\n },\n no: {\n type: String,\n },\n noColor: {\n type: String,\n default: 'error',\n },\n },\n data(): any {\n return {\n dialogOpen: false,\n event: null as any,\n };\n },\n\n computed: {\n hideNo(): boolean {\n if (this.no === '') {\n return true;\n }\n return false;\n },\n\n noText(): string {\n if (this.no) {\n return this.no;\n }\n return this.$i18n.t('command.no');\n },\n\n yesText(): string {\n if (this.yes) {\n return this.yes;\n }\n return this.$i18n.t('command.yes');\n },\n\n titleText(): string {\n if (this.title) {\n return this.title;\n }\n return this.$i18n.t('uiElements.confirm.warning');\n },\n },\n\n methods: {\n openConfirmDialog(event: any): void {\n this.event = event;\n\n // display the confirm dialog unless we've been given a conditional.\n if (this.confirmIf) {\n this.dialogOpen = true;\n } else {\n this.executeConfirm(this.event);\n }\n },\n\n executeConfirm(): void {\n this.$emit(\n 'confirm',\n this.event,\n ); /* This triggers the PARENT template to call the */\n this.close(); /* function it passed as a 'confirm' prop */\n return;\n },\n\n close(): void {\n this.dialogOpen = false;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmationButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmationButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConfirmationButton.vue?vue&type=template&id=1ac1ecdf&\"\nimport script from \"./ConfirmationButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./ConfirmationButton.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCol,VDialog,VRow,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._l((_vm.items),function(item,i){return _c('span',{key:item.id},[(item.to)?_c('router-link',{attrs:{\"to\":item.to,\"exact\":\"\"}},[(item.id)?_c('CourtName',{attrs:{\"id\":item.id}}):_c('span',[_vm._v(_vm._s(_vm.$t('all')))])],1):_c('span',[_c('CourtName',{attrs:{\"id\":item.id}})],1),(i < _vm.items.length - 1)?_c('span',[_vm._v(\" / \")]):_vm._e()],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Court } from '@/vuex/court/court';\n\nexport default Vue.extend({\n props: {\n id: Number,\n to: Object,\n courtParamName: {\n type: String,\n default: 'courtID',\n },\n },\n computed: {\n ...mapGetters('court', ['courtAncestors']),\n\n ancestors(): Court[] {\n return this.courtAncestors(this.id) || [];\n },\n\n items(): any[] {\n const items = _.map(this.ancestors, (court) => {\n const item: any = Object.assign({}, court);\n if (this.to && this.id !== item.id) {\n item.to = _.cloneDeep(this.to);\n _.set(item, `to.query.${this.courtParamName}`, court.id);\n }\n return item;\n });\n\n const rootItem = { to: _.cloneDeep(this.to) };\n _.set(rootItem, `to.query.${this.courtParamName}`, 0);\n items.splice(0, 0, rootItem);\n return items;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtBreadcrumb.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtBreadcrumb.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtBreadcrumb.vue?vue&type=template&id=78c13898&\"\nimport script from \"./CourtBreadcrumb.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtBreadcrumb.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{attrs:{\"title\":_vm.title}},[_vm._v(_vm._s(_vm.full ? _vm.fullName : _vm.name))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport store from '@/vuex/store';\n\n/*\n * Batch Queue Fetcher\n * This little block of code prevents this Component from hammering the server\n * with many fetchCourt requests when it is used many times on the same\n * page. Because this function and its variables live outside the Vue component\n * scope, they are shared globally for all instances of this component.\n *\n * When this compoonent receives a new id, the watcher checks to see if that\n * Court is already in state. If it's not, instead of fetching it\n * immediately, it adds it to a queue of ids to be fetched, and then triggers\n * a debounced function which will perform the actual API call to fetch the\n * queued batch of IDs. The debounce guarantees that the fetch happens only\n * once every N milliseconds. This way when many components appear on the\n * screen in quick succession, we only hit the server once to get the missing\n * Courts.\n */\nconst maxFetchDelayMs = 200;\nlet loading = false;\nconst fetchQueue: number[] = [];\nconst fetcher = _.debounce(async () => {\n const ids = _.chain(fetchQueue).compact().uniq().value();\n fetchQueue.splice(0, fetchQueue.length); // Empty the queue\n await store.dispatch('court/fetchCourt', ids);\n loading = false;\n}, maxFetchDelayMs);\n\nexport default Vue.extend({\n props: {\n id: Number,\n full: Boolean,\n },\n computed: {\n ...mapGetters('court', ['courtName', 'fullCourtName']),\n ...mapState('court', ['court']),\n\n name(): string {\n const name = this.courtName(this.id);\n return this.exists ? name : loading ? '' : name;\n },\n\n fullName(): string {\n const fullName = this.fullCourtName(this.id);\n return this.exists ? fullName : loading ? '' : fullName;\n },\n\n title(): string {\n return this.name === this.fullName ? '' : this.fullName;\n },\n\n exists(): boolean {\n return !!this.court[this.id];\n },\n },\n watch: {\n id: {\n immediate: true,\n handler(courtID: number) {\n if (!courtID) {\n // No need to queue a fetch for the Unknown geography\n return;\n }\n\n if (!this.court[courtID]) {\n // Enqueue and fetch missing Geography IDs\n fetchQueue.push(courtID);\n loading = true;\n fetcher();\n }\n },\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtName.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtName.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CourtName.vue?vue&type=template&id=5bbbf309&\"\nimport script from \"./CourtName.vue?vue&type=script&lang=ts&\"\nexport * from \"./CourtName.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"cmsdate\"},[_vm._v(\" \"+_vm._s(_vm.datePart)+\" \"),(_vm.showTime)?_c('span',{staticClass:\"cmstime\"},[_vm._v(\" \"+_vm._s(_vm.timePart)+\" \")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport { toLocalizedTime, toLocalizedDate } from '@/lib/dates';\n\nexport default Vue.extend({\n props: {\n /**\n * value is the property which accepts the date/datetime value to be\n * formatted. It is expected to be an ISO 8601-formatted date.\n */\n value: String,\n\n /**\n * showTime canbe set to true if the time part is desired\n */\n showTime: Boolean,\n },\n\n computed: {\n /**\n * datePart computes the locale-specific date format to display\n */\n datePart(): string {\n return toLocalizedDate(this.value, false);\n },\n\n /**\n * timePart computes the locale-specific time format to display\n */\n timePart(): string {\n return toLocalizedTime(this.value);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Date.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Date.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Date.vue?vue&type=template&id=51cd9aba&\"\nimport script from \"./Date.vue?vue&type=script&lang=ts&\"\nexport * from \"./Date.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"label\":_vm.label,\"value\":_vm.value,\"items\":_vm.dayChoices},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: Number,\n },\n\n computed: {\n /**\n * dayChoices builds the options for the dropdown which lets the user\n * select which date range of dispositions they'd like the report to work\n * over.\n */\n dayChoices(): VSelectItem[] {\n const dayOptions = [7, 30, 60, 90, 365];\n const choices = _.map(dayOptions, (days) => {\n return {\n text: `${days} ${i18n.t('time.days')}`,\n value: days,\n };\n });\n choices.push({ text: `${i18n.t('time.allTime')}`, value: 0 });\n return choices;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaysAgoSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaysAgoSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DaysAgoSelector.vue?vue&type=template&id=4069ebcf&\"\nimport script from \"./DaysAgoSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./DaysAgoSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._l((_vm.items),function(item,i){return _c('span',{key:item.id,staticClass:\"d-inline-block\"},[(\n item.to && _vm.hasPermission('dashboard.detection', 'department', item.id)\n )?_c('div',[_c('router-link',{attrs:{\"to\":item.to,\"exact\":\"\"}},[(item.id)?_c('DepartmentName',{attrs:{\"id\":item.id}}):_c('span',[_vm._v(_vm._s(_vm.$t('all')))])],1),(i < _vm.items.length - 1)?_c('span',{staticClass:\"pr-2\"},[_vm._v(\" / \")]):_vm._e()],1):_c('div',[(item.id)?_c('DepartmentName',{attrs:{\"id\":item.id}}):_c('span',[_vm._v(_vm._s(_vm.$t('all')))]),(i < _vm.items.length - 1)?_c('span',{staticClass:\"pr-2\"},[_vm._v(\" / \")]):_vm._e()],1)])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Department } from '@/vuex/investigation/department';\n\nexport default Vue.extend({\n props: {\n id: Number,\n to: Object,\n departmentParamName: {\n type: String,\n default: 'departmentID',\n },\n },\n computed: {\n ...mapGetters('investigation', ['departmentAncestors']),\n ...mapGetters('auth', ['hasPermission']),\n\n ancestors(): Department[] {\n return this.departmentAncestors(this.id) || [];\n },\n\n items(): any[] {\n const items = _.map(this.ancestors, (dept) => {\n const item: any = Object.assign({}, dept);\n if (this.to && this.id !== item.id) {\n item.to = _.cloneDeep(this.to);\n _.set(item, `to.query.${this.departmentParamName}`, dept.id);\n }\n return item;\n });\n\n const rootItem = { to: _.cloneDeep(this.to) };\n _.set(rootItem, `to.query.${this.departmentParamName}`, 0);\n items.splice(0, 0, rootItem);\n return items;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DepartmentBreadcrumb.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DepartmentBreadcrumb.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DepartmentBreadcrumb.vue?vue&type=template&id=491885f8&\"\nimport script from \"./DepartmentBreadcrumb.vue?vue&type=script&lang=ts&\"\nexport * from \"./DepartmentBreadcrumb.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{attrs:{\"title\":_vm.title}},[_vm._v(_vm._s(_vm.full ? _vm.fullName : _vm.name))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport store from '@/vuex/store';\n\n/*\n * Batch Queue Fetcher\n * This little block of code prevents this Component from hammering the server\n * with many fetchDepartment requests when it is used many times on the same\n * page. Because this function and its variables live outside the Vue component\n * scope, they are shared globally for all instances of this component.\n *\n * When this compoonent receives a new id, the watcher checks to see if that\n * Department is already in state. If it's not, instead of fetching it\n * immediately, it adds it to a queue of ids to be fetched, and then triggers\n * a debounced function which will perform the actual API call to fetch the\n * queued batch of IDs. The debounce guarantees that the fetch happens only\n * once every N milliseconds. This way when many components appear on the\n * screen in quick succession, we only hit the server once to get the missing\n * Departments.\n */\nconst maxFetchDelayMs = 200;\nlet loading = false;\nconst fetchQueue: number[] = [];\nconst fetcher = _.debounce(async () => {\n const ids = _.chain(fetchQueue).compact().uniq().value();\n fetchQueue.splice(0, fetchQueue.length); // Empty the queue\n await store.dispatch('department/fetchDepartment', ids);\n loading = false;\n}, maxFetchDelayMs);\n\nexport default Vue.extend({\n props: {\n id: Number,\n full: Boolean,\n },\n computed: {\n ...mapGetters('investigation', ['departmentName', 'fullDepartmentName']),\n ...mapState('investigation', ['department']),\n\n name(): string {\n const name = this.departmentName(this.id);\n return this.exists ? name : loading ? '' : name;\n },\n\n fullName(): string {\n const fullName = this.fullDepartmentName(this.id);\n return this.exists ? fullName : loading ? '' : fullName;\n },\n\n title(): string {\n return this.name === this.fullName ? '' : this.fullName;\n },\n\n exists(): boolean {\n return !!this.department[this.id];\n },\n },\n watch: {\n id: {\n immediate: true,\n handler(deptID: number) {\n if (!deptID) {\n // No need to queue a fetch for the Unknown geography\n return;\n }\n\n if (!this.department[deptID]) {\n // Enqueue and fetch missing Geography IDs\n fetchQueue.push(deptID);\n loading = true;\n fetcher();\n }\n },\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DepartmentName.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DepartmentName.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DepartmentName.vue?vue&type=template&id=03c98a8a&\"\nimport script from \"./DepartmentName.vue?vue&type=script&lang=ts&\"\nexport * from \"./DepartmentName.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-caption v-label\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.label || _vm.$t('department.singular'))+\" \")]),_vm._l((_vm.dropdowns),function(choices,i){return _c('v-col',{key:i,staticClass:\"pe-2\",attrs:{\"cols\":_vm.cols}},[_c('v-autocomplete',{staticClass:\"mt-0 pt-0\",attrs:{\"value\":_vm.internalValues[i],\"items\":choices,\"clearable\":(i > 0 || _vm.clearable) &&\n i > 0 &&\n i < _vm.dropdowns.length - 1 &&\n _vm.internalValues[i] != _vm.internalValues[i - 1],\"rules\":i == _vm.dropdowns.length - 1 ? _vm.computedRules : []},on:{\"input\":function($event){return _vm.dropdownChanged(i, $event)}}})],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\n\nimport { mapGetters, mapState } from 'vuex';\nimport { Department } from '@/vuex/investigation/department';\nimport { VSelectItem } from '@/lib/vue-typescript';\nimport { TAll, TNone, TUnknown } from '@/lib/translated';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: Number,\n rules: {\n type: Array,\n default: () => [],\n },\n disabled: Boolean,\n clearable: Boolean,\n /**\n * requireLeafNode triggers a validator to force the user to select a\n * fully-qualified Department: one with no children below it.\n */\n requireLeafNode: Boolean,\n\n /**\n * zeroLabel controls how the \"blank\" or \"zero\" entry is labeled. Valid\n * choices are 'all', 'unknown'.\n */\n zeroLabel: String,\n },\n data() {\n return {\n loading: false,\n internalValues: [0],\n };\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('investigation', [\n 'departmentWithID',\n 'departmentAncestorIDs',\n 'departmentName',\n 'departmentsUnder',\n ]),\n\n /**\n * computedRules combines the user-provided rules prop with rules triggered\n * by other factors.\n */\n computedRules(): any[] {\n const rules: any[] = this.rules || [];\n if (this.requireLeafNode) {\n rules.push(this.mustBeLeafNode);\n }\n return rules;\n },\n\n /**\n * department provides convenient access to the Department entity which\n * is currently selected (the rightmost dropdown selection)\n */\n department(): Department | null {\n return this.departmentWithID(this.value) || null;\n },\n\n /**\n * dropdowns is the heart of this component. It builds an array of\n * VSelectItem[], with each one representing the choices which should be\n * in a Dropdown control presented to the user.\n */\n dropdowns(): VSelectItem[][] {\n return _.chain(this.internalValues)\n .map((id: number, index: number) => {\n const priorID = _.get(this.internalValues, index - 1);\n let parentID = id;\n const department = this.departmentWithID(id);\n if (department && priorID !== id) {\n parentID = department.parentID;\n }\n const choices = _.chain(this.departmentsUnder(parentID))\n .map((dept) => ({\n text: `${dept.name[this.locale]}`,\n value: dept.id,\n rank: dept.rank || 999999,\n }))\n .orderBy(['rank', 'text'])\n .value();\n if (!_.includes(_.map(choices, 'value'), id)) {\n choices.unshift({ text: this.zeroText, value: id, rank: 0 });\n } else {\n choices.unshift({\n text: this.zeroText,\n value: parentID,\n rank: 0,\n });\n }\n return !!choices.length ? choices : null;\n })\n .compact()\n .value();\n },\n\n /**\n * zeroText computes the text property of the dropdown entry which is the\n * \"zero\" value, which at the top level represents no Department selected,\n * and at lower levels means the parent is selected with available children,\n * but no child is yet selected. This function outputs translated values\n * of \"All\" or \"None\" depending on the setting of the zeroLabel prop.\n */\n zeroText(): string {\n if (this.zeroLabel === 'all') {\n return TAll[this.locale].toString();\n } else if (this.zeroLabel === 'none') {\n return TNone[this.locale].toString();\n }\n return TUnknown[this.locale].toString();\n },\n\n /**\n * cols computes the number of columns each dropdown should occupy. It is\n * determined based on the number of dropdowns which are needed.\n */\n cols(): number {\n const count = this.dropdowns.length;\n if (count < 2) {\n return 12;\n }\n if (count % 2 === 0 && count < 4) {\n return 12 / count;\n }\n return 4;\n },\n },\n watch: {\n /**\n * value is watched so that the internalValue can be updated to represent\n * the new externally-provided value.\n */\n value: {\n immediate: true,\n handler(newVal: number) {\n const ids = this.departmentAncestorIDs(newVal);\n const department = this.departmentWithID(newVal);\n\n if (!!department && department.childCount > 0) {\n // Add a second copy of the chosen id to occupy the\n // Unknown entry of its children.\n ids.push(newVal);\n }\n Vue.set(this, 'internalValues', ids);\n },\n },\n },\n methods: {\n /**\n * mustBeLeafNode is a validator function which ensures that the selected\n * Department is a \"leaf\" node (one with no children beneath it).\n * Returns true if the validation passes, and an error string otherwise.\n */\n mustBeLeafNode(v: any): boolean | string {\n if (!this.department) {\n // Not having a department means we can't verify it's a leaf node,\n // but that doesn't make it an error state.\n return true;\n }\n if (this.department.childCount && this.department.childCount > 0) {\n // Children found under the selected item\n return i18n.t('error.required').toString();\n }\n return true;\n },\n\n /**\n * dropdownChanged is the event handler for the @change event on all\n * dropdowns.\n */\n dropdownChanged(i: number, newVal: number): void {\n if (i > 0 && !newVal) {\n this.$emit('input', this.internalValues[i - 1] || 0);\n return;\n }\n this.$emit('input', newVal || 0);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DepartmentSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DepartmentSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DepartmentSelector.vue?vue&type=template&id=aba2f778&\"\nimport script from \"./DepartmentSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./DepartmentSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAutocomplete,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-autocomplete',{attrs:{\"label\":_vm.label || _vm.$t('docketEventType.select'),\"value\":_vm.value,\"items\":_vm.docketEventChoices,\"multiple\":_vm.multiple,\"rules\":_vm.rules,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"clearable\":_vm.clearable,\"chips\":_vm.chips,\"small-chips\":_vm.smallChips,\"deletable-chips\":_vm.deletableChips},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"change\":function($event){return _vm.$emit('change', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport { VSelectItem } from '@/lib/vue-typescript';\nimport { DocketEventType } from '@/vuex/court/options';\n\nexport default Vue.extend({\n props: {\n /**\n * module allows the user to limit the list of DocketEventType entries\n * in the dropdown to those from a particular module (e.g. 'court',\n * 'investation', or 'detection')\n */\n module: String,\n\n label: String,\n value: [Number, Array],\n rules: Array,\n disabled: Boolean,\n readonly: Boolean,\n clearable: Boolean,\n multiple: Boolean,\n chips: Boolean,\n smallChips: Boolean,\n deletableChips: Boolean,\n },\n computed: {\n ...mapState('court', ['docketEventTypes']),\n ...mapGetters('language', ['valueForLocale']),\n\n docketEventChoices(): VSelectItem[] {\n let types: DocketEventType[] = this.docketEventTypes;\n if (this.module) {\n types = _.filter(types, { module: this.module });\n }\n\n return _.chain(types)\n .map((t: DocketEventType) => ({\n text: this.valueForLocale(t.name),\n value: t.id,\n }))\n .sortBy('text')\n .value();\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocketEventTypeSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocketEventTypeSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocketEventTypeSelector.vue?vue&type=template&id=5e640b16&\"\nimport script from \"./DocketEventTypeSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./DocketEventTypeSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\ninstallComponents(component, {VAutocomplete})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.dossier)?_c(_vm.tagName,{tag:\"component\",attrs:{\"to\":_vm.to}},[_vm._v(_vm._s(_vm.dossier.number))]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Dossier } from '@/vuex/court/dossier';\n\nexport default Vue.extend({\n props: {\n id: Number,\n link: Boolean,\n },\n\n computed: {\n ...mapGetters('auth', ['hasPermission']),\n ...mapGetters('court', ['dossierWithID']),\n\n /**\n * tagName determines whether to render as a router-link or a span, based\n * on the props and permissions.\n */\n tagName(): string {\n if (this.canLink) {\n return 'router-link';\n }\n return 'span';\n },\n\n /**\n * to computes the route which the dossier number should link to. It will\n * be undefined if a link is not desired or not allowed because of\n * permissions.\n */\n to(): any {\n if (this.canLink) {\n return { name: 'dossierShow', params: { id: String(this.id) } };\n }\n return undefined;\n },\n\n /**\n * canLink returns true if the developer requested that this dossier\n * number be rendered as a link AND the currently logged-in user\n * has permissions to see that dossier.\n */\n canLink(): boolean {\n if (!this.link) {\n return false;\n }\n return this.hasPermission('dossier.view');\n },\n\n /**\n * dossier retrieves the Dossier object from Vuex. This will be null if\n * the Dossier has not yet been fetched from the server, or if its\n * totally made up.\n */\n dossier(): Dossier | null {\n return this.dossierWithID(this.id) || null;\n },\n },\n\n watch: {\n id: {\n immediate: true,\n handler(newID: number): void {\n /**\n * TODO: This approach needs some review. Two concerns:\n * 1. If the same dossierID is referenced on the same page via this\n * component multiple times, it could trigger one API request per\n * \t\tcomponent. Some debouncing/request compression like what is done\n * in CourtName may be desirable.\n * 2. All we need is the Dossier Number text, and this request fetches\n * \t\tthe entire Dossier and every Case on it. Perhaps we need to create\n * an endpoint to just fetch the metatadata.\n */\n if (newID) {\n const newDossier = this.dossierWithID(newID);\n if (!newDossier) {\n this.$store.dispatch('court/fetchDossier', newID);\n }\n }\n },\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierNumber.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierNumber.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossierNumber.vue?vue&type=template&id=4e2b64f5&\"\nimport script from \"./DossierNumber.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossierNumber.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-text-field',{directives:[{name:\"mask\",rawName:\"v-mask\",value:(_vm.mask),expression:\"mask\"}],attrs:{\"value\":_vm.value,\"label\":_vm.label ? _vm.label : _vm.$t('dossier.dossierNumber'),\"hint\":_vm.hint ? _vm.hint : _vm.mask,\"rules\":_vm.computedRules,\"error-messages\":_vm.errorMessages,\"loading\":_vm.loading || _vm.awaitingUniquenessCheck,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"clearable\":_vm.clearable},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"blur\":function($event){return _vm.formatNumber()}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport courtAPI from '@/vuex/court/courtAPI';\n\n// MAX_CONSECUTIVE_ZEROS controls the point at which the validator considers\n// this a \"blank\" dossier number because it has too many zeros.\nconst MAX_CONSECUTIVE_ZEROS = 6;\n\nexport default Vue.extend({\n props: {\n value: String,\n rules: Array,\n label: String,\n hint: String,\n required: Boolean,\n readonly: Boolean,\n hideDetails: Boolean,\n singleLine: Boolean,\n loading: Boolean,\n disabled: Boolean,\n clearable: Boolean,\n disablePadding: Boolean,\n unique: Boolean,\n },\n\n created() {\n // Since the checkExistsAPI call is made in response to user\n // keypresses (which can be very fast), we debounce it so that it's only\n // called once every N milliseconds.\n // @ts-ignore https://github.com/lodash/lodash/issues/4700\n this.checkExistsAPI = _.debounce(this.checkExistsAPI, 200);\n },\n\n data() {\n return {\n /**\n * awaitingUniquenessCheck is set to true which we are waiting for the\n * results of a server-side uniqueness check\n */\n awaitingUniquenessCheck: false,\n\n /**\n * blockSizes describes the format of the dossier number by the length\n * of the blocks of digits which are separated by dashes. So if blockSizes\n * were set to 2-2, it would require values in the format ##-##\n */\n blockSizes: [2, 2, 2, 2, 4, 4, 2],\n\n /**\n * isDuplicate tracks the results of the last check to the API to see if\n * the entered dossier number is a duplicate. It is updated asynchrously\n * after each API call.\n */\n isDuplicate: false,\n };\n },\n computed: {\n /**\n * mask converts the blockSizes into the format expected by vue-the-mask.\n * [2,2,2,2,4,4,2] becomes the string ##-##-##-##-####-####-##\n */\n mask(): string {\n return this.blockSizes.map((size) => '#'.repeat(size)).join('-');\n },\n\n /**\n * computedRules combines the custom rules provided by the user with the\n * internal/hard-coded rules, like those triggered by props like required.\n * It's important to realize this function is not run after every\n * modification to the field... it runs at the time the component initializes\n * and adds an array of validation functions... it is those functions which\n * are run on every field modification.\n */\n computedRules(): any[] {\n const rules: any[] = this.rules || [];\n if (this.required) {\n rules.push(this.forbidBlankNumbers);\n }\n return rules;\n },\n\n /**\n * errorMessages returns the field errors which arent' known until the\n * the response from an async call is returned t(unlike rules/combinedRules,\n * which must be synchronous validation functions).\n *\n * The unique prop requires an async call to the server to check for\n * duplicates, so we return errors from that process here.\n */\n errorMessages(): string[] {\n const msgs: string[] = [];\n if (this.unique && this.isDuplicate) {\n msgs.push(i18n.t('error.duplicate').toString());\n }\n return msgs;\n },\n },\n\n watch: {\n /**\n * value is watched so that we can trigger a uniqueness check any time the\n * value changes, whether from \"inside\" in the v-text-field, or when set\n * externally by the consumer of this component.\n */\n value(newVal: string): void {\n if (this.unique) {\n this.determineUniqueness();\n } else {\n // When not requiring uniqueness, make sure the tracking variable is\n // in the non-error state.\n this.isDuplicate = false;\n }\n },\n },\n\n methods: {\n /**\n * formatNumber iterates over the current value block-by-block, and pads\n * the start of each one with '0' until it reaches the length defined\n * by the blockSizes array.\n */\n formatNumber(): void {\n if (this.value.length < this.mask.length && !this.disablePadding) {\n const oldBlocks = this.value.split('-');\n const newBlocks = [] as string[];\n for (let i = 0; i < this.blockSizes.length; i++) {\n const padded = (oldBlocks[i] || '').padStart(this.blockSizes[i], '0');\n newBlocks.push(padded);\n }\n this.$emit('input', newBlocks.join('-'));\n }\n },\n\n /**\n * forbidBlankNumbers is a Vuetify control validator. It returns true if the\n * provided (v) value is a non-blank, and returns a translated error message\n * string if it is blank.\n *\n * NOTE: \"blank\" here means either:\n *\n * 1) That it's literally a blank string, or\n * 2) That it contains too many zeros in a row where \"too many\"\n * is controlled by MAX_CONSECUTIVE_ZEROS.\n */\n forbidBlankNumbers(v: string): boolean | string {\n const errMessage = i18n.t('error.required').toString();\n\n if (!v) {\n return errMessage;\n }\n\n const numsOnly = v.replace(/[^0-9]+/g, '');\n const re = new RegExp(`[0]{${MAX_CONSECUTIVE_ZEROS},}`);\n if (numsOnly.match(re)) {\n return errMessage;\n }\n\n return true;\n },\n\n /**\n * determineUniqueness starts the process of checking if a duplicate number\n * error message needs to be triggered for the form. It does synchronous\n * checks first, and only triggers a server-side API check when necessary.\n */\n determineUniqueness(): void {\n if (this.value.length < this.mask.length) {\n // Don't check for duplicates if the user hasn't finished entering their\n // number. Assume the value will be unique when they are finished...\n // in other words, treat the value as unique until proven as a duplicate.\n this.isDuplicate = false;\n return;\n }\n\n // Start the waiting animation\n this.awaitingUniquenessCheck = true;\n\n // Trigger the uniqueness check on the API\n this.checkExistsAPI(); // Note: execution is debounced\n },\n\n /**\n * checkExistsAPI makes an API call to verify that a dossier\n * number exists or not. This function is protected by a debounce wrapper so\n * that it is not called repeatedly too quickly.\n */\n async checkExistsAPI(): Promise {\n const url = `/dossiers/exists?number=${this.value}`;\n try {\n const response = await courtAPI.get(url);\n this.isDuplicate = response.data.data === true;\n } catch (err) {\n console.error(err);\n } finally {\n // End the waiting animation\n this.awaitingUniquenessCheck = false;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierNumberField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DossierNumberField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DossierNumberField.vue?vue&type=template&id=3a36de36&\"\nimport script from \"./DossierNumberField.vue?vue&type=script&lang=ts&\"\nexport * from \"./DossierNumberField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_vm._v(\" \"+_vm._s(_vm.hoursToWords))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\nimport Vue from 'vue';\nimport i18n from '@/i18n';\n\nexport default Vue.extend({\n props: {\n hours: Number,\n },\n computed: {\n /**\n * formatAFN converts the value prop from Puls to AFN and performs an\n * Internationalized number format on it.\n */\n hoursToWords(): string {\n const HoursPerYear = 8760;\n const HoursPerMonth = 730;\n const HoursPerDay = 24;\n let remainingHours = this.hours || 0;\n const years = Math.floor(remainingHours / HoursPerYear);\n remainingHours = remainingHours - years * HoursPerYear;\n const months = Math.floor(remainingHours / HoursPerMonth);\n remainingHours = remainingHours - months * HoursPerMonth;\n const days = Math.floor(remainingHours / HoursPerDay);\n const parts = [] as string[];\n if (years > 0) {\n const yearLabel = i18n.t('time.years');\n parts.push(`${years} ${yearLabel}`);\n }\n if (months > 0) {\n const monthLabel = i18n.t('time.months');\n parts.push(`${months} ${monthLabel}`);\n }\n if (days > 0) {\n const dayLabel = i18n.t('time.days');\n parts.push(`${days} ${dayLabel}`);\n }\n return parts.join(', ');\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Duration.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Duration.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Duration.vue?vue&type=template&id=6093dffe&\"\nimport script from \"./Duration.vue?vue&type=script&lang=ts&\"\nexport * from \"./Duration.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-text-field',{directives:[{name:\"mask\",rawName:\"v-mask\",value:(_vm.mask),expression:\"mask\"}],attrs:{\"label\":_vm.label ? _vm.label : _vm.$t('person.eNationalID'),\"value\":_vm.value,\"hint\":_vm.hint ? _vm.hint : _vm.mask,\"loading\":_vm.loading,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"singleLine\":_vm.singleLine,\"hideDetails\":_vm.hideDetails,\"clearable\":_vm.clearable,\"rules\":_vm.computedRules,\"validate-on-blur\":\"\"},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\n\nexport default Vue.extend({\n props: {\n value: String,\n label: String,\n hint: String,\n readonly: Boolean,\n rules: Array,\n hideDetails: Boolean,\n singleLine: Boolean,\n loading: Boolean,\n disabled: Boolean,\n clearable: Boolean,\n },\n\n data() {\n return {\n blockSizes: [4, 4, 5],\n };\n },\n computed: {\n mask(): string {\n return this.blockSizes.map((size) => '#'.repeat(size)).join('-');\n },\n /**\n * computedRules combines the user-supplied array of rule functions with\n * a function to forbid invalid rule formats (e.g. not enough digits)\n */\n computedRules(): any[] {\n const ruleFuncs: any[] = [];\n if (this.rules && this.rules.length) {\n ruleFuncs.push(...this.rules);\n }\n // Never allow an incomplete number\n ruleFuncs.push(this.forbidIncomplete);\n return ruleFuncs;\n },\n },\n methods: {\n /**\n * forbidIncomplete is a validator function which can be supplied to the\n * rues prop of a Vuetify component. It returns true if the provided input\n * has the correct format/length, and returns a translated error message\n * otherwise\n */\n forbidIncomplete(v: string): string | boolean {\n if (!v) {\n return true;\n }\n if (v.length === this.mask.length) {\n return true;\n }\n return i18n.t('error.invalidFormat').toString();\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ETazkiraField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ETazkiraField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ETazkiraField.vue?vue&type=template&id=2777c558&\"\nimport script from \"./ETazkiraField.vue?vue&type=script&lang=ts&\"\nexport * from \"./ETazkiraField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":_vm.maxWidth,\"scrollable\":!_vm.notScrollable,\"fullscreen\":_vm.fullscreen},scopedSlots:_vm._u([{key:\"activator\",fn:function(slotProps){return [_vm._t(\"activator\",function(){return [_c('v-btn',_vm._g({attrs:{\"x-small\":\"\",\"text\":_vm.text,\"title\":_vm.$t('command.expand')}},slotProps.on),[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(_vm._s(_vm.icon))])],1)]},null,slotProps)]}}],null,true),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"secondary\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.isOpen = false}}},[_c('v-icon',[_vm._v(\"fa-times-circle\")])],1)],1),_c('v-card-text',[_vm._t(\"default\")],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--13-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExpanderDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--13-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExpanderDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ExpanderDialog.vue?vue&type=template&id=0321e8c6&\"\nimport script from \"./ExpanderDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./ExpanderDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VDialog,VIcon,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"tile\":\"\",\"outlined\":\"\"}},[_c('v-toolbar',{staticClass:\"clickable\",attrs:{\"flat\":_vm.flat,\"dense\":_vm.dense,\"dark\":_vm.dark,\"color\":_vm.color},on:{\"click\":function($event){_vm.expanded = !_vm.expanded}}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.title))]),_c('v-spacer'),(_vm.expanded)?_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\" fa-chevron-up \")]):_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\" fa-chevron-down \")])],1),(_vm.expanded)?_c('v-card-text',[_vm._t(\"default\")],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nexport default Vue.extend({\n props: {\n value: Boolean,\n title: String,\n dense: Boolean,\n dark: Boolean,\n flat: Boolean,\n color: String,\n },\n\n data() {\n return {\n expanded: true,\n };\n },\n\n watch: {\n value: {\n immediate: true,\n handler(newVal: boolean): void {\n this.expanded = newVal;\n },\n },\n expanded: {\n handler(newVal: boolean) {\n this.$emit('input', newVal);\n },\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExpandableCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExpandableCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExpandableCard.vue?vue&type=template&id=33e8a58e&\"\nimport script from \"./ExpandableCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExpandableCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VIcon,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.messages.length)?_c('v-row',_vm._l((_vm.messages),function(message,i){return _c('v-col',{key:i,attrs:{\"cols\":\"12\"}},[_c('v-alert',{attrs:{\"type\":\"error\"}},[_vm._v(_vm._s(message))])],1)}),1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\n\n/**\n * JSONAPIError response is the error object which will be returned by the\n * catch clause of API request failures. It may contain an errors array\n * underneath the response.data.errors key.\n */\ninterface JSONAPIErrorResponse {\n response?: {\n data?: {\n errors?: Array<{\n id: string;\n status: string;\n code: string;\n title: string;\n detail: string;\n debugInfo: any;\n }>;\n };\n };\n}\n\nexport default Vue.extend({\n props: {\n error: [String, Array, Object, Error],\n errors: [String, Array, Object, Error],\n codeOverride: Object,\n },\n computed: {\n /**\n * messages builds an array of message strings to display in v-alert\n * boxes. This function acts as an adapter/translator for the error and\n * errors props. It combines both, flattens and compacts them, and extracts\n * the response.data.errors entries from a JSONAPI server error.\n */\n messages(): string[] {\n // Combine the singular and plural input into a single flattened array\n const input = _.flatten([this.error, this.errors]);\n return _.chain(input)\n .map(this.expandJSONAPIErrors)\n .flatten()\n .compact()\n .value();\n },\n },\n methods: {\n /**\n * expandJSONAPIErrors expands the response.data.errors array into an\n * array of translated error messages if it exists.\n *\n * If not, it returns the input unmodified (and untranslated).\n */\n expandJSONAPIErrors(err: any | JSONAPIErrorResponse): any | any[] {\n if (!_.has(err, 'response.data.errors')) {\n return err;\n }\n\n // Exclamation points because we have guaranteed that response.data.errors\n // exists via the _.has test above.\n return _.map(err.response!.data!.errors || [], (err) => {\n if (err.code) {\n /**\n * If we have some code overrides, implement those before translating.\n */\n if (this.codeOverride && this.codeOverride[err.code]) {\n err.code = this.codeOverride[err.code];\n }\n let msg = i18n.t(err.code);\n if (\n err.detail &&\n err.detail !== err.code &&\n err.detail !== err.title\n ) {\n msg = msg + ': ' + err.detail;\n }\n return msg;\n }\n return err.title;\n });\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormError.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormError.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormError.vue?vue&type=template&id=487a0ba2&\"\nimport script from \"./FormError.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormError.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('span',{staticClass:\"font-weight-bold me-1\"},[_vm._v(_vm._s(_vm.label ? _vm.label + ':' : ''))]),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\nimport Vue from 'vue';\nexport default Vue.extend({\n props: {\n label: {\n type: String,\n required: true,\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FieldValue.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FieldValue.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FieldValue.vue?vue&type=template&id=bdeeb324&\"\nimport script from \"./FieldValue.vue?vue&type=script&lang=ts&\"\nexport * from \"./FieldValue.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.items),function(item,i){return _c('span',{key:item.id},[(item.to)?_c('router-link',{attrs:{\"to\":item.to}},[_c('GeographyName',{attrs:{\"id\":item.id,\"title\":_vm.$t('geo.' + item.type)}})],1):_c('span',[_c('GeographyName',{attrs:{\"id\":item.id,\"title\":_vm.$t('geo.' + item.type)}})],1),(i < _vm.items.length - 1)?_c('span',{staticClass:\"mx-2\"},[_vm._v(\"/\")]):_vm._e()],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { Geography } from '@/vuex/geography/geography';\n\nexport default Vue.extend({\n props: {\n id: Number,\n to: Object,\n locationParamName: {\n type: String,\n default: 'locationID',\n },\n },\n computed: {\n ...mapGetters('geography', ['geographyAncestors']),\n\n ancestors(): Geography[] {\n return this.geographyAncestors(this.id) || [];\n },\n\n items(): any[] {\n return _.map(this.ancestors, (geo) => {\n const item: any = Object.assign({}, geo);\n if (this.to && this.id !== item.id) {\n item.to = _.cloneDeep(this.to);\n _.set(item, `to.query.${this.locationParamName}`, geo.id);\n }\n return item;\n });\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeographyBreadcrumb.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeographyBreadcrumb.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GeographyBreadcrumb.vue?vue&type=template&id=de6ca7a8&\"\nimport script from \"./GeographyBreadcrumb.vue?vue&type=script&lang=ts&\"\nexport * from \"./GeographyBreadcrumb.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{attrs:{\"title\":_vm.title}},[_vm._v(_vm._s(_vm.full ? _vm.fullName : _vm.name))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport store from '@/vuex/store';\n\n/*\n * Batch Queue Fetcher\n * This little block of code prevents this Component from hammering the server\n * with many fetchGeography requested when it is used many times on the same\n * page at the same time. Because this function and its variables live outside\n * the Vue component, they are shared globally for all instances of this\n * component.\n *\n * When this component receives a new id, the watcher checks to see if that\n * Geography is already in state. If it's not, instead of fetching it\n * immediately, it adds it to a queue of ids to be fetched, and then triggers\n * a debounced function which will perform the actual API call to fetch the\n * queued batch of IDs. The debounce guarantees that the fetch happens only\n * once every N milliseconds. This way when many components appear on the\n * screen in quick succession, we only hit the server once to get the missing\n * Geographies.\n */\nconst maxFetchDelayMs = 200;\nlet loading = false;\nconst fetchQueue: number[] = [];\nconst fetcher = _.debounce(async () => {\n const ids = _.chain(fetchQueue).compact().uniq().value();\n fetchQueue.splice(0, fetchQueue.length); // Empty the queue\n await store.dispatch('geography/fetchGeography', ids);\n loading = false;\n}, maxFetchDelayMs);\n\nexport default Vue.extend({\n props: {\n id: Number,\n full: Boolean,\n },\n computed: {\n ...mapGetters('geography', ['geographyName', 'fullGeographyName']),\n ...mapState('geography', ['geography']),\n\n name(): string {\n const name = this.geographyName(this.id);\n return this.exists ? name : loading ? '' : name;\n },\n\n fullName(): string {\n const fullName = this.fullGeographyName(this.id);\n return this.exists ? fullName : loading ? '' : fullName;\n },\n\n title(): string {\n return this.name === this.fullName ? '' : this.fullName;\n },\n\n exists(): boolean {\n return !!this.geography[this.id];\n },\n },\n watch: {\n id: {\n immediate: true,\n handler(geoID: number) {\n if (!geoID) {\n // No need to queue a fetch for the Unknown geography\n return;\n }\n\n if (!this.geography[geoID]) {\n // Enqueue and fetch missing Geography IDs\n fetchQueue.push(geoID);\n loading = true;\n fetcher();\n }\n },\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeographyName.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeographyName.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GeographyName.vue?vue&type=template&id=e3eac350&\"\nimport script from \"./GeographyName.vue?vue&type=script&lang=ts&\"\nexport * from \"./GeographyName.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.readonly)?_c('v-row',[(_vm.loading)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1):_vm._e(),(!_vm.loading && _vm.label)?_c('v-col',{staticClass:\"subtitle-2 pb-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")]):_vm._e(),(_vm.showCountry)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":12 / _vm.numberOfVisibleDropdowns}},[_c('v-autocomplete',{staticClass:\"geographySelector__readonly\",attrs:{\"readonly\":\"\",\"label\":_vm.$t('geo.country'),\"items\":_vm.countryOptions,\"item-value\":\"id\",\"item-text\":function (c) { return c.name[_vm.locale]; },\"append-icon\":\"\"},scopedSlots:_vm._u([{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticStyle:{\"border-bottom\":\"0\"}},[_vm._v(\" \"+_vm._s(item.name[_vm.locale])+\" \")])]}}],null,false,1580421260),model:{value:(_vm.selectedCountryID),callback:function ($$v) {_vm.selectedCountryID=$$v},expression:\"selectedCountryID\"}})],1):_vm._e(),(_vm.showProvince)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":12 / _vm.numberOfVisibleDropdowns}},[_c('v-autocomplete',{staticClass:\"geographySelector__readonly\",attrs:{\"readonly\":\"\",\"label\":_vm.$t('geo.province'),\"items\":_vm.provinceOptions,\"item-value\":\"id\",\"item-text\":function (p) { return p.name[_vm.locale]; },\"append-icon\":\"\"},model:{value:(_vm.selectedProvinceID),callback:function ($$v) {_vm.selectedProvinceID=$$v},expression:\"selectedProvinceID\"}})],1):_vm._e(),(_vm.showDistrict)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":12 / _vm.numberOfVisibleDropdowns}},[_c('v-autocomplete',{staticClass:\"geographySelector__readonly\",attrs:{\"readonly\":\"\",\"label\":_vm.$t('geo.district'),\"items\":_vm.districtOptions,\"item-value\":\"id\",\"item-text\":function (d) { return d.name[_vm.locale]; },\"append-icon\":\"\"},model:{value:(_vm.selectedDistrictID),callback:function ($$v) {_vm.selectedDistrictID=$$v},expression:\"selectedDistrictID\"}})],1):_vm._e(),(_vm.showVillage)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":12 / _vm.numberOfVisibleDropdowns}},[_c('v-autocomplete',{staticClass:\"geographySelector__readonly\",attrs:{\"readonly\":\"\",\"label\":_vm.$t('geo.village'),\"items\":_vm.villageOptions,\"item-value\":\"id\",\"item-text\":function (v) { return v.name[_vm.locale]; },\"append-icon\":\"\"},model:{value:(_vm.selectedVillageID),callback:function ($$v) {_vm.selectedVillageID=$$v},expression:\"selectedVillageID\"}})],1):_vm._e()],1):_vm._e(),(!_vm.readonly)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},[(!_vm.loading && _vm.label)?_c('v-col',{staticClass:\"text-h6 pb-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")]):_vm._e(),(_vm.showCountry)?_c('v-col',{staticClass:\"pr-2\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":12 / _vm.numberOfVisibleDropdowns}},[_c('v-autocomplete',{attrs:{\"label\":_vm.$t('geo.country'),\"items\":_vm.countryOptions,\"item-value\":\"id\",\"item-text\":function (c) { return c.name[_vm.locale]; },\"rules\":_vm.countryValidations},on:{\"change\":_vm.countryChanged},model:{value:(_vm.selectedCountryID),callback:function ($$v) {_vm.selectedCountryID=$$v},expression:\"selectedCountryID\"}})],1):_vm._e(),(_vm.showProvince)?_c('v-col',{staticClass:\"px-2\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":12 / _vm.numberOfVisibleDropdowns}},[_c('v-autocomplete',{attrs:{\"label\":_vm.$t('geo.province'),\"items\":_vm.provinceOptions,\"item-value\":\"id\",\"item-text\":function (p) { return p.name[_vm.locale]; },\"rules\":_vm.provinceValidations},on:{\"change\":_vm.provinceChanged},model:{value:(_vm.selectedProvinceID),callback:function ($$v) {_vm.selectedProvinceID=$$v},expression:\"selectedProvinceID\"}})],1):_vm._e(),(_vm.showDistrict)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":12 / _vm.numberOfVisibleDropdowns}},[_c('v-autocomplete',{attrs:{\"label\":_vm.$t('geo.district'),\"items\":_vm.districtOptions,\"item-value\":\"id\",\"item-text\":function (d) { return d.name[_vm.locale]; },\"rules\":_vm.districtValidations},on:{\"change\":_vm.districtChanged},model:{value:(_vm.selectedDistrictID),callback:function ($$v) {_vm.selectedDistrictID=$$v},expression:\"selectedDistrictID\"}})],1):_vm._e(),(_vm.showVillage)?_c('v-col',{staticClass:\"px-4\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":12 / _vm.numberOfVisibleDropdowns}},[_c('v-autocomplete',{attrs:{\"label\":_vm.$t('geo.village'),\"items\":_vm.villageOptions,\"item-value\":\"id\",\"item-text\":function (v) { return v.name[_vm.locale]; },\"rules\":_vm.villageValidations},on:{\"change\":_vm.villageChanged},model:{value:(_vm.selectedVillageID),callback:function ($$v) {_vm.selectedVillageID=$$v},expression:\"selectedVillageID\"}})],1):_vm._e()],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapActions, mapState } from 'vuex';\n\nimport { TAll, TUnknown } from '@/lib/translated';\nimport { Geography, GeographyRegions } from '@/vuex/geography/geography';\n\nexport default Vue.extend({\n props: {\n readonly: {\n type: Boolean,\n default: false,\n },\n countryID: Number,\n provinceID: Number,\n value: Number,\n label: String,\n minSpecificity: {\n type: String,\n validator: (value) => {\n return Object.keys(GeographyRegions).includes(value);\n },\n default: 'none',\n },\n maxSpecificity: {\n type: String,\n validator: (value) => {\n return Object.keys(GeographyRegions).includes(value);\n },\n default: 'village',\n },\n zeroLabel: {\n type: String,\n default: 'unknown',\n },\n omittedGeographies: {\n type: Array,\n default() {\n return [];\n },\n },\n },\n data() {\n return {\n loading: true,\n selectedCountryID: (this.countryID || 0) as number,\n selectedProvinceID: (this.provinceID || 0) as number,\n selectedDistrictID: 0 as number,\n selectedVillageID: 0 as number,\n };\n },\n created() {\n this.valueChanged();\n this.loading = false;\n },\n watch: {\n value(newVal, oldVal) {\n this.valueChanged();\n },\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapState('geography', ['geography']),\n ...mapGetters('geography', [\n 'countries',\n 'provinces',\n 'districts',\n 'villages',\n 'geographyWithID',\n ]),\n\n // Use number represenations of geography region type\n // Easier to set up logical conditions\n minSpecificityLevel(): number {\n return GeographyRegions[this.minSpecificity];\n },\n maxSpecificityLevel(): number {\n return GeographyRegions[this.maxSpecificity];\n },\n\n /*\n * Validation functions specific to each drop down\n */\n countryValidations(): string[] {\n const errorMessages = new Array();\n\n if (\n this.minSpecificityLevel >= GeographyRegions.country &&\n this.selectedCountryID === 0\n ) {\n errorMessages.push(\n this.$i18n.t('geographySelector.countryRequired').toString(),\n );\n }\n\n if (\n this.minSpecificityLevel >= GeographyRegions.province &&\n this.selectedCountryID !== 1\n ) {\n errorMessages.push(\n this.$i18n.t('geographySelector.afghanistanRequired').toString(),\n );\n }\n\n return errorMessages;\n },\n provinceValidations(): string[] {\n const errorMessages = new Array();\n\n if (\n this.selectedCountryID === 1 &&\n this.selectedProvinceID === 0 &&\n this.minSpecificityLevel >= GeographyRegions.province // don't require unless specified in props\n ) {\n errorMessages.push(\n this.$i18n\n .t('geographySelector.afghanistanProvinceRequirement')\n .toString(),\n );\n }\n\n return errorMessages;\n },\n districtValidations(): string[] {\n const errorMessages = new Array();\n\n if (\n this.minSpecificityLevel >= GeographyRegions.district &&\n this.selectedDistrictID === 0\n ) {\n errorMessages.push(\n this.$i18n.t('geographySelector.districtRequired').toString(),\n );\n }\n\n return errorMessages;\n },\n villageValidations(): string[] {\n const errorMessages = new Array();\n\n if (\n this.minSpecificityLevel >= GeographyRegions.village &&\n this.selectedVillageID === 0\n ) {\n errorMessages.push(\n this.$i18n.t('geographySelector.villageRequired').toString(),\n );\n }\n\n return errorMessages;\n },\n // **********************************************************************\n\n /**\n * selectedGeography returns the complete Geography object for the selected\n * id, or a placeholder unknown object.\n */\n selectedGeography(): Geography {\n const unknownGeo = {\n id: 0,\n name: Object.assign({}, TUnknown),\n type: 'country',\n };\n return this.geography(this.value) || unknownGeo;\n },\n /**\n * countryOptions returns the list of choices for the Country dropdown\n */\n countryOptions(): Geography[] {\n return this.sortedGeoList(this.countries, 'country');\n },\n /**\n * provinceOptions returns the list of choices for the Province dropdown\n */\n provinceOptions(): Geography[] {\n return this.sortedGeoList(this.provinces, 'province');\n },\n /**\n * districtOptions returns the list of choices for the District dropdown\n */\n districtOptions(): Geography[] {\n return this.sortedGeoList(\n this.districts(this.selectedProvinceID),\n 'district',\n );\n },\n /**\n * villageOptions returns the list of choices for the Village dropdown\n */\n villageOptions(): Geography[] {\n return this.sortedGeoList(\n this.villages(this.selectedDistrictID),\n 'village',\n );\n },\n showCountry(): boolean {\n // If the countryID **prop** was provided, we're hard-coding that choice\n // for the country and hiding the dropdown.\n if (this.countryID > 0) {\n return false;\n }\n return true;\n },\n showProvince(): boolean {\n // If the proviceID **prop** was provided, we're hard-coding that choice\n // for the province and hiding the dropdown.\n if (this.provinceID > 0) {\n return false;\n }\n // Otherwise, provinces only exist for Afghanistan (CountryID === 1),\n // so we only show if Afghanistan is selected for the country and\n // the specificity level includes this depth\n return (\n this.selectedCountryID === 1 &&\n !!this.maxSpecificityLevel &&\n this.maxSpecificityLevel >= GeographyRegions.province\n );\n },\n showDistrict(): boolean {\n return (\n this.selectedProvinceID > 0 &&\n this.maxSpecificityLevel >= GeographyRegions.district\n );\n },\n showVillage(): boolean {\n return (\n this.selectedDistrictID > 0 &&\n this.maxSpecificityLevel >= GeographyRegions.village\n );\n },\n /**\n * numberOfVisibleDropdowns returns a number between 1 and 4, depeneding\n * on how many dropdown controls are visible\n */\n numberOfVisibleDropdowns(): number {\n let num = 0;\n if (this.showCountry) {\n num++;\n }\n if (this.showProvince) {\n num++;\n }\n if (this.showDistrict) {\n num++;\n }\n if (this.showVillage) {\n num++;\n }\n return num;\n },\n },\n methods: {\n ...mapActions('geography', ['fetchGeography', 'fetchVillagesForDistrict']),\n /**\n * countryChanged is triggered *only* by a manual change to the country\n * dropdown. It ensures all lower-level dropdowns get properly reset.\n */\n countryChanged(): void {\n this.selectedProvinceID = 0;\n this.selectedDistrictID = 0;\n this.selectedVillageID = 0;\n this.recalculateValue();\n },\n /**\n * provinceChanged is triggered *only* by a manual change to the province\n * dropdown. It ensures all lower-level dropdowns get properly reset.\n */\n provinceChanged(): void {\n this.selectedDistrictID = 0;\n this.selectedVillageID = 0;\n this.recalculateValue();\n },\n /**\n * districtChanged is triggered *only* by a manual change to the district\n * dropdown. It ensures the village dropdown gets properly reset.\n */\n districtChanged(): void {\n this.selectedVillageID = 0;\n this.recalculateValue();\n },\n /**\n * villageChanged is triggered *only* by a manual change to the village\n * dropdown.\n */\n villageChanged(): void {\n this.recalculateValue();\n },\n /**\n * valueChange is the responder for an *external* change to the\n * bound value for this component. It ensures that the referenced\n * geography is loaded (if it exists), and sets each of the dropdowns\n * to their correct values.\n *\n * This handler is also triggered indirectly when an internal change\n * causes the data-bound value to change.\n */\n async valueChanged(): Promise {\n const self = this;\n self.loading = true;\n\n if (!this.value) {\n /**\n * Whenever the value is unset, but we have props forcing\n * a dropdown to a certain value, then 0 is impossible. To fix the\n * issue, we override the value by emitting the prop value. This will\n * cause Vue data binding to loop back to this function with the new\n * value, causing the other half of valueChanged() to be executed.\n */\n if (this.provinceID > 0) {\n this.$emit('input', this.provinceID);\n }\n if (this.countryID > 0) {\n this.$emit('input', this.countryID);\n }\n return;\n }\n\n await this.fetchGeography(this.value);\n const geo = this.geographyWithID(this.value);\n\n /**\n * Because villages are not pre-loaded, we need to fetch all 'sibling'\n * villages when the value is set to a village, and all 'child'\n * villages when the value is set to a district.\n */\n let districtID: number | null = null;\n if (geo.type === 'village') {\n districtID = geo.parentID;\n } else if (geo.type === 'district') {\n districtID = geo.id;\n }\n if (districtID) {\n await this.fetchVillageOptions(districtID);\n self.updateSelectors();\n this.loading = false;\n } else {\n self.updateSelectors();\n this.loading = false;\n }\n },\n /**\n * updateSelectors climbs the hierarchy of the currently-selected geography\n * ID and ensures each dropdown selector is set to the correct value. This\n * function depends on all relevant Geography objects being loaded in the\n * Vuex store, so it should only be called by functions which have already\n * loaded the needed geography data.\n */\n updateSelectors(): void {\n // Build an array of the geographyIDs based on parentID\n // relationships.\n const ids = [this.value] as number[];\n let geo = this.geography[this.value];\n while (geo.parentID) {\n ids.unshift(geo.parentID);\n geo = this.geography[geo.parentID];\n }\n\n // Country\n if (ids.length > 0) {\n this.selectedCountryID = ids[0];\n } else {\n this.selectedCountryID = 0;\n }\n\n // Province\n if (ids.length > 1) {\n this.selectedProvinceID = ids[1];\n } else {\n this.selectedProvinceID = 0;\n }\n\n // District\n if (ids.length > 2) {\n this.selectedDistrictID = ids[2];\n } else {\n this.selectedDistrictID = 0;\n }\n\n // Village\n if (ids.length > 3) {\n this.selectedVillageID = ids[3];\n } else {\n this.selectedVillageID = 0;\n }\n },\n /**\n * recalculateValue is the handler for an *internal* change to the bound\n * value. It examines each of the 4 dropdowns and figures out which one's\n * ID represents the value set by the user. It then $emits the 'input'\n * method to update this component's parent with the newly-set value.\n */\n recalculateValue(): void {\n const value = _.reject(\n [\n this.selectedCountryID,\n this.selectedProvinceID,\n this.selectedDistrictID,\n this.selectedVillageID,\n ],\n (v) => v < 1,\n ).pop(); // Return the last positive integer\n if (value && value > 0) {\n this.$emit('input', value);\n } else {\n this.$emit('input', 0);\n }\n },\n /**\n * fetchVillageOptions triggers a Vuex load of the child Village geographies\n * for the currently-selected District.\n *\n * @param districtID the geography ID of the district whose villages we need\n */\n fetchVillageOptions(districtID: number): Promise {\n if (!districtID) {\n districtID = this.selectedDistrictID;\n }\n const payload = { districtID, force: false };\n return this.fetchVillagesForDistrict(payload);\n },\n /**\n * sortedGeoList is a helper for this component's getters. It sorts\n * the supplied geoList by the currently-active locale, and prepends\n * an \"Unknown\" choice with a 0 ID as the first entry in the list.\n *\n * It's required that each dropdown have a 0 option available to\n * indicate that only the higher-level value is known\n * (i.e. Herat Province => Unknown District).\n */\n sortedGeoList(geoList: Geography[], type: string): Geography[] {\n const choices = _.sortBy(geoList, (g) => g.name[this.locale]);\n const unknown = {\n id: 0,\n code: '',\n iso3166Code: '',\n name:\n this.zeroLabel === 'all'\n ? Object.assign({}, TAll)\n : Object.assign({}, TUnknown),\n type,\n path: '0',\n };\n choices.unshift(unknown);\n return choices.filter((c: Geography) => {\n return !_.includes(this.omittedGeographies, c.id);\n });\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeographySelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeographySelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GeographySelector.vue?vue&type=template&id=6f7e1608&\"\nimport script from \"./GeographySelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./GeographySelector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./GeographySelector.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAutocomplete,VCol,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.items),function(item,i){return _c('span',{key:item.id},[(item.to)?_c('router-link',{attrs:{\"to\":item.to,\"exact\":\"\"}},[(item.id)?_c('HousingFacilityName',{attrs:{\"id\":item.id}}):_c('span',[_vm._v(_vm._s(_vm.$t('all')))])],1):_c('span',[_c('HousingFacilityName',{attrs:{\"id\":item.id}})],1),(i < _vm.items.length - 1)?_c('span',[_vm._v(\" / \")]):_vm._e()],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { HousingFacility } from '@/vuex/housing/housing';\n\nexport default Vue.extend({\n props: {\n id: Number,\n to: Object,\n facilityParamName: {\n type: String,\n default: 'facilityID',\n },\n },\n computed: {\n ...mapGetters('auth', ['hasPermission', 'hasAllFacilities']),\n ...mapGetters('housing', ['facilityAncestors']),\n\n ancestors(): HousingFacility[] {\n return this.facilityAncestors(this.id) || [];\n },\n\n items(): any[] {\n const items = _.map(this.ancestors, (dept) => {\n const item: any = Object.assign({}, dept);\n if (this.to && this.id !== item.id) {\n if (this.hasPermission('dashboard.prison', 'facility', item.id)) {\n item.to = _.cloneDeep(this.to);\n _.set(item, `to.query.${this.facilityParamName}`, dept.id);\n }\n }\n return item;\n });\n\n /**\n * The root of the Facility hierarchy is only accessible to users who\n * have been assigned a role in all facilities.\n */\n if (this.hasAllFacilities) {\n const rootItem = { to: _.cloneDeep(this.to) };\n _.set(rootItem, `to.query.${this.facilityParamName}`, 0);\n items.splice(0, 0, rootItem);\n }\n return items;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HousingFacilityBreadcrumb.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HousingFacilityBreadcrumb.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HousingFacilityBreadcrumb.vue?vue&type=template&id=616fcae1&\"\nimport script from \"./HousingFacilityBreadcrumb.vue?vue&type=script&lang=ts&\"\nexport * from \"./HousingFacilityBreadcrumb.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{attrs:{\"title\":_vm.title}},[_vm._v(_vm._s(_vm.full ? _vm.fullName : _vm.name))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nconst loading = false;\n\nexport default Vue.extend({\n props: {\n id: Number,\n full: Boolean,\n hideUnknown: Boolean,\n },\n computed: {\n ...mapGetters('housing', ['facilityName', 'fullFacilityName']),\n ...mapState('housing', ['facility']),\n\n name(): string {\n const name = this.facilityName(this.id);\n return this.exists ? name : loading || this.hideUnknown ? '' : name;\n },\n\n fullName(): string {\n const fullName = this.fullFacilityName(this.id);\n return this.exists\n ? fullName\n : loading || this.hideUnknown\n ? ''\n : fullName;\n },\n\n title(): string {\n return this.name === this.fullName ? '' : this.fullName;\n },\n\n exists(): boolean {\n if (!this.id) {\n return false;\n }\n\n return !!this.facility[this.id];\n },\n },\n watch: {\n id: {\n immediate: true,\n handler(facilityID: number) {\n if (!facilityID) {\n // No need to queue a fetch for the Unknown facility\n return;\n }\n\n if (!this.facility[facilityID]) {\n this.$store.dispatch('housing/fetchFacility', {\n force: false,\n facilityID,\n });\n }\n },\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HousingFacilityName.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HousingFacilityName.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HousingFacilityName.vue?vue&type=template&id=74c7a8ec&\"\nimport script from \"./HousingFacilityName.vue?vue&type=script&lang=ts&\"\nexport * from \"./HousingFacilityName.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.readonly)?_c('v-row',[(_vm.label)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"text-body-1\"},[_vm._v(_vm._s(_vm.label))])]):_vm._e(),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('time.years'),\"rules\":_vm.computedRules},on:{\"keypress\":function($event){return _vm.numbersOnly($event)},\"change\":function($event){return _vm.partsChanged()}},model:{value:(_vm.years),callback:function ($$v) {_vm.years=_vm._n($$v)},expression:\"years\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('time.months'),\"rules\":_vm.computedRules},on:{\"keypress\":function($event){return _vm.numbersOnly($event)},\"change\":function($event){return _vm.partsChanged()}},model:{value:(_vm.months),callback:function ($$v) {_vm.months=_vm._n($$v)},expression:\"months\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('time.days'),\"rules\":_vm.computedRules},on:{\"keypress\":function($event){return _vm.numbersOnly($event)},\"change\":function($event){return _vm.partsChanged()}},model:{value:(_vm.days),callback:function ($$v) {_vm.days=_vm._n($$v)},expression:\"days\"}})],1)],1):_vm._e(),(_vm.readonly)?_c('span',{attrs:{\"label\":_vm.label,\"value\":_vm.readOnlyValue}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport i18n from '@/i18n';\n\nconst HoursPerYear = 8760;\nconst HoursPerMonth = 730;\nconst HoursPerDay = 24;\n\nexport default Vue.extend({\n props: {\n value: Number,\n label: String,\n readonly: Boolean,\n required: Boolean,\n },\n created() {\n this.valueChangedFromOutside(this.value);\n },\n data() {\n return {\n years: null as number | null,\n months: null as number | null,\n days: null as number | null,\n };\n },\n computed: {\n /**\n * readOnlyValue computes the string which is displayed in a span when this\n * component is rendered in readonly mode. It includes year, month, and day\n * labels translated as appropriate (e.g. 3 Years, 2 Months).\n */\n readOnlyValue(): string {\n const parts = [] as string[];\n if (this.years && this.years > 0) {\n const yearLabel = i18n.t('time.years');\n parts.push(`${this.years} ${yearLabel}`);\n }\n if (this.months && this.months > 0) {\n const monthLabel = i18n.t('time.months');\n parts.push(`${this.months} ${monthLabel}`);\n }\n if (parts.length === 0 || (this.days && this.days > 0)) {\n const dayLabel = i18n.t('time.days');\n parts.push(`${this.days} ${dayLabel}`);\n }\n return parts.join(', ');\n },\n\n /**\n * computedDurationInHours builds the value which would be emitted at this\n * moment (if it were to be emitted). It simply converts years + months + days\n * into hours.\n */\n computedDurationInHours(): number {\n let newHours = 0;\n if (this.days) {\n newHours += this.days * HoursPerDay;\n }\n if (this.months) {\n newHours += this.months * HoursPerMonth;\n }\n if (this.years) {\n newHours += this.years * HoursPerYear;\n }\n return newHours;\n },\n\n /**\n * computedRules builds the array of validation functions which will be\n * applied to the years, months, and days text fields.\n */\n computedRules(): any[] {\n if (!this.required) {\n // No validation at all if we don't have a required prop\n return [];\n }\n if (this.computedDurationInHours > 0) {\n // No validation at all if we have non-zero duration\n return [];\n }\n return [(v: any) => v > 0 || i18n.t('error.required')];\n },\n },\n watch: {\n value(newValue: number) {\n this.valueChangedFromOutside(newValue);\n },\n },\n methods: {\n /**\n * valueChangedFromOutside translates an externally data-bound value (in\n * hours) into the local years, months, and days values.\n */\n valueChangedFromOutside(newValue: number): void {\n if (newValue) {\n let remainingHours = 0;\n this.years = Math.floor((this.value || 0) / HoursPerYear);\n remainingHours = (this.value || 0) - this.years * HoursPerYear;\n this.months = Math.floor(remainingHours / HoursPerMonth);\n remainingHours = remainingHours - this.months * HoursPerMonth;\n this.days = Math.floor(remainingHours / HoursPerDay);\n } else {\n this.years = 0;\n this.months = 0;\n this.days = 0;\n }\n },\n\n /**\n * partsChanged is the handler for one of the years, months or days fields\n * being changed internally.\n */\n partsChanged(): void {\n this.$emit('input', this.computedDurationInHours);\n },\n\n /**\n * numbersOnly is the keypress handler for the years, months and days fields.\n * It ignores all non-numeric input.\n */\n numbersOnly(evt: any): boolean {\n evt = evt ? evt : window.event;\n const charCode = evt.which ? evt.which : evt.keyCode;\n if (\n charCode > 31 && // Below 31 are control codes like tab\n (charCode < 48 || charCode > 57) && // 48-57 are the digis 0-9\n charCode !== 46 // 46 is the decimal point\n ) {\n evt.preventDefault();\n return false;\n } else {\n return true;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImprisonmentDurationField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImprisonmentDurationField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ImprisonmentDurationField.vue?vue&type=template&id=653b8f04&\"\nimport script from \"./ImprisonmentDurationField.vue?vue&type=script&lang=ts&\"\nexport * from \"./ImprisonmentDurationField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-simple-table',{staticClass:\"pa-4 grey lighten-2\"},[_c('tbody',[_c('tr',_vm._l((_vm.filteredImprisonmentDurations),function(imprisonmentDuration,index){return _c('td',{key:'imprisonmentDuration' + index,staticClass:\"text-center\",class:{\n 'font-weight-bold': _vm.inRange(imprisonmentDuration.id),\n },staticStyle:{\"pointer-events\":\"none\"}},[_vm._v(\" \"+_vm._s(imprisonmentDuration.name[_vm.locale])+\" \"),_c('br'),(imprisonmentDuration.id != 1)?_c('span',[_vm._v(\">\")]):_vm._e(),_c('Duration',{attrs:{\"hours\":imprisonmentDuration.minimumHours}}),_vm._v(\" - \"),_c('Duration',{attrs:{\"hours\":imprisonmentDuration.maximumHours}})],1)}),0)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport _ from 'lodash';\nimport { mapState } from 'vuex';\n\nexport default Vue.extend({\n props: {\n minDuration: {\n type: Object,\n required: false,\n },\n maxDuration: {\n type: Object,\n required: false,\n },\n },\n computed: {\n ...mapState('crime', ['imprisonmentDurations']),\n ...mapState('language', ['locale']),\n filteredImprisonmentDurations() {\n // Get all except unknown duration\n return this.imprisonmentDurations.slice(\n 1,\n this.imprisonmentDurations.length,\n );\n },\n },\n methods: {\n inRange(currentDurationID: number): boolean {\n const minimumDurationBoundary: number =\n (this.minDuration && this.minDuration.id) || 0;\n\n let maximumDurationBoundary: number;\n\n if (!this.minDuration && !this.maxDuration) {\n maximumDurationBoundary = 0;\n } else {\n maximumDurationBoundary =\n (this.maxDuration && this.maxDuration.id + 1) ||\n this.imprisonmentDurations.length;\n }\n\n return _.inRange(\n currentDurationID,\n minimumDurationBoundary,\n maximumDurationBoundary,\n );\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImprisonmentDurationsLegend.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImprisonmentDurationsLegend.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ImprisonmentDurationsLegend.vue?vue&type=template&id=67ceb75f&\"\nimport script from \"./ImprisonmentDurationsLegend.vue?vue&type=script&lang=ts&\"\nexport * from \"./ImprisonmentDurationsLegend.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VSimpleTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-text-field',{attrs:{\"label\":_vm.label},on:{\"input\":function($event){return _vm.updateValue()}},model:{value:(_vm.displayedValue),callback:function ($$v) {_vm.displayedValue=$$v},expression:\"displayedValue\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nexport default Vue.extend({\n props: {\n label: {\n type: String,\n default: '',\n },\n value: {\n type: Array,\n default: () => [] as number[],\n },\n },\n created() {\n this.valueChangedFromOutside(this.value);\n },\n data() {\n return {\n realValue: [] as number[],\n displayedValue: null as string | null,\n };\n },\n watch: {\n value(newValue) {\n this.valueChangedFromOutside(newValue);\n },\n },\n methods: {\n valueChangedFromOutside(newValue) {\n if (newValue) {\n this.realValue = newValue;\n this.displayedValue = this.realValue.join(', ');\n } else {\n this.displayedValue = null;\n this.realValue = [];\n }\n },\n updateValue() {\n if (!this.displayedValue) {\n this.realValue = [];\n } else {\n this.realValue = _.uniq(\n _.compact(\n this.displayedValue.split(/\\s*[, ]\\s*/).map((s) => parseInt(s, 10)),\n ),\n );\n this.displayedValue = this.realValue.join(', ');\n }\n this.$emit('input', this.realValue);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntArrayField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntArrayField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IntArrayField.vue?vue&type=template&id=4a376a9a&\"\nimport script from \"./IntArrayField.vue?vue&type=script&lang=ts&\"\nexport * from \"./IntArrayField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-text-field',{attrs:{\"clearable\":_vm.clearable,\"hint\":_vm.hint,\"loading\":_vm.loading,\"label\":_vm.label,\"persistent-hint\":_vm.persistentHint,\"single-line\":_vm.singleLine,\"readonly\":_vm.readonly,\"hide-details\":_vm.hideDetails,\"suffix\":_vm.suffix,\"prefix\":_vm.prefix,\"placeholder\":_vm.placeholder,\"rules\":_vm.combinedRules},model:{value:(_vm.internalValue),callback:function ($$v) {_vm.internalValue=$$v},expression:\"internalValue\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nexport default Vue.extend({\n props: {\n value: [Number, String],\n clearable: Boolean,\n label: String,\n hint: String,\n suffix: String,\n prefix: String,\n placeholder: String,\n readonly: Boolean,\n persistentHint: Boolean,\n hideDetails: Boolean,\n singleLine: Boolean,\n loading: Boolean,\n rules: Array,\n },\n data() {\n return {\n internalValue: '',\n };\n },\n computed: {\n combinedRules(): any[] {\n return [\n (v) =>\n Number.isFinite(Number(v)) ||\n this.$i18n.t('error.numeric').toString(),\n ...(this.rules || []),\n ];\n },\n },\n created() {\n this.valueChangedFromOutside(this.value);\n },\n watch: {\n value(val: any) {\n this.valueChangedFromOutside(val);\n },\n internalValue(val: any) {\n this.inputChanged(val);\n },\n },\n methods: {\n /**\n * inputChanged is the event handler for modifications made to our internal\n * textfield component. These changes originate from the user's keyboard\n * typing in the input control.\n *\n * This method is responsible for converting the string input in the text\n * field into a Number-typed output, with the Number 0 being returned if\n * the input wasn't parseable as a Number.\n */\n inputChanged(newValue: any): void {\n // input is now a blank string, which means a 0 integer value\n // so we emit that and return immediately.\n if (newValue === '') {\n this.$emit('input', 0);\n return;\n }\n\n if (Number.isFinite(Number(newValue))) {\n // Valid number parsed, emit it.\n this.$emit('input', Number(newValue));\n } else {\n // No valid number found. Emit 0 instead.\n this.$emit('input', 0);\n }\n },\n\n /**\n * valueChangedFromOutside is the event handler for modifications made to\n * the value prop on this component. It fires when anything outside this\n * component changes its value, including when the initial value is first\n * set when the component is created.\n */\n valueChangedFromOutside(newValue: any): void {\n // Convert to string\n let strVal = (newValue || '').toString();\n\n // If the value was set externally to zero (or a value for which\n // parseInt returns 0), we want the internal text field to be blank\n // instead of the number 0.\n if (strVal === '0' || parseInt(strVal, 10) === 0 || strVal === '') {\n strVal = '';\n this.$emit('input', 0);\n }\n\n this.internalValue = strVal;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IntField.vue?vue&type=template&id=02c3fad0&\"\nimport script from \"./IntField.vue?vue&type=script&lang=ts&\"\nexport * from \"./IntField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.cols && _vm.showThisField)?_c('v-col',{staticClass:\"cy-labeled-data\",attrs:{\"cols\":_vm.cols,\"xl\":_vm.xl,\"lg\":_vm.lg,\"md\":_vm.md,\"sm\":_vm.sm,\"xs\":_vm.xs}},[_c('div',{staticClass:\"text-caption\"},[_vm._v(_vm._s(_vm.computedLabel))]),_c('div',{staticClass:\"subtitle-1 preserve-whitespace\"},[_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.computedValue)+_vm._s(_vm.suffix))]})],2)]):_c('div',[(_vm.showThisField)?_c('div',[_c('div',{staticClass:\"text-caption\"},[_vm._v(_vm._s(_vm.computedLabel))]),_c('div',{staticClass:\"subtitle-1 preserve-whitespace\"},[_vm._v(\" \"+_vm._s(_vm.computedValue)+_vm._s(_vm.suffix)+\" \")])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState, mapGetters } from 'vuex';\n\nimport i18n from '@/i18n';\n\nexport default Vue.extend({\n props: {\n cols: {\n type: [String, Number],\n },\n xl: {\n required: false,\n type: String,\n },\n lg: {\n required: false,\n type: String,\n },\n md: {\n required: false,\n type: String,\n },\n sm: {\n required: false,\n type: String,\n },\n xs: {\n required: false,\n type: String,\n },\n label: String,\n pluralLabel: {\n required: false,\n type: String, // optionally pass in a specific plural label for collections\n },\n suffix: String,\n value: {\n type: [String, Array, Number, Boolean],\n default: null,\n },\n lookupTable: String,\n includeUnknown: Boolean,\n },\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['nameForIDInCollection']),\n showThisField(): boolean {\n if (this.$slots && this.$slots.default) {\n return true;\n }\n\n if (this.computedValue === '') {\n return false;\n }\n\n if (this.includeUnknown) {\n return true;\n }\n\n return !!this.computedValue && this.computedValue !== '0';\n },\n computedLabel(): string {\n if (\n this.pluralLabel &&\n Array.isArray(this.value) &&\n this.value.length > 1\n ) {\n return `${this.pluralLabel}`;\n } else {\n return `${this.label}`;\n }\n },\n computedValue(): string {\n if (this.value === null || this.value === undefined) {\n return '';\n }\n\n if (Array.isArray(this.value)) {\n if (this.lookupTable) {\n return _.chain([this.value])\n .flatten()\n .map((id) => this.nameForIDInCollection(id, this.lookupTable))\n .value()\n .join(', ');\n } else {\n return `${this.value.join(', ')}`;\n }\n } else if (this.value === true || this.value === false) {\n return this.value\n ? i18n.t('command.yes').toString()\n : i18n.t('command.no').toString();\n } else {\n if (this.lookupTable) {\n if (this.value || (this.value === 0 && this.includeUnknown)) {\n return this.nameForIDInCollection(this.value, this.lookupTable);\n } else {\n return '';\n }\n }\n return `${this.value}`;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LabeledData.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LabeledData.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LabeledData.vue?vue&type=template&id=0379f457&\"\nimport script from \"./LabeledData.vue?vue&type=script&lang=ts&\"\nexport * from \"./LabeledData.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_vm._v(_vm._s(_vm.landArea))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport Vue from 'vue';\nimport i18n from '@/i18n';\n\nexport default Vue.extend({\n props: {\n value: Number,\n },\n computed: {\n landArea(): string {\n if (!this.value) {\n return '';\n }\n\n if (this.value % 2000 === 0) {\n const strVal = (this.value / 2000).toLocaleString();\n return `${strVal} ${i18n.t('area.jerib')}`;\n }\n\n if (this.value % 100 === 0) {\n const strVal = (this.value / 100).toLocaleString();\n return `${strVal} ${i18n.t('area.biswa')}`;\n }\n\n if (this.value % 5 === 0) {\n const strVal = (this.value / 5).toLocaleString();\n return `${strVal} ${i18n.t('area.biswasa')}`;\n }\n\n const strVal = this.value.toLocaleString();\n return `${strVal} ${i18n.t('area.squaremeter')}`;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LandArea.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LandArea.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LandArea.vue?vue&type=template&id=2602da44&\"\nimport script from \"./LandArea.vue?vue&type=script&lang=ts&\"\nexport * from \"./LandArea.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"pr-2\",attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"clearable\":_vm.clearable,\"hint\":_vm.hint,\"loading\":_vm.loading,\"label\":_vm.label,\"persistent-hint\":_vm.persistentHint,\"single-line\":_vm.singleLine,\"readonly\":_vm.readonly,\"hide-details\":_vm.hideDetails,\"prefix\":_vm.prefix,\"rules\":_vm.rules,\"disabled\":_vm.disabled},on:{\"blur\":_vm.emit},model:{value:(_vm.internalValue),callback:function ($$v) {_vm.internalValue=$$v},expression:\"internalValue\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-select',{attrs:{\"items\":_vm.unitsOptions,\"disabled\":_vm.disabled},on:{\"blur\":_vm.emit},model:{value:(_vm.units),callback:function ($$v) {_vm.units=$$v},expression:\"units\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport i18n from '@/i18n';\n\nenum Units {\n Jerib = 1,\n Biswa = 2,\n Biswasa = 3,\n SquareMeter = 4,\n}\nconst AllUnits = [Units.Jerib, Units.Biswa, Units.Biswasa, Units.SquareMeter];\n\nexport default Vue.extend({\n props: {\n value: Number,\n clearable: Boolean,\n label: String,\n hint: String,\n prefix: String,\n disabled: Boolean,\n readonly: Boolean,\n persistentHint: Boolean,\n hideDetails: Boolean,\n singleLine: Boolean,\n loading: Boolean,\n rules: Array,\n },\n data() {\n return {\n internalValue: 0,\n units: Units.Jerib,\n };\n },\n created() {\n this.outsideValueChanged(this.value);\n },\n computed: {\n /**\n * unitsOptions builds the v-select choice values for the unit\n * selector dropdown control.\n */\n unitsOptions(): any[] {\n return AllUnits.map((u: Units) => {\n const translationKey = 'area.' + Units[u].toLowerCase();\n return {\n value: u,\n text: i18n.t(translationKey).toString(),\n };\n });\n },\n },\n watch: {\n value(newValue: number) {\n this.outsideValueChanged(newValue);\n },\n },\n methods: {\n /**\n * outsideValueChanged is the event that is fired when the v-model prop\n * is provided with a new value. We always interpret this value as\n * being in Square Meters, so we update the internal units to Square Meters and\n * perform a reduction.\n */\n outsideValueChanged(newVal: number): void {\n this.internalValue = newVal;\n this.units = Units.SquareMeter;\n this.reduce();\n },\n\n /**\n * emit notifies v-model consumers of the current value via the 'emit'\n * event. We always $emit in Square Meters, regardless of what the internally\n * displayed units are.\n */\n emit(): void {\n this.reduce();\n const val = this.toSquareMeters(this.internalValue, this.units);\n this.$emit('input', val);\n },\n\n /**\n * reduce converts the current internal value + units into the simplest\n * (i.e. \"most reduced\") form. This function has no effect on the\n * externally data-bound (e.g. \"emitted\") value, it merely changes the\n * internal display of that value to be in the simplest form.\n */\n reduce(): void {\n const squareMeters = this.toSquareMeters(this.internalValue, this.units);\n if (squareMeters % 2000 === 0) {\n this.internalValue = squareMeters / 2000;\n this.units = Units.Jerib;\n } else if (squareMeters % 100 === 0) {\n this.internalValue = squareMeters / 100;\n this.units = Units.Biswa;\n } else if (squareMeters % 5 === 0) {\n this.internalValue = squareMeters / 5;\n this.units = Units.Biswasa;\n } else {\n this.internalValue = squareMeters;\n this.units = Units.SquareMeter;\n }\n },\n\n /**\n * toSquareMeters takes a value and unit and converts to Square Meters. This is a\n * a no-op is the provided units are already in Square Meters.\n */\n toSquareMeters(val: number, unit: Units): number {\n switch (unit) {\n case Units.Jerib:\n return val * 2000;\n case Units.Biswa:\n return val * 100;\n case Units.Biswasa:\n return val * 5;\n default:\n return val;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LandAreaField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LandAreaField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LandAreaField.vue?vue&type=template&id=74dd42fa&\"\nimport script from \"./LandAreaField.vue?vue&type=script&lang=ts&\"\nexport * from \"./LandAreaField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VSelect,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-autocomplete',{attrs:{\"label\":_vm.label || _vm.$t('department.legacyDepartment'),\"value\":_vm.value,\"items\":_vm.legacyDepartmentChoices,\"rules\":_vm.rules,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"loading\":_vm.loading,\"clearable\":_vm.clearable,\"multiple\":_vm.multiple,\"chips\":_vm.chips,\"error-messages\":_vm.errorMessages},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"change\":function($event){return _vm.$emit('change', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport axios from 'axios';\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\n\nimport { TranslatedString } from '@/lib/translated';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\n// ROOTID is the topmost item in the legacy database (it's the\n// Islamic Republic of Afghanistan entry)\nconst ROOTID = 1000000001;\n\nexport default Vue.extend({\n props: {\n label: String,\n value: [Number, Array],\n rules: Array,\n disabled: Boolean,\n readonly: Boolean,\n clearable: Boolean,\n multiple: Boolean,\n chips: Boolean,\n },\n data() {\n return {\n loading: false,\n ids: [] as number[],\n nameLookup: {} as {\n [id: number]: { id: number; name: TranslatedString; parentID: number };\n },\n isExpanded: {} as { [id: number]: boolean },\n errorMessages: [] as string[],\n };\n },\n created() {\n this.fetchData();\n },\n computed: {\n ...mapState('language', ['locale']),\n\n /**\n * legacyDepartmentChoices builds the dropdown choice items. Most of\n * the processing has been pre-done, but we need to choose the active\n * locale and then sort the result here so that the component translates\n * on the fly when the locale is changed.\n */\n legacyDepartmentChoices(): VSelectItem[] {\n const choices = Object.values(this.nameLookup);\n return _.chain(this.ids)\n .map((id: number) => ({\n value: id,\n text: this.nameLookup[id].name[this.locale],\n }))\n .sortBy('text')\n .value();\n },\n },\n methods: {\n /**\n * fetchData pulls the legacy department list from a static Github Gist\n * file and processes the raw data into a lookup table.\n */\n async fetchData(): Promise {\n this.loading = true;\n this.errorMessages = [];\n const url =\n 'https://gist.githubusercontent.com/adlio/e517e68d26de2d09054bc67dd1a5d4d4/raw/3911c9ac68eb159e7e17629587f12c0d9c726a66/login_departments.json';\n try {\n const response = await axios.get(url);\n if (response && response.data) {\n this.processData(response.data);\n } else {\n this.errorMessages = ['API Request Failed'];\n }\n } catch (err) {\n this.errorMessages = [err];\n }\n this.loading = false;\n },\n\n /**\n * processData accepts the raw API data input, and processes it into the\n * nameLookup table and the ids array so that we can efficiently build\n * the dropdown choices\n */\n processData(entries: any[]): void {\n // Reset our internal storage\n this.ids = [];\n this.nameLookup = {};\n this.isExpanded = {};\n\n // First pass:\n // Update values in the name lookup table, which will hold the raw data\n // and an ids array which will aid iteration tasks.\n for (const entry of entries) {\n // First update the lookup table. We want every entry stored in the\n // loookup table\n Vue.set(this.nameLookup, entry.org_id, {\n id: entry.org_id,\n name: {\n en: entry.org_nameen || '',\n fa: entry.org_namedr || '',\n ps: entry.org_namepa || '',\n },\n parentID: entry.org_parent || 0,\n });\n\n // Not every entry gets added to the ids array. This allows us to\n // exclude certain items from being chosen, but lets them exist as\n // a parent entry so that expandNames can find them.\n\n // Skip blank entries\n if (!entry.org_nameen) {\n continue;\n }\n\n // Skip inactive entries\n if (entry.org_active === 0) {\n continue;\n }\n\n this.ids.push(entry.org_id);\n }\n\n // Second pass:\n // Expand names by prepending the names of parents. We can't do this\n // until we're sure every parent is already in the lookup table.\n for (const id of this.ids) {\n this.expandNames(id);\n }\n },\n\n /**\n * expandNames recursively processes an item in our nameLookup table,\n * prepending the names of all parents except the country-level item.\n */\n expandNames(id: number): void {\n // Avoid re-processing already expanded items\n if (this.isExpanded[id]) {\n return;\n }\n\n const item = this.nameLookup[id];\n const parentID = item.parentID;\n if (parentID > 0) {\n // First make sure the parent is processed. This will exit quickly\n this.expandNames(parentID);\n if (parentID !== ROOTID) {\n const parent = this.nameLookup[parentID];\n item.name = {\n en: parent.name.en + ' :: ' + item.name.en,\n fa: parent.name.fa + ' :: ' + item.name.fa,\n ps: parent.name.ps + ' :: ' + item.name.ps,\n };\n }\n }\n\n this.isExpanded[id] = true;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyDepartmentSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyDepartmentSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LegacyDepartmentSelector.vue?vue&type=template&id=9507df86&\"\nimport script from \"./LegacyDepartmentSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./LegacyDepartmentSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\ninstallComponents(component, {VAutocomplete})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"max-width\":\"340\",\"close-on-click\":true,\"close-on-content-click\":false,\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-text-field',_vm._b({attrs:{\"value\":_vm.valueForDisplay,\"prepend-icon\":\"event\",\"disabled\":_vm.disabled,\"label\":_vm.label,\"hint\":_vm.hint,\"clearable\":_vm.clearable,\"rules\":_vm.rules,\"readonly\":\"\"},on:{\"focus\":function($event){!_vm.readonly && !_vm.valueForDisplay && _vm.open(on, $event)},\"click\":function($event){!_vm.readonly && _vm.open(on, $event)},\"click:clear\":function($event){return _vm.$emit('input', '')}}},'v-text-field',attrs,false))]}}]),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-card',[_c('v-tabs',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.withTime),expression:\"withTime\"}],attrs:{\"fixed-tabs\":\"\"},model:{value:(_vm.activeTab),callback:function ($$v) {_vm.activeTab=$$v},expression:\"activeTab\"}},[_c('v-tab',{attrs:{\"href\":\"#date\"}},[_c('v-icon',[_vm._v(\"event\")])],1),(_vm.withTime)?_c('v-tab',{attrs:{\"href\":\"#time\",\"disabled\":!this.datePart}},[_c('v-icon',[_vm._v(\"access_time\")])],1):_vm._e()],1),_c('v-tabs-items',{model:{value:(_vm.activeTab),callback:function ($$v) {_vm.activeTab=$$v},expression:\"activeTab\"}},[_c('v-tab-item',{attrs:{\"value\":\"date\"}},[_c('v-date-picker',{ref:\"datePicker\",attrs:{\"locale\":_vm.locale == 'en' ? 'en' : 'fa',\"no-title\":\"\",\"max\":_vm.normalizedMaxDate,\"header-date-format\":_vm.toLocalizedMonthName,\"month-format\":_vm.toLocalizedMonthName,\"full-width\":\"\",\"active-picker\":_vm.initialPicker},on:{\"input\":_vm.dateSelected},model:{value:(_vm.datePart),callback:function ($$v) {_vm.datePart=$$v},expression:\"datePart\"}})],1),_c('v-tab-item',{attrs:{\"value\":\"time\"}},[_c('v-time-picker',{ref:\"timePicker\",attrs:{\"full-width\":\"\",\"format\":\"24hr\",\"color\":\"secondary\",\"allowed-minutes\":_vm.allowedMinutes},model:{value:(_vm.timePart),callback:function ($$v) {_vm.timePart=$$v},expression:\"timePart\"}})],1)],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_vm._t(\"actions\",function(){return [_c('v-btn',{attrs:{\"color\":\"error\",\"small\":\"\",\"text\":\"\"},on:{\"click\":function($event){return _vm.close()}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.cancel'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"accent\"},on:{\"click\":function($event){return _vm.save()}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.ok'))+\" \")])]},{\"parent\":this})],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport moment from 'moment-timezone';\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\n\nimport { toLocalizedDate, toLocalizedMonthName } from '@/lib/dates';\n\nconst TZPart = '+04:30';\n\nexport default Vue.extend({\n props: {\n /**\n * value is our v-model data-bound prop. It stores an ISO8601 Date or\n * DateTime, always in Gregorian date format. All Jalaali dates are computed\n * from this value on the fly.\n */\n value: String,\n label: String,\n hint: String,\n disabled: Boolean,\n readonly: Boolean,\n clearable: Boolean,\n rules: Array,\n max: String,\n pastDatesOnly: Boolean,\n yearFirst: Boolean,\n withTime: Boolean,\n minuteIncrement: {\n type: Number,\n default: 15,\n },\n },\n\n created(): void {\n /**\n * The delay here is required because of the bug documented here:\n * https://github.com/vuetifyjs/vuetify/issues/9129\n *\n * The combination of :close-on-click=\"true\" (which closes the menu)\n * if the user clicks elsewhere on the page (a feature we want) interacts\n * with the @focus event such that the click is reported after the focus\n * has already triggered the menu to open. By delaying the open signal\n * for several milliseconds, we end up with both events triggering before\n * the dialog is opened.\n */\n this.open = _.debounce(this.open, 100);\n },\n\n data(): any {\n return {\n isOpen: false,\n activeTab: 'date',\n\n datePart: '',\n timePart: '',\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n\n /**\n * normalizedMaxDate controls the interaction between the pastDatesOnly and\n * max props. If pastDatesOnly is true, then we ignore the max prop.\n * Otherwise, max is passed-through to the underlying v-date-picker.\n */\n normalizedMaxDate(): string | undefined {\n if (this.pastDatesOnly) {\n return moment.tz('Asia/Kabul').endOf('day').format('YYYY-MM-DD');\n }\n return this.max;\n },\n\n /**\n * valueForDisplay controls what value is displayed in the text box. We\n * always display the \"bound\" value, which is only modified after the user\n * clicks the OK/Save button on the dialog.\n */\n valueForDisplay(): string {\n return toLocalizedDate(this.value, this.withTime);\n },\n\n /*\n * combinedISO8601Value combines the two widget-bound internal values\n * (datePart and timePart) into a combined value in ISO8601 format (always\n * in Gregorian calendar format). If the withTime prop is false, this\n * function will omit the time portion.\n */\n combinedISO8601Value(): string {\n if (!this.datePart) {\n return '';\n }\n\n let val = this.datePart;\n if (this.withTime) {\n val += 'T' + this.timePart + ':00' + TZPart;\n }\n return val;\n },\n\n /*\n * allowedMinutes computes the value of the same name for the v-time-picker\n * from the minuteIncrement prop on this component. If not supplied, we\n * return undefined, which causes the time picker to show all minutes\n * as selectable.\n */\n allowedMinutes(): number[] | undefined {\n if (this.minuteIncrement === 1) {\n return undefined;\n }\n const allowed = [] as number[];\n for (let i = 0; i < 60; i += this.minuteIncrement) {\n allowed.push(i);\n }\n return allowed;\n },\n\n /**\n * initialPicker computes whether the picker should be shown for the year\n * initially, or a full date picker initially. When choosing someone's\n * birthdate, the year is the best initial picker to use.\n */\n initialPicker(): string {\n if (this.yearFirst) {\n return 'YEAR';\n } else {\n return 'DATE';\n }\n },\n },\n\n watch: {\n value: {\n immediate: true,\n handler(newValStr: string) {\n this.valueChangedOutside(newValStr);\n },\n },\n\n isOpen(nowOpen: boolean) {\n if (nowOpen) {\n this.activeTab = 'date';\n this.resetPickersToValue();\n }\n },\n\n withTime(newWithTime: boolean) {\n if (newWithTime && this.timePart === '') {\n // If we weren't tracking a time before, then we need to initialize a\n // default time when withTime is set. We arbitrarily chose noon.\n this.timePart = '12:00';\n }\n\n // Changing the withTime prop means our data-bound value should be\n // adjusted to either include or omit the time part, so we need to\n // trigger an emit.\n this.emitDate();\n },\n },\n\n methods: {\n toLocalizedMonthName,\n\n /**\n * open triggers the\n */\n open(on: any, $event: any): void {\n on.click($event);\n },\n\n /*\n * valueChangedOutside handles any scenario where the data-bound value\n * was changed outside this component. It is responsible for updating\n * internal representations. External data binding is accepted ONLY in\n * ISO8601 format.\n */\n valueChangedOutside(newVal: string): void {\n this.resetPickersToValue();\n\n // Special case handler: The process of resetting the internal values\n // itself resulted in the value being changed. This could happen when\n // the withTime prop and the external value don't match (e.g. time provided\n // when not desired, or vice versa), in which case the time part may have\n // been added or removed.\n const result = this.combinedISO8601Value;\n if (result && result !== newVal) {\n this.emitDate();\n }\n },\n\n /*\n * resetPickersToValue updates the internal datePart and timePart variables\n * (which the date-picker and time-picker bind with) to make sure they match\n * the current value for this component. This needs to be done anytime\n * the value is changed from outside, and anytime the menu is opened (to\n * reset any modifications the user may have made previously).\n */\n resetPickersToValue(): void {\n if (!this.value) {\n this.datePart = '';\n this.timePart = '';\n return;\n }\n const m = moment.tz(this.value, 'Asia/Kabul');\n this.datePart = m.format('YYYY-MM-DD');\n if (!this.withTime) {\n this.timePart = '';\n } else {\n if (this.value.length > 10) {\n this.timePart = m.format('HH:mm');\n } else {\n this.timePart = '12:00';\n }\n }\n },\n\n /*\n * emitDate notifies v-model consumers of this component that the value has\n * changed. We always emit the combined date + time value (time only\n * included when the withTime prop is true).\n */\n emitDate(): void {\n this.$emit('input', this.combinedISO8601Value);\n },\n\n /*\n * save is the handler for the OK button in the menu. We don't $emit the\n * newly selected values until the user clicks the OK button so that\n */\n save(): void {\n this.emitDate();\n this.close();\n },\n\n /*\n * dateSelected is the handler called when the user has selected a new date\n * on the date tab.\n */\n dateSelected() {\n if (this.withTime) {\n this.timePart = '12:00';\n this.activeTab = 'time';\n if (this.$refs.timePicker) {\n this.$refs.timePicker.selectingHour = true;\n }\n }\n },\n\n /**\n * close dismisses the dialog interface and resets it back to\n * its default values. This function is called immediately when\n * cancel is clicked and called eventually (after emitting) when\n * OK is clicked.\n */\n close() {\n this.isOpen = false;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleDateEntry.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleDateEntry.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LocaleDateEntry.vue?vue&type=template&id=1e08151e&\"\nimport script from \"./LocaleDateEntry.vue?vue&type=script&lang=ts&\"\nexport * from \"./LocaleDateEntry.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTimePicker } from 'vuetify/lib/components/VTimePicker';\ninstallComponents(component, {VBtn,VCard,VCardActions,VDatePicker,VDivider,VIcon,VMenu,VSpacer,VTab,VTabItem,VTabs,VTabsItems,VTextField,VTimePicker})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"LocaleDateRange\",attrs:{\"id\":_vm.attachID}},[_c('div',{staticClass:\"d-flex flex-row justify-space-around align-center\"},[(!_vm.showTwoFields)?_c('v-text-field',{attrs:{\"label\":_vm.label || _vm.$t('daterange.label'),\"value\":_vm.selectedRange ? _vm.selectedRange.label() : _vm.combinedText,\"prepend-icon\":\"event\",\"placeholder\":\" \",\"hint\":_vm.hint,\"persistentHint\":_vm.persistentHint,\"readonly\":\"\",\"append-icon\":\"$dropdown\",\"disabled\":_vm.disabled},on:{\"focus\":_vm.open,\"click\":_vm.open}}):_vm._e(),(_vm.showTwoFields)?_c('v-text-field',{attrs:{\"label\":_vm.label || _vm.$t('daterange.label'),\"value\":_vm.toLocalizedDate(_vm.startDate),\"prepend-icon\":\"event\",\"placeholder\":\" \",\"readonly\":\"\",\"append-icon\":\"$dropdown\",\"disabled\":_vm.disabled},on:{\"focus\":_vm.open,\"click\":_vm.open}}):_vm._e(),(_vm.showTwoFields)?_c('span',{staticClass:\"mx-4\"},[_vm._v(\"—\")]):_vm._e(),(_vm.showTwoFields)?_c('v-text-field',{attrs:{\"value\":_vm.toLocalizedDate(_vm.endDate),\"prepend-icon\":\"event\",\"placeholder\":\" \",\"readonly\":\"\",\"append-icon\":\"$dropdown\",\"disabled\":_vm.disabled},on:{\"focus\":_vm.open,\"click\":_vm.open}}):_vm._e()],1),_c('v-menu',{attrs:{\"attach\":'#' + _vm.attachID,\"width\":\"400\",\"min-width\":_vm.selectingDates ? 650 : 400,\"max-height\":_vm.selectingDates ? 550 : 300,\"nudge-bottom\":\"40\",\"offset-y\":\"\",\"close-on-click\":true,\"close-on-content-click\":false},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[(!_vm.selectingDates)?_c('v-sheet',[_c('v-list',_vm._l((_vm.ranges),function(rng){return _c('v-list-item',{key:rng.key,on:{\"click\":function($event){return _vm.rangeSelected(rng)}}},[_c('v-list-item-title',[(!rng.dates())?_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-calendar-alt\")]):_vm._e(),_vm._v(\" \"+_vm._s(rng.label())+\" \")],1)],1)}),1)],1):_vm._e(),(_vm.selectingDates)?_c('v-sheet',[_c('v-row',{staticClass:\"mx-2\",attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"d-flex flex-row justify-space-around font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('daterange.start'))+\" \"),_c('v-btn',{attrs:{\"text\":\"\",\"x-small\":\"\",\"color\":\"error\"},on:{\"click\":function($event){_vm.customStartDate = ''}}},[_c('v-icon',{attrs:{\"x-small\":\"\",\"left\":\"\"}},[_vm._v(\" fa-times-circle \")]),_vm._v(\" \"+_vm._s(_vm.$t('command.clear'))+\" \")],1)],1),_c('v-date-picker',{attrs:{\"header-date-format\":_vm.toLocalizedMonthName,\"locale\":_vm.locale == 'en' ? 'en' : 'fa',\"max\":_vm.customEndDate ? _vm.customEndDate : '',\"show-current\":false},model:{value:(_vm.customStartDate),callback:function ($$v) {_vm.customStartDate=$$v},expression:\"customStartDate\"}}),_c('div')],1),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"d-flex flex-row justify-space-around font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('daterange.end'))+\" \"),_c('v-btn',{attrs:{\"text\":\"\",\"x-small\":\"\",\"color\":\"error\"},on:{\"click\":function($event){_vm.customEndDate = ''}}},[_c('v-icon',{attrs:{\"left\":\"\",\"x-small\":\"\"}},[_vm._v(\" fa-times-circle \")]),_vm._v(\" \"+_vm._s(_vm.$t('command.clear'))+\" \")],1)],1),_c('v-date-picker',{attrs:{\"header-date-format\":_vm.toLocalizedMonthName,\"locale\":_vm.locale == 'en' ? 'en' : 'fa',\"min\":_vm.customStartDate ? _vm.customStartDate : '',\"show-current\":false},model:{value:(_vm.customEndDate),callback:function ($$v) {_vm.customEndDate=$$v},expression:\"customEndDate\"}})],1)],1),_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\",\"color\":\"error\"},on:{\"click\":function($event){return _vm.close()}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.cancel'))+\" \")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"color\":\"accent\"},on:{\"click\":function($event){return _vm.save()}}},[_vm._v(\" \"+_vm._s(_vm.$t('command.ok'))+\" \")])],1)],1)],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _ from 'lodash';\nimport VueI18n from 'vue-i18n';\nimport moment from 'moment-timezone';\nimport jmoment from 'moment-jalaali';\nimport i18n from '@/i18n';\n\n/**\n * DateRangeOption defines a choice in the list of predefined date ranges\n * in the dropdown. This interface wraps\n */\nexport interface DateRangeOption {\n /**\n * key is the unique identifier for this date range. Required. Will be used\n * as the translation key unless a label() function is provided.\n */\n key: string;\n\n /**\n * label is a property which defines the function which will be\n * called to get the display label.\n */\n label: () => string | VueI18n.TranslateResult;\n\n /**\n * dates is a required property which defines the function which will be\n * called to generate the dates which should be used for this DateRangeOption.\n */\n dates: () => [string, string] | undefined;\n}\n\n/**\n * EmptyDateRange defines the selection which represents an empty start and\n * end date. With a label indicating the selection is for events on any dates.\n */\nexport const EmptyDateRange = {\n key: 'anytime',\n label() {\n return i18n.t('daterange.empty');\n },\n dates(): [string, string] {\n return ['', ''];\n },\n};\n\nexport const CustomDateRange = {\n key: 'custom',\n label() {\n return i18n.t('daterange.custom');\n },\n dates(): undefined {\n return undefined;\n },\n};\n\nexport function allDateRanges(): DateRangeOption[] {\n let mom = moment;\n if (i18n.locale !== 'en') {\n mom = jmoment;\n }\n\n const items: DateRangeOption[] = [];\n\n items.push(EmptyDateRange);\n items.push(CustomDateRange);\n\n // Current Week, Month, Year, etc\n items.push(current('week'), current('month'));\n if (i18n.locale === 'en') {\n // moment-jalaali doesn't support startOf() or subtract() 'quarter'\n items.push(current('quarter'));\n }\n items.push(current('year'));\n\n // Prior Week, Month, Year, etc\n items.push(prior('week'), prior('month'));\n if (i18n.locale === 'en') {\n // moment-jalaali doesn't support startOf() or subtract() 'quarter'\n items.push(prior('quarter'));\n }\n items.push(prior('year'));\n\n // Last N Days\n items.push(lastNDays(30), lastNDays(60), lastNDays(90), lastNDays(365));\n\n return items;\n}\n\n/**\n * current builds a DateRangeOption representing a current time period (e.g.\n * Current Year, Current Month, Current Week). The jalaali-moment library\n * doesn't support date math for Quarters, so this function shouldn't be calld\n * with 'quarter' for a Jalaali calendar presentation.\n *\n * @param period A string indicating a moment time period ('week', 'month', 'year', etc)\n * @returns\n */\nfunction current(\n period: moment.unitOfTime.DurationConstructor,\n): DateRangeOption {\n const capitalPeriod = _.capitalize(period);\n return {\n key: `current${capitalPeriod}`,\n label() {\n return i18n.t(`daterange.current${capitalPeriod}`);\n },\n dates() {\n let start: string = '';\n let end: string = '';\n if (i18n.locale !== 'en') {\n start = jmoment().startOf(`j${capitalPeriod}`).format('YYYY-MM-DD'); // prettier-ignore\n end = jmoment().endOf(`j${capitalPeriod}`).format('YYYY-MM-DD'); // prettier-ignore\n } else {\n start = moment().startOf(period).format('YYYY-MM-DD');\n end = moment().endOf(period).format('YYYY-MM-DD');\n }\n return [start, end];\n },\n };\n}\n\n/**\n * prior builds a DateRangeOption representing a prior period (e.g.\n * Previous Year, Previous Month). The jalaali-moment library doesn't support\n * date math for Quarters, so this function shouldn't be called with 'quarter'\n * for a Jalaali calendar presentation.\n *\n * @param period A string indicating a moment time period ('week', 'month', 'year', etc)\n * @returns\n */\nfunction prior(period: moment.unitOfTime.DurationConstructor): DateRangeOption {\n const capitalPeriod = _.capitalize(period);\n return {\n key: 'prior' + capitalPeriod,\n label() {\n return i18n.t(`daterange.prior${capitalPeriod}`);\n },\n dates() {\n let start: string = '';\n let end: string = '';\n\n if (i18n.locale !== 'en') {\n const jUnit = `j${capitalPeriod}`;\n start = jmoment().startOf(jUnit).subtract(1, jUnit).format('YYYY-MM-DD'); // prettier-ignore\n end = jmoment().startOf(jUnit).subtract(1, 'day').format('YYYY-MM-DD'); // prettier-ignore\n } else {\n const startUnit = period as moment.unitOfTime.StartOf;\n const duration = period as moment.unitOfTime.DurationConstructor;\n start = moment().startOf(startUnit).subtract(1, duration).format('YYYY-MM-DD'); // prettier-ignore\n end = moment().startOf(startUnit).subtract(1, 'day').format('YYYY-MM-DD'); // prettier-ignore\n }\n\n return [start, end];\n },\n };\n}\n\n/**\n * lastNDays dynamically builds a DateRangeOption with a start N days ago\n * and an end on today's date. These DateRangeOption's work the same regardless\n * of the calendar system being used.\n *\n * @param n Number of days ago to use as the start of the range\n * @returns\n */\nfunction lastNDays(n: number): DateRangeOption {\n return {\n key: `last${n}Days`,\n label() {\n return i18n.t('daterange.lastNDays', { days: n });\n },\n dates() {\n const start = moment().subtract(n, 'days').format('YYYY-MM-DD');\n const end = moment().format('YYYY-MM-DD');\n return [start, end];\n },\n };\n}\n\nexport function dateRangeFromDates(\n dates: [string, string],\n ranges?: DateRangeOption[],\n): DateRangeOption | undefined {\n if (!ranges || ranges.length === 0) {\n ranges = allDateRanges();\n }\n return _.find(ranges, (range) => {\n const datesForRange = range.dates();\n if (\n datesForRange &&\n datesForRange[0] === dates[0] &&\n datesForRange[1] === dates[1]\n ) {\n return true;\n }\n return false;\n });\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapState } from 'vuex';\n\nimport { toLocalizedDate, toLocalizedMonthName } from '@/lib/dates';\nimport {\n allDateRanges,\n DateRangeOption,\n dateRangeFromDates,\n} from '@/lib/date-range';\n\nexport default Vue.extend({\n props: {\n label: String,\n value: String,\n persistentHint: Boolean,\n disabled: Boolean,\n readonly: Boolean,\n max: String,\n\n twoFields: {\n type: String,\n default: 'when-necessary',\n validator: (v) =>\n ['never', 'always', 'when-blank', 'when-necessary'].indexOf(v) !== -1,\n },\n\n allowCustom: {\n type: Boolean,\n default: true,\n },\n\n initialValue: String,\n },\n\n created() {\n this.attachID = 'LocaleDateRange' + Math.floor(Math.random() * 9999);\n\n /**\n * The delay here is required because of the bug documented here:\n * https://github.com/vuetifyjs/vuetify/issues/9129\n *\n * The combination of :close-on-click=\"true\" (which closes the menu)\n * if the user clicks elsewhere on the page (a feature we want) interacts\n * with the @focus event such that the click is reported after the focus\n * has already triggered the menu to open. By delaying the open signal\n * for several milliseconds, we end up with both events triggering before\n * the dialog is opened.\n */\n this.open = _.debounce(this.open, 100);\n\n if (this.initialValue) {\n const range = _.find(this.ranges, { key: this.initialValue });\n this.rangeSelected(range);\n }\n },\n\n data(): any {\n return {\n /**\n * attachID holds the DOM element ID to which the dialog/menu\n * attaches. It gets set to a random value when the component is\n * created.\n */\n attachID: '',\n\n isOpen: false,\n selectingDates: false,\n\n startDate: '',\n endDate: '',\n\n customStartDate: '',\n customEndDate: '',\n\n /**\n * selectedRange holds the 'key' property from the selected predefined\n * date range object (eg. 'last90Days', or 'currentMonth'). When the\n * 'custom' range is selected, this value will be set to an empty string\n * after specific dates are chosen.\n */\n selectedRange: null as DateRangeOption | null,\n };\n },\n\n computed: {\n ...mapState('language', ['locale']),\n\n /**\n * showTwoFields returns true when two UI fields (start/end dates) need to\n * be shown. This is influenced by the two-fields prop and the currently\n * selected range/value.\n */\n showTwoFields(): boolean {\n switch (this.twoFields) {\n case 'never':\n return false;\n case 'always':\n return true;\n case 'when-blank':\n return !this.selectedRange || this.selectedRange.key === 'anytime';\n case 'when-necessary':\n return !this.selectedRange && this.value !== '';\n default:\n return true;\n }\n },\n\n /**\n * combinedText computes the combined, localized date values displayed\n * as a range (e.g. \"15-Oct-2017 — 30-Oct-2018\"). This powers the hint\n * below the single dropdown when a predefined range is selected, and the\n * text displayed inside the dropdown when no range is selected.\n */\n combinedText(): string {\n const start = toLocalizedDate(this.startDate);\n const end = toLocalizedDate(this.endDate);\n const v = `${start} — ${end}`;\n return v === ' — ' ? '' : v;\n },\n\n /**\n * hint computes the text to display beneath the single dropdown as an\n * explanation of the dates selected (i.e. explaining which dates we mean\n * by \"Current Year\" or \"Last 90 Days\".\n */\n hint(): string {\n if (this.twoFields === 'never' && !this.selectedRange) {\n return '';\n }\n return this.combinedText;\n },\n\n /**\n * commonOptions computes the underlying list of DateRangeOption options that are\n * the basis for all 3 dropdowns (startDate, endDate, and combined).\n */\n ranges(): DateRangeOption[] {\n let ranges = allDateRanges();\n if (!this.allowCustom) {\n ranges = _.reject(ranges, ['key', 'custom']);\n }\n return ranges;\n },\n },\n\n watch: {\n /**\n * value is watched so that changes to the external data-bound value\n * can be parsed and internalized.\n */\n value: {\n immediate: true,\n handler(newVal: string): void {\n this.valueChangedFromOutside(newVal);\n },\n },\n\n /**\n * isOpen is watched to initialize the selection menu settings. When\n * the menu opens, we ensure the datepicker dates match whatever values\n * are current in the component. When the menu closes, we need to disable\n * the date selection mode so that the user can chose next time.\n */\n isOpen(nowOpen: boolean) {\n if (nowOpen) {\n // Opening\n this.customStartDate = this.startDate;\n this.customEndDate = this.endDate;\n } else {\n // Closing\n this.selectingDates = false;\n }\n },\n },\n\n methods: {\n toLocalizedDate,\n toLocalizedMonthName,\n\n /**\n * setDates is the internal handler for any change which modifies the\n * currently selected dates. We want to ensure that both dates change\n * simultaneously with a single $emit of the combined new value to avoid\n * weird side effects from partial updates.\n */\n setDates(dates: [string, string]) {\n this.startDate = dates[0];\n this.endDate = dates[1];\n\n const range = dateRangeFromDates(dates);\n if (range) {\n this.selectedRange = range;\n } else {\n this.selectedRange = null;\n }\n\n const combined = `${this.startDate},${this.endDate}`;\n this.$emit('input', combined === ',' ? '' : combined);\n },\n\n /**\n * rangeSelected is the internal handler for a new choice being made in the\n * menu.\n */\n rangeSelected(range: DateRangeOption): void {\n if (!range) {\n this.selectedRange = null;\n return;\n }\n\n this.selectedRange = range;\n\n const dates = range.dates();\n if (dates) {\n this.setDates(dates);\n this.close();\n return;\n } else {\n this.selectingDates = true;\n }\n },\n\n /**\n * valueChangedFromOutside is the handler triggered when the data-bound\n * value has changed from outside the component. We parse the value, and\n * figure out if it matches any of the predefined shortcut ranges. We set\n * startDate, endDate, and shortcut as appropriate.\n */\n valueChangedFromOutside(newVal: string): void {\n const dates: [string, string] = ['', ''];\n const parts = newVal.split(',');\n if (parts.length > 0) {\n dates[0] = parts[0];\n }\n if (parts.length > 1) {\n dates[1] = parts[1];\n }\n this.setDates(dates);\n },\n\n open(): void {\n this.isOpen = true;\n },\n\n save(): void {\n this.setDates([this.customStartDate || '', this.customEndDate || '']);\n this.close();\n },\n\n close(): void {\n this.isOpen = false;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleDateRange.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleDateRange.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LocaleDateRange.vue?vue&type=template&id=5a13469d&\"\nimport script from \"./LocaleDateRange.vue?vue&type=script&lang=ts&\"\nexport * from \"./LocaleDateRange.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LocaleDateRange.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCol,VDatePicker,VIcon,VList,VListItem,VListItemTitle,VMenu,VRow,VSheet,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.autocomplete)?_c('v-select',{attrs:{\"value\":_vm.value,\"items\":_vm.translatedChoices,\"label\":_vm.label,\"multiple\":_vm.multiple,\"rules\":_vm.rules,\"clearable\":_vm.clearable,\"disabled\":_vm.disabled,\"chips\":_vm.chips,\"deletable-chips\":_vm.deletableChips,\"small-chips\":_vm.smallChips},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"click:clear\":_vm.clear}}):_c('v-autocomplete',{attrs:{\"value\":_vm.value,\"items\":_vm.translatedChoices,\"label\":_vm.label,\"multiple\":_vm.multiple,\"rules\":_vm.rules,\"clearable\":_vm.clearable,\"disabled\":_vm.disabled,\"chips\":_vm.chips,\"deletable-chips\":_vm.deletableChips,\"small-chips\":_vm.smallChips},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"click:clear\":_vm.clear}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport { LookupItem } from '@/vuex/court/options';\nimport { TAll, TUnknown } from '@/lib/translated';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nexport default Vue.extend({\n props: {\n /**\n * items is the Vuex state address this component will pull its\n * choices from. Example usage:\n *\n * items=\"court/attorneyTypes\"\n * items=\"court/summonsModes\"\n * items=\"offender/releaseReasons\"\n * items=\"offender/criminalGroups\"\n *\n */\n items: {\n type: String,\n required: true,\n },\n type: String,\n disabled: Boolean,\n disableSorting: Boolean,\n excludeUnknown: Boolean,\n excludedIDs: Array,\n allowedIDs: Array,\n value: [Number, Array],\n label: String,\n rules: Array,\n multiple: Boolean,\n clearable: Boolean,\n chips: Boolean,\n smallChips: Boolean,\n deletableChips: Boolean,\n autocomplete: Boolean,\n\n /**\n * zeroLabel can be used to override the display of the \"zero\" choice\n * (the one with id == 0). In some contexts (such as when using a selector\n * as a search input) you want the lack of a selection to mean \"All\".\n * In other contexts (such as data entry), you want the lack of an entry\n * to mean \"Unknown\". Use zero-label=\"all\" for the former,\n * and zero-label=\"unknown\" for the latter. Most of the time,\n * zero-label=\"unknown\" is unnecessary because the database value for 0\n * is often already set to that.\n */\n zeroLabel: { type: String },\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('language', ['valueForLocale']),\n\n /**\n * choices builds the raw data which will be displayed as choices in the\n * Dropdown list. We use the string provided as the items prop to retrieve\n * a list of data from the Vuex store. After retrieving those raw elements,\n * we apply some transformations if necessary:\n *\n * - sorting by the rank field (unless sorting is disabled)\n * - removing the 'unknown' choice\n * - filtering out items which have blank names\n */\n choices(): LookupItem[] {\n let choices: LookupItem[] = [];\n\n // Get the choices from the state\n const itemNames = this.items.split('/');\n if (itemNames.length > 1) {\n const moduleName = itemNames[0];\n const variableName = itemNames[1];\n // A deep clone is needed so that transformations below aren't\n // persisted in Vuex State\n choices = _.cloneDeep(this.$store.state[moduleName][variableName]);\n } else {\n // A deep clone is needed so that transformations below aren't\n // persisted in Vuex State\n choices = _.cloneDeep(this.$store.state[this.items]);\n }\n if (!choices) {\n throw new Error(`Could not find \"${this.items}\" in Vuex state.`);\n }\n\n // Filter choices with no name\n choices = _.filter(choices, (c) => {\n return !!c.name;\n });\n\n // Exclude specific choices and/or the unknown value if\n // appropriate props are set\n const excludedIDs = _.flatten([this.excludedIDs || []]);\n if (this.excludeUnknown) {\n excludedIDs.push(0);\n }\n if (excludedIDs.length > 0) {\n choices = _.reject(choices, (c) => {\n return _.includes(excludedIDs, c.id);\n });\n }\n\n // Restrict choices to only those which are allowed if the allowedIDs\n // prop is populated\n if (this.allowedIDs && this.allowedIDs.length > 0) {\n choices = _.filter(choices, (c) => {\n return _.includes(this.allowedIDs, c.id);\n });\n }\n\n // Restrict choices to those that match the type if it was provided\n if (this.type) {\n choices = _.filter(choices, { type: this.type });\n }\n\n // Override the Unknown/Zero Label if requested\n if (this.zeroLabel) {\n choices = _.map(choices, (c) => {\n if (c.id === 0) {\n if (this.zeroLabel === 'all') {\n c.name = TAll;\n } else if (this.zeroLabel === 'unknown') {\n c.name = TUnknown;\n }\n }\n return c;\n });\n }\n\n // Sort the list either by rank, or alphabetically... unless the developer\n // has disabled sorting via a prop\n if (!this.disableSorting) {\n const hasRanks = _.some(choices, (c) => c.rank && c.rank > 0);\n if (hasRanks) {\n // Sort by rank, then alphabetically by the active locale\n choices = _.chain(choices)\n .map((c) =>\n Object.assign(c, {\n rank: c.rank || 999,\n }),\n )\n .sortBy(['rank', (c) => this.valueForLocale(c.name)])\n .value();\n } else {\n // Sort alphabetically by the active locale\n choices = _.sortBy(choices, (c) => this.valueForLocale(c.name));\n }\n }\n\n return choices;\n },\n\n /**\n * translatedChoices transforms the list of choices into the VSelectItem\n * format (value, text) that the V-Select and V-Autocomplete components\n * expect.\n */\n translatedChoices(): VSelectItem[] {\n return _.map(this.choices, (c) => {\n return { value: c.id, text: c.name[this.locale] };\n });\n },\n },\n\n watch: {\n /**\n * type is watched so that when the type is changed, the selected item\n * jumps to the first valid selection for that type, preventing the\n * previous selection from a now-invalid type being preserved.\n */\n type(newType: string): void {\n const value = this.value;\n const validIDs = _.map(this.choices, 'id');\n if (validIDs.length > 0 && !_.includes(validIDs, value)) {\n this.$emit('input', validIDs[0]);\n }\n },\n },\n\n methods: {\n /**\n * clear is the handler for the v-select/v-autocomplete control's clear\n * event. By default, clear() sets the value to undefined, which we don't\n * like. This code clears to either 0 or [] instead, depending on whether\n * the value is currently an array.\n */\n clear(): void {\n const isArray = Array.isArray(this.value);\n this.$nextTick(() => {\n if (isArray) {\n this.$emit('input', []);\n } else {\n this.$emit('input', 0);\n }\n });\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LookupTableItemSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LookupTableItemSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LookupTableItemSelector.vue?vue&type=template&id=1c82acba&\"\nimport script from \"./LookupTableItemSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./LookupTableItemSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VAutocomplete,VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"value\":_vm.value,\"items\":_vm.types,\"label\":_vm.label,\"rules\":_vm.rules,\"clearable\":_vm.clearable,\"disabled\":_vm.disabled},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nimport i18n from '@/i18n';\nimport { LookupItem } from '@/vuex/court/options';\nimport { VSelectItem } from '@/lib/vue-typescript';\n\nexport default Vue.extend({\n props: {\n /**\n * items is the Vuex state address this component will pull its\n * choices from. Example usage:\n *\n * items=\"offender/courses\"\n */\n items: {\n type: String,\n required: true,\n },\n translationKeyPrefix: {\n type: String,\n required: true,\n },\n value: String,\n label: String,\n rules: Array,\n disabled: Boolean,\n clearable: Boolean,\n },\n computed: {\n /**\n * types computes the actual list of LookupTableItem type choices for the\n * dropdown. The list is based on the `type` field from the items\n * supplied via the `items` prop.\n */\n types(): VSelectItem[] {\n const types = _.chain(this.lookupTableItems).map('type').uniq().value();\n return _.map(types, (type) => ({\n value: type,\n text: i18n.t(this.translationKeyPrefix + '.' + type),\n }));\n },\n\n /**\n * lookupTableItems builds the raw data of all possible lookup table items.\n * We extract the list of type choices from this list.\n */\n lookupTableItems(): LookupItem[] {\n let choices: LookupItem[] = [];\n\n // Get the choices from the state\n const itemNames = this.items.split('/');\n if (itemNames.length > 1) {\n const moduleName = itemNames[0];\n const variableName = itemNames[1];\n // A deep clone is needed so that transformations below aren't\n // persisted in Vuex State\n choices = _.cloneDeep(this.$store.state[moduleName][variableName]);\n } else {\n // A deep clone is needed so that transformations below aren't\n // persisted in Vuex State\n choices = _.cloneDeep(this.$store.state[this.items]);\n }\n if (!choices) {\n throw new Error(`Could not find \"${this.items}\" in Vuex state.`);\n }\n\n // Filter choices with no name\n choices = _.filter(choices, (c) => {\n return !!c.name;\n });\n\n return choices;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LookupTableTypeSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LookupTableTypeSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LookupTableTypeSelector.vue?vue&type=template&id=20a12747&\"\nimport script from \"./LookupTableTypeSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./LookupTableTypeSelector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_vm._v(_vm._s(_vm.formattedNumber))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport Vue from 'vue';\n\nexport default Vue.extend({\n props: {\n value: Number,\n },\n computed: {\n formattedNumber(): string {\n return new Intl.NumberFormat().format(this.value);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumFmt.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumFmt.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NumFmt.vue?vue&type=template&id=7ee2f630&\"\nimport script from \"./NumFmt.vue?vue&type=script&lang=ts&\"\nexport * from \"./NumFmt.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-text-field',{attrs:{\"label\":_vm.computedLabel,\"value\":_vm.value,\"rules\":_vm.activeRules,\"placeholder\":_vm.computedPlaceholder,\"disabled\":_vm.disabled,\"dense\":_vm.dense,\"single-line\":_vm.singleLine,\"hide-details\":_vm.hideDetails,\"hint\":_vm.hint,\"prepend-icon\":\"fa-phone-square\"},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"blur\":function($event){return _vm.reformat()}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport PhoneNumber from 'awesome-phonenumber';\n\nimport i18n from '@/i18n';\n\nexport default Vue.extend({\n props: {\n label: String,\n placeholder: String,\n hint: String,\n value: String,\n rules: Array,\n disabled: Boolean,\n readonly: Boolean,\n singleLine: Boolean,\n dense: Boolean,\n hideDetails: Boolean,\n },\n\n computed: {\n activeRules(): any[] {\n return [\n // Put prop-provided rules first (if they exist)\n ...(this.rules || []),\n (val) => this.isValidFormat(val) || i18n.t('error.provideValidPhone'),\n ];\n },\n\n computedLabel(): string {\n if (!this.label) {\n return i18n.t('person.phoneNumber').toString();\n }\n return this.label;\n },\n\n computedPlaceholder(): string {\n return (\n this.placeholder ||\n PhoneNumber.getExample('AF').getNumber('international')\n );\n },\n },\n\n methods: {\n /**\n * isValidFormat is a helper which returns true if the supplied value can\n * be successfully interpreted and formatted as an international phone\n * number.\n */\n isValidFormat(val: string): boolean {\n if (!val) {\n // Consider a blank input valid for purposes of the format\n // validator. Users can add a separate rule to require presence.\n return true;\n }\n return this.buildPhoneNumber(val).isValid();\n },\n\n /**\n * reformat forcefully-reformats the current value to have an international\n * format.\n */\n reformat(): void {\n const pn = this.buildPhoneNumber(this.value);\n this.$emit('input', pn.getNumber('international'));\n },\n\n /**\n * buildPhoneNumber is a utility function to create an awesome-phonenumber\n * object. It initially tries to use the raw input, assuming it's already\n * internationally formatted. If that fails to produce a valid phone number\n * it re-tries with the assumption that it's a local Afghan phone number.\n * This function will return an invalid PhoneNumber object if the input\n * is not interpetable as an international or Afghan number.\n */\n buildPhoneNumber(val: string): PhoneNumber {\n let pn = new PhoneNumber(val || '');\n if (pn.isValid()) {\n return pn;\n }\n pn = new PhoneNumber(val || '', 'AF');\n return pn;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhoneField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhoneField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PhoneField.vue?vue&type=template&id=075f6568&\"\nimport script from \"./PhoneField.vue?vue&type=script&lang=ts&\"\nexport * from \"./PhoneField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('GChart',{attrs:{\"type\":\"GeoChart\",\"settings\":_vm.loadtimeSettings,\"options\":_vm.chartOptions,\"data\":_vm.chartData}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters, mapState } from 'vuex';\n\nimport i18n from '@/i18n';\n\nexport default Vue.extend({\n props: {\n /**\n * data expects an array of objects with some combination of the following\n * columns\n *\n * value (ALWAYS REQUIRED) The count or level of color intensity to be\n * used for this province. Can use a different column name if prop\n * valueCol is provided (e.g. valueCol=\"crimeReportCount\")\n *\n * provinceID (REQUIRED IF iso3166Code is missing) The ID of a Province\n * in the Geographies table. Can use a different column name\n * if prop provinceIDCol is provided.\n *\n * iso3166Code (REQUIRED IF provinceID is missing) The ISO 3166-2:AF code\n * for the province to be highlighted (e.g AF-KAB for Kabul).\n * https://en.wikipedia.org/wiki/ISO_3166-2:AF\n *\n * label (OPTIONAL) Will be used instead of iso3166Code for the tooltip\n * label for this province. The translated geography name is\n * used for this if provinceID is provided.\n */\n data: Array,\n\n /**\n * metricName customizes the label attached to the value. If not specified\n * it will be \"Count\", so the tooltip would say: \"Count: 5\"\n */\n metricName: {\n type: String,\n default: () => i18n.t('count'),\n },\n\n /**\n * colors expects an array of string hex color codes. The first value will\n * be used for the low intensity color, and the second value will be used\n * for the\n *\n */\n colors: Array,\n\n /**\n * provinceIDCol optionally allows the user to use a different column name\n * to specify the provinceID in data. Examples:\n *\n * provinceIDCol=\"geographyID\"\n * provinceIDCol=\"departmentProvinceID\"\n */\n provinceIDCol: {\n type: String,\n default: 'provinceID',\n },\n\n /**\n * valueCol optionally allows the user to use a different column name\n * to specify the value in the data. Examples:\n *\n * valueCol=\"crimeReportCount\"\n * valueCol=\"intensity\"\n */\n valueCol: {\n type: String,\n default: 'value',\n },\n },\n\n computed: {\n ...mapState('language', ['locale']),\n ...mapGetters('geography', ['geographyWithID']),\n\n /**\n * chartData reformats the provided data prop into the \"Regions Mode Format\"\n * for Google Charts GeoChart. Documentation of the format is here:\n *\n * https://developers.google.com/chart/interactive/docs/gallery/geochart#regions-mode-format\n *\n * This property transforms the provided data prop into that shape.\n */\n chartData(): any[] {\n const rows: any[] = [];\n rows.push(['Region', this.metricName]);\n _.each(this.data || [], (sourceRow: any) => {\n let code = _.get(sourceRow, 'iso3166Code', '');\n let label = _.get(sourceRow, 'label', '');\n const value = _.get(sourceRow, this.valueCol, 0);\n const provinceID = _.get(sourceRow, this.provinceIDCol, 0);\n if (provinceID) {\n const geo = this.geographyWithID(sourceRow[this.provinceIDCol]);\n if (geo) {\n label = geo.name[this.locale];\n if (!code) {\n code = geo.iso3166Code;\n }\n }\n }\n\n if (!!code) {\n if (!!label) {\n rows.push([{ v: code, f: label }, value]);\n } else {\n rows.push([code, value]);\n }\n } else {\n console.error('ProvinceMap got invalid row', sourceRow);\n }\n });\n return rows;\n },\n\n /**\n * chartOptions builds the object which will be provided as the options\n * argument in the draw(data, options) function in the Google Charts\n * documentation. The available options are documented here:\n *\n * https://developers.google.com/chart/interactive/docs/gallery/geochart#configuration-options\n */\n chartOptions(): object {\n const opts = {\n region: 'AF',\n resolution: 'provinces',\n colorAxis: {\n colors: this.colors,\n },\n };\n if (this.colors && this.colors.length) {\n opts.colorAxis = {\n colors: this.colors,\n };\n }\n return opts;\n },\n\n /**\n * loadtimeSettings builds the object which will be provided as the options\n * to the startup routine for Google Charts (e.g.e google.charts.load()).\n * The complete list of available options are here:\n *\n * https://developers.google.com/chart/interactive/docs/basic_load_libs#load-settings\n */\n loadtimeSettings(): object {\n return {\n packages: ['geochart'],\n language: this.locale,\n /**\n * Not supplying a mapsApiKey could theoretically result in Google\n * throttling service requests depending on load. So far so good, and\n * not supplying a key means we don't have to maintain it and ensure\n * somebody's Google account is in good standing. If a key is needed\n * get it here:\n * https://developers.google.com/maps/documentation/javascript/get-api-key\n */\n // mapsApiKey: '',\n };\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProvinceMap.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProvinceMap.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProvinceMap.vue?vue&type=template&id=044cb3ee&\"\nimport script from \"./ProvinceMap.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProvinceMap.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.useChip)?_c('v-chip',{class:_vm.chipClass,attrs:{\"small\":_vm.small,\"label\":\"\"}},[_c('Date',{attrs:{\"value\":_vm.displayDate}})],1):_c('span',[_c('Date',{attrs:{\"value\":_vm.displayDate}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport moment from 'moment';\n\nexport default Vue.extend({\n props: {\n /**\n * freedAt should be given the same-named value from Offender entities.\n * If this prop is not empty, this value will be displayed in the component,\n * as we don't want to show a past release\n */\n freedAt: String,\n\n /**\n * expectedReleaseAt should be given the same-named value from Offender\n * entities. It will be displayed only when freedAt is not provided.\n */\n expectedReleaseAt: String,\n\n /**\n * warningChipOnly should be set to true when using this component in\n * a standalone place where it is the only ReleaseDate component in an area\n * of the page. This will make the text show as a simple unless a\n * warning is triggered. This avoids drawing attention to the component\n * when its not needed. This should not be used in table cells ().\n * When an entire column contains release dates, it looks more pleasing\n * if they are all formatted the same, with chip colors indicating the\n * level of warning.\n */\n warningChipOnly: {\n type: Boolean,\n default: false,\n },\n\n small: Boolean,\n },\n computed: {\n /**\n * displayDate computes which of the date props is displayed. The freedAt\n * date takes precedence over the expectedReleaseAt date.\n */\n displayDate(): string {\n if (this.freedAt) {\n return this.freedAt;\n }\n return this.expectedReleaseAt;\n },\n\n /**\n * useChip computes whether the component should display as a v-chip or\n * not.\n */\n useChip(): boolean {\n if (!this.warningChipOnly) {\n return true;\n }\n if (this.alreadyReleased || this.far) {\n return false;\n }\n return this.past || this.near;\n },\n\n /**\n * daysUntilRelease computes how many days away the expectedReleaseAt date\n * is. It will return a negative value if the expected release date is\n * in the past.\n */\n daysUntilRelease(): number {\n const today = moment();\n const expectedRelease = moment(this.expectedReleaseAt);\n return expectedRelease.diff(today, 'days');\n },\n\n /**\n * alreadyReleased returns true when the freedAt date has been provided. This is\n * needed to disable the chip coloring since the release date is in the\n * past, but should not present a warning.\n */\n alreadyReleased(): boolean {\n return !!this.freedAt;\n },\n\n /**\n * past returns true when the expectedReleaseAt date has already past.\n * This triggers the most severe warning.\n */\n past(): boolean {\n return this.daysUntilRelease <= 0;\n },\n\n /**\n * near returns true when the expectedReleaseAt date is approaching. It\n * triggers a slightly less severe warning.\n */\n near(): boolean {\n return this.daysUntilRelease < 15;\n },\n\n /**\n * far returns true when the expectedReleaseAt date is far enough in the\n * future to not need any warnings.\n */\n far(): boolean {\n return this.daysUntilRelease >= 15;\n },\n\n /**\n * chipClass computes the CSS class names to be applied to the v-chip based\n * on the warning properties.\n */\n chipClass(): string {\n if (this.alreadyReleased) {\n return 'invisible text--disabled';\n } else if (this.past) {\n return 'error';\n } else if (this.near) {\n return 'warning';\n } else {\n return '';\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReleaseDate.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReleaseDate.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReleaseDate.vue?vue&type=template&id=617b26e4&scoped=true&\"\nimport script from \"./ReleaseDate.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReleaseDate.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ReleaseDate.vue?vue&type=style&index=0&id=617b26e4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"617b26e4\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\ninstallComponents(component, {VChip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"subtitle-2 pb-0\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.label)+\" \"),_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.addItem()}}},[_c('v-icon',[_vm._v(\"fa-plus-circle\")])],1)],1),_vm._l((_vm.items),function(item,i){return _c('v-col',{key:i,staticClass:\"d-flex align-center\",attrs:{\"cols\":\"12\",\"sm\":_vm.cols || 3}},[_c('v-text-field',{model:{value:(_vm.items[i]),callback:function ($$v) {_vm.$set(_vm.items, i, (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"items[i]\"}}),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"x-small\":\"\",\"color\":\"grey lighten-1\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.removeItem(i)}}},[_c('v-icon',[_vm._v(\"fa-trash-alt\")])],1)],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\n\nexport default Vue.extend({\n props: {\n value: Array,\n label: String,\n cols: {\n type: [Number, String],\n default: 3,\n },\n },\n mounted() {\n if (this.items.length < 1) {\n this.addItem();\n }\n },\n data() {\n return {\n items: this.value || [''],\n };\n },\n watch: {\n value(newVal: string[]) {\n // Internally, we want one extra blank item when the external array is\n // empty.\n const internalItems = [...newVal];\n if (internalItems.length === 0) {\n internalItems.push('');\n }\n\n // Don't apply the new value if it doesn't differ from what we already\n // have.\n if (!_.isEqual(this.items, internalItems)) {\n this.items = internalItems;\n }\n },\n items(newItems: string[]) {\n // Externally, we want to remove any blank items, so we compact the\n // internal array before emitting.\n const externalItems = _.compact([...newItems]);\n\n // Before emitting, we check that it's not a no-op emit. This helps\n // prevent the value and items watchers from continuously feeding\n // each other in an ouroboros.\n if (!_.isEqual(this.value, externalItems)) {\n this.$emit('input', externalItems);\n }\n },\n },\n methods: {\n addItem() {\n this.items.push('');\n },\n removeItem(i: number) {\n this.items.splice(i, 1);\n },\n },\n components: {},\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StringArray.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StringArray.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StringArray.vue?vue&type=template&id=7b5d5222&\"\nimport script from \"./StringArray.vue?vue&type=script&lang=ts&\"\nexport * from \"./StringArray.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-text-field',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('##:##'),expression:\"'##:##'\"}],attrs:{\"label\":_vm.label || _vm.$t('time.time'),\"value\":_vm.value,\"hint\":_vm.hint,\"persistent-hint\":_vm.persistentHint,\"clearable\":_vm.clearable,\"rules\":_vm.computedRules},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"change\":function($event){return _vm.$emit('change', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport i18n from '@/i18n';\n\nexport default Vue.extend({\n props: {\n clearable: {\n type: Boolean,\n default: false,\n },\n value: String,\n label: String,\n hint: {\n type: String,\n default: 'HH:MM',\n },\n persistentHint: Boolean,\n rules: Array,\n loading: Boolean,\n },\n data() {\n return {};\n },\n computed: {\n /**\n * computedRules builds an array of validator functions to pass to the rules\n * prop of the embedded text field. We add the externally-provided rules\n * first, and add a final validator that requires the time to be valid\n * or blank.\n */\n computedRules(): any[] {\n return [\n ...(this.rules || []),\n (val) => this.validTimeOrBlank(val) || i18n.t('error.provideValidTime'),\n ];\n },\n },\n methods: {\n /**\n * validTimeOrBlank is a helper function which returns true if the\n * provided value is a valid time (HH:MM), or is a blank value. We want to\n * ignore blank values so that the developer can separately decide whether\n * this field is required or not.\n */\n validTimeOrBlank(val: string | null): boolean {\n if (!val) {\n return true;\n }\n\n const segments = val.split(':');\n if (segments.length < 2) {\n return false;\n }\n const hours = segments[0];\n const minutes = segments[1];\n\n // Hours must be inclusively between 0 and 23\n if (parseInt(hours, 10) > 23 || parseInt(hours, 10) < 0) {\n return false;\n }\n\n // Minutes must be inclusively between 0 and 59\n if (parseInt(minutes, 10) > 59 || parseInt(hours, 10) < 0) {\n return false;\n }\n\n return true;\n },\n },\n watch: {},\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeField.vue?vue&type=template&id=7d56caa8&\"\nimport script from \"./TimeField.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},[(_vm.label)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',{staticClass:\"text-h6\"},[_vm._v(_vm._s(_vm.label))])]):_vm._e(),_c('v-col',{attrs:{\"cols\":\"1\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\",\"fab\":\"\"},on:{\"click\":function($event){return _vm.addRow()}}},[_c('v-icon',[_vm._v(\"add\")])],1),_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\",\"fab\":\"\"},on:{\"click\":function($event){return _vm.removeRow()}}},[_c('v-icon',[_vm._v(\"remove\")])],1)],1),_c('v-col',{attrs:{\"cols\":\"11\"}},_vm._l((_vm.items),function(item,i){return _c('v-row',{key:i},_vm._l((_vm.languages),function(lang,j){return _c('v-col',{key:lang.locale,class:{ isRTL: lang.isRTL },attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-textarea',{attrs:{\"label\":_vm.$t(lang.locale),\"value\":item[lang.locale],\"rules\":[function (v) { return !!v || _vm.$t('error.required'); }],\"rows\":\"4\",\"filled\":\"\"},on:{\"input\":function($event){return _vm.update(i, lang.locale, $event)},\"blur\":function($event){return _vm.blurred(i, j)}}})],1)}),1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _ from 'lodash';\nimport Vue from 'vue';\nimport { mapGetters } from 'vuex';\n\nimport { blankTranslatedString, TranslatedString } from '@/lib/translated';\n\nexport default Vue.extend({\n props: {\n value: {\n type: Array,\n default: () => [] as TranslatedString[],\n },\n label: String,\n },\n\n computed: {\n ...mapGetters('language', ['align', 'languages', 'valueForLocale']),\n\n items(): TranslatedString[] {\n const items = (this.value || []) as TranslatedString[];\n return items;\n },\n },\n\n methods: {\n update(i: number, locale: string, value: string): void {\n const newItems = Object.assign([], this.items) as TranslatedString[];\n if (newItems.length < i - 1) {\n newItems.push(blankTranslatedString());\n }\n newItems[i][locale] = value.trim();\n this.$emit('input', newItems);\n },\n\n blurred(rowIndex: number, langIndex: number): void {\n if (rowIndex === this.items.length - 1) {\n // If the blur event happens on the last row of data\n if (langIndex === this.languages.length - 1) {\n // ...and the last language in that row\n this.removeEmptyRows();\n }\n }\n },\n\n addRow(): void {\n if (this.items.length > 0) {\n const lastItem = _.last(this.items);\n if (this.isEmpty(lastItem)) {\n return;\n }\n }\n const newItems = Object.assign([], this.items);\n newItems.push(blankTranslatedString());\n this.$emit('input', newItems);\n },\n\n removeRow(): void {\n if (this.items.length <= 0) {\n return;\n }\n const lastItem = _.last(this.items);\n if (this.isEmpty(lastItem)) {\n const newItems = Object.assign([], this.items);\n newItems.splice(newItems.length - 1, 1);\n this.$emit('input', newItems);\n }\n },\n\n removeEmptyRows(): void {\n const newItems = Object.assign([], this.items);\n for (let i = newItems.length - 1; i >= 0; i--) {\n const row = newItems[i];\n if (this.isEmpty(row)) {\n newItems.splice(i, 1);\n }\n }\n this.$emit('input', newItems);\n },\n\n isEmpty(row: TranslatedString | undefined): boolean {\n if (row === undefined) {\n return true;\n }\n return _.every(_.values(row), (v) => v === '');\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TranslatedStringArrayField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TranslatedStringArrayField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TranslatedStringArrayField.vue?vue&type=template&id=dd8fbf9a&\"\nimport script from \"./TranslatedStringArrayField.vue?vue&type=script&lang=ts&\"\nexport * from \"./TranslatedStringArrayField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_vm._v(_vm._s(_vm.truncatedValue))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport Vue from 'vue';\nexport default Vue.extend({\n props: {\n value: String,\n length: {\n type: Number,\n default: 60,\n },\n },\n\n computed: {\n truncatedValue(): string {\n if (typeof this.value !== 'string') {\n return this.value;\n }\n if (this.value.length > this.length) {\n return this.value.substr(0, this.length) + '...';\n }\n return this.value;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Truncate.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Truncate.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Truncate.vue?vue&type=template&id=6fe65786&\"\nimport script from \"./Truncate.vue?vue&type=script&lang=ts&\"\nexport * from \"./Truncate.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_vm._v(\" \"+_vm._s(_vm.formatWeight))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\nimport Vue from 'vue';\nimport i18n from '@/i18n';\n\nexport default Vue.extend({\n props: {\n value: Number,\n },\n computed: {\n /**\n * formatWeight converts the value prop from milligrams to other weight\n * depending on factoring\n */\n formatWeight(): string {\n if (!this.value) {\n return '';\n }\n\n if (this.value % 4529848320 === 0) {\n const strVal = (this.value / 4529848320).toLocaleString();\n return `${strVal} ${i18n.t('weight.kharwaar')}`;\n }\n\n if (this.value % 56623104 === 0) {\n const strVal = (this.value / 56623104).toLocaleString();\n return `${strVal} ${i18n.t('weight.man')}`;\n }\n\n if (this.value % 7077888 === 0) {\n const strVal = (this.value / 7077888).toLocaleString();\n return `${strVal} ${i18n.t('weight.sayr')}`;\n }\n\n if (this.value % 1769472 === 0) {\n const strVal = (this.value / 1769472).toLocaleString();\n return `${strVal} ${i18n.t('weight.chaarak')}`;\n }\n\n if (this.value % 442368 === 0) {\n const strVal = (this.value / 442368).toLocaleString();\n return `${strVal} ${i18n.t('weight.paaw')}`;\n }\n\n if (this.value % 110592 === 0) {\n const strVal = (this.value / 110592).toLocaleString();\n return `${strVal} ${i18n.t('weight.khurd')}`;\n }\n\n if (this.value % 18432 === 0) {\n const strVal = (this.value / 18432).toLocaleString();\n return `${strVal} ${i18n.t('weight.toolee')}`;\n }\n\n if (this.value % 4608 === 0) {\n const strVal = (this.value / 4608).toLocaleString();\n return `${strVal} ${i18n.t('weight.misqaal')}`;\n }\n\n if (this.value % 1000 === 0) {\n const strVal = (this.value / 1000).toLocaleString();\n return `${strVal} ${i18n.t('weight.gram')}`;\n }\n\n if (this.value % 192 === 0) {\n const strVal = (this.value / 192).toLocaleString();\n return `${strVal} ${i18n.t('weight.nakhud')}`;\n }\n\n const strVal = this.value.toLocaleString();\n return `${strVal} ${i18n.t('weight.milligrams')}`;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Weight.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Weight.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Weight.vue?vue&type=template&id=095cf407&\"\nimport script from \"./Weight.vue?vue&type=script&lang=ts&\"\nexport * from \"./Weight.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"pr-2\",attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"clearable\":_vm.clearable,\"hint\":_vm.hint,\"loading\":_vm.loading,\"label\":_vm.label,\"persistent-hint\":_vm.persistentHint,\"single-line\":_vm.singleLine,\"readonly\":_vm.readonly,\"hide-details\":_vm.hideDetails,\"prefix\":_vm.prefix,\"rules\":_vm.rules,\"disabled\":_vm.disabled},on:{\"blur\":_vm.emit},model:{value:(_vm.internalValue),callback:function ($$v) {_vm.internalValue=$$v},expression:\"internalValue\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-select',{attrs:{\"items\":_vm.unitsOptions,\"disabled\":_vm.disabled},on:{\"blur\":_vm.emit},model:{value:(_vm.units),callback:function ($$v) {_vm.units=$$v},expression:\"units\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport i18n from '@/i18n';\n\nenum Units {\n Milligrams = 1,\n Nakhud = 2,\n Gram = 3,\n Misqaal = 4,\n Toolee = 5,\n Khurd = 6,\n Paaw = 7,\n Chaarak = 8,\n Sayr = 9,\n Man = 10,\n Kharwaar = 11,\n}\nconst AllUnits = [\n Units.Milligrams,\n Units.Nakhud,\n Units.Gram,\n Units.Misqaal,\n Units.Toolee,\n Units.Khurd,\n Units.Paaw,\n Units.Chaarak,\n Units.Sayr,\n Units.Man,\n Units.Kharwaar,\n];\n\nexport default Vue.extend({\n props: {\n value: Number,\n clearable: Boolean,\n label: String,\n hint: String,\n prefix: String,\n disabled: Boolean,\n readonly: Boolean,\n persistentHint: Boolean,\n hideDetails: Boolean,\n singleLine: Boolean,\n loading: Boolean,\n rules: Array,\n },\n data() {\n return {\n internalValue: 0,\n units: Units.Milligrams,\n };\n },\n created() {\n this.outsideValueChanged(this.value);\n },\n computed: {\n /**\n * unitsOptions builds the v-select choice values for the unit\n * selector dropdown control.\n */\n unitsOptions(): any[] {\n return AllUnits.map((u: Units) => {\n const translationKey = 'weight.' + Units[u].toLowerCase();\n return {\n value: u,\n text: i18n.t(translationKey).toString(),\n };\n });\n },\n },\n watch: {\n value(newValue: number) {\n this.outsideValueChanged(newValue);\n },\n },\n methods: {\n /**\n * outsideValueChanged is the event that is fired when the v-model prop\n * is provided with a new value. We always interpret this value as\n * being in Milligrams, so we update the internal units to Milligrams and\n * perform a reduction.\n */\n outsideValueChanged(newVal: number): void {\n this.internalValue = newVal;\n this.units = Units.Milligrams;\n this.reduce();\n },\n\n /**\n * emit notifies v-model consumers of the current value via the 'emit'\n * event. We always $emit in Milligrams, regardless of what the internally\n * displayed units are.\n */\n emit(): void {\n this.reduce();\n const val = this.toMilligrams(this.internalValue, this.units);\n this.$emit('input', val);\n },\n\n /**\n * reduce converts the current internal value + units into the simplest\n * (i.e. \"most reduced\") form. This function has no effect on the\n * externally data-bound (e.g. \"emitted\") value, it merely changes the\n * internal display of that value to be in the simplest form.\n */\n reduce(): void {\n const milligrams = this.toMilligrams(this.internalValue, this.units);\n if (milligrams % 4529848320 === 0) {\n this.internalValue = milligrams / 4529848320;\n this.units = Units.Kharwaar;\n } else if (milligrams % 56623104 === 0) {\n this.internalValue = milligrams / 56623104;\n this.units = Units.Man;\n } else if (milligrams % 7077888 === 0) {\n this.internalValue = milligrams / 7077888;\n this.units = Units.Sayr;\n } else if (milligrams % 1769472 === 0) {\n this.internalValue = milligrams / 1769472;\n this.units = Units.Chaarak;\n } else if (milligrams % 442368 === 0) {\n this.internalValue = milligrams / 442368;\n this.units = Units.Paaw;\n } else if (milligrams % 110592 === 0) {\n this.internalValue = milligrams / 110592;\n this.units = Units.Khurd;\n } else if (milligrams % 18432 === 0) {\n this.internalValue = milligrams / 18432;\n this.units = Units.Toolee;\n } else if (milligrams % 4608 === 0) {\n this.internalValue = milligrams / 4608;\n this.units = Units.Misqaal;\n } else if (milligrams % 1000 === 0) {\n this.internalValue = milligrams / 1000;\n this.units = Units.Gram;\n } else if (milligrams % 192 === 0) {\n this.internalValue = milligrams / 192;\n this.units = Units.Nakhud;\n } else {\n this.internalValue = milligrams;\n this.units = Units.Milligrams;\n }\n },\n\n /**\n * toMilligrams takes a value and unit and converts to Milligrams. This is a\n * a no-op if the provided units are already in Milligrams.\n */\n toMilligrams(val: number, unit: Units): number {\n switch (unit) {\n case Units.Kharwaar:\n return val * 4529848320;\n case Units.Man:\n return val * 56623104;\n case Units.Sayr:\n return val * 7077888;\n case Units.Chaarak:\n return val * 1769472;\n case Units.Paaw:\n return val * 442368;\n case Units.Khurd:\n return val * 110592;\n case Units.Toolee:\n return val * 18432;\n case Units.Misqaal:\n return val * 4608;\n case Units.Gram:\n return val * 1000;\n case Units.Nakhud:\n return val * 192;\n default:\n return val;\n }\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WeightField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js??ref--14-1!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WeightField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./WeightField.vue?vue&type=template&id=14fa3515&\"\nimport script from \"./WeightField.vue?vue&type=script&lang=ts&\"\nexport * from \"./WeightField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VSelect,VTextField})\n","import Vue from 'vue';\nimport Vuetify from 'vuetify/lib';\nimport '@fortawesome/fontawesome-free/css/all.css';\nimport Cookies from 'js-cookie';\n\nimport GlobalVariables from '@/lib/global-variables';\n\nimport store from '@/vuex/store';\nimport router from '@/router';\nimport i18n from '@/i18n';\nimport App from '@/App.vue';\n\nVue.config.productionTip = false;\n\n// -----------------------------------------------------------------------------\n// Globally-Registered Components\n//\nimport AFNCurrencyField from '@/components/global/currency/AFNCurrencyField.vue';\nimport AFNDisplay from '@/components/global/currency/AFNDisplay.vue';\nimport AgeDisplay from '@/components/global/date/AgeDisplay.vue';\nimport AddAttachmentDialog from '@/components/global/attachments/AddAttachmentDialog.vue';\nimport AddImageAttachmentDialog from '@/components/global/attachments/AddImageAttachmentDialog.vue';\nimport AttachmentImage from '@/components/global/attachments/AttachmentImage.vue';\nimport AttachmentsLinks from '@/components/global/attachments/AttachmentsLinks.vue';\nimport AttachmentsList from '@/components/global/attachments/AttachmentsList.vue';\nimport BirthdateDisplay from '@/components/global/date/BirthdateDisplay.vue';\nimport BirthdateSelector from '@/components/global/date/BirthdateSelector.vue';\nimport BloodTypeSelector from '@/components/global/form-fields//BloodTypeSelector.vue';\nimport BooleanDisplay from '@/components/global/formatting/BooleanDisplay.vue';\nimport BooleanSelector from '@/components/global/form-fields//BooleanSelector.vue';\nimport BooleanRadioButton from '@/components/global/form-fields//BooleanRadioButton.vue';\nimport CMSFormDialog from '@/components/global/CMSFormDialog.vue';\nimport ConfirmationButton from '@/components/global/ConfirmationButton.vue';\nimport CourtBreadcrumb from '@/components/global/court/CourtBreadcrumb.vue';\nimport CourtName from '@/components/global/court/CourtName.vue';\nimport Date from '@/components/global/date/Date.vue';\nimport DaysAgoSelector from '@/components/global/date/DaysAgoSelector.vue';\nimport DepartmentBreadcrumb from '@/components/global/department/DepartmentBreadcrumb.vue';\nimport DepartmentName from '@/components/global/department/DepartmentName.vue';\nimport DepartmentSelector from '@/components/global/department/DepartmentSelector.vue';\nimport DocketEventTypeSelector from '@/components/global/form-fields/DocketEventTypeSelector.vue';\nimport DossierNumber from '@/components/global/DossierNumber.vue';\nimport DossierNumberField from '@/components/global/form-fields//DossierNumberField.vue';\nimport Duration from '@/components/global/date/Duration.vue';\nimport ETazkiraField from '@/components/global/form-fields//ETazkiraField.vue';\nimport ExpanderDialog from '@/components/global/formatting/ExpanderDialog.vue';\nimport ExpandableCard from '@/components/global/formatting/ExpandableCard.vue';\nimport FormError from '@/components/global/form-fields//FormError.vue';\nimport FieldValue from '@/components/global/formatting/FieldValue.vue';\nimport GeographyBreadcrumb from '@/components/global/geography/GeographyBreadcrumb.vue';\nimport GeographyName from '@/components/global/geography/GeographyName.vue';\nimport GeographySelector from '@/components/global/geography/GeographySelector.vue';\nimport HousingFacilityBreadcrumb from '@/components/global/offender/HousingFacilityBreadcrumb.vue';\nimport HousingFacilityName from '@/components/global/offender/HousingFacilityName.vue';\nimport ImprisonmentDurationField from '@/components/global/form-fields/ImprisonmentDurationField.vue';\nimport ImprisonmentDurationsLegend from '@/components/global/offender/ImprisonmentDurationsLegend.vue';\nimport IntArrayField from '@/components/global/form-fields//IntArrayField.vue';\nimport IntField from '@/components/global/form-fields//IntField.vue';\nimport LabeledData from '@/components/global/formatting/LabeledData.vue';\nimport LandArea from '@/components/global/formatting/LandArea.vue';\nimport LandAreaField from '@/components/global/form-fields/LandAreaField.vue';\nimport LegacyDepartmentSelector from '@/components/global/department/LegacyDepartmentSelector.vue';\nimport LocaleDateEntry from '@/components/global/date/LocaleDateEntry.vue';\nimport LocaleDateRange from '@/components/global/date/LocaleDateRange.vue';\nimport LookupTableItemSelector from '@/components/global/form-fields/LookupTableItemSelector.vue';\nimport LookupTableTypeSelector from '@/components/global/form-fields/LookupTableTypeSelector.vue';\nimport NumFmt from '@/components/global/formatting/NumFmt.vue';\nimport PhoneField from '@/components/global/form-fields//PhoneField.vue';\nimport ProvinceMap from '@/components/global/geography/ProvinceMap.vue';\nimport ReleaseDate from '@/components/global/offender/ReleaseDate.vue';\nimport StringArray from '@/components/global/form-fields//StringArray.vue';\nimport TimeField from '@/components/global/date/TimeField.vue';\nimport TranslatedStringArrayField from '@/components/global/form-fields//TranslatedStringArrayField.vue';\nimport Truncate from '@/components/global/formatting/Truncate.vue';\nimport Weight from '@/components/global/formatting/Weight.vue';\nimport WeightField from '@/components/global/form-fields//WeightField.vue';\nVue.component('AFNCurrencyField', AFNCurrencyField);\nVue.component('AFNDisplay', AFNDisplay);\nVue.component('AgeDisplay', AgeDisplay);\nVue.component('AddImageAttachmentDialog', AddImageAttachmentDialog);\nVue.component('AddAttachmentDialog', AddAttachmentDialog);\nVue.component('AttachmentImage', AttachmentImage);\nVue.component('AttachmentsLinks', AttachmentsLinks);\nVue.component('AttachmentsList', AttachmentsList);\nVue.component('BirthdateDisplay', BirthdateDisplay);\nVue.component('BirthdateSelector', BirthdateSelector);\nVue.component('BloodTypeSelector', BloodTypeSelector);\nVue.component('BooleanDisplay', BooleanDisplay);\nVue.component('BooleanRadioButton', BooleanRadioButton);\nVue.component('BooleanSelector', BooleanSelector);\nVue.component('CMSFormDialog', CMSFormDialog);\nVue.component('ConfirmationButton', ConfirmationButton);\nVue.component('CourtBreadcrumb', CourtBreadcrumb);\nVue.component('CourtName', CourtName);\nVue.component('Date', Date);\nVue.component('DaysAgoSelector', DaysAgoSelector);\nVue.component('DepartmentBreadcrumb', DepartmentBreadcrumb);\nVue.component('DepartmentName', DepartmentName);\nVue.component('DepartmentSelector', DepartmentSelector);\nVue.component('DocketEventTypeSelector', DocketEventTypeSelector);\nVue.component('DossierNumber', DossierNumber);\nVue.component('DossierNumberField', DossierNumberField);\nVue.component('Duration', Duration);\nVue.component('ETazkiraField', ETazkiraField);\nVue.component('ExpandableCard', ExpandableCard);\nVue.component('ExpanderDialog', ExpanderDialog);\nVue.component('FieldValue', FieldValue);\nVue.component('FormError', FormError);\nVue.component('GeographyBreadcrumb', GeographyBreadcrumb);\nVue.component('GeographyName', GeographyName);\nVue.component('GeographySelector', GeographySelector);\nVue.component('HousingFacilityBreadcrumb', HousingFacilityBreadcrumb);\nVue.component('HousingFacilityName', HousingFacilityName);\nVue.component('ImprisonmentDurationField', ImprisonmentDurationField);\nVue.component('ImprisonmentDurationsLegend', ImprisonmentDurationsLegend);\nVue.component('IntArrayField', IntArrayField);\nVue.component('IntField', IntField);\nVue.component('LabeledData', LabeledData);\nVue.component('LandArea', LandArea);\nVue.component('LandAreaField', LandAreaField);\nVue.component('LegacyDepartmentSelector', LegacyDepartmentSelector);\nVue.component('LocaleDateEntry', LocaleDateEntry);\nVue.component('LocaleDateRange', LocaleDateRange);\nVue.component('LookupTableItemSelector', LookupTableItemSelector);\nVue.component('LookupTableTypeSelector', LookupTableTypeSelector);\nVue.component('NumFmt', NumFmt);\nVue.component('ProvinceMap', ProvinceMap);\nVue.component('PhoneField', PhoneField);\nVue.component('ReleaseDate', ReleaseDate);\nVue.component('StringArray', StringArray);\nVue.component('TimeField', TimeField);\nVue.component('TranslatedStringArrayField', TranslatedStringArrayField);\nVue.component('Truncate', Truncate);\nVue.component('Weight', Weight);\nVue.component('WeightField', WeightField);\n\n// Initialize rtl vuetify settings from cookies.\n// the cookie may not be present; and either way it's a string which needs\n// to be converted to a boolean.\nconst isRTLCookie = Cookies.get(GlobalVariables.RTL_COOKIE_NAME);\nconst isRTL = isRTLCookie && isRTLCookie === 'true';\n\nVue.use(Vuetify);\n\nconst vuetify = new Vuetify({\n icons: {\n iconfont: 'md',\n },\n rtl: isRTL,\n theme: {\n themes: {\n dark: {\n primary: '#898989',\n accent: '#00AD4D',\n secondary: '#54D97D',\n success: '#009900',\n info: '#AEAEAE',\n warning: '#F19A02',\n error: '#D31111',\n },\n light: {\n primary: '#898989',\n accent: '#007A36',\n secondary: '#104721',\n success: '#009900',\n info: '#AEAEAE',\n warning: '#F19A02',\n error: '#D31111',\n },\n },\n },\n});\n\nimport VueTheMask from 'vue-the-mask';\nVue.use(VueTheMask);\n\nimport VueGoogleCharts from 'vue-google-charts';\nVue.use(VueGoogleCharts);\n\nVue.mixin({\n methods: {\n /**\n * $pluralT is similar to the i18n $t function, except that it decides between\n * a singular and plural locale key. For example, you could call:\n *\n * $pluralT('attorney', 1) => $t('attorney.singular') => Attorney\n * $plural('attorney', 4) => $t('attorney.plural') => Attorneys\n *\n * @param localeKey A translation key prefix which has both .singular and .plural variants.\n * @param count The number of items we have\n * @returns The translated value of either the singular or plural as appropriate.\n */\n $pluralT(localeKey: string, count = 1 as number): string {\n const key = count === 1 ? `${localeKey}.singular` : `${localeKey}.plural`;\n return `${i18n.t(key)}`;\n },\n },\n});\n\nexport default new Vue({\n router,\n store,\n i18n,\n ...{ vuetify },\n render: (h) => h(App),\n}).$mount('#app');\n","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./CorpusSelector.vue?vue&type=style&index=0&lang=css&\"","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./ProfileSearchSelector.vue?vue&type=style&index=0&lang=css&\"","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./OffenderClassificationForm.vue?vue&type=style&index=0&id=2369ad9a&scoped=true&lang=css&\"","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./EditLocaleMessageDialog.vue?vue&type=style&index=0&id=419014f3&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=custom&index=0&blockType=i18n\"","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-loader/lib/loaders/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-loader/lib/index.js??vue-loader-options!./ReleaseDate.vue?vue&type=style&index=0&id=617b26e4&scoped=true&lang=css&\""],"sourceRoot":""}