{"version":3,"sources":["webpack:///./node_modules/vuetify/src/components/VTextarea/VTextarea.sass","webpack:///./src/Staff/Careers.vue?256d","webpack:///src/Staff/Careers.vue","webpack:///./src/Staff/Careers.vue?bb40","webpack:///./src/Staff/Careers.vue","webpack:///./src/Session/TextSearch.vue?00dc","webpack:///src/Session/TextSearch.vue","webpack:///./src/Session/TextSearch.vue?d7ec","webpack:///./src/Session/TextSearch.vue","webpack:///./src/utils.js","webpack:///./src/Legislators/Reports/SupremeCourt.vue?5630","webpack:///src/Legislators/Reports/SupremeCourt.vue","webpack:///./src/Legislators/Reports/SupremeCourt.vue?14c9","webpack:///./src/Legislators/Reports/SupremeCourt.vue","webpack:///./node_modules/vuetify/src/components/VDatePicker/VDatePickerYears.sass?420b","webpack:///./node_modules/vuetify/lib/components/transitions/createTransition.js","webpack:///./node_modules/vuetify/lib/components/transitions/expand-transition.js","webpack:///./node_modules/vuetify/lib/components/transitions/index.js","webpack:///./node_modules/vuetify/lib/components/VAlert/VAlert.js","webpack:///./node_modules/vuetify/src/components/VOverlay/VOverlay.sass","webpack:///./src/Legislators/Profile/Committees.vue?5f30","webpack:///src/Legislators/Profile/Committees.vue","webpack:///./src/Legislators/Profile/Committees.vue?7f70","webpack:///./src/Legislators/Profile/Committees.vue","webpack:///./node_modules/vuetify/src/components/VPicker/VPicker.sass","webpack:///./src/Committees/Committees.vue?4983","webpack:///src/Committees/Committees.vue","webpack:///./src/Committees/Committees.vue?63f6","webpack:///./src/Committees/Committees.vue","webpack:///./node_modules/vuetify/src/components/VSubheader/VSubheader.sass?b00c","webpack:///./node_modules/vuetify/src/components/VMessages/VMessages.sass","webpack:///./node_modules/vuetify/src/components/VAlert/VAlert.sass?f2fa","webpack:///./src/Budget/Archived.vue?da11","webpack:///src/Budget/Archived.vue","webpack:///./src/Budget/Archived.vue?76b7","webpack:///./src/Budget/Archived.vue","webpack:///./src/Components/PersonCard.vue?9589","webpack:///./node_modules/vuetify/lib/components/VGrid/VRow.js","webpack:///./src/Legislators/Listing.vue?d786","webpack:///src/Legislators/Listing.vue","webpack:///./src/Legislators/Listing.vue?d11b","webpack:///./src/Legislators/Listing.vue","webpack:///./node_modules/vuetify/src/components/VCheckbox/VSimpleCheckbox.sass","webpack:///./node_modules/vuetify/src/components/VList/VListItem.sass","webpack:///./node_modules/luxon/build/cjs-browser/luxon.js","webpack:///./node_modules/vuetify/src/components/VWindow/VWindow.sass?8e66","webpack:///./src/Committees/Minutes.vue?e21d","webpack:///src/Committees/Minutes.vue","webpack:///./src/Committees/Minutes.vue?24fa","webpack:///./src/Committees/Minutes.vue","webpack:///./src/Session/BillReports/Custom.vue?4ad7","webpack:///src/Session/BillReports/Custom.vue","webpack:///./src/Session/BillReports/Custom.vue?f37b","webpack:///./src/Session/BillReports/Custom.vue","webpack:///./node_modules/vuetify/src/components/VItemGroup/VItemGroup.sass?7d2e","webpack:///./node_modules/vuetify/src/components/VTextarea/VTextarea.sass?f35f","webpack:///./src/Committees/CombinedAgendas.vue?07ed","webpack:///src/Committees/CombinedAgendas.vue","webpack:///./src/Committees/CombinedAgendas.vue?5f27","webpack:///./src/Committees/CombinedAgendas.vue","webpack:///./node_modules/vuetify/lib/mixins/delayable/index.js","webpack:///./node_modules/vuetify/lib/components/VList/VListItemAction.js","webpack:///./node_modules/vuetify/src/components/VExpansionPanel/VExpansionPanel.sass","webpack:///./src/Committees/Agendas.vue?64fa","webpack:///src/Committees/Agendas.vue","webpack:///./src/Committees/Agendas.vue?b83d","webpack:///./src/Committees/Agendas.vue","webpack:///./src/Session/Memorial.vue?f6f6","webpack:///src/Session/Memorial.vue","webpack:///./src/Session/Memorial.vue?da63","webpack:///./src/Session/Memorial.vue","webpack:///./src/ErrorPages/Error500.vue?59e8","webpack:///src/ErrorPages/Error500.vue","webpack:///./src/ErrorPages/Error500.vue?6f61","webpack:///./src/ErrorPages/Error500.vue","webpack:///./src/Legislators/HistoricalProfile.vue?9353","webpack:///src/Legislators/HistoricalProfile.vue","webpack:///./src/Legislators/HistoricalProfile.vue?9ceb","webpack:///./src/Legislators/HistoricalProfile.vue","webpack:///./node_modules/vuetify/src/components/VLabel/VLabel.sass?f04c","webpack:///./node_modules/vuetify/src/components/VTabs/VTabs.sass?100c","webpack:///./src/Session/BillReports/PrisonJail.vue?c85e","webpack:///src/Session/BillReports/PrisonJail.vue","webpack:///./src/Session/BillReports/PrisonJail.vue?e5a6","webpack:///./src/Session/BillReports/PrisonJail.vue","webpack:///./src/Staff/Profile.vue?8b8c","webpack:///src/Staff/Profile.vue","webpack:///./src/Staff/Profile.vue?6de9","webpack:///./src/Staff/Profile.vue","webpack:///./node_modules/vuetify/src/components/VSkeletonLoader/VSkeletonLoader.sass?0364","webpack:///./src/Committees/Committee.vue?4847","webpack:///src/Committees/Committee.vue","webpack:///./src/Committees/Committee.vue?4ed9","webpack:///./src/Committees/Committee.vue","webpack:///./node_modules/vuetify/src/components/VDatePicker/VDatePickerYears.sass","webpack:///./src/Components/PersonCard.vue?b18e","webpack:///./node_modules/vuetify/src/components/VDatePicker/VDatePickerHeader.sass?9d53","webpack:///./node_modules/vuetify/src/components/VExpansionPanel/VExpansionPanel.sass?cbaf","webpack:///./src/Session/BillReports/VetoedByGovernor.vue?57c6","webpack:///src/Session/BillReports/VetoedByGovernor.vue","webpack:///./src/Session/BillReports/VetoedByGovernor.vue?2850","webpack:///./src/Session/BillReports/VetoedByGovernor.vue","webpack:///./src/Committees/Testify.vue?67c9","webpack:///src/Committees/Testify.vue","webpack:///./src/Committees/Testify.vue?c092","webpack:///./node_modules/vuetify/lib/components/VCombobox/VCombobox.js","webpack:///./src/Committees/Testify.vue","webpack:///./node_modules/vuetify/lib/mixins/stackable/index.js","webpack:///./src/Legislators/Contacts.vue?4588","webpack:///src/Legislators/Contacts.vue","webpack:///./src/Legislators/Contacts.vue?130f","webpack:///./src/Legislators/Contacts.vue","webpack:///./src/Components/Archived.vue?5af0","webpack:///src/Components/Archived.vue","webpack:///./src/Components/Archived.vue?4281","webpack:///./src/Components/Archived.vue","webpack:///./src/Menus/BudgetAgencyList.vue?4963","webpack:///src/Menus/BudgetAgencyList.vue","webpack:///./src/Menus/BudgetAgencyList.vue?3226","webpack:///./src/Menus/BudgetAgencyList.vue","webpack:///./node_modules/vuetify/src/components/VAvatar/VAvatar.sass","webpack:///./node_modules/vuetify/lib/mixins/loadable/index.js","webpack:///./src/Legislators/Reports/Constitutional.vue?4910","webpack:///src/Legislators/Reports/Constitutional.vue","webpack:///./src/Legislators/Reports/Constitutional.vue?b907","webpack:///./src/Legislators/Reports/Constitutional.vue","webpack:///./node_modules/vuetify/lib/components/VBreadcrumbs/VBreadcrumbsItem.js","webpack:///./node_modules/vuetify/lib/components/VBreadcrumbs/VBreadcrumbsDivider.js","webpack:///./node_modules/vuetify/lib/components/VBreadcrumbs/VBreadcrumbs.js","webpack:///./src/Session/Bills.vue?c9dc","webpack:///src/Session/Bills.vue","webpack:///./src/Session/Bills.vue?1013","webpack:///./src/Session/Bills.vue","webpack:///./node_modules/vuetify/src/components/VAutocomplete/VAutocomplete.sass?0ff7","webpack:///./src/Budget/Resources.vue?749b","webpack:///src/Budget/Resources.vue","webpack:///./src/Budget/Resources.vue?ad4a","webpack:///./src/Budget/Resources.vue","webpack:///./node_modules/vuetify/src/components/VRadioGroup/VRadio.sass?1d1e","webpack:///./node_modules/vuetify/lib/mixins/picker-button/index.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/VDatePickerTitle.js","webpack:///./node_modules/vuetify/lib/mixins/localable/index.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/util/pad.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/util/createNativeLocaleFormatter.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/util/monthChange.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/VDatePickerHeader.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/util/eventHelpers.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/util/sanitizeDateString.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/util/isDateAllowed.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/mixins/date-picker-table.js","webpack:///./node_modules/vuetify/lib/util/dateTimeUtils.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/VDatePickerDateTable.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/VDatePickerMonthTable.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/VDatePickerYears.js","webpack:///./node_modules/vuetify/lib/components/VPicker/VPicker.js","webpack:///./node_modules/vuetify/lib/components/VPicker/index.js","webpack:///./node_modules/vuetify/lib/mixins/picker/index.js","webpack:///./node_modules/vuetify/lib/components/VCalendar/util/timestamp.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/VDatePicker.js","webpack:///./src/Components/PersonCard.vue?d3be","webpack:///./src/Components/PressRelease.vue?3db3","webpack:///src/Components/PressRelease.vue","webpack:///./src/Components/PressRelease.vue?9f42","webpack:///./src/Components/PressRelease.vue","webpack:///./src/Session/ConferenceCommittees.vue?4be7","webpack:///./node_modules/vuetify/lib/components/VGrid/VSpacer.js","webpack:///./src/Redistricting/Laws.vue?c7fd","webpack:///src/Redistricting/Laws.vue","webpack:///./src/Redistricting/Laws.vue?a478","webpack:///./src/Redistricting/Laws.vue","webpack:///./node_modules/vuetify/src/components/VRadioGroup/VRadio.sass","webpack:///./src/Rules/RulesManual.vue?342b","webpack:///src/Rules/RulesManual.vue","webpack:///./src/Rules/RulesManual.vue?3353","webpack:///./src/Rules/RulesManual.vue","webpack:///./node_modules/vuetify/lib/components/VSkeletonLoader/VSkeletonLoader.js","webpack:///./node_modules/vuetify/src/components/VAlert/VAlert.sass","webpack:///./node_modules/vuetify/src/components/VSelect/VSelect.sass","webpack:///./node_modules/vuetify/lib/components/VMenu/index.js","webpack:///./src/Statutes/Statutes.vue?be9f","webpack:///src/Statutes/Statutes.vue","webpack:///./src/Statutes/Statutes.vue?0d55","webpack:///./src/Statutes/Statutes.vue","webpack:///./node_modules/vuetify/src/components/VAvatar/VAvatar.sass?8b98","webpack:///./node_modules/vuetify/src/components/VWindow/VWindow.sass","webpack:///./node_modules/vuetify/lib/components/VList/VListItemIcon.js","webpack:///./node_modules/vuetify/lib/components/VChip/index.js","webpack:///./src/Session/SubjectIndex.vue?6caa","webpack:///src/Session/SubjectIndex.vue","webpack:///./src/Session/SubjectIndex.vue?1714","webpack:///./src/Session/SubjectIndex.vue","webpack:///./node_modules/vuetify/src/components/VDialog/VDialog.sass?7f7c","webpack:///./node_modules/vuetify/src/components/VResponsive/VResponsive.sass?5b3a","webpack:///./node_modules/vuetify/lib/components/VProgressLinear/index.js","webpack:///./node_modules/vuetify/lib/mixins/validatable/index.js","webpack:///./node_modules/vuetify/lib/components/VTooltip/VTooltip.js","webpack:///./node_modules/vuetify/src/components/VList/VList.sass?fe97","webpack:///./src/Components/MemberCard.vue?1ea0","webpack:///./node_modules/vuetify/src/components/VOverlay/VOverlay.sass?9d35","webpack:///./node_modules/vuetify/src/components/VRadioGroup/VRadioGroup.sass?d897","webpack:///./src/Staff/Division.vue?a525","webpack:///src/Staff/Division.vue","webpack:///./src/Staff/Division.vue?45ab","webpack:///./src/Staff/Division.vue","webpack:///./src/Redistricting/Faq.vue?6954","webpack:///src/Redistricting/Faq.vue","webpack:///./src/Redistricting/Faq.vue?c2a1","webpack:///./src/Redistricting/Faq.vue","webpack:///./src/References/PublicResources.vue?7ef3","webpack:///src/References/PublicResources.vue","webpack:///./src/References/PublicResources.vue?100d","webpack:///./src/References/PublicResources.vue","webpack:///./node_modules/vuetify/lib/components/VRadioGroup/VRadioGroup.js","webpack:///./src/Legislators/Reports/FifteenYear.vue?4210","webpack:///src/Legislators/Reports/FifteenYear.vue","webpack:///./src/Legislators/Reports/FifteenYear.vue?3fba","webpack:///./src/Legislators/Reports/FifteenYear.vue","webpack:///./src/Constitution/Article.vue?bce4","webpack:///src/Constitution/Article.vue","webpack:///./src/Constitution/Article.vue?21c2","webpack:///./src/Constitution/Article.vue","webpack:///./src/Components/MemberCard.vue?4ca3","webpack:///./node_modules/vuetify/lib/components/VThemeProvider/VThemeProvider.js","webpack:///./node_modules/vuetify/src/components/VAutocomplete/VAutocomplete.sass","webpack:///./node_modules/vuetify/src/components/VImg/VImg.sass","webpack:///./src/Redistricting/RedistrictingMenu.vue?bbc6","webpack:///src/Redistricting/RedistrictingMenu.vue","webpack:///./src/Redistricting/RedistrictingMenu.vue?4112","webpack:///./src/Redistricting/RedistrictingMenu.vue","webpack:///./src/Components/Disclaimer.vue?e8c2","webpack:///src/Components/Disclaimer.vue","webpack:///./src/Components/Disclaimer.vue?da74","webpack:///./src/Components/Disclaimer.vue","webpack:///./node_modules/vuetify/lib/mixins/activatable/index.js","webpack:///./node_modules/vuetify/src/components/VTooltip/VTooltip.sass","webpack:///./node_modules/vuetify/src/components/VGrid/VGrid.sass?f11d","webpack:///./src/Redistricting/Resources.vue?6fea","webpack:///src/Redistricting/Resources.vue","webpack:///./src/Redistricting/Resources.vue?350b","webpack:///./src/Redistricting/Resources.vue","webpack:///./node_modules/vuetify/lib/components/VForm/VForm.js","webpack:///./node_modules/vuetify/src/components/VSkeletonLoader/VSkeletonLoader.sass","webpack:///./node_modules/vuetify/src/components/VTabs/VTabs.sass","webpack:///./node_modules/vuetify/src/components/VDatePicker/VDatePickerHeader.sass","webpack:///./node_modules/vuetify/src/components/VTextField/VTextField.sass?da16","webpack:///./node_modules/vuetify/src/components/VAppBar/VAppBar.sass","webpack:///./src/Components/LiveBoard.vue?d98a","webpack:///src/Components/LiveBoard.vue","webpack:///./src/Components/LiveBoard.vue?9920","webpack:///./src/Components/LiveBoard.vue","webpack:///./node_modules/vuetify/lib/mixins/rippleable/index.js","webpack:///./src/ContactUs/ADARequest.vue?13f1","webpack:///src/ContactUs/ADARequest.vue","webpack:///./src/ContactUs/ADARequest.vue?801a","webpack:///./src/ContactUs/ADARequest.vue","webpack:///./src/Constitution/Articles.vue?84c3","webpack:///src/Constitution/Articles.vue","webpack:///./src/Constitution/Articles.vue?142c","webpack:///./src/Constitution/Articles.vue","webpack:///./node_modules/vuetify/src/components/VSpeedDial/VSpeedDial.sass","webpack:///./src/References/IssueMemos.vue?778f","webpack:///src/References/IssueMemos.vue","webpack:///./src/References/IssueMemos.vue?772d","webpack:///./src/References/IssueMemos.vue","webpack:///./node_modules/vuetify/lib/components/VList/VListGroup.js","webpack:///./src/Components/Schedule.vue?4174","webpack:///src/Components/Schedule.vue","webpack:///./src/Components/Schedule.vue?016c","webpack:///./src/Components/Schedule.vue","webpack:///./node_modules/vuetify/src/components/VNavigationDrawer/VNavigationDrawer.sass","webpack:///./node_modules/vuetify/lib/components/VList/VListItemGroup.js","webpack:///./node_modules/vuetify/lib/components/VList/index.js","webpack:///./node_modules/vuetify/src/components/VToolbar/VToolbar.sass?8e41","webpack:///./src/References/Maps.vue?253b","webpack:///src/References/Maps.vue","webpack:///./src/References/Maps.vue?8f2e","webpack:///./src/References/Maps.vue","webpack:///./node_modules/vuetify/lib/components/VItemGroup/VItemGroup.js","webpack:///./node_modules/vuetify/src/components/VSlideGroup/VSlideGroup.sass?088b","webpack:///./node_modules/vuetify/src/components/VCard/VCard.sass?959c","webpack:///./node_modules/vuetify/src/components/VList/VListItem.sass?dcb0","webpack:///./node_modules/vuetify/lib/components/VGrid/VCol.js","webpack:///./node_modules/vuetify/src/components/VDialog/VDialog.sass","webpack:///./src/Legislators/Historical.vue?9de7","webpack:///src/Legislators/Historical.vue","webpack:///./src/Legislators/Historical.vue?bfd9","webpack:///./src/Legislators/Historical.vue","webpack:///./node_modules/vuetify/src/components/VSubheader/VSubheader.sass","webpack:///./src/Session/BillReports/FiscalNotes.vue?cb6a","webpack:///src/Session/BillReports/FiscalNotes.vue","webpack:///./src/Session/BillReports/FiscalNotes.vue?cd73","webpack:///./src/Session/BillReports/FiscalNotes.vue","webpack:///./src/Legislators/Profile/Bills.vue?f56e","webpack:///src/Legislators/Profile/Bills.vue","webpack:///./src/Legislators/Profile/Bills.vue?4dff","webpack:///./src/Legislators/Profile/Bills.vue","webpack:///./node_modules/vuetify/src/components/VMenu/VMenu.sass","webpack:///./node_modules/vuetify/lib/components/VRadioGroup/VRadio.js","webpack:///./node_modules/vuetify/src/components/VSelect/VSelect.sass?3442","webpack:///./src/Legislators/Reports/GeneralReports.vue?a63b","webpack:///src/Legislators/Reports/GeneralReports.vue","webpack:///./src/Legislators/Reports/GeneralReports.vue?6449","webpack:///./src/Legislators/Reports/GeneralReports.vue","webpack:///./src/Staff/Committee.vue?9e72","webpack:///src/Staff/Committee.vue","webpack:///./src/Staff/Committee.vue?5c4c","webpack:///./src/Staff/Committee.vue","webpack:///./node_modules/vuetify/src/styles/components/_selection-controls.sass","webpack:///./src/Session/BillReports/BillStatus.vue?ba94","webpack:///src/Session/BillReports/BillStatus.vue","webpack:///./src/Session/BillReports/BillStatus.vue?c2ac","webpack:///./src/Session/BillReports/BillStatus.vue","webpack:///./src/Staff/SubjectArea.vue?f63f","webpack:///src/Staff/SubjectArea.vue","webpack:///./src/Staff/SubjectArea.vue?d205","webpack:///./node_modules/vuetify/lib/components/VExpansionPanel/VExpansionPanel.js","webpack:///./node_modules/vuetify/lib/components/VExpansionPanel/VExpansionPanelContent.js","webpack:///./node_modules/vuetify/lib/components/VExpansionPanel/VExpansionPanelHeader.js","webpack:///./node_modules/vuetify/lib/components/VExpansionPanel/VExpansionPanels.js","webpack:///./src/Staff/SubjectArea.vue","webpack:///./node_modules/vuetify/lib/components/VResponsive/VResponsive.js","webpack:///./src/Session/Housing.vue?211f","webpack:///src/Session/Housing.vue","webpack:///./src/Session/Housing.vue?4485","webpack:///./src/Session/Housing.vue","webpack:///./node_modules/vuetify/src/components/VCheckbox/VCheckbox.sass?b744","webpack:///./src/SessionLaws/SessionLaws.vue?34b6","webpack:///src/SessionLaws/SessionLaws.vue","webpack:///./src/SessionLaws/SessionLaws.vue?c83b","webpack:///./src/SessionLaws/SessionLaws.vue","webpack:///./node_modules/vuetify/src/components/VCard/VCard.sass","webpack:///./src/Legislators/Reports/TenYear.vue?5539","webpack:///src/Legislators/Reports/TenYear.vue","webpack:///./src/Legislators/Reports/TenYear.vue?034c","webpack:///./src/Legislators/Reports/TenYear.vue","webpack:///./node_modules/vuetify/src/components/VProgressLinear/VProgressLinear.sass?7ef3","webpack:///./src/Session/BillReports/SignedByGovernor.vue?c335","webpack:///src/Session/BillReports/SignedByGovernor.vue","webpack:///./src/Session/BillReports/SignedByGovernor.vue?0468","webpack:///./src/Session/BillReports/SignedByGovernor.vue","webpack:///./src/References/RequiredReports.vue?5b92","webpack:///src/References/RequiredReports.vue","webpack:///./src/References/RequiredReports.vue?3342","webpack:///./src/References/RequiredReports.vue","webpack:///./node_modules/vuetify/lib/components/VTabs/VTab.js","webpack:///./src/Session/General.vue?b82a","webpack:///src/Session/General.vue","webpack:///./src/Session/General.vue?bc52","webpack:///./src/Session/General.vue","webpack:///./src/Session/BillReports/Withdrawn.vue?c60b","webpack:///src/Session/BillReports/Withdrawn.vue","webpack:///./src/Session/BillReports/Withdrawn.vue?4e82","webpack:///./src/Session/BillReports/Withdrawn.vue","webpack:///./src/Menus/Sidebar.vue?d499","webpack:///src/Menus/Sidebar.vue","webpack:///./src/Menus/Sidebar.vue?8173","webpack:///./src/Menus/Sidebar.vue","webpack:///./node_modules/vuetify/lib/mixins/detachable/index.js","webpack:///./src/Components/FilterableDataTable.vue?9746","webpack:///src/Components/FilterableDataTable.vue","webpack:///./src/Components/FilterableDataTable.vue?f6e2","webpack:///./src/Components/FilterableDataTable.vue","webpack:///./node_modules/vuetify/lib/components/VResponsive/index.js","webpack:///./node_modules/vuetify/src/components/VNavigationDrawer/VNavigationDrawer.sass?3aad","webpack:///./src/Legislators/Reports/OfficeReports.vue?f3f4","webpack:///src/Legislators/Reports/OfficeReports.vue","webpack:///./src/Legislators/Reports/OfficeReports.vue?1fd4","webpack:///./src/Legislators/Reports/OfficeReports.vue","webpack:///./node_modules/vuetify/src/components/VCheckbox/VCheckbox.sass","webpack:///./src/Committees/eMinutes.vue?d742","webpack:///src/Committees/eMinutes.vue","webpack:///./src/Committees/eMinutes.vue?4324","webpack:///./src/Committees/eMinutes.vue","webpack:///./src/Legislators/Find.vue?1cab","webpack:///src/Legislators/Find.vue","webpack:///./src/Legislators/Find.vue?54dc","webpack:///./src/Legislators/Find.vue","webpack:///./src/Menus/CommitteeSidebar.vue?2d6d","webpack:///src/Menus/CommitteeSidebar.vue","webpack:///./src/Menus/CommitteeSidebar.vue?f56e","webpack:///./src/Menus/CommitteeSidebar.vue","webpack:///./node_modules/vuetify/src/components/VLabel/VLabel.sass","webpack:///./src/Students/Intern.vue?592c","webpack:///src/Students/Intern.vue","webpack:///./src/Students/Intern.vue?7d40","webpack:///./src/Students/Intern.vue","webpack:///./src/Session/BillReports/GovernorsDesk.vue?f6b8","webpack:///src/Session/BillReports/GovernorsDesk.vue","webpack:///./src/Session/BillReports/GovernorsDesk.vue?4550","webpack:///./src/Session/BillReports/GovernorsDesk.vue","webpack:///./node_modules/vuetify/lib/components/VAvatar/VAvatar.js","webpack:///./node_modules/vuetify/lib/components/VAvatar/index.js","webpack:///./node_modules/vuetify/lib/components/VList/VListItemAvatar.js","webpack:///./node_modules/vuetify/lib/mixins/comparable/index.js","webpack:///./src/Legislators/Reports/Territorial.vue?daa1","webpack:///src/Legislators/Reports/Territorial.vue","webpack:///./src/Legislators/Reports/Territorial.vue?f3c6","webpack:///./src/Legislators/Reports/Territorial.vue","webpack:///./node_modules/vuetify/lib/components/VCounter/VCounter.js","webpack:///./node_modules/vuetify/lib/components/VCounter/index.js","webpack:///./node_modules/vuetify/lib/mixins/intersectable/index.js","webpack:///./node_modules/vuetify/lib/components/VTextField/VTextField.js","webpack:///./src/Legislators/Reports/SpeakersPresidents.vue?704c","webpack:///src/Legislators/Reports/SpeakersPresidents.vue","webpack:///./src/Legislators/Reports/SpeakersPresidents.vue?5e70","webpack:///./src/Legislators/Reports/SpeakersPresidents.vue","webpack:///./node_modules/vuetify/src/components/VTextField/VTextField.sass","webpack:///./node_modules/vuetify/lib/components/VList/VList.js","webpack:///./node_modules/vuetify/src/components/VList/VListItemGroup.sass?452b","webpack:///./node_modules/vuetify/src/components/VChip/VChip.sass?634e","webpack:///./node_modules/vuetify/src/components/VAppBar/VAppBar.sass?cb7c","webpack:///./src/Budget/Documents.vue?be62","webpack:///src/Budget/Documents.vue","webpack:///./src/Budget/Documents.vue?7057","webpack:///./src/Budget/Documents.vue","webpack:///./node_modules/vuetify/src/components/VSpeedDial/VSpeedDial.sass?b2cf","webpack:///./src/Committees/Hearings.vue?066b","webpack:///src/Committees/Hearings.vue","webpack:///./src/Committees/Hearings.vue?ff11","webpack:///./src/Committees/Hearings.vue","webpack:///./node_modules/vuetify/src/components/VDivider/VDivider.sass?da99","webpack:///./node_modules/vuetify/lib/components/VProgressLinear/VProgressLinear.js","webpack:///./node_modules/vuetify/src/components/VList/VListItemGroup.sass","webpack:///./node_modules/vuetify/src/components/VImg/VImg.sass?54b9","webpack:///./node_modules/vuetify/src/components/VMessages/VMessages.sass?3e6e","webpack:///./src/Legislators/Reports/TwentyFiveYear.vue?2f72","webpack:///src/Legislators/Reports/TwentyFiveYear.vue","webpack:///./src/Legislators/Reports/TwentyFiveYear.vue?8007","webpack:///./src/Legislators/Reports/TwentyFiveYear.vue","webpack:///./src/Legislators/Reports/USCongress.vue?49e1","webpack:///src/Legislators/Reports/USCongress.vue","webpack:///./src/Legislators/Reports/USCongress.vue?60d4","webpack:///./src/Legislators/Reports/USCongress.vue","webpack:///./src/Components/MemberCard.vue?fec3","webpack:///src/Components/MemberCard.vue","webpack:///./src/Components/MemberCard.vue?ba4f","webpack:///./src/Components/MemberCard.vue","webpack:///./src/Rules/Rules.vue?279c","webpack:///src/Rules/Rules.vue","webpack:///./src/Rules/Rules.vue?c909","webpack:///./src/Rules/Rules.vue","webpack:///./node_modules/vuetify/src/components/VTooltip/VTooltip.sass?e76f","webpack:///./src/References/ExternalResources.vue?ce18","webpack:///src/References/ExternalResources.vue","webpack:///./src/References/ExternalResources.vue?7661","webpack:///./src/References/ExternalResources.vue","webpack:///./src/Components/MonthlyReportCard.vue?aa09","webpack:///src/Components/MonthlyReportCard.vue","webpack:///./src/Components/MonthlyReportCard.vue?3d71","webpack:///./src/Components/MonthlyReportCard.vue","webpack:///./src/Legislators/Profile/Profile.vue?6dc5","webpack:///src/Legislators/Profile/Profile.vue","webpack:///./src/Legislators/Profile/Profile.vue?81f8","webpack:///./src/Legislators/Profile/Profile.vue","webpack:///./node_modules/vuetify/lib/components/VCard/index.js","webpack:///./src/Legislators/Reports/Statehood.vue?6779","webpack:///src/Legislators/Reports/Statehood.vue","webpack:///./src/Legislators/Reports/Statehood.vue?e649","webpack:///./src/Legislators/Reports/Statehood.vue","webpack:///./node_modules/vuetify/src/components/VResponsive/VResponsive.sass","webpack:///./node_modules/vuetify/lib/components/VIcon/index.js","webpack:///./node_modules/vuetify/lib/mixins/bootable/index.js","webpack:///./src/Redistricting/CourtCases.vue?3162","webpack:///src/Redistricting/CourtCases.vue","webpack:///./src/Redistricting/CourtCases.vue?0af9","webpack:///./src/Redistricting/CourtCases.vue","webpack:///./node_modules/vuetify/lib/components/VCheckbox/VSimpleCheckbox.js","webpack:///./node_modules/vuetify/src/components/VDatePicker/VDatePickerTable.sass","webpack:///./src/Redistricting/Redistricting.vue?b586","webpack:///src/Redistricting/Redistricting.vue","webpack:///./src/Redistricting/Redistricting.vue?d483","webpack:///./src/Redistricting/Redistricting.vue","webpack:///./src/Rules/Rule.vue?05c6","webpack:///src/Rules/Rule.vue","webpack:///./src/Rules/Rule.vue?495b","webpack:///./src/Rules/Rule.vue","webpack:///./node_modules/vuetify/lib/directives/click-outside/index.js","webpack:///./node_modules/vuetify/lib/mixins/proxyable/index.js","webpack:///./node_modules/vuetify/lib/components/VGrid/VContainer.js","webpack:///./src/ContactUs/Information.vue?6a1f","webpack:///src/ContactUs/Information.vue","webpack:///./src/ContactUs/Information.vue?7f2b","webpack:///./src/ContactUs/Information.vue","webpack:///./node_modules/vuetify/lib/components/VTextarea/VTextarea.js","webpack:///./node_modules/vuetify/src/components/VBreadcrumbs/VBreadcrumbs.sass","webpack:///./node_modules/vuetify/src/components/VBreadcrumbs/VBreadcrumbs.sass?351d","webpack:///./src/Staff/BudgetAgency.vue?635f","webpack:///src/Staff/BudgetAgency.vue","webpack:///./src/Staff/BudgetAgency.vue?8147","webpack:///./src/Staff/BudgetAgency.vue","webpack:///./node_modules/vuetify/lib/components/VCheckbox/VCheckbox.js","webpack:///./src/Session/ConferenceCommittees.vue?ee26","webpack:///./node_modules/vuetify/lib/components/VImg/VImg.js","webpack:///./node_modules/vuetify/src/components/VSlideGroup/VSlideGroup.sass","webpack:///./node_modules/vuetify/lib/components/VBtn/index.js","webpack:///./node_modules/vuetify/lib/components/VCard/VCard.js","webpack:///./src/Session/BillHTML.vue?a946","webpack:///src/Session/BillHTML.vue","webpack:///./src/Session/BillHTML.vue?4329","webpack:///./src/Session/BillHTML.vue","webpack:///./src/ErrorPages/Error404.vue?0681","webpack:///src/ErrorPages/Error404.vue","webpack:///./src/ErrorPages/Error404.vue?37fe","webpack:///./src/ErrorPages/Error404.vue","webpack:///./src/SessionLaws/SessionLawChapter.vue?3799","webpack:///src/SessionLaws/SessionLawChapter.vue","webpack:///./src/SessionLaws/SessionLawChapter.vue?160f","webpack:///./src/SessionLaws/SessionLawChapter.vue","webpack:///./src/Session/ConferenceCommittees.vue?e8de","webpack:///./node_modules/vuetify/src/components/VToolbar/VToolbar.sass","webpack:///./node_modules/vuetify/src/components/VChip/VChip.sass","webpack:///./node_modules/vuetify/src/components/VDatePicker/VDatePickerTitle.sass","webpack:///./node_modules/vuetify/lib/components/VDivider/index.js","webpack:///./src/Session/BillReports/Emergency.vue?439e","webpack:///src/Session/BillReports/Emergency.vue","webpack:///./src/Session/BillReports/Emergency.vue?ff0e","webpack:///./src/Session/BillReports/Emergency.vue","webpack:///./node_modules/vuetify/lib/mixins/dependent/index.js","webpack:///./node_modules/vuetify/lib/components/VSubheader/VSubheader.js","webpack:///./node_modules/vuetify/lib/components/VSubheader/index.js","webpack:///./node_modules/vuetify/lib/components/VSelect/VSelectList.js","webpack:///./node_modules/vuetify/lib/mixins/filterable/index.js","webpack:///./node_modules/vuetify/lib/components/VSelect/VSelect.js","webpack:///./node_modules/vuetify/lib/components/VLabel/VLabel.js","webpack:///./node_modules/vuetify/lib/components/VLabel/index.js","webpack:///./src/Legislators/Reports/Political.vue?e159","webpack:///src/Legislators/Reports/Political.vue","webpack:///./src/Legislators/Reports/Political.vue?1b93","webpack:///./src/Legislators/Reports/Political.vue","webpack:///./src/Components/PersonCard.vue?09bc","webpack:///src/Components/PersonCard.vue","webpack:///./src/Components/PersonCard.vue?10a0","webpack:///./src/Components/PersonCard.vue","webpack:///./src/Legislators/Profile/Hearings.vue?2b51","webpack:///src/Legislators/Profile/Hearings.vue","webpack:///./src/Legislators/Profile/Hearings.vue?e2b2","webpack:///./src/Legislators/Profile/Hearings.vue","webpack:///./src/Menus/AppBar.vue?8d62","webpack:///src/Menus/AppBar.vue","webpack:///./src/Menus/AppBar.vue?5c58","webpack:///./node_modules/vuetify/lib/components/VToolbar/VToolbar.js","webpack:///./node_modules/vuetify/lib/mixins/scrollable/index.js","webpack:///./node_modules/vuetify/lib/components/VAppBar/VAppBar.js","webpack:///./node_modules/vuetify/lib/components/VDialog/VDialog.js","webpack:///./node_modules/vuetify/lib/components/VSpeedDial/VSpeedDial.js","webpack:///./node_modules/vuetify/lib/components/VToolbar/index.js","webpack:///./src/Menus/AppBar.vue","webpack:///./src/Staff/RuleAgency.vue?4e7c","webpack:///src/Staff/RuleAgency.vue","webpack:///./src/Staff/RuleAgency.vue?7276","webpack:///./src/Staff/RuleAgency.vue","webpack:///./node_modules/vuetify/lib/components/VMessages/VMessages.js","webpack:///./node_modules/vuetify/lib/components/VMessages/index.js","webpack:///./node_modules/vuetify/lib/components/VInput/VInput.js","webpack:///./node_modules/vuetify/lib/components/VInput/index.js","webpack:///./node_modules/vuetify/lib/directives/touch/index.js","webpack:///./node_modules/vuetify/lib/components/VAutocomplete/VAutocomplete.js","webpack:///./src/Components/MemberCard.vue?bdce","webpack:///./src/Legislators/Reports/ExecutiveBoard.vue?6c0d","webpack:///src/Legislators/Reports/ExecutiveBoard.vue","webpack:///./src/Legislators/Reports/ExecutiveBoard.vue?abdd","webpack:///./src/Legislators/Reports/ExecutiveBoard.vue","webpack:///./node_modules/vuetify/src/components/VDatePicker/VDatePickerTable.sass?8b10","webpack:///./node_modules/vuetify/lib/components/VChip/VChip.js","webpack:///./node_modules/vuetify/src/components/VProgressLinear/VProgressLinear.sass","webpack:///./node_modules/vuetify/lib/components/VDivider/VDivider.js","webpack:///./src/References/ProgramEvaluation.vue?1de8","webpack:///src/References/ProgramEvaluation.vue","webpack:///./src/References/ProgramEvaluation.vue?17c3","webpack:///./src/References/ProgramEvaluation.vue","webpack:///./node_modules/vuetify/src/components/VCheckbox/VSimpleCheckbox.sass?3552","webpack:///./node_modules/vuetify/src/components/VInput/VInput.sass?aba9","webpack:///./src/Rules/Registers.vue?b7d2","webpack:///src/Rules/Registers.vue","webpack:///./src/Rules/Registers.vue?a6be","webpack:///./src/Rules/Registers.vue","webpack:///./src/Students/Page.vue?5529","webpack:///src/Students/Page.vue","webpack:///./src/Students/Page.vue?4c22","webpack:///./src/Students/Page.vue","webpack:///./src/References/PerformanceReports.vue?4abe","webpack:///src/References/PerformanceReports.vue","webpack:///./src/References/PerformanceReports.vue?fca3","webpack:///./src/References/PerformanceReports.vue","webpack:///./src/Session/ConferenceCommittees.vue?1869","webpack:///src/Session/ConferenceCommittees.vue","webpack:///./src/Session/ConferenceCommittees.vue?01b2","webpack:///./src/Session/ConferenceCommittees.vue","webpack:///./src/ContactUs/Congress.vue?a9ed","webpack:///src/ContactUs/Congress.vue","webpack:///./src/ContactUs/Congress.vue?f453","webpack:///./src/ContactUs/Congress.vue","webpack:///./src/Staff/Default.vue?9bc1","webpack:///src/Staff/Default.vue","webpack:///./src/Staff/Default.vue?363f","webpack:///./src/Staff/Default.vue","webpack:///./src/Session/Bill.vue?92af","webpack:///src/Session/Bill.vue","webpack:///./src/Session/Bill.vue?d689","webpack:///./src/Session/Bill.vue","webpack:///./src/References/StatisticalComparison.vue?e0a0","webpack:///src/References/StatisticalComparison.vue","webpack:///./src/References/StatisticalComparison.vue?2af4","webpack:///./src/References/StatisticalComparison.vue","webpack:///./src/Session/Subject.vue?d51c","webpack:///src/Session/Subject.vue","webpack:///./src/Session/Subject.vue?b245","webpack:///./src/Session/Subject.vue","webpack:///./node_modules/vuetify/src/components/VDatePicker/VDatePickerTitle.sass?15ab","webpack:///./node_modules/vuetify/lib/util/mergeData.js","webpack:///./node_modules/vuetify/lib/components/VList/VListItem.js","webpack:///./node_modules/vuetify/src/components/VList/VListGroup.sass?c507","webpack:///./node_modules/vuetify/lib/directives/resize/index.js","webpack:///./src/SessionLaws/SessionLawPart.vue?b200","webpack:///src/SessionLaws/SessionLawPart.vue","webpack:///./src/SessionLaws/SessionLawPart.vue?f8c5","webpack:///./src/SessionLaws/SessionLawPart.vue","webpack:///./node_modules/vuetify/src/components/VRadioGroup/VRadioGroup.sass","webpack:///./node_modules/vuetify/lib/util/dom.js","webpack:///./src/Legislators/Reports/TenureReports.vue?c910","webpack:///src/Legislators/Reports/TenureReports.vue","webpack:///./src/Legislators/Reports/TenureReports.vue?c41a","webpack:///./src/Legislators/Reports/TenureReports.vue","webpack:///./src/Committees/Bills.vue?8d60","webpack:///src/Committees/Bills.vue","webpack:///./src/Committees/Bills.vue?a3fb","webpack:///./src/Committees/Bills.vue","webpack:///./node_modules/vuetify/lib/components/VMenu/VMenu.js","webpack:///./node_modules/vuetify/lib/mixins/mobile/index.js","webpack:///./node_modules/vuetify/lib/mixins/returnable/index.js","webpack:///./node_modules/vuetify/src/components/VPicker/VPicker.sass?603c","webpack:///./node_modules/vuetify/src/components/VInput/VInput.sass","webpack:///./src/Committees/Detail.vue?509f","webpack:///src/Committees/Detail.vue","webpack:///./src/Committees/Detail.vue?06cc","webpack:///./src/Committees/Detail.vue","webpack:///./node_modules/vuetify/lib/components/VOverlay/VOverlay.js","webpack:///./node_modules/vuetify/lib/components/VOverlay/index.js","webpack:///./node_modules/vuetify/lib/mixins/overlayable/index.js","webpack:///./node_modules/vuetify/src/components/VList/VList.sass","webpack:///./node_modules/vuetify/src/components/VList/VListGroup.sass","webpack:///./node_modules/vuetify/src/components/VCounter/VCounter.sass?2202","webpack:///./node_modules/vuetify/src/styles/components/_selection-controls.sass?2900","webpack:///./node_modules/vuetify/src/components/VCounter/VCounter.sass","webpack:///./node_modules/vuetify/src/components/VMenu/VMenu.sass?3963","webpack:///./node_modules/vuetify/src/components/VItemGroup/VItemGroup.sass","webpack:///./node_modules/vuetify/src/components/VDivider/VDivider.sass","webpack:///./src/Home/Home.vue?a58e","webpack:///src/Home/Home.vue","webpack:///./src/Home/Home.vue?dd16","webpack:///./src/Home/Home.vue","webpack:///./src/ErrorPages/Error400.vue?5091","webpack:///src/ErrorPages/Error400.vue","webpack:///./src/ErrorPages/Error400.vue?2273","webpack:///./src/ErrorPages/Error400.vue","webpack:///./src/Legislators/Reports/TwentyYear.vue?2988","webpack:///src/Legislators/Reports/TwentyYear.vue","webpack:///./src/Legislators/Reports/TwentyYear.vue?223a","webpack:///./src/Legislators/Reports/TwentyYear.vue","webpack:///./node_modules/vuetify/lib/mixins/transitionable/index.js","webpack:///./src/Budget/MonthlyReport.vue?9a00","webpack:///src/Budget/MonthlyReport.vue","webpack:///./src/Budget/MonthlyReport.vue?54ea","webpack:///./src/Budget/MonthlyReport.vue","webpack:///./node_modules/vuetify/lib/mixins/menuable/index.js","webpack:///./node_modules/vuetify/lib/components/VNavigationDrawer/VNavigationDrawer.js","webpack:///./src/Statutes/Statute.vue?2eaa","webpack:///src/Statutes/Statute.vue","webpack:///./src/Statutes/Statute.vue?6926","webpack:///./src/Statutes/Statute.vue","webpack:///./src/Session/BillReports/Hoghouse.vue?5437","webpack:///src/Session/BillReports/Hoghouse.vue","webpack:///./src/Session/BillReports/Hoghouse.vue?9f61","webpack:///./src/Session/BillReports/Hoghouse.vue","webpack:///./src/Session/Vote.vue?5bee","webpack:///src/Session/Vote.vue","webpack:///./src/Session/Vote.vue?5b26","webpack:///./src/Session/Vote.vue","webpack:///./node_modules/vuetify/src/components/VGrid/VGrid.sass","webpack:///./src/Components/GoogleSearchStatute.vue?7ea4","webpack:///src/Components/GoogleSearchStatute.vue","webpack:///./src/Components/GoogleSearchStatute.vue?e0a8","webpack:///./src/Components/GoogleSearchStatute.vue","webpack:///./node_modules/vuetify/lib/mixins/selectable/index.js","webpack:///./node_modules/vuetify/lib/components/VSlideGroup/VSlideGroup.js","webpack:///./node_modules/vuetify/lib/components/VTabs/VTabsBar.js","webpack:///./node_modules/vuetify/lib/components/VWindow/VWindow.js","webpack:///./node_modules/vuetify/lib/components/VTabs/VTabsItems.js","webpack:///./node_modules/vuetify/lib/components/VTabs/VTabsSlider.js","webpack:///./node_modules/vuetify/lib/components/VTabs/VTabs.js"],"names":["___CSS_LOADER_API_IMPORT___","exports","push","module","i","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","_v","headers","items","loading","scopedSlots","_u","key","fn","ref","item","$MyLRCUrl","value","DocumentId","_s","Title","proxy","staticRenderFns","Sidebar","FilterableDataTable","name","components","methods","fetch","method","credentials","then","res","ok","json","Error","statusText","response","EncodeDatetimes","catch","error","data","search","text","width","mounted","LoadData","computed","title","Description","meta","vmid","content","property","window","location","href","link","rel","split","component","VCol","VRow","SessionId","Session","YearString","_e","searchIcon","model","callback","$$v","expression","bills","$options","BillId","BillType","BillNumberOnly","domProps","BillText","GoogleSearch","props","status","mdi","align","sortable","visible","subHeaders","watch","debounce","getDataFromApi","VAlert","VIcon","VTextField","DirectorHead","length","find","x","indexOf","CodeCounselHead","FiscalHead","Fiscal","includeHead","head","filter","StaffGroupId","UserId","ResearchHead","Research","OperationsHead","Operations","ItHead","It","MemberId","LastName","FirstName","r","forEach","Name","finally","_","__esModule","default","locals","add","mergeTransitions","dest","transitions","Array","concat","createSimpleTransition","origin","mode","functional","group","type","Boolean","hideOnLeave","leaveAbsolute","String","h","context","tag","on","el","style","transformOrigin","webkitTransformOrigin","leave","offsetTop","offsetLeft","offsetWidth","offsetHeight","_transitionInitialStyles","position","top","left","height","afterLeave","setProperty","mergeData","children","createJavascriptTransition","functions","sizeProperty","offsetProperty","_parent","parentNode","_initialStyle","transition","overflow","initialStyle","offset","expandedParentClass","classList","requestAnimationFrame","afterEnter","resetStyles","enterCancelled","leaveCancelled","remove","size","VFadeTransition","VSlideXTransition","VExpandTransition","VExpandXTransition","extend","border","val","includes","closeLabel","coloredBorder","dense","dismissible","closeIcon","icon","outlined","prominent","class","setBackgroundColor","computedColor","color","iconColor","small","$vuetify","lang","t","click","isActive","computedIcon","classes","options","call","hasText","hasColoredIcon","undefined","isDark","$attrs","hasOwnProperty","$slots","prepend","__cachedIcon","genContent","__cachedBorder","append","$scopedSlots","close","toggle","__cachedDismissible","role","listeners$","styles","directives","setColor","setTextColor","genWrapper","genAlert","filteredSessionCommittees","SessionCommitteeHeaders","SessionCommitteeId","SessionCommittee","Body","MeetingTimePretty","MeetingTime","filteredConferenceCommittees","ConferenceCommitteeHeaders","ConferenceCommittee","filteredInterimCommittees","InterimCommitteeHeaders","InterimYearCommittee","InterimYearCommitteeId","SessionMemberId","Member","Time","format","filterValue","Year","Committees","FullBody","ConferenceCommitteeId","VProgressLinear","currentRoute","InterimPageText","ruleOfProcedureURL","SessionPageText","CommitteeSidebar","Promise","reject","RuleOfProcedure","SessionEmails","Headers","filterable","Filter","LoadSessionText","$route","path","VCard","VCardText","VCardTitle","VContainer","placeholder","staticStyle","_l","y","url","Years","VFlex","VLayout","VList","VListItem","VListItemContent","breakpoints","ALIGNMENT","makeProps","prefix","def","reduce","alignValidator","str","alignProps","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","Object","keys","justify","alignContent","classMap","breakpointClass","prop","className","breakpoint","replace","toLowerCase","cache","Map","noGutters","cacheKey","get","set","$event","filterListing","RepublicanCount","DemocratCount","IndependentCount","DistrictView","filteredSessionMembers","InactiveDate","MemberType","DistrictId","CountyList","DistrictHeaders","ListOfLegislatorsByDistrict","Term","SessionMembers","District","console","DistrictCounties","district","d","County","tabs","Politics","Districts","from","Set","map","sort","a","b","VCardSubtitle","VChip","VSpacer","VTab","VTabs","_defineProperties","target","descriptor","enumerable","configurable","writable","defineProperty","_toPropertyKey","_createClass","Constructor","protoProps","staticProps","prototype","_extends","assign","bind","arguments","source","apply","_inheritsLoose","subClass","superClass","create","constructor","_setPrototypeOf","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","p","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","valueOf","e","_construct","Parent","args","Class","Function","instance","_isNativeFunction","toString","_wrapNativeSuper","_cache","TypeError","has","Wrapper","_objectWithoutPropertiesLoose","excluded","sourceKeys","_unsupportedIterableToArray","minLen","_arrayLikeToArray","n","slice","test","arr","len","arr2","_createForOfIteratorHelperLoose","allowArrayLike","it","Symbol","iterator","next","isArray","done","_toPrimitive","input","hint","prim","toPrimitive","Number","arg","LuxonError","_Error","InvalidDateTimeError","_LuxonError","reason","toMessage","InvalidIntervalError","_LuxonError2","InvalidDurationError","_LuxonError3","ConflictingSpecificationError","_LuxonError4","InvalidUnitError","_LuxonError5","unit","InvalidArgumentError","_LuxonError6","ZoneIsAbstractError","_LuxonError7","s","l","DATE_SHORT","year","month","day","DATE_MED","DATE_MED_WITH_WEEKDAY","weekday","DATE_FULL","DATE_HUGE","TIME_SIMPLE","hour","minute","TIME_WITH_SECONDS","second","TIME_WITH_SHORT_OFFSET","timeZoneName","TIME_WITH_LONG_OFFSET","TIME_24_SIMPLE","hourCycle","TIME_24_WITH_SECONDS","TIME_24_WITH_SHORT_OFFSET","TIME_24_WITH_LONG_OFFSET","DATETIME_SHORT","DATETIME_SHORT_WITH_SECONDS","DATETIME_MED","DATETIME_MED_WITH_SECONDS","DATETIME_MED_WITH_WEEKDAY","DATETIME_FULL","DATETIME_FULL_WITH_SECONDS","DATETIME_HUGE","DATETIME_HUGE_WITH_SECONDS","Zone","_proto","offsetName","ts","opts","formatOffset","equals","otherZone","singleton$1","SystemZone","_Zone","_ref","locale","parseZoneInfo","Date","getTimezoneOffset","Intl","DateTimeFormat","resolvedOptions","timeZone","dtfCache","makeDTF","zone","hour12","era","typeToPos","hackyOffset","dtf","date","formatted","parsed","exec","fMonth","fDay","fYear","fadOrBc","fHour","fMinute","fSecond","partsOffset","formatToParts","filled","_formatted$i","pos","isUndefined","parseInt","ianaZoneCache","IANAZone","_this","zoneName","valid","isValidZone","resetCache","isValidSpecifier","isNaN","NaN","_ref2","adOrBc","Math","abs","adjustedHour","asUTC","objToLocalTS","millisecond","asTS","over","_excluded","_excluded2","intlLFCache","getCachedLF","locString","JSON","stringify","ListFormat","intlDTCache","getCachedDTF","intlNumCache","getCachedINF","inf","NumberFormat","intlRelCache","getCachedRTF","_opts","base","cacheKeyOpts","RelativeTimeFormat","sysLocaleCache","systemLocale","weekInfoCache","getCachedWeekInfo","Locale","getWeekInfo","weekInfo","parseLocaleString","localeStr","xIndex","substring","selectedStr","uIndex","smaller","_options","numberingSystem","calendar","intlConfigString","outputCalendar","mapMonths","f","ms","dt","DateTime","utc","mapWeekdays","listStuff","loc","englishFn","intlFn","listingMode","supportsFastNumbers","startsWith","intl","PolyNumberFormatter","forceSimple","padTo","floor","otherOpts","intlOpts","useGrouping","minimumIntegerDigits","fixed","_fixed","roundTo","padStart","PolyDateFormatter","originalZone","z","gmtOffset","offsetZ","setZone","plus","minutes","_proto2","join","toJSDate","parts","part","PolyRelFormatter","isEnglish","hasRelative","rtf","_proto3","count","formatRelativeTime","numeric","fallbackWeekSettings","firstDay","minimalDays","weekend","numbering","weekSettings","specifiedLocale","_parseLocaleString","parsedLocale","parsedNumberingSystem","parsedOutputCalendar","weekdaysCache","standalone","monthsCache","meridiemCache","eraCache","fastNumbersCached","fromOpts","defaultToEN","Settings","defaultLocale","localeR","numberingSystemR","defaultNumberingSystem","outputCalendarR","defaultOutputCalendar","weekSettingsR","validateWeekSettings","defaultWeekSettings","fromObject","_temp","_proto4","isActuallyEn","hasNoWeirdness","clone","alts","getOwnPropertyNames","redefaultToEN","redefaultToSystem","months","_this2","formatStr","extract","weekdays","_this3","meridiems","_this4","eras","_this5","field","df","dtFormatter","results","matching","m","numberFormatter","fastNumbers","relFormatter","listFormatter","getWeekSettings","hasLocaleWeekInfo","getStartOfWeek","getMinDaysInFirstWeek","getWeekendDays","other","singleton","FixedOffsetZone","utcInstance","parseSpecifier","match","signedOffset","InvalidZone","normalizeZone","defaultZone","isString","lowered","isNumber","throwOnInvalid","now","twoDigitCutoffYear","resetCaches","cutoffYear","Invalid","explanation","nonLeapLadder","leapLadder","unitOutOfRange","dayOfWeek","UTC","setUTCFullYear","getUTCFullYear","js","getUTCDay","computeOrdinal","isLeapYear","uncomputeOrdinal","ordinal","table","month0","findIndex","isoWeekdayToLocal","isoWeekday","startOfWeek","gregorianToWeek","gregObj","minDaysInFirstWeek","weekYear","weekNumber","weeksInWeekYear","timeObject","weekToGregorian","weekData","weekdayOfJan4","yearInDays","daysInYear","_uncomputeOrdinal","gregorianToOrdinal","gregData","ordinalToGregorian","ordinalData","_uncomputeOrdinal2","usesLocalWeekValues","obj","hasLocaleWeekData","localWeekday","localWeekNumber","localWeekYear","hasIsoWeekData","hasInvalidWeekData","validYear","isInteger","validWeek","integerBetween","validWeekday","hasInvalidOrdinalData","validOrdinal","hasInvalidGregorianData","validMonth","validDay","daysInMonth","hasInvalidTimeData","validHour","validMinute","validSecond","validMillisecond","isDate","maybeArray","thing","bestBy","by","compare","best","pair","pick","k","settings","some","v","bottom","floorMod","padded","isNeg","parseInteger","string","parseFloating","parseFloat","parseMillis","fraction","number","digits","towardZero","factor","pow","rounder","trunc","round","modMonth","modYear","firstWeekOffset","fwdlw","weekOffset","weekOffsetNext","untruncateYear","offsetFormat","modified","offHourStr","offMinuteStr","offHour","offMin","offMinSigned","is","asNumber","numericValue","normalizeObject","normalizer","normalized","u","hours","sign","RangeError","monthsLong","monthsShort","monthsNarrow","weekdaysLong","weekdaysShort","weekdaysNarrow","erasLong","erasShort","erasNarrow","meridiemForDateTime","weekdayForDateTime","monthForDateTime","eraForDateTime","narrow","units","years","quarters","weeks","days","seconds","lastable","isDay","isInPast","fmtValue","singular","lilUnits","fmtUnit","stringifyTokens","splits","tokenToString","_step","_iterator","token","literal","_macroTokenToFormatOpts","D","DD","DDD","DDDD","tt","ttt","tttt","T","TT","TTT","TTTT","ff","fff","ffff","F","FF","FFF","FFFF","Formatter","formatOpts","systemLoc","parseFormat","fmt","current","currentFull","bracketed","c","charAt","macroTokenToFormatOpts","formatWithSystemDefault","formatDateTime","formatDateTimeParts","formatInterval","interval","start","formatRange","end","num","formatDateTimeFromString","knownEnglish","useDateTimeFormatter","isOffsetFixed","allowZ","isValid","meridiem","maybeMacro","quarter","formatDurationFromString","dur","tokenToField","lildur","mapped","tokens","realTokens","found","collapsed","shiftTo","ianaRegex","combineRegexes","_len","regexes","_key","full","RegExp","combineExtractors","_len2","extractors","_key2","ex","mergedVals","mergedZone","cursor","_ex","parse","_len3","patterns","_key3","_i","_patterns","_patterns$_i","regex","extractor","simpleParse","_len4","_key4","ret","offsetRegex","isoExtendedZone","isoTimeBaseRegex","isoTimeRegex","isoTimeExtensionRegex","isoYmdRegex","isoWeekRegex","isoOrdinalRegex","extractISOWeekData","extractISOOrdinalData","sqlYmdRegex","sqlTimeRegex","sqlTimeExtensionRegex","int","fallback","extractISOYmd","extractISOTime","milliseconds","extractISOOffset","local","fullOffset","extractIANAZone","isoTimeOnly","isoDuration","extractISODuration","yearStr","monthStr","weekStr","dayStr","hourStr","minuteStr","secondStr","millisecondsStr","hasNegativePrefix","negativeSeconds","maybeNegate","force","obsOffsets","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","fromStrings","weekdayStr","result","rfc2822","extractRFC2822","obsOffset","milOffset","preprocessRFC2822","trim","rfc1123","rfc850","ascii","extractRFC1123Or850","extractASCII","isoYmdWithTimeExtensionRegex","isoWeekWithTimeExtensionRegex","isoOrdinalWithTimeExtensionRegex","isoTimeCombinedRegex","extractISOYmdTimeAndOffset","extractISOWeekTimeAndOffset","extractISOOrdinalDateAndTime","extractISOTimeAndOffset","parseISODate","parseRFC2822Date","parseHTTPDate","parseISODuration","extractISOTimeOnly","parseISOTimeOnly","sqlYmdWithTimeExtensionRegex","sqlTimeCombinedRegex","extractISOTimeOffsetAndIANAZone","parseSQL","INVALID$2","lowOrderMatrix","casualMatrix","daysInYearAccurate","daysInMonthAccurate","accurateMatrix","orderedUnits$1","reverseUnits","reverse","clone$1","clear","conf","values","conversionAccuracy","matrix","Duration","durationToMillis","vals","_vals$milliseconds","sum","normalizeValues","reduceRight","previous","previousVal","conv","rollUp","removeZeroes","newVals","_Object$entries","entries","_Object$entries$_i","_Symbol$for","config","accurate","invalid","isLuxonDuration","fromMillis","normalizeUnit","fromDurationLike","durationLike","isDuration","fromISO","_parseISODuration","fromISOTime","_parseISOTimeOnly","week","toFormat","fmtOpts","toHuman","unitDisplay","listStyle","toObject","toISO","toISOTime","millis","toMillis","suppressMilliseconds","suppressSeconds","includePrefix","includeOffset","dateTime","toJSON","invalidReason","duration","_i2","_orderedUnits","minus","negate","mapUnits","_i3","_Object$keys","mixed","reconfigure","as","normalize","rescale","shiftToAll","lastUnit","built","accumulated","_i4","_orderedUnits2","own","ak","negated","_i5","_Object$keys2","eq","v1","v2","_i6","_orderedUnits3","for","INVALID$1","validateStartEnd","Interval","isLuxonInterval","fromDateTimes","builtStart","friendlyDateTime","builtEnd","validateError","after","before","_split","startIsValid","endIsValid","_dur","isInterval","toDuration","startOf","useLocaleWeeks","diff","hasSame","isEmpty","isAfter","isBefore","contains","splitAt","dateTimes","sorted","added","splitBy","idx","divideEqually","numberOfParts","overlaps","abutsStart","abutsEnd","engulfs","intersection","union","merge","intervals","_intervals$sort$reduc","sofar","final","xor","_Array$prototype","currentCount","ends","time","flattened","difference","toLocaleString","toISODate","dateFormat","_temp2","_ref3","_ref3$separator","separator","mapEndpoints","mapFn","Info","hasDST","proto","isUniversal","isValidIANAZone","_ref$locale","_ref$locObj","locObj","getMinimumDaysInFirstWeek","_ref2$locale","_ref2$locObj","getWeekendWeekdays","_temp3","_ref3$locale","_ref3$locObj","_temp4","_ref4","_ref4$locale","_ref4$numberingSystem","_ref4$locObj","_ref4$outputCalendar","monthsFormat","_temp5","_ref5","_ref5$locale","_ref5$numberingSystem","_ref5$locObj","_ref5$outputCalendar","_temp6","_ref6","_ref6$locale","_ref6$numberingSystem","_ref6$locObj","weekdaysFormat","_temp7","_ref7","_ref7$locale","_ref7$numberingSystem","_ref7$locObj","_temp8","_ref8","_ref8$locale","_temp9","_ref9","_ref9$locale","features","relative","localeWeek","dayDiff","earlier","later","utcDayStart","toUTC","keepLocalTime","highOrderDiffs","lowestOrder","highWater","differs","_differs","_differs$_i","differ","_diff","_highOrderDiffs","remainingMillis","lowerOrderUnits","_cursor$plus","_Duration$fromMillis","numberingSystems","arab","arabext","bali","beng","deva","fullwide","gujr","hanidec","khmr","knda","laoo","limb","mlym","mong","mymr","orya","tamldec","telu","thai","tibt","latn","numberingSystemsUTF16","hanidecChars","parseDigits","code","charCodeAt","_numberingSystemsUTF","min","max","digitRegex","MISSING_FTP","intUnit","post","deser","NBSP","fromCharCode","spaceOrNBSP","spaceOrNBSPRegExp","fixListRegex","stripInsensitivities","oneOf","strings","startIndex","groups","simple","escapeToken","unitForToken","one","two","three","four","six","oneOrTwo","oneToThree","oneToSix","oneToNine","twoToFour","fourToSix","unitate","partTypeStyleToTokenVal","short","long","dayperiod","dayPeriod","hour24","tokenForPart","resolvedOpts","isSpace","actualType","buildRegex","re","handlers","matches","all","matchIndex","dateTimeFromMatches","specificOffset","toField","Z","q","M","G","S","dummyDateTimeCache","getDummyDateTime","maybeExpandMacroToken","formatOptsToTokens","expandMacroTokens","explainFromTokens","disqualifyingUnit","_buildRegex","regexString","_match","rawMatches","parseFromTokens","_explainFromTokens","formatter","INVALID","MAX_DATE","unsupportedZone","possiblyCachedWeekData","possiblyCachedLocalWeekData","localWeekData","inst","old","fixOffset","localTS","tz","utcGuess","o2","o3","tsToObj","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","objToTS","adjustTime","oPre","millisToAdd","_fixOffset","parseDataToDateTime","parsedZone","interpretationZone","toTechFormat","_toISODate","extended","longFormat","_toISOTime","extendedZone","ianaName","defaultUnitValues","defaultWeekUnitValues","defaultOrdinalUnitValues","orderedUnits","orderedWeekUnits","orderedOrdinalUnits","weeknumber","weeksnumber","weeknumbers","weekyear","weekyears","normalizeUnitWithLocalWeeks","quickDT","tsNow","offsetProvis","_objToTS","diffRelative","calendary","lastOpts","argList","unchanged","ot","_zone","isLuxonDateTime","_lastOpts","_lastOpts2","fromJSDate","zoneToUse","fromSeconds","_usesLocalWeekValues","containsOrdinal","containsGregorYear","containsGregorMD","containsGregor","definiteWeekDef","defaultValues","useWeekData","objNow","_step2","foundFirst","_iterator2","higherOrderInvalid","gregorian","_objToTS2","tsFinal","offsetFinal","_parseISODate","fromRFC2822","_parseRFC2822Date","fromHTTP","_parseHTTPDate","fromFormat","_opts$locale","_opts$numberingSystem","localeToUse","_parseFromTokens","fromString","fromSQL","_parseSQL","isDateTime","parseFormatForOpts","localeOpts","tokenList","expandFormat","expanded","getPossibleOffsets","dayMs","minuteMs","oEarlier","oLater","o1","ts1","ts2","c1","c2","resolvedLocaleOptions","_Formatter$create$res","toLocal","_ref2$keepLocalTime","_ref2$keepCalendarTim","keepCalendarTime","newTS","offsetGuess","asObj","_objToTS3","setLocale","_usesLocalWeekValues2","settingWeekStuff","_objToTS4","_ref4$useLocaleWeeks","normalizedUnit","ceil","endOf","_this$plus","toLocaleParts","_ref5$format","_ref5$suppressSeconds","_ref5$suppressMillise","_ref5$includeOffset","_ref5$extendedZone","ext","_ref6$format","toISOWeekDate","_ref7$suppressMillise","_ref7$suppressSeconds","_ref7$includeOffset","_ref7$includePrefix","_ref7$extendedZone","_ref7$format","toRFC2822","toHTTP","toSQLDate","toSQLTime","_ref8$includeOffset","_ref8$includeZone","includeZone","_ref8$includeOffsetSp","includeOffsetSpace","toSQL","toSeconds","toUnixInteger","toBSON","includeConfig","otherDateTime","durOpts","otherIsLater","diffed","diffNow","until","inputMs","adjustedToZone","toRelative","padding","toRelativeCalendar","every","fromFormatExplain","_options$locale","_options$numberingSys","fromStringExplain","dateTimeish","VERSION","Minutes","expandItem","rowClick","DatePretty","DocumentDate","CommitteeId","eMinutes","Avid","stopPropagation","AudioLink","Url","mdiVolumeHigh","HTML","combindURLHTML","combindURL","tempMinutes","DocumentTypeId","documentId","agendas","NoMeeting","getTime","nObj","openDocumentHTML","any","isExpanded","expand","loadingHTML","CommitteeMemberTypes","YearCommittee","Committee","Room","Days","CommitteeType","PublicMinDocs","VBtn","filterDialog","BillTypes","filterBillType","Keywords","filterKeyword","filterCommittee","filterCommitteeSponsored","InterimCommittees","filterInterimCommitteeSponsored","Agencies","filterAgencySponsored","Legislators","PictureSmall","_f","filterPrimeSponsor","filterSponsor","filterText","_g","_b","filterStartDate","parseDate","dateFormatted","menu1","filterEndDate","dateFormatted1","menu2","filterEmergencyClause","billHeaders","sortedBills","myfetch","OtherBillNumber","BillNumber","BillSort","Introduced","IntroducedSearch","Keyword","FullName","UniqueName","Agency","rowsPerPageItems","pagination","descending","page","rowsPerPage","sortBy","totalItems","filterTextResults","sortStack","existingBills","ListName","AddCriteria","formatDate","filters","resultRows","Sponsors","PrimeSponsors","InterimCommitteeId","AgencyId","EmergencyClause","searchVals","searchString","isValidDate","stack","desc","VAutocomplete","VCheckbox","VDatePicker","VImg","VListItemAvatar","VListItemSubtitle","VListItemTitle","VMenu","combindAgendaURL","MinDatePretty","CommitteeAgendas","dates","UniqueDates","item1","temp","testing","expandedAgendas","splice","expandedMinutes","docs","needle","haystack","HouseRulesURL","SenateRulesURL","JointRulesURL","SenateSeatingChartURL","HouseSeatingChartURL","HouseDirectoryURL","SenateDirectoryURL","Documents","filteredTabs","Senators","CommitteeMembers","Representatives","Agendas","agendaDocTypeId","minDocTypeId","Chair","CommitteeMemberType","ViceChair","CoChair","LeadCoChair","ExOfficio","ChiefClerk","SessionStaff","President","Position","Secretary","openDelay","closeDelay","openTimeout","closeTimeout","clearTimeout","cb","clearDelay","delay","setTimeout","open","filteredChild","VNode","isComment","showHtml","showDocuments","MeetingDocuments","ShowHtml","ShowDocuments","EncodeDate","GetMeetingDocuments","LoggedIn","$LoggedIn","createMYLRCLink","pdf","getVideo","isAudio","play_arrow","docid","Videos","audioOnly","$Sessions","Bill","protocol","host","ServiceMember","MiddleName","Sex","Birthdate","Deathdate","FormatComments","Remarks","TotalYears","YearsHeaders","ServiceMembers","slot","OfficeHeaders","MemberOffices","comments","$router","Encoded","MemberServices","removeEmpty","newObj","person","script","FirstLastName","isOpen","groupby","LongBillName","Ending","Filename","PrisonJail","filename","lastChar","toUpperCase","LongBillType","loadData","PersonCard","EmailAddress","rss","podcast","activeTab","Path","switchTab","HasVideo","hasVideo","query","Tab","Id","committee","VetoLetter","meetingInfo","relativeTime","DocumentDateComment","IsMeetingTimePast","IsFourHoursPast","success","preventDefault","submitForm","loadRepresentingOptions","testifierPending","$set","InPerson","representingOptions","onRepresentingChange","States","state","abbreviation","index","CustomAgenda","saving","progressBarWidth","errorMessage","jsDate","LoadedTime","AgendaId","go","LuxonDate","Email","email","agendaItems","AgendaItems","agenda","testimony","ActionlogId","ActionLogId","OneMinuteProcess","validateName","loadingEntities","selfoption","Employer","RegistrationNumber","representing","selected","SetRegistrationNumber","selectedEntity","option","UnregisteredLobbyist","RequiredTestimony","$refs","form","validate","testimonyData","body","showNameAlert","city","startCountdown","err","reportError","countdown","CountdownInterval","clearInterval","setInterval","nameParts","Agenda","TestifyData","OneMinuteInterval","delimiters","returnObject","editingIndex","multiple","selectedItems","internalSearch","VSelect","hasSlot","isFocused","hasDisplayedItems","hideNoData","delimiter","endsWith","updateTags","updateMenuDimensions","genInput","paste","onPaste","chip","genChipSelection","componentOptions","listeners","dblclick","getText","selectedIndex","onChipInput","getMenuIndex","$nextTick","updateSelf","keyCode","ctrlKey","home","onKeyDown","selectionStart","enter","onEnterDown","changeSelectedIndex","onTabDown","updateEditing","selectItem","toLocaleLowerCase","internalValue","setValue","searchIsDirty","isUsingSlot","selection","hasChips","updateCombobox","menuIndex","itemToSelect","event","_a","$emit","pastedItemText","clipboardData","getData","findExistingIndex","clearableCallback","VCombobox","VDivider","VForm","VRadio","VRadioGroup","stackElement","stackExclude","stackMinZIndex","getMaxZIndex","exclude","$el","zis","activeElements","document","getElementsByClassName","MemberCard","Members","SenateMembers","HouseMembers","filteredHeaders","filteredSessions","IsSession","getReportID","Sessions","FinalReports","id","single","Type","SpecialSession","DocumentHearingId","drawer1","dotsvertical","loadingMenu","SubMenuItems","VNavigationDrawer","VSkeletonLoader","loaderHeight","progress","absolute","indeterminate","mixins","activeClass","ripple","disabled","generateRouteLink","isLink","divider","large","themeClasses","VBreadcrumbsDivider","VBreadcrumbsItem","genDivider","genItems","filterBills","Combined","Bills","uniqueBillTypes","SenateBillTypes","HouseBillTypes","billType","toTable","elmnt","getElementById","scrollIntoView","BudgetReportCard","LettersOfIntent","SubRouteName","readonly","active","selectingYear","yearIcon","isReversing","prev","dark","genPickerButton","genYearIcon","computedTransition","innerHTML","genTitleText","getYearBtn","genTitleDate","targetLength","padString","repeat","createNativeLocaleFormatter","substrOptions","makeIsoString","dateString","pad","intlFormatter","substr","nextAriaLabel","nextIcon","prevAriaLabel","prevIcon","required","currentLocale","newVal","oldVal","change","ariaLabelId","ariaLabel","calculateChange","light","rtl","monthChange","header","genBtn","genHeader","createItemTypeNativeListeners","itemTypeSuffix","$listeners","eventName","createItemTypeListeners","isDateAllowed","allowedFn","Touch","allowedDates","events","eventColor","range","scrollable","tableDate","wheelThrottle","wheel","isAllowed","isFloating","isSelected","isCurrent","isFirst","isLast","mouseEventType","isOtherMonth","genButtonClasses","genButtonEvents","genEvents","arrayize","eventData","eventColors","getEventColors","calculateTableDate","sanitizeType","sanitizeDateString","deltaY","touchDirective","offsetX","isValidScroll","touch","right","to","createUTCDate","isFinite","firstDayOfWeek","firstDayOfYear","firstWeekDayInFirstWeek","firstWeekDayOfYear","dayOfYear","weeksInYear","localeFirstDayOfYear","showAdjacentMonths","showWeek","weekdayFormat","first","weekdayFormatter","delta","weekDays","unshift","genTR","firstDayOfTheMonth","displayedYear","displayedMonth","weekDay","dayInMonth","getDate","rows","weekDaysBeforeFirstDayOfTheMonth","genWeekNumber","getWeekNumber","prevMonthYear","prevMonth","firstDayFromPreviousMonth","cellsInRow","genButton","nextMonthYear","nextMonth","nextMonthDay","genTable","genTHead","genTBody","cols","fill","row","tds","col","defaultColor","activeItem","scrollTop","scrollHeight","selectedYear","getFullYear","maxYear","minYear","genYearItem","genYearItems","flat","fullWidth","landscape","noTitle","defaultTitleColor","computedTitleColor","genBodyTransition","actions","elevationClasses","genTitle","genBody","genActions","headerColor","save","cancel","genPickerTitle","genPickerBody","genPickerActionsSlot","elevation","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP","activePicker","dayFormat","headerDateFormat","monthFormat","nextMonthAriaLabel","nextYearAriaLabel","pickerDate","prevMonthAriaLabel","prevYearAriaLabel","reactive","showCurrent","selectedItemsText","titleDateFormat","yearFormat","internalActivePicker","inputDay","inputMonth","inputYear","multipleValue","getMonth","isMultiple","titleDate","defaultTitleMultipleDateFormatter","defaultTitleDateFormatter","titleFormats","titleDateFormatter","landscapeFormatter","nonDigit","digit","immediate","lastValue","newValue","oldValue","checkMultipleProp","setInputDate","inputDate","output","newInput","valueType","expected","tableMonth","emitInput","formatters","minMonth","maxMonth","tableYear","VDatePickerDateTable","dateClick","VDatePickerMonthTable","selectedMonths","monthClick","yearClick","genYears","genTableHeader","genDateTable","genMonthTable","array","genPicker","loadingLatest","RedistrictingMenu","RulesManualURL","RulesManual","LastUpdated","Docs","boilerplate","tile","types","isLoading","article","avatar","button","card","heading","image","paragraph","sentences","bone","generator","genStructure","rootTypes","mapBones","genBones","genBone","beforeEnter","onBeforeEnter","beforeLeave","onBeforeLeave","bones","display","measurableStyles","genSkeleton","StatuesEffectiveDate","breadcrumbs","Statute","TitleLetter","CatchLine","shortenCell","GoogleSearchStatute","realdateTime","toLocaleDateString","encodeURIComponent","pathname","createBreadcrumbs","route","bci2","VBreadcrumbs","KeywordId","baseMixins","errorCount","errorMessages","messages","rules","successMessages","validateOnBlur","errorBucket","hasColor","hasFocused","hasInput","isResetting","lazyValue","isDisabled","appIsDark","internalErrorMessages","internalSuccessMessages","validationTarget","hasSuccess","shouldValidate","hasError","genInternalMessages","isReadonly","externalError","internalMessages","deep","register","unregister","rule","openOnHover","openOnFocus","calculatedMinWidth","closeDependents","activator","dimensions","unknown","activatorLeft","attach","nudgeLeft","nudgeRight","calcXOverflow","activatorTop","nudgeTop","nudgeBottom","pageYOffset","calcYOverflow","calculatedLeft","maxWidth","minWidth","calculatedTop","zIndex","activeZIndex","callActivate","updateDimensions","startTransition","runDelay","genActivatorListeners","focus","getActivator","blur","keydown","esc","contentClass","menuable__content__active","activatorFixed","getScopeIdAttrs","isContentActive","getContentSlot","showLazyContent","genTransition","genActivator","Director","CodeCounsel","fields","dir","Staff","directorId","IT","References","Other","radioGroup","column","computedId","genDefaultSlot","genInputSlot","label","genLabel","onClick","vnode","attrs$","Previous","arrow_back","Next","arrow_forward","hideSessionLawSearch","Value","Html","StatuteId","redirected","parents","showPendingAction","showUnconstitutional","child","readableNumber","exact","currentVal","bciL","JsonldBreadCrumbs","CurrentBaseURL","ListItems","li","Catchline","root","rootIsDark","node","internalActivator","openOnClick","activatorElement","activatorNode","slotType","addActivatorEvents","removeActivatorEvents","addEventListener","getValueProxy","genActivatorAttributes","mouseenter","mouseleave","querySelector","vm","componentInstance","elm","currentTarget","nodeType","Node","ELEMENT_NODE","self","removeEventListener","inheritAttrs","lazyValidation","inputs","watchers","errorBag","errors","watcher","$watch","_uid","reset","resetErrorBag","resetValidation","watchInput","unwatch","$delete","novalidate","submit","doc","RoomAudio","Status","Loading","liveMeeting","VCardActions","center","Request","emailRules","snackColor","snackVisible","snackText","DateOfHearing","DateRecieved","blankRequest","toISOString","AdarequestId","BillOfInterest","Testify","MeetingInPerson","WillThereBeOthers","AdditionalComments","OtherContact","VSnackbar","VTextarea","Chapter","quickFind","rulefilter","appendIcon","noAction","prependIcon","subGroup","list","listClick","matchRoute","isBooted","genIcon","inputValue","genPrependIcon","genAppendIcon","uid","tv","filteredInterimCommitteeMeetings","CommitteeFullName","InterimYearCommitteeName","Meeting","DayOfWeek","InternetReady","TBD","formatDate2","tempSchedule","endSchedule","sessionMeetings","MeetingDate","Weekday","CommitteeMeetings","groupbyVisible","GroupByValue","filteredCommitteeMeetings","isInGroup","listItemGroup","genData","VListItemActionText","VListGroup","VListItemAction","VListItemIcon","BaseItemGroup","mandatory","internalLazyValue","selectedItem","toggleMethod","getValue","valueComparator","intern","updateInternalValue","$on","selectedValues","updateMandatory","updateItem","_isDestroyed","valueIndex","updateMultiple","updateSingle","last","defaultValue","isSame","itemGroup","breakpointProps","offsetProps","orderProps","order","alignSelf","parent","hasColClasses","filteredMembers","mobile","Party","Office","City","StateOrTerritory","Gender","AdvancedSearch","Parties","Offices","Cities","Counties","Genders","StateOrTerritories","Bodies","Version","FiscalNote","SixC","Billheaders","Billheaders2","filterCoSponsor","BillURL","SponsorType","offIcon","onIcon","groupClasses","hasLabel","hasState","rippleState","validationState","focused","radioAttrs","computedName","genRipple","onKeydown","onChange","genRadio","filteredItems","il","Users","SessionCommittees","filterTitle","ActionLogs","BillStat","filterTitleDebouce","BillsFiltered","SubItems","SubjectId","User","subjectAreas","subjects","subjectId","StaffGroup1","nextIsActive","expansionPanels","detail","expansionPanel","parentIsActive","registerContent","unregisterContent","disableIconRotate","expandIcon","hideActions","hasMousedown","registerHeader","unregisterHeader","tabindex","mousedown","mouseup","accordion","hover","focusable","inset","popout","nextValue","VExpansionPanel","VExpansionPanelContent","VExpansionPanelHeader","VExpansionPanels","aspectRatio","computedAspectRatio","paddingBottom","aspectStyle","__cachedSizer","submitting","submitted","HousingId","Business","Address","Address2","PrimePhone","SecondPhone","HousingType","Restrictions","Comments","SessionLawId","RequiredReportType","Subject","ReceivedBy","Frequency","StrikeThrough","Repealed","Rules","quickFindSearch","Sdcl","splitStatutes","itms","SortDate","RequiredBy","SDCLRULES","s0","s1","statutes","ruleId","moreInfo","fullHeaders","mobileHeaders","xs","sm","proxyClass","resolve","tabsBar","createURL","includeSessionId","formatURL","prependYear","allSubMenuItems","Route","includeSession","includeFileType","not","Hidden","LoadUrl","menuDocuments","TermLimits","sideMenuDocuments","Register","RulePromulgation","PageGeneral","PageFAQ","PageTermCalendar","InternGeneral","InternCoordinator","OrgChart","BudgetHandbook","params","$menuDocuments","$sideMenuDocuments","validateAttachTarget","removeActivator","removeChild","hasDetached","initDetach","firstChild","nextSibling","insertBefore","hasContent","isConnected","observer","MutationObserver","record","removedNodes","disconnect","observe","subtree","childList","scopeId","$vnode","appendChild","ShowDownloadCSV","ExportCSV","download","DownloadText","visibleHeaders","iPP","showExpand","itemKey","multiSort","groupBy","hideDefaultFooter","disablePagination","disableSort","sortDesc","isMobile","editHeaders","more_vert","UpdateHeaderVisibility","slotData","_t","componentName","itemsPerPage","csv","arrayToCSV","fileName","blob","Blob","createElement","URL","createObjectURL","paths","nestedValue","scope","VDataTable","mheaders","changeURL","avMinutes","jumpToTime","myvideo","play","pause","currentTime","$forceUpdate","VResponsive","defaultLayer","rawName","doQuery","valSelect","dojoConfig","async","activeLayer","LoadMap","require","esriConfig","MapView","Search","Locate","BasemapGallery","Expand","Query","Polygon","Home","LayerList","GeoJSONLayer","Extent","SpatialReference","basemap","redistrictingFeatureLayer","objectIdField","opacity","labelingInfo","labelClass","renderer","districtLayer","view","container","zoom","whenLayerView","lyrView","queryDistrict","when","ui","layers","LayerListClick","snap","popupTemplate","popupdistrictLayer","popupredistrictLayer","locateBtn","southDakotaExtent","xmin","ymin","xmax","ymax","spatialReference","WGS84","sources","singleLineFieldName","maxResults","maxSuggestions","suggestionsEnabled","minSuggestCharacters","searchExtent","searchWidget","popupOpenOnSelect","searchAllEnabled","allPlaceholder","includeDefaultSources","evt","info","log","queryFeatures","geometry","feature","spatialRelationship","returnGeometry","outFields","featureSet","openPopup","homeWidget","layerList","basemapGallery","bgExpand","mobileSize","heightBreakpoint","widthBreakpoint","collapse","defaultSymbol","uniqueValueInfos","symbol","labelPlacement","labelExpressionInfo","where","extent","rings","polygon","hasZ","hasM","wkid","goTo","point","longitude","latitude","newVisible","visibleItems","layerViews","_items","layer","createCounties","graphic","attributes","District_Name","DISTRICT","createLegislators","anyIncomplete","incomplete","MemberTypes","Terms","Occupation","contentChange","src","BodyName","blankSubMenuItems","getYear","roundedClasses","horizontal","ctx","isGreater","intersectable","isIntersecting","inserted","onObserve","unbind","onVisible","VInput","dirtyTypes","resize","appendOuterIcon","autofocus","clearable","clearIcon","counter","counterValue","prependInnerIcon","persistentPlaceholder","rounded","shaped","singleLine","solo","soloInverted","suffix","badInput","labelWidth","prefixWidth","prependWidth","initialValue","isClearing","isSingle","isSolo","isEnclosed","hasDetails","hasCounter","isDirty","labelValue","isLabelActive","setLabelWidth","setPrefixWidth","tryAutofocus","onResize","onFocus","genSlot","genPrependInnerSlot","maxlength","computedCounterValue","genControl","genFieldset","genTextFieldSlot","genClearIcon","genIconSlot","genProgress","genLegend","showLabel","labelPosition","VLabel","span","inputAttrs","onBlur","onInput","modifiers","quiet","showDetails","messagesNode","genMessages","counterNode","genCounter","genAffix","activeElement","validity","onMouseDown","hasMouseDown","onMouseUp","scrollWidth","setPrependWidth","isInList","inject","isInMenu","isInNav","nav","subheader","threeLine","twoLine","g","selectedSessionId","DocumentHearing","BudgetAgencyList","AllDocuments","DocumentHearings","LoadSessionsOnce","Sort","moment","intersect","backgroundColor","backgroundOpacity","bufferValue","stream","striped","isVisible","backgroundStyle","__cachedBarType","__cachedIndeterminate","__cachedDeterminate","normalizedValue","genProgressBar","normalizedBuffer","isReversed","getBoundingClientRect","genListeners","__cachedStream","__cachedBackground","__cachedBuffer","__cachedBar","Picture","generatePictureUrl","PictureCopyright","generateBackgroundImage","HomeAddress1","HomeAddress2","HomeCity","HomeState","HomeZip","HomePhone","phone","CapitolPhone","officephone","BusinessPhone","CellPhone","cellphone","EmailState","supportWebP","isSmall","basePath","PersonId","VTooltip","RuleNumber","Article","Status1","Items","filteredReportTypes","DocumentType","Month","FiscalYear","DocTypeId","ReportTypes","docDates","unique","shift","pop","eager","Ripple","indeterminateIcon","house","houseMaps","senate","senateMaps","hm","RuleId","Archived","ArchivedRuleId","Effective","Parents","DisplayRuleNumber","bcItem","defaultConditional","checkEvent","binding","checkIsActive","ShadowRoot","elements","include","closeConditional","directive","handler","_clickOutside","lastMousedownWasOutside","handleShadow","ClickOutside","onMousedown","app","factory","Proxyable","fluid","autoGrow","noResize","rowHeight","noResizeHandle","calculateInputHeight","removeProperty","minHeight","staff","AssignedTo","inputIndeterminate","checkboxAttrs","genCheckbox","hasIntersect","alt","contain","gradient","lazySrc","rootMargin","threshold","sizes","srcset","currentSrc","calculatedAspectRatio","naturalWidth","normalisedSrc","aspect","backgroundImage","backgroundPosition","loadImage","init","lazyImg","Image","pollForSize","getSrc","naturalHeight","onload","decode","message","onLoad","onerror","onError","img","timeout","poll","complete","appear","once","__cachedImage","__genPlaceholder","raised","isClickable","background","Document","BillTypeFull","FullTitle","DocumentHtml","session","chapter","sessionLawId","searchChildren","isDependent","$children","openDependents","getOpenDependents","getClickableDependentElements","overlay","getOpenDependentElements","action","hideSelected","itemDisabled","itemText","itemValue","noDataText","noFilter","searchInput","genTileContent","VSimpleCheckbox","middle","getMaskedCharacters","genHighlight","hasItem","getDisabled","tileActiveClass","genAction","scopedSlot","needsTile","genFilteredText","parsedItems","Ctor","itemsLength","genTile","staticNoDataTile","defaultMenuProps","closeOnClick","closeOnContentClick","disableKeys","maxHeight","cacheItems","chips","deletableChips","disableLookup","itemColor","menuProps","openOnClear","smallChips","cachedItems","menuIsBooted","isMenuActive","lastItem","keyboardLookupPrefix","keyboardLookupLastTime","filterDuplicates","allItems","_scopeId","computedOwns","virtualizedItems","select","VSelectList","listData","$_menuProps","auto","computedItems","menuCanShow","normalisedProps","acc","offsetY","setSelectedItems","menu","onMenuActiveChange","setMenuIndex","isInteractive","getContent","uniqueValues","selections","genSelections","genHiddenInput","genMenu","extraData","autocomplete","keypress","onKeyPress","genListWithSlot","staticList","slots","slotName","scroll","onScroll","genList","genSelection","genSlotSelection","genCommaSelection","listIndex","isAppendInner","KEYBOARD_LOOKUP_THRESHOLD","performance","getTiles","tab","up","down","changeListIndex","space","activateMenu","onUpDown","onEscDown","onSpaceDown","tiles","getAttribute","which","showMoreItems","clientHeight","activeTile","hasClickableTiles","prevTile","nextTile","firstTile","lastTile","appendInner","Deleted","bigImage","SubjectAreas","SubjectArea","UserSessionCommittees","UserInterimCommittees","BudgetAgency","RulesAgencies","AgencyDivision","UserProp","BudgetAgencies","HearingHeaders","Hearings","DateTimePretty","ActionDate","ActionCommitteeId","rand","Environment","SubMenu","subItem","drawer","mdimenu","focusToGoogleSearch","SearchBar","_k","searchGoogle","SearchText","googleSitewideResults","searchURL","FullMenu","created","screenWidth","maxrand","screen","innerWidth","getRandomInt","UpperSearchText","searchGooglePart2","StatuteRegex","AdministrativeRegex","random","Visible","$Environment","MenuItemsNoMylrc","VSheet","extensionHeight","floating","isExtended","computedContentHeight","isCollapsed","isProminent","smAndDown","computedHeight","breakingProps","original","replacement","extension","genExtension","genBackground","Scroll","scrollTarget","scrollThreshold","currentScroll","currentThreshold","isScrollingUp","previousScroll","savedScroll","canScroll","computedScrollThreshold","thresholdMet","VAppBar","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","hideShadow","computedOriginalHeight","scrollRatio","application","bar","computedTransform","fontSize","computedFontSize","marginTop","computedMarginTop","transform","computedLeft","computedRight","callUpdate","computedOpacity","fullscreen","noClickAnimation","persistent","retainFocus","activatedBy","animate","animateTimeout","previousActiveElement","show","hideScroll","removeOverlay","showScroll","genOverlay","documentElement","hideOverlay","dialog","onFocusin","animateClick","querySelectorAll","hasAttribute","VThemeProvider","contentClasses","genInnerContent","onClickOutside","direction","btnCount","transitionDelay","VToolbarTitle","VDialog","VSpeedDial","VToolbar","AgencyDivisionId","ResearchUser","FiscalUser","ResearchStaff","FiscalStaff","genMessage","genChildren","hideDetails","hideSpinButtons","persistentHint","messagesToDisplay","hasMessages","$_modelEvent","hasHint","validations","validation","validationResult","genPrependSlot","genAppendSlot","hasListener","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","touchstart","changedTouches","clientX","clientY","touchend","touchmove","touchmoveX","touchmoveY","move","createHandlers","parentElement","passive","_touchHandlers","offsetOverflow","autoSelectFirst","queryText","lazySearch","isSearching","onCopy","setSearch","preSelectedItem","backspace","delete","deleteCurrentItem","curIndex","curItem","lastIndex","nextIndex","nextItem","currentItem","currentItemText","setData","chipGroup","draggable","filterIcon","pill","textColor","hasClose","sizeableClasses","genFilter","genClose","vertical","orientation","GetDateYear","allDocuments","Department","Scope","PageText","TableHeaders","AllConferenceCommittees","filterMembers","j","Membership","Report","Disposition","SenateAdoptionText","StatusText","HouseAdoptionText","ConferenceCommittees","ccs","setHours","getHours","cc","HideSideBar","FullRoute","facebook","twitter","BillCommitteeSponsor","FiscalNotes","CC","TrackingLists","NotLoggedIn","SelectedList","AddBillToList","actionHeaders","ActionLog","JournalPage","StartPageNumber","ShowCommitteeName","ActionCommittee","ActionDate2","ShowPassed","ShowFailed","AssignedCommittee","ShowAssignedCommittee","AssignedCommitteeId","Result","Vote","VoteId","Yeas","Nays","Amendment","HasAudio","GetAudioUrl","GetTime","computedversionHeaders","Versions","BillVersion","HasNote","edit","amendmentHeaders","AmendmentsActive","AmendmentInstructionsDocumentId","AmendmentsPrevious","$Session","LoadMylrc","Amendments","Audio","ListBills","BillAlreadyFollowed","Notes","GetAudio","FullUrl","StartTime","BillListId","versionHeaders","Active","BillSponsor","datePublished","dateModified","pattern","styleList","styleProp","parseStyle","styleMap","mergeTarget","mergeClasses","mergeStyles","mergeListeners","inactive","selectable","genAttrs","nativeOn","_onResize","Resize","SessionIdQuery","attachedRoot","getRootNode","composed","ActiveBills","loading1","billHeadersA","TabledBills","loading2","billHeadersT","SponsoredBills","loading3","billHeadersS","theme","calculatedTopAuto","defaultOffset","hasJustFocused","resizeTimeout","menuWidth","calcLeftAuto","calcLeft","nudgeWidth","pageWidth","calculatedMaxWidth","calcTop","tabIndex","calculatedMaxHeight","contentHeight","appOffset","calcTopAuto","calcScrollPosition","maxScrollTop","computedTop","tileDistanceFromMenuTop","firstTileOffsetTop","rootThemeClasses","genDirectives","mouseEnterHandler","mouseLeaveHandler","relatedTarget","callDeactivate","mobileBreakpoint","mobileWidth","returnValue","originalValue","Speaker","SpeakerProTempore","PresidentProTempore","PrettyName","NonCommitteeMembers","Authority","auth","MiscInfo","LoadRuleDocs","jr","hr","sr","hsc","ssc","hd","sd","__scrim","overlayColor","overlayOpacity","animationFrame","propsData","$mount","createOverlay","$destroy","cancelAnimationFrame","tagName","isContentEditable","pageup","pagedown","checkPath","getComputedStyle","overflowY","overflowX","clientWidth","shiftKey","deltaX","alreadyAtStart","alreadyAtEnd","scrollLeft","scrollingUp","scrollingDown","shouldScroll","isInside","getSelection","anchorNode","hasScrollbar","scrollListener","Schedule","ConferenceCommitteeName","mdiAccountPlus","ShowAudio","description","Latest","WebFilename","Text","JsonData","links","Color","itemprop","jsonData","QuickButton","loadingButtons","FormatDateCompare","windowWidth","sortedRows","Dark","$data","TodaysDate","ErrorText","URLSearchParams","MonthlyReportCard","allowOverflow","positionX","positionY","absoluteX","absoluteY","relativeYOffset","hasWindow","inputActivator","stackClass","xOverflow","getOffsetLeft","documentHeight","getInnerHeight","toTop","absoluteYOffset","totalHeight","isOverflowing","activate","deactivate","getOffsetTop","offsetParent","innerHeight","pageXOffset","rect","getRoundedBoundedClientRect","marginLeft","checkActivatorFixed","checkForPageYOffset","hasActivator","absolutePosition","measure","sneakPeek","offsetRect","clipped","disableResizeWatcher","disableRouteWatcher","expandOnHover","miniVariant","miniVariantWidth","permanent","stateless","temporary","touchless","isMouseover","touchArea","isMiniVariant","hasApp","computedMaxHeight","footer","isBottom","translate","computedWidth","reactsToResize","reactsToMobile","updateMiniVariant","parentRect","reactsToClick","genPosition","swipeLeft","swipeRight","transitionend","resizeEvent","createEvent","initUIEvent","dispatchEvent","reactsToRoute","calculateTouchArea","genPrepend","genAppend","genBorder","references","showReferences","mdiChevronUp","mdiChevronDown","LoadReferents","statuteId","referencesStyle","actionLog","Excused","Absent","RollCalls","RollCallId","FormattedUniqueName","Vote1","Yea","Nay","SessionFilter","startedSearch","siteSearch","fullUrl","GoogleSearchScript","cx","gcse","getElementsByTagName","SearchOn","comp","ConstitutionRegex","Session_LawsRegex","smallSearchResults","performSearch","CreateScript","Session1","urlToSearch","site","prevent","falseValue","trueValue","checked","bias","calculateUpdatedOffset","selectedElement","widths","currentScrollOffset","totalWidth","itemOffset","additionalOffset","calculateCenteredOffset","offsetCentered","BaseSlideGroup","centerActive","showArrows","startX","isSwipingHorizontal","isSwiping","scrollOffset","hasAffixes","ResizeObserver","obs","setWidths","__cachedNext","hasNext","onAffixClick","focusin","upperLocation","hasAffix","__cachedPrev","hasPrev","overflowCheck","onTouchStart","onTouchMove","onTouchEnd","newAbosluteOffset","scrollTo","canTouch","diffX","diffY","maxScrollOffset","lastItemPosition","wrapperPosition","calculateNewOffset","genPrev","genNext","slideGroup","newPath","oldPath","hasNew","hasOld","windowGroup","continuous","showArrowsOnHover","changedByDelimiters","internalHeight","transitionHeight","transitionCount","isReverse","axis","internalReverse","internalIndex","updateReverse","genControlIcons","icons","getNextIndex","prevIndex","getPrevIndex","hasActiveItems","genContainer","alignWithTitle","centered","fixedTabs","grow","hideSlider","iconsAndText","optional","sliderColor","sliderSize","slider","transitionTime","callSlider","VTabsBar","genSlider","VTabsItems","VTabsSlider","sliderStyles","parseNodes","genBar"],"mappings":"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","file":"js/chunk-8cdc8508.a505b90a.js","sourcesContent":["// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-textarea.v-text-field--solo-inverted.v-input--is-focused textarea{color:#fff}.theme--light.v-textarea.v-text-field--solo-inverted.v-input--is-focused textarea::-moz-placeholder{color:hsla(0,0%,100%,.5)}.theme--light.v-textarea.v-text-field--solo-inverted.v-input--is-focused textarea:-ms-input-placeholder{color:hsla(0,0%,100%,.5)}.theme--light.v-textarea.v-text-field--solo-inverted.v-input--is-focused textarea::placeholder{color:hsla(0,0%,100%,.5)}.theme--dark.v-textarea.v-text-field--solo-inverted.v-input--is-focused textarea{color:rgba(0,0,0,.87)}.theme--dark.v-textarea.v-text-field--solo-inverted.v-input--is-focused textarea::-moz-placeholder{color:rgba(0,0,0,.38)}.theme--dark.v-textarea.v-text-field--solo-inverted.v-input--is-focused textarea:-ms-input-placeholder{color:rgba(0,0,0,.38)}.theme--dark.v-textarea.v-text-field--solo-inverted.v-input--is-focused textarea::placeholder{color:rgba(0,0,0,.38)}.v-textarea textarea{align-self:stretch;flex:1 1 auto;line-height:1.75rem;max-width:100%;min-height:32px;outline:none;padding:0;width:100%}.v-textarea .v-text-field__prefix,.v-textarea .v-text-field__suffix{padding-top:2px;align-self:start}.v-textarea.v-text-field--box .v-text-field__prefix,.v-textarea.v-text-field--box textarea,.v-textarea.v-text-field--enclosed .v-text-field__prefix,.v-textarea.v-text-field--enclosed textarea{margin-top:24px}.v-textarea.v-text-field--box.v-text-field--outlined:not(.v-input--dense) .v-text-field__prefix,.v-textarea.v-text-field--box.v-text-field--outlined:not(.v-input--dense) .v-text-field__suffix,.v-textarea.v-text-field--box.v-text-field--outlined:not(.v-input--dense) textarea,.v-textarea.v-text-field--box.v-text-field--single-line:not(.v-input--dense) .v-text-field__prefix,.v-textarea.v-text-field--box.v-text-field--single-line:not(.v-input--dense) .v-text-field__suffix,.v-textarea.v-text-field--box.v-text-field--single-line:not(.v-input--dense) textarea,.v-textarea.v-text-field--enclosed.v-text-field--outlined:not(.v-input--dense) .v-text-field__prefix,.v-textarea.v-text-field--enclosed.v-text-field--outlined:not(.v-input--dense) .v-text-field__suffix,.v-textarea.v-text-field--enclosed.v-text-field--outlined:not(.v-input--dense) textarea,.v-textarea.v-text-field--enclosed.v-text-field--single-line:not(.v-input--dense) .v-text-field__prefix,.v-textarea.v-text-field--enclosed.v-text-field--single-line:not(.v-input--dense) .v-text-field__suffix,.v-textarea.v-text-field--enclosed.v-text-field--single-line:not(.v-input--dense) textarea{margin-top:10px}.v-textarea.v-text-field--box.v-text-field--outlined:not(.v-input--dense) .v-label,.v-textarea.v-text-field--box.v-text-field--single-line:not(.v-input--dense) .v-label,.v-textarea.v-text-field--enclosed.v-text-field--outlined:not(.v-input--dense) .v-label,.v-textarea.v-text-field--enclosed.v-text-field--single-line:not(.v-input--dense) .v-label{top:18px}.v-textarea.v-text-field--box.v-text-field--outlined.v-input--dense .v-text-field__prefix,.v-textarea.v-text-field--box.v-text-field--outlined.v-input--dense .v-text-field__suffix,.v-textarea.v-text-field--box.v-text-field--outlined.v-input--dense textarea,.v-textarea.v-text-field--box.v-text-field--single-line.v-input--dense .v-text-field__prefix,.v-textarea.v-text-field--box.v-text-field--single-line.v-input--dense .v-text-field__suffix,.v-textarea.v-text-field--box.v-text-field--single-line.v-input--dense textarea,.v-textarea.v-text-field--enclosed.v-text-field--outlined.v-input--dense .v-text-field__prefix,.v-textarea.v-text-field--enclosed.v-text-field--outlined.v-input--dense .v-text-field__suffix,.v-textarea.v-text-field--enclosed.v-text-field--outlined.v-input--dense textarea,.v-textarea.v-text-field--enclosed.v-text-field--single-line.v-input--dense .v-text-field__prefix,.v-textarea.v-text-field--enclosed.v-text-field--single-line.v-input--dense .v-text-field__suffix,.v-textarea.v-text-field--enclosed.v-text-field--single-line.v-input--dense textarea{margin-top:6px}.v-textarea.v-text-field--box.v-text-field--outlined.v-input--dense .v-input__append-inner,.v-textarea.v-text-field--box.v-text-field--outlined.v-input--dense .v-input__append-outer,.v-textarea.v-text-field--box.v-text-field--outlined.v-input--dense .v-input__prepend-inner,.v-textarea.v-text-field--box.v-text-field--outlined.v-input--dense .v-input__prepend-outer,.v-textarea.v-text-field--box.v-text-field--single-line.v-input--dense .v-input__append-inner,.v-textarea.v-text-field--box.v-text-field--single-line.v-input--dense .v-input__append-outer,.v-textarea.v-text-field--box.v-text-field--single-line.v-input--dense .v-input__prepend-inner,.v-textarea.v-text-field--box.v-text-field--single-line.v-input--dense .v-input__prepend-outer,.v-textarea.v-text-field--enclosed.v-text-field--outlined.v-input--dense .v-input__append-inner,.v-textarea.v-text-field--enclosed.v-text-field--outlined.v-input--dense .v-input__append-outer,.v-textarea.v-text-field--enclosed.v-text-field--outlined.v-input--dense .v-input__prepend-inner,.v-textarea.v-text-field--enclosed.v-text-field--outlined.v-input--dense .v-input__prepend-outer,.v-textarea.v-text-field--enclosed.v-text-field--single-line.v-input--dense .v-input__append-inner,.v-textarea.v-text-field--enclosed.v-text-field--single-line.v-input--dense .v-input__append-outer,.v-textarea.v-text-field--enclosed.v-text-field--single-line.v-input--dense .v-input__prepend-inner,.v-textarea.v-text-field--enclosed.v-text-field--single-line.v-input--dense .v-input__prepend-outer{align-self:flex-start;margin-top:8px}.v-textarea.v-text-field--solo{align-items:flex-start}.v-textarea.v-text-field--solo .v-input__control textarea{caret-color:auto}.v-textarea.v-text-field--solo .v-input__append-inner,.v-textarea.v-text-field--solo .v-input__append-outer,.v-textarea.v-text-field--solo .v-input__prepend-inner,.v-textarea.v-text-field--solo .v-input__prepend-outer{align-self:flex-start;margin-top:12px}.v-application--is-ltr .v-textarea.v-text-field--solo .v-input__append-inner{padding-left:12px}.v-application--is-rtl .v-textarea.v-text-field--solo .v-input__append-inner{padding-right:12px}.v-textarea--auto-grow textarea{overflow:hidden}.v-textarea--no-resize textarea{resize:none}.v-textarea.v-text-field--enclosed .v-text-field__slot{align-self:stretch}.v-application--is-ltr .v-textarea.v-text-field--enclosed .v-text-field__slot{margin-right:-12px}.v-application--is-rtl .v-textarea.v-text-field--enclosed .v-text-field__slot{margin-left:-12px}.v-application--is-ltr .v-textarea.v-text-field--enclosed .v-text-field__slot textarea{padding-right:12px}.v-application--is-rtl .v-textarea.v-text-field--enclosed .v-text-field__slot textarea{padding-left:12px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Employment Opportunities \")]),_c('br'),_c('div',[_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"DocumentId\",\"sort-by\":\"DocumentId\",\"sort-desc\":[true],\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Description\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/JobPosting/' + item.DocumentId + '.pdf'}},[_vm._v(\" \"+_vm._s(item.Title)+\" \")])]}},{key:\"no-data\",fn:function(){return [_vm._v(\" No positions open at this time. \")]},proxy:true}])})],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Employment Opportunities\r\n            </div>\r\n            <br />\r\n            <div>\r\n                <FilterableDataTable :headers=\"headers\"\r\n                                     :items=\"items\"\r\n                                     item-key=\"DocumentId\"\r\n                                     sort-by=\"DocumentId\"\r\n                                     :sort-desc=\"[true]\"\r\n                                     disable-pagination\r\n                                     hide-default-footer\r\n                                     :loading=\"loading\"\r\n                                     loading-text=\"Loading... Please wait\"\r\n                                     class=\"elevation-1\">\r\n                    <template v-slot:item.Description=\"{ item }\">\r\n                        <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/JobPosting/' + item.DocumentId + '.pdf'\">\r\n                            {{item.Title}}\r\n                        </a>\r\n                    </template>\r\n                    <template v-slot:no-data>\r\n                        No positions open at this time.\r\n                    </template>\r\n                </FilterableDataTable>\r\n            </div>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Careers',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n\r\n                fetch('/api/Documents/DocumentType?Type=90',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        this.loading = false;\r\n\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            throw new Error(res.statusText);\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.items = EncodeDatetimes(response);\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n            }\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                search: '',\r\n                loading: false,\r\n                items: [],\r\n                headers: [\r\n                    { text: 'Listing', value: 'Description', width: '*' }\r\n                ],\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            Title: function ()\r\n            {\r\n                let title = 'Careers';\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Careers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Careers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Careers.vue?vue&type=template&id=e5a2df5e&\"\nimport script from \"./Careers.vue?vue&type=script&lang=js&\"\nexport * from \"./Careers.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":2,\"sm\":12}},[_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":10,\"sm\":12}},[(_vm.Session && _vm.Session.YearString)?_c('div',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.Session.YearString)+\" Bill Text Search\")]):_vm._e(),(_vm.SessionId != 68)?_c('GoogleSearch',{attrs:{\"SessionId\":_vm.SessionId}}):_c('v-text-field',{attrs:{\"label\":\"Search\",\"single-line\":\"\",\"clearable\":\"\",\"outlined\":\"\",\"hide-details\":\"\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(_vm._s(_vm.searchIcon))])]},proxy:true}]),model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('FilterableDataTable',{staticClass:\"elevation-1 mt-3\",attrs:{\"headers\":_vm.headers,\"items\":_vm.bills,\"edit-headers\":\"\",\"loading\":_vm.loading,\"item-key\":\"BillId\",\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"component-name\":_vm.$options.name},scopedSlots:_vm._u([{key:\"item.Bill\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType)+\" \"+_vm._s(item.BillNumberOnly))])]}},{key:\"item.BillText\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{domProps:{\"innerHTML\":_vm._s(item.BillText)}})]}},{key:\"item.Title\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{domProps:{\"innerHTML\":_vm._s(item.Title)}})]}},{key:\"no-data\",fn:function(){return [(_vm.search)?_c('v-alert',{attrs:{\"value\":true,\"type\":\"info\"}},[_vm._v(\" No Bills Match the Search \")]):_c('v-alert',{attrs:{\"value\":true,\"type\":\"info\"}},[_vm._v(\" Please conduct a search with the above search box. \")])]},proxy:true}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col cols=\"12\" :md=\"2\" :sm=\"12\">\r\n            <Sidebar :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col cols=\"12\" :md=\"10\" :sm=\"12\">\r\n            <div class=\"headline\" v-if=\"Session && Session.YearString\">{{Session.YearString}} Bill Text Search</div>\r\n            <GoogleSearch :SessionId=\"SessionId\" v-if=\"SessionId != 68\"></GoogleSearch>\r\n            <v-text-field v-else v-model=\"search\"\r\n                          label=\"Search\"\r\n                          single-line\r\n                          clearable\r\n                          outlined\r\n                          hide-details>\r\n                <template v-slot:append>\r\n                    <v-icon>{{searchIcon}}</v-icon>\r\n                </template>\r\n            </v-text-field>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"bills\"\r\n                                 edit-headers\r\n                                 :loading=\"loading\"\r\n                                 item-key=\"BillId\"\r\n                                 class=\"elevation-1 mt-3\"\r\n                                 hide-default-footer\r\n                                 disable-pagination\r\n                                 :component-name=\"$options.name\">\r\n                <template v-slot:item.Bill=\"{ item }\">\r\n                    <a rel=\"noopener\" :href=\"'/Session/Bill/' + item.BillId\">{{item.BillType}} {{item.BillNumberOnly}}</a>\r\n                </template>\r\n                <template v-slot:item.BillText=\"{ item }\">\r\n                    <div v-html=\"item.BillText\">\r\n                    </div>\r\n                </template>\r\n                <template v-slot:item.Title=\"{ item }\">\r\n                    <div v-html=\"item.Title\">\r\n                    </div>\r\n                </template>\r\n                <template v-slot:no-data>\r\n                    <v-alert v-if=\"search\" :value=\"true\" type=\"info\">\r\n                        No Bills Match the Search\r\n                    </v-alert>\r\n                    <v-alert v-else :value=\"true\" type=\"info\">\r\n                        Please conduct a search with the above search box.\r\n                    </v-alert>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n    const GoogleSearch = () => import(\"@/Components/GoogleSearch.vue\");\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    import { mdiMagnify } from '@mdi/js';\r\n    export default {\r\n        name: 'TextSearch',\r\n        props: ['SessionId'],\r\n        components: {\r\n            GoogleSearch, Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            getDataFromApi() {\r\n                if (this.search && this.search != \"\") {\r\n                    this.loading = true;\r\n\r\n                    fetch('/api/Bills/Search/' + this.search + '?SessionIds=' + this.SessionId, { method: 'GET' }).then(response => response.json()).then(data => {\r\n                        EncodeDatetimes(data);\r\n                        this.bills = data;\r\n                        this.loading = false;\r\n                    });\r\n                }\r\n                else {\r\n                    this.bills = [];\r\n                }\r\n\r\n            },\r\n            LoadData() {\r\n                this.loading = true;\r\n                fetch('/api/Sessions/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                    }).then(res => {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201) {\r\n                            return res.json();\r\n                        }\r\n                        else {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response => {\r\n                        this.Session = EncodeDatetimes(response);\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                searchIcon: mdiMagnify,\r\n                loading: false,\r\n                bills: [],\r\n                Session: {},\r\n                headers: [\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'left',\r\n                        sortable: true,\r\n                        value: 'Bill',\r\n                        width: \"1px\",\r\n                        visible: true\r\n                    },\r\n\r\n                    {\r\n                        text: 'Session', value: 'Year', width: '1px',\r\n                        visible: false\r\n                    },\r\n\r\n\r\n                    {\r\n                        text: 'Title', value: 'Title', width: '400px',\r\n                        visible: true\r\n                    },\r\n                    {\r\n                        text: 'Bill Text', value: 'BillText', width: '1px',\r\n                        visible: true\r\n                    },\r\n                ],\r\n                subHeaders: [\r\n                    {\r\n                        text: 'Edit',\r\n                        align: 'left',\r\n                        sortable: false,\r\n                        value: 'DocumentId',\r\n                        width: '1%',\r\n                        visible: true\r\n                    },\r\n                    {\r\n                        text: 'Version',\r\n                        align: 'left',\r\n                        sortable: true,\r\n                        value: 'BillIteration',\r\n                        width: '1%',\r\n                        visible: true\r\n                    },\r\n                    {\r\n                        text: 'Document Date',\r\n                        align: 'left',\r\n                        sortable: true,\r\n                        value: 'DocumentDate',\r\n                        width: '1%',\r\n                        visible: true\r\n                    },\r\n\r\n                    {\r\n                        text: '',\r\n                        align: 'left',\r\n                        sortable: false,\r\n                        value: '',\r\n                        width: '50%',\r\n                        visible: true\r\n                    },\r\n                ],\r\n                search: null,\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            search: debounce(function () { this.getDataFromApi(); }, 500),\r\n            SessionId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Bill Text Search';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TextSearch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TextSearch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TextSearch.vue?vue&type=template&id=60228d76&\"\nimport script from \"./TextSearch.vue?vue&type=script&lang=js&\"\nexport * from \"./TextSearch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAlert,VCol,VIcon,VRow,VTextField})\n","export function DirectorHead(items)\r\n{\r\n    if (items == null || !items.length)\r\n        return null;\r\n        \r\n    return items\r\n        .find(x =>\r\n            x.Title == 'Director' ||\r\n            x.Title == 'Interim Director' ||\r\n            (x.Title || '').indexOf('Director') >= 0 && (x.Title || '').indexOf('Deputy Director') == -1);\r\n}\r\n\r\nexport function CodeCounselHead(items)\r\n{\r\n    if (items == null || !items.length)\r\n        return null;\r\n\r\n    return items\r\n        .find(x => (x.Title || '').indexOf('Code Counsel') >= 0);\r\n}\r\n\r\nexport function FiscalHead(items)\r\n{\r\n    if (items == null || !items.length)\r\n        return null;\r\n\r\n    return items.find(x =>\r\n        (x.Title || '').indexOf('Chief Fiscal Analyst') >= 0);\r\n}\r\n\r\nexport function Fiscal(items, includeHead)\r\n{\r\n    if (items == null || !items.length)\r\n        return null;\r\n\r\n    let head = null;\r\n\r\n    if (includeHead)\r\n        head = FiscalHead(items);\r\n\r\n    return items.filter(x =>\r\n        x.StaffGroupId == 2 ||\r\n        x.UserId == (head || {}).UserId && x.UserId != null);\r\n}\r\n\r\nexport function ResearchHead(items)\r\n{\r\n    if (items == null || !items.length)\r\n        return null;\r\n\r\n    return items.find(x =>\r\n        (x.Title || '').indexOf('Chief Research & Legal Analyst') >= 0);\r\n}\r\n\r\nexport function Research(items, includeHead)\r\n{\r\n    if (items == null || !items.length)\r\n        return null;\r\n\r\n    let head = null;\r\n\r\n    if (includeHead)\r\n        head = ResearchHead(items);\r\n\r\n    return items.filter(x =>\r\n        x.StaffGroupId == 3 ||\r\n        x.UserId == (head || {}).UserId && x.UserId != null);\r\n}\r\n\r\nexport function OperationsHead(items)\r\n{\r\n    if (items == null || !items.length)\r\n        return null;\r\n\r\n    return items.find(x =>\r\n        (x.Title || '').indexOf('Chief of Operations') >= 0 ||\r\n        (x.Title || '').indexOf('Chief of Legislative Operations') >= 0);\r\n}\r\n\r\nexport function Operations(items, includeHead)\r\n{\r\n    if (items == null || !items.length)\r\n        return null;\r\n\r\n    let head = null;\r\n\r\n    if (includeHead)\r\n        head = OperationsHead(items);\r\n\r\n    return items.filter(x =>\r\n        x.StaffGroupId == 5 ||\r\n        x.UserId == (head || {}).UserId && x.UserId != null);\r\n}\r\n\r\nexport function ItHead(items)\r\n{\r\n    if (items == null || !items.length)\r\n        return null;\r\n\r\n    return items.find(x =>\r\n        (x.Title || '').indexOf('Chief IT Officer') >= 0);\r\n}\r\n\r\nexport function It(items, includeHead)\r\n{\r\n    if (items == null || !items.length)\r\n        return null;\r\n\r\n    let head = null;\r\n\r\n    if (includeHead)\r\n        head = ItHead(items);\r\n\r\n    return items.filter(x =>\r\n        x.StaffGroupId == 4 ||\r\n        x.UserId == (head || {}).UserId && x.UserId != null);\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Legislators Who Served on the Supreme Court \")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"MemberId + Year\",\"sort-by\":['LastName', 'FirstName'],\"sort-desc\":[false, false],\"loading\":_vm.loading,\"items-per-page\":999,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Historical/Legislator/Profile/' + item.MemberId}},[_vm._v(_vm._s(item.LastName + \", \" + item.FirstName))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Legislators Who Served on the Supreme Court\r\n            </div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"items\"\r\n                                 item-key=\"MemberId + Year\"\r\n                                 :sort-by=\"['LastName', 'FirstName']\"\r\n                                 :sort-desc=\"[false, false]\"\r\n                                 :loading=\"loading\"\r\n                                 :items-per-page=\"999\"\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.Name=\"{ item }\">\r\n                    <router-link :to=\"'/Historical/Legislator/Profile/' + item.MemberId\">{{item.LastName + \",&nbsp;\" + item.FirstName }}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'SupremeCourt',\r\n\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                fetch('/api/Historical/Office/3', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    if (res.ok)\r\n                        return res.json();\r\n                    else\r\n                        throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    if (response)\r\n                    {\r\n                        let r = EncodeDatetimes(response);\r\n\r\n                        r.forEach(x =>\r\n                        {\r\n                            x.Name = x.LastName + ', ' + x.FirstName;\r\n                        });\r\n\r\n                        this.items = r;\r\n                    }\r\n                    \r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                }).finally(_ =>\r\n                {\r\n                    this.loading = false;\r\n                });\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                search: '',\r\n                loading: true,\r\n                items: [],\r\n                headers: [\r\n                    { text: 'Name', value: 'Name' },\r\n                    { text: 'Address', value: 'Address' },\r\n                    //{ text: 'Office', value: 'Office' },\r\n                    { text: 'Party', value: 'Description' },\r\n                    { text: 'Years', value: 'Year' },\r\n                    { text: 'Remarks', value: 'Comment' },\r\n                ],\r\n\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SupremeCourt.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SupremeCourt.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SupremeCourt.vue?vue&type=template&id=57667452&\"\nimport script from \"./SupremeCourt.vue?vue&type=script&lang=js&\"\nexport * from \"./SupremeCourt.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VDatePickerYears.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"236026eb\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","import mergeData from '../../util/mergeData';\n\nfunction mergeTransitions(dest = [], ...transitions) {\n  /* eslint-disable-next-line no-array-constructor */\n  return Array().concat(dest, ...transitions);\n}\n\nexport function createSimpleTransition(name, origin = 'top center 0', mode) {\n  return {\n    name,\n    functional: true,\n    props: {\n      group: {\n        type: Boolean,\n        default: false\n      },\n      hideOnLeave: {\n        type: Boolean,\n        default: false\n      },\n      leaveAbsolute: {\n        type: Boolean,\n        default: false\n      },\n      mode: {\n        type: String,\n        default: mode\n      },\n      origin: {\n        type: String,\n        default: origin\n      }\n    },\n\n    render(h, context) {\n      const tag = `transition${context.props.group ? '-group' : ''}`;\n      const data = {\n        props: {\n          name,\n          mode: context.props.mode\n        },\n        on: {\n          beforeEnter(el) {\n            el.style.transformOrigin = context.props.origin;\n            el.style.webkitTransformOrigin = context.props.origin;\n          }\n\n        }\n      };\n\n      if (context.props.leaveAbsolute) {\n        data.on.leave = mergeTransitions(data.on.leave, el => {\n          const {\n            offsetTop,\n            offsetLeft,\n            offsetWidth,\n            offsetHeight\n          } = el;\n          el._transitionInitialStyles = {\n            position: el.style.position,\n            top: el.style.top,\n            left: el.style.left,\n            width: el.style.width,\n            height: el.style.height\n          };\n          el.style.position = 'absolute';\n          el.style.top = offsetTop + 'px';\n          el.style.left = offsetLeft + 'px';\n          el.style.width = offsetWidth + 'px';\n          el.style.height = offsetHeight + 'px';\n        });\n        data.on.afterLeave = mergeTransitions(data.on.afterLeave, el => {\n          if (el && el._transitionInitialStyles) {\n            const {\n              position,\n              top,\n              left,\n              width,\n              height\n            } = el._transitionInitialStyles;\n            delete el._transitionInitialStyles;\n            el.style.position = position || '';\n            el.style.top = top || '';\n            el.style.left = left || '';\n            el.style.width = width || '';\n            el.style.height = height || '';\n          }\n        });\n      }\n\n      if (context.props.hideOnLeave) {\n        data.on.leave = mergeTransitions(data.on.leave, el => {\n          el.style.setProperty('display', 'none', 'important');\n        });\n      }\n\n      return h(tag, mergeData(context.data, data), context.children);\n    }\n\n  };\n}\nexport function createJavascriptTransition(name, functions, mode = 'in-out') {\n  return {\n    name,\n    functional: true,\n    props: {\n      mode: {\n        type: String,\n        default: mode\n      }\n    },\n\n    render(h, context) {\n      return h('transition', mergeData(context.data, {\n        props: {\n          name\n        },\n        on: functions\n      }), context.children);\n    }\n\n  };\n}\n//# sourceMappingURL=createTransition.js.map","import { upperFirst } from '../../util/helpers';\nexport default function (expandedParentClass = '', x = false) {\n  const sizeProperty = x ? 'width' : 'height';\n  const offsetProperty = `offset${upperFirst(sizeProperty)}`;\n  return {\n    beforeEnter(el) {\n      el._parent = el.parentNode;\n      el._initialStyle = {\n        transition: el.style.transition,\n        overflow: el.style.overflow,\n        [sizeProperty]: el.style[sizeProperty]\n      };\n    },\n\n    enter(el) {\n      const initialStyle = el._initialStyle;\n      el.style.setProperty('transition', 'none', 'important'); // Hide overflow to account for collapsed margins in the calculated height\n\n      el.style.overflow = 'hidden';\n      const offset = `${el[offsetProperty]}px`;\n      el.style[sizeProperty] = '0';\n      void el.offsetHeight; // force reflow\n\n      el.style.transition = initialStyle.transition;\n\n      if (expandedParentClass && el._parent) {\n        el._parent.classList.add(expandedParentClass);\n      }\n\n      requestAnimationFrame(() => {\n        el.style[sizeProperty] = offset;\n      });\n    },\n\n    afterEnter: resetStyles,\n    enterCancelled: resetStyles,\n\n    leave(el) {\n      el._initialStyle = {\n        transition: '',\n        overflow: el.style.overflow,\n        [sizeProperty]: el.style[sizeProperty]\n      };\n      el.style.overflow = 'hidden';\n      el.style[sizeProperty] = `${el[offsetProperty]}px`;\n      void el.offsetHeight; // force reflow\n\n      requestAnimationFrame(() => el.style[sizeProperty] = '0');\n    },\n\n    afterLeave,\n    leaveCancelled: afterLeave\n  };\n\n  function afterLeave(el) {\n    if (expandedParentClass && el._parent) {\n      el._parent.classList.remove(expandedParentClass);\n    }\n\n    resetStyles(el);\n  }\n\n  function resetStyles(el) {\n    const size = el._initialStyle[sizeProperty];\n    el.style.overflow = el._initialStyle.overflow;\n    if (size != null) el.style[sizeProperty] = size;\n    delete el._initialStyle;\n  }\n}\n//# sourceMappingURL=expand-transition.js.map","import { createSimpleTransition, createJavascriptTransition } from './createTransition';\nimport ExpandTransitionGenerator from './expand-transition'; // Component specific transitions\n\nexport const VCarouselTransition = createSimpleTransition('carousel-transition');\nexport const VCarouselReverseTransition = createSimpleTransition('carousel-reverse-transition');\nexport const VTabTransition = createSimpleTransition('tab-transition');\nexport const VTabReverseTransition = createSimpleTransition('tab-reverse-transition');\nexport const VMenuTransition = createSimpleTransition('menu-transition');\nexport const VFabTransition = createSimpleTransition('fab-transition', 'center center', 'out-in'); // Generic transitions\n\nexport const VDialogTransition = createSimpleTransition('dialog-transition');\nexport const VDialogBottomTransition = createSimpleTransition('dialog-bottom-transition');\nexport const VDialogTopTransition = createSimpleTransition('dialog-top-transition');\nexport const VFadeTransition = createSimpleTransition('fade-transition');\nexport const VScaleTransition = createSimpleTransition('scale-transition');\nexport const VScrollXTransition = createSimpleTransition('scroll-x-transition');\nexport const VScrollXReverseTransition = createSimpleTransition('scroll-x-reverse-transition');\nexport const VScrollYTransition = createSimpleTransition('scroll-y-transition');\nexport const VScrollYReverseTransition = createSimpleTransition('scroll-y-reverse-transition');\nexport const VSlideXTransition = createSimpleTransition('slide-x-transition');\nexport const VSlideXReverseTransition = createSimpleTransition('slide-x-reverse-transition');\nexport const VSlideYTransition = createSimpleTransition('slide-y-transition');\nexport const VSlideYReverseTransition = createSimpleTransition('slide-y-reverse-transition'); // Javascript transitions\n\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator());\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true));\nexport default {\n  $_vuetify_subcomponents: {\n    VCarouselTransition,\n    VCarouselReverseTransition,\n    VDialogTransition,\n    VDialogBottomTransition,\n    VDialogTopTransition,\n    VFabTransition,\n    VFadeTransition,\n    VMenuTransition,\n    VScaleTransition,\n    VScrollXTransition,\n    VScrollXReverseTransition,\n    VScrollYTransition,\n    VScrollYReverseTransition,\n    VSlideXTransition,\n    VSlideXReverseTransition,\n    VSlideYTransition,\n    VSlideYReverseTransition,\n    VTabReverseTransition,\n    VTabTransition,\n    VExpandTransition,\n    VExpandXTransition\n  }\n};\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VAlert/VAlert.sass\"; // Extensions\n\nimport VSheet from '../VSheet'; // Components\n\nimport VBtn from '../VBtn';\nimport VIcon from '../VIcon'; // Mixins\n\nimport Toggleable from '../../mixins/toggleable';\nimport Themeable from '../../mixins/themeable';\nimport Transitionable from '../../mixins/transitionable'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { breaking } from '../../util/console';\n/* @vue/component */\n\nexport default mixins(VSheet, Toggleable, Transitionable).extend({\n  name: 'v-alert',\n  props: {\n    border: {\n      type: String,\n\n      validator(val) {\n        return ['top', 'right', 'bottom', 'left'].includes(val);\n      }\n\n    },\n    closeLabel: {\n      type: String,\n      default: '$vuetify.close'\n    },\n    coloredBorder: Boolean,\n    dense: Boolean,\n    dismissible: Boolean,\n    closeIcon: {\n      type: String,\n      default: '$cancel'\n    },\n    icon: {\n      default: '',\n      type: [Boolean, String],\n\n      validator(val) {\n        return typeof val === 'string' || val === false;\n      }\n\n    },\n    outlined: Boolean,\n    prominent: Boolean,\n    text: Boolean,\n    type: {\n      type: String,\n\n      validator(val) {\n        return ['info', 'error', 'success', 'warning'].includes(val);\n      }\n\n    },\n    value: {\n      type: Boolean,\n      default: true\n    }\n  },\n  computed: {\n    __cachedBorder() {\n      if (!this.border) return null;\n      let data = {\n        staticClass: 'v-alert__border',\n        class: {\n          [`v-alert__border--${this.border}`]: true\n        }\n      };\n\n      if (this.coloredBorder) {\n        data = this.setBackgroundColor(this.computedColor, data);\n        data.class['v-alert__border--has-color'] = true;\n      }\n\n      return this.$createElement('div', data);\n    },\n\n    __cachedDismissible() {\n      if (!this.dismissible) return null;\n      const color = this.iconColor;\n      return this.$createElement(VBtn, {\n        staticClass: 'v-alert__dismissible',\n        props: {\n          color,\n          icon: true,\n          small: true\n        },\n        attrs: {\n          'aria-label': this.$vuetify.lang.t(this.closeLabel)\n        },\n        on: {\n          click: () => this.isActive = false\n        }\n      }, [this.$createElement(VIcon, {\n        props: {\n          color\n        }\n      }, this.closeIcon)]);\n    },\n\n    __cachedIcon() {\n      if (!this.computedIcon) return null;\n      return this.$createElement(VIcon, {\n        staticClass: 'v-alert__icon',\n        props: {\n          color: this.iconColor\n        }\n      }, this.computedIcon);\n    },\n\n    classes() {\n      const classes = { ...VSheet.options.computed.classes.call(this),\n        'v-alert--border': Boolean(this.border),\n        'v-alert--dense': this.dense,\n        'v-alert--outlined': this.outlined,\n        'v-alert--prominent': this.prominent,\n        'v-alert--text': this.text\n      };\n\n      if (this.border) {\n        classes[`v-alert--border-${this.border}`] = true;\n      }\n\n      return classes;\n    },\n\n    computedColor() {\n      return this.color || this.type;\n    },\n\n    computedIcon() {\n      if (this.icon === false) return false;\n      if (typeof this.icon === 'string' && this.icon) return this.icon;\n      if (!['error', 'info', 'success', 'warning'].includes(this.type)) return false;\n      return `$${this.type}`;\n    },\n\n    hasColoredIcon() {\n      return this.hasText || Boolean(this.border) && this.coloredBorder;\n    },\n\n    hasText() {\n      return this.text || this.outlined;\n    },\n\n    iconColor() {\n      return this.hasColoredIcon ? this.computedColor : undefined;\n    },\n\n    isDark() {\n      if (this.type && !this.coloredBorder && !this.outlined) return true;\n      return Themeable.options.computed.isDark.call(this);\n    }\n\n  },\n\n  created() {\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('outline')) {\n      breaking('outline', 'outlined', this);\n    }\n  },\n\n  methods: {\n    genWrapper() {\n      const children = [this.$slots.prepend || this.__cachedIcon, this.genContent(), this.__cachedBorder, this.$slots.append, this.$scopedSlots.close ? this.$scopedSlots.close({\n        toggle: this.toggle\n      }) : this.__cachedDismissible];\n      const data = {\n        staticClass: 'v-alert__wrapper'\n      };\n      return this.$createElement('div', data, children);\n    },\n\n    genContent() {\n      return this.$createElement('div', {\n        staticClass: 'v-alert__content'\n      }, this.$slots.default);\n    },\n\n    genAlert() {\n      let data = {\n        staticClass: 'v-alert',\n        attrs: {\n          role: 'alert'\n        },\n        on: this.listeners$,\n        class: this.classes,\n        style: this.styles,\n        directives: [{\n          name: 'show',\n          value: this.isActive\n        }]\n      };\n\n      if (!this.coloredBorder) {\n        const setColor = this.hasText ? this.setTextColor : this.setBackgroundColor;\n        data = setColor(this.computedColor, data);\n      }\n\n      return this.$createElement('div', data, [this.genWrapper()]);\n    },\n\n    /** @public */\n    toggle() {\n      this.isActive = !this.isActive;\n    }\n\n  },\n\n  render(h) {\n    const render = this.genAlert();\n    if (!this.transition) return render;\n    return h('transition', {\n      props: {\n        name: this.transition,\n        origin: this.origin,\n        mode: this.mode\n      }\n    }, [render]);\n  }\n\n});\n//# sourceMappingURL=VAlert.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-overlay{color:rgba(0,0,0,.87)}.theme--dark.v-overlay{color:#fff}.v-overlay{align-items:center;border-radius:inherit;display:flex;justify-content:center;position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;transition:.3s cubic-bezier(.25,.8,.5,1),z-index 1ms}.v-overlay__content{position:relative}.v-overlay__scrim{border-radius:inherit;bottom:0;height:100%;left:0;position:absolute;right:0;top:0;transition:inherit;width:100%;will-change:opacity}.v-overlay--absolute{position:absolute}.v-overlay--active{pointer-events:auto}\", \"\"]);\n// Exports\nmodule.exports = exports;\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.filteredSessionCommittees.length >0)?_c('div',{staticClass:\"headline\"},[_vm._v(\"Session Committees\")]):_vm._e(),(_vm.filteredSessionCommittees.length >0)?_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.SessionCommitteeHeaders,\"items\":_vm.filteredSessionCommittees,\"item-key\":\"Name\",\"multi-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"sort-by\":['SessionCommittees.Name'],\"sort-desc\":[false],\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.SessionCommittee.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Committee/' + item.SessionCommitteeId}},[(item.SessionCommittee.Body == 'H')?_c('span',[_vm._v(\"House\")]):_vm._e(),(item.SessionCommittee.Body == 'S')?_c('span',[_vm._v(\"Senate\")]):_vm._e(),(item.SessionCommittee.Body == 'J')?_c('span',[_vm._v(\"Joint\")]):_vm._e(),_vm._v(\" \"+_vm._s(item.SessionCommittee.Name)+\" \")])]}},{key:\"item.SessionCommittee.MeetingTime\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.MeetingTimePretty(item.SessionCommittee.MeetingTime))+\" \")]}}],null,false,392397755)}):_vm._e(),(_vm.filteredConferenceCommittees.length >0)?_c('div',{staticClass:\"headline\"},[_vm._v(\"Conference Committees\")]):_vm._e(),(_vm.filteredConferenceCommittees.length >0)?_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.ConferenceCommitteeHeaders,\"items\":_vm.filteredConferenceCommittees,\"item-key\":\"Name\",\"multi-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"sort-by\":['ConferenceCommittee.Name'],\"sort-desc\":[false],\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.ConferenceCommittee.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.ConferenceCommittee.Name)+\" \")]}}],null,false,533159887)}):_vm._e(),(_vm.filteredInterimCommittees.length >0)?_c('div',{staticClass:\"headline\"},[_vm._v(\"Interim Committees\")]):_vm._e(),(_vm.filteredInterimCommittees.length >0)?_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.InterimCommitteeHeaders,\"items\":_vm.filteredInterimCommittees,\"item-key\":\"Name\",\"multi-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"sort-by\":['InterimYearCommittee.Name'],\"sort-desc\":[false],\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.InterimYearCommittee.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [(item && item.InterimYearCommittee)?_c('router-link',{attrs:{\"to\":'/Interim/Committee/' + item.InterimYearCommitteeId}},[_vm._v(_vm._s(item.InterimYearCommittee.Name))]):_vm._e()]}}],null,false,1037126895)}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <div>\r\n        <v-progress-linear indeterminate\r\n                           v-if=\"loading\"></v-progress-linear>\r\n        <div class=\"headline\" v-if=\"filteredSessionCommittees.length >0\">Session Committees</div>\r\n        <FilterableDataTable :headers=\"SessionCommitteeHeaders\"\r\n                      :items=\"filteredSessionCommittees\"\r\n                      item-key=\"Name\"\r\n                      multi-sort\r\n                      disable-pagination\r\n                      hide-default-footer\r\n                      :sort-by=\"['SessionCommittees.Name']\"\r\n                      :sort-desc=\"[false]\"\r\n                      :loading=\"loading\"\r\n                      loading-text=\"Loading... Please wait\"\r\n                      class=\"elevation-1\"\r\n                      v-if=\"filteredSessionCommittees.length >0\">\r\n            <template v-slot:item.SessionCommittee.Name=\"{ item }\">\r\n                <router-link :to=\"'/Session/Committee/' + item.SessionCommitteeId\">\r\n                    <span v-if=\"item.SessionCommittee.Body == 'H'\">House</span>\r\n                    <span v-if=\"item.SessionCommittee.Body == 'S'\">Senate</span>\r\n                    <span v-if=\"item.SessionCommittee.Body == 'J'\">Joint</span>\r\n                    {{item.SessionCommittee.Name }}\r\n                </router-link>\r\n            </template>\r\n            <template v-slot:item.SessionCommittee.MeetingTime=\"{ item }\">\r\n                {{MeetingTimePretty(item.SessionCommittee.MeetingTime)}}\r\n            </template>\r\n        </FilterableDataTable>\r\n        <div class=\"headline\" v-if=\"filteredConferenceCommittees.length >0\">Conference Committees</div>\r\n        <FilterableDataTable :headers=\"ConferenceCommitteeHeaders\"\r\n                      :items=\"filteredConferenceCommittees\"\r\n                      item-key=\"Name\"\r\n                      multi-sort\r\n                      disable-pagination\r\n                      hide-default-footer\r\n                      :sort-by=\"['ConferenceCommittee.Name']\"\r\n                      :sort-desc=\"[false]\"\r\n                      :loading=\"loading\"\r\n                      loading-text=\"Loading... Please wait\"\r\n                      class=\"elevation-1\"\r\n                      v-if=\"filteredConferenceCommittees.length >0\">\r\n            <template v-slot:item.ConferenceCommittee.Name=\"{ item }\">\r\n                {{item.ConferenceCommittee.Name }}\r\n            </template>\r\n\r\n        </FilterableDataTable>\r\n        <div class=\"headline\" v-if=\"filteredInterimCommittees.length >0\">Interim Committees</div>\r\n        <FilterableDataTable :headers=\"InterimCommitteeHeaders\"\r\n                      :items=\"filteredInterimCommittees\"\r\n                      item-key=\"Name\"\r\n                      multi-sort\r\n                      disable-pagination\r\n                      hide-default-footer\r\n                      :sort-by=\"['InterimYearCommittee.Name']\"\r\n                      :sort-desc=\"[false]\"\r\n                      :loading=\"loading\"\r\n                      loading-text=\"Loading... Please wait\"\r\n                      class=\"elevation-1\"\r\n                      v-if=\"filteredInterimCommittees.length >0\">\r\n            <template v-slot:item.InterimYearCommittee.Name=\"{ item }\">\r\n                <router-link v-if=\"item && item.InterimYearCommittee\" :to=\"'/Interim/Committee/' + item.InterimYearCommitteeId\">{{item.InterimYearCommittee.Name }}</router-link>\r\n            </template>\r\n        </FilterableDataTable>\r\n    </div>\r\n</template>\r\n<script>\r\n    import moment from 'moment'\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Committees',\r\n        props: ['SessionMemberId'],\r\n        components: {\r\n            FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/SessionMembers/Committees/' + this.SessionMemberId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.loading = false;\r\n                    this.Member = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            MeetingTimePretty(Time) {\r\n                if (Time != undefined) {\r\n                    return moment(Time).format('h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            DateTimePretty(Time) {\r\n                if (Time != undefined) {\r\n                    return moment(Time).format('M/DD/YYYY h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            }\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: true,\r\n                filterValue: 'Detail',\r\n                Member: {\r\n                    Session: {\r\n                        Year: null\r\n                    },\r\n                },\r\n                headers: [\r\n                    {\r\n                        text: 'Name',\r\n                        value: 'SessionCommittee.Name',\r\n                        type: 'Session',\r\n                    },\r\n                    {\r\n                        text: 'Name',\r\n                        value: 'InterimYearCommittee.Name',\r\n                        type: 'Interim',\r\n                    },\r\n                    {\r\n                        text: 'Name',\r\n                        value: 'ConferenceCommittee.Name',\r\n                        type: 'Conference',\r\n                    },\r\n                    {\r\n                        text: 'Chair/Vice Chair',\r\n                        value: 'Type',\r\n                        type: 'Session',\r\n                    },\r\n                    {\r\n                        text: 'Chair/Vice Chair',\r\n                        value: 'Type',\r\n                        type: 'Interim',\r\n                    },\r\n                    {\r\n                        text: 'Chair/Vice Chair',\r\n                        value: 'Type',\r\n                        type: 'Conference',\r\n                    },\r\n                    {\r\n                        text: 'Days',\r\n                        value: 'SessionCommittee.Days',\r\n                        type: 'Session',\r\n                    },\r\n                    {\r\n                        text: 'Time',\r\n                        value: 'SessionCommittee.MeetingTime',\r\n                        type: 'Session',\r\n                    },\r\n                    {\r\n                        text: 'Room',\r\n                        value: 'SessionCommittee.Room',\r\n                        type: 'Session',\r\n                    },\r\n                ],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            SessionMemberId: {\r\n                handler() {\r\n                    this.LoadData();\r\n                },\r\n            },\r\n        },\r\n        computed: {\r\n            SessionCommitteeHeaders: function () {\r\n                return this.headers.filter(x => x.type == 'Session');\r\n            },\r\n            InterimCommitteeHeaders: function () {\r\n                return this.headers.filter(x => x.type == 'Interim');\r\n            },\r\n            ConferenceCommitteeHeaders: function () {\r\n                return this.headers.filter(x => x.type == 'Conference');\r\n            },\r\n            filteredSessionCommittees: function () {\r\n                if (this.Member && this.Member.Committees) {\r\n                    return this.Member.Committees.filter(x => x.SessionCommitteeId && x.SessionCommittee && x.SessionCommittee.FullBody != true);\r\n                }\r\n                else {\r\n                    return [];\r\n                }\r\n            },\r\n            filteredInterimCommittees: function () {\r\n                if (this.Member && this.Member.Committees) {\r\n                    return this.Member.Committees.filter(x => x.InterimYearCommitteeId && x.InterimYearCommittee);\r\n                }\r\n                else {\r\n                    return [];\r\n                }\r\n            },\r\n            filteredConferenceCommittees: function () {\r\n                if (this.Member && this.Member.Committees) {\r\n                    return this.Member.Committees.filter(x => x.ConferenceCommitteeId && x.ConferenceCommittee);\r\n                }\r\n                else {\r\n                    return [];\r\n                }\r\n            },\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Committees.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Committees.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Committees.vue?vue&type=template&id=53f2d3d4&\"\nimport script from \"./Committees.vue?vue&type=script&lang=js&\"\nexport * from \"./Committees.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-picker__title{background:#e0e0e0}.theme--dark.v-picker__title{background:#616161}.theme--light.v-picker__body{background:#fff}.theme--dark.v-picker__body{background:#424242}.v-picker{border-radius:4px;contain:layout style;display:inline-flex;flex-direction:column;font-size:1rem;vertical-align:top;position:relative}.v-picker--full-width{display:flex;width:100%}.v-picker--full-width>.v-picker__body{margin:initial}.v-picker__title{color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;padding:16px}.v-picker__title__btn{transition:.3s cubic-bezier(.25,.8,.5,1)}.v-picker__title__btn:not(.v-picker__title__btn--active){opacity:.6;cursor:pointer}.v-picker__title__btn:not(.v-picker__title__btn--active):hover:not(:focus){opacity:1}.v-picker__title__btn--readonly{pointer-events:none}.v-picker__title__btn--active{opacity:1}.v-picker__body{height:auto;overflow:hidden;position:relative;z-index:0;flex:1 0 auto;display:flex;flex-direction:column;align-items:center;margin:0 auto}.v-picker__body>div{width:100%}.v-picker__body>div.fade-transition-leave-active{position:absolute}.v-picker--landscape .v-picker__title{border-top-right-radius:0;border-bottom-right-radius:0;width:170px;position:absolute;top:0;height:100%;z-index:1}.v-application--is-ltr .v-picker--landscape .v-picker__title{left:0}.v-application--is-rtl .v-picker--landscape .v-picker__title{right:0}.v-application--is-ltr .v-picker--landscape .v-picker__actions:not(.v-picker__actions--no-title),.v-application--is-ltr .v-picker--landscape .v-picker__body:not(.v-picker__body--no-title){margin-left:170px;margin-right:0}.v-application--is-rtl .v-picker--landscape .v-picker__actions:not(.v-picker__actions--no-title),.v-application--is-rtl .v-picker--landscape .v-picker__body:not(.v-picker__body--no-title){margin-right:170px;margin-left:0}.v-picker--flat{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"md\":\"4\",\"lg\":\"3\",\"cols\":\"12\"}},[_c('CommitteeSidebar',{attrs:{\"SessionId\":_vm.SessionId}})],1),_c('v-col',{attrs:{\"md\":\"8\",\"lg\":\"9\",\"cols\":\"12\"}},[_c('v-card',{staticClass:\"pr-4\",attrs:{\"flat\":\"\"}},[(_vm.currentRoute.includes('/Interim'))?_c('v-card-title',[_vm._v(_vm._s(_vm.Session.Year)+\" Interim Committees\")]):(_vm.Session && _vm.Session.Year)?_c('v-card-title',[_vm._v(_vm._s(_vm.Session.YearString)+\" Committees\")]):_vm._e(),(_vm.currentRoute.includes('/Interim'))?_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.InterimPageText)+\" \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.ruleOfProcedureURL}},[_vm._v(\"Rules of Procedure\")])]):_c('v-card-text',[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.SessionPageText)}}),(false)?_c('div',{staticClass:\"pt-4\"},[_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"Groups or individuals wanting to testify before the committee via remote means or submit a digital handout or written testimony may submit their request and/or materials to:\")]),_c('FilterableDataTable',{staticClass:\"elavation-1\",attrs:{\"headers\":_vm.Headers,\"items\":_vm.SessionEmails,\"item-key\":\"SessionCommitteeId\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"hidden-lg-and-up\",staticStyle:{\"text-align\":\"left\"}},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'/Session/Committee/' + item.SessionCommitteeId + '/Detail'}},[_vm._v(_vm._s(item.Name))])]),_c('div',{staticClass:\"hidden-md-and-down\"},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'/Session/Committee/' + item.SessionCommitteeId + '/Detail'}},[_vm._v(_vm._s(item.Name))])])]}},{key:\"item.Email\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"hidden-lg-and-up\",staticStyle:{\"text-align\":\"left\"}},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'mailto:'+item.Email+'?body=Name:%0ACity%20of%20Residence:%0APhone%20Number:%0ARepresenting:%0ABill%20Number:%0AProponent%20or%20Opponent:%0AMeeting%20Date:%0A'}},[_vm._v(_vm._s(item.Email))])]),_c('div',{staticClass:\"hidden-md-and-down\"},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'mailto:'+item.Email+'?body=Name:%0ACity%20of%20Residence:%0APhone%20Number:%0ARepresenting:%0ABill%20Number:%0AProponent%20or%20Opponent:%0AMeeting%20Date:%0A'}},[_vm._v(_vm._s(item.Email))])])]}}],null,false,2199093250)})],1):_vm._e()])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container fluid>\r\n        <v-row dense>\r\n            <v-col md=\"4\" lg=\"3\" cols=\"12\">\r\n                <CommitteeSidebar :SessionId=\"SessionId\"></CommitteeSidebar>\r\n            </v-col>\r\n            <v-col md=\"8\" lg=\"9\" cols=\"12\">\r\n                <v-card flat class=\"pr-4\">\r\n                    <v-card-title v-if=\"currentRoute.includes('/Interim')\">{{Session.Year}} Interim Committees</v-card-title>\r\n                    <v-card-title v-else-if=\"Session && Session.Year\">{{Session.YearString}} Committees</v-card-title>\r\n                    <v-card-text v-if=\"currentRoute.includes('/Interim')\">\r\n                        {{InterimPageText}}\r\n                        <a rel=\"noopener\" :href=\"ruleOfProcedureURL\">Rules of Procedure</a>\r\n                    </v-card-text>\r\n                    <v-card-text v-else>\r\n                        <div v-html=\"SessionPageText\"></div>\r\n                        <div v-if=\"false\" class=\"pt-4\">\r\n                            <span style=\"color: red\">Groups or individuals wanting to testify before the committee via remote means or submit a digital handout or written testimony may submit their request and/or materials to:</span>\r\n                            <FilterableDataTable :headers=\"Headers\" :items=\"SessionEmails\" item-key=\"SessionCommitteeId\" disable-pagination hide-default-footer class=\"elavation-1\">\r\n                                <template v-slot:item.Name=\"{item}\">\r\n                                    <div style=\"text-align:left\" class=\"hidden-lg-and-up\">\r\n                                        <a rel=\"noopener\" :href=\"'/Session/Committee/' + item.SessionCommitteeId + '/Detail'\">{{item.Name}}</a>\r\n                                    </div>\r\n                                    <div class=\"hidden-md-and-down\">\r\n                                        <a rel=\"noopener\" :href=\"'/Session/Committee/' + item.SessionCommitteeId + '/Detail'\">{{item.Name}}</a>\r\n                                    </div>\r\n                                </template>\r\n                                <template v-slot:item.Email=\"{item}\">\r\n                                    <div style=\"text-align:left\" class=\"hidden-lg-and-up\">\r\n                                        <a rel=\"noopener\" :href=\"'mailto:'+item.Email+'?body=Name:%0ACity%20of%20Residence:%0APhone%20Number:%0ARepresenting:%0ABill%20Number:%0AProponent%20or%20Opponent:%0AMeeting%20Date:%0A'\">{{item.Email}}</a>\r\n                                    </div>\r\n                                    <div class=\"hidden-md-and-down\">\r\n                                        <a rel=\"noopener\" :href=\"'mailto:'+item.Email+'?body=Name:%0ACity%20of%20Residence:%0APhone%20Number:%0ARepresenting:%0ABill%20Number:%0AProponent%20or%20Opponent:%0AMeeting%20Date:%0A'\">{{item.Email}}</a>\r\n                                    </div>\r\n                                </template>\r\n                            </FilterableDataTable>\r\n                        </div>\r\n                    </v-card-text>\r\n                </v-card>\r\n            </v-col>\r\n        </v-row>\r\n    </v-container>\r\n</template>\r\n<script>\r\n    const CommitteeSidebar = () => import(\"@/Menus/CommitteeSidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n    export default {\r\n        name: 'Committees',\r\n        props: ['SessionId'],\r\n        components: {\r\n            CommitteeSidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                fetch('/api/Sessions/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                })\r\n                    .then(res =>\r\n                    {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else\r\n                        {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.Session = EncodeDatetimes(response);\r\n                    })\r\n                    .then(() =>\r\n                    {\r\n                        return fetch('/api/Documents/Menu?sessionId=' + this.Session.SessionId, { method: 'GET' });\r\n                    })\r\n                    .then(r =>\r\n                    {\r\n                        if (r.ok)\r\n                            return r.json();\r\n                        else\r\n                            return r.text().then(r => Promise.reject(r));\r\n                    })\r\n                    .then(r =>\r\n                    {\r\n                        this.ruleOfProcedureURL = this.$MyLRCUrl.value + 'api/Documents/RulesOfProcedure/' + r.RuleOfProcedure.DocumentId + '.pdf'\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n\r\n\r\n            },\r\n            LoadSessionText()\r\n            {\r\n                fetch('/api/SessionCommittees/' + this.SessionId + '/Emails', { method: 'GET' }).then(r =>\r\n                {\r\n                    if (r.ok)\r\n                    {\r\n                        r.json().then(r =>\r\n                        {\r\n                            this.SessionEmails = r;\r\n                        });\r\n                    }\r\n                });\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                Session: {},\r\n                SessionPageText: 'The primary function of a standing committee is to consider thoroughly each bill or resolution assigned to the committee and to make a specific recommendation on what action should be taken regarding the bill or resolution. A standing committee is required to take final action on every legislative proposal assigned to the committee. <br /><br />There are thirteen standing committees in each house, divided by subject matter. In the Senate, most committees consist of seven or nine senators. The President Pro Tempore, with advice from the Majority Leader and Minority Leader, selects the members of each Senate committee and the chair and vice-chair. In the House, most committees consist of thirteen or fifteen representatives. The Speaker of the House, with advice from the Majority Leader and Minority Leader, selects the members of the House committees and the chair and vice-chair. Most legislators are members of two committees. Some serve on more than two committees, but that is rare due to the fact that two or three committees are usually meeting at the same time.<br /><br /> Following the introduction and first reading of a bill in either house, the presiding officer assigns the bill to a committee based on the subject matter. Generally, bills dealing with certain subjects are assigned to the same committee.',\r\n                SessionEmails: [],\r\n                InterimPageText: '',\r\n                ruleOfProcedureURL: null,\r\n                Headers: [{\r\n                    text: 'Committee',\r\n                    align: 'left',\r\n                    sortable: true,\r\n                    value: 'Name',\r\n                    width: '50ch',\r\n                    visible: true,\r\n                    filterable: true,\r\n                    Filter: null\r\n                }, {\r\n                    text: 'Email',\r\n                    align: 'left',\r\n                    sortable: true,\r\n                    value: 'Email',\r\n                    width: '*',\r\n                    visible: true,\r\n                    filterable: true,\r\n                    Filter: null\r\n                }]\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadSessionText();\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            SessionId: function ()\r\n            {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            currentRoute: function ()\r\n            {\r\n                return this.$route.path;\r\n            },\r\n            Title: function ()\r\n            {\r\n                let title = 'Committees';\r\n                if (this.Session && this.Session.Year)\r\n                {\r\n                    title = this.Session.Year + ' ' + title;\r\n                }\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.SessionPageText;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Committees.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Committees.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Committees.vue?vue&type=template&id=6921dc16&\"\nimport script from \"./Committees.vue?vue&type=script&lang=js&\"\nexport * from \"./Committees.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VContainer,VRow})\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VSubheader.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"06c716ea\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-messages{color:rgba(0,0,0,.6)}.theme--dark.v-messages{color:hsla(0,0%,100%,.7)}.v-messages{flex:1 1 auto;font-size:12px;min-height:14px;min-width:1px;position:relative}.v-application--is-ltr .v-messages{text-align:left}.v-application--is-rtl .v-messages{text-align:right}.v-messages__message{line-height:12px;word-break:break-word;overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VAlert.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7555e65b\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('div',{staticClass:\"headline\"},[_vm._v(\" Archived Hearing Documents \")]),_c('v-card-text',[_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\",\"md6\":\"\"}},[_c('v-text-field',{attrs:{\"label\":\"Text Search\",\"placeholder\":\"Google Custom Search\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(_vm._s(_vm.searchIcon))])]},proxy:true}])})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"md6\":\"\"}},[_c('v-text-field',{attrs:{\"label\":\"Quick Find\",\"placeholder\":_vm.placeholder},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(_vm._s(_vm.searchIcon))])]},proxy:true}])})],1)],1),_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{staticStyle:{\"display\":\"inline\"}},[_c('v-list',_vm._l((_vm.Years),function(y){return _c('v-list-item',{attrs:{\"rel\":\"noopener\",\"href\":y.url}},[_c('v-list-item-content',[_vm._v(\" \"+_vm._s(y.name)+\" \")])],1)}),1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-card>\r\n        <div class=\"headline\">\r\n            Archived Hearing Documents\r\n        </div>\r\n        <v-card-text>\r\n            <v-container>\r\n                <v-layout row wrap>\r\n\r\n                    <v-flex xs12 md6>\r\n                        <v-text-field label=\"Text Search\"\r\n                                      placeholder=\"Google Custom Search\">\r\n                            <template v-slot:append>\r\n                                <v-icon>{{searchIcon}}</v-icon>\r\n                            </template>\r\n                        </v-text-field>\r\n                    </v-flex>\r\n                    <v-flex xs12 md6>\r\n                        <v-text-field label=\"Quick Find\"\r\n                                      :placeholder=\"placeholder\">\r\n                            <template v-slot:append>\r\n                                <v-icon>{{searchIcon}}</v-icon>\r\n                            </template>\r\n                        </v-text-field>\r\n                    </v-flex>\r\n\r\n                </v-layout>\r\n\r\n                <v-layout row wrap>\r\n                    <v-flex style=\"display:inline\">\r\n                        <v-list>\r\n                            <v-list-item v-for=\"y in Years\" rel=\"noopener\"\r\n                                         :href=\"y.url\">\r\n                                <v-list-item-content>\r\n                                    {{y.name}}\r\n                                </v-list-item-content>\r\n                            </v-list-item>\r\n                        </v-list>\r\n                    </v-flex>\r\n                </v-layout>\r\n            </v-container>\r\n        </v-card-text>\r\n    </v-card>\r\n</template>\r\n\r\n<script>\r\n    import { mdiMagnify } from '@mdi/js';\r\n    export default {\r\n        name: 'Archived',\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n                searchIcon: mdiMagnify,\r\n                Years: [\r\n                    {\r\n                        name: '2020',\r\n                        url: '/Budget/MonthlyResource/#year',\r\n                    },\r\n                    {\r\n                        name: '2019',\r\n                        url: '/Budget/MonthlyResource/#year',\r\n                    },\r\n                    {\r\n                        name: '2018',\r\n                        url: '/Budget/MonthlyResource/#year',\r\n                    },\r\n                    {\r\n                        name: '2017',\r\n                        url: '/Budget/MonthlyResource/#year',\r\n                    }\r\n                ],\r\n            }\r\n        },\r\n        mounted: function () {\r\n\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style>\r\n</style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Archived.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Archived.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Archived.vue?vue&type=template&id=4b55f1e1&\"\nimport script from \"./Archived.vue?vue&type=script&lang=js&\"\nexport * from \"./Archived.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VLayout } 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 { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCard,VCardText,VContainer,VFlex,VIcon,VLayout,VList,VListItem,VListItemContent,VTextField})\n","export * from \"-!../../node_modules/@vue/cli-service/node_modules/vue-style-loader/index.js??ref--7-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonCard.vue?vue&type=style&index=0&lang=css&\"","import \"../../../src/components/VGrid/VGrid.sass\";\nimport Vue from 'vue';\nimport mergeData from '../../util/mergeData';\nimport { upperFirst } from '../../util/helpers'; // no xs\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl'];\nconst ALIGNMENT = ['start', 'end', 'center'];\n\nfunction makeProps(prefix, def) {\n  return breakpoints.reduce((props, val) => {\n    props[prefix + upperFirst(val)] = def();\n    return props;\n  }, {});\n}\n\nconst alignValidator = str => [...ALIGNMENT, 'baseline', 'stretch'].includes(str);\n\nconst alignProps = makeProps('align', () => ({\n  type: String,\n  default: null,\n  validator: alignValidator\n}));\n\nconst justifyValidator = str => [...ALIGNMENT, 'space-between', 'space-around'].includes(str);\n\nconst justifyProps = makeProps('justify', () => ({\n  type: String,\n  default: null,\n  validator: justifyValidator\n}));\n\nconst alignContentValidator = str => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str);\n\nconst alignContentProps = makeProps('alignContent', () => ({\n  type: String,\n  default: null,\n  validator: alignContentValidator\n}));\nconst propMap = {\n  align: Object.keys(alignProps),\n  justify: Object.keys(justifyProps),\n  alignContent: Object.keys(alignContentProps)\n};\nconst classMap = {\n  align: 'align',\n  justify: 'justify',\n  alignContent: 'align-content'\n};\n\nfunction breakpointClass(type, prop, val) {\n  let className = classMap[type];\n\n  if (val == null) {\n    return undefined;\n  }\n\n  if (prop) {\n    // alignSm -> Sm\n    const breakpoint = prop.replace(type, '');\n    className += `-${breakpoint}`;\n  } // .align-items-sm-center\n\n\n  className += `-${val}`;\n  return className.toLowerCase();\n}\n\nconst cache = new Map();\nexport default Vue.extend({\n  name: 'v-row',\n  functional: true,\n  props: {\n    tag: {\n      type: String,\n      default: 'div'\n    },\n    dense: Boolean,\n    noGutters: Boolean,\n    align: {\n      type: String,\n      default: null,\n      validator: alignValidator\n    },\n    ...alignProps,\n    justify: {\n      type: String,\n      default: null,\n      validator: justifyValidator\n    },\n    ...justifyProps,\n    alignContent: {\n      type: String,\n      default: null,\n      validator: alignContentValidator\n    },\n    ...alignContentProps\n  },\n\n  render(h, {\n    props,\n    data,\n    children\n  }) {\n    // Super-fast memoization based on props, 5x faster than JSON.stringify\n    let cacheKey = '';\n\n    for (const prop in props) {\n      cacheKey += String(props[prop]);\n    }\n\n    let classList = cache.get(cacheKey);\n\n    if (!classList) {\n      classList = []; // Loop through `align`, `justify`, `alignContent` breakpoint props\n\n      let type;\n\n      for (type in propMap) {\n        propMap[type].forEach(prop => {\n          const value = props[prop];\n          const className = breakpointClass(type, prop, value);\n          if (className) classList.push(className);\n        });\n      }\n\n      classList.push({\n        'no-gutters': props.noGutters,\n        'row--dense': props.dense,\n        [`align-${props.align}`]: props.align,\n        [`justify-${props.justify}`]: props.justify,\n        [`align-content-${props.alignContent}`]: props.alignContent\n      });\n      cache.set(cacheKey, classList);\n    }\n\n    return h(props.tag, mergeData(data, {\n      staticClass: 'row',\n      class: classList\n    }), children);\n  }\n\n});\n//# sourceMappingURL=VRow.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}})],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-text',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('v-tabs',{staticClass:\"pb-2\",attrs:{\"show-arrows\":\"\"}},_vm._l((_vm.tabs),function(i){return _c('v-tab',{key:i,on:{\"click\":function($event){return _vm.filterListing(i)}}},[_vm._v(\" \"+_vm._s(i)+\" \")])}),1),(_vm.filterValue=='All')?_c('div',{staticClass:\"headline pb-2\"},[_vm._v(\"All Legislators\")]):_vm._e(),(_vm.filterValue=='House')?_c('div',{staticClass:\"headline pb-2\"},[_vm._v(\"House Legislators\")]):_vm._e(),(_vm.filterValue=='Senate')?_c('div',{staticClass:\"headline pb-2\"},[_vm._v(\"Senate Legislators\")]):_vm._e(),(_vm.filterValue=='District')?_c('div',{staticClass:\"headline pb-2\"},[_vm._v(\"Legislators by District\")]):_vm._e(),_c('div',{staticClass:\"pb-2\"},[_vm._v(\" Republicans \"),_c('v-chip',[_vm._v(_vm._s(_vm.RepublicanCount))]),_vm._v(\" Democrats \"),_c('v-chip',[_vm._v(_vm._s(_vm.DemocratCount))]),_vm._v(\" Independents \"),_c('v-chip',[_vm._v(_vm._s(_vm.IndependentCount))]),_c('v-spacer'),_c('div',{staticClass:\"text-end\"},[(_vm.filterValue!='District' && _vm.Session!=null)?_c('div',[(_vm.filterValue == 'All')?_c('span',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'/api/SessionMembers/' + _vm.Session.SessionId + '.pdf'}},[_vm._v(\"Roster View\")])]):_vm._e(),(_vm.filterValue=='House')?_c('span',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'/api/SessionMembers/' + _vm.Session.SessionId + '.pdf?Chamber=H'}},[_vm._v(\"Roster View\")])]):_vm._e(),(_vm.filterValue=='Senate')?_c('span',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'/api/SessionMembers/' + _vm.Session.SessionId + '.pdf?Chamber=S'}},[_vm._v(\"Roster View\")])]):_vm._e()]):_vm._e()])],1),(_vm.DistrictView ==false)?_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"DownloadCSV\":\"false\",\"headers\":_vm.headers,\"items\":_vm.filteredSessionMembers,\"item-key\":\"SessionMemberId\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"multi-sort\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' + item.SessionMemberId}},[_vm._v(_vm._s(item.Name))]),(item.InactiveDate!= null)?_c('span',[_vm._v(\"*\")]):_vm._e()]}},{key:\"item.MemberType\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.MemberType == 'S')?_c('span',[_vm._v(\"Senate\")]):(item.MemberType == 'H')?_c('span',[_vm._v(\"House\")]):_vm._e()]}}],null,false,3924619112)}):_vm._e(),(_vm.DistrictView)?_c('div',[_vm._v(\" Legislators By District \"),_vm._l((_vm.Districts),function(i){return _c('v-card',{key:i.DistrictId,attrs:{\"flat\":\"\"}},[_c('v-card-title',{staticClass:\"text-center\"},[_vm._v(\"District \"+_vm._s(i))]),_c('v-card-subtitle',{staticClass:\"pb-0\"},[_vm._v(\"Counties \"+_vm._s(_vm.CountyList(i)))]),_c('v-card-text',[_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.DistrictHeaders,\"items\":_vm.ListOfLegislatorsByDistrict(i),\"item-key\":\"Name\",\"hide-default-footer\":\"\",\"multi-sort\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' + item.SessionMemberId}},[_vm._v(_vm._s(item.Name))]),(item.InactiveDate!= null)?_c('span',[_vm._v(\"*\")]):_vm._e()]}},{key:\"item.MemberType\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.MemberType == 'S')?_c('span',[_vm._v(\"Senate\")]):(item.MemberType == 'H')?_c('span',[_vm._v(\"House\")]):_vm._e()]}},{key:\"item.Term\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.Term == 'I')?_c('span',[_vm._v(\"Incumbent\")]):_vm._e(),(item.Term == 'G')?_c('span',[_vm._v(\"Govs. Appointment\")]):_vm._e(),(item.Term == 'N')?_c('span',[_vm._v(\"New Member\")]):_vm._e(),(item.Term == 'M')?_c('span',[_vm._v(\"Other House\")]):_vm._e()]}}],null,true)})],1)],1)})],2):_vm._e(),_c('small',[_c('b',[_c('i',[_vm._v(\"*The Legislator did not fulfill their entire term.\")])])])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <v-card flat>\r\n                <v-card-text>\r\n                    <v-progress-linear indeterminate\r\n                                       v-if=\"loading\"></v-progress-linear>\r\n                    <v-tabs class=\"pb-2\" show-arrows>\r\n                        <v-tab v-for=\"i in tabs\"\r\n                               :key=\"i\"\r\n                               @click=\"filterListing(i)\">\r\n                            {{ i }}\r\n                        </v-tab>\r\n                    </v-tabs>\r\n                    <div class=\"headline pb-2\" v-if=\"filterValue=='All'\">All Legislators</div>\r\n                    <div class=\"headline pb-2\" v-if=\"filterValue=='House'\">House Legislators</div>\r\n                    <div class=\"headline pb-2\" v-if=\"filterValue=='Senate'\">Senate Legislators</div>\r\n                    <div class=\"headline pb-2\" v-if=\"filterValue=='District'\">Legislators by District</div>\r\n                    <div class=\"pb-2\">\r\n                        Republicans <v-chip>{{RepublicanCount}}</v-chip>\r\n                        Democrats <v-chip>{{DemocratCount}}</v-chip>\r\n                        Independents <v-chip>{{IndependentCount}}</v-chip>\r\n                        <v-spacer></v-spacer>\r\n                        <div class=\"text-end\">\r\n                            <div v-if=\"filterValue!='District' && Session!=null\">\r\n                                <span v-if=\"filterValue == 'All'\"><a rel=\"noopener\" :href=\"'/api/SessionMembers/' + Session.SessionId + '.pdf'\">Roster View</a></span>\r\n                                <span v-if=\"filterValue=='House'\"><a rel=\"noopener\" :href=\"'/api/SessionMembers/' + Session.SessionId + '.pdf?Chamber=H'\">Roster View</a></span>\r\n                                <span v-if=\"filterValue=='Senate'\"><a rel=\"noopener\" :href=\"'/api/SessionMembers/' + Session.SessionId + '.pdf?Chamber=S'\">Roster View</a></span>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                    <FilterableDataTable v-if=\"DistrictView ==false\"\r\n                                         DownloadCSV=\"false\"\r\n                                  :headers=\"headers\"\r\n                                  :items=\"filteredSessionMembers\"\r\n                                  item-key=\"SessionMemberId\"\r\n                                  disable-pagination\r\n                                  hide-default-footer\r\n                                  multi-sort\r\n                                  :loading=\"loading\"\r\n                                  loading-text=\"Loading... Please wait\"\r\n                                  class=\"elevation-1\">\r\n                        <template v-slot:item.Name=\"{ item }\">\r\n                            <router-link :to=\"'/Legislators/Profile/' + item.SessionMemberId\">{{item.Name }}</router-link>\r\n                            <span v-if=\"item.InactiveDate!= null\">*</span>\r\n                        </template>\r\n                        <template v-slot:item.MemberType=\"{ item }\">\r\n                            <span v-if=\"item.MemberType == 'S'\">Senate</span>\r\n                            <span v-else-if=\"item.MemberType == 'H'\">House</span>\r\n                        </template>\r\n                    </FilterableDataTable>\r\n\r\n                    <div v-if=\"DistrictView\">\r\n                        Legislators By District\r\n                        <v-card flat v-for=\"i in Districts\" :key=\"i.DistrictId\">\r\n                            <v-card-title class=\"text-center\">District {{i}}</v-card-title>\r\n                            <v-card-subtitle class=\"pb-0\">Counties {{CountyList(i)}}</v-card-subtitle>\r\n                            <v-card-text>\r\n                                <FilterableDataTable :headers=\"DistrictHeaders\"\r\n                                              :items=\"ListOfLegislatorsByDistrict(i)\"\r\n                                              item-key=\"Name\"\r\n                                              hide-default-footer\r\n                                              multi-sort\r\n                                              :loading=\"loading\"\r\n                                              loading-text=\"Loading... Please wait\"\r\n                                              class=\"elevation-1\">\r\n                                    <template v-slot:item.Name=\"{ item }\">\r\n                                        <router-link :to=\"'/Legislators/Profile/' + item.SessionMemberId\">{{item.Name }}</router-link>\r\n                                        <span v-if=\"item.InactiveDate!= null\">*</span>\r\n                                    </template>\r\n                                    <template v-slot:item.MemberType=\"{ item }\">\r\n                                        <span v-if=\"item.MemberType == 'S'\">Senate</span>\r\n                                        <span v-else-if=\"item.MemberType == 'H'\">House</span>\r\n                                    </template>\r\n                                    <template v-slot:item.Term=\"{ item }\">\r\n                                        <span v-if=\"item.Term == 'I'\">Incumbent</span>\r\n                                        <span v-if=\"item.Term == 'G'\">Govs. Appointment</span>\r\n                                        <span v-if=\"item.Term == 'N'\">New Member</span>\r\n                                        <span v-if=\"item.Term == 'M'\">Other House</span>\r\n                                    </template>\r\n                                </FilterableDataTable>\r\n                            </v-card-text>\r\n                        </v-card>\r\n                    </div>\r\n                    <small><b><i>*The Legislator did not fulfill their entire term.</i></b></small>\r\n                </v-card-text>\r\n            </v-card>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Listing',\r\n        props: ['SessionId'],\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            filterListing(item) {\r\n                if (item == 'District') {\r\n                    this.DistrictView = true;\r\n                } else {\r\n                    this.DistrictView = false;\r\n                }\r\n                this.filterValue = item;\r\n            },\r\n            ListOfLegislatorsByDistrict(i) {\r\n                return this.SessionMembers.filter(x => x.District == i);\r\n            },\r\n            LoadData() {\r\n                this.loading = true;\r\n                fetch('/api/Sessions/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.ok) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Session = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n                fetch('/api/SessionMembers/Session/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.ok) {\r\n                        return res.json();\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    let res = EncodeDatetimes(response);\r\n                    if (res) {\r\n                        this.SessionMembers = res;\r\n                    }\r\n                    this.loading = false;\r\n                }).catch(error => {\r\n                    console.error(error);\r\n                    throw new Error(error);\r\n                });\r\n\r\n                fetch('/api/DistrictCounties', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.ok) {\r\n                        return res.json();\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    let res = EncodeDatetimes(response);\r\n                    if (res) {\r\n                        this.DistrictCounties = res;\r\n                    }\r\n                }).catch(error => {\r\n                    console.error(error);\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            CountyList(district) {\r\n                var d = this.DistrictCounties.filter(x => x.District.District == district && x.SessionId == this.SessionId);\r\n                var res = \"\";\r\n                d.forEach(x => {\r\n                    res += x.County.County + \", \";\r\n                });\r\n                return res.replace(/,\\s*$/, \"\");\r\n            }\r\n        },\r\n        data: function () {\r\n            return {\r\n                filterValue: 'All',\r\n                loading: true,\r\n                tabs: [\"All\", \"House\", \"Senate\", \"District\"],\r\n                headers: [\r\n                    { text: 'Name', value: 'Name' },\r\n                    { text: 'Chamber', value: 'MemberType' },\r\n                    { text: 'District', value: 'District' },\r\n                    { text: 'Party', value: 'PartyName' },\r\n                ],\r\n                DistrictHeaders: [\r\n                    { text: 'Name', value: 'Name' },\r\n                    { text: 'Chamber', value: 'MemberType' },\r\n                    //{ text: 'District', value: 'District' },\r\n                    { text: 'Party', value: 'PartyName' },\r\n                    { text: 'Status', value: 'MemberTermName' },\r\n                    { text: 'Occupation', value: 'Occupation' },\r\n                ],\r\n                DistrictCounties: [],\r\n                SessionMembers: [\r\n                ],\r\n                loading: false,\r\n                DistrictView: false,\r\n                Session: null,\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            SessionId: {\r\n                handler() {\r\n                    this.LoadData();\r\n                },\r\n            },\r\n        },\r\n        computed: {\r\n            filteredSessionMembers: function () {\r\n                if (this.filterValue == 'All') {\r\n                    return this.SessionMembers;\r\n                } else if (this.filterValue == 'House') {\r\n                    return this.SessionMembers.filter(x => x.MemberType == 'H');\r\n                }\r\n                else if (this.filterValue == 'Senate') {\r\n                    return this.SessionMembers.filter(x => x.MemberType == 'S');\r\n                }\r\n                else if (this.filterValue == 'District') {\r\n                    return this.SessionMembers;\r\n                }\r\n            },\r\n            RepublicanCount: function () {\r\n                if (this.filteredSessionMembers) {\r\n                    return this.filteredSessionMembers.filter(x => x.Politics == 'R').length;\r\n                }\r\n                return 0;\r\n            },\r\n            DemocratCount: function () {\r\n                if (this.filteredSessionMembers) {\r\n                    return this.filteredSessionMembers.filter(x => x.Politics == 'D').length;\r\n                }\r\n                return 0;\r\n            },\r\n            IndependentCount: function () {\r\n                if (this.filteredSessionMembers) {\r\n                    return this.filteredSessionMembers.filter(x => x.Politics == 'I').length;\r\n                }\r\n                return 0;\r\n            },\r\n            Districts: function () {\r\n                if (this.filteredSessionMembers) {\r\n                    return Array.from(new Set(this.filteredSessionMembers.map(x => x.District))).sort((a, b) => (a > b) ? 1 : -1);\r\n                }\r\n                return [];\r\n            },\r\n            Title: function () {\r\n                let title = 'Legislator Listing';\r\n                if (this.Session && this.Session.Year) {\r\n                    title = this.Session.Year + ' ' + title;\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Listing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Listing.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Listing.vue?vue&type=template&id=3f513d8d&\"\nimport script from \"./Listing.vue?vue&type=script&lang=js&\"\nexport * from \"./Listing.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { 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';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VCard,VCardSubtitle,VCardText,VCardTitle,VChip,VCol,VProgressLinear,VRow,VSpacer,VTab,VTabs})\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-simple-checkbox{align-self:center;line-height:normal;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.v-simple-checkbox .v-icon{cursor:pointer}.v-simple-checkbox--disabled{cursor:default}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-list-item--disabled{color:rgba(0,0,0,.38)}.theme--light.v-list-item:not(.v-list-item--active):not(.v-list-item--disabled){color:rgba(0,0,0,.87)}.theme--light.v-list-item .v-list-item__mask{color:rgba(0,0,0,.38);background:#eee}.theme--light.v-list-item:not(.v-list-item--disabled) .v-list-item__action-text,.theme--light.v-list-item:not(.v-list-item--disabled) .v-list-item__subtitle{color:rgba(0,0,0,.6)}.theme--light.v-list-item:hover:before{opacity:.04}.theme--light.v-list-item--active:before,.theme--light.v-list-item--active:hover:before,.theme--light.v-list-item:focus:before{opacity:.12}.theme--light.v-list-item--active:focus:before,.theme--light.v-list-item.v-list-item--highlighted:before{opacity:.16}.theme--dark.v-list-item--disabled{color:hsla(0,0%,100%,.5)}.theme--dark.v-list-item:not(.v-list-item--active):not(.v-list-item--disabled){color:#fff}.theme--dark.v-list-item .v-list-item__mask{color:hsla(0,0%,100%,.5);background:#494949}.theme--dark.v-list-item:not(.v-list-item--disabled) .v-list-item__action-text,.theme--dark.v-list-item:not(.v-list-item--disabled) .v-list-item__subtitle{color:hsla(0,0%,100%,.7)}.theme--dark.v-list-item:hover:before{opacity:.08}.theme--dark.v-list-item--active:before,.theme--dark.v-list-item--active:hover:before,.theme--dark.v-list-item:focus:before{opacity:.24}.theme--dark.v-list-item--active:focus:before,.theme--dark.v-list-item.v-list-item--highlighted:before{opacity:.32}.v-list-item{align-items:center;display:flex;flex:1 1 100%;letter-spacing:normal;min-height:48px;outline:none;padding:0 16px;position:relative;text-decoration:none}.v-list-item--disabled{pointer-events:none}.v-list-item--selectable{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.v-list-item:after{content:\\\"\\\";min-height:inherit;font-size:0}.v-list-item__action{align-self:center;margin:12px 0}.v-list-item__action .v-input,.v-list-item__action .v-input--selection-controls__input,.v-list-item__action .v-input__control,.v-list-item__action .v-input__slot{margin:0!important}.v-list-item__action .v-input{padding:0}.v-list-item__action .v-input .v-messages{display:none}.v-list-item__action-text{font-size:.75rem}.v-list-item__avatar{align-self:center;justify-content:flex-start}.v-list-item__avatar,.v-list-item__avatar.v-list-item__avatar--horizontal{margin-bottom:8px;margin-top:8px}.v-application--is-ltr .v-list-item__avatar.v-list-item__avatar--horizontal:first-child{margin-left:-16px}.v-application--is-rtl .v-list-item__avatar.v-list-item__avatar--horizontal:first-child{margin-right:-16px}.v-application--is-ltr .v-list-item__avatar.v-list-item__avatar--horizontal:last-child{margin-left:-16px}.v-application--is-rtl .v-list-item__avatar.v-list-item__avatar--horizontal:last-child{margin-right:-16px}.v-list-item__content{align-items:center;align-self:center;display:flex;flex-wrap:wrap;flex:1 1;overflow:hidden;padding:12px 0}.v-list-item__content>*{line-height:1.1;flex:1 0 100%}.v-list-item__content>:not(:last-child){margin-bottom:2px}.v-list-item__icon{align-self:flex-start;margin:16px 0}.v-application--is-ltr .v-list-item__action:last-of-type:not(:only-child),.v-application--is-ltr .v-list-item__avatar:last-of-type:not(:only-child),.v-application--is-ltr .v-list-item__icon:last-of-type:not(:only-child){margin-left:16px}.v-application--is-ltr .v-list-item__avatar:first-child,.v-application--is-rtl .v-list-item__action:last-of-type:not(:only-child),.v-application--is-rtl .v-list-item__avatar:last-of-type:not(:only-child),.v-application--is-rtl .v-list-item__icon:last-of-type:not(:only-child){margin-right:16px}.v-application--is-rtl .v-list-item__avatar:first-child{margin-left:16px}.v-application--is-ltr .v-list-item__action:first-child,.v-application--is-ltr .v-list-item__icon:first-child{margin-right:32px}.v-application--is-rtl .v-list-item__action:first-child,.v-application--is-rtl .v-list-item__icon:first-child{margin-left:32px}.v-list-item__action,.v-list-item__avatar,.v-list-item__icon{display:inline-flex;min-width:24px}.v-list-item .v-list-item__subtitle,.v-list-item .v-list-item__title{line-height:1.2}.v-list-item__subtitle,.v-list-item__title{flex:1 1 100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-list-item__title{align-self:center;font-size:1rem}.v-list-item__title>.v-badge{margin-top:16px}.v-list-item__subtitle{font-size:.875rem}.v-list--dense .v-list-item,.v-list-item--dense{min-height:40px}.v-list--dense .v-list-item .v-list-item__icon,.v-list-item--dense .v-list-item__icon{height:24px;margin-top:8px;margin-bottom:8px}.v-list--dense .v-list-item .v-list-item__content,.v-list-item--dense .v-list-item__content{padding:8px 0}.v-list--dense .v-list-item .v-list-item__subtitle,.v-list--dense .v-list-item .v-list-item__title,.v-list-item--dense .v-list-item__subtitle,.v-list-item--dense .v-list-item__title{font-size:.8125rem;font-weight:500;line-height:1rem}.v-list--dense .v-list-item.v-list-item--two-line,.v-list-item--dense.v-list-item--two-line{min-height:60px}.v-list--dense .v-list-item.v-list-item--three-line,.v-list-item--dense.v-list-item--three-line{min-height:76px}.v-list-item--link{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.v-list-item--link:before{background-color:currentColor;bottom:0;content:\\\"\\\";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:.3s cubic-bezier(.25,.8,.5,1)}.v-list .v-list-item--active,.v-list .v-list-item--active .v-icon{color:inherit}.v-list-item__action--stack{align-items:flex-end;align-self:stretch;justify-content:space-between;white-space:nowrap;flex-direction:column}.v-list--three-line .v-list-item .v-list-item__avatar:not(.v-list-item__avatar--horizontal),.v-list--three-line .v-list-item .v-list-item__icon,.v-list--two-line .v-list-item .v-list-item__avatar:not(.v-list-item__avatar--horizontal),.v-list--two-line .v-list-item .v-list-item__icon,.v-list-item--three-line .v-list-item__avatar:not(.v-list-item__avatar--horizontal),.v-list-item--three-line .v-list-item__icon,.v-list-item--two-line .v-list-item__avatar:not(.v-list-item__avatar--horizontal),.v-list-item--two-line .v-list-item__icon{margin-bottom:16px;margin-top:16px}.v-list--two-line .v-list-item,.v-list-item--two-line{min-height:64px}.v-list--two-line .v-list-item .v-list-item__icon,.v-list-item--two-line .v-list-item__icon{margin-bottom:32px}.v-list--three-line .v-list-item,.v-list-item--three-line{min-height:88px}.v-list--three-line .v-list-item .v-list-item__action,.v-list--three-line .v-list-item .v-list-item__avatar,.v-list-item--three-line .v-list-item__action,.v-list-item--three-line .v-list-item__avatar{align-self:flex-start;margin-top:16px;margin-bottom:16px}.v-list--three-line .v-list-item .v-list-item__content,.v-list-item--three-line .v-list-item__content{align-self:stretch}.v-list--three-line .v-list-item .v-list-item__subtitle,.v-list-item--three-line .v-list-item__subtitle{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n  }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  Object.defineProperty(Constructor, \"prototype\", {\n    writable: false\n  });\n  return Constructor;\n}\nfunction _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}\nfunction _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n  _setPrototypeOf(subClass, superClass);\n}\nfunction _getPrototypeOf(o) {\n  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  };\n  return _getPrototypeOf(o);\n}\nfunction _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n  return _setPrototypeOf(o, p);\n}\nfunction _isNativeReflectConstruct() {\n  if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n  if (Reflect.construct.sham) return false;\n  if (typeof Proxy === \"function\") return true;\n  try {\n    Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\nfunction _construct(Parent, args, Class) {\n  if (_isNativeReflectConstruct()) {\n    _construct = Reflect.construct.bind();\n  } else {\n    _construct = function _construct(Parent, args, Class) {\n      var a = [null];\n      a.push.apply(a, args);\n      var Constructor = Function.bind.apply(Parent, a);\n      var instance = new Constructor();\n      if (Class) _setPrototypeOf(instance, Class.prototype);\n      return instance;\n    };\n  }\n  return _construct.apply(null, arguments);\n}\nfunction _isNativeFunction(fn) {\n  return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nfunction _wrapNativeSuper(Class) {\n  var _cache = typeof Map === \"function\" ? new Map() : undefined;\n  _wrapNativeSuper = function _wrapNativeSuper(Class) {\n    if (Class === null || !_isNativeFunction(Class)) return Class;\n    if (typeof Class !== \"function\") {\n      throw new TypeError(\"Super expression must either be null or a function\");\n    }\n    if (typeof _cache !== \"undefined\") {\n      if (_cache.has(Class)) return _cache.get(Class);\n      _cache.set(Class, Wrapper);\n    }\n    function Wrapper() {\n      return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n    }\n    Wrapper.prototype = Object.create(Class.prototype, {\n      constructor: {\n        value: Wrapper,\n        enumerable: false,\n        writable: true,\n        configurable: true\n      }\n    });\n    return _setPrototypeOf(Wrapper, Class);\n  };\n  return _wrapNativeSuper(Class);\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n  return target;\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(o);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n  return arr2;\n}\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n  var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n  if (it) return (it = it.call(o)).next.bind(it);\n  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n    if (it) o = it;\n    var i = 0;\n    return function () {\n      if (i >= o.length) return {\n        done: true\n      };\n      return {\n        done: false,\n        value: o[i++]\n      };\n    };\n  }\n  throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _toPrimitive(input, hint) {\n  if (typeof input !== \"object\" || input === null) return input;\n  var prim = input[Symbol.toPrimitive];\n  if (prim !== undefined) {\n    var res = prim.call(input, hint || \"default\");\n    if (typeof res !== \"object\") return res;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n  var key = _toPrimitive(arg, \"string\");\n  return typeof key === \"symbol\" ? key : String(key);\n}\n\n// these aren't really private, but nor are they really useful to document\n/**\n * @private\n */\nvar LuxonError = /*#__PURE__*/function (_Error) {\n  _inheritsLoose(LuxonError, _Error);\n  function LuxonError() {\n    return _Error.apply(this, arguments) || this;\n  }\n  return LuxonError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n/**\n * @private\n */\nvar InvalidDateTimeError = /*#__PURE__*/function (_LuxonError) {\n  _inheritsLoose(InvalidDateTimeError, _LuxonError);\n  function InvalidDateTimeError(reason) {\n    return _LuxonError.call(this, \"Invalid DateTime: \" + reason.toMessage()) || this;\n  }\n  return InvalidDateTimeError;\n}(LuxonError);\n\n/**\n * @private\n */\nvar InvalidIntervalError = /*#__PURE__*/function (_LuxonError2) {\n  _inheritsLoose(InvalidIntervalError, _LuxonError2);\n  function InvalidIntervalError(reason) {\n    return _LuxonError2.call(this, \"Invalid Interval: \" + reason.toMessage()) || this;\n  }\n  return InvalidIntervalError;\n}(LuxonError);\n\n/**\n * @private\n */\nvar InvalidDurationError = /*#__PURE__*/function (_LuxonError3) {\n  _inheritsLoose(InvalidDurationError, _LuxonError3);\n  function InvalidDurationError(reason) {\n    return _LuxonError3.call(this, \"Invalid Duration: \" + reason.toMessage()) || this;\n  }\n  return InvalidDurationError;\n}(LuxonError);\n\n/**\n * @private\n */\nvar ConflictingSpecificationError = /*#__PURE__*/function (_LuxonError4) {\n  _inheritsLoose(ConflictingSpecificationError, _LuxonError4);\n  function ConflictingSpecificationError() {\n    return _LuxonError4.apply(this, arguments) || this;\n  }\n  return ConflictingSpecificationError;\n}(LuxonError);\n\n/**\n * @private\n */\nvar InvalidUnitError = /*#__PURE__*/function (_LuxonError5) {\n  _inheritsLoose(InvalidUnitError, _LuxonError5);\n  function InvalidUnitError(unit) {\n    return _LuxonError5.call(this, \"Invalid unit \" + unit) || this;\n  }\n  return InvalidUnitError;\n}(LuxonError);\n\n/**\n * @private\n */\nvar InvalidArgumentError = /*#__PURE__*/function (_LuxonError6) {\n  _inheritsLoose(InvalidArgumentError, _LuxonError6);\n  function InvalidArgumentError() {\n    return _LuxonError6.apply(this, arguments) || this;\n  }\n  return InvalidArgumentError;\n}(LuxonError);\n\n/**\n * @private\n */\nvar ZoneIsAbstractError = /*#__PURE__*/function (_LuxonError7) {\n  _inheritsLoose(ZoneIsAbstractError, _LuxonError7);\n  function ZoneIsAbstractError() {\n    return _LuxonError7.call(this, \"Zone is an abstract class\") || this;\n  }\n  return ZoneIsAbstractError;\n}(LuxonError);\n\n/**\n * @private\n */\n\nvar n = \"numeric\",\n  s = \"short\",\n  l = \"long\";\nvar DATE_SHORT = {\n  year: n,\n  month: n,\n  day: n\n};\nvar DATE_MED = {\n  year: n,\n  month: s,\n  day: n\n};\nvar DATE_MED_WITH_WEEKDAY = {\n  year: n,\n  month: s,\n  day: n,\n  weekday: s\n};\nvar DATE_FULL = {\n  year: n,\n  month: l,\n  day: n\n};\nvar DATE_HUGE = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l\n};\nvar TIME_SIMPLE = {\n  hour: n,\n  minute: n\n};\nvar TIME_WITH_SECONDS = {\n  hour: n,\n  minute: n,\n  second: n\n};\nvar TIME_WITH_SHORT_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: s\n};\nvar TIME_WITH_LONG_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: l\n};\nvar TIME_24_SIMPLE = {\n  hour: n,\n  minute: n,\n  hourCycle: \"h23\"\n};\nvar TIME_24_WITH_SECONDS = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\"\n};\nvar TIME_24_WITH_SHORT_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\",\n  timeZoneName: s\n};\nvar TIME_24_WITH_LONG_OFFSET = {\n  hour: n,\n  minute: n,\n  second: n,\n  hourCycle: \"h23\",\n  timeZoneName: l\n};\nvar DATETIME_SHORT = {\n  year: n,\n  month: n,\n  day: n,\n  hour: n,\n  minute: n\n};\nvar DATETIME_SHORT_WITH_SECONDS = {\n  year: n,\n  month: n,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n\n};\nvar DATETIME_MED = {\n  year: n,\n  month: s,\n  day: n,\n  hour: n,\n  minute: n\n};\nvar DATETIME_MED_WITH_SECONDS = {\n  year: n,\n  month: s,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n\n};\nvar DATETIME_MED_WITH_WEEKDAY = {\n  year: n,\n  month: s,\n  day: n,\n  weekday: s,\n  hour: n,\n  minute: n\n};\nvar DATETIME_FULL = {\n  year: n,\n  month: l,\n  day: n,\n  hour: n,\n  minute: n,\n  timeZoneName: s\n};\nvar DATETIME_FULL_WITH_SECONDS = {\n  year: n,\n  month: l,\n  day: n,\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: s\n};\nvar DATETIME_HUGE = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l,\n  hour: n,\n  minute: n,\n  timeZoneName: l\n};\nvar DATETIME_HUGE_WITH_SECONDS = {\n  year: n,\n  month: l,\n  day: n,\n  weekday: l,\n  hour: n,\n  minute: n,\n  second: n,\n  timeZoneName: l\n};\n\n/**\n * @interface\n */\nvar Zone = /*#__PURE__*/function () {\n  function Zone() {}\n  var _proto = Zone.prototype;\n  /**\n   * Returns the offset's common name (such as EST) at the specified timestamp\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to get the name\n   * @param {Object} opts - Options to affect the format\n   * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n   * @param {string} opts.locale - What locale to return the offset name in.\n   * @return {string}\n   */\n  _proto.offsetName = function offsetName(ts, opts) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Returns the offset's value as a string\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to get the offset\n   * @param {string} format - What style of offset to return.\n   *                          Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n   * @return {string}\n   */;\n  _proto.formatOffset = function formatOffset(ts, format) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return the offset in minutes for this zone at the specified timestamp.\n   * @abstract\n   * @param {number} ts - Epoch milliseconds for which to compute the offset\n   * @return {number}\n   */;\n  _proto.offset = function offset(ts) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return whether this Zone is equal to another zone\n   * @abstract\n   * @param {Zone} otherZone - the zone to compare\n   * @return {boolean}\n   */;\n  _proto.equals = function equals(otherZone) {\n    throw new ZoneIsAbstractError();\n  }\n\n  /**\n   * Return whether this Zone is valid.\n   * @abstract\n   * @type {boolean}\n   */;\n  _createClass(Zone, [{\n    key: \"type\",\n    get:\n    /**\n     * The type of zone\n     * @abstract\n     * @type {string}\n     */\n    function get() {\n      throw new ZoneIsAbstractError();\n    }\n\n    /**\n     * The name of this zone.\n     * @abstract\n     * @type {string}\n     */\n  }, {\n    key: \"name\",\n    get: function get() {\n      throw new ZoneIsAbstractError();\n    }\n  }, {\n    key: \"ianaName\",\n    get: function get() {\n      return this.name;\n    }\n\n    /**\n     * Returns whether the offset is known to be fixed for the whole year.\n     * @abstract\n     * @type {boolean}\n     */\n  }, {\n    key: \"isUniversal\",\n    get: function get() {\n      throw new ZoneIsAbstractError();\n    }\n  }, {\n    key: \"isValid\",\n    get: function get() {\n      throw new ZoneIsAbstractError();\n    }\n  }]);\n  return Zone;\n}();\n\nvar singleton$1 = null;\n\n/**\n * Represents the local zone for this JavaScript environment.\n * @implements {Zone}\n */\nvar SystemZone = /*#__PURE__*/function (_Zone) {\n  _inheritsLoose(SystemZone, _Zone);\n  function SystemZone() {\n    return _Zone.apply(this, arguments) || this;\n  }\n  var _proto = SystemZone.prototype;\n  /** @override **/\n  _proto.offsetName = function offsetName(ts, _ref) {\n    var format = _ref.format,\n      locale = _ref.locale;\n    return parseZoneInfo(ts, format, locale);\n  }\n\n  /** @override **/;\n  _proto.formatOffset = function formatOffset$1(ts, format) {\n    return formatOffset(this.offset(ts), format);\n  }\n\n  /** @override **/;\n  _proto.offset = function offset(ts) {\n    return -new Date(ts).getTimezoneOffset();\n  }\n\n  /** @override **/;\n  _proto.equals = function equals(otherZone) {\n    return otherZone.type === \"system\";\n  }\n\n  /** @override **/;\n  _createClass(SystemZone, [{\n    key: \"type\",\n    get: /** @override **/\n    function get() {\n      return \"system\";\n    }\n\n    /** @override **/\n  }, {\n    key: \"name\",\n    get: function get() {\n      return new Intl.DateTimeFormat().resolvedOptions().timeZone;\n    }\n\n    /** @override **/\n  }, {\n    key: \"isUniversal\",\n    get: function get() {\n      return false;\n    }\n  }, {\n    key: \"isValid\",\n    get: function get() {\n      return true;\n    }\n  }], [{\n    key: \"instance\",\n    get:\n    /**\n     * Get a singleton instance of the local zone\n     * @return {SystemZone}\n     */\n    function get() {\n      if (singleton$1 === null) {\n        singleton$1 = new SystemZone();\n      }\n      return singleton$1;\n    }\n  }]);\n  return SystemZone;\n}(Zone);\n\nvar dtfCache = {};\nfunction makeDTF(zone) {\n  if (!dtfCache[zone]) {\n    dtfCache[zone] = new Intl.DateTimeFormat(\"en-US\", {\n      hour12: false,\n      timeZone: zone,\n      year: \"numeric\",\n      month: \"2-digit\",\n      day: \"2-digit\",\n      hour: \"2-digit\",\n      minute: \"2-digit\",\n      second: \"2-digit\",\n      era: \"short\"\n    });\n  }\n  return dtfCache[zone];\n}\nvar typeToPos = {\n  year: 0,\n  month: 1,\n  day: 2,\n  era: 3,\n  hour: 4,\n  minute: 5,\n  second: 6\n};\nfunction hackyOffset(dtf, date) {\n  var formatted = dtf.format(date).replace(/\\u200E/g, \"\"),\n    parsed = /(\\d+)\\/(\\d+)\\/(\\d+) (AD|BC),? (\\d+):(\\d+):(\\d+)/.exec(formatted),\n    fMonth = parsed[1],\n    fDay = parsed[2],\n    fYear = parsed[3],\n    fadOrBc = parsed[4],\n    fHour = parsed[5],\n    fMinute = parsed[6],\n    fSecond = parsed[7];\n  return [fYear, fMonth, fDay, fadOrBc, fHour, fMinute, fSecond];\n}\nfunction partsOffset(dtf, date) {\n  var formatted = dtf.formatToParts(date);\n  var filled = [];\n  for (var i = 0; i < formatted.length; i++) {\n    var _formatted$i = formatted[i],\n      type = _formatted$i.type,\n      value = _formatted$i.value;\n    var pos = typeToPos[type];\n    if (type === \"era\") {\n      filled[pos] = value;\n    } else if (!isUndefined(pos)) {\n      filled[pos] = parseInt(value, 10);\n    }\n  }\n  return filled;\n}\nvar ianaZoneCache = {};\n/**\n * A zone identified by an IANA identifier, like America/New_York\n * @implements {Zone}\n */\nvar IANAZone = /*#__PURE__*/function (_Zone) {\n  _inheritsLoose(IANAZone, _Zone);\n  /**\n   * @param {string} name - Zone name\n   * @return {IANAZone}\n   */\n  IANAZone.create = function create(name) {\n    if (!ianaZoneCache[name]) {\n      ianaZoneCache[name] = new IANAZone(name);\n    }\n    return ianaZoneCache[name];\n  }\n\n  /**\n   * Reset local caches. Should only be necessary in testing scenarios.\n   * @return {void}\n   */;\n  IANAZone.resetCache = function resetCache() {\n    ianaZoneCache = {};\n    dtfCache = {};\n  }\n\n  /**\n   * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that.\n   * @param {string} s - The string to check validity on\n   * @example IANAZone.isValidSpecifier(\"America/New_York\") //=> true\n   * @example IANAZone.isValidSpecifier(\"Sport~~blorp\") //=> false\n   * @deprecated This method returns false for some valid IANA names. Use isValidZone instead.\n   * @return {boolean}\n   */;\n  IANAZone.isValidSpecifier = function isValidSpecifier(s) {\n    return this.isValidZone(s);\n  }\n\n  /**\n   * Returns whether the provided string identifies a real zone\n   * @param {string} zone - The string to check\n   * @example IANAZone.isValidZone(\"America/New_York\") //=> true\n   * @example IANAZone.isValidZone(\"Fantasia/Castle\") //=> false\n   * @example IANAZone.isValidZone(\"Sport~~blorp\") //=> false\n   * @return {boolean}\n   */;\n  IANAZone.isValidZone = function isValidZone(zone) {\n    if (!zone) {\n      return false;\n    }\n    try {\n      new Intl.DateTimeFormat(\"en-US\", {\n        timeZone: zone\n      }).format();\n      return true;\n    } catch (e) {\n      return false;\n    }\n  };\n  function IANAZone(name) {\n    var _this;\n    _this = _Zone.call(this) || this;\n    /** @private **/\n    _this.zoneName = name;\n    /** @private **/\n    _this.valid = IANAZone.isValidZone(name);\n    return _this;\n  }\n\n  /** @override **/\n  var _proto = IANAZone.prototype;\n  /** @override **/\n  _proto.offsetName = function offsetName(ts, _ref) {\n    var format = _ref.format,\n      locale = _ref.locale;\n    return parseZoneInfo(ts, format, locale, this.name);\n  }\n\n  /** @override **/;\n  _proto.formatOffset = function formatOffset$1(ts, format) {\n    return formatOffset(this.offset(ts), format);\n  }\n\n  /** @override **/;\n  _proto.offset = function offset(ts) {\n    var date = new Date(ts);\n    if (isNaN(date)) return NaN;\n    var dtf = makeDTF(this.name);\n    var _ref2 = dtf.formatToParts ? partsOffset(dtf, date) : hackyOffset(dtf, date),\n      year = _ref2[0],\n      month = _ref2[1],\n      day = _ref2[2],\n      adOrBc = _ref2[3],\n      hour = _ref2[4],\n      minute = _ref2[5],\n      second = _ref2[6];\n    if (adOrBc === \"BC\") {\n      year = -Math.abs(year) + 1;\n    }\n\n    // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat\n    var adjustedHour = hour === 24 ? 0 : hour;\n    var asUTC = objToLocalTS({\n      year: year,\n      month: month,\n      day: day,\n      hour: adjustedHour,\n      minute: minute,\n      second: second,\n      millisecond: 0\n    });\n    var asTS = +date;\n    var over = asTS % 1000;\n    asTS -= over >= 0 ? over : 1000 + over;\n    return (asUTC - asTS) / (60 * 1000);\n  }\n\n  /** @override **/;\n  _proto.equals = function equals(otherZone) {\n    return otherZone.type === \"iana\" && otherZone.name === this.name;\n  }\n\n  /** @override **/;\n  _createClass(IANAZone, [{\n    key: \"type\",\n    get: function get() {\n      return \"iana\";\n    }\n\n    /** @override **/\n  }, {\n    key: \"name\",\n    get: function get() {\n      return this.zoneName;\n    }\n\n    /** @override **/\n  }, {\n    key: \"isUniversal\",\n    get: function get() {\n      return false;\n    }\n  }, {\n    key: \"isValid\",\n    get: function get() {\n      return this.valid;\n    }\n  }]);\n  return IANAZone;\n}(Zone);\n\nvar _excluded = [\"base\"],\n  _excluded2 = [\"padTo\", \"floor\"];\n\n// todo - remap caching\n\nvar intlLFCache = {};\nfunction getCachedLF(locString, opts) {\n  if (opts === void 0) {\n    opts = {};\n  }\n  var key = JSON.stringify([locString, opts]);\n  var dtf = intlLFCache[key];\n  if (!dtf) {\n    dtf = new Intl.ListFormat(locString, opts);\n    intlLFCache[key] = dtf;\n  }\n  return dtf;\n}\nvar intlDTCache = {};\nfunction getCachedDTF(locString, opts) {\n  if (opts === void 0) {\n    opts = {};\n  }\n  var key = JSON.stringify([locString, opts]);\n  var dtf = intlDTCache[key];\n  if (!dtf) {\n    dtf = new Intl.DateTimeFormat(locString, opts);\n    intlDTCache[key] = dtf;\n  }\n  return dtf;\n}\nvar intlNumCache = {};\nfunction getCachedINF(locString, opts) {\n  if (opts === void 0) {\n    opts = {};\n  }\n  var key = JSON.stringify([locString, opts]);\n  var inf = intlNumCache[key];\n  if (!inf) {\n    inf = new Intl.NumberFormat(locString, opts);\n    intlNumCache[key] = inf;\n  }\n  return inf;\n}\nvar intlRelCache = {};\nfunction getCachedRTF(locString, opts) {\n  if (opts === void 0) {\n    opts = {};\n  }\n  var _opts = opts;\n    _opts.base;\n    var cacheKeyOpts = _objectWithoutPropertiesLoose(_opts, _excluded); // exclude `base` from the options\n  var key = JSON.stringify([locString, cacheKeyOpts]);\n  var inf = intlRelCache[key];\n  if (!inf) {\n    inf = new Intl.RelativeTimeFormat(locString, opts);\n    intlRelCache[key] = inf;\n  }\n  return inf;\n}\nvar sysLocaleCache = null;\nfunction systemLocale() {\n  if (sysLocaleCache) {\n    return sysLocaleCache;\n  } else {\n    sysLocaleCache = new Intl.DateTimeFormat().resolvedOptions().locale;\n    return sysLocaleCache;\n  }\n}\nvar weekInfoCache = {};\nfunction getCachedWeekInfo(locString) {\n  var data = weekInfoCache[locString];\n  if (!data) {\n    var locale = new Intl.Locale(locString);\n    // browsers currently implement this as a property, but spec says it should be a getter function\n    data = \"getWeekInfo\" in locale ? locale.getWeekInfo() : locale.weekInfo;\n    weekInfoCache[locString] = data;\n  }\n  return data;\n}\nfunction parseLocaleString(localeStr) {\n  // I really want to avoid writing a BCP 47 parser\n  // see, e.g. https://github.com/wooorm/bcp-47\n  // Instead, we'll do this:\n\n  // a) if the string has no -u extensions, just leave it alone\n  // b) if it does, use Intl to resolve everything\n  // c) if Intl fails, try again without the -u\n\n  // private subtags and unicode subtags have ordering requirements,\n  // and we're not properly parsing this, so just strip out the\n  // private ones if they exist.\n  var xIndex = localeStr.indexOf(\"-x-\");\n  if (xIndex !== -1) {\n    localeStr = localeStr.substring(0, xIndex);\n  }\n  var uIndex = localeStr.indexOf(\"-u-\");\n  if (uIndex === -1) {\n    return [localeStr];\n  } else {\n    var options;\n    var selectedStr;\n    try {\n      options = getCachedDTF(localeStr).resolvedOptions();\n      selectedStr = localeStr;\n    } catch (e) {\n      var smaller = localeStr.substring(0, uIndex);\n      options = getCachedDTF(smaller).resolvedOptions();\n      selectedStr = smaller;\n    }\n    var _options = options,\n      numberingSystem = _options.numberingSystem,\n      calendar = _options.calendar;\n    return [selectedStr, numberingSystem, calendar];\n  }\n}\nfunction intlConfigString(localeStr, numberingSystem, outputCalendar) {\n  if (outputCalendar || numberingSystem) {\n    if (!localeStr.includes(\"-u-\")) {\n      localeStr += \"-u\";\n    }\n    if (outputCalendar) {\n      localeStr += \"-ca-\" + outputCalendar;\n    }\n    if (numberingSystem) {\n      localeStr += \"-nu-\" + numberingSystem;\n    }\n    return localeStr;\n  } else {\n    return localeStr;\n  }\n}\nfunction mapMonths(f) {\n  var ms = [];\n  for (var i = 1; i <= 12; i++) {\n    var dt = DateTime.utc(2009, i, 1);\n    ms.push(f(dt));\n  }\n  return ms;\n}\nfunction mapWeekdays(f) {\n  var ms = [];\n  for (var i = 1; i <= 7; i++) {\n    var dt = DateTime.utc(2016, 11, 13 + i);\n    ms.push(f(dt));\n  }\n  return ms;\n}\nfunction listStuff(loc, length, englishFn, intlFn) {\n  var mode = loc.listingMode();\n  if (mode === \"error\") {\n    return null;\n  } else if (mode === \"en\") {\n    return englishFn(length);\n  } else {\n    return intlFn(length);\n  }\n}\nfunction supportsFastNumbers(loc) {\n  if (loc.numberingSystem && loc.numberingSystem !== \"latn\") {\n    return false;\n  } else {\n    return loc.numberingSystem === \"latn\" || !loc.locale || loc.locale.startsWith(\"en\") || new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem === \"latn\";\n  }\n}\n\n/**\n * @private\n */\nvar PolyNumberFormatter = /*#__PURE__*/function () {\n  function PolyNumberFormatter(intl, forceSimple, opts) {\n    this.padTo = opts.padTo || 0;\n    this.floor = opts.floor || false;\n    opts.padTo;\n      opts.floor;\n      var otherOpts = _objectWithoutPropertiesLoose(opts, _excluded2);\n    if (!forceSimple || Object.keys(otherOpts).length > 0) {\n      var intlOpts = _extends({\n        useGrouping: false\n      }, opts);\n      if (opts.padTo > 0) intlOpts.minimumIntegerDigits = opts.padTo;\n      this.inf = getCachedINF(intl, intlOpts);\n    }\n  }\n  var _proto = PolyNumberFormatter.prototype;\n  _proto.format = function format(i) {\n    if (this.inf) {\n      var fixed = this.floor ? Math.floor(i) : i;\n      return this.inf.format(fixed);\n    } else {\n      // to match the browser's numberformatter defaults\n      var _fixed = this.floor ? Math.floor(i) : roundTo(i, 3);\n      return padStart(_fixed, this.padTo);\n    }\n  };\n  return PolyNumberFormatter;\n}();\n/**\n * @private\n */\nvar PolyDateFormatter = /*#__PURE__*/function () {\n  function PolyDateFormatter(dt, intl, opts) {\n    this.opts = opts;\n    this.originalZone = undefined;\n    var z = undefined;\n    if (this.opts.timeZone) {\n      // Don't apply any workarounds if a timeZone is explicitly provided in opts\n      this.dt = dt;\n    } else if (dt.zone.type === \"fixed\") {\n      // UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like.\n      // That is why fixed-offset TZ is set to that unless it is:\n      // 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT.\n      // 2. Unsupported by the browser:\n      //    - some do not support Etc/\n      //    - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata\n      var gmtOffset = -1 * (dt.offset / 60);\n      var offsetZ = gmtOffset >= 0 ? \"Etc/GMT+\" + gmtOffset : \"Etc/GMT\" + gmtOffset;\n      if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) {\n        z = offsetZ;\n        this.dt = dt;\n      } else {\n        // Not all fixed-offset zones like Etc/+4:30 are present in tzdata so\n        // we manually apply the offset and substitute the zone as needed.\n        z = \"UTC\";\n        this.dt = dt.offset === 0 ? dt : dt.setZone(\"UTC\").plus({\n          minutes: dt.offset\n        });\n        this.originalZone = dt.zone;\n      }\n    } else if (dt.zone.type === \"system\") {\n      this.dt = dt;\n    } else if (dt.zone.type === \"iana\") {\n      this.dt = dt;\n      z = dt.zone.name;\n    } else {\n      // Custom zones can have any offset / offsetName so we just manually\n      // apply the offset and substitute the zone as needed.\n      z = \"UTC\";\n      this.dt = dt.setZone(\"UTC\").plus({\n        minutes: dt.offset\n      });\n      this.originalZone = dt.zone;\n    }\n    var intlOpts = _extends({}, this.opts);\n    intlOpts.timeZone = intlOpts.timeZone || z;\n    this.dtf = getCachedDTF(intl, intlOpts);\n  }\n  var _proto2 = PolyDateFormatter.prototype;\n  _proto2.format = function format() {\n    if (this.originalZone) {\n      // If we have to substitute in the actual zone name, we have to use\n      // formatToParts so that the timezone can be replaced.\n      return this.formatToParts().map(function (_ref) {\n        var value = _ref.value;\n        return value;\n      }).join(\"\");\n    }\n    return this.dtf.format(this.dt.toJSDate());\n  };\n  _proto2.formatToParts = function formatToParts() {\n    var _this = this;\n    var parts = this.dtf.formatToParts(this.dt.toJSDate());\n    if (this.originalZone) {\n      return parts.map(function (part) {\n        if (part.type === \"timeZoneName\") {\n          var offsetName = _this.originalZone.offsetName(_this.dt.ts, {\n            locale: _this.dt.locale,\n            format: _this.opts.timeZoneName\n          });\n          return _extends({}, part, {\n            value: offsetName\n          });\n        } else {\n          return part;\n        }\n      });\n    }\n    return parts;\n  };\n  _proto2.resolvedOptions = function resolvedOptions() {\n    return this.dtf.resolvedOptions();\n  };\n  return PolyDateFormatter;\n}();\n/**\n * @private\n */\nvar PolyRelFormatter = /*#__PURE__*/function () {\n  function PolyRelFormatter(intl, isEnglish, opts) {\n    this.opts = _extends({\n      style: \"long\"\n    }, opts);\n    if (!isEnglish && hasRelative()) {\n      this.rtf = getCachedRTF(intl, opts);\n    }\n  }\n  var _proto3 = PolyRelFormatter.prototype;\n  _proto3.format = function format(count, unit) {\n    if (this.rtf) {\n      return this.rtf.format(count, unit);\n    } else {\n      return formatRelativeTime(unit, count, this.opts.numeric, this.opts.style !== \"long\");\n    }\n  };\n  _proto3.formatToParts = function formatToParts(count, unit) {\n    if (this.rtf) {\n      return this.rtf.formatToParts(count, unit);\n    } else {\n      return [];\n    }\n  };\n  return PolyRelFormatter;\n}();\nvar fallbackWeekSettings = {\n  firstDay: 1,\n  minimalDays: 4,\n  weekend: [6, 7]\n};\n\n/**\n * @private\n */\nvar Locale = /*#__PURE__*/function () {\n  Locale.fromOpts = function fromOpts(opts) {\n    return Locale.create(opts.locale, opts.numberingSystem, opts.outputCalendar, opts.weekSettings, opts.defaultToEN);\n  };\n  Locale.create = function create(locale, numberingSystem, outputCalendar, weekSettings, defaultToEN) {\n    if (defaultToEN === void 0) {\n      defaultToEN = false;\n    }\n    var specifiedLocale = locale || Settings.defaultLocale;\n    // the system locale is useful for human readable strings but annoying for parsing/formatting known formats\n    var localeR = specifiedLocale || (defaultToEN ? \"en-US\" : systemLocale());\n    var numberingSystemR = numberingSystem || Settings.defaultNumberingSystem;\n    var outputCalendarR = outputCalendar || Settings.defaultOutputCalendar;\n    var weekSettingsR = validateWeekSettings(weekSettings) || Settings.defaultWeekSettings;\n    return new Locale(localeR, numberingSystemR, outputCalendarR, weekSettingsR, specifiedLocale);\n  };\n  Locale.resetCache = function resetCache() {\n    sysLocaleCache = null;\n    intlDTCache = {};\n    intlNumCache = {};\n    intlRelCache = {};\n  };\n  Locale.fromObject = function fromObject(_temp) {\n    var _ref2 = _temp === void 0 ? {} : _temp,\n      locale = _ref2.locale,\n      numberingSystem = _ref2.numberingSystem,\n      outputCalendar = _ref2.outputCalendar,\n      weekSettings = _ref2.weekSettings;\n    return Locale.create(locale, numberingSystem, outputCalendar, weekSettings);\n  };\n  function Locale(locale, numbering, outputCalendar, weekSettings, specifiedLocale) {\n    var _parseLocaleString = parseLocaleString(locale),\n      parsedLocale = _parseLocaleString[0],\n      parsedNumberingSystem = _parseLocaleString[1],\n      parsedOutputCalendar = _parseLocaleString[2];\n    this.locale = parsedLocale;\n    this.numberingSystem = numbering || parsedNumberingSystem || null;\n    this.outputCalendar = outputCalendar || parsedOutputCalendar || null;\n    this.weekSettings = weekSettings;\n    this.intl = intlConfigString(this.locale, this.numberingSystem, this.outputCalendar);\n    this.weekdaysCache = {\n      format: {},\n      standalone: {}\n    };\n    this.monthsCache = {\n      format: {},\n      standalone: {}\n    };\n    this.meridiemCache = null;\n    this.eraCache = {};\n    this.specifiedLocale = specifiedLocale;\n    this.fastNumbersCached = null;\n  }\n  var _proto4 = Locale.prototype;\n  _proto4.listingMode = function listingMode() {\n    var isActuallyEn = this.isEnglish();\n    var hasNoWeirdness = (this.numberingSystem === null || this.numberingSystem === \"latn\") && (this.outputCalendar === null || this.outputCalendar === \"gregory\");\n    return isActuallyEn && hasNoWeirdness ? \"en\" : \"intl\";\n  };\n  _proto4.clone = function clone(alts) {\n    if (!alts || Object.getOwnPropertyNames(alts).length === 0) {\n      return this;\n    } else {\n      return Locale.create(alts.locale || this.specifiedLocale, alts.numberingSystem || this.numberingSystem, alts.outputCalendar || this.outputCalendar, validateWeekSettings(alts.weekSettings) || this.weekSettings, alts.defaultToEN || false);\n    }\n  };\n  _proto4.redefaultToEN = function redefaultToEN(alts) {\n    if (alts === void 0) {\n      alts = {};\n    }\n    return this.clone(_extends({}, alts, {\n      defaultToEN: true\n    }));\n  };\n  _proto4.redefaultToSystem = function redefaultToSystem(alts) {\n    if (alts === void 0) {\n      alts = {};\n    }\n    return this.clone(_extends({}, alts, {\n      defaultToEN: false\n    }));\n  };\n  _proto4.months = function months$1(length, format) {\n    var _this2 = this;\n    if (format === void 0) {\n      format = false;\n    }\n    return listStuff(this, length, months, function () {\n      var intl = format ? {\n          month: length,\n          day: \"numeric\"\n        } : {\n          month: length\n        },\n        formatStr = format ? \"format\" : \"standalone\";\n      if (!_this2.monthsCache[formatStr][length]) {\n        _this2.monthsCache[formatStr][length] = mapMonths(function (dt) {\n          return _this2.extract(dt, intl, \"month\");\n        });\n      }\n      return _this2.monthsCache[formatStr][length];\n    });\n  };\n  _proto4.weekdays = function weekdays$1(length, format) {\n    var _this3 = this;\n    if (format === void 0) {\n      format = false;\n    }\n    return listStuff(this, length, weekdays, function () {\n      var intl = format ? {\n          weekday: length,\n          year: \"numeric\",\n          month: \"long\",\n          day: \"numeric\"\n        } : {\n          weekday: length\n        },\n        formatStr = format ? \"format\" : \"standalone\";\n      if (!_this3.weekdaysCache[formatStr][length]) {\n        _this3.weekdaysCache[formatStr][length] = mapWeekdays(function (dt) {\n          return _this3.extract(dt, intl, \"weekday\");\n        });\n      }\n      return _this3.weekdaysCache[formatStr][length];\n    });\n  };\n  _proto4.meridiems = function meridiems$1() {\n    var _this4 = this;\n    return listStuff(this, undefined, function () {\n      return meridiems;\n    }, function () {\n      // In theory there could be aribitrary day periods. We're gonna assume there are exactly two\n      // for AM and PM. This is probably wrong, but it's makes parsing way easier.\n      if (!_this4.meridiemCache) {\n        var intl = {\n          hour: \"numeric\",\n          hourCycle: \"h12\"\n        };\n        _this4.meridiemCache = [DateTime.utc(2016, 11, 13, 9), DateTime.utc(2016, 11, 13, 19)].map(function (dt) {\n          return _this4.extract(dt, intl, \"dayperiod\");\n        });\n      }\n      return _this4.meridiemCache;\n    });\n  };\n  _proto4.eras = function eras$1(length) {\n    var _this5 = this;\n    return listStuff(this, length, eras, function () {\n      var intl = {\n        era: length\n      };\n\n      // This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates\n      // to definitely enumerate them.\n      if (!_this5.eraCache[length]) {\n        _this5.eraCache[length] = [DateTime.utc(-40, 1, 1), DateTime.utc(2017, 1, 1)].map(function (dt) {\n          return _this5.extract(dt, intl, \"era\");\n        });\n      }\n      return _this5.eraCache[length];\n    });\n  };\n  _proto4.extract = function extract(dt, intlOpts, field) {\n    var df = this.dtFormatter(dt, intlOpts),\n      results = df.formatToParts(),\n      matching = results.find(function (m) {\n        return m.type.toLowerCase() === field;\n      });\n    return matching ? matching.value : null;\n  };\n  _proto4.numberFormatter = function numberFormatter(opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    // this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave)\n    // (in contrast, the rest of the condition is used heavily)\n    return new PolyNumberFormatter(this.intl, opts.forceSimple || this.fastNumbers, opts);\n  };\n  _proto4.dtFormatter = function dtFormatter(dt, intlOpts) {\n    if (intlOpts === void 0) {\n      intlOpts = {};\n    }\n    return new PolyDateFormatter(dt, this.intl, intlOpts);\n  };\n  _proto4.relFormatter = function relFormatter(opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    return new PolyRelFormatter(this.intl, this.isEnglish(), opts);\n  };\n  _proto4.listFormatter = function listFormatter(opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    return getCachedLF(this.intl, opts);\n  };\n  _proto4.isEnglish = function isEnglish() {\n    return this.locale === \"en\" || this.locale.toLowerCase() === \"en-us\" || new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith(\"en-us\");\n  };\n  _proto4.getWeekSettings = function getWeekSettings() {\n    if (this.weekSettings) {\n      return this.weekSettings;\n    } else if (!hasLocaleWeekInfo()) {\n      return fallbackWeekSettings;\n    } else {\n      return getCachedWeekInfo(this.locale);\n    }\n  };\n  _proto4.getStartOfWeek = function getStartOfWeek() {\n    return this.getWeekSettings().firstDay;\n  };\n  _proto4.getMinDaysInFirstWeek = function getMinDaysInFirstWeek() {\n    return this.getWeekSettings().minimalDays;\n  };\n  _proto4.getWeekendDays = function getWeekendDays() {\n    return this.getWeekSettings().weekend;\n  };\n  _proto4.equals = function equals(other) {\n    return this.locale === other.locale && this.numberingSystem === other.numberingSystem && this.outputCalendar === other.outputCalendar;\n  };\n  _createClass(Locale, [{\n    key: \"fastNumbers\",\n    get: function get() {\n      if (this.fastNumbersCached == null) {\n        this.fastNumbersCached = supportsFastNumbers(this);\n      }\n      return this.fastNumbersCached;\n    }\n  }]);\n  return Locale;\n}();\n\nvar singleton = null;\n\n/**\n * A zone with a fixed offset (meaning no DST)\n * @implements {Zone}\n */\nvar FixedOffsetZone = /*#__PURE__*/function (_Zone) {\n  _inheritsLoose(FixedOffsetZone, _Zone);\n  /**\n   * Get an instance with a specified offset\n   * @param {number} offset - The offset in minutes\n   * @return {FixedOffsetZone}\n   */\n  FixedOffsetZone.instance = function instance(offset) {\n    return offset === 0 ? FixedOffsetZone.utcInstance : new FixedOffsetZone(offset);\n  }\n\n  /**\n   * Get an instance of FixedOffsetZone from a UTC offset string, like \"UTC+6\"\n   * @param {string} s - The offset string to parse\n   * @example FixedOffsetZone.parseSpecifier(\"UTC+6\")\n   * @example FixedOffsetZone.parseSpecifier(\"UTC+06\")\n   * @example FixedOffsetZone.parseSpecifier(\"UTC-6:00\")\n   * @return {FixedOffsetZone}\n   */;\n  FixedOffsetZone.parseSpecifier = function parseSpecifier(s) {\n    if (s) {\n      var r = s.match(/^utc(?:([+-]\\d{1,2})(?::(\\d{2}))?)?$/i);\n      if (r) {\n        return new FixedOffsetZone(signedOffset(r[1], r[2]));\n      }\n    }\n    return null;\n  };\n  function FixedOffsetZone(offset) {\n    var _this;\n    _this = _Zone.call(this) || this;\n    /** @private **/\n    _this.fixed = offset;\n    return _this;\n  }\n\n  /** @override **/\n  var _proto = FixedOffsetZone.prototype;\n  /** @override **/\n  _proto.offsetName = function offsetName() {\n    return this.name;\n  }\n\n  /** @override **/;\n  _proto.formatOffset = function formatOffset$1(ts, format) {\n    return formatOffset(this.fixed, format);\n  }\n\n  /** @override **/;\n  /** @override **/\n  _proto.offset = function offset() {\n    return this.fixed;\n  }\n\n  /** @override **/;\n  _proto.equals = function equals(otherZone) {\n    return otherZone.type === \"fixed\" && otherZone.fixed === this.fixed;\n  }\n\n  /** @override **/;\n  _createClass(FixedOffsetZone, [{\n    key: \"type\",\n    get: function get() {\n      return \"fixed\";\n    }\n\n    /** @override **/\n  }, {\n    key: \"name\",\n    get: function get() {\n      return this.fixed === 0 ? \"UTC\" : \"UTC\" + formatOffset(this.fixed, \"narrow\");\n    }\n  }, {\n    key: \"ianaName\",\n    get: function get() {\n      if (this.fixed === 0) {\n        return \"Etc/UTC\";\n      } else {\n        return \"Etc/GMT\" + formatOffset(-this.fixed, \"narrow\");\n      }\n    }\n  }, {\n    key: \"isUniversal\",\n    get: function get() {\n      return true;\n    }\n  }, {\n    key: \"isValid\",\n    get: function get() {\n      return true;\n    }\n  }], [{\n    key: \"utcInstance\",\n    get:\n    /**\n     * Get a singleton instance of UTC\n     * @return {FixedOffsetZone}\n     */\n    function get() {\n      if (singleton === null) {\n        singleton = new FixedOffsetZone(0);\n      }\n      return singleton;\n    }\n  }]);\n  return FixedOffsetZone;\n}(Zone);\n\n/**\n * A zone that failed to parse. You should never need to instantiate this.\n * @implements {Zone}\n */\nvar InvalidZone = /*#__PURE__*/function (_Zone) {\n  _inheritsLoose(InvalidZone, _Zone);\n  function InvalidZone(zoneName) {\n    var _this;\n    _this = _Zone.call(this) || this;\n    /**  @private */\n    _this.zoneName = zoneName;\n    return _this;\n  }\n\n  /** @override **/\n  var _proto = InvalidZone.prototype;\n  /** @override **/\n  _proto.offsetName = function offsetName() {\n    return null;\n  }\n\n  /** @override **/;\n  _proto.formatOffset = function formatOffset() {\n    return \"\";\n  }\n\n  /** @override **/;\n  _proto.offset = function offset() {\n    return NaN;\n  }\n\n  /** @override **/;\n  _proto.equals = function equals() {\n    return false;\n  }\n\n  /** @override **/;\n  _createClass(InvalidZone, [{\n    key: \"type\",\n    get: function get() {\n      return \"invalid\";\n    }\n\n    /** @override **/\n  }, {\n    key: \"name\",\n    get: function get() {\n      return this.zoneName;\n    }\n\n    /** @override **/\n  }, {\n    key: \"isUniversal\",\n    get: function get() {\n      return false;\n    }\n  }, {\n    key: \"isValid\",\n    get: function get() {\n      return false;\n    }\n  }]);\n  return InvalidZone;\n}(Zone);\n\n/**\n * @private\n */\nfunction normalizeZone(input, defaultZone) {\n  if (isUndefined(input) || input === null) {\n    return defaultZone;\n  } else if (input instanceof Zone) {\n    return input;\n  } else if (isString(input)) {\n    var lowered = input.toLowerCase();\n    if (lowered === \"default\") return defaultZone;else if (lowered === \"local\" || lowered === \"system\") return SystemZone.instance;else if (lowered === \"utc\" || lowered === \"gmt\") return FixedOffsetZone.utcInstance;else return FixedOffsetZone.parseSpecifier(lowered) || IANAZone.create(input);\n  } else if (isNumber(input)) {\n    return FixedOffsetZone.instance(input);\n  } else if (typeof input === \"object\" && \"offset\" in input && typeof input.offset === \"function\") {\n    // This is dumb, but the instanceof check above doesn't seem to really work\n    // so we're duck checking it\n    return input;\n  } else {\n    return new InvalidZone(input);\n  }\n}\n\nvar now = function now() {\n    return Date.now();\n  },\n  defaultZone = \"system\",\n  defaultLocale = null,\n  defaultNumberingSystem = null,\n  defaultOutputCalendar = null,\n  twoDigitCutoffYear = 60,\n  throwOnInvalid,\n  defaultWeekSettings = null;\n\n/**\n * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here.\n */\nvar Settings = /*#__PURE__*/function () {\n  function Settings() {}\n  /**\n   * Reset Luxon's global caches. Should only be necessary in testing scenarios.\n   * @return {void}\n   */\n  Settings.resetCaches = function resetCaches() {\n    Locale.resetCache();\n    IANAZone.resetCache();\n  };\n  _createClass(Settings, null, [{\n    key: \"now\",\n    get:\n    /**\n     * Get the callback for returning the current timestamp.\n     * @type {function}\n     */\n    function get() {\n      return now;\n    }\n\n    /**\n     * Set the callback for returning the current timestamp.\n     * The function should return a number, which will be interpreted as an Epoch millisecond count\n     * @type {function}\n     * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future\n     * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time\n     */,\n    set: function set(n) {\n      now = n;\n    }\n\n    /**\n     * Set the default time zone to create DateTimes in. Does not affect existing instances.\n     * Use the value \"system\" to reset this value to the system's time zone.\n     * @type {string}\n     */\n  }, {\n    key: \"defaultZone\",\n    get:\n    /**\n     * Get the default time zone object currently used to create DateTimes. Does not affect existing instances.\n     * The default value is the system's time zone (the one set on the machine that runs this code).\n     * @type {Zone}\n     */\n    function get() {\n      return normalizeZone(defaultZone, SystemZone.instance);\n    }\n\n    /**\n     * Get the default locale to create DateTimes with. Does not affect existing instances.\n     * @type {string}\n     */,\n    set: function set(zone) {\n      defaultZone = zone;\n    }\n  }, {\n    key: \"defaultLocale\",\n    get: function get() {\n      return defaultLocale;\n    }\n\n    /**\n     * Set the default locale to create DateTimes with. Does not affect existing instances.\n     * @type {string}\n     */,\n    set: function set(locale) {\n      defaultLocale = locale;\n    }\n\n    /**\n     * Get the default numbering system to create DateTimes with. Does not affect existing instances.\n     * @type {string}\n     */\n  }, {\n    key: \"defaultNumberingSystem\",\n    get: function get() {\n      return defaultNumberingSystem;\n    }\n\n    /**\n     * Set the default numbering system to create DateTimes with. Does not affect existing instances.\n     * @type {string}\n     */,\n    set: function set(numberingSystem) {\n      defaultNumberingSystem = numberingSystem;\n    }\n\n    /**\n     * Get the default output calendar to create DateTimes with. Does not affect existing instances.\n     * @type {string}\n     */\n  }, {\n    key: \"defaultOutputCalendar\",\n    get: function get() {\n      return defaultOutputCalendar;\n    }\n\n    /**\n     * Set the default output calendar to create DateTimes with. Does not affect existing instances.\n     * @type {string}\n     */,\n    set: function set(outputCalendar) {\n      defaultOutputCalendar = outputCalendar;\n    }\n\n    /**\n     * @typedef {Object} WeekSettings\n     * @property {number} firstDay\n     * @property {number} minimalDays\n     * @property {number[]} weekend\n     */\n\n    /**\n     * @return {WeekSettings|null}\n     */\n  }, {\n    key: \"defaultWeekSettings\",\n    get: function get() {\n      return defaultWeekSettings;\n    }\n\n    /**\n     * Allows overriding the default locale week settings, i.e. the start of the week, the weekend and\n     * how many days are required in the first week of a year.\n     * Does not affect existing instances.\n     *\n     * @param {WeekSettings|null} weekSettings\n     */,\n    set: function set(weekSettings) {\n      defaultWeekSettings = validateWeekSettings(weekSettings);\n    }\n\n    /**\n     * Get the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.\n     * @type {number}\n     */\n  }, {\n    key: \"twoDigitCutoffYear\",\n    get: function get() {\n      return twoDigitCutoffYear;\n    }\n\n    /**\n     * Set the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.\n     * @type {number}\n     * @example Settings.twoDigitCutoffYear = 0 // cut-off year is 0, so all 'yy' are interpreted as current century\n     * @example Settings.twoDigitCutoffYear = 50 // '49' -> 1949; '50' -> 2050\n     * @example Settings.twoDigitCutoffYear = 1950 // interpreted as 50\n     * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpreted as 50\n     */,\n    set: function set(cutoffYear) {\n      twoDigitCutoffYear = cutoffYear % 100;\n    }\n\n    /**\n     * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n     * @type {boolean}\n     */\n  }, {\n    key: \"throwOnInvalid\",\n    get: function get() {\n      return throwOnInvalid;\n    }\n\n    /**\n     * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n     * @type {boolean}\n     */,\n    set: function set(t) {\n      throwOnInvalid = t;\n    }\n  }]);\n  return Settings;\n}();\n\nvar Invalid = /*#__PURE__*/function () {\n  function Invalid(reason, explanation) {\n    this.reason = reason;\n    this.explanation = explanation;\n  }\n  var _proto = Invalid.prototype;\n  _proto.toMessage = function toMessage() {\n    if (this.explanation) {\n      return this.reason + \": \" + this.explanation;\n    } else {\n      return this.reason;\n    }\n  };\n  return Invalid;\n}();\n\nvar nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],\n  leapLadder = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];\nfunction unitOutOfRange(unit, value) {\n  return new Invalid(\"unit out of range\", \"you specified \" + value + \" (of type \" + typeof value + \") as a \" + unit + \", which is invalid\");\n}\nfunction dayOfWeek(year, month, day) {\n  var d = new Date(Date.UTC(year, month - 1, day));\n  if (year < 100 && year >= 0) {\n    d.setUTCFullYear(d.getUTCFullYear() - 1900);\n  }\n  var js = d.getUTCDay();\n  return js === 0 ? 7 : js;\n}\nfunction computeOrdinal(year, month, day) {\n  return day + (isLeapYear(year) ? leapLadder : nonLeapLadder)[month - 1];\n}\nfunction uncomputeOrdinal(year, ordinal) {\n  var table = isLeapYear(year) ? leapLadder : nonLeapLadder,\n    month0 = table.findIndex(function (i) {\n      return i < ordinal;\n    }),\n    day = ordinal - table[month0];\n  return {\n    month: month0 + 1,\n    day: day\n  };\n}\nfunction isoWeekdayToLocal(isoWeekday, startOfWeek) {\n  return (isoWeekday - startOfWeek + 7) % 7 + 1;\n}\n\n/**\n * @private\n */\n\nfunction gregorianToWeek(gregObj, minDaysInFirstWeek, startOfWeek) {\n  if (minDaysInFirstWeek === void 0) {\n    minDaysInFirstWeek = 4;\n  }\n  if (startOfWeek === void 0) {\n    startOfWeek = 1;\n  }\n  var year = gregObj.year,\n    month = gregObj.month,\n    day = gregObj.day,\n    ordinal = computeOrdinal(year, month, day),\n    weekday = isoWeekdayToLocal(dayOfWeek(year, month, day), startOfWeek);\n  var weekNumber = Math.floor((ordinal - weekday + 14 - minDaysInFirstWeek) / 7),\n    weekYear;\n  if (weekNumber < 1) {\n    weekYear = year - 1;\n    weekNumber = weeksInWeekYear(weekYear, minDaysInFirstWeek, startOfWeek);\n  } else if (weekNumber > weeksInWeekYear(year, minDaysInFirstWeek, startOfWeek)) {\n    weekYear = year + 1;\n    weekNumber = 1;\n  } else {\n    weekYear = year;\n  }\n  return _extends({\n    weekYear: weekYear,\n    weekNumber: weekNumber,\n    weekday: weekday\n  }, timeObject(gregObj));\n}\nfunction weekToGregorian(weekData, minDaysInFirstWeek, startOfWeek) {\n  if (minDaysInFirstWeek === void 0) {\n    minDaysInFirstWeek = 4;\n  }\n  if (startOfWeek === void 0) {\n    startOfWeek = 1;\n  }\n  var weekYear = weekData.weekYear,\n    weekNumber = weekData.weekNumber,\n    weekday = weekData.weekday,\n    weekdayOfJan4 = isoWeekdayToLocal(dayOfWeek(weekYear, 1, minDaysInFirstWeek), startOfWeek),\n    yearInDays = daysInYear(weekYear);\n  var ordinal = weekNumber * 7 + weekday - weekdayOfJan4 - 7 + minDaysInFirstWeek,\n    year;\n  if (ordinal < 1) {\n    year = weekYear - 1;\n    ordinal += daysInYear(year);\n  } else if (ordinal > yearInDays) {\n    year = weekYear + 1;\n    ordinal -= daysInYear(weekYear);\n  } else {\n    year = weekYear;\n  }\n  var _uncomputeOrdinal = uncomputeOrdinal(year, ordinal),\n    month = _uncomputeOrdinal.month,\n    day = _uncomputeOrdinal.day;\n  return _extends({\n    year: year,\n    month: month,\n    day: day\n  }, timeObject(weekData));\n}\nfunction gregorianToOrdinal(gregData) {\n  var year = gregData.year,\n    month = gregData.month,\n    day = gregData.day;\n  var ordinal = computeOrdinal(year, month, day);\n  return _extends({\n    year: year,\n    ordinal: ordinal\n  }, timeObject(gregData));\n}\nfunction ordinalToGregorian(ordinalData) {\n  var year = ordinalData.year,\n    ordinal = ordinalData.ordinal;\n  var _uncomputeOrdinal2 = uncomputeOrdinal(year, ordinal),\n    month = _uncomputeOrdinal2.month,\n    day = _uncomputeOrdinal2.day;\n  return _extends({\n    year: year,\n    month: month,\n    day: day\n  }, timeObject(ordinalData));\n}\n\n/**\n * Check if local week units like localWeekday are used in obj.\n * If so, validates that they are not mixed with ISO week units and then copies them to the normal week unit properties.\n * Modifies obj in-place!\n * @param obj the object values\n */\nfunction usesLocalWeekValues(obj, loc) {\n  var hasLocaleWeekData = !isUndefined(obj.localWeekday) || !isUndefined(obj.localWeekNumber) || !isUndefined(obj.localWeekYear);\n  if (hasLocaleWeekData) {\n    var hasIsoWeekData = !isUndefined(obj.weekday) || !isUndefined(obj.weekNumber) || !isUndefined(obj.weekYear);\n    if (hasIsoWeekData) {\n      throw new ConflictingSpecificationError(\"Cannot mix locale-based week fields with ISO-based week fields\");\n    }\n    if (!isUndefined(obj.localWeekday)) obj.weekday = obj.localWeekday;\n    if (!isUndefined(obj.localWeekNumber)) obj.weekNumber = obj.localWeekNumber;\n    if (!isUndefined(obj.localWeekYear)) obj.weekYear = obj.localWeekYear;\n    delete obj.localWeekday;\n    delete obj.localWeekNumber;\n    delete obj.localWeekYear;\n    return {\n      minDaysInFirstWeek: loc.getMinDaysInFirstWeek(),\n      startOfWeek: loc.getStartOfWeek()\n    };\n  } else {\n    return {\n      minDaysInFirstWeek: 4,\n      startOfWeek: 1\n    };\n  }\n}\nfunction hasInvalidWeekData(obj, minDaysInFirstWeek, startOfWeek) {\n  if (minDaysInFirstWeek === void 0) {\n    minDaysInFirstWeek = 4;\n  }\n  if (startOfWeek === void 0) {\n    startOfWeek = 1;\n  }\n  var validYear = isInteger(obj.weekYear),\n    validWeek = integerBetween(obj.weekNumber, 1, weeksInWeekYear(obj.weekYear, minDaysInFirstWeek, startOfWeek)),\n    validWeekday = integerBetween(obj.weekday, 1, 7);\n  if (!validYear) {\n    return unitOutOfRange(\"weekYear\", obj.weekYear);\n  } else if (!validWeek) {\n    return unitOutOfRange(\"week\", obj.weekNumber);\n  } else if (!validWeekday) {\n    return unitOutOfRange(\"weekday\", obj.weekday);\n  } else return false;\n}\nfunction hasInvalidOrdinalData(obj) {\n  var validYear = isInteger(obj.year),\n    validOrdinal = integerBetween(obj.ordinal, 1, daysInYear(obj.year));\n  if (!validYear) {\n    return unitOutOfRange(\"year\", obj.year);\n  } else if (!validOrdinal) {\n    return unitOutOfRange(\"ordinal\", obj.ordinal);\n  } else return false;\n}\nfunction hasInvalidGregorianData(obj) {\n  var validYear = isInteger(obj.year),\n    validMonth = integerBetween(obj.month, 1, 12),\n    validDay = integerBetween(obj.day, 1, daysInMonth(obj.year, obj.month));\n  if (!validYear) {\n    return unitOutOfRange(\"year\", obj.year);\n  } else if (!validMonth) {\n    return unitOutOfRange(\"month\", obj.month);\n  } else if (!validDay) {\n    return unitOutOfRange(\"day\", obj.day);\n  } else return false;\n}\nfunction hasInvalidTimeData(obj) {\n  var hour = obj.hour,\n    minute = obj.minute,\n    second = obj.second,\n    millisecond = obj.millisecond;\n  var validHour = integerBetween(hour, 0, 23) || hour === 24 && minute === 0 && second === 0 && millisecond === 0,\n    validMinute = integerBetween(minute, 0, 59),\n    validSecond = integerBetween(second, 0, 59),\n    validMillisecond = integerBetween(millisecond, 0, 999);\n  if (!validHour) {\n    return unitOutOfRange(\"hour\", hour);\n  } else if (!validMinute) {\n    return unitOutOfRange(\"minute\", minute);\n  } else if (!validSecond) {\n    return unitOutOfRange(\"second\", second);\n  } else if (!validMillisecond) {\n    return unitOutOfRange(\"millisecond\", millisecond);\n  } else return false;\n}\n\n/**\n * @private\n */\n\n// TYPES\n\nfunction isUndefined(o) {\n  return typeof o === \"undefined\";\n}\nfunction isNumber(o) {\n  return typeof o === \"number\";\n}\nfunction isInteger(o) {\n  return typeof o === \"number\" && o % 1 === 0;\n}\nfunction isString(o) {\n  return typeof o === \"string\";\n}\nfunction isDate(o) {\n  return Object.prototype.toString.call(o) === \"[object Date]\";\n}\n\n// CAPABILITIES\n\nfunction hasRelative() {\n  try {\n    return typeof Intl !== \"undefined\" && !!Intl.RelativeTimeFormat;\n  } catch (e) {\n    return false;\n  }\n}\nfunction hasLocaleWeekInfo() {\n  try {\n    return typeof Intl !== \"undefined\" && !!Intl.Locale && (\"weekInfo\" in Intl.Locale.prototype || \"getWeekInfo\" in Intl.Locale.prototype);\n  } catch (e) {\n    return false;\n  }\n}\n\n// OBJECTS AND ARRAYS\n\nfunction maybeArray(thing) {\n  return Array.isArray(thing) ? thing : [thing];\n}\nfunction bestBy(arr, by, compare) {\n  if (arr.length === 0) {\n    return undefined;\n  }\n  return arr.reduce(function (best, next) {\n    var pair = [by(next), next];\n    if (!best) {\n      return pair;\n    } else if (compare(best[0], pair[0]) === best[0]) {\n      return best;\n    } else {\n      return pair;\n    }\n  }, null)[1];\n}\nfunction pick(obj, keys) {\n  return keys.reduce(function (a, k) {\n    a[k] = obj[k];\n    return a;\n  }, {});\n}\nfunction hasOwnProperty(obj, prop) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\nfunction validateWeekSettings(settings) {\n  if (settings == null) {\n    return null;\n  } else if (typeof settings !== \"object\") {\n    throw new InvalidArgumentError(\"Week settings must be an object\");\n  } else {\n    if (!integerBetween(settings.firstDay, 1, 7) || !integerBetween(settings.minimalDays, 1, 7) || !Array.isArray(settings.weekend) || settings.weekend.some(function (v) {\n      return !integerBetween(v, 1, 7);\n    })) {\n      throw new InvalidArgumentError(\"Invalid week settings\");\n    }\n    return {\n      firstDay: settings.firstDay,\n      minimalDays: settings.minimalDays,\n      weekend: Array.from(settings.weekend)\n    };\n  }\n}\n\n// NUMBERS AND STRINGS\n\nfunction integerBetween(thing, bottom, top) {\n  return isInteger(thing) && thing >= bottom && thing <= top;\n}\n\n// x % n but takes the sign of n instead of x\nfunction floorMod(x, n) {\n  return x - n * Math.floor(x / n);\n}\nfunction padStart(input, n) {\n  if (n === void 0) {\n    n = 2;\n  }\n  var isNeg = input < 0;\n  var padded;\n  if (isNeg) {\n    padded = \"-\" + (\"\" + -input).padStart(n, \"0\");\n  } else {\n    padded = (\"\" + input).padStart(n, \"0\");\n  }\n  return padded;\n}\nfunction parseInteger(string) {\n  if (isUndefined(string) || string === null || string === \"\") {\n    return undefined;\n  } else {\n    return parseInt(string, 10);\n  }\n}\nfunction parseFloating(string) {\n  if (isUndefined(string) || string === null || string === \"\") {\n    return undefined;\n  } else {\n    return parseFloat(string);\n  }\n}\nfunction parseMillis(fraction) {\n  // Return undefined (instead of 0) in these cases, where fraction is not set\n  if (isUndefined(fraction) || fraction === null || fraction === \"\") {\n    return undefined;\n  } else {\n    var f = parseFloat(\"0.\" + fraction) * 1000;\n    return Math.floor(f);\n  }\n}\nfunction roundTo(number, digits, towardZero) {\n  if (towardZero === void 0) {\n    towardZero = false;\n  }\n  var factor = Math.pow(10, digits),\n    rounder = towardZero ? Math.trunc : Math.round;\n  return rounder(number * factor) / factor;\n}\n\n// DATE BASICS\n\nfunction isLeapYear(year) {\n  return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\nfunction daysInYear(year) {\n  return isLeapYear(year) ? 366 : 365;\n}\nfunction daysInMonth(year, month) {\n  var modMonth = floorMod(month - 1, 12) + 1,\n    modYear = year + (month - modMonth) / 12;\n  if (modMonth === 2) {\n    return isLeapYear(modYear) ? 29 : 28;\n  } else {\n    return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][modMonth - 1];\n  }\n}\n\n// convert a calendar object to a local timestamp (epoch, but with the offset baked in)\nfunction objToLocalTS(obj) {\n  var d = Date.UTC(obj.year, obj.month - 1, obj.day, obj.hour, obj.minute, obj.second, obj.millisecond);\n\n  // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that\n  if (obj.year < 100 && obj.year >= 0) {\n    d = new Date(d);\n    // set the month and day again, this is necessary because year 2000 is a leap year, but year 100 is not\n    // so if obj.year is in 99, but obj.day makes it roll over into year 100,\n    // the calculations done by Date.UTC are using year 2000 - which is incorrect\n    d.setUTCFullYear(obj.year, obj.month - 1, obj.day);\n  }\n  return +d;\n}\n\n// adapted from moment.js: https://github.com/moment/moment/blob/000ac1800e620f770f4eb31b5ae908f6167b0ab2/src/lib/units/week-calendar-utils.js\nfunction firstWeekOffset(year, minDaysInFirstWeek, startOfWeek) {\n  var fwdlw = isoWeekdayToLocal(dayOfWeek(year, 1, minDaysInFirstWeek), startOfWeek);\n  return -fwdlw + minDaysInFirstWeek - 1;\n}\nfunction weeksInWeekYear(weekYear, minDaysInFirstWeek, startOfWeek) {\n  if (minDaysInFirstWeek === void 0) {\n    minDaysInFirstWeek = 4;\n  }\n  if (startOfWeek === void 0) {\n    startOfWeek = 1;\n  }\n  var weekOffset = firstWeekOffset(weekYear, minDaysInFirstWeek, startOfWeek);\n  var weekOffsetNext = firstWeekOffset(weekYear + 1, minDaysInFirstWeek, startOfWeek);\n  return (daysInYear(weekYear) - weekOffset + weekOffsetNext) / 7;\n}\nfunction untruncateYear(year) {\n  if (year > 99) {\n    return year;\n  } else return year > Settings.twoDigitCutoffYear ? 1900 + year : 2000 + year;\n}\n\n// PARSING\n\nfunction parseZoneInfo(ts, offsetFormat, locale, timeZone) {\n  if (timeZone === void 0) {\n    timeZone = null;\n  }\n  var date = new Date(ts),\n    intlOpts = {\n      hourCycle: \"h23\",\n      year: \"numeric\",\n      month: \"2-digit\",\n      day: \"2-digit\",\n      hour: \"2-digit\",\n      minute: \"2-digit\"\n    };\n  if (timeZone) {\n    intlOpts.timeZone = timeZone;\n  }\n  var modified = _extends({\n    timeZoneName: offsetFormat\n  }, intlOpts);\n  var parsed = new Intl.DateTimeFormat(locale, modified).formatToParts(date).find(function (m) {\n    return m.type.toLowerCase() === \"timezonename\";\n  });\n  return parsed ? parsed.value : null;\n}\n\n// signedOffset('-5', '30') -> -330\nfunction signedOffset(offHourStr, offMinuteStr) {\n  var offHour = parseInt(offHourStr, 10);\n\n  // don't || this because we want to preserve -0\n  if (Number.isNaN(offHour)) {\n    offHour = 0;\n  }\n  var offMin = parseInt(offMinuteStr, 10) || 0,\n    offMinSigned = offHour < 0 || Object.is(offHour, -0) ? -offMin : offMin;\n  return offHour * 60 + offMinSigned;\n}\n\n// COERCION\n\nfunction asNumber(value) {\n  var numericValue = Number(value);\n  if (typeof value === \"boolean\" || value === \"\" || Number.isNaN(numericValue)) throw new InvalidArgumentError(\"Invalid unit value \" + value);\n  return numericValue;\n}\nfunction normalizeObject(obj, normalizer) {\n  var normalized = {};\n  for (var u in obj) {\n    if (hasOwnProperty(obj, u)) {\n      var v = obj[u];\n      if (v === undefined || v === null) continue;\n      normalized[normalizer(u)] = asNumber(v);\n    }\n  }\n  return normalized;\n}\nfunction formatOffset(offset, format) {\n  var hours = Math.trunc(Math.abs(offset / 60)),\n    minutes = Math.trunc(Math.abs(offset % 60)),\n    sign = offset >= 0 ? \"+\" : \"-\";\n  switch (format) {\n    case \"short\":\n      return \"\" + sign + padStart(hours, 2) + \":\" + padStart(minutes, 2);\n    case \"narrow\":\n      return \"\" + sign + hours + (minutes > 0 ? \":\" + minutes : \"\");\n    case \"techie\":\n      return \"\" + sign + padStart(hours, 2) + padStart(minutes, 2);\n    default:\n      throw new RangeError(\"Value format \" + format + \" is out of range for property format\");\n  }\n}\nfunction timeObject(obj) {\n  return pick(obj, [\"hour\", \"minute\", \"second\", \"millisecond\"]);\n}\n\n/**\n * @private\n */\n\nvar monthsLong = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\nvar monthsShort = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nvar monthsNarrow = [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"];\nfunction months(length) {\n  switch (length) {\n    case \"narrow\":\n      return [].concat(monthsNarrow);\n    case \"short\":\n      return [].concat(monthsShort);\n    case \"long\":\n      return [].concat(monthsLong);\n    case \"numeric\":\n      return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"];\n    case \"2-digit\":\n      return [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"];\n    default:\n      return null;\n  }\n}\nvar weekdaysLong = [\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"];\nvar weekdaysShort = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\nvar weekdaysNarrow = [\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"];\nfunction weekdays(length) {\n  switch (length) {\n    case \"narrow\":\n      return [].concat(weekdaysNarrow);\n    case \"short\":\n      return [].concat(weekdaysShort);\n    case \"long\":\n      return [].concat(weekdaysLong);\n    case \"numeric\":\n      return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\"];\n    default:\n      return null;\n  }\n}\nvar meridiems = [\"AM\", \"PM\"];\nvar erasLong = [\"Before Christ\", \"Anno Domini\"];\nvar erasShort = [\"BC\", \"AD\"];\nvar erasNarrow = [\"B\", \"A\"];\nfunction eras(length) {\n  switch (length) {\n    case \"narrow\":\n      return [].concat(erasNarrow);\n    case \"short\":\n      return [].concat(erasShort);\n    case \"long\":\n      return [].concat(erasLong);\n    default:\n      return null;\n  }\n}\nfunction meridiemForDateTime(dt) {\n  return meridiems[dt.hour < 12 ? 0 : 1];\n}\nfunction weekdayForDateTime(dt, length) {\n  return weekdays(length)[dt.weekday - 1];\n}\nfunction monthForDateTime(dt, length) {\n  return months(length)[dt.month - 1];\n}\nfunction eraForDateTime(dt, length) {\n  return eras(length)[dt.year < 0 ? 0 : 1];\n}\nfunction formatRelativeTime(unit, count, numeric, narrow) {\n  if (numeric === void 0) {\n    numeric = \"always\";\n  }\n  if (narrow === void 0) {\n    narrow = false;\n  }\n  var units = {\n    years: [\"year\", \"yr.\"],\n    quarters: [\"quarter\", \"qtr.\"],\n    months: [\"month\", \"mo.\"],\n    weeks: [\"week\", \"wk.\"],\n    days: [\"day\", \"day\", \"days\"],\n    hours: [\"hour\", \"hr.\"],\n    minutes: [\"minute\", \"min.\"],\n    seconds: [\"second\", \"sec.\"]\n  };\n  var lastable = [\"hours\", \"minutes\", \"seconds\"].indexOf(unit) === -1;\n  if (numeric === \"auto\" && lastable) {\n    var isDay = unit === \"days\";\n    switch (count) {\n      case 1:\n        return isDay ? \"tomorrow\" : \"next \" + units[unit][0];\n      case -1:\n        return isDay ? \"yesterday\" : \"last \" + units[unit][0];\n      case 0:\n        return isDay ? \"today\" : \"this \" + units[unit][0];\n    }\n  }\n\n  var isInPast = Object.is(count, -0) || count < 0,\n    fmtValue = Math.abs(count),\n    singular = fmtValue === 1,\n    lilUnits = units[unit],\n    fmtUnit = narrow ? singular ? lilUnits[1] : lilUnits[2] || lilUnits[1] : singular ? units[unit][0] : unit;\n  return isInPast ? fmtValue + \" \" + fmtUnit + \" ago\" : \"in \" + fmtValue + \" \" + fmtUnit;\n}\n\nfunction stringifyTokens(splits, tokenToString) {\n  var s = \"\";\n  for (var _iterator = _createForOfIteratorHelperLoose(splits), _step; !(_step = _iterator()).done;) {\n    var token = _step.value;\n    if (token.literal) {\n      s += token.val;\n    } else {\n      s += tokenToString(token.val);\n    }\n  }\n  return s;\n}\nvar _macroTokenToFormatOpts = {\n  D: DATE_SHORT,\n  DD: DATE_MED,\n  DDD: DATE_FULL,\n  DDDD: DATE_HUGE,\n  t: TIME_SIMPLE,\n  tt: TIME_WITH_SECONDS,\n  ttt: TIME_WITH_SHORT_OFFSET,\n  tttt: TIME_WITH_LONG_OFFSET,\n  T: TIME_24_SIMPLE,\n  TT: TIME_24_WITH_SECONDS,\n  TTT: TIME_24_WITH_SHORT_OFFSET,\n  TTTT: TIME_24_WITH_LONG_OFFSET,\n  f: DATETIME_SHORT,\n  ff: DATETIME_MED,\n  fff: DATETIME_FULL,\n  ffff: DATETIME_HUGE,\n  F: DATETIME_SHORT_WITH_SECONDS,\n  FF: DATETIME_MED_WITH_SECONDS,\n  FFF: DATETIME_FULL_WITH_SECONDS,\n  FFFF: DATETIME_HUGE_WITH_SECONDS\n};\n\n/**\n * @private\n */\nvar Formatter = /*#__PURE__*/function () {\n  Formatter.create = function create(locale, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    return new Formatter(locale, opts);\n  };\n  Formatter.parseFormat = function parseFormat(fmt) {\n    // white-space is always considered a literal in user-provided formats\n    // the \" \" token has a special meaning (see unitForToken)\n\n    var current = null,\n      currentFull = \"\",\n      bracketed = false;\n    var splits = [];\n    for (var i = 0; i < fmt.length; i++) {\n      var c = fmt.charAt(i);\n      if (c === \"'\") {\n        if (currentFull.length > 0) {\n          splits.push({\n            literal: bracketed || /^\\s+$/.test(currentFull),\n            val: currentFull\n          });\n        }\n        current = null;\n        currentFull = \"\";\n        bracketed = !bracketed;\n      } else if (bracketed) {\n        currentFull += c;\n      } else if (c === current) {\n        currentFull += c;\n      } else {\n        if (currentFull.length > 0) {\n          splits.push({\n            literal: /^\\s+$/.test(currentFull),\n            val: currentFull\n          });\n        }\n        currentFull = c;\n        current = c;\n      }\n    }\n    if (currentFull.length > 0) {\n      splits.push({\n        literal: bracketed || /^\\s+$/.test(currentFull),\n        val: currentFull\n      });\n    }\n    return splits;\n  };\n  Formatter.macroTokenToFormatOpts = function macroTokenToFormatOpts(token) {\n    return _macroTokenToFormatOpts[token];\n  };\n  function Formatter(locale, formatOpts) {\n    this.opts = formatOpts;\n    this.loc = locale;\n    this.systemLoc = null;\n  }\n  var _proto = Formatter.prototype;\n  _proto.formatWithSystemDefault = function formatWithSystemDefault(dt, opts) {\n    if (this.systemLoc === null) {\n      this.systemLoc = this.loc.redefaultToSystem();\n    }\n    var df = this.systemLoc.dtFormatter(dt, _extends({}, this.opts, opts));\n    return df.format();\n  };\n  _proto.dtFormatter = function dtFormatter(dt, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    return this.loc.dtFormatter(dt, _extends({}, this.opts, opts));\n  };\n  _proto.formatDateTime = function formatDateTime(dt, opts) {\n    return this.dtFormatter(dt, opts).format();\n  };\n  _proto.formatDateTimeParts = function formatDateTimeParts(dt, opts) {\n    return this.dtFormatter(dt, opts).formatToParts();\n  };\n  _proto.formatInterval = function formatInterval(interval, opts) {\n    var df = this.dtFormatter(interval.start, opts);\n    return df.dtf.formatRange(interval.start.toJSDate(), interval.end.toJSDate());\n  };\n  _proto.resolvedOptions = function resolvedOptions(dt, opts) {\n    return this.dtFormatter(dt, opts).resolvedOptions();\n  };\n  _proto.num = function num(n, p) {\n    if (p === void 0) {\n      p = 0;\n    }\n    // we get some perf out of doing this here, annoyingly\n    if (this.opts.forceSimple) {\n      return padStart(n, p);\n    }\n    var opts = _extends({}, this.opts);\n    if (p > 0) {\n      opts.padTo = p;\n    }\n    return this.loc.numberFormatter(opts).format(n);\n  };\n  _proto.formatDateTimeFromString = function formatDateTimeFromString(dt, fmt) {\n    var _this = this;\n    var knownEnglish = this.loc.listingMode() === \"en\",\n      useDateTimeFormatter = this.loc.outputCalendar && this.loc.outputCalendar !== \"gregory\",\n      string = function string(opts, extract) {\n        return _this.loc.extract(dt, opts, extract);\n      },\n      formatOffset = function formatOffset(opts) {\n        if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) {\n          return \"Z\";\n        }\n        return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : \"\";\n      },\n      meridiem = function meridiem() {\n        return knownEnglish ? meridiemForDateTime(dt) : string({\n          hour: \"numeric\",\n          hourCycle: \"h12\"\n        }, \"dayperiod\");\n      },\n      month = function month(length, standalone) {\n        return knownEnglish ? monthForDateTime(dt, length) : string(standalone ? {\n          month: length\n        } : {\n          month: length,\n          day: \"numeric\"\n        }, \"month\");\n      },\n      weekday = function weekday(length, standalone) {\n        return knownEnglish ? weekdayForDateTime(dt, length) : string(standalone ? {\n          weekday: length\n        } : {\n          weekday: length,\n          month: \"long\",\n          day: \"numeric\"\n        }, \"weekday\");\n      },\n      maybeMacro = function maybeMacro(token) {\n        var formatOpts = Formatter.macroTokenToFormatOpts(token);\n        if (formatOpts) {\n          return _this.formatWithSystemDefault(dt, formatOpts);\n        } else {\n          return token;\n        }\n      },\n      era = function era(length) {\n        return knownEnglish ? eraForDateTime(dt, length) : string({\n          era: length\n        }, \"era\");\n      },\n      tokenToString = function tokenToString(token) {\n        // Where possible: https://cldr.unicode.org/translation/date-time/date-time-symbols\n        switch (token) {\n          // ms\n          case \"S\":\n            return _this.num(dt.millisecond);\n          case \"u\":\n          // falls through\n          case \"SSS\":\n            return _this.num(dt.millisecond, 3);\n          // seconds\n          case \"s\":\n            return _this.num(dt.second);\n          case \"ss\":\n            return _this.num(dt.second, 2);\n          // fractional seconds\n          case \"uu\":\n            return _this.num(Math.floor(dt.millisecond / 10), 2);\n          case \"uuu\":\n            return _this.num(Math.floor(dt.millisecond / 100));\n          // minutes\n          case \"m\":\n            return _this.num(dt.minute);\n          case \"mm\":\n            return _this.num(dt.minute, 2);\n          // hours\n          case \"h\":\n            return _this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12);\n          case \"hh\":\n            return _this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2);\n          case \"H\":\n            return _this.num(dt.hour);\n          case \"HH\":\n            return _this.num(dt.hour, 2);\n          // offset\n          case \"Z\":\n            // like +6\n            return formatOffset({\n              format: \"narrow\",\n              allowZ: _this.opts.allowZ\n            });\n          case \"ZZ\":\n            // like +06:00\n            return formatOffset({\n              format: \"short\",\n              allowZ: _this.opts.allowZ\n            });\n          case \"ZZZ\":\n            // like +0600\n            return formatOffset({\n              format: \"techie\",\n              allowZ: _this.opts.allowZ\n            });\n          case \"ZZZZ\":\n            // like EST\n            return dt.zone.offsetName(dt.ts, {\n              format: \"short\",\n              locale: _this.loc.locale\n            });\n          case \"ZZZZZ\":\n            // like Eastern Standard Time\n            return dt.zone.offsetName(dt.ts, {\n              format: \"long\",\n              locale: _this.loc.locale\n            });\n          // zone\n          case \"z\":\n            // like America/New_York\n            return dt.zoneName;\n          // meridiems\n          case \"a\":\n            return meridiem();\n          // dates\n          case \"d\":\n            return useDateTimeFormatter ? string({\n              day: \"numeric\"\n            }, \"day\") : _this.num(dt.day);\n          case \"dd\":\n            return useDateTimeFormatter ? string({\n              day: \"2-digit\"\n            }, \"day\") : _this.num(dt.day, 2);\n          // weekdays - standalone\n          case \"c\":\n            // like 1\n            return _this.num(dt.weekday);\n          case \"ccc\":\n            // like 'Tues'\n            return weekday(\"short\", true);\n          case \"cccc\":\n            // like 'Tuesday'\n            return weekday(\"long\", true);\n          case \"ccccc\":\n            // like 'T'\n            return weekday(\"narrow\", true);\n          // weekdays - format\n          case \"E\":\n            // like 1\n            return _this.num(dt.weekday);\n          case \"EEE\":\n            // like 'Tues'\n            return weekday(\"short\", false);\n          case \"EEEE\":\n            // like 'Tuesday'\n            return weekday(\"long\", false);\n          case \"EEEEE\":\n            // like 'T'\n            return weekday(\"narrow\", false);\n          // months - standalone\n          case \"L\":\n            // like 1\n            return useDateTimeFormatter ? string({\n              month: \"numeric\",\n              day: \"numeric\"\n            }, \"month\") : _this.num(dt.month);\n          case \"LL\":\n            // like 01, doesn't seem to work\n            return useDateTimeFormatter ? string({\n              month: \"2-digit\",\n              day: \"numeric\"\n            }, \"month\") : _this.num(dt.month, 2);\n          case \"LLL\":\n            // like Jan\n            return month(\"short\", true);\n          case \"LLLL\":\n            // like January\n            return month(\"long\", true);\n          case \"LLLLL\":\n            // like J\n            return month(\"narrow\", true);\n          // months - format\n          case \"M\":\n            // like 1\n            return useDateTimeFormatter ? string({\n              month: \"numeric\"\n            }, \"month\") : _this.num(dt.month);\n          case \"MM\":\n            // like 01\n            return useDateTimeFormatter ? string({\n              month: \"2-digit\"\n            }, \"month\") : _this.num(dt.month, 2);\n          case \"MMM\":\n            // like Jan\n            return month(\"short\", false);\n          case \"MMMM\":\n            // like January\n            return month(\"long\", false);\n          case \"MMMMM\":\n            // like J\n            return month(\"narrow\", false);\n          // years\n          case \"y\":\n            // like 2014\n            return useDateTimeFormatter ? string({\n              year: \"numeric\"\n            }, \"year\") : _this.num(dt.year);\n          case \"yy\":\n            // like 14\n            return useDateTimeFormatter ? string({\n              year: \"2-digit\"\n            }, \"year\") : _this.num(dt.year.toString().slice(-2), 2);\n          case \"yyyy\":\n            // like 0012\n            return useDateTimeFormatter ? string({\n              year: \"numeric\"\n            }, \"year\") : _this.num(dt.year, 4);\n          case \"yyyyyy\":\n            // like 000012\n            return useDateTimeFormatter ? string({\n              year: \"numeric\"\n            }, \"year\") : _this.num(dt.year, 6);\n          // eras\n          case \"G\":\n            // like AD\n            return era(\"short\");\n          case \"GG\":\n            // like Anno Domini\n            return era(\"long\");\n          case \"GGGGG\":\n            return era(\"narrow\");\n          case \"kk\":\n            return _this.num(dt.weekYear.toString().slice(-2), 2);\n          case \"kkkk\":\n            return _this.num(dt.weekYear, 4);\n          case \"W\":\n            return _this.num(dt.weekNumber);\n          case \"WW\":\n            return _this.num(dt.weekNumber, 2);\n          case \"n\":\n            return _this.num(dt.localWeekNumber);\n          case \"nn\":\n            return _this.num(dt.localWeekNumber, 2);\n          case \"ii\":\n            return _this.num(dt.localWeekYear.toString().slice(-2), 2);\n          case \"iiii\":\n            return _this.num(dt.localWeekYear, 4);\n          case \"o\":\n            return _this.num(dt.ordinal);\n          case \"ooo\":\n            return _this.num(dt.ordinal, 3);\n          case \"q\":\n            // like 1\n            return _this.num(dt.quarter);\n          case \"qq\":\n            // like 01\n            return _this.num(dt.quarter, 2);\n          case \"X\":\n            return _this.num(Math.floor(dt.ts / 1000));\n          case \"x\":\n            return _this.num(dt.ts);\n          default:\n            return maybeMacro(token);\n        }\n      };\n    return stringifyTokens(Formatter.parseFormat(fmt), tokenToString);\n  };\n  _proto.formatDurationFromString = function formatDurationFromString(dur, fmt) {\n    var _this2 = this;\n    var tokenToField = function tokenToField(token) {\n        switch (token[0]) {\n          case \"S\":\n            return \"millisecond\";\n          case \"s\":\n            return \"second\";\n          case \"m\":\n            return \"minute\";\n          case \"h\":\n            return \"hour\";\n          case \"d\":\n            return \"day\";\n          case \"w\":\n            return \"week\";\n          case \"M\":\n            return \"month\";\n          case \"y\":\n            return \"year\";\n          default:\n            return null;\n        }\n      },\n      tokenToString = function tokenToString(lildur) {\n        return function (token) {\n          var mapped = tokenToField(token);\n          if (mapped) {\n            return _this2.num(lildur.get(mapped), token.length);\n          } else {\n            return token;\n          }\n        };\n      },\n      tokens = Formatter.parseFormat(fmt),\n      realTokens = tokens.reduce(function (found, _ref) {\n        var literal = _ref.literal,\n          val = _ref.val;\n        return literal ? found : found.concat(val);\n      }, []),\n      collapsed = dur.shiftTo.apply(dur, realTokens.map(tokenToField).filter(function (t) {\n        return t;\n      }));\n    return stringifyTokens(tokens, tokenToString(collapsed));\n  };\n  return Formatter;\n}();\n\n/*\n * This file handles parsing for well-specified formats. Here's how it works:\n * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match.\n * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object\n * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence.\n * Extractors can take a \"cursor\" representing the offset in the match to look at. This makes it easy to combine extractors.\n * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions.\n * Some extractions are super dumb and simpleParse and fromStrings help DRY them.\n */\n\nvar ianaRegex = /[A-Za-z_+-]{1,256}(?::?\\/[A-Za-z0-9_+-]{1,256}(?:\\/[A-Za-z0-9_+-]{1,256})?)?/;\nfunction combineRegexes() {\n  for (var _len = arguments.length, regexes = new Array(_len), _key = 0; _key < _len; _key++) {\n    regexes[_key] = arguments[_key];\n  }\n  var full = regexes.reduce(function (f, r) {\n    return f + r.source;\n  }, \"\");\n  return RegExp(\"^\" + full + \"$\");\n}\nfunction combineExtractors() {\n  for (var _len2 = arguments.length, extractors = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n    extractors[_key2] = arguments[_key2];\n  }\n  return function (m) {\n    return extractors.reduce(function (_ref, ex) {\n      var mergedVals = _ref[0],\n        mergedZone = _ref[1],\n        cursor = _ref[2];\n      var _ex = ex(m, cursor),\n        val = _ex[0],\n        zone = _ex[1],\n        next = _ex[2];\n      return [_extends({}, mergedVals, val), zone || mergedZone, next];\n    }, [{}, null, 1]).slice(0, 2);\n  };\n}\nfunction parse(s) {\n  if (s == null) {\n    return [null, null];\n  }\n  for (var _len3 = arguments.length, patterns = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n    patterns[_key3 - 1] = arguments[_key3];\n  }\n  for (var _i = 0, _patterns = patterns; _i < _patterns.length; _i++) {\n    var _patterns$_i = _patterns[_i],\n      regex = _patterns$_i[0],\n      extractor = _patterns$_i[1];\n    var m = regex.exec(s);\n    if (m) {\n      return extractor(m);\n    }\n  }\n  return [null, null];\n}\nfunction simpleParse() {\n  for (var _len4 = arguments.length, keys = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n    keys[_key4] = arguments[_key4];\n  }\n  return function (match, cursor) {\n    var ret = {};\n    var i;\n    for (i = 0; i < keys.length; i++) {\n      ret[keys[i]] = parseInteger(match[cursor + i]);\n    }\n    return [ret, null, cursor + i];\n  };\n}\n\n// ISO and SQL parsing\nvar offsetRegex = /(?:(Z)|([+-]\\d\\d)(?::?(\\d\\d))?)/;\nvar isoExtendedZone = \"(?:\" + offsetRegex.source + \"?(?:\\\\[(\" + ianaRegex.source + \")\\\\])?)?\";\nvar isoTimeBaseRegex = /(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:[.,](\\d{1,30}))?)?)?/;\nvar isoTimeRegex = RegExp(\"\" + isoTimeBaseRegex.source + isoExtendedZone);\nvar isoTimeExtensionRegex = RegExp(\"(?:T\" + isoTimeRegex.source + \")?\");\nvar isoYmdRegex = /([+-]\\d{6}|\\d{4})(?:-?(\\d\\d)(?:-?(\\d\\d))?)?/;\nvar isoWeekRegex = /(\\d{4})-?W(\\d\\d)(?:-?(\\d))?/;\nvar isoOrdinalRegex = /(\\d{4})-?(\\d{3})/;\nvar extractISOWeekData = simpleParse(\"weekYear\", \"weekNumber\", \"weekDay\");\nvar extractISOOrdinalData = simpleParse(\"year\", \"ordinal\");\nvar sqlYmdRegex = /(\\d{4})-(\\d\\d)-(\\d\\d)/; // dumbed-down version of the ISO one\nvar sqlTimeRegex = RegExp(isoTimeBaseRegex.source + \" ?(?:\" + offsetRegex.source + \"|(\" + ianaRegex.source + \"))?\");\nvar sqlTimeExtensionRegex = RegExp(\"(?: \" + sqlTimeRegex.source + \")?\");\nfunction int(match, pos, fallback) {\n  var m = match[pos];\n  return isUndefined(m) ? fallback : parseInteger(m);\n}\nfunction extractISOYmd(match, cursor) {\n  var item = {\n    year: int(match, cursor),\n    month: int(match, cursor + 1, 1),\n    day: int(match, cursor + 2, 1)\n  };\n  return [item, null, cursor + 3];\n}\nfunction extractISOTime(match, cursor) {\n  var item = {\n    hours: int(match, cursor, 0),\n    minutes: int(match, cursor + 1, 0),\n    seconds: int(match, cursor + 2, 0),\n    milliseconds: parseMillis(match[cursor + 3])\n  };\n  return [item, null, cursor + 4];\n}\nfunction extractISOOffset(match, cursor) {\n  var local = !match[cursor] && !match[cursor + 1],\n    fullOffset = signedOffset(match[cursor + 1], match[cursor + 2]),\n    zone = local ? null : FixedOffsetZone.instance(fullOffset);\n  return [{}, zone, cursor + 3];\n}\nfunction extractIANAZone(match, cursor) {\n  var zone = match[cursor] ? IANAZone.create(match[cursor]) : null;\n  return [{}, zone, cursor + 1];\n}\n\n// ISO time parsing\n\nvar isoTimeOnly = RegExp(\"^T?\" + isoTimeBaseRegex.source + \"$\");\n\n// ISO duration parsing\n\nvar isoDuration = /^-?P(?:(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)Y)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)W)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)D)?(?:T(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)H)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20})(?:[.,](-?\\d{1,20}))?S)?)?)$/;\nfunction extractISODuration(match) {\n  var s = match[0],\n    yearStr = match[1],\n    monthStr = match[2],\n    weekStr = match[3],\n    dayStr = match[4],\n    hourStr = match[5],\n    minuteStr = match[6],\n    secondStr = match[7],\n    millisecondsStr = match[8];\n  var hasNegativePrefix = s[0] === \"-\";\n  var negativeSeconds = secondStr && secondStr[0] === \"-\";\n  var maybeNegate = function maybeNegate(num, force) {\n    if (force === void 0) {\n      force = false;\n    }\n    return num !== undefined && (force || num && hasNegativePrefix) ? -num : num;\n  };\n  return [{\n    years: maybeNegate(parseFloating(yearStr)),\n    months: maybeNegate(parseFloating(monthStr)),\n    weeks: maybeNegate(parseFloating(weekStr)),\n    days: maybeNegate(parseFloating(dayStr)),\n    hours: maybeNegate(parseFloating(hourStr)),\n    minutes: maybeNegate(parseFloating(minuteStr)),\n    seconds: maybeNegate(parseFloating(secondStr), secondStr === \"-0\"),\n    milliseconds: maybeNegate(parseMillis(millisecondsStr), negativeSeconds)\n  }];\n}\n\n// These are a little braindead. EDT *should* tell us that we're in, say, America/New_York\n// and not just that we're in -240 *right now*. But since I don't think these are used that often\n// I'm just going to ignore that\nvar obsOffsets = {\n  GMT: 0,\n  EDT: -4 * 60,\n  EST: -5 * 60,\n  CDT: -5 * 60,\n  CST: -6 * 60,\n  MDT: -6 * 60,\n  MST: -7 * 60,\n  PDT: -7 * 60,\n  PST: -8 * 60\n};\nfunction fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n  var result = {\n    year: yearStr.length === 2 ? untruncateYear(parseInteger(yearStr)) : parseInteger(yearStr),\n    month: monthsShort.indexOf(monthStr) + 1,\n    day: parseInteger(dayStr),\n    hour: parseInteger(hourStr),\n    minute: parseInteger(minuteStr)\n  };\n  if (secondStr) result.second = parseInteger(secondStr);\n  if (weekdayStr) {\n    result.weekday = weekdayStr.length > 3 ? weekdaysLong.indexOf(weekdayStr) + 1 : weekdaysShort.indexOf(weekdayStr) + 1;\n  }\n  return result;\n}\n\n// RFC 2822/5322\nvar rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\\d\\d)(\\d\\d)))$/;\nfunction extractRFC2822(match) {\n  var weekdayStr = match[1],\n    dayStr = match[2],\n    monthStr = match[3],\n    yearStr = match[4],\n    hourStr = match[5],\n    minuteStr = match[6],\n    secondStr = match[7],\n    obsOffset = match[8],\n    milOffset = match[9],\n    offHourStr = match[10],\n    offMinuteStr = match[11],\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n  var offset;\n  if (obsOffset) {\n    offset = obsOffsets[obsOffset];\n  } else if (milOffset) {\n    offset = 0;\n  } else {\n    offset = signedOffset(offHourStr, offMinuteStr);\n  }\n  return [result, new FixedOffsetZone(offset)];\n}\nfunction preprocessRFC2822(s) {\n  // Remove comments and folding whitespace and replace multiple-spaces with a single space\n  return s.replace(/\\([^()]*\\)|[\\n\\t]/g, \" \").replace(/(\\s\\s+)/g, \" \").trim();\n}\n\n// http date\n\nvar rfc1123 = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d\\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n  rfc850 = /^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d\\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n  ascii = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \\d|\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) (\\d{4})$/;\nfunction extractRFC1123Or850(match) {\n  var weekdayStr = match[1],\n    dayStr = match[2],\n    monthStr = match[3],\n    yearStr = match[4],\n    hourStr = match[5],\n    minuteStr = match[6],\n    secondStr = match[7],\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n  return [result, FixedOffsetZone.utcInstance];\n}\nfunction extractASCII(match) {\n  var weekdayStr = match[1],\n    monthStr = match[2],\n    dayStr = match[3],\n    hourStr = match[4],\n    minuteStr = match[5],\n    secondStr = match[6],\n    yearStr = match[7],\n    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n  return [result, FixedOffsetZone.utcInstance];\n}\nvar isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex);\nvar isoWeekWithTimeExtensionRegex = combineRegexes(isoWeekRegex, isoTimeExtensionRegex);\nvar isoOrdinalWithTimeExtensionRegex = combineRegexes(isoOrdinalRegex, isoTimeExtensionRegex);\nvar isoTimeCombinedRegex = combineRegexes(isoTimeRegex);\nvar extractISOYmdTimeAndOffset = combineExtractors(extractISOYmd, extractISOTime, extractISOOffset, extractIANAZone);\nvar extractISOWeekTimeAndOffset = combineExtractors(extractISOWeekData, extractISOTime, extractISOOffset, extractIANAZone);\nvar extractISOOrdinalDateAndTime = combineExtractors(extractISOOrdinalData, extractISOTime, extractISOOffset, extractIANAZone);\nvar extractISOTimeAndOffset = combineExtractors(extractISOTime, extractISOOffset, extractIANAZone);\n\n/*\n * @private\n */\n\nfunction parseISODate(s) {\n  return parse(s, [isoYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset], [isoWeekWithTimeExtensionRegex, extractISOWeekTimeAndOffset], [isoOrdinalWithTimeExtensionRegex, extractISOOrdinalDateAndTime], [isoTimeCombinedRegex, extractISOTimeAndOffset]);\n}\nfunction parseRFC2822Date(s) {\n  return parse(preprocessRFC2822(s), [rfc2822, extractRFC2822]);\n}\nfunction parseHTTPDate(s) {\n  return parse(s, [rfc1123, extractRFC1123Or850], [rfc850, extractRFC1123Or850], [ascii, extractASCII]);\n}\nfunction parseISODuration(s) {\n  return parse(s, [isoDuration, extractISODuration]);\n}\nvar extractISOTimeOnly = combineExtractors(extractISOTime);\nfunction parseISOTimeOnly(s) {\n  return parse(s, [isoTimeOnly, extractISOTimeOnly]);\n}\nvar sqlYmdWithTimeExtensionRegex = combineRegexes(sqlYmdRegex, sqlTimeExtensionRegex);\nvar sqlTimeCombinedRegex = combineRegexes(sqlTimeRegex);\nvar extractISOTimeOffsetAndIANAZone = combineExtractors(extractISOTime, extractISOOffset, extractIANAZone);\nfunction parseSQL(s) {\n  return parse(s, [sqlYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset], [sqlTimeCombinedRegex, extractISOTimeOffsetAndIANAZone]);\n}\n\nvar INVALID$2 = \"Invalid Duration\";\n\n// unit conversion constants\nvar lowOrderMatrix = {\n    weeks: {\n      days: 7,\n      hours: 7 * 24,\n      minutes: 7 * 24 * 60,\n      seconds: 7 * 24 * 60 * 60,\n      milliseconds: 7 * 24 * 60 * 60 * 1000\n    },\n    days: {\n      hours: 24,\n      minutes: 24 * 60,\n      seconds: 24 * 60 * 60,\n      milliseconds: 24 * 60 * 60 * 1000\n    },\n    hours: {\n      minutes: 60,\n      seconds: 60 * 60,\n      milliseconds: 60 * 60 * 1000\n    },\n    minutes: {\n      seconds: 60,\n      milliseconds: 60 * 1000\n    },\n    seconds: {\n      milliseconds: 1000\n    }\n  },\n  casualMatrix = _extends({\n    years: {\n      quarters: 4,\n      months: 12,\n      weeks: 52,\n      days: 365,\n      hours: 365 * 24,\n      minutes: 365 * 24 * 60,\n      seconds: 365 * 24 * 60 * 60,\n      milliseconds: 365 * 24 * 60 * 60 * 1000\n    },\n    quarters: {\n      months: 3,\n      weeks: 13,\n      days: 91,\n      hours: 91 * 24,\n      minutes: 91 * 24 * 60,\n      seconds: 91 * 24 * 60 * 60,\n      milliseconds: 91 * 24 * 60 * 60 * 1000\n    },\n    months: {\n      weeks: 4,\n      days: 30,\n      hours: 30 * 24,\n      minutes: 30 * 24 * 60,\n      seconds: 30 * 24 * 60 * 60,\n      milliseconds: 30 * 24 * 60 * 60 * 1000\n    }\n  }, lowOrderMatrix),\n  daysInYearAccurate = 146097.0 / 400,\n  daysInMonthAccurate = 146097.0 / 4800,\n  accurateMatrix = _extends({\n    years: {\n      quarters: 4,\n      months: 12,\n      weeks: daysInYearAccurate / 7,\n      days: daysInYearAccurate,\n      hours: daysInYearAccurate * 24,\n      minutes: daysInYearAccurate * 24 * 60,\n      seconds: daysInYearAccurate * 24 * 60 * 60,\n      milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000\n    },\n    quarters: {\n      months: 3,\n      weeks: daysInYearAccurate / 28,\n      days: daysInYearAccurate / 4,\n      hours: daysInYearAccurate * 24 / 4,\n      minutes: daysInYearAccurate * 24 * 60 / 4,\n      seconds: daysInYearAccurate * 24 * 60 * 60 / 4,\n      milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000 / 4\n    },\n    months: {\n      weeks: daysInMonthAccurate / 7,\n      days: daysInMonthAccurate,\n      hours: daysInMonthAccurate * 24,\n      minutes: daysInMonthAccurate * 24 * 60,\n      seconds: daysInMonthAccurate * 24 * 60 * 60,\n      milliseconds: daysInMonthAccurate * 24 * 60 * 60 * 1000\n    }\n  }, lowOrderMatrix);\n\n// units ordered by size\nvar orderedUnits$1 = [\"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\"];\nvar reverseUnits = orderedUnits$1.slice(0).reverse();\n\n// clone really means \"create another instance just like this one, but with these changes\"\nfunction clone$1(dur, alts, clear) {\n  if (clear === void 0) {\n    clear = false;\n  }\n  // deep merge for vals\n  var conf = {\n    values: clear ? alts.values : _extends({}, dur.values, alts.values || {}),\n    loc: dur.loc.clone(alts.loc),\n    conversionAccuracy: alts.conversionAccuracy || dur.conversionAccuracy,\n    matrix: alts.matrix || dur.matrix\n  };\n  return new Duration(conf);\n}\nfunction durationToMillis(matrix, vals) {\n  var _vals$milliseconds;\n  var sum = (_vals$milliseconds = vals.milliseconds) != null ? _vals$milliseconds : 0;\n  for (var _iterator = _createForOfIteratorHelperLoose(reverseUnits.slice(1)), _step; !(_step = _iterator()).done;) {\n    var unit = _step.value;\n    if (vals[unit]) {\n      sum += vals[unit] * matrix[unit][\"milliseconds\"];\n    }\n  }\n  return sum;\n}\n\n// NB: mutates parameters\nfunction normalizeValues(matrix, vals) {\n  // the logic below assumes the overall value of the duration is positive\n  // if this is not the case, factor is used to make it so\n  var factor = durationToMillis(matrix, vals) < 0 ? -1 : 1;\n  orderedUnits$1.reduceRight(function (previous, current) {\n    if (!isUndefined(vals[current])) {\n      if (previous) {\n        var previousVal = vals[previous] * factor;\n        var conv = matrix[current][previous];\n\n        // if (previousVal < 0):\n        // lower order unit is negative (e.g. { years: 2, days: -2 })\n        // normalize this by reducing the higher order unit by the appropriate amount\n        // and increasing the lower order unit\n        // this can never make the higher order unit negative, because this function only operates\n        // on positive durations, so the amount of time represented by the lower order unit cannot\n        // be larger than the higher order unit\n        // else:\n        // lower order unit is positive (e.g. { years: 2, days: 450 } or { years: -2, days: 450 })\n        // in this case we attempt to convert as much as possible from the lower order unit into\n        // the higher order one\n        //\n        // Math.floor takes care of both of these cases, rounding away from 0\n        // if previousVal < 0 it makes the absolute value larger\n        // if previousVal >= it makes the absolute value smaller\n        var rollUp = Math.floor(previousVal / conv);\n        vals[current] += rollUp * factor;\n        vals[previous] -= rollUp * conv * factor;\n      }\n      return current;\n    } else {\n      return previous;\n    }\n  }, null);\n\n  // try to convert any decimals into smaller units if possible\n  // for example for { years: 2.5, days: 0, seconds: 0 } we want to get { years: 2, days: 182, hours: 12 }\n  orderedUnits$1.reduce(function (previous, current) {\n    if (!isUndefined(vals[current])) {\n      if (previous) {\n        var fraction = vals[previous] % 1;\n        vals[previous] -= fraction;\n        vals[current] += fraction * matrix[previous][current];\n      }\n      return current;\n    } else {\n      return previous;\n    }\n  }, null);\n}\n\n// Remove all properties with a value of 0 from an object\nfunction removeZeroes(vals) {\n  var newVals = {};\n  for (var _i = 0, _Object$entries = Object.entries(vals); _i < _Object$entries.length; _i++) {\n    var _Object$entries$_i = _Object$entries[_i],\n      key = _Object$entries$_i[0],\n      value = _Object$entries$_i[1];\n    if (value !== 0) {\n      newVals[key] = value;\n    }\n  }\n  return newVals;\n}\n\n/**\n * A Duration object represents a period of time, like \"2 months\" or \"1 day, 1 hour\". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime#plus} to add a Duration object to a DateTime, producing another DateTime.\n *\n * Here is a brief overview of commonly used methods and getters in Duration:\n *\n * * **Creation** To create a Duration, use {@link Duration.fromMillis}, {@link Duration.fromObject}, or {@link Duration.fromISO}.\n * * **Unit values** See the {@link Duration#years}, {@link Duration#months}, {@link Duration#weeks}, {@link Duration#days}, {@link Duration#hours}, {@link Duration#minutes}, {@link Duration#seconds}, {@link Duration#milliseconds} accessors.\n * * **Configuration** See  {@link Duration#locale} and {@link Duration#numberingSystem} accessors.\n * * **Transformation** To create new Durations out of old ones use {@link Duration#plus}, {@link Duration#minus}, {@link Duration#normalize}, {@link Duration#set}, {@link Duration#reconfigure}, {@link Duration#shiftTo}, and {@link Duration#negate}.\n * * **Output** To convert the Duration into other representations, see {@link Duration#as}, {@link Duration#toISO}, {@link Duration#toFormat}, and {@link Duration#toJSON}\n *\n * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation.\n */\nvar Duration = /*#__PURE__*/function (_Symbol$for) {\n  /**\n   * @private\n   */\n  function Duration(config) {\n    var accurate = config.conversionAccuracy === \"longterm\" || false;\n    var matrix = accurate ? accurateMatrix : casualMatrix;\n    if (config.matrix) {\n      matrix = config.matrix;\n    }\n\n    /**\n     * @access private\n     */\n    this.values = config.values;\n    /**\n     * @access private\n     */\n    this.loc = config.loc || Locale.create();\n    /**\n     * @access private\n     */\n    this.conversionAccuracy = accurate ? \"longterm\" : \"casual\";\n    /**\n     * @access private\n     */\n    this.invalid = config.invalid || null;\n    /**\n     * @access private\n     */\n    this.matrix = matrix;\n    /**\n     * @access private\n     */\n    this.isLuxonDuration = true;\n  }\n\n  /**\n   * Create Duration from a number of milliseconds.\n   * @param {number} count of milliseconds\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @return {Duration}\n   */\n  Duration.fromMillis = function fromMillis(count, opts) {\n    return Duration.fromObject({\n      milliseconds: count\n    }, opts);\n  }\n\n  /**\n   * Create a Duration from a JavaScript object with keys like 'years' and 'hours'.\n   * If this object is empty then a zero milliseconds duration is returned.\n   * @param {Object} obj - the object to create the DateTime from\n   * @param {number} obj.years\n   * @param {number} obj.quarters\n   * @param {number} obj.months\n   * @param {number} obj.weeks\n   * @param {number} obj.days\n   * @param {number} obj.hours\n   * @param {number} obj.minutes\n   * @param {number} obj.seconds\n   * @param {number} obj.milliseconds\n   * @param {Object} [opts=[]] - options for creating this Duration\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the custom conversion system to use\n   * @return {Duration}\n   */;\n  Duration.fromObject = function fromObject(obj, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    if (obj == null || typeof obj !== \"object\") {\n      throw new InvalidArgumentError(\"Duration.fromObject: argument expected to be an object, got \" + (obj === null ? \"null\" : typeof obj));\n    }\n    return new Duration({\n      values: normalizeObject(obj, Duration.normalizeUnit),\n      loc: Locale.fromObject(opts),\n      conversionAccuracy: opts.conversionAccuracy,\n      matrix: opts.matrix\n    });\n  }\n\n  /**\n   * Create a Duration from DurationLike.\n   *\n   * @param {Object | number | Duration} durationLike\n   * One of:\n   * - object with keys like 'years' and 'hours'.\n   * - number representing milliseconds\n   * - Duration instance\n   * @return {Duration}\n   */;\n  Duration.fromDurationLike = function fromDurationLike(durationLike) {\n    if (isNumber(durationLike)) {\n      return Duration.fromMillis(durationLike);\n    } else if (Duration.isDuration(durationLike)) {\n      return durationLike;\n    } else if (typeof durationLike === \"object\") {\n      return Duration.fromObject(durationLike);\n    } else {\n      throw new InvalidArgumentError(\"Unknown duration argument \" + durationLike + \" of type \" + typeof durationLike);\n    }\n  }\n\n  /**\n   * Create a Duration from an ISO 8601 duration string.\n   * @param {string} text - text to parse\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the preset conversion system to use\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n   * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 }\n   * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 }\n   * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 }\n   * @return {Duration}\n   */;\n  Duration.fromISO = function fromISO(text, opts) {\n    var _parseISODuration = parseISODuration(text),\n      parsed = _parseISODuration[0];\n    if (parsed) {\n      return Duration.fromObject(parsed, opts);\n    } else {\n      return Duration.invalid(\"unparsable\", \"the input \\\"\" + text + \"\\\" can't be parsed as ISO 8601\");\n    }\n  }\n\n  /**\n   * Create a Duration from an ISO 8601 time string.\n   * @param {string} text - text to parse\n   * @param {Object} opts - options for parsing\n   * @param {string} [opts.locale='en-US'] - the locale to use\n   * @param {string} opts.numberingSystem - the numbering system to use\n   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n   * @param {string} [opts.matrix=Object] - the conversion system to use\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n   * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 }\n   * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n   * @return {Duration}\n   */;\n  Duration.fromISOTime = function fromISOTime(text, opts) {\n    var _parseISOTimeOnly = parseISOTimeOnly(text),\n      parsed = _parseISOTimeOnly[0];\n    if (parsed) {\n      return Duration.fromObject(parsed, opts);\n    } else {\n      return Duration.invalid(\"unparsable\", \"the input \\\"\" + text + \"\\\" can't be parsed as ISO 8601\");\n    }\n  }\n\n  /**\n   * Create an invalid Duration.\n   * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {Duration}\n   */;\n  Duration.invalid = function invalid(reason, explanation) {\n    if (explanation === void 0) {\n      explanation = null;\n    }\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the Duration is invalid\");\n    }\n    var invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n    if (Settings.throwOnInvalid) {\n      throw new InvalidDurationError(invalid);\n    } else {\n      return new Duration({\n        invalid: invalid\n      });\n    }\n  }\n\n  /**\n   * @private\n   */;\n  Duration.normalizeUnit = function normalizeUnit(unit) {\n    var normalized = {\n      year: \"years\",\n      years: \"years\",\n      quarter: \"quarters\",\n      quarters: \"quarters\",\n      month: \"months\",\n      months: \"months\",\n      week: \"weeks\",\n      weeks: \"weeks\",\n      day: \"days\",\n      days: \"days\",\n      hour: \"hours\",\n      hours: \"hours\",\n      minute: \"minutes\",\n      minutes: \"minutes\",\n      second: \"seconds\",\n      seconds: \"seconds\",\n      millisecond: \"milliseconds\",\n      milliseconds: \"milliseconds\"\n    }[unit ? unit.toLowerCase() : unit];\n    if (!normalized) throw new InvalidUnitError(unit);\n    return normalized;\n  }\n\n  /**\n   * Check if an object is a Duration. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */;\n  Duration.isDuration = function isDuration(o) {\n    return o && o.isLuxonDuration || false;\n  }\n\n  /**\n   * Get  the locale of a Duration, such 'en-GB'\n   * @type {string}\n   */;\n  var _proto = Duration.prototype;\n  /**\n   * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens:\n   * * `S` for milliseconds\n   * * `s` for seconds\n   * * `m` for minutes\n   * * `h` for hours\n   * * `d` for days\n   * * `w` for weeks\n   * * `M` for months\n   * * `y` for years\n   * Notes:\n   * * Add padding by repeating the token, e.g. \"yy\" pads the years to two digits, \"hhhh\" pads the hours out to four digits\n   * * Tokens can be escaped by wrapping with single quotes.\n   * * The duration will be converted to the set of units in the format string using {@link Duration#shiftTo} and the Durations's conversion accuracy setting.\n   * @param {string} fmt - the format string\n   * @param {Object} opts - options\n   * @param {boolean} [opts.floor=true] - floor numerical values\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"y d s\") //=> \"1 6 2\"\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"yy dd sss\") //=> \"01 06 002\"\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"M S\") //=> \"12 518402000\"\n   * @return {string}\n   */\n  _proto.toFormat = function toFormat(fmt, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    // reverse-compat since 1.2; we always round down now, never up, and we do it by default\n    var fmtOpts = _extends({}, opts, {\n      floor: opts.round !== false && opts.floor !== false\n    });\n    return this.isValid ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt) : INVALID$2;\n  }\n\n  /**\n   * Returns a string representation of a Duration with all units included.\n   * To modify its behavior, use `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#options\n   * @param {Object} opts - Formatting options. Accepts the same keys as the options parameter of the native `Intl.NumberFormat` constructor, as well as `listStyle`.\n   * @param {string} [opts.listStyle='narrow'] - How to format the merged list. Corresponds to the `style` property of the options parameter of the native `Intl.ListFormat` constructor.\n   * @example\n   * ```js\n   * var dur = Duration.fromObject({ days: 1, hours: 5, minutes: 6 })\n   * dur.toHuman() //=> '1 day, 5 hours, 6 minutes'\n   * dur.toHuman({ listStyle: \"long\" }) //=> '1 day, 5 hours, and 6 minutes'\n   * dur.toHuman({ unitDisplay: \"short\" }) //=> '1 day, 5 hr, 6 min'\n   * ```\n   */;\n  _proto.toHuman = function toHuman(opts) {\n    var _this = this;\n    if (opts === void 0) {\n      opts = {};\n    }\n    if (!this.isValid) return INVALID$2;\n    var l = orderedUnits$1.map(function (unit) {\n      var val = _this.values[unit];\n      if (isUndefined(val)) {\n        return null;\n      }\n      return _this.loc.numberFormatter(_extends({\n        style: \"unit\",\n        unitDisplay: \"long\"\n      }, opts, {\n        unit: unit.slice(0, -1)\n      })).format(val);\n    }).filter(function (n) {\n      return n;\n    });\n    return this.loc.listFormatter(_extends({\n      type: \"conjunction\",\n      style: opts.listStyle || \"narrow\"\n    }, opts)).format(l);\n  }\n\n  /**\n   * Returns a JavaScript object with this Duration's values.\n   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 }\n   * @return {Object}\n   */;\n  _proto.toObject = function toObject() {\n    if (!this.isValid) return {};\n    return _extends({}, this.values);\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Duration.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n   * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S'\n   * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S'\n   * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M'\n   * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M'\n   * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S'\n   * @return {string}\n   */;\n  _proto.toISO = function toISO() {\n    // we could use the formatter, but this is an easier way to get the minimum string\n    if (!this.isValid) return null;\n    var s = \"P\";\n    if (this.years !== 0) s += this.years + \"Y\";\n    if (this.months !== 0 || this.quarters !== 0) s += this.months + this.quarters * 3 + \"M\";\n    if (this.weeks !== 0) s += this.weeks + \"W\";\n    if (this.days !== 0) s += this.days + \"D\";\n    if (this.hours !== 0 || this.minutes !== 0 || this.seconds !== 0 || this.milliseconds !== 0) s += \"T\";\n    if (this.hours !== 0) s += this.hours + \"H\";\n    if (this.minutes !== 0) s += this.minutes + \"M\";\n    if (this.seconds !== 0 || this.milliseconds !== 0)\n      // this will handle \"floating point madness\" by removing extra decimal places\n      // https://stackoverflow.com/questions/588004/is-floating-point-math-broken\n      s += roundTo(this.seconds + this.milliseconds / 1000, 3) + \"S\";\n    if (s === \"P\") s += \"T0S\";\n    return s;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day.\n   * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000'\n   * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000'\n   * @return {string}\n   */;\n  _proto.toISOTime = function toISOTime(opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    if (!this.isValid) return null;\n    var millis = this.toMillis();\n    if (millis < 0 || millis >= 86400000) return null;\n    opts = _extends({\n      suppressMilliseconds: false,\n      suppressSeconds: false,\n      includePrefix: false,\n      format: \"extended\"\n    }, opts, {\n      includeOffset: false\n    });\n    var dateTime = DateTime.fromMillis(millis, {\n      zone: \"UTC\"\n    });\n    return dateTime.toISOTime(opts);\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this Duration appropriate for use in JSON.\n   * @return {string}\n   */;\n  _proto.toJSON = function toJSON() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this Duration appropriate for use in debugging.\n   * @return {string}\n   */;\n  _proto.toString = function toString() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns a string representation of this Duration appropriate for the REPL.\n   * @return {string}\n   */;\n  _proto[_Symbol$for] = function () {\n    if (this.isValid) {\n      return \"Duration { values: \" + JSON.stringify(this.values) + \" }\";\n    } else {\n      return \"Duration { Invalid, reason: \" + this.invalidReason + \" }\";\n    }\n  }\n\n  /**\n   * Returns an milliseconds value of this Duration.\n   * @return {number}\n   */;\n  _proto.toMillis = function toMillis() {\n    if (!this.isValid) return NaN;\n    return durationToMillis(this.matrix, this.values);\n  }\n\n  /**\n   * Returns an milliseconds value of this Duration. Alias of {@link toMillis}\n   * @return {number}\n   */;\n  _proto.valueOf = function valueOf() {\n    return this.toMillis();\n  }\n\n  /**\n   * Make this Duration longer by the specified amount. Return a newly-constructed Duration.\n   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @return {Duration}\n   */;\n  _proto.plus = function plus(duration) {\n    if (!this.isValid) return this;\n    var dur = Duration.fromDurationLike(duration),\n      result = {};\n    for (var _i2 = 0, _orderedUnits = orderedUnits$1; _i2 < _orderedUnits.length; _i2++) {\n      var k = _orderedUnits[_i2];\n      if (hasOwnProperty(dur.values, k) || hasOwnProperty(this.values, k)) {\n        result[k] = dur.get(k) + this.get(k);\n      }\n    }\n    return clone$1(this, {\n      values: result\n    }, true);\n  }\n\n  /**\n   * Make this Duration shorter by the specified amount. Return a newly-constructed Duration.\n   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @return {Duration}\n   */;\n  _proto.minus = function minus(duration) {\n    if (!this.isValid) return this;\n    var dur = Duration.fromDurationLike(duration);\n    return this.plus(dur.negate());\n  }\n\n  /**\n   * Scale this Duration by the specified amount. Return a newly-constructed Duration.\n   * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number.\n   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits(x => x * 2) //=> { hours: 2, minutes: 60 }\n   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits((x, u) => u === \"hours\" ? x * 2 : x) //=> { hours: 2, minutes: 30 }\n   * @return {Duration}\n   */;\n  _proto.mapUnits = function mapUnits(fn) {\n    if (!this.isValid) return this;\n    var result = {};\n    for (var _i3 = 0, _Object$keys = Object.keys(this.values); _i3 < _Object$keys.length; _i3++) {\n      var k = _Object$keys[_i3];\n      result[k] = asNumber(fn(this.values[k], k));\n    }\n    return clone$1(this, {\n      values: result\n    }, true);\n  }\n\n  /**\n   * Get the value of unit.\n   * @param {string} unit - a unit such as 'minute' or 'day'\n   * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2\n   * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0\n   * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3\n   * @return {number}\n   */;\n  _proto.get = function get(unit) {\n    return this[Duration.normalizeUnit(unit)];\n  }\n\n  /**\n   * \"Set\" the values of specified units. Return a newly-constructed Duration.\n   * @param {Object} values - a mapping of units to numbers\n   * @example dur.set({ years: 2017 })\n   * @example dur.set({ hours: 8, minutes: 30 })\n   * @return {Duration}\n   */;\n  _proto.set = function set(values) {\n    if (!this.isValid) return this;\n    var mixed = _extends({}, this.values, normalizeObject(values, Duration.normalizeUnit));\n    return clone$1(this, {\n      values: mixed\n    });\n  }\n\n  /**\n   * \"Set\" the locale and/or numberingSystem.  Returns a newly-constructed Duration.\n   * @example dur.reconfigure({ locale: 'en-GB' })\n   * @return {Duration}\n   */;\n  _proto.reconfigure = function reconfigure(_temp) {\n    var _ref = _temp === void 0 ? {} : _temp,\n      locale = _ref.locale,\n      numberingSystem = _ref.numberingSystem,\n      conversionAccuracy = _ref.conversionAccuracy,\n      matrix = _ref.matrix;\n    var loc = this.loc.clone({\n      locale: locale,\n      numberingSystem: numberingSystem\n    });\n    var opts = {\n      loc: loc,\n      matrix: matrix,\n      conversionAccuracy: conversionAccuracy\n    };\n    return clone$1(this, opts);\n  }\n\n  /**\n   * Return the length of the duration in the specified unit.\n   * @param {string} unit - a unit such as 'minutes' or 'days'\n   * @example Duration.fromObject({years: 1}).as('days') //=> 365\n   * @example Duration.fromObject({years: 1}).as('months') //=> 12\n   * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5\n   * @return {number}\n   */;\n  _proto.as = function as(unit) {\n    return this.isValid ? this.shiftTo(unit).get(unit) : NaN;\n  }\n\n  /**\n   * Reduce this Duration to its canonical representation in its current units.\n   * Assuming the overall value of the Duration is positive, this means:\n   * - excessive values for lower-order units are converted to higher-order units (if possible, see first and second example)\n   * - negative lower-order units are converted to higher order units (there must be such a higher order unit, otherwise\n   *   the overall value would be negative, see third example)\n   * - fractional values for higher-order units are converted to lower-order units (if possible, see fourth example)\n   *\n   * If the overall value is negative, the result of this method is equivalent to `this.negate().normalize().negate()`.\n   * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 }\n   * @example Duration.fromObject({ days: 5000 }).normalize().toObject() //=> { days: 5000 }\n   * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 }\n   * @example Duration.fromObject({ years: 2.5, days: 0, hours: 0 }).normalize().toObject() //=> { years: 2, days: 182, hours: 12 }\n   * @return {Duration}\n   */;\n  _proto.normalize = function normalize() {\n    if (!this.isValid) return this;\n    var vals = this.toObject();\n    normalizeValues(this.matrix, vals);\n    return clone$1(this, {\n      values: vals\n    }, true);\n  }\n\n  /**\n   * Rescale units to its largest representation\n   * @example Duration.fromObject({ milliseconds: 90000 }).rescale().toObject() //=> { minutes: 1, seconds: 30 }\n   * @return {Duration}\n   */;\n  _proto.rescale = function rescale() {\n    if (!this.isValid) return this;\n    var vals = removeZeroes(this.normalize().shiftToAll().toObject());\n    return clone$1(this, {\n      values: vals\n    }, true);\n  }\n\n  /**\n   * Convert this Duration into its representation in a different set of units.\n   * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 }\n   * @return {Duration}\n   */;\n  _proto.shiftTo = function shiftTo() {\n    for (var _len = arguments.length, units = new Array(_len), _key = 0; _key < _len; _key++) {\n      units[_key] = arguments[_key];\n    }\n    if (!this.isValid) return this;\n    if (units.length === 0) {\n      return this;\n    }\n    units = units.map(function (u) {\n      return Duration.normalizeUnit(u);\n    });\n    var built = {},\n      accumulated = {},\n      vals = this.toObject();\n    var lastUnit;\n    for (var _i4 = 0, _orderedUnits2 = orderedUnits$1; _i4 < _orderedUnits2.length; _i4++) {\n      var k = _orderedUnits2[_i4];\n      if (units.indexOf(k) >= 0) {\n        lastUnit = k;\n        var own = 0;\n\n        // anything we haven't boiled down yet should get boiled to this unit\n        for (var ak in accumulated) {\n          own += this.matrix[ak][k] * accumulated[ak];\n          accumulated[ak] = 0;\n        }\n\n        // plus anything that's already in this unit\n        if (isNumber(vals[k])) {\n          own += vals[k];\n        }\n\n        // only keep the integer part for now in the hopes of putting any decimal part\n        // into a smaller unit later\n        var i = Math.trunc(own);\n        built[k] = i;\n        accumulated[k] = (own * 1000 - i * 1000) / 1000;\n\n        // otherwise, keep it in the wings to boil it later\n      } else if (isNumber(vals[k])) {\n        accumulated[k] = vals[k];\n      }\n    }\n\n    // anything leftover becomes the decimal for the last unit\n    // lastUnit must be defined since units is not empty\n    for (var key in accumulated) {\n      if (accumulated[key] !== 0) {\n        built[lastUnit] += key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key];\n      }\n    }\n    normalizeValues(this.matrix, built);\n    return clone$1(this, {\n      values: built\n    }, true);\n  }\n\n  /**\n   * Shift this Duration to all available units.\n   * Same as shiftTo(\"years\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\")\n   * @return {Duration}\n   */;\n  _proto.shiftToAll = function shiftToAll() {\n    if (!this.isValid) return this;\n    return this.shiftTo(\"years\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\");\n  }\n\n  /**\n   * Return the negative of this Duration.\n   * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 }\n   * @return {Duration}\n   */;\n  _proto.negate = function negate() {\n    if (!this.isValid) return this;\n    var negated = {};\n    for (var _i5 = 0, _Object$keys2 = Object.keys(this.values); _i5 < _Object$keys2.length; _i5++) {\n      var k = _Object$keys2[_i5];\n      negated[k] = this.values[k] === 0 ? 0 : -this.values[k];\n    }\n    return clone$1(this, {\n      values: negated\n    }, true);\n  }\n\n  /**\n   * Get the years.\n   * @type {number}\n   */;\n  /**\n   * Equality check\n   * Two Durations are equal iff they have the same units and the same values for each unit.\n   * @param {Duration} other\n   * @return {boolean}\n   */\n  _proto.equals = function equals(other) {\n    if (!this.isValid || !other.isValid) {\n      return false;\n    }\n    if (!this.loc.equals(other.loc)) {\n      return false;\n    }\n    function eq(v1, v2) {\n      // Consider 0 and undefined as equal\n      if (v1 === undefined || v1 === 0) return v2 === undefined || v2 === 0;\n      return v1 === v2;\n    }\n    for (var _i6 = 0, _orderedUnits3 = orderedUnits$1; _i6 < _orderedUnits3.length; _i6++) {\n      var u = _orderedUnits3[_i6];\n      if (!eq(this.values[u], other.values[u])) {\n        return false;\n      }\n    }\n    return true;\n  };\n  _createClass(Duration, [{\n    key: \"locale\",\n    get: function get() {\n      return this.isValid ? this.loc.locale : null;\n    }\n\n    /**\n     * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration\n     *\n     * @type {string}\n     */\n  }, {\n    key: \"numberingSystem\",\n    get: function get() {\n      return this.isValid ? this.loc.numberingSystem : null;\n    }\n  }, {\n    key: \"years\",\n    get: function get() {\n      return this.isValid ? this.values.years || 0 : NaN;\n    }\n\n    /**\n     * Get the quarters.\n     * @type {number}\n     */\n  }, {\n    key: \"quarters\",\n    get: function get() {\n      return this.isValid ? this.values.quarters || 0 : NaN;\n    }\n\n    /**\n     * Get the months.\n     * @type {number}\n     */\n  }, {\n    key: \"months\",\n    get: function get() {\n      return this.isValid ? this.values.months || 0 : NaN;\n    }\n\n    /**\n     * Get the weeks\n     * @type {number}\n     */\n  }, {\n    key: \"weeks\",\n    get: function get() {\n      return this.isValid ? this.values.weeks || 0 : NaN;\n    }\n\n    /**\n     * Get the days.\n     * @type {number}\n     */\n  }, {\n    key: \"days\",\n    get: function get() {\n      return this.isValid ? this.values.days || 0 : NaN;\n    }\n\n    /**\n     * Get the hours.\n     * @type {number}\n     */\n  }, {\n    key: \"hours\",\n    get: function get() {\n      return this.isValid ? this.values.hours || 0 : NaN;\n    }\n\n    /**\n     * Get the minutes.\n     * @type {number}\n     */\n  }, {\n    key: \"minutes\",\n    get: function get() {\n      return this.isValid ? this.values.minutes || 0 : NaN;\n    }\n\n    /**\n     * Get the seconds.\n     * @return {number}\n     */\n  }, {\n    key: \"seconds\",\n    get: function get() {\n      return this.isValid ? this.values.seconds || 0 : NaN;\n    }\n\n    /**\n     * Get the milliseconds.\n     * @return {number}\n     */\n  }, {\n    key: \"milliseconds\",\n    get: function get() {\n      return this.isValid ? this.values.milliseconds || 0 : NaN;\n    }\n\n    /**\n     * Returns whether the Duration is invalid. Invalid durations are returned by diff operations\n     * on invalid DateTimes or Intervals.\n     * @return {boolean}\n     */\n  }, {\n    key: \"isValid\",\n    get: function get() {\n      return this.invalid === null;\n    }\n\n    /**\n     * Returns an error code if this Duration became invalid, or null if the Duration is valid\n     * @return {string}\n     */\n  }, {\n    key: \"invalidReason\",\n    get: function get() {\n      return this.invalid ? this.invalid.reason : null;\n    }\n\n    /**\n     * Returns an explanation of why this Duration became invalid, or null if the Duration is valid\n     * @type {string}\n     */\n  }, {\n    key: \"invalidExplanation\",\n    get: function get() {\n      return this.invalid ? this.invalid.explanation : null;\n    }\n  }]);\n  return Duration;\n}(Symbol.for(\"nodejs.util.inspect.custom\"));\n\nvar INVALID$1 = \"Invalid Interval\";\n\n// checks if the start is equal to or before the end\nfunction validateStartEnd(start, end) {\n  if (!start || !start.isValid) {\n    return Interval.invalid(\"missing or invalid start\");\n  } else if (!end || !end.isValid) {\n    return Interval.invalid(\"missing or invalid end\");\n  } else if (end < start) {\n    return Interval.invalid(\"end before start\", \"The end of an interval must be after its start, but you had start=\" + start.toISO() + \" and end=\" + end.toISO());\n  } else {\n    return null;\n  }\n}\n\n/**\n * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them.\n *\n * Here is a brief overview of the most commonly used methods and getters in Interval:\n *\n * * **Creation** To create an Interval, use {@link Interval.fromDateTimes}, {@link Interval.after}, {@link Interval.before}, or {@link Interval.fromISO}.\n * * **Accessors** Use {@link Interval#start} and {@link Interval#end} to get the start and end.\n * * **Interrogation** To analyze the Interval, use {@link Interval#count}, {@link Interval#length}, {@link Interval#hasSame}, {@link Interval#contains}, {@link Interval#isAfter}, or {@link Interval#isBefore}.\n * * **Transformation** To create other Intervals out of this one, use {@link Interval#set}, {@link Interval#splitAt}, {@link Interval#splitBy}, {@link Interval#divideEqually}, {@link Interval.merge}, {@link Interval.xor}, {@link Interval#union}, {@link Interval#intersection}, or {@link Interval#difference}.\n * * **Comparison** To compare this Interval to another one, use {@link Interval#equals}, {@link Interval#overlaps}, {@link Interval#abutsStart}, {@link Interval#abutsEnd}, {@link Interval#engulfs}\n * * **Output** To convert the Interval into other representations, see {@link Interval#toString}, {@link Interval#toLocaleString}, {@link Interval#toISO}, {@link Interval#toISODate}, {@link Interval#toISOTime}, {@link Interval#toFormat}, and {@link Interval#toDuration}.\n */\nvar Interval = /*#__PURE__*/function (_Symbol$for) {\n  /**\n   * @private\n   */\n  function Interval(config) {\n    /**\n     * @access private\n     */\n    this.s = config.start;\n    /**\n     * @access private\n     */\n    this.e = config.end;\n    /**\n     * @access private\n     */\n    this.invalid = config.invalid || null;\n    /**\n     * @access private\n     */\n    this.isLuxonInterval = true;\n  }\n\n  /**\n   * Create an invalid Interval.\n   * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {Interval}\n   */\n  Interval.invalid = function invalid(reason, explanation) {\n    if (explanation === void 0) {\n      explanation = null;\n    }\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the Interval is invalid\");\n    }\n    var invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n    if (Settings.throwOnInvalid) {\n      throw new InvalidIntervalError(invalid);\n    } else {\n      return new Interval({\n        invalid: invalid\n      });\n    }\n  }\n\n  /**\n   * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end.\n   * @param {DateTime|Date|Object} start\n   * @param {DateTime|Date|Object} end\n   * @return {Interval}\n   */;\n  Interval.fromDateTimes = function fromDateTimes(start, end) {\n    var builtStart = friendlyDateTime(start),\n      builtEnd = friendlyDateTime(end);\n    var validateError = validateStartEnd(builtStart, builtEnd);\n    if (validateError == null) {\n      return new Interval({\n        start: builtStart,\n        end: builtEnd\n      });\n    } else {\n      return validateError;\n    }\n  }\n\n  /**\n   * Create an Interval from a start DateTime and a Duration to extend to.\n   * @param {DateTime|Date|Object} start\n   * @param {Duration|Object|number} duration - the length of the Interval.\n   * @return {Interval}\n   */;\n  Interval.after = function after(start, duration) {\n    var dur = Duration.fromDurationLike(duration),\n      dt = friendlyDateTime(start);\n    return Interval.fromDateTimes(dt, dt.plus(dur));\n  }\n\n  /**\n   * Create an Interval from an end DateTime and a Duration to extend backwards to.\n   * @param {DateTime|Date|Object} end\n   * @param {Duration|Object|number} duration - the length of the Interval.\n   * @return {Interval}\n   */;\n  Interval.before = function before(end, duration) {\n    var dur = Duration.fromDurationLike(duration),\n      dt = friendlyDateTime(end);\n    return Interval.fromDateTimes(dt.minus(dur), dt);\n  }\n\n  /**\n   * Create an Interval from an ISO 8601 string.\n   * Accepts `<start>/<end>`, `<start>/<duration>`, and `<duration>/<end>` formats.\n   * @param {string} text - the ISO string to parse\n   * @param {Object} [opts] - options to pass {@link DateTime#fromISO} and optionally {@link Duration#fromISO}\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @return {Interval}\n   */;\n  Interval.fromISO = function fromISO(text, opts) {\n    var _split = (text || \"\").split(\"/\", 2),\n      s = _split[0],\n      e = _split[1];\n    if (s && e) {\n      var start, startIsValid;\n      try {\n        start = DateTime.fromISO(s, opts);\n        startIsValid = start.isValid;\n      } catch (e) {\n        startIsValid = false;\n      }\n      var end, endIsValid;\n      try {\n        end = DateTime.fromISO(e, opts);\n        endIsValid = end.isValid;\n      } catch (e) {\n        endIsValid = false;\n      }\n      if (startIsValid && endIsValid) {\n        return Interval.fromDateTimes(start, end);\n      }\n      if (startIsValid) {\n        var dur = Duration.fromISO(e, opts);\n        if (dur.isValid) {\n          return Interval.after(start, dur);\n        }\n      } else if (endIsValid) {\n        var _dur = Duration.fromISO(s, opts);\n        if (_dur.isValid) {\n          return Interval.before(end, _dur);\n        }\n      }\n    }\n    return Interval.invalid(\"unparsable\", \"the input \\\"\" + text + \"\\\" can't be parsed as ISO 8601\");\n  }\n\n  /**\n   * Check if an object is an Interval. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */;\n  Interval.isInterval = function isInterval(o) {\n    return o && o.isLuxonInterval || false;\n  }\n\n  /**\n   * Returns the start of the Interval\n   * @type {DateTime}\n   */;\n  var _proto = Interval.prototype;\n  /**\n   * Returns the length of the Interval in the specified unit.\n   * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in.\n   * @return {number}\n   */\n  _proto.length = function length(unit) {\n    if (unit === void 0) {\n      unit = \"milliseconds\";\n    }\n    return this.isValid ? this.toDuration.apply(this, [unit]).get(unit) : NaN;\n  }\n\n  /**\n   * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part.\n   * Unlike {@link Interval#length} this counts sections of the calendar, not periods of time, e.g. specifying 'day'\n   * asks 'what dates are included in this interval?', not 'how many days long is this interval?'\n   * @param {string} [unit='milliseconds'] - the unit of time to count.\n   * @param {Object} opts - options\n   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week; this operation will always use the locale of the start DateTime\n   * @return {number}\n   */;\n  _proto.count = function count(unit, opts) {\n    if (unit === void 0) {\n      unit = \"milliseconds\";\n    }\n    if (!this.isValid) return NaN;\n    var start = this.start.startOf(unit, opts);\n    var end;\n    if (opts != null && opts.useLocaleWeeks) {\n      end = this.end.reconfigure({\n        locale: start.locale\n      });\n    } else {\n      end = this.end;\n    }\n    end = end.startOf(unit, opts);\n    return Math.floor(end.diff(start, unit).get(unit)) + (end.valueOf() !== this.end.valueOf());\n  }\n\n  /**\n   * Returns whether this Interval's start and end are both in the same unit of time\n   * @param {string} unit - the unit of time to check sameness on\n   * @return {boolean}\n   */;\n  _proto.hasSame = function hasSame(unit) {\n    return this.isValid ? this.isEmpty() || this.e.minus(1).hasSame(this.s, unit) : false;\n  }\n\n  /**\n   * Return whether this Interval has the same start and end DateTimes.\n   * @return {boolean}\n   */;\n  _proto.isEmpty = function isEmpty() {\n    return this.s.valueOf() === this.e.valueOf();\n  }\n\n  /**\n   * Return whether this Interval's start is after the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */;\n  _proto.isAfter = function isAfter(dateTime) {\n    if (!this.isValid) return false;\n    return this.s > dateTime;\n  }\n\n  /**\n   * Return whether this Interval's end is before the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */;\n  _proto.isBefore = function isBefore(dateTime) {\n    if (!this.isValid) return false;\n    return this.e <= dateTime;\n  }\n\n  /**\n   * Return whether this Interval contains the specified DateTime.\n   * @param {DateTime} dateTime\n   * @return {boolean}\n   */;\n  _proto.contains = function contains(dateTime) {\n    if (!this.isValid) return false;\n    return this.s <= dateTime && this.e > dateTime;\n  }\n\n  /**\n   * \"Sets\" the start and/or end dates. Returns a newly-constructed Interval.\n   * @param {Object} values - the values to set\n   * @param {DateTime} values.start - the starting DateTime\n   * @param {DateTime} values.end - the ending DateTime\n   * @return {Interval}\n   */;\n  _proto.set = function set(_temp) {\n    var _ref = _temp === void 0 ? {} : _temp,\n      start = _ref.start,\n      end = _ref.end;\n    if (!this.isValid) return this;\n    return Interval.fromDateTimes(start || this.s, end || this.e);\n  }\n\n  /**\n   * Split this Interval at each of the specified DateTimes\n   * @param {...DateTime} dateTimes - the unit of time to count.\n   * @return {Array}\n   */;\n  _proto.splitAt = function splitAt() {\n    var _this = this;\n    if (!this.isValid) return [];\n    for (var _len = arguments.length, dateTimes = new Array(_len), _key = 0; _key < _len; _key++) {\n      dateTimes[_key] = arguments[_key];\n    }\n    var sorted = dateTimes.map(friendlyDateTime).filter(function (d) {\n        return _this.contains(d);\n      }).sort(function (a, b) {\n        return a.toMillis() - b.toMillis();\n      }),\n      results = [];\n    var s = this.s,\n      i = 0;\n    while (s < this.e) {\n      var added = sorted[i] || this.e,\n        next = +added > +this.e ? this.e : added;\n      results.push(Interval.fromDateTimes(s, next));\n      s = next;\n      i += 1;\n    }\n    return results;\n  }\n\n  /**\n   * Split this Interval into smaller Intervals, each of the specified length.\n   * Left over time is grouped into a smaller interval\n   * @param {Duration|Object|number} duration - The length of each resulting interval.\n   * @return {Array}\n   */;\n  _proto.splitBy = function splitBy(duration) {\n    var dur = Duration.fromDurationLike(duration);\n    if (!this.isValid || !dur.isValid || dur.as(\"milliseconds\") === 0) {\n      return [];\n    }\n    var s = this.s,\n      idx = 1,\n      next;\n    var results = [];\n    while (s < this.e) {\n      var added = this.start.plus(dur.mapUnits(function (x) {\n        return x * idx;\n      }));\n      next = +added > +this.e ? this.e : added;\n      results.push(Interval.fromDateTimes(s, next));\n      s = next;\n      idx += 1;\n    }\n    return results;\n  }\n\n  /**\n   * Split this Interval into the specified number of smaller intervals.\n   * @param {number} numberOfParts - The number of Intervals to divide the Interval into.\n   * @return {Array}\n   */;\n  _proto.divideEqually = function divideEqually(numberOfParts) {\n    if (!this.isValid) return [];\n    return this.splitBy(this.length() / numberOfParts).slice(0, numberOfParts);\n  }\n\n  /**\n   * Return whether this Interval overlaps with the specified Interval\n   * @param {Interval} other\n   * @return {boolean}\n   */;\n  _proto.overlaps = function overlaps(other) {\n    return this.e > other.s && this.s < other.e;\n  }\n\n  /**\n   * Return whether this Interval's end is adjacent to the specified Interval's start.\n   * @param {Interval} other\n   * @return {boolean}\n   */;\n  _proto.abutsStart = function abutsStart(other) {\n    if (!this.isValid) return false;\n    return +this.e === +other.s;\n  }\n\n  /**\n   * Return whether this Interval's start is adjacent to the specified Interval's end.\n   * @param {Interval} other\n   * @return {boolean}\n   */;\n  _proto.abutsEnd = function abutsEnd(other) {\n    if (!this.isValid) return false;\n    return +other.e === +this.s;\n  }\n\n  /**\n   * Return whether this Interval engulfs the start and end of the specified Interval.\n   * @param {Interval} other\n   * @return {boolean}\n   */;\n  _proto.engulfs = function engulfs(other) {\n    if (!this.isValid) return false;\n    return this.s <= other.s && this.e >= other.e;\n  }\n\n  /**\n   * Return whether this Interval has the same start and end as the specified Interval.\n   * @param {Interval} other\n   * @return {boolean}\n   */;\n  _proto.equals = function equals(other) {\n    if (!this.isValid || !other.isValid) {\n      return false;\n    }\n    return this.s.equals(other.s) && this.e.equals(other.e);\n  }\n\n  /**\n   * Return an Interval representing the intersection of this Interval and the specified Interval.\n   * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals.\n   * Returns null if the intersection is empty, meaning, the intervals don't intersect.\n   * @param {Interval} other\n   * @return {Interval}\n   */;\n  _proto.intersection = function intersection(other) {\n    if (!this.isValid) return this;\n    var s = this.s > other.s ? this.s : other.s,\n      e = this.e < other.e ? this.e : other.e;\n    if (s >= e) {\n      return null;\n    } else {\n      return Interval.fromDateTimes(s, e);\n    }\n  }\n\n  /**\n   * Return an Interval representing the union of this Interval and the specified Interval.\n   * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals.\n   * @param {Interval} other\n   * @return {Interval}\n   */;\n  _proto.union = function union(other) {\n    if (!this.isValid) return this;\n    var s = this.s < other.s ? this.s : other.s,\n      e = this.e > other.e ? this.e : other.e;\n    return Interval.fromDateTimes(s, e);\n  }\n\n  /**\n   * Merge an array of Intervals into a equivalent minimal set of Intervals.\n   * Combines overlapping and adjacent Intervals.\n   * @param {Array} intervals\n   * @return {Array}\n   */;\n  Interval.merge = function merge(intervals) {\n    var _intervals$sort$reduc = intervals.sort(function (a, b) {\n        return a.s - b.s;\n      }).reduce(function (_ref2, item) {\n        var sofar = _ref2[0],\n          current = _ref2[1];\n        if (!current) {\n          return [sofar, item];\n        } else if (current.overlaps(item) || current.abutsStart(item)) {\n          return [sofar, current.union(item)];\n        } else {\n          return [sofar.concat([current]), item];\n        }\n      }, [[], null]),\n      found = _intervals$sort$reduc[0],\n      final = _intervals$sort$reduc[1];\n    if (final) {\n      found.push(final);\n    }\n    return found;\n  }\n\n  /**\n   * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals.\n   * @param {Array} intervals\n   * @return {Array}\n   */;\n  Interval.xor = function xor(intervals) {\n    var _Array$prototype;\n    var start = null,\n      currentCount = 0;\n    var results = [],\n      ends = intervals.map(function (i) {\n        return [{\n          time: i.s,\n          type: \"s\"\n        }, {\n          time: i.e,\n          type: \"e\"\n        }];\n      }),\n      flattened = (_Array$prototype = Array.prototype).concat.apply(_Array$prototype, ends),\n      arr = flattened.sort(function (a, b) {\n        return a.time - b.time;\n      });\n    for (var _iterator = _createForOfIteratorHelperLoose(arr), _step; !(_step = _iterator()).done;) {\n      var i = _step.value;\n      currentCount += i.type === \"s\" ? 1 : -1;\n      if (currentCount === 1) {\n        start = i.time;\n      } else {\n        if (start && +start !== +i.time) {\n          results.push(Interval.fromDateTimes(start, i.time));\n        }\n        start = null;\n      }\n    }\n    return Interval.merge(results);\n  }\n\n  /**\n   * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals.\n   * @param {...Interval} intervals\n   * @return {Array}\n   */;\n  _proto.difference = function difference() {\n    var _this2 = this;\n    for (var _len2 = arguments.length, intervals = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      intervals[_key2] = arguments[_key2];\n    }\n    return Interval.xor([this].concat(intervals)).map(function (i) {\n      return _this2.intersection(i);\n    }).filter(function (i) {\n      return i && !i.isEmpty();\n    });\n  }\n\n  /**\n   * Returns a string representation of this Interval appropriate for debugging.\n   * @return {string}\n   */;\n  _proto.toString = function toString() {\n    if (!this.isValid) return INVALID$1;\n    return \"[\" + this.s.toISO() + \" \\u2013 \" + this.e.toISO() + \")\";\n  }\n\n  /**\n   * Returns a string representation of this Interval appropriate for the REPL.\n   * @return {string}\n   */;\n  _proto[_Symbol$for] = function () {\n    if (this.isValid) {\n      return \"Interval { start: \" + this.s.toISO() + \", end: \" + this.e.toISO() + \" }\";\n    } else {\n      return \"Interval { Invalid, reason: \" + this.invalidReason + \" }\";\n    }\n  }\n\n  /**\n   * Returns a localized string representing this Interval. Accepts the same options as the\n   * Intl.DateTimeFormat constructor and any presets defined by Luxon, such as\n   * {@link DateTime.DATE_FULL} or {@link DateTime.TIME_SIMPLE}. The exact behavior of this method\n   * is browser-specific, but in general it will return an appropriate representation of the\n   * Interval in the assigned locale. Defaults to the system's locale if no locale has been\n   * specified.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {Object} [formatOpts=DateTime.DATE_SHORT] - Either a DateTime preset or\n   * Intl.DateTimeFormat constructor options.\n   * @param {Object} opts - Options to override the configuration of the start DateTime.\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(); //=> 11/7/2022 – 11/8/2022\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL); //=> November 7 – 8, 2022\n   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL, { locale: 'fr-FR' }); //=> 7–8 novembre 2022\n   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString(DateTime.TIME_SIMPLE); //=> 6:00 – 8:00 PM\n   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> Mon, Nov 07, 6:00 – 8:00 p\n   * @return {string}\n   */;\n  _proto.toLocaleString = function toLocaleString(formatOpts, opts) {\n    if (formatOpts === void 0) {\n      formatOpts = DATE_SHORT;\n    }\n    if (opts === void 0) {\n      opts = {};\n    }\n    return this.isValid ? Formatter.create(this.s.loc.clone(opts), formatOpts).formatInterval(this) : INVALID$1;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this Interval.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @param {Object} opts - The same options as {@link DateTime#toISO}\n   * @return {string}\n   */;\n  _proto.toISO = function toISO(opts) {\n    if (!this.isValid) return INVALID$1;\n    return this.s.toISO(opts) + \"/\" + this.e.toISO(opts);\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of date of this Interval.\n   * The time components are ignored.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @return {string}\n   */;\n  _proto.toISODate = function toISODate() {\n    if (!this.isValid) return INVALID$1;\n    return this.s.toISODate() + \"/\" + this.e.toISODate();\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of time of this Interval.\n   * The date components are ignored.\n   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n   * @param {Object} opts - The same options as {@link DateTime#toISO}\n   * @return {string}\n   */;\n  _proto.toISOTime = function toISOTime(opts) {\n    if (!this.isValid) return INVALID$1;\n    return this.s.toISOTime(opts) + \"/\" + this.e.toISOTime(opts);\n  }\n\n  /**\n   * Returns a string representation of this Interval formatted according to the specified format\n   * string. **You may not want this.** See {@link Interval#toLocaleString} for a more flexible\n   * formatting tool.\n   * @param {string} dateFormat - The format string. This string formats the start and end time.\n   * See {@link DateTime#toFormat} for details.\n   * @param {Object} opts - Options.\n   * @param {string} [opts.separator =  ' – '] - A separator to place between the start and end\n   * representations.\n   * @return {string}\n   */;\n  _proto.toFormat = function toFormat(dateFormat, _temp2) {\n    var _ref3 = _temp2 === void 0 ? {} : _temp2,\n      _ref3$separator = _ref3.separator,\n      separator = _ref3$separator === void 0 ? \" – \" : _ref3$separator;\n    if (!this.isValid) return INVALID$1;\n    return \"\" + this.s.toFormat(dateFormat) + separator + this.e.toFormat(dateFormat);\n  }\n\n  /**\n   * Return a Duration representing the time spanned by this interval.\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration.\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 }\n   * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 }\n   * @return {Duration}\n   */;\n  _proto.toDuration = function toDuration(unit, opts) {\n    if (!this.isValid) {\n      return Duration.invalid(this.invalidReason);\n    }\n    return this.e.diff(this.s, unit, opts);\n  }\n\n  /**\n   * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes\n   * @param {function} mapFn\n   * @return {Interval}\n   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC())\n   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 }))\n   */;\n  _proto.mapEndpoints = function mapEndpoints(mapFn) {\n    return Interval.fromDateTimes(mapFn(this.s), mapFn(this.e));\n  };\n  _createClass(Interval, [{\n    key: \"start\",\n    get: function get() {\n      return this.isValid ? this.s : null;\n    }\n\n    /**\n     * Returns the end of the Interval\n     * @type {DateTime}\n     */\n  }, {\n    key: \"end\",\n    get: function get() {\n      return this.isValid ? this.e : null;\n    }\n\n    /**\n     * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'.\n     * @type {boolean}\n     */\n  }, {\n    key: \"isValid\",\n    get: function get() {\n      return this.invalidReason === null;\n    }\n\n    /**\n     * Returns an error code if this Interval is invalid, or null if the Interval is valid\n     * @type {string}\n     */\n  }, {\n    key: \"invalidReason\",\n    get: function get() {\n      return this.invalid ? this.invalid.reason : null;\n    }\n\n    /**\n     * Returns an explanation of why this Interval became invalid, or null if the Interval is valid\n     * @type {string}\n     */\n  }, {\n    key: \"invalidExplanation\",\n    get: function get() {\n      return this.invalid ? this.invalid.explanation : null;\n    }\n  }]);\n  return Interval;\n}(Symbol.for(\"nodejs.util.inspect.custom\"));\n\n/**\n * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment.\n */\nvar Info = /*#__PURE__*/function () {\n  function Info() {}\n  /**\n   * Return whether the specified zone contains a DST.\n   * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone.\n   * @return {boolean}\n   */\n  Info.hasDST = function hasDST(zone) {\n    if (zone === void 0) {\n      zone = Settings.defaultZone;\n    }\n    var proto = DateTime.now().setZone(zone).set({\n      month: 12\n    });\n    return !zone.isUniversal && proto.offset !== proto.set({\n      month: 6\n    }).offset;\n  }\n\n  /**\n   * Return whether the specified zone is a valid IANA specifier.\n   * @param {string} zone - Zone to check\n   * @return {boolean}\n   */;\n  Info.isValidIANAZone = function isValidIANAZone(zone) {\n    return IANAZone.isValidZone(zone);\n  }\n\n  /**\n   * Converts the input into a {@link Zone} instance.\n   *\n   * * If `input` is already a Zone instance, it is returned unchanged.\n   * * If `input` is a string containing a valid time zone name, a Zone instance\n   *   with that name is returned.\n   * * If `input` is a string that doesn't refer to a known time zone, a Zone\n   *   instance with {@link Zone#isValid} == false is returned.\n   * * If `input is a number, a Zone instance with the specified fixed offset\n   *   in minutes is returned.\n   * * If `input` is `null` or `undefined`, the default zone is returned.\n   * @param {string|Zone|number} [input] - the value to be converted\n   * @return {Zone}\n   */;\n  Info.normalizeZone = function normalizeZone$1(input) {\n    return normalizeZone(input, Settings.defaultZone);\n  }\n\n  /**\n   * Get the weekday on which the week starts according to the given locale.\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @returns {number} the start of the week, 1 for Monday through 7 for Sunday\n   */;\n  Info.getStartOfWeek = function getStartOfWeek(_temp) {\n    var _ref = _temp === void 0 ? {} : _temp,\n      _ref$locale = _ref.locale,\n      locale = _ref$locale === void 0 ? null : _ref$locale,\n      _ref$locObj = _ref.locObj,\n      locObj = _ref$locObj === void 0 ? null : _ref$locObj;\n    return (locObj || Locale.create(locale)).getStartOfWeek();\n  }\n\n  /**\n   * Get the minimum number of days necessary in a week before it is considered part of the next year according\n   * to the given locale.\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @returns {number}\n   */;\n  Info.getMinimumDaysInFirstWeek = function getMinimumDaysInFirstWeek(_temp2) {\n    var _ref2 = _temp2 === void 0 ? {} : _temp2,\n      _ref2$locale = _ref2.locale,\n      locale = _ref2$locale === void 0 ? null : _ref2$locale,\n      _ref2$locObj = _ref2.locObj,\n      locObj = _ref2$locObj === void 0 ? null : _ref2$locObj;\n    return (locObj || Locale.create(locale)).getMinDaysInFirstWeek();\n  }\n\n  /**\n   * Get the weekdays, which are considered the weekend according to the given locale\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @returns {number[]} an array of weekdays, 1 for Monday through 7 for Sunday\n   */;\n  Info.getWeekendWeekdays = function getWeekendWeekdays(_temp3) {\n    var _ref3 = _temp3 === void 0 ? {} : _temp3,\n      _ref3$locale = _ref3.locale,\n      locale = _ref3$locale === void 0 ? null : _ref3$locale,\n      _ref3$locObj = _ref3.locObj,\n      locObj = _ref3$locObj === void 0 ? null : _ref3$locObj;\n    // copy the array, because we cache it internally\n    return (locObj || Locale.create(locale)).getWeekendDays().slice();\n  }\n\n  /**\n   * Return an array of standalone month names.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @param {string} [opts.outputCalendar='gregory'] - the calendar\n   * @example Info.months()[0] //=> 'January'\n   * @example Info.months('short')[0] //=> 'Jan'\n   * @example Info.months('numeric')[0] //=> '1'\n   * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.'\n   * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١'\n   * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I'\n   * @return {Array}\n   */;\n  Info.months = function months(length, _temp4) {\n    if (length === void 0) {\n      length = \"long\";\n    }\n    var _ref4 = _temp4 === void 0 ? {} : _temp4,\n      _ref4$locale = _ref4.locale,\n      locale = _ref4$locale === void 0 ? null : _ref4$locale,\n      _ref4$numberingSystem = _ref4.numberingSystem,\n      numberingSystem = _ref4$numberingSystem === void 0 ? null : _ref4$numberingSystem,\n      _ref4$locObj = _ref4.locObj,\n      locObj = _ref4$locObj === void 0 ? null : _ref4$locObj,\n      _ref4$outputCalendar = _ref4.outputCalendar,\n      outputCalendar = _ref4$outputCalendar === void 0 ? \"gregory\" : _ref4$outputCalendar;\n    return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length);\n  }\n\n  /**\n   * Return an array of format month names.\n   * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that\n   * changes the string.\n   * See {@link Info#months}\n   * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @param {string} [opts.outputCalendar='gregory'] - the calendar\n   * @return {Array}\n   */;\n  Info.monthsFormat = function monthsFormat(length, _temp5) {\n    if (length === void 0) {\n      length = \"long\";\n    }\n    var _ref5 = _temp5 === void 0 ? {} : _temp5,\n      _ref5$locale = _ref5.locale,\n      locale = _ref5$locale === void 0 ? null : _ref5$locale,\n      _ref5$numberingSystem = _ref5.numberingSystem,\n      numberingSystem = _ref5$numberingSystem === void 0 ? null : _ref5$numberingSystem,\n      _ref5$locObj = _ref5.locObj,\n      locObj = _ref5$locObj === void 0 ? null : _ref5$locObj,\n      _ref5$outputCalendar = _ref5.outputCalendar,\n      outputCalendar = _ref5$outputCalendar === void 0 ? \"gregory\" : _ref5$outputCalendar;\n    return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length, true);\n  }\n\n  /**\n   * Return an array of standalone week names.\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param {string} [length='long'] - the length of the weekday representation, such as \"narrow\", \"short\", \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @example Info.weekdays()[0] //=> 'Monday'\n   * @example Info.weekdays('short')[0] //=> 'Mon'\n   * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.'\n   * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين'\n   * @return {Array}\n   */;\n  Info.weekdays = function weekdays(length, _temp6) {\n    if (length === void 0) {\n      length = \"long\";\n    }\n    var _ref6 = _temp6 === void 0 ? {} : _temp6,\n      _ref6$locale = _ref6.locale,\n      locale = _ref6$locale === void 0 ? null : _ref6$locale,\n      _ref6$numberingSystem = _ref6.numberingSystem,\n      numberingSystem = _ref6$numberingSystem === void 0 ? null : _ref6$numberingSystem,\n      _ref6$locObj = _ref6.locObj,\n      locObj = _ref6$locObj === void 0 ? null : _ref6$locObj;\n    return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length);\n  }\n\n  /**\n   * Return an array of format week names.\n   * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that\n   * changes the string.\n   * See {@link Info#weekdays}\n   * @param {string} [length='long'] - the length of the month representation, such as \"narrow\", \"short\", \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale=null] - the locale code\n   * @param {string} [opts.numberingSystem=null] - the numbering system\n   * @param {string} [opts.locObj=null] - an existing locale object to use\n   * @return {Array}\n   */;\n  Info.weekdaysFormat = function weekdaysFormat(length, _temp7) {\n    if (length === void 0) {\n      length = \"long\";\n    }\n    var _ref7 = _temp7 === void 0 ? {} : _temp7,\n      _ref7$locale = _ref7.locale,\n      locale = _ref7$locale === void 0 ? null : _ref7$locale,\n      _ref7$numberingSystem = _ref7.numberingSystem,\n      numberingSystem = _ref7$numberingSystem === void 0 ? null : _ref7$numberingSystem,\n      _ref7$locObj = _ref7.locObj,\n      locObj = _ref7$locObj === void 0 ? null : _ref7$locObj;\n    return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length, true);\n  }\n\n  /**\n   * Return an array of meridiems.\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @example Info.meridiems() //=> [ 'AM', 'PM' ]\n   * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ]\n   * @return {Array}\n   */;\n  Info.meridiems = function meridiems(_temp8) {\n    var _ref8 = _temp8 === void 0 ? {} : _temp8,\n      _ref8$locale = _ref8.locale,\n      locale = _ref8$locale === void 0 ? null : _ref8$locale;\n    return Locale.create(locale).meridiems();\n  }\n\n  /**\n   * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian.\n   * @param {string} [length='short'] - the length of the era representation, such as \"short\" or \"long\".\n   * @param {Object} opts - options\n   * @param {string} [opts.locale] - the locale code\n   * @example Info.eras() //=> [ 'BC', 'AD' ]\n   * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ]\n   * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ]\n   * @return {Array}\n   */;\n  Info.eras = function eras(length, _temp9) {\n    if (length === void 0) {\n      length = \"short\";\n    }\n    var _ref9 = _temp9 === void 0 ? {} : _temp9,\n      _ref9$locale = _ref9.locale,\n      locale = _ref9$locale === void 0 ? null : _ref9$locale;\n    return Locale.create(locale, null, \"gregory\").eras(length);\n  }\n\n  /**\n   * Return the set of available features in this environment.\n   * Some features of Luxon are not available in all environments. For example, on older browsers, relative time formatting support is not available. Use this function to figure out if that's the case.\n   * Keys:\n   * * `relative`: whether this environment supports relative time formatting\n   * * `localeWeek`: whether this environment supports different weekdays for the start of the week based on the locale\n   * @example Info.features() //=> { relative: false, localeWeek: true }\n   * @return {Object}\n   */;\n  Info.features = function features() {\n    return {\n      relative: hasRelative(),\n      localeWeek: hasLocaleWeekInfo()\n    };\n  };\n  return Info;\n}();\n\nfunction dayDiff(earlier, later) {\n  var utcDayStart = function utcDayStart(dt) {\n      return dt.toUTC(0, {\n        keepLocalTime: true\n      }).startOf(\"day\").valueOf();\n    },\n    ms = utcDayStart(later) - utcDayStart(earlier);\n  return Math.floor(Duration.fromMillis(ms).as(\"days\"));\n}\nfunction highOrderDiffs(cursor, later, units) {\n  var differs = [[\"years\", function (a, b) {\n    return b.year - a.year;\n  }], [\"quarters\", function (a, b) {\n    return b.quarter - a.quarter + (b.year - a.year) * 4;\n  }], [\"months\", function (a, b) {\n    return b.month - a.month + (b.year - a.year) * 12;\n  }], [\"weeks\", function (a, b) {\n    var days = dayDiff(a, b);\n    return (days - days % 7) / 7;\n  }], [\"days\", dayDiff]];\n  var results = {};\n  var earlier = cursor;\n  var lowestOrder, highWater;\n\n  /* This loop tries to diff using larger units first.\n     If we overshoot, we backtrack and try the next smaller unit.\n     \"cursor\" starts out at the earlier timestamp and moves closer and closer to \"later\"\n     as we use smaller and smaller units.\n     highWater keeps track of where we would be if we added one more of the smallest unit,\n     this is used later to potentially convert any difference smaller than the smallest higher order unit\n     into a fraction of that smallest higher order unit\n  */\n  for (var _i = 0, _differs = differs; _i < _differs.length; _i++) {\n    var _differs$_i = _differs[_i],\n      unit = _differs$_i[0],\n      differ = _differs$_i[1];\n    if (units.indexOf(unit) >= 0) {\n      lowestOrder = unit;\n      results[unit] = differ(cursor, later);\n      highWater = earlier.plus(results);\n      if (highWater > later) {\n        // we overshot the end point, backtrack cursor by 1\n        results[unit]--;\n        cursor = earlier.plus(results);\n\n        // if we are still overshooting now, we need to backtrack again\n        // this happens in certain situations when diffing times in different zones,\n        // because this calculation ignores time zones\n        if (cursor > later) {\n          // keep the \"overshot by 1\" around as highWater\n          highWater = cursor;\n          // backtrack cursor by 1\n          results[unit]--;\n          cursor = earlier.plus(results);\n        }\n      } else {\n        cursor = highWater;\n      }\n    }\n  }\n  return [cursor, results, highWater, lowestOrder];\n}\nfunction _diff (earlier, later, units, opts) {\n  var _highOrderDiffs = highOrderDiffs(earlier, later, units),\n    cursor = _highOrderDiffs[0],\n    results = _highOrderDiffs[1],\n    highWater = _highOrderDiffs[2],\n    lowestOrder = _highOrderDiffs[3];\n  var remainingMillis = later - cursor;\n  var lowerOrderUnits = units.filter(function (u) {\n    return [\"hours\", \"minutes\", \"seconds\", \"milliseconds\"].indexOf(u) >= 0;\n  });\n  if (lowerOrderUnits.length === 0) {\n    if (highWater < later) {\n      var _cursor$plus;\n      highWater = cursor.plus((_cursor$plus = {}, _cursor$plus[lowestOrder] = 1, _cursor$plus));\n    }\n    if (highWater !== cursor) {\n      results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor);\n    }\n  }\n  var duration = Duration.fromObject(results, opts);\n  if (lowerOrderUnits.length > 0) {\n    var _Duration$fromMillis;\n    return (_Duration$fromMillis = Duration.fromMillis(remainingMillis, opts)).shiftTo.apply(_Duration$fromMillis, lowerOrderUnits).plus(duration);\n  } else {\n    return duration;\n  }\n}\n\nvar numberingSystems = {\n  arab: \"[\\u0660-\\u0669]\",\n  arabext: \"[\\u06F0-\\u06F9]\",\n  bali: \"[\\u1B50-\\u1B59]\",\n  beng: \"[\\u09E6-\\u09EF]\",\n  deva: \"[\\u0966-\\u096F]\",\n  fullwide: \"[\\uFF10-\\uFF19]\",\n  gujr: \"[\\u0AE6-\\u0AEF]\",\n  hanidec: \"[〇|一|二|三|四|五|六|七|八|九]\",\n  khmr: \"[\\u17E0-\\u17E9]\",\n  knda: \"[\\u0CE6-\\u0CEF]\",\n  laoo: \"[\\u0ED0-\\u0ED9]\",\n  limb: \"[\\u1946-\\u194F]\",\n  mlym: \"[\\u0D66-\\u0D6F]\",\n  mong: \"[\\u1810-\\u1819]\",\n  mymr: \"[\\u1040-\\u1049]\",\n  orya: \"[\\u0B66-\\u0B6F]\",\n  tamldec: \"[\\u0BE6-\\u0BEF]\",\n  telu: \"[\\u0C66-\\u0C6F]\",\n  thai: \"[\\u0E50-\\u0E59]\",\n  tibt: \"[\\u0F20-\\u0F29]\",\n  latn: \"\\\\d\"\n};\nvar numberingSystemsUTF16 = {\n  arab: [1632, 1641],\n  arabext: [1776, 1785],\n  bali: [6992, 7001],\n  beng: [2534, 2543],\n  deva: [2406, 2415],\n  fullwide: [65296, 65303],\n  gujr: [2790, 2799],\n  khmr: [6112, 6121],\n  knda: [3302, 3311],\n  laoo: [3792, 3801],\n  limb: [6470, 6479],\n  mlym: [3430, 3439],\n  mong: [6160, 6169],\n  mymr: [4160, 4169],\n  orya: [2918, 2927],\n  tamldec: [3046, 3055],\n  telu: [3174, 3183],\n  thai: [3664, 3673],\n  tibt: [3872, 3881]\n};\nvar hanidecChars = numberingSystems.hanidec.replace(/[\\[|\\]]/g, \"\").split(\"\");\nfunction parseDigits(str) {\n  var value = parseInt(str, 10);\n  if (isNaN(value)) {\n    value = \"\";\n    for (var i = 0; i < str.length; i++) {\n      var code = str.charCodeAt(i);\n      if (str[i].search(numberingSystems.hanidec) !== -1) {\n        value += hanidecChars.indexOf(str[i]);\n      } else {\n        for (var key in numberingSystemsUTF16) {\n          var _numberingSystemsUTF = numberingSystemsUTF16[key],\n            min = _numberingSystemsUTF[0],\n            max = _numberingSystemsUTF[1];\n          if (code >= min && code <= max) {\n            value += code - min;\n          }\n        }\n      }\n    }\n    return parseInt(value, 10);\n  } else {\n    return value;\n  }\n}\nfunction digitRegex(_ref, append) {\n  var numberingSystem = _ref.numberingSystem;\n  if (append === void 0) {\n    append = \"\";\n  }\n  return new RegExp(\"\" + numberingSystems[numberingSystem || \"latn\"] + append);\n}\n\nvar MISSING_FTP = \"missing Intl.DateTimeFormat.formatToParts support\";\nfunction intUnit(regex, post) {\n  if (post === void 0) {\n    post = function post(i) {\n      return i;\n    };\n  }\n  return {\n    regex: regex,\n    deser: function deser(_ref) {\n      var s = _ref[0];\n      return post(parseDigits(s));\n    }\n  };\n}\nvar NBSP = String.fromCharCode(160);\nvar spaceOrNBSP = \"[ \" + NBSP + \"]\";\nvar spaceOrNBSPRegExp = new RegExp(spaceOrNBSP, \"g\");\nfunction fixListRegex(s) {\n  // make dots optional and also make them literal\n  // make space and non breakable space characters interchangeable\n  return s.replace(/\\./g, \"\\\\.?\").replace(spaceOrNBSPRegExp, spaceOrNBSP);\n}\nfunction stripInsensitivities(s) {\n  return s.replace(/\\./g, \"\") // ignore dots that were made optional\n  .replace(spaceOrNBSPRegExp, \" \") // interchange space and nbsp\n  .toLowerCase();\n}\nfunction oneOf(strings, startIndex) {\n  if (strings === null) {\n    return null;\n  } else {\n    return {\n      regex: RegExp(strings.map(fixListRegex).join(\"|\")),\n      deser: function deser(_ref2) {\n        var s = _ref2[0];\n        return strings.findIndex(function (i) {\n          return stripInsensitivities(s) === stripInsensitivities(i);\n        }) + startIndex;\n      }\n    };\n  }\n}\nfunction offset(regex, groups) {\n  return {\n    regex: regex,\n    deser: function deser(_ref3) {\n      var h = _ref3[1],\n        m = _ref3[2];\n      return signedOffset(h, m);\n    },\n    groups: groups\n  };\n}\nfunction simple(regex) {\n  return {\n    regex: regex,\n    deser: function deser(_ref4) {\n      var s = _ref4[0];\n      return s;\n    }\n  };\n}\nfunction escapeToken(value) {\n  return value.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\");\n}\n\n/**\n * @param token\n * @param {Locale} loc\n */\nfunction unitForToken(token, loc) {\n  var one = digitRegex(loc),\n    two = digitRegex(loc, \"{2}\"),\n    three = digitRegex(loc, \"{3}\"),\n    four = digitRegex(loc, \"{4}\"),\n    six = digitRegex(loc, \"{6}\"),\n    oneOrTwo = digitRegex(loc, \"{1,2}\"),\n    oneToThree = digitRegex(loc, \"{1,3}\"),\n    oneToSix = digitRegex(loc, \"{1,6}\"),\n    oneToNine = digitRegex(loc, \"{1,9}\"),\n    twoToFour = digitRegex(loc, \"{2,4}\"),\n    fourToSix = digitRegex(loc, \"{4,6}\"),\n    literal = function literal(t) {\n      return {\n        regex: RegExp(escapeToken(t.val)),\n        deser: function deser(_ref5) {\n          var s = _ref5[0];\n          return s;\n        },\n        literal: true\n      };\n    },\n    unitate = function unitate(t) {\n      if (token.literal) {\n        return literal(t);\n      }\n      switch (t.val) {\n        // era\n        case \"G\":\n          return oneOf(loc.eras(\"short\"), 0);\n        case \"GG\":\n          return oneOf(loc.eras(\"long\"), 0);\n        // years\n        case \"y\":\n          return intUnit(oneToSix);\n        case \"yy\":\n          return intUnit(twoToFour, untruncateYear);\n        case \"yyyy\":\n          return intUnit(four);\n        case \"yyyyy\":\n          return intUnit(fourToSix);\n        case \"yyyyyy\":\n          return intUnit(six);\n        // months\n        case \"M\":\n          return intUnit(oneOrTwo);\n        case \"MM\":\n          return intUnit(two);\n        case \"MMM\":\n          return oneOf(loc.months(\"short\", true), 1);\n        case \"MMMM\":\n          return oneOf(loc.months(\"long\", true), 1);\n        case \"L\":\n          return intUnit(oneOrTwo);\n        case \"LL\":\n          return intUnit(two);\n        case \"LLL\":\n          return oneOf(loc.months(\"short\", false), 1);\n        case \"LLLL\":\n          return oneOf(loc.months(\"long\", false), 1);\n        // dates\n        case \"d\":\n          return intUnit(oneOrTwo);\n        case \"dd\":\n          return intUnit(two);\n        // ordinals\n        case \"o\":\n          return intUnit(oneToThree);\n        case \"ooo\":\n          return intUnit(three);\n        // time\n        case \"HH\":\n          return intUnit(two);\n        case \"H\":\n          return intUnit(oneOrTwo);\n        case \"hh\":\n          return intUnit(two);\n        case \"h\":\n          return intUnit(oneOrTwo);\n        case \"mm\":\n          return intUnit(two);\n        case \"m\":\n          return intUnit(oneOrTwo);\n        case \"q\":\n          return intUnit(oneOrTwo);\n        case \"qq\":\n          return intUnit(two);\n        case \"s\":\n          return intUnit(oneOrTwo);\n        case \"ss\":\n          return intUnit(two);\n        case \"S\":\n          return intUnit(oneToThree);\n        case \"SSS\":\n          return intUnit(three);\n        case \"u\":\n          return simple(oneToNine);\n        case \"uu\":\n          return simple(oneOrTwo);\n        case \"uuu\":\n          return intUnit(one);\n        // meridiem\n        case \"a\":\n          return oneOf(loc.meridiems(), 0);\n        // weekYear (k)\n        case \"kkkk\":\n          return intUnit(four);\n        case \"kk\":\n          return intUnit(twoToFour, untruncateYear);\n        // weekNumber (W)\n        case \"W\":\n          return intUnit(oneOrTwo);\n        case \"WW\":\n          return intUnit(two);\n        // weekdays\n        case \"E\":\n        case \"c\":\n          return intUnit(one);\n        case \"EEE\":\n          return oneOf(loc.weekdays(\"short\", false), 1);\n        case \"EEEE\":\n          return oneOf(loc.weekdays(\"long\", false), 1);\n        case \"ccc\":\n          return oneOf(loc.weekdays(\"short\", true), 1);\n        case \"cccc\":\n          return oneOf(loc.weekdays(\"long\", true), 1);\n        // offset/zone\n        case \"Z\":\n        case \"ZZ\":\n          return offset(new RegExp(\"([+-]\" + oneOrTwo.source + \")(?::(\" + two.source + \"))?\"), 2);\n        case \"ZZZ\":\n          return offset(new RegExp(\"([+-]\" + oneOrTwo.source + \")(\" + two.source + \")?\"), 2);\n        // we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing\n        // because we don't have any way to figure out what they are\n        case \"z\":\n          return simple(/[a-z_+-/]{1,256}?/i);\n        // this special-case \"token\" represents a place where a macro-token expanded into a white-space literal\n        // in this case we accept any non-newline white-space\n        case \" \":\n          return simple(/[^\\S\\n\\r]/);\n        default:\n          return literal(t);\n      }\n    };\n  var unit = unitate(token) || {\n    invalidReason: MISSING_FTP\n  };\n  unit.token = token;\n  return unit;\n}\nvar partTypeStyleToTokenVal = {\n  year: {\n    \"2-digit\": \"yy\",\n    numeric: \"yyyyy\"\n  },\n  month: {\n    numeric: \"M\",\n    \"2-digit\": \"MM\",\n    short: \"MMM\",\n    long: \"MMMM\"\n  },\n  day: {\n    numeric: \"d\",\n    \"2-digit\": \"dd\"\n  },\n  weekday: {\n    short: \"EEE\",\n    long: \"EEEE\"\n  },\n  dayperiod: \"a\",\n  dayPeriod: \"a\",\n  hour12: {\n    numeric: \"h\",\n    \"2-digit\": \"hh\"\n  },\n  hour24: {\n    numeric: \"H\",\n    \"2-digit\": \"HH\"\n  },\n  minute: {\n    numeric: \"m\",\n    \"2-digit\": \"mm\"\n  },\n  second: {\n    numeric: \"s\",\n    \"2-digit\": \"ss\"\n  },\n  timeZoneName: {\n    long: \"ZZZZZ\",\n    short: \"ZZZ\"\n  }\n};\nfunction tokenForPart(part, formatOpts, resolvedOpts) {\n  var type = part.type,\n    value = part.value;\n  if (type === \"literal\") {\n    var isSpace = /^\\s+$/.test(value);\n    return {\n      literal: !isSpace,\n      val: isSpace ? \" \" : value\n    };\n  }\n  var style = formatOpts[type];\n\n  // The user might have explicitly specified hour12 or hourCycle\n  // if so, respect their decision\n  // if not, refer back to the resolvedOpts, which are based on the locale\n  var actualType = type;\n  if (type === \"hour\") {\n    if (formatOpts.hour12 != null) {\n      actualType = formatOpts.hour12 ? \"hour12\" : \"hour24\";\n    } else if (formatOpts.hourCycle != null) {\n      if (formatOpts.hourCycle === \"h11\" || formatOpts.hourCycle === \"h12\") {\n        actualType = \"hour12\";\n      } else {\n        actualType = \"hour24\";\n      }\n    } else {\n      // tokens only differentiate between 24 hours or not,\n      // so we do not need to check hourCycle here, which is less supported anyways\n      actualType = resolvedOpts.hour12 ? \"hour12\" : \"hour24\";\n    }\n  }\n  var val = partTypeStyleToTokenVal[actualType];\n  if (typeof val === \"object\") {\n    val = val[style];\n  }\n  if (val) {\n    return {\n      literal: false,\n      val: val\n    };\n  }\n  return undefined;\n}\nfunction buildRegex(units) {\n  var re = units.map(function (u) {\n    return u.regex;\n  }).reduce(function (f, r) {\n    return f + \"(\" + r.source + \")\";\n  }, \"\");\n  return [\"^\" + re + \"$\", units];\n}\nfunction match(input, regex, handlers) {\n  var matches = input.match(regex);\n  if (matches) {\n    var all = {};\n    var matchIndex = 1;\n    for (var i in handlers) {\n      if (hasOwnProperty(handlers, i)) {\n        var h = handlers[i],\n          groups = h.groups ? h.groups + 1 : 1;\n        if (!h.literal && h.token) {\n          all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups));\n        }\n        matchIndex += groups;\n      }\n    }\n    return [matches, all];\n  } else {\n    return [matches, {}];\n  }\n}\nfunction dateTimeFromMatches(matches) {\n  var toField = function toField(token) {\n    switch (token) {\n      case \"S\":\n        return \"millisecond\";\n      case \"s\":\n        return \"second\";\n      case \"m\":\n        return \"minute\";\n      case \"h\":\n      case \"H\":\n        return \"hour\";\n      case \"d\":\n        return \"day\";\n      case \"o\":\n        return \"ordinal\";\n      case \"L\":\n      case \"M\":\n        return \"month\";\n      case \"y\":\n        return \"year\";\n      case \"E\":\n      case \"c\":\n        return \"weekday\";\n      case \"W\":\n        return \"weekNumber\";\n      case \"k\":\n        return \"weekYear\";\n      case \"q\":\n        return \"quarter\";\n      default:\n        return null;\n    }\n  };\n  var zone = null;\n  var specificOffset;\n  if (!isUndefined(matches.z)) {\n    zone = IANAZone.create(matches.z);\n  }\n  if (!isUndefined(matches.Z)) {\n    if (!zone) {\n      zone = new FixedOffsetZone(matches.Z);\n    }\n    specificOffset = matches.Z;\n  }\n  if (!isUndefined(matches.q)) {\n    matches.M = (matches.q - 1) * 3 + 1;\n  }\n  if (!isUndefined(matches.h)) {\n    if (matches.h < 12 && matches.a === 1) {\n      matches.h += 12;\n    } else if (matches.h === 12 && matches.a === 0) {\n      matches.h = 0;\n    }\n  }\n  if (matches.G === 0 && matches.y) {\n    matches.y = -matches.y;\n  }\n  if (!isUndefined(matches.u)) {\n    matches.S = parseMillis(matches.u);\n  }\n  var vals = Object.keys(matches).reduce(function (r, k) {\n    var f = toField(k);\n    if (f) {\n      r[f] = matches[k];\n    }\n    return r;\n  }, {});\n  return [vals, zone, specificOffset];\n}\nvar dummyDateTimeCache = null;\nfunction getDummyDateTime() {\n  if (!dummyDateTimeCache) {\n    dummyDateTimeCache = DateTime.fromMillis(1555555555555);\n  }\n  return dummyDateTimeCache;\n}\nfunction maybeExpandMacroToken(token, locale) {\n  if (token.literal) {\n    return token;\n  }\n  var formatOpts = Formatter.macroTokenToFormatOpts(token.val);\n  var tokens = formatOptsToTokens(formatOpts, locale);\n  if (tokens == null || tokens.includes(undefined)) {\n    return token;\n  }\n  return tokens;\n}\nfunction expandMacroTokens(tokens, locale) {\n  var _Array$prototype;\n  return (_Array$prototype = Array.prototype).concat.apply(_Array$prototype, tokens.map(function (t) {\n    return maybeExpandMacroToken(t, locale);\n  }));\n}\n\n/**\n * @private\n */\n\nfunction explainFromTokens(locale, input, format) {\n  var tokens = expandMacroTokens(Formatter.parseFormat(format), locale),\n    units = tokens.map(function (t) {\n      return unitForToken(t, locale);\n    }),\n    disqualifyingUnit = units.find(function (t) {\n      return t.invalidReason;\n    });\n  if (disqualifyingUnit) {\n    return {\n      input: input,\n      tokens: tokens,\n      invalidReason: disqualifyingUnit.invalidReason\n    };\n  } else {\n    var _buildRegex = buildRegex(units),\n      regexString = _buildRegex[0],\n      handlers = _buildRegex[1],\n      regex = RegExp(regexString, \"i\"),\n      _match = match(input, regex, handlers),\n      rawMatches = _match[0],\n      matches = _match[1],\n      _ref6 = matches ? dateTimeFromMatches(matches) : [null, null, undefined],\n      result = _ref6[0],\n      zone = _ref6[1],\n      specificOffset = _ref6[2];\n    if (hasOwnProperty(matches, \"a\") && hasOwnProperty(matches, \"H\")) {\n      throw new ConflictingSpecificationError(\"Can't include meridiem when specifying 24-hour format\");\n    }\n    return {\n      input: input,\n      tokens: tokens,\n      regex: regex,\n      rawMatches: rawMatches,\n      matches: matches,\n      result: result,\n      zone: zone,\n      specificOffset: specificOffset\n    };\n  }\n}\nfunction parseFromTokens(locale, input, format) {\n  var _explainFromTokens = explainFromTokens(locale, input, format),\n    result = _explainFromTokens.result,\n    zone = _explainFromTokens.zone,\n    specificOffset = _explainFromTokens.specificOffset,\n    invalidReason = _explainFromTokens.invalidReason;\n  return [result, zone, specificOffset, invalidReason];\n}\nfunction formatOptsToTokens(formatOpts, locale) {\n  if (!formatOpts) {\n    return null;\n  }\n  var formatter = Formatter.create(locale, formatOpts);\n  var df = formatter.dtFormatter(getDummyDateTime());\n  var parts = df.formatToParts();\n  var resolvedOpts = df.resolvedOptions();\n  return parts.map(function (p) {\n    return tokenForPart(p, formatOpts, resolvedOpts);\n  });\n}\n\nvar INVALID = \"Invalid DateTime\";\nvar MAX_DATE = 8.64e15;\nfunction unsupportedZone(zone) {\n  return new Invalid(\"unsupported zone\", \"the zone \\\"\" + zone.name + \"\\\" is not supported\");\n}\n\n// we cache week data on the DT object and this intermediates the cache\n/**\n * @param {DateTime} dt\n */\nfunction possiblyCachedWeekData(dt) {\n  if (dt.weekData === null) {\n    dt.weekData = gregorianToWeek(dt.c);\n  }\n  return dt.weekData;\n}\n\n/**\n * @param {DateTime} dt\n */\nfunction possiblyCachedLocalWeekData(dt) {\n  if (dt.localWeekData === null) {\n    dt.localWeekData = gregorianToWeek(dt.c, dt.loc.getMinDaysInFirstWeek(), dt.loc.getStartOfWeek());\n  }\n  return dt.localWeekData;\n}\n\n// clone really means, \"make a new object with these modifications\". all \"setters\" really use this\n// to create a new object while only changing some of the properties\nfunction clone(inst, alts) {\n  var current = {\n    ts: inst.ts,\n    zone: inst.zone,\n    c: inst.c,\n    o: inst.o,\n    loc: inst.loc,\n    invalid: inst.invalid\n  };\n  return new DateTime(_extends({}, current, alts, {\n    old: current\n  }));\n}\n\n// find the right offset a given local time. The o input is our guess, which determines which\n// offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)\nfunction fixOffset(localTS, o, tz) {\n  // Our UTC time is just a guess because our offset is just a guess\n  var utcGuess = localTS - o * 60 * 1000;\n\n  // Test whether the zone matches the offset for this ts\n  var o2 = tz.offset(utcGuess);\n\n  // If so, offset didn't change and we're done\n  if (o === o2) {\n    return [utcGuess, o];\n  }\n\n  // If not, change the ts by the difference in the offset\n  utcGuess -= (o2 - o) * 60 * 1000;\n\n  // If that gives us the local time we want, we're done\n  var o3 = tz.offset(utcGuess);\n  if (o2 === o3) {\n    return [utcGuess, o2];\n  }\n\n  // If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time\n  return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n}\n\n// convert an epoch timestamp into a calendar object with the given offset\nfunction tsToObj(ts, offset) {\n  ts += offset * 60 * 1000;\n  var d = new Date(ts);\n  return {\n    year: d.getUTCFullYear(),\n    month: d.getUTCMonth() + 1,\n    day: d.getUTCDate(),\n    hour: d.getUTCHours(),\n    minute: d.getUTCMinutes(),\n    second: d.getUTCSeconds(),\n    millisecond: d.getUTCMilliseconds()\n  };\n}\n\n// convert a calendar object to a epoch timestamp\nfunction objToTS(obj, offset, zone) {\n  return fixOffset(objToLocalTS(obj), offset, zone);\n}\n\n// create a new DT instance by adding a duration, adjusting for DSTs\nfunction adjustTime(inst, dur) {\n  var oPre = inst.o,\n    year = inst.c.year + Math.trunc(dur.years),\n    month = inst.c.month + Math.trunc(dur.months) + Math.trunc(dur.quarters) * 3,\n    c = _extends({}, inst.c, {\n      year: year,\n      month: month,\n      day: Math.min(inst.c.day, daysInMonth(year, month)) + Math.trunc(dur.days) + Math.trunc(dur.weeks) * 7\n    }),\n    millisToAdd = Duration.fromObject({\n      years: dur.years - Math.trunc(dur.years),\n      quarters: dur.quarters - Math.trunc(dur.quarters),\n      months: dur.months - Math.trunc(dur.months),\n      weeks: dur.weeks - Math.trunc(dur.weeks),\n      days: dur.days - Math.trunc(dur.days),\n      hours: dur.hours,\n      minutes: dur.minutes,\n      seconds: dur.seconds,\n      milliseconds: dur.milliseconds\n    }).as(\"milliseconds\"),\n    localTS = objToLocalTS(c);\n  var _fixOffset = fixOffset(localTS, oPre, inst.zone),\n    ts = _fixOffset[0],\n    o = _fixOffset[1];\n  if (millisToAdd !== 0) {\n    ts += millisToAdd;\n    // that could have changed the offset by going over a DST, but we want to keep the ts the same\n    o = inst.zone.offset(ts);\n  }\n  return {\n    ts: ts,\n    o: o\n  };\n}\n\n// helper useful in turning the results of parsing into real dates\n// by handling the zone options\nfunction parseDataToDateTime(parsed, parsedZone, opts, format, text, specificOffset) {\n  var setZone = opts.setZone,\n    zone = opts.zone;\n  if (parsed && Object.keys(parsed).length !== 0 || parsedZone) {\n    var interpretationZone = parsedZone || zone,\n      inst = DateTime.fromObject(parsed, _extends({}, opts, {\n        zone: interpretationZone,\n        specificOffset: specificOffset\n      }));\n    return setZone ? inst : inst.setZone(zone);\n  } else {\n    return DateTime.invalid(new Invalid(\"unparsable\", \"the input \\\"\" + text + \"\\\" can't be parsed as \" + format));\n  }\n}\n\n// if you want to output a technical format (e.g. RFC 2822), this helper\n// helps handle the details\nfunction toTechFormat(dt, format, allowZ) {\n  if (allowZ === void 0) {\n    allowZ = true;\n  }\n  return dt.isValid ? Formatter.create(Locale.create(\"en-US\"), {\n    allowZ: allowZ,\n    forceSimple: true\n  }).formatDateTimeFromString(dt, format) : null;\n}\nfunction _toISODate(o, extended) {\n  var longFormat = o.c.year > 9999 || o.c.year < 0;\n  var c = \"\";\n  if (longFormat && o.c.year >= 0) c += \"+\";\n  c += padStart(o.c.year, longFormat ? 6 : 4);\n  if (extended) {\n    c += \"-\";\n    c += padStart(o.c.month);\n    c += \"-\";\n    c += padStart(o.c.day);\n  } else {\n    c += padStart(o.c.month);\n    c += padStart(o.c.day);\n  }\n  return c;\n}\nfunction _toISOTime(o, extended, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone) {\n  var c = padStart(o.c.hour);\n  if (extended) {\n    c += \":\";\n    c += padStart(o.c.minute);\n    if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n      c += \":\";\n    }\n  } else {\n    c += padStart(o.c.minute);\n  }\n  if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n    c += padStart(o.c.second);\n    if (o.c.millisecond !== 0 || !suppressMilliseconds) {\n      c += \".\";\n      c += padStart(o.c.millisecond, 3);\n    }\n  }\n  if (includeOffset) {\n    if (o.isOffsetFixed && o.offset === 0 && !extendedZone) {\n      c += \"Z\";\n    } else if (o.o < 0) {\n      c += \"-\";\n      c += padStart(Math.trunc(-o.o / 60));\n      c += \":\";\n      c += padStart(Math.trunc(-o.o % 60));\n    } else {\n      c += \"+\";\n      c += padStart(Math.trunc(o.o / 60));\n      c += \":\";\n      c += padStart(Math.trunc(o.o % 60));\n    }\n  }\n  if (extendedZone) {\n    c += \"[\" + o.zone.ianaName + \"]\";\n  }\n  return c;\n}\n\n// defaults for unspecified units in the supported calendars\nvar defaultUnitValues = {\n    month: 1,\n    day: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0\n  },\n  defaultWeekUnitValues = {\n    weekNumber: 1,\n    weekday: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0\n  },\n  defaultOrdinalUnitValues = {\n    ordinal: 1,\n    hour: 0,\n    minute: 0,\n    second: 0,\n    millisecond: 0\n  };\n\n// Units in the supported calendars, sorted by bigness\nvar orderedUnits = [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"millisecond\"],\n  orderedWeekUnits = [\"weekYear\", \"weekNumber\", \"weekday\", \"hour\", \"minute\", \"second\", \"millisecond\"],\n  orderedOrdinalUnits = [\"year\", \"ordinal\", \"hour\", \"minute\", \"second\", \"millisecond\"];\n\n// standardize case and plurality in units\nfunction normalizeUnit(unit) {\n  var normalized = {\n    year: \"year\",\n    years: \"year\",\n    month: \"month\",\n    months: \"month\",\n    day: \"day\",\n    days: \"day\",\n    hour: \"hour\",\n    hours: \"hour\",\n    minute: \"minute\",\n    minutes: \"minute\",\n    quarter: \"quarter\",\n    quarters: \"quarter\",\n    second: \"second\",\n    seconds: \"second\",\n    millisecond: \"millisecond\",\n    milliseconds: \"millisecond\",\n    weekday: \"weekday\",\n    weekdays: \"weekday\",\n    weeknumber: \"weekNumber\",\n    weeksnumber: \"weekNumber\",\n    weeknumbers: \"weekNumber\",\n    weekyear: \"weekYear\",\n    weekyears: \"weekYear\",\n    ordinal: \"ordinal\"\n  }[unit.toLowerCase()];\n  if (!normalized) throw new InvalidUnitError(unit);\n  return normalized;\n}\nfunction normalizeUnitWithLocalWeeks(unit) {\n  switch (unit.toLowerCase()) {\n    case \"localweekday\":\n    case \"localweekdays\":\n      return \"localWeekday\";\n    case \"localweeknumber\":\n    case \"localweeknumbers\":\n      return \"localWeekNumber\";\n    case \"localweekyear\":\n    case \"localweekyears\":\n      return \"localWeekYear\";\n    default:\n      return normalizeUnit(unit);\n  }\n}\n\n// this is a dumbed down version of fromObject() that runs about 60% faster\n// but doesn't do any validation, makes a bunch of assumptions about what units\n// are present, and so on.\nfunction quickDT(obj, opts) {\n  var zone = normalizeZone(opts.zone, Settings.defaultZone),\n    loc = Locale.fromObject(opts),\n    tsNow = Settings.now();\n  var ts, o;\n\n  // assume we have the higher-order units\n  if (!isUndefined(obj.year)) {\n    for (var _i = 0, _orderedUnits = orderedUnits; _i < _orderedUnits.length; _i++) {\n      var u = _orderedUnits[_i];\n      if (isUndefined(obj[u])) {\n        obj[u] = defaultUnitValues[u];\n      }\n    }\n    var invalid = hasInvalidGregorianData(obj) || hasInvalidTimeData(obj);\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    }\n    var offsetProvis = zone.offset(tsNow);\n    var _objToTS = objToTS(obj, offsetProvis, zone);\n    ts = _objToTS[0];\n    o = _objToTS[1];\n  } else {\n    ts = tsNow;\n  }\n  return new DateTime({\n    ts: ts,\n    zone: zone,\n    loc: loc,\n    o: o\n  });\n}\nfunction diffRelative(start, end, opts) {\n  var round = isUndefined(opts.round) ? true : opts.round,\n    format = function format(c, unit) {\n      c = roundTo(c, round || opts.calendary ? 0 : 2, true);\n      var formatter = end.loc.clone(opts).relFormatter(opts);\n      return formatter.format(c, unit);\n    },\n    differ = function differ(unit) {\n      if (opts.calendary) {\n        if (!end.hasSame(start, unit)) {\n          return end.startOf(unit).diff(start.startOf(unit), unit).get(unit);\n        } else return 0;\n      } else {\n        return end.diff(start, unit).get(unit);\n      }\n    };\n  if (opts.unit) {\n    return format(differ(opts.unit), opts.unit);\n  }\n  for (var _iterator = _createForOfIteratorHelperLoose(opts.units), _step; !(_step = _iterator()).done;) {\n    var unit = _step.value;\n    var count = differ(unit);\n    if (Math.abs(count) >= 1) {\n      return format(count, unit);\n    }\n  }\n  return format(start > end ? -0 : 0, opts.units[opts.units.length - 1]);\n}\nfunction lastOpts(argList) {\n  var opts = {},\n    args;\n  if (argList.length > 0 && typeof argList[argList.length - 1] === \"object\") {\n    opts = argList[argList.length - 1];\n    args = Array.from(argList).slice(0, argList.length - 1);\n  } else {\n    args = Array.from(argList);\n  }\n  return [opts, args];\n}\n\n/**\n * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them.\n *\n * A DateTime comprises of:\n * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch.\n * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone).\n * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`.\n *\n * Here is a brief overview of the most commonly used functionality it provides:\n *\n * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link DateTime.local}, {@link DateTime.utc}, and (most flexibly) {@link DateTime.fromObject}. To create one from a standard string format, use {@link DateTime.fromISO}, {@link DateTime.fromHTTP}, and {@link DateTime.fromRFC2822}. To create one from a custom string format, use {@link DateTime.fromFormat}. To create one from a native JS date, use {@link DateTime.fromJSDate}.\n * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link DateTime#toObject}), use the {@link DateTime#year}, {@link DateTime#month},\n * {@link DateTime#day}, {@link DateTime#hour}, {@link DateTime#minute}, {@link DateTime#second}, {@link DateTime#millisecond} accessors.\n * * **Week calendar**: For ISO week calendar attributes, see the {@link DateTime#weekYear}, {@link DateTime#weekNumber}, and {@link DateTime#weekday} accessors.\n * * **Configuration** See the {@link DateTime#locale} and {@link DateTime#numberingSystem} accessors.\n * * **Transformation**: To transform the DateTime into other DateTimes, use {@link DateTime#set}, {@link DateTime#reconfigure}, {@link DateTime#setZone}, {@link DateTime#setLocale}, {@link DateTime.plus}, {@link DateTime#minus}, {@link DateTime#endOf}, {@link DateTime#startOf}, {@link DateTime#toUTC}, and {@link DateTime#toLocal}.\n * * **Output**: To convert the DateTime to other representations, use the {@link DateTime#toRelative}, {@link DateTime#toRelativeCalendar}, {@link DateTime#toJSON}, {@link DateTime#toISO}, {@link DateTime#toHTTP}, {@link DateTime#toObject}, {@link DateTime#toRFC2822}, {@link DateTime#toString}, {@link DateTime#toLocaleString}, {@link DateTime#toFormat}, {@link DateTime#toMillis} and {@link DateTime#toJSDate}.\n *\n * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation.\n */\nvar DateTime = /*#__PURE__*/function (_Symbol$for) {\n  /**\n   * @access private\n   */\n  function DateTime(config) {\n    var zone = config.zone || Settings.defaultZone;\n    var invalid = config.invalid || (Number.isNaN(config.ts) ? new Invalid(\"invalid input\") : null) || (!zone.isValid ? unsupportedZone(zone) : null);\n    /**\n     * @access private\n     */\n    this.ts = isUndefined(config.ts) ? Settings.now() : config.ts;\n    var c = null,\n      o = null;\n    if (!invalid) {\n      var unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone);\n      if (unchanged) {\n        var _ref = [config.old.c, config.old.o];\n        c = _ref[0];\n        o = _ref[1];\n      } else {\n        var ot = zone.offset(this.ts);\n        c = tsToObj(this.ts, ot);\n        invalid = Number.isNaN(c.year) ? new Invalid(\"invalid input\") : null;\n        c = invalid ? null : c;\n        o = invalid ? null : ot;\n      }\n    }\n\n    /**\n     * @access private\n     */\n    this._zone = zone;\n    /**\n     * @access private\n     */\n    this.loc = config.loc || Locale.create();\n    /**\n     * @access private\n     */\n    this.invalid = invalid;\n    /**\n     * @access private\n     */\n    this.weekData = null;\n    /**\n     * @access private\n     */\n    this.localWeekData = null;\n    /**\n     * @access private\n     */\n    this.c = c;\n    /**\n     * @access private\n     */\n    this.o = o;\n    /**\n     * @access private\n     */\n    this.isLuxonDateTime = true;\n  }\n\n  // CONSTRUCT\n\n  /**\n   * Create a DateTime for the current instant, in the system's time zone.\n   *\n   * Use Settings to override these default values if needed.\n   * @example DateTime.now().toISO() //~> now in the ISO format\n   * @return {DateTime}\n   */\n  DateTime.now = function now() {\n    return new DateTime({});\n  }\n\n  /**\n   * Create a local DateTime\n   * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used\n   * @param {number} [month=1] - The month, 1-indexed\n   * @param {number} [day=1] - The day of the month, 1-indexed\n   * @param {number} [hour=0] - The hour of the day, in 24-hour time\n   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n   * @example DateTime.local()                                  //~> now\n   * @example DateTime.local({ zone: \"America/New_York\" })      //~> now, in US east coast time\n   * @example DateTime.local(2017)                              //~> 2017-01-01T00:00:00\n   * @example DateTime.local(2017, 3)                           //~> 2017-03-01T00:00:00\n   * @example DateTime.local(2017, 3, 12, { locale: \"fr\" })     //~> 2017-03-12T00:00:00, with a French locale\n   * @example DateTime.local(2017, 3, 12, 5)                    //~> 2017-03-12T05:00:00\n   * @example DateTime.local(2017, 3, 12, 5, { zone: \"utc\" })   //~> 2017-03-12T05:00:00, in UTC\n   * @example DateTime.local(2017, 3, 12, 5, 45)                //~> 2017-03-12T05:45:00\n   * @example DateTime.local(2017, 3, 12, 5, 45, 10)            //~> 2017-03-12T05:45:10\n   * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765)       //~> 2017-03-12T05:45:10.765\n   * @return {DateTime}\n   */;\n  DateTime.local = function local() {\n    var _lastOpts = lastOpts(arguments),\n      opts = _lastOpts[0],\n      args = _lastOpts[1],\n      year = args[0],\n      month = args[1],\n      day = args[2],\n      hour = args[3],\n      minute = args[4],\n      second = args[5],\n      millisecond = args[6];\n    return quickDT({\n      year: year,\n      month: month,\n      day: day,\n      hour: hour,\n      minute: minute,\n      second: second,\n      millisecond: millisecond\n    }, opts);\n  }\n\n  /**\n   * Create a DateTime in UTC\n   * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used\n   * @param {number} [month=1] - The month, 1-indexed\n   * @param {number} [day=1] - The day of the month\n   * @param {number} [hour=0] - The hour of the day, in 24-hour time\n   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance\n   * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.utc()                                              //~> now\n   * @example DateTime.utc(2017)                                          //~> 2017-01-01T00:00:00Z\n   * @example DateTime.utc(2017, 3)                                       //~> 2017-03-01T00:00:00Z\n   * @example DateTime.utc(2017, 3, 12)                                   //~> 2017-03-12T00:00:00Z\n   * @example DateTime.utc(2017, 3, 12, 5)                                //~> 2017-03-12T05:00:00Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45)                            //~> 2017-03-12T05:45:00Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45, { locale: \"fr\" })          //~> 2017-03-12T05:45:00Z with a French locale\n   * @example DateTime.utc(2017, 3, 12, 5, 45, 10)                        //~> 2017-03-12T05:45:10Z\n   * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765, { locale: \"fr\" }) //~> 2017-03-12T05:45:10.765Z with a French locale\n   * @return {DateTime}\n   */;\n  DateTime.utc = function utc() {\n    var _lastOpts2 = lastOpts(arguments),\n      opts = _lastOpts2[0],\n      args = _lastOpts2[1],\n      year = args[0],\n      month = args[1],\n      day = args[2],\n      hour = args[3],\n      minute = args[4],\n      second = args[5],\n      millisecond = args[6];\n    opts.zone = FixedOffsetZone.utcInstance;\n    return quickDT({\n      year: year,\n      month: month,\n      day: day,\n      hour: hour,\n      minute: minute,\n      second: second,\n      millisecond: millisecond\n    }, opts);\n  }\n\n  /**\n   * Create a DateTime from a JavaScript Date object. Uses the default zone.\n   * @param {Date} date - a JavaScript Date object\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @return {DateTime}\n   */;\n  DateTime.fromJSDate = function fromJSDate(date, options) {\n    if (options === void 0) {\n      options = {};\n    }\n    var ts = isDate(date) ? date.valueOf() : NaN;\n    if (Number.isNaN(ts)) {\n      return DateTime.invalid(\"invalid input\");\n    }\n    var zoneToUse = normalizeZone(options.zone, Settings.defaultZone);\n    if (!zoneToUse.isValid) {\n      return DateTime.invalid(unsupportedZone(zoneToUse));\n    }\n    return new DateTime({\n      ts: ts,\n      zone: zoneToUse,\n      loc: Locale.fromObject(options)\n    });\n  }\n\n  /**\n   * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n   * @param {number} milliseconds - a number of milliseconds since 1970 UTC\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @return {DateTime}\n   */;\n  DateTime.fromMillis = function fromMillis(milliseconds, options) {\n    if (options === void 0) {\n      options = {};\n    }\n    if (!isNumber(milliseconds)) {\n      throw new InvalidArgumentError(\"fromMillis requires a numerical input, but received a \" + typeof milliseconds + \" with value \" + milliseconds);\n    } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) {\n      // this isn't perfect because because we can still end up out of range because of additional shifting, but it's a start\n      return DateTime.invalid(\"Timestamp out of range\");\n    } else {\n      return new DateTime({\n        ts: milliseconds,\n        zone: normalizeZone(options.zone, Settings.defaultZone),\n        loc: Locale.fromObject(options)\n      });\n    }\n  }\n\n  /**\n   * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n   * @param {number} seconds - a number of seconds since 1970 UTC\n   * @param {Object} options - configuration options for the DateTime\n   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @return {DateTime}\n   */;\n  DateTime.fromSeconds = function fromSeconds(seconds, options) {\n    if (options === void 0) {\n      options = {};\n    }\n    if (!isNumber(seconds)) {\n      throw new InvalidArgumentError(\"fromSeconds requires a numerical input\");\n    } else {\n      return new DateTime({\n        ts: seconds * 1000,\n        zone: normalizeZone(options.zone, Settings.defaultZone),\n        loc: Locale.fromObject(options)\n      });\n    }\n  }\n\n  /**\n   * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults.\n   * @param {Object} obj - the object to create the DateTime from\n   * @param {number} obj.year - a year, such as 1987\n   * @param {number} obj.month - a month, 1-12\n   * @param {number} obj.day - a day of the month, 1-31, depending on the month\n   * @param {number} obj.ordinal - day of the year, 1-365 or 366\n   * @param {number} obj.weekYear - an ISO week year\n   * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year\n   * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday\n   * @param {number} obj.localWeekYear - a week year, according to the locale\n   * @param {number} obj.localWeekNumber - a week number, between 1 and 52 or 53, depending on the year, according to the locale\n   * @param {number} obj.localWeekday - a weekday, 1-7, where 1 is the first and 7 is the last day of the week, according to the locale\n   * @param {number} obj.hour - hour of the day, 0-23\n   * @param {number} obj.minute - minute of the hour, 0-59\n   * @param {number} obj.second - second of the minute, 0-59\n   * @param {number} obj.millisecond - millisecond of the second, 0-999\n   * @param {Object} opts - options for creating this DateTime\n   * @param {string|Zone} [opts.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone()\n   * @param {string} [opts.locale='system\\'s locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25'\n   * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01'\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'utc' }),\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'local' })\n   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'America/New_York' })\n   * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13'\n   * @example DateTime.fromObject({ localWeekYear: 2022, localWeekNumber: 1, localWeekday: 1 }, { locale: \"en-US\" }).toISODate() //=> '2021-12-26'\n   * @return {DateTime}\n   */;\n  DateTime.fromObject = function fromObject(obj, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    obj = obj || {};\n    var zoneToUse = normalizeZone(opts.zone, Settings.defaultZone);\n    if (!zoneToUse.isValid) {\n      return DateTime.invalid(unsupportedZone(zoneToUse));\n    }\n    var loc = Locale.fromObject(opts);\n    var normalized = normalizeObject(obj, normalizeUnitWithLocalWeeks);\n    var _usesLocalWeekValues = usesLocalWeekValues(normalized, loc),\n      minDaysInFirstWeek = _usesLocalWeekValues.minDaysInFirstWeek,\n      startOfWeek = _usesLocalWeekValues.startOfWeek;\n    var tsNow = Settings.now(),\n      offsetProvis = !isUndefined(opts.specificOffset) ? opts.specificOffset : zoneToUse.offset(tsNow),\n      containsOrdinal = !isUndefined(normalized.ordinal),\n      containsGregorYear = !isUndefined(normalized.year),\n      containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n      containsGregor = containsGregorYear || containsGregorMD,\n      definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n\n    // cases:\n    // just a weekday -> this week's instance of that weekday, no worries\n    // (gregorian data or ordinal) + (weekYear or weekNumber) -> error\n    // (gregorian month or day) + ordinal -> error\n    // otherwise just use weeks or ordinals or gregorian, depending on what's specified\n\n    if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n      throw new ConflictingSpecificationError(\"Can't mix weekYear/weekNumber units with year/month/day or ordinals\");\n    }\n    if (containsGregorMD && containsOrdinal) {\n      throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n    }\n    var useWeekData = definiteWeekDef || normalized.weekday && !containsGregor;\n\n    // configure ourselves to deal with gregorian dates or week stuff\n    var units,\n      defaultValues,\n      objNow = tsToObj(tsNow, offsetProvis);\n    if (useWeekData) {\n      units = orderedWeekUnits;\n      defaultValues = defaultWeekUnitValues;\n      objNow = gregorianToWeek(objNow, minDaysInFirstWeek, startOfWeek);\n    } else if (containsOrdinal) {\n      units = orderedOrdinalUnits;\n      defaultValues = defaultOrdinalUnitValues;\n      objNow = gregorianToOrdinal(objNow);\n    } else {\n      units = orderedUnits;\n      defaultValues = defaultUnitValues;\n    }\n\n    // set default values for missing stuff\n    var foundFirst = false;\n    for (var _iterator2 = _createForOfIteratorHelperLoose(units), _step2; !(_step2 = _iterator2()).done;) {\n      var u = _step2.value;\n      var v = normalized[u];\n      if (!isUndefined(v)) {\n        foundFirst = true;\n      } else if (foundFirst) {\n        normalized[u] = defaultValues[u];\n      } else {\n        normalized[u] = objNow[u];\n      }\n    }\n\n    // make sure the values we have are in range\n    var higherOrderInvalid = useWeekData ? hasInvalidWeekData(normalized, minDaysInFirstWeek, startOfWeek) : containsOrdinal ? hasInvalidOrdinalData(normalized) : hasInvalidGregorianData(normalized),\n      invalid = higherOrderInvalid || hasInvalidTimeData(normalized);\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    }\n\n    // compute the actual time\n    var gregorian = useWeekData ? weekToGregorian(normalized, minDaysInFirstWeek, startOfWeek) : containsOrdinal ? ordinalToGregorian(normalized) : normalized,\n      _objToTS2 = objToTS(gregorian, offsetProvis, zoneToUse),\n      tsFinal = _objToTS2[0],\n      offsetFinal = _objToTS2[1],\n      inst = new DateTime({\n        ts: tsFinal,\n        zone: zoneToUse,\n        o: offsetFinal,\n        loc: loc\n      });\n\n    // gregorian data + weekday serves only to validate\n    if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) {\n      return DateTime.invalid(\"mismatched weekday\", \"you can't specify both a weekday of \" + normalized.weekday + \" and a date of \" + inst.toISO());\n    }\n    return inst;\n  }\n\n  /**\n   * Create a DateTime from an ISO 8601 string\n   * @param {string} text - the ISO string\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance\n   * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123')\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00')\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true})\n   * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'})\n   * @example DateTime.fromISO('2016-W05-4')\n   * @return {DateTime}\n   */;\n  DateTime.fromISO = function fromISO(text, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    var _parseISODate = parseISODate(text),\n      vals = _parseISODate[0],\n      parsedZone = _parseISODate[1];\n    return parseDataToDateTime(vals, parsedZone, opts, \"ISO 8601\", text);\n  }\n\n  /**\n   * Create a DateTime from an RFC 2822 string\n   * @param {string} text - the RFC 2822 string\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT')\n   * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600')\n   * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z')\n   * @return {DateTime}\n   */;\n  DateTime.fromRFC2822 = function fromRFC2822(text, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    var _parseRFC2822Date = parseRFC2822Date(text),\n      vals = _parseRFC2822Date[0],\n      parsedZone = _parseRFC2822Date[1];\n    return parseDataToDateTime(vals, parsedZone, opts, \"RFC 2822\", text);\n  }\n\n  /**\n   * Create a DateTime from an HTTP header date\n   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n   * @param {string} text - the HTTP header date\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n   * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods.\n   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n   * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT')\n   * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT')\n   * @example DateTime.fromHTTP('Sun Nov  6 08:49:37 1994')\n   * @return {DateTime}\n   */;\n  DateTime.fromHTTP = function fromHTTP(text, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    var _parseHTTPDate = parseHTTPDate(text),\n      vals = _parseHTTPDate[0],\n      parsedZone = _parseHTTPDate[1];\n    return parseDataToDateTime(vals, parsedZone, opts, \"HTTP\", opts);\n  }\n\n  /**\n   * Create a DateTime from an input string and format string.\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens).\n   * @param {string} text - the string to parse\n   * @param {string} fmt - the format the string is expected to be in (see the link below for the formats)\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @return {DateTime}\n   */;\n  DateTime.fromFormat = function fromFormat(text, fmt, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    if (isUndefined(text) || isUndefined(fmt)) {\n      throw new InvalidArgumentError(\"fromFormat requires an input string and a format\");\n    }\n    var _opts = opts,\n      _opts$locale = _opts.locale,\n      locale = _opts$locale === void 0 ? null : _opts$locale,\n      _opts$numberingSystem = _opts.numberingSystem,\n      numberingSystem = _opts$numberingSystem === void 0 ? null : _opts$numberingSystem,\n      localeToUse = Locale.fromOpts({\n        locale: locale,\n        numberingSystem: numberingSystem,\n        defaultToEN: true\n      }),\n      _parseFromTokens = parseFromTokens(localeToUse, text, fmt),\n      vals = _parseFromTokens[0],\n      parsedZone = _parseFromTokens[1],\n      specificOffset = _parseFromTokens[2],\n      invalid = _parseFromTokens[3];\n    if (invalid) {\n      return DateTime.invalid(invalid);\n    } else {\n      return parseDataToDateTime(vals, parsedZone, opts, \"format \" + fmt, text, specificOffset);\n    }\n  }\n\n  /**\n   * @deprecated use fromFormat instead\n   */;\n  DateTime.fromString = function fromString(text, fmt, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    return DateTime.fromFormat(text, fmt, opts);\n  }\n\n  /**\n   * Create a DateTime from a SQL date, time, or datetime\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale\n   * @param {string} text - the string to parse\n   * @param {Object} opts - options to affect the creation\n   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n   * @example DateTime.fromSQL('2017-05-15')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles')\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true })\n   * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' })\n   * @example DateTime.fromSQL('09:12:34.342')\n   * @return {DateTime}\n   */;\n  DateTime.fromSQL = function fromSQL(text, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    var _parseSQL = parseSQL(text),\n      vals = _parseSQL[0],\n      parsedZone = _parseSQL[1];\n    return parseDataToDateTime(vals, parsedZone, opts, \"SQL\", text);\n  }\n\n  /**\n   * Create an invalid DateTime.\n   * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent.\n   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n   * @return {DateTime}\n   */;\n  DateTime.invalid = function invalid(reason, explanation) {\n    if (explanation === void 0) {\n      explanation = null;\n    }\n    if (!reason) {\n      throw new InvalidArgumentError(\"need to specify a reason the DateTime is invalid\");\n    }\n    var invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n    if (Settings.throwOnInvalid) {\n      throw new InvalidDateTimeError(invalid);\n    } else {\n      return new DateTime({\n        invalid: invalid\n      });\n    }\n  }\n\n  /**\n   * Check if an object is an instance of DateTime. Works across context boundaries\n   * @param {object} o\n   * @return {boolean}\n   */;\n  DateTime.isDateTime = function isDateTime(o) {\n    return o && o.isLuxonDateTime || false;\n  }\n\n  /**\n   * Produce the format string for a set of options\n   * @param formatOpts\n   * @param localeOpts\n   * @returns {string}\n   */;\n  DateTime.parseFormatForOpts = function parseFormatForOpts(formatOpts, localeOpts) {\n    if (localeOpts === void 0) {\n      localeOpts = {};\n    }\n    var tokenList = formatOptsToTokens(formatOpts, Locale.fromObject(localeOpts));\n    return !tokenList ? null : tokenList.map(function (t) {\n      return t ? t.val : null;\n    }).join(\"\");\n  }\n\n  /**\n   * Produce the the fully expanded format token for the locale\n   * Does NOT quote characters, so quoted tokens will not round trip correctly\n   * @param fmt\n   * @param localeOpts\n   * @returns {string}\n   */;\n  DateTime.expandFormat = function expandFormat(fmt, localeOpts) {\n    if (localeOpts === void 0) {\n      localeOpts = {};\n    }\n    var expanded = expandMacroTokens(Formatter.parseFormat(fmt), Locale.fromObject(localeOpts));\n    return expanded.map(function (t) {\n      return t.val;\n    }).join(\"\");\n  }\n\n  // INFO\n\n  /**\n   * Get the value of unit.\n   * @param {string} unit - a unit such as 'minute' or 'day'\n   * @example DateTime.local(2017, 7, 4).get('month'); //=> 7\n   * @example DateTime.local(2017, 7, 4).get('day'); //=> 4\n   * @return {number}\n   */;\n  var _proto = DateTime.prototype;\n  _proto.get = function get(unit) {\n    return this[unit];\n  }\n\n  /**\n   * Returns whether the DateTime is valid. Invalid DateTimes occur when:\n   * * The DateTime was created from invalid calendar information, such as the 13th month or February 30\n   * * The DateTime was created by an operation on another invalid date\n   * @type {boolean}\n   */;\n  /**\n   * Get those DateTimes which have the same local time as this DateTime, but a different offset from UTC\n   * in this DateTime's zone. During DST changes local time can be ambiguous, for example\n   * `2023-10-29T02:30:00` in `Europe/Berlin` can have offset `+01:00` or `+02:00`.\n   * This method will return both possible DateTimes if this DateTime's local time is ambiguous.\n   * @returns {DateTime[]}\n   */\n  _proto.getPossibleOffsets = function getPossibleOffsets() {\n    if (!this.isValid || this.isOffsetFixed) {\n      return [this];\n    }\n    var dayMs = 86400000;\n    var minuteMs = 60000;\n    var localTS = objToLocalTS(this.c);\n    var oEarlier = this.zone.offset(localTS - dayMs);\n    var oLater = this.zone.offset(localTS + dayMs);\n    var o1 = this.zone.offset(localTS - oEarlier * minuteMs);\n    var o2 = this.zone.offset(localTS - oLater * minuteMs);\n    if (o1 === o2) {\n      return [this];\n    }\n    var ts1 = localTS - o1 * minuteMs;\n    var ts2 = localTS - o2 * minuteMs;\n    var c1 = tsToObj(ts1, o1);\n    var c2 = tsToObj(ts2, o2);\n    if (c1.hour === c2.hour && c1.minute === c2.minute && c1.second === c2.second && c1.millisecond === c2.millisecond) {\n      return [clone(this, {\n        ts: ts1\n      }), clone(this, {\n        ts: ts2\n      })];\n    }\n    return [this];\n  }\n\n  /**\n   * Returns true if this DateTime is in a leap year, false otherwise\n   * @example DateTime.local(2016).isInLeapYear //=> true\n   * @example DateTime.local(2013).isInLeapYear //=> false\n   * @type {boolean}\n   */;\n  /**\n   * Returns the resolved Intl options for this DateTime.\n   * This is useful in understanding the behavior of formatting methods\n   * @param {Object} opts - the same options as toLocaleString\n   * @return {Object}\n   */\n  _proto.resolvedLocaleOptions = function resolvedLocaleOptions(opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    var _Formatter$create$res = Formatter.create(this.loc.clone(opts), opts).resolvedOptions(this),\n      locale = _Formatter$create$res.locale,\n      numberingSystem = _Formatter$create$res.numberingSystem,\n      calendar = _Formatter$create$res.calendar;\n    return {\n      locale: locale,\n      numberingSystem: numberingSystem,\n      outputCalendar: calendar\n    };\n  }\n\n  // TRANSFORM\n\n  /**\n   * \"Set\" the DateTime's zone to UTC. Returns a newly-constructed DateTime.\n   *\n   * Equivalent to {@link DateTime#setZone}('utc')\n   * @param {number} [offset=0] - optionally, an offset from UTC in minutes\n   * @param {Object} [opts={}] - options to pass to `setZone()`\n   * @return {DateTime}\n   */;\n  _proto.toUTC = function toUTC(offset, opts) {\n    if (offset === void 0) {\n      offset = 0;\n    }\n    if (opts === void 0) {\n      opts = {};\n    }\n    return this.setZone(FixedOffsetZone.instance(offset), opts);\n  }\n\n  /**\n   * \"Set\" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime.\n   *\n   * Equivalent to `setZone('local')`\n   * @return {DateTime}\n   */;\n  _proto.toLocal = function toLocal() {\n    return this.setZone(Settings.defaultZone);\n  }\n\n  /**\n   * \"Set\" the DateTime's zone to specified zone. Returns a newly-constructed DateTime.\n   *\n   * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link DateTime#plus}. You may wish to use {@link DateTime#toLocal} and {@link DateTime#toUTC} which provide simple convenience wrappers for commonly used zones.\n   * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link DateTime#Zone} class.\n   * @param {Object} opts - options\n   * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this.\n   * @return {DateTime}\n   */;\n  _proto.setZone = function setZone(zone, _temp) {\n    var _ref2 = _temp === void 0 ? {} : _temp,\n      _ref2$keepLocalTime = _ref2.keepLocalTime,\n      keepLocalTime = _ref2$keepLocalTime === void 0 ? false : _ref2$keepLocalTime,\n      _ref2$keepCalendarTim = _ref2.keepCalendarTime,\n      keepCalendarTime = _ref2$keepCalendarTim === void 0 ? false : _ref2$keepCalendarTim;\n    zone = normalizeZone(zone, Settings.defaultZone);\n    if (zone.equals(this.zone)) {\n      return this;\n    } else if (!zone.isValid) {\n      return DateTime.invalid(unsupportedZone(zone));\n    } else {\n      var newTS = this.ts;\n      if (keepLocalTime || keepCalendarTime) {\n        var offsetGuess = zone.offset(this.ts);\n        var asObj = this.toObject();\n        var _objToTS3 = objToTS(asObj, offsetGuess, zone);\n        newTS = _objToTS3[0];\n      }\n      return clone(this, {\n        ts: newTS,\n        zone: zone\n      });\n    }\n  }\n\n  /**\n   * \"Set\" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime.\n   * @param {Object} properties - the properties to set\n   * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' })\n   * @return {DateTime}\n   */;\n  _proto.reconfigure = function reconfigure(_temp2) {\n    var _ref3 = _temp2 === void 0 ? {} : _temp2,\n      locale = _ref3.locale,\n      numberingSystem = _ref3.numberingSystem,\n      outputCalendar = _ref3.outputCalendar;\n    var loc = this.loc.clone({\n      locale: locale,\n      numberingSystem: numberingSystem,\n      outputCalendar: outputCalendar\n    });\n    return clone(this, {\n      loc: loc\n    });\n  }\n\n  /**\n   * \"Set\" the locale. Returns a newly-constructed DateTime.\n   * Just a convenient alias for reconfigure({ locale })\n   * @example DateTime.local(2017, 5, 25).setLocale('en-GB')\n   * @return {DateTime}\n   */;\n  _proto.setLocale = function setLocale(locale) {\n    return this.reconfigure({\n      locale: locale\n    });\n  }\n\n  /**\n   * \"Set\" the values of specified units. Returns a newly-constructed DateTime.\n   * You can only set units with this method; for \"setting\" metadata, see {@link DateTime#reconfigure} and {@link DateTime#setZone}.\n   *\n   * This method also supports setting locale-based week units, i.e. `localWeekday`, `localWeekNumber` and `localWeekYear`.\n   * They cannot be mixed with ISO-week units like `weekday`.\n   * @param {Object} values - a mapping of units to numbers\n   * @example dt.set({ year: 2017 })\n   * @example dt.set({ hour: 8, minute: 30 })\n   * @example dt.set({ weekday: 5 })\n   * @example dt.set({ year: 2005, ordinal: 234 })\n   * @return {DateTime}\n   */;\n  _proto.set = function set(values) {\n    if (!this.isValid) return this;\n    var normalized = normalizeObject(values, normalizeUnitWithLocalWeeks);\n    var _usesLocalWeekValues2 = usesLocalWeekValues(normalized, this.loc),\n      minDaysInFirstWeek = _usesLocalWeekValues2.minDaysInFirstWeek,\n      startOfWeek = _usesLocalWeekValues2.startOfWeek;\n    var settingWeekStuff = !isUndefined(normalized.weekYear) || !isUndefined(normalized.weekNumber) || !isUndefined(normalized.weekday),\n      containsOrdinal = !isUndefined(normalized.ordinal),\n      containsGregorYear = !isUndefined(normalized.year),\n      containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n      containsGregor = containsGregorYear || containsGregorMD,\n      definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n    if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n      throw new ConflictingSpecificationError(\"Can't mix weekYear/weekNumber units with year/month/day or ordinals\");\n    }\n    if (containsGregorMD && containsOrdinal) {\n      throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n    }\n    var mixed;\n    if (settingWeekStuff) {\n      mixed = weekToGregorian(_extends({}, gregorianToWeek(this.c, minDaysInFirstWeek, startOfWeek), normalized), minDaysInFirstWeek, startOfWeek);\n    } else if (!isUndefined(normalized.ordinal)) {\n      mixed = ordinalToGregorian(_extends({}, gregorianToOrdinal(this.c), normalized));\n    } else {\n      mixed = _extends({}, this.toObject(), normalized);\n\n      // if we didn't set the day but we ended up on an overflow date,\n      // use the last day of the right month\n      if (isUndefined(normalized.day)) {\n        mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day);\n      }\n    }\n    var _objToTS4 = objToTS(mixed, this.o, this.zone),\n      ts = _objToTS4[0],\n      o = _objToTS4[1];\n    return clone(this, {\n      ts: ts,\n      o: o\n    });\n  }\n\n  /**\n   * Add a period of time to this DateTime and return the resulting DateTime\n   *\n   * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between.\n   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   * @example DateTime.now().plus(123) //~> in 123 milliseconds\n   * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes\n   * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow\n   * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday\n   * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min\n   * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min\n   * @return {DateTime}\n   */;\n  _proto.plus = function plus(duration) {\n    if (!this.isValid) return this;\n    var dur = Duration.fromDurationLike(duration);\n    return clone(this, adjustTime(this, dur));\n  }\n\n  /**\n   * Subtract a period of time to this DateTime and return the resulting DateTime\n   * See {@link DateTime#plus}\n   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n   @return {DateTime}\n   */;\n  _proto.minus = function minus(duration) {\n    if (!this.isValid) return this;\n    var dur = Duration.fromDurationLike(duration).negate();\n    return clone(this, adjustTime(this, dur));\n  }\n\n  /**\n   * \"Set\" this DateTime to the beginning of a unit of time.\n   * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n   * @param {Object} opts - options\n   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week\n   * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01'\n   * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01'\n   * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays\n   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00'\n   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00'\n   * @return {DateTime}\n   */;\n  _proto.startOf = function startOf(unit, _temp3) {\n    var _ref4 = _temp3 === void 0 ? {} : _temp3,\n      _ref4$useLocaleWeeks = _ref4.useLocaleWeeks,\n      useLocaleWeeks = _ref4$useLocaleWeeks === void 0 ? false : _ref4$useLocaleWeeks;\n    if (!this.isValid) return this;\n    var o = {},\n      normalizedUnit = Duration.normalizeUnit(unit);\n    switch (normalizedUnit) {\n      case \"years\":\n        o.month = 1;\n      // falls through\n      case \"quarters\":\n      case \"months\":\n        o.day = 1;\n      // falls through\n      case \"weeks\":\n      case \"days\":\n        o.hour = 0;\n      // falls through\n      case \"hours\":\n        o.minute = 0;\n      // falls through\n      case \"minutes\":\n        o.second = 0;\n      // falls through\n      case \"seconds\":\n        o.millisecond = 0;\n        break;\n      // no default, invalid units throw in normalizeUnit()\n    }\n\n    if (normalizedUnit === \"weeks\") {\n      if (useLocaleWeeks) {\n        var startOfWeek = this.loc.getStartOfWeek();\n        var weekday = this.weekday;\n        if (weekday < startOfWeek) {\n          o.weekNumber = this.weekNumber - 1;\n        }\n        o.weekday = startOfWeek;\n      } else {\n        o.weekday = 1;\n      }\n    }\n    if (normalizedUnit === \"quarters\") {\n      var q = Math.ceil(this.month / 3);\n      o.month = (q - 1) * 3 + 1;\n    }\n    return this.set(o);\n  }\n\n  /**\n   * \"Set\" this DateTime to the end (meaning the last millisecond) of a unit of time\n   * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n   * @param {Object} opts - options\n   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week\n   * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays\n   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00'\n   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00'\n   * @return {DateTime}\n   */;\n  _proto.endOf = function endOf(unit, opts) {\n    var _this$plus;\n    return this.isValid ? this.plus((_this$plus = {}, _this$plus[unit] = 1, _this$plus)).startOf(unit, opts).minus(1) : this;\n  }\n\n  // OUTPUT\n\n  /**\n   * Returns a string representation of this DateTime formatted according to the specified format string.\n   * **You may not want this.** See {@link DateTime#toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).\n   * Defaults to en-US if no locale has been specified, regardless of the system's locale.\n   * @param {string} fmt - the format string\n   * @param {Object} opts - opts to override the configuration options on this DateTime\n   * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22'\n   * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22'\n   * @example DateTime.now().toFormat('yyyy LLL dd', { locale: \"fr\" }) //=> '2017 avr. 22'\n   * @example DateTime.now().toFormat(\"HH 'hours and' mm 'minutes'\") //=> '20 hours and 55 minutes'\n   * @return {string}\n   */;\n  _proto.toFormat = function toFormat(fmt, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    return this.isValid ? Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this, fmt) : INVALID;\n  }\n\n  /**\n   * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`.\n   * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation\n   * of the DateTime in the assigned locale.\n   * Defaults to the system's locale if no locale has been specified\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n   * @param formatOpts {Object} - Intl.DateTimeFormat constructor options and configuration options\n   * @param {Object} opts - opts to override the configuration options on this DateTime\n   * @example DateTime.now().toLocaleString(); //=> 4/20/2017\n   * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017'\n   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017'\n   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL, { locale: 'fr' }); //=> '28 août 2022'\n   * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM'\n   * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM'\n   * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20'\n   * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM'\n   * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }); //=> '11:32'\n   * @return {string}\n   */;\n  _proto.toLocaleString = function toLocaleString(formatOpts, opts) {\n    if (formatOpts === void 0) {\n      formatOpts = DATE_SHORT;\n    }\n    if (opts === void 0) {\n      opts = {};\n    }\n    return this.isValid ? Formatter.create(this.loc.clone(opts), formatOpts).formatDateTime(this) : INVALID;\n  }\n\n  /**\n   * Returns an array of format \"parts\", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output.\n   * Defaults to the system's locale if no locale has been specified\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts\n   * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`.\n   * @example DateTime.now().toLocaleParts(); //=> [\n   *                                   //=>   { type: 'day', value: '25' },\n   *                                   //=>   { type: 'literal', value: '/' },\n   *                                   //=>   { type: 'month', value: '05' },\n   *                                   //=>   { type: 'literal', value: '/' },\n   *                                   //=>   { type: 'year', value: '1982' }\n   *                                   //=> ]\n   */;\n  _proto.toLocaleParts = function toLocaleParts(opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    return this.isValid ? Formatter.create(this.loc.clone(opts), opts).formatDateTimeParts(this) : [];\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.extendedZone=false] - add the time zone format extension\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc(1983, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z'\n   * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00'\n   * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335'\n   * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400'\n   * @return {string}\n   */;\n  _proto.toISO = function toISO(_temp4) {\n    var _ref5 = _temp4 === void 0 ? {} : _temp4,\n      _ref5$format = _ref5.format,\n      format = _ref5$format === void 0 ? \"extended\" : _ref5$format,\n      _ref5$suppressSeconds = _ref5.suppressSeconds,\n      suppressSeconds = _ref5$suppressSeconds === void 0 ? false : _ref5$suppressSeconds,\n      _ref5$suppressMillise = _ref5.suppressMilliseconds,\n      suppressMilliseconds = _ref5$suppressMillise === void 0 ? false : _ref5$suppressMillise,\n      _ref5$includeOffset = _ref5.includeOffset,\n      includeOffset = _ref5$includeOffset === void 0 ? true : _ref5$includeOffset,\n      _ref5$extendedZone = _ref5.extendedZone,\n      extendedZone = _ref5$extendedZone === void 0 ? false : _ref5$extendedZone;\n    if (!this.isValid) {\n      return null;\n    }\n    var ext = format === \"extended\";\n    var c = _toISODate(this, ext);\n    c += \"T\";\n    c += _toISOTime(this, ext, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone);\n    return c;\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's date component\n   * @param {Object} opts - options\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25'\n   * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525'\n   * @return {string}\n   */;\n  _proto.toISODate = function toISODate(_temp5) {\n    var _ref6 = _temp5 === void 0 ? {} : _temp5,\n      _ref6$format = _ref6.format,\n      format = _ref6$format === void 0 ? \"extended\" : _ref6$format;\n    if (!this.isValid) {\n      return null;\n    }\n    return _toISODate(this, format === \"extended\");\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's week date\n   * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2'\n   * @return {string}\n   */;\n  _proto.toISOWeekDate = function toISOWeekDate() {\n    return toTechFormat(this, \"kkkk-'W'WW-c\");\n  }\n\n  /**\n   * Returns an ISO 8601-compliant string representation of this DateTime's time component\n   * @param {Object} opts - options\n   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.extendedZone=true] - add the time zone format extension\n   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n   * @param {string} [opts.format='extended'] - choose between the basic and extended format\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z'\n   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z'\n   * @return {string}\n   */;\n  _proto.toISOTime = function toISOTime(_temp6) {\n    var _ref7 = _temp6 === void 0 ? {} : _temp6,\n      _ref7$suppressMillise = _ref7.suppressMilliseconds,\n      suppressMilliseconds = _ref7$suppressMillise === void 0 ? false : _ref7$suppressMillise,\n      _ref7$suppressSeconds = _ref7.suppressSeconds,\n      suppressSeconds = _ref7$suppressSeconds === void 0 ? false : _ref7$suppressSeconds,\n      _ref7$includeOffset = _ref7.includeOffset,\n      includeOffset = _ref7$includeOffset === void 0 ? true : _ref7$includeOffset,\n      _ref7$includePrefix = _ref7.includePrefix,\n      includePrefix = _ref7$includePrefix === void 0 ? false : _ref7$includePrefix,\n      _ref7$extendedZone = _ref7.extendedZone,\n      extendedZone = _ref7$extendedZone === void 0 ? false : _ref7$extendedZone,\n      _ref7$format = _ref7.format,\n      format = _ref7$format === void 0 ? \"extended\" : _ref7$format;\n    if (!this.isValid) {\n      return null;\n    }\n    var c = includePrefix ? \"T\" : \"\";\n    return c + _toISOTime(this, format === \"extended\", suppressSeconds, suppressMilliseconds, includeOffset, extendedZone);\n  }\n\n  /**\n   * Returns an RFC 2822-compatible string representation of this DateTime\n   * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000'\n   * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400'\n   * @return {string}\n   */;\n  _proto.toRFC2822 = function toRFC2822() {\n    return toTechFormat(this, \"EEE, dd LLL yyyy HH:mm:ss ZZZ\", false);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in HTTP headers. The output is always expressed in GMT.\n   * Specifically, the string conforms to RFC 1123.\n   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n   * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT'\n   * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT'\n   * @return {string}\n   */;\n  _proto.toHTTP = function toHTTP() {\n    return toTechFormat(this.toUTC(), \"EEE, dd LLL yyyy HH:mm:ss 'GMT'\");\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL Date\n   * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13'\n   * @return {string}\n   */;\n  _proto.toSQLDate = function toSQLDate() {\n    if (!this.isValid) {\n      return null;\n    }\n    return _toISODate(this, true);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL Time\n   * @param {Object} opts - options\n   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n   * @example DateTime.utc().toSQL() //=> '05:15:16.345'\n   * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00'\n   * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345'\n   * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York'\n   * @return {string}\n   */;\n  _proto.toSQLTime = function toSQLTime(_temp7) {\n    var _ref8 = _temp7 === void 0 ? {} : _temp7,\n      _ref8$includeOffset = _ref8.includeOffset,\n      includeOffset = _ref8$includeOffset === void 0 ? true : _ref8$includeOffset,\n      _ref8$includeZone = _ref8.includeZone,\n      includeZone = _ref8$includeZone === void 0 ? false : _ref8$includeZone,\n      _ref8$includeOffsetSp = _ref8.includeOffsetSpace,\n      includeOffsetSpace = _ref8$includeOffsetSp === void 0 ? true : _ref8$includeOffsetSp;\n    var fmt = \"HH:mm:ss.SSS\";\n    if (includeZone || includeOffset) {\n      if (includeOffsetSpace) {\n        fmt += \" \";\n      }\n      if (includeZone) {\n        fmt += \"z\";\n      } else if (includeOffset) {\n        fmt += \"ZZ\";\n      }\n    }\n    return toTechFormat(this, fmt, true);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for use in SQL DateTime\n   * @param {Object} opts - options\n   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n   * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z'\n   * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00'\n   * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000'\n   * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York'\n   * @return {string}\n   */;\n  _proto.toSQL = function toSQL(opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    if (!this.isValid) {\n      return null;\n    }\n    return this.toSQLDate() + \" \" + this.toSQLTime(opts);\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for debugging\n   * @return {string}\n   */;\n  _proto.toString = function toString() {\n    return this.isValid ? this.toISO() : INVALID;\n  }\n\n  /**\n   * Returns a string representation of this DateTime appropriate for the REPL.\n   * @return {string}\n   */;\n  _proto[_Symbol$for] = function () {\n    if (this.isValid) {\n      return \"DateTime { ts: \" + this.toISO() + \", zone: \" + this.zone.name + \", locale: \" + this.locale + \" }\";\n    } else {\n      return \"DateTime { Invalid, reason: \" + this.invalidReason + \" }\";\n    }\n  }\n\n  /**\n   * Returns the epoch milliseconds of this DateTime. Alias of {@link DateTime#toMillis}\n   * @return {number}\n   */;\n  _proto.valueOf = function valueOf() {\n    return this.toMillis();\n  }\n\n  /**\n   * Returns the epoch milliseconds of this DateTime.\n   * @return {number}\n   */;\n  _proto.toMillis = function toMillis() {\n    return this.isValid ? this.ts : NaN;\n  }\n\n  /**\n   * Returns the epoch seconds of this DateTime.\n   * @return {number}\n   */;\n  _proto.toSeconds = function toSeconds() {\n    return this.isValid ? this.ts / 1000 : NaN;\n  }\n\n  /**\n   * Returns the epoch seconds (as a whole number) of this DateTime.\n   * @return {number}\n   */;\n  _proto.toUnixInteger = function toUnixInteger() {\n    return this.isValid ? Math.floor(this.ts / 1000) : NaN;\n  }\n\n  /**\n   * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON.\n   * @return {string}\n   */;\n  _proto.toJSON = function toJSON() {\n    return this.toISO();\n  }\n\n  /**\n   * Returns a BSON serializable equivalent to this DateTime.\n   * @return {Date}\n   */;\n  _proto.toBSON = function toBSON() {\n    return this.toJSDate();\n  }\n\n  /**\n   * Returns a JavaScript object with this DateTime's year, month, day, and so on.\n   * @param opts - options for generating the object\n   * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output\n   * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 }\n   * @return {Object}\n   */;\n  _proto.toObject = function toObject(opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    if (!this.isValid) return {};\n    var base = _extends({}, this.c);\n    if (opts.includeConfig) {\n      base.outputCalendar = this.outputCalendar;\n      base.numberingSystem = this.loc.numberingSystem;\n      base.locale = this.loc.locale;\n    }\n    return base;\n  }\n\n  /**\n   * Returns a JavaScript Date equivalent to this DateTime.\n   * @return {Date}\n   */;\n  _proto.toJSDate = function toJSDate() {\n    return new Date(this.isValid ? this.ts : NaN);\n  }\n\n  // COMPARE\n\n  /**\n   * Return the difference between two DateTimes as a Duration.\n   * @param {DateTime} otherDateTime - the DateTime to compare this one to\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration.\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @example\n   * var i1 = DateTime.fromISO('1982-05-25T09:45'),\n   *     i2 = DateTime.fromISO('1983-10-14T10:30');\n   * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 }\n   * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 }\n   * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 }\n   * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 }\n   * @return {Duration}\n   */;\n  _proto.diff = function diff(otherDateTime, unit, opts) {\n    if (unit === void 0) {\n      unit = \"milliseconds\";\n    }\n    if (opts === void 0) {\n      opts = {};\n    }\n    if (!this.isValid || !otherDateTime.isValid) {\n      return Duration.invalid(\"created by diffing an invalid DateTime\");\n    }\n    var durOpts = _extends({\n      locale: this.locale,\n      numberingSystem: this.numberingSystem\n    }, opts);\n    var units = maybeArray(unit).map(Duration.normalizeUnit),\n      otherIsLater = otherDateTime.valueOf() > this.valueOf(),\n      earlier = otherIsLater ? this : otherDateTime,\n      later = otherIsLater ? otherDateTime : this,\n      diffed = _diff(earlier, later, units, durOpts);\n    return otherIsLater ? diffed.negate() : diffed;\n  }\n\n  /**\n   * Return the difference between this DateTime and right now.\n   * See {@link DateTime#diff}\n   * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration\n   * @param {Object} opts - options that affect the creation of the Duration\n   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n   * @return {Duration}\n   */;\n  _proto.diffNow = function diffNow(unit, opts) {\n    if (unit === void 0) {\n      unit = \"milliseconds\";\n    }\n    if (opts === void 0) {\n      opts = {};\n    }\n    return this.diff(DateTime.now(), unit, opts);\n  }\n\n  /**\n   * Return an Interval spanning between this DateTime and another DateTime\n   * @param {DateTime} otherDateTime - the other end point of the Interval\n   * @return {Interval}\n   */;\n  _proto.until = function until(otherDateTime) {\n    return this.isValid ? Interval.fromDateTimes(this, otherDateTime) : this;\n  }\n\n  /**\n   * Return whether this DateTime is in the same unit of time as another DateTime.\n   * Higher-order units must also be identical for this function to return `true`.\n   * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link DateTime#setZone} to convert one of the dates if needed.\n   * @param {DateTime} otherDateTime - the other DateTime\n   * @param {string} unit - the unit of time to check sameness on\n   * @param {Object} opts - options\n   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week; only the locale of this DateTime is used\n   * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day\n   * @return {boolean}\n   */;\n  _proto.hasSame = function hasSame(otherDateTime, unit, opts) {\n    if (!this.isValid) return false;\n    var inputMs = otherDateTime.valueOf();\n    var adjustedToZone = this.setZone(otherDateTime.zone, {\n      keepLocalTime: true\n    });\n    return adjustedToZone.startOf(unit, opts) <= inputMs && inputMs <= adjustedToZone.endOf(unit, opts);\n  }\n\n  /**\n   * Equality check\n   * Two DateTimes are equal if and only if they represent the same millisecond, have the same zone and location, and are both valid.\n   * To compare just the millisecond values, use `+dt1 === +dt2`.\n   * @param {DateTime} other - the other DateTime\n   * @return {boolean}\n   */;\n  _proto.equals = function equals(other) {\n    return this.isValid && other.isValid && this.valueOf() === other.valueOf() && this.zone.equals(other.zone) && this.loc.equals(other.loc);\n  }\n\n  /**\n   * Returns a string representation of a this time relative to now, such as \"in two days\". Can only internationalize if your\n   * platform supports Intl.RelativeTimeFormat. Rounds down by default.\n   * @param {Object} options - options that affect the output\n   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n   * @param {string} [options.style=\"long\"] - the style of units, must be \"long\", \"short\", or \"narrow\"\n   * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of \"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", or \"seconds\"\n   * @param {boolean} [options.round=true] - whether to round the numbers in the output.\n   * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding.\n   * @param {string} options.locale - override the locale of this DateTime\n   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n   * @example DateTime.now().plus({ days: 1 }).toRelative() //=> \"in 1 day\"\n   * @example DateTime.now().setLocale(\"es\").toRelative({ days: 1 }) //=> \"dentro de 1 día\"\n   * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: \"fr\" }) //=> \"dans 23 heures\"\n   * @example DateTime.now().minus({ days: 2 }).toRelative() //=> \"2 days ago\"\n   * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: \"hours\" }) //=> \"48 hours ago\"\n   * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> \"1.5 days ago\"\n   */;\n  _proto.toRelative = function toRelative(options) {\n    if (options === void 0) {\n      options = {};\n    }\n    if (!this.isValid) return null;\n    var base = options.base || DateTime.fromObject({}, {\n        zone: this.zone\n      }),\n      padding = options.padding ? this < base ? -options.padding : options.padding : 0;\n    var units = [\"years\", \"months\", \"days\", \"hours\", \"minutes\", \"seconds\"];\n    var unit = options.unit;\n    if (Array.isArray(options.unit)) {\n      units = options.unit;\n      unit = undefined;\n    }\n    return diffRelative(base, this.plus(padding), _extends({}, options, {\n      numeric: \"always\",\n      units: units,\n      unit: unit\n    }));\n  }\n\n  /**\n   * Returns a string representation of this date relative to today, such as \"yesterday\" or \"next month\".\n   * Only internationalizes on platforms that supports Intl.RelativeTimeFormat.\n   * @param {Object} options - options that affect the output\n   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n   * @param {string} options.locale - override the locale of this DateTime\n   * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of \"years\", \"quarters\", \"months\", \"weeks\", or \"days\"\n   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> \"tomorrow\"\n   * @example DateTime.now().setLocale(\"es\").plus({ days: 1 }).toRelative() //=> \"\"mañana\"\n   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: \"fr\" }) //=> \"demain\"\n   * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> \"2 days ago\"\n   */;\n  _proto.toRelativeCalendar = function toRelativeCalendar(options) {\n    if (options === void 0) {\n      options = {};\n    }\n    if (!this.isValid) return null;\n    return diffRelative(options.base || DateTime.fromObject({}, {\n      zone: this.zone\n    }), this, _extends({}, options, {\n      numeric: \"auto\",\n      units: [\"years\", \"months\", \"days\"],\n      calendary: true\n    }));\n  }\n\n  /**\n   * Return the min of several date times\n   * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum\n   * @return {DateTime} the min DateTime, or undefined if called with no argument\n   */;\n  DateTime.min = function min() {\n    for (var _len = arguments.length, dateTimes = new Array(_len), _key = 0; _key < _len; _key++) {\n      dateTimes[_key] = arguments[_key];\n    }\n    if (!dateTimes.every(DateTime.isDateTime)) {\n      throw new InvalidArgumentError(\"min requires all arguments be DateTimes\");\n    }\n    return bestBy(dateTimes, function (i) {\n      return i.valueOf();\n    }, Math.min);\n  }\n\n  /**\n   * Return the max of several date times\n   * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum\n   * @return {DateTime} the max DateTime, or undefined if called with no argument\n   */;\n  DateTime.max = function max() {\n    for (var _len2 = arguments.length, dateTimes = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      dateTimes[_key2] = arguments[_key2];\n    }\n    if (!dateTimes.every(DateTime.isDateTime)) {\n      throw new InvalidArgumentError(\"max requires all arguments be DateTimes\");\n    }\n    return bestBy(dateTimes, function (i) {\n      return i.valueOf();\n    }, Math.max);\n  }\n\n  // MISC\n\n  /**\n   * Explain how a string would be parsed by fromFormat()\n   * @param {string} text - the string to parse\n   * @param {string} fmt - the format the string is expected to be in (see description)\n   * @param {Object} options - options taken by fromFormat()\n   * @return {Object}\n   */;\n  DateTime.fromFormatExplain = function fromFormatExplain(text, fmt, options) {\n    if (options === void 0) {\n      options = {};\n    }\n    var _options = options,\n      _options$locale = _options.locale,\n      locale = _options$locale === void 0 ? null : _options$locale,\n      _options$numberingSys = _options.numberingSystem,\n      numberingSystem = _options$numberingSys === void 0 ? null : _options$numberingSys,\n      localeToUse = Locale.fromOpts({\n        locale: locale,\n        numberingSystem: numberingSystem,\n        defaultToEN: true\n      });\n    return explainFromTokens(localeToUse, text, fmt);\n  }\n\n  /**\n   * @deprecated use fromFormatExplain instead\n   */;\n  DateTime.fromStringExplain = function fromStringExplain(text, fmt, options) {\n    if (options === void 0) {\n      options = {};\n    }\n    return DateTime.fromFormatExplain(text, fmt, options);\n  }\n\n  // FORMAT PRESETS\n\n  /**\n   * {@link DateTime#toLocaleString} format like 10/14/1983\n   * @type {Object}\n   */;\n  _createClass(DateTime, [{\n    key: \"isValid\",\n    get: function get() {\n      return this.invalid === null;\n    }\n\n    /**\n     * Returns an error code if this DateTime is invalid, or null if the DateTime is valid\n     * @type {string}\n     */\n  }, {\n    key: \"invalidReason\",\n    get: function get() {\n      return this.invalid ? this.invalid.reason : null;\n    }\n\n    /**\n     * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid\n     * @type {string}\n     */\n  }, {\n    key: \"invalidExplanation\",\n    get: function get() {\n      return this.invalid ? this.invalid.explanation : null;\n    }\n\n    /**\n     * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime\n     *\n     * @type {string}\n     */\n  }, {\n    key: \"locale\",\n    get: function get() {\n      return this.isValid ? this.loc.locale : null;\n    }\n\n    /**\n     * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime\n     *\n     * @type {string}\n     */\n  }, {\n    key: \"numberingSystem\",\n    get: function get() {\n      return this.isValid ? this.loc.numberingSystem : null;\n    }\n\n    /**\n     * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime\n     *\n     * @type {string}\n     */\n  }, {\n    key: \"outputCalendar\",\n    get: function get() {\n      return this.isValid ? this.loc.outputCalendar : null;\n    }\n\n    /**\n     * Get the time zone associated with this DateTime.\n     * @type {Zone}\n     */\n  }, {\n    key: \"zone\",\n    get: function get() {\n      return this._zone;\n    }\n\n    /**\n     * Get the name of the time zone.\n     * @type {string}\n     */\n  }, {\n    key: \"zoneName\",\n    get: function get() {\n      return this.isValid ? this.zone.name : null;\n    }\n\n    /**\n     * Get the year\n     * @example DateTime.local(2017, 5, 25).year //=> 2017\n     * @type {number}\n     */\n  }, {\n    key: \"year\",\n    get: function get() {\n      return this.isValid ? this.c.year : NaN;\n    }\n\n    /**\n     * Get the quarter\n     * @example DateTime.local(2017, 5, 25).quarter //=> 2\n     * @type {number}\n     */\n  }, {\n    key: \"quarter\",\n    get: function get() {\n      return this.isValid ? Math.ceil(this.c.month / 3) : NaN;\n    }\n\n    /**\n     * Get the month (1-12).\n     * @example DateTime.local(2017, 5, 25).month //=> 5\n     * @type {number}\n     */\n  }, {\n    key: \"month\",\n    get: function get() {\n      return this.isValid ? this.c.month : NaN;\n    }\n\n    /**\n     * Get the day of the month (1-30ish).\n     * @example DateTime.local(2017, 5, 25).day //=> 25\n     * @type {number}\n     */\n  }, {\n    key: \"day\",\n    get: function get() {\n      return this.isValid ? this.c.day : NaN;\n    }\n\n    /**\n     * Get the hour of the day (0-23).\n     * @example DateTime.local(2017, 5, 25, 9).hour //=> 9\n     * @type {number}\n     */\n  }, {\n    key: \"hour\",\n    get: function get() {\n      return this.isValid ? this.c.hour : NaN;\n    }\n\n    /**\n     * Get the minute of the hour (0-59).\n     * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30\n     * @type {number}\n     */\n  }, {\n    key: \"minute\",\n    get: function get() {\n      return this.isValid ? this.c.minute : NaN;\n    }\n\n    /**\n     * Get the second of the minute (0-59).\n     * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52\n     * @type {number}\n     */\n  }, {\n    key: \"second\",\n    get: function get() {\n      return this.isValid ? this.c.second : NaN;\n    }\n\n    /**\n     * Get the millisecond of the second (0-999).\n     * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654\n     * @type {number}\n     */\n  }, {\n    key: \"millisecond\",\n    get: function get() {\n      return this.isValid ? this.c.millisecond : NaN;\n    }\n\n    /**\n     * Get the week year\n     * @see https://en.wikipedia.org/wiki/ISO_week_date\n     * @example DateTime.local(2014, 12, 31).weekYear //=> 2015\n     * @type {number}\n     */\n  }, {\n    key: \"weekYear\",\n    get: function get() {\n      return this.isValid ? possiblyCachedWeekData(this).weekYear : NaN;\n    }\n\n    /**\n     * Get the week number of the week year (1-52ish).\n     * @see https://en.wikipedia.org/wiki/ISO_week_date\n     * @example DateTime.local(2017, 5, 25).weekNumber //=> 21\n     * @type {number}\n     */\n  }, {\n    key: \"weekNumber\",\n    get: function get() {\n      return this.isValid ? possiblyCachedWeekData(this).weekNumber : NaN;\n    }\n\n    /**\n     * Get the day of the week.\n     * 1 is Monday and 7 is Sunday\n     * @see https://en.wikipedia.org/wiki/ISO_week_date\n     * @example DateTime.local(2014, 11, 31).weekday //=> 4\n     * @type {number}\n     */\n  }, {\n    key: \"weekday\",\n    get: function get() {\n      return this.isValid ? possiblyCachedWeekData(this).weekday : NaN;\n    }\n\n    /**\n     * Returns true if this date is on a weekend according to the locale, false otherwise\n     * @returns {boolean}\n     */\n  }, {\n    key: \"isWeekend\",\n    get: function get() {\n      return this.isValid && this.loc.getWeekendDays().includes(this.weekday);\n    }\n\n    /**\n     * Get the day of the week according to the locale.\n     * 1 is the first day of the week and 7 is the last day of the week.\n     * If the locale assigns Sunday as the first day of the week, then a date which is a Sunday will return 1,\n     * @returns {number}\n     */\n  }, {\n    key: \"localWeekday\",\n    get: function get() {\n      return this.isValid ? possiblyCachedLocalWeekData(this).weekday : NaN;\n    }\n\n    /**\n     * Get the week number of the week year according to the locale. Different locales assign week numbers differently,\n     * because the week can start on different days of the week (see localWeekday) and because a different number of days\n     * is required for a week to count as the first week of a year.\n     * @returns {number}\n     */\n  }, {\n    key: \"localWeekNumber\",\n    get: function get() {\n      return this.isValid ? possiblyCachedLocalWeekData(this).weekNumber : NaN;\n    }\n\n    /**\n     * Get the week year according to the locale. Different locales assign week numbers (and therefor week years)\n     * differently, see localWeekNumber.\n     * @returns {number}\n     */\n  }, {\n    key: \"localWeekYear\",\n    get: function get() {\n      return this.isValid ? possiblyCachedLocalWeekData(this).weekYear : NaN;\n    }\n\n    /**\n     * Get the ordinal (meaning the day of the year)\n     * @example DateTime.local(2017, 5, 25).ordinal //=> 145\n     * @type {number|DateTime}\n     */\n  }, {\n    key: \"ordinal\",\n    get: function get() {\n      return this.isValid ? gregorianToOrdinal(this.c).ordinal : NaN;\n    }\n\n    /**\n     * Get the human readable short month name, such as 'Oct'.\n     * Defaults to the system's locale if no locale has been specified\n     * @example DateTime.local(2017, 10, 30).monthShort //=> Oct\n     * @type {string}\n     */\n  }, {\n    key: \"monthShort\",\n    get: function get() {\n      return this.isValid ? Info.months(\"short\", {\n        locObj: this.loc\n      })[this.month - 1] : null;\n    }\n\n    /**\n     * Get the human readable long month name, such as 'October'.\n     * Defaults to the system's locale if no locale has been specified\n     * @example DateTime.local(2017, 10, 30).monthLong //=> October\n     * @type {string}\n     */\n  }, {\n    key: \"monthLong\",\n    get: function get() {\n      return this.isValid ? Info.months(\"long\", {\n        locObj: this.loc\n      })[this.month - 1] : null;\n    }\n\n    /**\n     * Get the human readable short weekday, such as 'Mon'.\n     * Defaults to the system's locale if no locale has been specified\n     * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon\n     * @type {string}\n     */\n  }, {\n    key: \"weekdayShort\",\n    get: function get() {\n      return this.isValid ? Info.weekdays(\"short\", {\n        locObj: this.loc\n      })[this.weekday - 1] : null;\n    }\n\n    /**\n     * Get the human readable long weekday, such as 'Monday'.\n     * Defaults to the system's locale if no locale has been specified\n     * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday\n     * @type {string}\n     */\n  }, {\n    key: \"weekdayLong\",\n    get: function get() {\n      return this.isValid ? Info.weekdays(\"long\", {\n        locObj: this.loc\n      })[this.weekday - 1] : null;\n    }\n\n    /**\n     * Get the UTC offset of this DateTime in minutes\n     * @example DateTime.now().offset //=> -240\n     * @example DateTime.utc().offset //=> 0\n     * @type {number}\n     */\n  }, {\n    key: \"offset\",\n    get: function get() {\n      return this.isValid ? +this.o : NaN;\n    }\n\n    /**\n     * Get the short human name for the zone's current offset, for example \"EST\" or \"EDT\".\n     * Defaults to the system's locale if no locale has been specified\n     * @type {string}\n     */\n  }, {\n    key: \"offsetNameShort\",\n    get: function get() {\n      if (this.isValid) {\n        return this.zone.offsetName(this.ts, {\n          format: \"short\",\n          locale: this.locale\n        });\n      } else {\n        return null;\n      }\n    }\n\n    /**\n     * Get the long human name for the zone's current offset, for example \"Eastern Standard Time\" or \"Eastern Daylight Time\".\n     * Defaults to the system's locale if no locale has been specified\n     * @type {string}\n     */\n  }, {\n    key: \"offsetNameLong\",\n    get: function get() {\n      if (this.isValid) {\n        return this.zone.offsetName(this.ts, {\n          format: \"long\",\n          locale: this.locale\n        });\n      } else {\n        return null;\n      }\n    }\n\n    /**\n     * Get whether this zone's offset ever changes, as in a DST.\n     * @type {boolean}\n     */\n  }, {\n    key: \"isOffsetFixed\",\n    get: function get() {\n      return this.isValid ? this.zone.isUniversal : null;\n    }\n\n    /**\n     * Get whether the DateTime is in a DST.\n     * @type {boolean}\n     */\n  }, {\n    key: \"isInDST\",\n    get: function get() {\n      if (this.isOffsetFixed) {\n        return false;\n      } else {\n        return this.offset > this.set({\n          month: 1,\n          day: 1\n        }).offset || this.offset > this.set({\n          month: 5\n        }).offset;\n      }\n    }\n  }, {\n    key: \"isInLeapYear\",\n    get: function get() {\n      return isLeapYear(this.year);\n    }\n\n    /**\n     * Returns the number of days in this DateTime's month\n     * @example DateTime.local(2016, 2).daysInMonth //=> 29\n     * @example DateTime.local(2016, 3).daysInMonth //=> 31\n     * @type {number}\n     */\n  }, {\n    key: \"daysInMonth\",\n    get: function get() {\n      return daysInMonth(this.year, this.month);\n    }\n\n    /**\n     * Returns the number of days in this DateTime's year\n     * @example DateTime.local(2016).daysInYear //=> 366\n     * @example DateTime.local(2013).daysInYear //=> 365\n     * @type {number}\n     */\n  }, {\n    key: \"daysInYear\",\n    get: function get() {\n      return this.isValid ? daysInYear(this.year) : NaN;\n    }\n\n    /**\n     * Returns the number of weeks in this DateTime's year\n     * @see https://en.wikipedia.org/wiki/ISO_week_date\n     * @example DateTime.local(2004).weeksInWeekYear //=> 53\n     * @example DateTime.local(2013).weeksInWeekYear //=> 52\n     * @type {number}\n     */\n  }, {\n    key: \"weeksInWeekYear\",\n    get: function get() {\n      return this.isValid ? weeksInWeekYear(this.weekYear) : NaN;\n    }\n\n    /**\n     * Returns the number of weeks in this DateTime's local week year\n     * @example DateTime.local(2020, 6, {locale: 'en-US'}).weeksInLocalWeekYear //=> 52\n     * @example DateTime.local(2020, 6, {locale: 'de-DE'}).weeksInLocalWeekYear //=> 53\n     * @type {number}\n     */\n  }, {\n    key: \"weeksInLocalWeekYear\",\n    get: function get() {\n      return this.isValid ? weeksInWeekYear(this.localWeekYear, this.loc.getMinDaysInFirstWeek(), this.loc.getStartOfWeek()) : NaN;\n    }\n  }], [{\n    key: \"DATE_SHORT\",\n    get: function get() {\n      return DATE_SHORT;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like 'Oct 14, 1983'\n     * @type {Object}\n     */\n  }, {\n    key: \"DATE_MED\",\n    get: function get() {\n      return DATE_MED;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like 'Fri, Oct 14, 1983'\n     * @type {Object}\n     */\n  }, {\n    key: \"DATE_MED_WITH_WEEKDAY\",\n    get: function get() {\n      return DATE_MED_WITH_WEEKDAY;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like 'October 14, 1983'\n     * @type {Object}\n     */\n  }, {\n    key: \"DATE_FULL\",\n    get: function get() {\n      return DATE_FULL;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like 'Tuesday, October 14, 1983'\n     * @type {Object}\n     */\n  }, {\n    key: \"DATE_HUGE\",\n    get: function get() {\n      return DATE_HUGE;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is.\n     * @type {Object}\n     */\n  }, {\n    key: \"TIME_SIMPLE\",\n    get: function get() {\n      return TIME_SIMPLE;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is.\n     * @type {Object}\n     */\n  }, {\n    key: \"TIME_WITH_SECONDS\",\n    get: function get() {\n      return TIME_WITH_SECONDS;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is.\n     * @type {Object}\n     */\n  }, {\n    key: \"TIME_WITH_SHORT_OFFSET\",\n    get: function get() {\n      return TIME_WITH_SHORT_OFFSET;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n     * @type {Object}\n     */\n  }, {\n    key: \"TIME_WITH_LONG_OFFSET\",\n    get: function get() {\n      return TIME_WITH_LONG_OFFSET;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like '09:30', always 24-hour.\n     * @type {Object}\n     */\n  }, {\n    key: \"TIME_24_SIMPLE\",\n    get: function get() {\n      return TIME_24_SIMPLE;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like '09:30:23', always 24-hour.\n     * @type {Object}\n     */\n  }, {\n    key: \"TIME_24_WITH_SECONDS\",\n    get: function get() {\n      return TIME_24_WITH_SECONDS;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like '09:30:23 EDT', always 24-hour.\n     * @type {Object}\n     */\n  }, {\n    key: \"TIME_24_WITH_SHORT_OFFSET\",\n    get: function get() {\n      return TIME_24_WITH_SHORT_OFFSET;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour.\n     * @type {Object}\n     */\n  }, {\n    key: \"TIME_24_WITH_LONG_OFFSET\",\n    get: function get() {\n      return TIME_24_WITH_LONG_OFFSET;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is.\n     * @type {Object}\n     */\n  }, {\n    key: \"DATETIME_SHORT\",\n    get: function get() {\n      return DATETIME_SHORT;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is.\n     * @type {Object}\n     */\n  }, {\n    key: \"DATETIME_SHORT_WITH_SECONDS\",\n    get: function get() {\n      return DATETIME_SHORT_WITH_SECONDS;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is.\n     * @type {Object}\n     */\n  }, {\n    key: \"DATETIME_MED\",\n    get: function get() {\n      return DATETIME_MED;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is.\n     * @type {Object}\n     */\n  }, {\n    key: \"DATETIME_MED_WITH_SECONDS\",\n    get: function get() {\n      return DATETIME_MED_WITH_SECONDS;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is.\n     * @type {Object}\n     */\n  }, {\n    key: \"DATETIME_MED_WITH_WEEKDAY\",\n    get: function get() {\n      return DATETIME_MED_WITH_WEEKDAY;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is.\n     * @type {Object}\n     */\n  }, {\n    key: \"DATETIME_FULL\",\n    get: function get() {\n      return DATETIME_FULL;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is.\n     * @type {Object}\n     */\n  }, {\n    key: \"DATETIME_FULL_WITH_SECONDS\",\n    get: function get() {\n      return DATETIME_FULL_WITH_SECONDS;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n     * @type {Object}\n     */\n  }, {\n    key: \"DATETIME_HUGE\",\n    get: function get() {\n      return DATETIME_HUGE;\n    }\n\n    /**\n     * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n     * @type {Object}\n     */\n  }, {\n    key: \"DATETIME_HUGE_WITH_SECONDS\",\n    get: function get() {\n      return DATETIME_HUGE_WITH_SECONDS;\n    }\n  }]);\n  return DateTime;\n}(Symbol.for(\"nodejs.util.inspect.custom\"));\nfunction friendlyDateTime(dateTimeish) {\n  if (DateTime.isDateTime(dateTimeish)) {\n    return dateTimeish;\n  } else if (dateTimeish && dateTimeish.valueOf && isNumber(dateTimeish.valueOf())) {\n    return DateTime.fromJSDate(dateTimeish);\n  } else if (dateTimeish && typeof dateTimeish === \"object\") {\n    return DateTime.fromObject(dateTimeish);\n  } else {\n    throw new InvalidArgumentError(\"Unknown datetime argument: \" + dateTimeish + \", of type \" + typeof dateTimeish);\n  }\n}\n\nvar VERSION = \"3.4.4\";\n\nexports.DateTime = DateTime;\nexports.Duration = Duration;\nexports.FixedOffsetZone = FixedOffsetZone;\nexports.IANAZone = IANAZone;\nexports.Info = Info;\nexports.Interval = Interval;\nexports.InvalidZone = InvalidZone;\nexports.Settings = Settings;\nexports.SystemZone = SystemZone;\nexports.VERSION = VERSION;\nexports.Zone = Zone;\n//# sourceMappingURL=luxon.js.map\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VWindow.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"0fe6165a\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"hide-default-header\":\"\",\"loading\":_vm.loading,\"hide-default-footer\":\"\",\"single-expand\":false,\"disable-pagination\":\"\",\"items\":_vm.Minutes,\"item-key\":\"DocumentId\",\"show-expand\":\"\",\"dense\":false},on:{\"item-expanded\":_vm.expandItem,\"click:row\":_vm.rowClick},scopedSlots:_vm._u([{key:\"item.DocumentDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.DatePretty(item.DocumentDate))+\" \"),(item.DocumentId == 237274)?_c('span',[_vm._v(\" (Transcript Attached)\")]):_vm._e()]}},{key:\"item.DocumentId\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"text-end\"},[(item.eMinutes)?_c('v-btn',{attrs:{\"outlined\":\"\",\"tile\":\"\",\"to\":'/Session/Committee/' + _vm.CommitteeId + '/eMinutes/' + item.eMinutes.Avid},on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\"E-Minutes\")]):_vm._e(),(item.DocumentId > 0)?_c('v-btn',{attrs:{\"tile\":\"\",\"outlined\":\"\",\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value +'api/Documents/' + item.DocumentId + '.pdf'},on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\"View PDF\")]):_vm._e(),(item.AudioLink)?_c('v-btn',{staticClass:\"ma-2\",attrs:{\"tile\":\"\",\"outlined\":\"\",\"rel\":\"noopener\",\"href\":item.AudioLink.Url,\"aria-label\":\"SDPB Audio\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(_vm._s(_vm.mdiVolumeHigh))]),_vm._v(\" Audio \")],1):_c('v-btn',{staticClass:\"ma-2\",attrs:{\"disabled\":\"\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\"No Audio\")])],1)]}},{key:\"expanded-item\",fn:function(ref){\nvar headers = ref.headers;\nvar item = ref.item;\nreturn [_c('td',{attrs:{\"colspan\":headers.length}},[(!item.HTML)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),(item.HTML)?_c('div',{domProps:{\"innerHTML\":_vm._s(item.HTML)}}):_vm._e()],1)]}},{key:\"footer\",fn:function(ref){return [(_vm.Minutes && _vm.Minutes.length > 1 && _vm.combindURLHTML)?_c('v-btn',{attrs:{\"tile\":\"\",\"outlined\":\"\",\"block\":\"\",\"rel\":\"noopener\",\"href\":_vm.combindURLHTML}},[_vm._v(\"View Combined HTML\")]):_vm._e(),(_vm.Minutes && _vm.Minutes.length > 1 && _vm.combindURL)?_c('v-btn',{attrs:{\"tile\":\"\",\"outlined\":\"\",\"block\":\"\",\"rel\":\"noopener\",\"href\":_vm.combindURL}},[_vm._v(\"View Combined PDF\")]):_vm._e()]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n<template>\r\n    <FilterableDataTable :headers=\"headers\"\r\n                         hide-default-header\r\n                         :loading=\"loading\"\r\n                         hide-default-footer\r\n                         :single-expand=\"false\"\r\n                         disable-pagination\r\n                         :items=\"Minutes\"\r\n                         item-key=\"DocumentId\"\r\n                         show-expand\r\n                         :dense=\"false\"\r\n                         @item-expanded=\"expandItem\"\r\n                         @click:row=\"rowClick\"\r\n                         class=\"elevation-1\">\r\n        <template v-slot:item.DocumentDate=\"{ item }\">\r\n            {{DatePretty(item.DocumentDate)}}\r\n            <span v-if=\"item.DocumentId == 237274\">&nbsp;(Transcript Attached)</span>\r\n        </template>\r\n        <template v-slot:item.DocumentId=\"{ item }\">\r\n            <div class=\"text-end\">\r\n                <v-btn v-if=\"item.eMinutes\" @click.stop=\"\" outlined tile :to=\"'/Session/Committee/' + CommitteeId + '/eMinutes/' + item.eMinutes.Avid\">E-Minutes</v-btn>\r\n                <v-btn @click.stop=\"\" v-if=\"item.DocumentId > 0\" tile outlined rel=\"noopener\" :href=\"$MyLRCUrl.value +'api/Documents/' + item.DocumentId + '.pdf'\">View PDF</v-btn>\r\n                <v-btn @click.stop=\"\" v-if=\"item.AudioLink\" class=\"ma-2\" tile outlined rel=\"noopener\" :href=\"item.AudioLink.Url\" aria-label=\"SDPB Audio\">\r\n                    <v-icon color=\"primary\">{{mdiVolumeHigh}}</v-icon>\r\n                    Audio\r\n                </v-btn>\r\n                <v-btn v-else @click.stop=\"\" disabled class=\"ma-2\">No Audio</v-btn>\r\n            </div>\r\n        </template>\r\n        <template v-slot:expanded-item=\"{ headers, item }\">\r\n            <td :colspan=\"headers.length\">\r\n                <v-progress-linear indeterminate v-if=\"!item.HTML\"></v-progress-linear>\r\n                <div v-if=\"item.HTML\" v-html=\"item.HTML\"></div>\r\n            </td>\r\n        </template>\r\n        <template v-slot:footer=\"{}\">\r\n            <v-btn v-if=\"Minutes && Minutes.length > 1 && combindURLHTML\" tile outlined block rel=\"noopener\" :href=\"combindURLHTML\">View Combined HTML</v-btn>\r\n            <v-btn v-if=\"Minutes && Minutes.length > 1 && combindURL\" tile outlined block rel=\"noopener\" :href=\"combindURL\">View Combined PDF</v-btn>\r\n        </template>\r\n    </FilterableDataTable>\r\n</template>\r\n<script>\r\n    import moment from 'moment'\r\n    import { mdiVolumeHigh } from '@mdi/js';\r\n\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Minutes',\r\n        props: ['CommitteeId'],\r\n        components: {\r\n            FilterableDataTable\r\n        },\r\n        methods: {\r\n            switchTab(item)\r\n            {\r\n                this.filterValue = item.value;\r\n            },\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n                let f;\r\n\r\n                if (this.currentRoute.toLowerCase().includes('/interim'))\r\n                {\r\n                    f = fetch('/api/InterimCommittees/Documents/' + this.CommitteeId + \"?Type=2&Type=4&Type=3&Type=5\",\r\n                        {\r\n                            method: \"GET\",\r\n                            credentials: \"include\",\r\n                            headers: { \"Content-Type\": \"application/json\" },\r\n                        });\r\n                }\r\n                else\r\n                {\r\n                    f = fetch('/api/SessionCommittees/Documents/' + this.CommitteeId + \"?Type=2&Type=4&Type=3&Type=5\",\r\n                        {\r\n                            method: \"GET\",\r\n                            credentials: \"include\",\r\n                            headers: { \"Content-Type\": \"application/json\" },\r\n                        })\r\n                }\r\n\r\n                f.then(\r\n                    res =>\r\n                    {\r\n                        this.loading = false;\r\n\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            return res.text().then(r => Promise.reject(r));\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        let data = EncodeDatetimes(response);\r\n                        let tempMinutes = data.filter(x => x.DocumentTypeId == 2 || x.DocumentTypeId == 4);\r\n                        let documentId = -1;\r\n\r\n                        let agendas = data.filter(x => x.DocumentTypeId == 3 || x.DocumentTypeId == 5);\r\n\r\n                        agendas.forEach(x =>\r\n                        {\r\n                            if (x.NoMeeting == true)\r\n                            {\r\n                                tempMinutes = tempMinutes.filter(y => y.DocumentDate.getTime() !== x.DocumentDate.getTime());\r\n                            }\r\n                            else if (!tempMinutes.some(y => y.DocumentDate.getTime() == x.DocumentDate.getTime()))\r\n                            {\r\n                                var nObj = {\r\n                                    DocumentDate: x.DocumentDate,\r\n                                    InterimYearCommitteeId: x.InterimYearCommitteeId,\r\n                                    AudioLink: x.AudioLink,\r\n                                    DocumentId: documentId,\r\n                                    HTML: null,\r\n                                    DocumentTypeId: 2,\r\n                                };\r\n\r\n                                documentId -= 1;\r\n\r\n                                tempMinutes.push(nObj);\r\n                            }\r\n                        });\r\n\r\n                        tempMinutes.sort((x, y) =>\r\n                        {\r\n                            if (x.DocumentDate && y.DocumentDate)\r\n                                return y.DocumentDate - x.DocumentDate;\r\n                            else if (x.DocumentDate)\r\n                                return -1;\r\n                            else\r\n                                return 1;\r\n                        });\r\n\r\n                        this.Minutes = tempMinutes;\r\n\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n            },\r\n\r\n            MeetingTimePretty(Time)\r\n            {\r\n                if (Time != undefined)\r\n                {\r\n                    return moment(Time).format('h:mm A');\r\n                } else\r\n                {\r\n                    return null;\r\n                }\r\n            },\r\n            DatePretty(Date)\r\n            {\r\n                if (Date != undefined)\r\n                {\r\n                    return moment(Date).format('M/DD h:mm A');\r\n                } else\r\n                {\r\n                    return null;\r\n                }\r\n            },\r\n            MinDatePretty(Date)\r\n            {\r\n                if (Date != undefined)\r\n                {\r\n                    return moment(Date).format('M/DD');\r\n                } else\r\n                {\r\n                    return null;\r\n                }\r\n            },\r\n            openDocumentHTML(DocumentId)\r\n            {\r\n                return fetch('/api/Documents/' + DocumentId + '.html',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        this.loading = false;\r\n\r\n                        if (res.ok)\r\n                            return res.text();\r\n                        else\r\n                            return \"<p>No HTML Available<p>\";\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n            },\r\n            async expandItem(item)\r\n            {\r\n                if (item.item.HTML == null)\r\n                {\r\n                    if (item.item.DocumentId > 0)\r\n                    {\r\n                        item.item.HTML = await this.openDocumentHTML(item.item.DocumentId);\r\n                    } else\r\n                    {\r\n                        item.item.HTML = \"No HTML Available\";\r\n                    }\r\n                }\r\n            },\r\n            rowClick(any, item)\r\n            {\r\n                if (item.item.DocumentId < 0)\r\n                    return;\r\n\r\n                //Load Html\r\n                if (!item.isExpanded)\r\n                    this.expandItem(item);\r\n\r\n                item.expand(!item.isExpanded);\r\n            },\r\n\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                loading: true,\r\n                loadingHTML: true,\r\n                mdiVolumeHigh,\r\n                headers: [\r\n                    { text: 'Date', value: 'DocumentDate' },\r\n                    { text: '', value: 'DocumentId', filterable: false },\r\n                    { text: '', value: 'data-table-expand', filterable: false, width: '5ch' }],\r\n                CommitteeMemberTypes: [],\r\n                YearCommittee: {\r\n                    Session: {\r\n                        Year: '',\r\n                        SessionId: null,\r\n                    },\r\n                    Committee: {\r\n                        MeetingTime: '',\r\n                        Room: {\r\n                            Room: '',\r\n                        },\r\n                        Days: '',\r\n                    },\r\n                },\r\n                Minutes: [],\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            CommitteeId: function ()\r\n            {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            CommitteeType: function ()\r\n            {\r\n                //switching between session and interm\r\n                if (this.currentRoute.includes('/Interim'))\r\n                {\r\n                    return \"Interim\";\r\n                } else\r\n                {\r\n                    return \"Session\";\r\n                }\r\n            },\r\n            currentRoute: function ()\r\n            {\r\n                return this.$route.path;\r\n            },\r\n            combindURL()\r\n            {\r\n                if (this.Minutes)\r\n                {\r\n                    let PublicMinDocs = this.Minutes.filter(x => x.DocumentId && x.DocumentId > 0).sort((a, b) => (a.DocumentDate > b.DocumentDate) ? 1 : -1);\r\n                    if (PublicMinDocs.length < 2)\r\n                    {\r\n                        return null;\r\n                    }\r\n                    var str = \"\";\r\n                    PublicMinDocs.forEach(i =>\r\n                    {\r\n                        if (i.DocumentId && Number.isInteger(i.DocumentId))\r\n                        {\r\n                            str += \"&Ids=\" + i.DocumentId;\r\n                        }\r\n                    });\r\n                    str = str.substring(1, str.length);\r\n                    return this.$MyLRCUrl.value + 'api/Documents/Combined.pdf?' + str;\r\n                }\r\n                return null;\r\n            },\r\n            combindURLHTML()\r\n            {\r\n                if (this.Minutes)\r\n                {\r\n                    let PublicMinDocs = this.Minutes.filter(x => x.DocumentId && x.DocumentId > 0).sort((a, b) => (a.DocumentDate > b.DocumentDate) ? 1 : -1);\r\n                    if (PublicMinDocs.length < 2)\r\n                    {\r\n                        return null;\r\n                    }\r\n                    var str = \"\";\r\n                    PublicMinDocs.forEach(i =>\r\n                    {\r\n                        if (i.DocumentId && Number.isInteger(i.DocumentId))\r\n                        {\r\n                            str += \"&Ids=\" + i.DocumentId;\r\n                        }\r\n                    });\r\n                    str = str.substring(1, str.length);\r\n                    return this.$MyLRCUrl.value + 'api/Documents/Combined.html?' + str;\r\n                }\r\n                return null;\r\n            },\r\n        }\r\n    };</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Minutes.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Minutes.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Minutes.vue?vue&type=template&id=159ea3ee&\"\nimport script from \"./Minutes.vue?vue&type=script&lang=js&\"\nexport * from \"./Minutes.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VBtn,VIcon,VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.SessionId)?_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}}):_vm._e()],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Custom Bill Report \")]),_vm._v(\" This form can be used to get the full Bill Directory or to customize your own bill search. \"),_c('br'),_c('div',[_c('div',[_vm._v(\" Bill Tracking Lists are available in \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value}},[_vm._v(\"MyLRC\")]),_vm._v(\". \")]),_c('div'),_c('b',[_vm._v(\"Tips:\")]),_c('ul',[_c('li',[_vm._v(\" Start values will retrieve all bills on and after that value or date. (Example: If you enter 2/1/05 all bills introduced on or \"),_c('b',[_vm._v(\"after\")]),_vm._v(\" that date will be returned.) \")]),_c('li',[_vm._v(\" End values will retrieve all bills on and before that value or date. (Example: If you enter 3/1/05 all bills introduced on or \"),_c('b',[_vm._v(\"before\")]),_vm._v(\" that date will be returned.) \")]),_c('li',[_vm._v(\" To return a list with one bill or one date enter the value in both the starting and ending values. \")]),_c('li',[_vm._v(\" To return a list of bills with Emergency Clauses click the Emergency Clause check box. \")])])]),_c('v-container',{attrs:{\"fluid\":\"\",\"pa-0\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[(_vm.$vuetify.breakpoint.smAndDown)?_c('v-col',{staticClass:\"pa-1\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.filterDialog=true}}},[_vm._v(\"Filter\")])],1):_c('v-col',{staticClass:\"pa-1\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Filter by: \")]),(_vm.$vuetify.breakpoint.mdAndUp)?[_c('v-col',{staticClass:\"pa-1\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"3\"}},[_c('v-autocomplete',{attrs:{\"label\":\"Bill Type\",\"items\":_vm.BillTypes,\"clearable\":\"\",\"item-text\":\"BillType\",\"item-value\":\"BillTypeId\",\"outlined\":\"\",\"hide-details\":\"\"},model:{value:(_vm.filterBillType),callback:function ($$v) {_vm.filterBillType=$$v},expression:\"filterBillType\"}})],1),_c('v-col',{staticClass:\"pa-1\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"3\"}},[_c('v-autocomplete',{attrs:{\"label\":\"Keyword\",\"items\":_vm.Keywords,\"clearable\":\"\",\"item-text\":\"Keyword\",\"item-value\":\"KeywordId\",\"outlined\":\"\",\"hide-details\":\"\"},model:{value:(_vm.filterKeyword),callback:function ($$v) {_vm.filterKeyword=$$v},expression:\"filterKeyword\"}})],1),_c('v-col',{staticClass:\"pa-1\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"3\"}},[_c('v-autocomplete',{attrs:{\"label\":\"Assigned to Committee\",\"items\":_vm.Committees,\"item-text\":\"FullName\",\"item-value\":\"CommitteeId\",\"outlined\":\"\",\"hide-details\":\"\",\"clearable\":\"\"},model:{value:(_vm.filterCommittee),callback:function ($$v) {_vm.filterCommittee=$$v},expression:\"filterCommittee\"}})],1),_c('v-col',{staticClass:\"pa-1\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"3\"}},[_c('v-autocomplete',{attrs:{\"label\":\"Sponsored by Committee\",\"items\":_vm.Committees,\"item-text\":\"FullName\",\"item-value\":\"SessionCommitteeId\",\"outlined\":\"\",\"hide-details\":\"\",\"clearable\":\"\"},model:{value:(_vm.filterCommitteeSponsored),callback:function ($$v) {_vm.filterCommitteeSponsored=$$v},expression:\"filterCommitteeSponsored\"}})],1),_c('v-col',{staticClass:\"pa-1\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"3\"}},[_c('v-autocomplete',{attrs:{\"label\":\"Sponsored by Interim Committee\",\"items\":_vm.InterimCommittees,\"item-text\":\"Name\",\"item-value\":\"InterimCommitteeId\",\"outlined\":\"\",\"hide-details\":\"\",\"clearable\":\"\"},model:{value:(_vm.filterInterimCommitteeSponsored),callback:function ($$v) {_vm.filterInterimCommitteeSponsored=$$v},expression:\"filterInterimCommitteeSponsored\"}})],1),_c('v-col',{staticClass:\"pa-1\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"3\"}},[_c('v-autocomplete',{attrs:{\"label\":\"Requested by Agency\",\"items\":_vm.Agencies,\"item-text\":\"Agency\",\"item-value\":\"AgencyId\",\"outlined\":\"\",\"hide-details\":\"\",\"clearable\":\"\"},model:{value:(_vm.filterAgencySponsored),callback:function ($$v) {_vm.filterAgencySponsored=$$v},expression:\"filterAgencySponsored\"}})],1),_c('v-col',{staticClass:\"pa-1\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"3\"}},[_c('v-autocomplete',{attrs:{\"label\":\"Prime Sponsor\",\"items\":_vm.Legislators,\"item-text\":\"Name\",\"item-value\":\"SessionMemberId\",\"outlined\":\"\",\"clearable\":\"\",\"hide-details\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(data){return [(typeof data.item !== 'object')?[_c('v-list-item-content',{domProps:{\"textContent\":_vm._s(data.item)}})]:[(data.item.Picture)?_c('v-list-item-avatar',[_c('v-img',{attrs:{\"transition\":\"false\",\"src\":data.item.PictureSmall}})],1):_vm._e(),_c('v-list-item-content',[_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm._f(\"MemberTypeFilter\")(data.item.MemberType)))]),_c('v-list-item-title',[_vm._v(_vm._s(data.item.FirstName)+\" \"+_vm._s(data.item.LastName))])],1)]]}}],null,false,665748970),model:{value:(_vm.filterPrimeSponsor),callback:function ($$v) {_vm.filterPrimeSponsor=$$v},expression:\"filterPrimeSponsor\"}})],1),_c('v-col',{staticClass:\"pa-1\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"3\"}},[_c('v-autocomplete',{attrs:{\"label\":\"Sponsor\",\"items\":_vm.Legislators,\"item-text\":\"Name\",\"item-value\":\"SessionMemberId\",\"outlined\":\"\",\"hide-details\":\"\",\"clearable\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(data){return [(typeof data.item !== 'object')?[_c('v-list-item-content',{domProps:{\"textContent\":_vm._s(data.item)}})]:[(data.item.Picture)?_c('v-list-item-avatar',[_c('v-img',{attrs:{\"transition\":\"false\",\"src\":data.item.PictureSmall}})],1):_vm._e(),_c('v-list-item-content',[_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm._f(\"MemberTypeFilter\")(data.item.MemberType)))]),_c('v-list-item-title',[_vm._v(_vm._s(data.item.FirstName)+\" \"+_vm._s(data.item.LastName))])],1)]]}}],null,false,665748970),model:{value:(_vm.filterSponsor),callback:function ($$v) {_vm.filterSponsor=$$v},expression:\"filterSponsor\"}})],1),_c('v-col',{staticClass:\"pa-1\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":\"Filter by Text\",\"outlined\":\"\",\"hide-details\":\"\",\"clearable\":\"\"},model:{value:(_vm.filterText),callback:function ($$v) {_vm.filterText=$$v},expression:\"filterText\"}})],1),_c('v-col',{staticClass:\"pa-1\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"3\"}},[_c('v-menu',{ref:\"menu1\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-text-field',_vm._g(_vm._b({attrs:{\"label\":\"Filter by Start Date\",\"hint\":\"MM/DD/YYYY format\",\"persistent-hint\":\"\",\"outlined\":\"\",\"clearable\":\"\"},on:{\"blur\":function($event){_vm.filterStartDate = _vm.parseDate(_vm.dateFormatted)}},model:{value:(_vm.dateFormatted),callback:function ($$v) {_vm.dateFormatted=$$v},expression:\"dateFormatted\"}},'v-text-field',attrs,false),on))]}}],null,false,1441859716),model:{value:(_vm.menu1),callback:function ($$v) {_vm.menu1=$$v},expression:\"menu1\"}},[_c('v-date-picker',{attrs:{\"no-title\":\"\"},on:{\"input\":function($event){_vm.menu1 = false}},model:{value:(_vm.filterStartDate),callback:function ($$v) {_vm.filterStartDate=$$v},expression:\"filterStartDate\"}})],1)],1),_c('v-col',{staticClass:\"pa-1\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"3\"}},[_c('v-menu',{ref:\"menu2\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-text-field',_vm._g(_vm._b({attrs:{\"label\":\"Filter by End Date\",\"hint\":\"MM/DD/YYYY format\",\"persistent-hint\":\"\",\"outlined\":\"\",\"clearable\":\"\"},on:{\"blur\":function($event){_vm.filterEndDate = _vm.parseDate(_vm.dateFormatted1)}},model:{value:(_vm.dateFormatted1),callback:function ($$v) {_vm.dateFormatted1=$$v},expression:\"dateFormatted1\"}},'v-text-field',attrs,false),on))]}}],null,false,667796932),model:{value:(_vm.menu2),callback:function ($$v) {_vm.menu2=$$v},expression:\"menu2\"}},[_c('v-date-picker',{attrs:{\"no-title\":\"\"},on:{\"input\":function($event){_vm.menu2 = false}},model:{value:(_vm.filterEndDate),callback:function ($$v) {_vm.filterEndDate=$$v},expression:\"filterEndDate\"}})],1)],1),_c('v-col',{staticClass:\"pa-1\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"3\"}},[_c('v-checkbox',{staticClass:\"mx-2\",attrs:{\"label\":\"Emergency Clause\"},model:{value:(_vm.filterEmergencyClause),callback:function ($$v) {_vm.filterEmergencyClause=$$v},expression:\"filterEmergencyClause\"}})],1)]:_vm._e()],2)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('FilterableDataTable',{staticClass:\"elevation-1 ma-1\",attrs:{\"headers\":_vm.billHeaders,\"items\":_vm.sortedBills,\"loading\":_vm.loading,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"item-key\":\"ListBillId\",\"search\":_vm.filterText},scopedSlots:_vm._u([{key:\"item.BillSort\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType + ' ' + item.BillNumberOnly))])]}}])})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar v-if=\"SessionId\" :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Custom Bill Report\r\n            </div>\r\n            This form can be used to get the full Bill Directory or to customize your own bill search.\r\n            <br />\r\n            <div>\r\n                <div>\r\n                    Bill Tracking Lists are available in <a rel=\"noopener\" :href=\"$MyLRCUrl.value\">MyLRC</a>.\r\n                </div>\r\n\r\n                <div>\r\n                </div>\r\n                <b>Tips:</b>\r\n                <ul>\r\n\r\n                    <li>\r\n                        Start values will retrieve\r\n                        all bills on and after that value or date. (Example: If you enter 2/1/05 all bills\r\n                        introduced on or <b>after</b> that date will be returned.)\r\n                    </li>\r\n                    <li>\r\n                        End values will retrieve\r\n                        all bills on and before that value or date. (Example: If you enter 3/1/05 all bills\r\n                        introduced on or <b>before</b> that date will be returned.)\r\n                    </li>\r\n                    <li>\r\n                        To return a list\r\n                        with one bill or one date enter the value in both the starting and ending values.\r\n                    </li>\r\n                    <li>\r\n                        To return a list of bills with Emergency Clauses click the Emergency Clause check\r\n                        box.\r\n                    </li>\r\n                </ul>\r\n            </div>\r\n\r\n            <v-container fluid pa-0>\r\n                <v-row no-gutters>\r\n                    <v-col v-if=\"$vuetify.breakpoint.smAndDown\" cols=\"12\" class=\"pa-1\">\r\n                        <v-btn @click=\"filterDialog=true\" color=\"primary\">Filter</v-btn>\r\n                    </v-col>\r\n                    <v-col v-else cols=\"12\" class=\"pa-1\">\r\n                        Filter by:\r\n                    </v-col>\r\n                    <template v-if=\"$vuetify.breakpoint.mdAndUp\">\r\n                        <v-col cols=\"12\" md=\"6\" lg=\"3\" class=\"pa-1\">\r\n                            <v-autocomplete v-model=\"filterBillType\" label=\"Bill Type\" :items=\"BillTypes\" clearable item-text=\"BillType\" item-value=\"BillTypeId\" outlined hide-details></v-autocomplete>\r\n                        </v-col>\r\n                        <v-col cols=\"12\" md=\"6\" lg=\"3\" class=\"pa-1\">\r\n                            <v-autocomplete v-model=\"filterKeyword\" label=\"Keyword\" :items=\"Keywords\" clearable item-text=\"Keyword\" item-value=\"KeywordId\" outlined hide-details></v-autocomplete>\r\n                        </v-col>\r\n                        <v-col cols=\"12\" md=\"6\" lg=\"3\" class=\"pa-1\">\r\n                            <v-autocomplete v-model=\"filterCommittee\" label=\"Assigned to Committee\" :items=\"Committees\" item-text=\"FullName\" item-value=\"CommitteeId\" outlined hide-details clearable></v-autocomplete>\r\n                        </v-col>\r\n                        <v-col cols=\"12\" md=\"6\" lg=\"3\" class=\"pa-1\">\r\n                            <v-autocomplete v-model=\"filterCommitteeSponsored\" label=\"Sponsored by Committee\" :items=\"Committees\" item-text=\"FullName\" item-value=\"SessionCommitteeId\" outlined hide-details clearable></v-autocomplete>\r\n                        </v-col>\r\n                        <v-col cols=\"12\" md=\"6\" lg=\"3\" class=\"pa-1\">\r\n                            <v-autocomplete v-model=\"filterInterimCommitteeSponsored\" label=\"Sponsored by Interim Committee\" :items=\"InterimCommittees\" item-text=\"Name\" item-value=\"InterimCommitteeId\" outlined hide-details clearable></v-autocomplete>\r\n                        </v-col>\r\n                        <v-col cols=\"12\" md=\"6\" lg=\"3\" class=\"pa-1\">\r\n                            <v-autocomplete v-model=\"filterAgencySponsored\" label=\"Requested by Agency\" :items=\"Agencies\" item-text=\"Agency\" item-value=\"AgencyId\" outlined hide-details clearable></v-autocomplete>\r\n                        </v-col>\r\n                        <v-col cols=\"12\" md=\"6\" lg=\"3\" class=\"pa-1\">\r\n                            <v-autocomplete v-model=\"filterPrimeSponsor\" label=\"Prime Sponsor\" :items=\"Legislators\" item-text=\"Name\" item-value=\"SessionMemberId\" outlined clearable hide-details>\r\n                                <template slot=\"item\" slot-scope=\"data\">\r\n                                    <template v-if=\"typeof data.item !== 'object'\">\r\n                                        <v-list-item-content v-text=\"data.item\"></v-list-item-content>\r\n                                    </template>\r\n                                    <template v-else>\r\n                                        <v-list-item-avatar v-if=\"data.item.Picture\">\r\n                                            <v-img transition=\"false\" :src=\"data.item.PictureSmall\"></v-img>\r\n                                        </v-list-item-avatar>\r\n                                        <v-list-item-content>\r\n                                            <v-list-item-subtitle>{{data.item.MemberType | MemberTypeFilter}}</v-list-item-subtitle>\r\n                                            <v-list-item-title>{{data.item.FirstName}} {{data.item.LastName}}</v-list-item-title>\r\n                                        </v-list-item-content>\r\n                                    </template>\r\n                                </template>\r\n                            </v-autocomplete>\r\n                        </v-col>\r\n                        <v-col cols=\"12\" md=\"6\" lg=\"3\" class=\"pa-1\">\r\n                            <v-autocomplete v-model=\"filterSponsor\" label=\"Sponsor\" :items=\"Legislators\" item-text=\"Name\" item-value=\"SessionMemberId\" outlined hide-details clearable>\r\n                                <template slot=\"item\" slot-scope=\"data\">\r\n                                    <template v-if=\"typeof data.item !== 'object'\">\r\n                                        <v-list-item-content v-text=\"data.item\"></v-list-item-content>\r\n                                    </template>\r\n                                    <template v-else>\r\n                                        <v-list-item-avatar v-if=\"data.item.Picture\">\r\n                                            <v-img transition=\"false\" :src=\"data.item.PictureSmall\"></v-img>\r\n                                        </v-list-item-avatar>\r\n                                        <v-list-item-content>\r\n                                            <v-list-item-subtitle>{{data.item.MemberType | MemberTypeFilter}}</v-list-item-subtitle>\r\n                                            <v-list-item-title>{{data.item.FirstName}} {{data.item.LastName}}</v-list-item-title>\r\n                                        </v-list-item-content>\r\n                                    </template>\r\n                                </template>\r\n                            </v-autocomplete>\r\n                        </v-col>\r\n                        <v-col cols=\"12\" md=\"6\" lg=\"3\" class=\"pa-1\">\r\n                            <v-text-field v-model=\"filterText\" label=\"Filter by Text\" outlined hide-details clearable></v-text-field>\r\n                        </v-col>\r\n                        <v-col cols=\"12\" md=\"6\" lg=\"3\" class=\"pa-1\">\r\n                            <v-menu ref=\"menu1\"\r\n                                    v-model=\"menu1\"\r\n                                    :close-on-content-click=\"false\"\r\n                                    transition=\"scale-transition\"\r\n                                    offset-y\r\n                                    max-width=\"290px\"\r\n                                    min-width=\"290px\">\r\n                                <template v-slot:activator=\"{ on, attrs }\">\r\n                                    <v-text-field v-model=\"dateFormatted\"\r\n                                                  label=\"Filter by Start Date\"\r\n                                                  hint=\"MM/DD/YYYY format\"\r\n                                                  persistent-hint\r\n                                                  v-bind=\"attrs\"\r\n                                                  @blur=\"filterStartDate = parseDate(dateFormatted)\"\r\n                                                  outlined\r\n                                                  clearable\r\n                                                  v-on=\"on\"></v-text-field>\r\n                                </template>\r\n                                <v-date-picker v-model=\"filterStartDate\" no-title @input=\"menu1 = false\"></v-date-picker>\r\n                            </v-menu>\r\n                        </v-col>\r\n                        <v-col cols=\"12\" md=\"6\" lg=\"3\" class=\"pa-1\">\r\n                            <v-menu ref=\"menu2\"\r\n                                    v-model=\"menu2\"\r\n                                    :close-on-content-click=\"false\"\r\n                                    transition=\"scale-transition\"\r\n                                    offset-y\r\n                                    max-width=\"290px\"\r\n                                    min-width=\"290px\">\r\n                                <template v-slot:activator=\"{ on, attrs }\">\r\n                                    <v-text-field v-model=\"dateFormatted1\"\r\n                                                  label=\"Filter by End Date\"\r\n                                                  hint=\"MM/DD/YYYY format\"\r\n                                                  persistent-hint\r\n                                                  v-bind=\"attrs\"\r\n                                                  @blur=\"filterEndDate = parseDate(dateFormatted1)\"\r\n                                                  outlined\r\n                                                  clearable\r\n                                                  v-on=\"on\"></v-text-field>\r\n                                </template>\r\n                                <v-date-picker v-model=\"filterEndDate\" no-title @input=\"menu2 = false\"></v-date-picker>\r\n                            </v-menu>\r\n                        </v-col>\r\n                        <v-col cols=\"12\" md=\"6\" lg=\"3\" class=\"pa-1\">\r\n                            <v-checkbox v-model=\"filterEmergencyClause\" class=\"mx-2\" label=\"Emergency Clause\"></v-checkbox>\r\n\r\n                        </v-col>\r\n                    </template>\r\n                </v-row>\r\n            </v-container>\r\n            <v-row no-gutters>\r\n                <v-col cols=\"12\">\r\n                    <FilterableDataTable :headers=\"billHeaders\"\r\n                                         :items=\"sortedBills\"\r\n                                         :loading=\"loading\"\r\n                                         disable-pagination\r\n                                         hide-default-footer\r\n                                         item-key=\"ListBillId\"\r\n                                         :search=\"filterText\"\r\n                                         class=\"elevation-1 ma-1\">\r\n                        <template v-slot:item.BillSort=\"{ item }\">\r\n                            <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType + ' ' + item.BillNumberOnly}}</router-link>\r\n                        </template>\r\n                    </FilterableDataTable>\r\n                </v-col>\r\n            </v-row>\r\n\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    import moment from 'moment'\r\n    export default {\r\n        name: 'Custom',\r\n        props: ['SessionId'],\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                myfetch('/api/Bills/Session/' + this.SessionId, { method: 'GET' })\r\n                    .then(r => r.json())\r\n                    .then(r => {\r\n                        EncodeDatetimes(r);\r\n\r\n                        r = r.map(x => {\r\n                            x.OtherBillNumber = x.BillNumber;\r\n                            x.BillNumber = x.BillType + \" \" + x.BillNumberOnly;\r\n                            x.BillSort = x.BillType + (\"000000\" + x.BillNumberOnly).slice(-6);\r\n\r\n                            if (x.Introduced instanceof Date) {\r\n                                x.IntroducedSearch = moment(x.Introduced).format(\"YYYY-MM-DD MM/DD/YYYY MM-DD-YYYY M/D/YYYY M-D-YYYY\");\r\n                            }\r\n                            else {\r\n                                x.IntroducedSearch = null;\r\n                            }\r\n\r\n                            return x;\r\n                        });\r\n\r\n                        r.sort((x, y) => {\r\n                            if (x.BillSort > y.BillSort)\r\n                                return 1;\r\n                            else if (x.BillSort < y.BillSort)\r\n                                return -1;\r\n                            return 0;\r\n                        });\r\n\r\n                        this.bills = r;\r\n                        this.loading = false;\r\n                    });\r\n\r\n                myfetch('/api/Keywords?SessionId=' + this.SessionId, { method: 'GET' }).then(r => r.json()).then(\r\n                    r => {\r\n                        r.sort((x, y) => {\r\n                            if (x.Keyword < y.Keyword) return -1;\r\n                            else if (x.Keyword > y.Keyword) return 1;\r\n                            else return 0;\r\n                        });\r\n\r\n                        this.Keywords = r;\r\n                    });\r\n\r\n                myfetch('/api/SessionCommittees/Session/' + this.SessionId, { method: 'GET' }).then(r => r.json()).then(\r\n                    r => {\r\n                        r = r.filter(x => x.CommitteeType == 'S');\r\n\r\n                        r.sort((x, y) => {\r\n                            if (x.FullName < y.FullName) return -1;\r\n                            else if (x.FullName > y.FullName) return 1;\r\n                            else return 0;\r\n                        });\r\n\r\n                        this.Committees = r;\r\n                    });\r\n\r\n                myfetch(\"/api/InterimCommittees/Session/\" + this.SessionId, { method: 'GET' }).then(r => r.json()).then(\r\n                    r => {\r\n\r\n                        r.sort((x, y) => {\r\n                            if (x.Name < y.Name) return -1;\r\n                            else if (x.Name > y.Name) return 1;\r\n                            else return 0;\r\n                        });\r\n\r\n                        this.InterimCommittees = r;\r\n                    });\r\n\r\n                myfetch('/api/SessionMembers/Session/' + this.SessionId, { method: 'GET' }).then(r => r.json()).then(\r\n                    r => {\r\n                        r.sort((x, y) => {\r\n                            if (x.UniqueName < y.UniqueName) return -1;\r\n                            else if (x.UniqueName > y.UniqueName) return 1;\r\n                            else return 0;\r\n                        });\r\n\r\n                        this.Legislators = r\r\n                    });\r\n\r\n                myfetch('/api/Agencies/Session/' + this.SessionId, { method: 'GET' })\r\n                    .then(r => r.json())\r\n                    .then(r =>\r\n                        {\r\n                        r.sort((x, y) => {\r\n                            if (x.Agency < y.Agency) return -1;\r\n                            else if (x.Agency > y.Agency) return 1;\r\n                            else return 0;\r\n                        });\r\n\r\n                    this.Agencies = r;\r\n                });\r\n                fetch('/api/BillNumbers/BillTypes', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.ok) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return res.text().then(r=>Promise.reject(r));\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.BillTypes = EncodeDatetimes(response);\r\n\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n\r\n            },\r\n            formatDate(date) {\r\n                if (!date) return null\r\n\r\n                const [year, month, day] = date.split('-')\r\n                return `${month}/${day}/${year}`\r\n            },\r\n            parseDate(date) {\r\n                if (!date) return null\r\n\r\n                const [month, day, year] = date.split('/')\r\n                return `${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')}`\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                search: '',\r\n                loading: true,\r\n                rowsPerPageItems: [15, 30, 50],\r\n                pagination: {\r\n                    descending: null,\r\n                    page: 1,\r\n                    rowsPerPage: 15,\r\n                    sortBy: null,\r\n                    totalItems: null\r\n                },\r\n                billHeaders: [\r\n\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'left',\r\n                        sortable: true,\r\n                        value: 'BillSort',\r\n                        width: \"15ch\",\r\n                        visible: true,\r\n                        Filter: null,\r\n                    },\r\n                    {\r\n                        text: 'Title',\r\n                        align: 'left',\r\n                        sortable: true,\r\n                        value: 'Title',\r\n                        width: \"*\",\r\n                        visible: true,\r\n                        Filter: null,\r\n                    },\r\n\r\n                ],\r\n                bills: [],\r\n                filterAgencySponsored: null,\r\n                filterKeyword: null,\r\n                filterBillType: null,\r\n                filterCommittee: null,\r\n                filterCommitteeSponsored: null,\r\n                filterInterimCommitteeSponsored: null,\r\n                filterSponsor: null,\r\n                filterText: null,\r\n                filterTextResults: null,\r\n                filterPrimeSponsor: null,\r\n                filterEmergencyClause: null,\r\n                filterStartDate: null,\r\n                filterEndDate: null,\r\n                sortStack: [],\r\n                Agencies: [],\r\n                existingBills: [],\r\n                Keywords: [],\r\n                BillTypes: [],\r\n                Committees: [],\r\n                InterimCommittees: [],\r\n                Legislators: [],\r\n                ListName: null,\r\n                AddCriteria: false,\r\n                filterDialog: false,\r\n                dateFormatted: null,\r\n                menu1: false,\r\n                menu2: false,\r\n                dateFormatted1: null,\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            filterStartDate(val) {\r\n                this.dateFormatted = this.formatDate(this.filterStartDate)\r\n            },\r\n            filterEndDate(val) {\r\n                this.dateFormatted1 = this.formatDate(this.filterEndDate)\r\n            },\r\n        },\r\n        computed: {\r\n            computedDateFormatted() {\r\n                return this.formatDate(this.filterStartDate)\r\n            },\r\n            sortedBills: function () {\r\n                let filters = this.billHeaders.filter((x) => {\r\n                    if (x.Filter != null && x.Filter.trim() != null && x.Filter.trim().length > 0) {\r\n                        return true;\r\n                    }\r\n                    return false;\r\n                });\r\n\r\n                let resultRows = this.bills.filter(x => !this.existingBills.includes(x.BillId));\r\n\r\n                if (this.filterBillType != null) {\r\n                    resultRows = resultRows.filter(x => x.BillType.includes(this.filterBillType));\r\n                }\r\n\r\n                if (this.filterKeyword != null) {\r\n                    resultRows = resultRows.filter(x => x.Keywords.includes(this.filterKeyword));\r\n                }\r\n\r\n                if (this.filterCommittee != null) {\r\n                    resultRows = resultRows.filter(x => x.Committees.includes(this.filterCommittee));\r\n                }\r\n\r\n                if (this.filterSponsor != null) {\r\n                    resultRows = resultRows.filter(x => x.Sponsors.includes(this.filterSponsor));\r\n                }\r\n\r\n                if (this.filterPrimeSponsor != null) {\r\n                    resultRows = resultRows.filter(x => x.PrimeSponsors.includes(this.filterPrimeSponsor));\r\n                }\r\n\r\n                if (this.filterCommitteeSponsored != null) {\r\n                    resultRows = resultRows.filter(x => x.SessionCommitteeId == this.filterCommitteeSponsored);\r\n                }\r\n\r\n                if (this.filterInterimCommitteeSponsored != null) {\r\n                    resultRows = resultRows.filter(x => x.InterimCommitteeId == this.filterInterimCommitteeSponsored);\r\n                }\r\n\r\n                if (this.filterAgencySponsored != null) {\r\n                    resultRows = resultRows.filter(x => x.AgencyId == this.filterAgencySponsored);\r\n                }\r\n\r\n                if (this.filterTextResults != null) {\r\n                    resultRows = resultRows.filter(x => this.filterTextResults.includes(x.BillId));\r\n                }\r\n\r\n                if (this.filterEmergencyClause == true) {\r\n                    resultRows = resultRows.filter(x => x.EmergencyClause == true);\r\n                }\r\n\r\n                if (this.filterStartDate != null) {\r\n                    resultRows = resultRows.filter(x => x.Introduced >= new Date(this.filterStartDate));\r\n                }\r\n\r\n                if (this.filterEndDate != null) {\r\n                    resultRows = resultRows.filter(x => x.Introduced <= new Date(this.filterEndDate));\r\n                }\r\n\r\n\r\n                resultRows = resultRows.filter((x) => {\r\n                    for (let i in filters) {\r\n                        let searchVals = filters[i].Filter.trim().toLowerCase().split(' ');\r\n                        let searchString = (x[filters[i].value] || \"\").toString().toLowerCase();\r\n\r\n                        if (isValidDate(searchString))\r\n                            searchString = (x[filters[i].value] || \"\").toLocaleString().toLowerCase();\r\n\r\n                        if (!searchVals.every(s => searchString.includes(s)))\r\n                            return false;\r\n                    }\r\n                    return true;\r\n                });\r\n\r\n                let stack = this.sortStack;\r\n                resultRows.sort(function (a, b) {\r\n                    for (let i in stack) {\r\n                        let key = stack[i].value;\r\n                        let desc = stack[i].descending;\r\n                        if (a[key] > b[key]) return desc ? -1 : 1;\r\n                        else if (a[key] < b[key]) return desc ? 1 : -1;\r\n                        else continue;\r\n                    }\r\n                    return 0;\r\n                });\r\n                return resultRows;\r\n            },\r\n            Title: function () {\r\n                let title = 'Custom Bill Search';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Custom.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Custom.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Custom.vue?vue&type=template&id=65b2801a&\"\nimport script from \"./Custom.vue?vue&type=script&lang=js&\"\nexport * from \"./Custom.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VListItemAvatar } 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 { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAutocomplete,VBtn,VCheckbox,VCol,VContainer,VDatePicker,VImg,VListItemAvatar,VListItemContent,VListItemSubtitle,VListItemTitle,VMenu,VRow,VTextField})\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VItemGroup.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"f20e14ea\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VTextarea.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"230b8cb5\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","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:\"headline\"},[_vm._v(\"Agendas\")]),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('v-list',_vm._l((_vm.UniqueDates),function(i){return _c('v-list-item',{key:i},[_c('v-btn',{attrs:{\"block\":\"\",\"rel\":\"noopener\",\"href\":_vm.combindAgendaURL(i)}},[_vm._v(\"Committee Agendas for \"+_vm._s(_vm.MinDatePretty(i)))])],1)}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row>\r\n        <v-col cols=\"12\">\r\n            <div class=\"headline\">Agendas</div>\r\n            <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n            <v-list>\r\n                <v-list-item v-for=\"i in UniqueDates\" :key=\"i\">\r\n                    <v-btn block rel=\"noopener\" :href=\"combindAgendaURL(i)\">Committee Agendas for {{MinDatePretty(i)}}</v-btn>\r\n                </v-list-item>\r\n            </v-list>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    import moment from 'moment'\r\n\r\n    export default {\r\n        name: 'CombinedAgendas',\r\n        props: ['CommitteeId'],\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n            switchTab(item) {\r\n                this.filterValue = item.value;\r\n            },\r\n            LoadData() {\r\n                this.loading = true;\r\n                if (this.currentRoute.includes('/Interim')) {\r\n\r\n                } else {\r\n                    fetch('/api/SessionCommittees/CommitteeAgendas/' + this.CommitteeId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => {\r\n                        this.loading = false;\r\n\r\n                        if (res.ok) \r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else\r\n                        {\r\n                            return res.text().then(r => Promise.reject(r));\r\n                        }\r\n                        \r\n                    }).then(response => {\r\n                        this.YearCommittee = EncodeDatetimes(response);\r\n                        if (this.YearCommittee.CommitteeAgendas != null) {\r\n                            var dates = this.YearCommittee.CommitteeAgendas.map(z => moment(z.DocumentDate).format('MM/DD/YYYY')).reverse();\r\n                            this.UniqueDates = [new Set(dates)][0];\r\n                        }\r\n\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n            },\r\n            MeetingTimePretty(Time) {\r\n                if (Time != undefined) {\r\n                    return moment(Time).format('h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            DatePretty(Date) {\r\n                if (Date != undefined) {\r\n                    return moment(Date).format('M/DD h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            MinDatePretty(Date) {\r\n                if (Date != undefined) {\r\n                    return moment(Date).format('M/DD');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            openDocumentHTML(DocumentId) {\r\n                //return Promise.resolve(\"<p>STring that you want me to write</p>\");\r\n                return fetch('/api/Documents/' + DocumentId + '.html', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.text();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    return response;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            async expandItem(item) {\r\n                if (item.value && item.item.HTML == null) {\r\n                    item.item.HTML = await this.openDocumentHTML(item.item.DocumentId);\r\n                }\r\n            },\r\n            rowClick(item, item1) {\r\n                var temp = {\r\n                    item: item,\r\n                    value: !item1.isExpanded\r\n                };\r\n                if (!item1.isExpanded) {\r\n                    this.expandItem(temp);\r\n                    if (item.DocumentTypeId == 3 || item.DocumentTypeId == 5) {\r\n                        this.expandedAgendas.push(item);\r\n                    } else {\r\n                        this.expandedMinutes.push(item);\r\n\r\n                    }\r\n                } else {\r\n                    let testing = this.expandedAgendas.findIndex(x => x.DocumentId == item.DocumentId);\r\n                    if (item.DocumentTypeId == 3 || item.DocumentTypeId == 5) {\r\n\r\n                        this.expandedAgendas.splice(testing, 1);\r\n                    } else {\r\n                        this.expandedMinutes.splice(testing, 1);\r\n                    }\r\n                }\r\n            },\r\n            combindAgendaURL(item) {\r\n                var docs = this.YearCommittee.CommitteeAgendas.filter(x => moment(x.DocumentDate).format('MM/DD/YYYY') == moment(item).format('MM/DD/YYYY'));\r\n                var str = \"\";\r\n                docs.forEach(i => {\r\n                    str += \"&Ids=\" + i.DocumentId;\r\n                });\r\n                str = str.substring(1, str.length);\r\n                return this.$MyLRCUrl.value + 'api/Documents/Combined.pdf?' + str;\r\n            },\r\n            isDateInArray(needle, haystack) {\r\n                for (var i = 0; i < haystack.length; i++) {\r\n                    if (needle.getTime() === haystack[i].getTime()) {\r\n                        return true;\r\n                    }\r\n                }\r\n                return false;\r\n            }\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: true,\r\n                loadingHTML: true,\r\n                filterValue: 'Detail',\r\n                UniqueDates: [],\r\n                HouseRulesURL: null,\r\n                SenateRulesURL: null,\r\n                JointRulesURL: null,\r\n                SenateSeatingChartURL: null,\r\n                HouseSeatingChartURL: null,\r\n                HouseDirectoryURL: null,\r\n                SenateDirectoryURL: null,\r\n                tabs: [\r\n                    {\r\n                        value: 'Detail', type: 'All'\r\n                    },\r\n                    {\r\n                        value: 'Agendas', type: 'All'\r\n                    },\r\n                    {\r\n                        value: 'Minutes & Audio', type: 'All'\r\n                    },\r\n                    {\r\n                        value: 'Bills', type: 'Session'\r\n                    },\r\n                    {\r\n                        value: 'Hearing Documents', type: 'All'\r\n                    },\r\n                    {\r\n                        value: 'Committee Agendas', type: 'Session'\r\n                    },\r\n                ],\r\n                headers: [{ text: 'Date', value: 'DocumentDate' }, { text: '', value: 'DocumentId' }, { text: '', value: 'data-table-expand' },],\r\n                billHeaders: [{ text: 'Bill', value: 'BillId' }, { text: 'Title', value: 'Title' },],\r\n                expandedAgendas: [],\r\n                expandedMinutes: [],\r\n                CommitteeMemberTypes: [],\r\n                YearCommittee: {\r\n                    Session: {\r\n                        Year: '',\r\n                        SessionId: null,\r\n                    },\r\n                    Committee: {\r\n                        MeetingTime: '',\r\n                        Room: {\r\n                            Room: '',\r\n                        },\r\n                        Days: '',\r\n                    },\r\n                },\r\n                Documents: [],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            CommitteeId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            CommitteeType: function () {\r\n                //switching between session and interm\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    return \"Interim\";\r\n                } else {\r\n                    return \"Session\";\r\n                }\r\n            },\r\n            currentRoute: function () {\r\n                return this.$route.path;\r\n            },\r\n            filteredTabs: function () {\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    return this.tabs.filter(x => x.type != 'Session');\r\n                } else {\r\n                    if (this.YearCommittee.Committee.FullBody) {\r\n                        return this.tabs;\r\n                    } else {\r\n                        return this.tabs.filter(x => x.value != 'Committee Agendas');\r\n\r\n                    }\r\n                }\r\n            },\r\n            Senators: function () {\r\n                if (this.YearCommittee.CommitteeMembers != undefined) {\r\n                    return this.YearCommittee.CommitteeMembers.filter(x => x.MemberType == 'S').sort((a, b) => (a.Member.LastName > b.Member.LastName) ? 1 : -1);\r\n                } else {\r\n                    return [];\r\n                }\r\n            },\r\n            Representatives: function () {\r\n                if (this.YearCommittee.CommitteeMembers != undefined) {\r\n                    return this.YearCommittee.CommitteeMembers.filter(x => x.MemberType == 'H').sort((a, b) => (a.Member.LastName > b.Member.LastName) ? 1 : -1);\r\n                } else {\r\n                    return [];\r\n                }\r\n            },\r\n            Agendas: function () {\r\n                var agendaDocTypeId = [3, 5];\r\n                return this.YearCommittee.Documents.filter(x => agendaDocTypeId.includes(x.DocumentTypeId));\r\n            },\r\n            Minutes: function () {\r\n                var minDocTypeId = [2, 4];\r\n                return this.YearCommittee.Documents.filter(x => minDocTypeId.includes(x.DocumentTypeId));\r\n            },\r\n            Chair: function () {\r\n                if (this.YearCommittee.CommitteeMembers != undefined) {\r\n                    var res = this.YearCommittee.CommitteeMembers.filter(x => x.CommitteeMemberType == 'Chair');\r\n                    if (res.length > 0) {\r\n                        return res[0];\r\n                    } else {\r\n                        return {};\r\n                    }\r\n                } else {\r\n                    return {};\r\n                }\r\n            },\r\n            ViceChair: function () {\r\n                if (this.YearCommittee.CommitteeMembers != undefined) {\r\n                    var res = this.YearCommittee.CommitteeMembers.filter(x => x.CommitteeMemberType == 'Vice-Chair');\r\n                    if (res.length > 0) {\r\n                        return res[0];\r\n                    } else {\r\n                        return {};\r\n                    }\r\n                } else {\r\n                    return {};\r\n                }\r\n            },\r\n            CoChair: function () {\r\n                if (this.YearCommittee.CommitteeMembers != undefined) {\r\n                    var res = this.YearCommittee.CommitteeMembers.filter(x => x.CommitteeMemberType == 'Co-Chair');\r\n                    if (res.length > 0) {\r\n                        return res[0];\r\n                    } else {\r\n                        return {};\r\n                    }\r\n                } else {\r\n                    return {};\r\n                }\r\n\r\n            },\r\n            LeadCoChair: function () {\r\n                if (this.YearCommittee.CommitteeMembers != undefined) {\r\n                    var res = this.YearCommittee.CommitteeMembers.filter(x => x.CommitteeMemberType == 'Lead Co-Chair');\r\n                    if (res.length > 0) {\r\n                        return res[0];\r\n                    } else {\r\n                        return {};\r\n                    }\r\n                } else {\r\n                    return {};\r\n                }\r\n            },\r\n            ExOfficio: function () {\r\n                if (this.YearCommittee.CommitteeMembers != undefined) {\r\n                    var res = this.YearCommittee.CommitteeMembers.filter(x => x.CommitteeMemberType == 'ex officio');\r\n                    if (res.length > 0) {\r\n                        return res[0];\r\n                    } else {\r\n                        return {};\r\n                    }\r\n                } else {\r\n                    return {};\r\n                }\r\n            },\r\n            ChiefClerk: function () {\r\n                if (this.YearCommittee.SessionStaff != undefined) {\r\n                    return this.YearCommittee.SessionStaff.ChiefClerk;\r\n\r\n                } else {\r\n                    return {};\r\n                }\r\n            },\r\n            President: function () {\r\n                if (this.YearCommittee.Committee != undefined) {\r\n                    var res = this.YearCommittee.CommitteeMembers.filter(x => x.Position == 'President Pro Tempore');\r\n                    if (res.length > 0) {\r\n                        return res[0];\r\n                    }\r\n                    else {\r\n                        return {};\r\n                    }\r\n                } else {\r\n                    return {};\r\n                }\r\n            },\r\n            Secretary: function () {\r\n                if (this.YearCommittee.SessionStaff != undefined) {\r\n                    return this.YearCommittee.SessionStaff.Secretary;\r\n\r\n                } else {\r\n                    return {};\r\n                }\r\n            },\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CombinedAgendas.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CombinedAgendas.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CombinedAgendas.vue?vue&type=template&id=2cea5206&\"\nimport script from \"./CombinedAgendas.vue?vue&type=script&lang=js&\"\nexport * from \"./CombinedAgendas.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VList,VListItem,VProgressLinear,VRow})\n","import Vue from 'vue';\n/**\n * Delayable\n *\n * @mixin\n *\n * Changes the open or close delay time for elements\n */\n\nexport default Vue.extend().extend({\n  name: 'delayable',\n  props: {\n    openDelay: {\n      type: [Number, String],\n      default: 0\n    },\n    closeDelay: {\n      type: [Number, String],\n      default: 0\n    }\n  },\n  data: () => ({\n    openTimeout: undefined,\n    closeTimeout: undefined\n  }),\n  methods: {\n    /**\n     * Clear any pending delay timers from executing\n     */\n    clearDelay() {\n      clearTimeout(this.openTimeout);\n      clearTimeout(this.closeTimeout);\n    },\n\n    /**\n     * Runs callback after a specified delay\n     */\n    runDelay(type, cb) {\n      this.clearDelay();\n      const delay = parseInt(this[`${type}Delay`], 10);\n      this[`${type}Timeout`] = setTimeout(cb || (() => {\n        this.isActive = {\n          open: true,\n          close: false\n        }[type];\n      }), delay);\n    }\n\n  }\n});\n//# sourceMappingURL=index.js.map","// Types\nimport Vue from 'vue';\n/* @vue/component */\n\nexport default Vue.extend({\n  name: 'v-list-item-action',\n  functional: true,\n\n  render(h, {\n    data,\n    children = []\n  }) {\n    data.staticClass = data.staticClass ? `v-list-item__action ${data.staticClass}` : 'v-list-item__action';\n    const filteredChild = children.filter(VNode => {\n      return VNode.isComment === false && VNode.text !== ' ';\n    });\n    if (filteredChild.length > 1) data.staticClass += ' v-list-item__action--stack';\n    return h('div', data, children);\n  }\n\n});\n//# sourceMappingURL=VListItemAction.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-expansion-panels .v-expansion-panel{background-color:#fff;color:rgba(0,0,0,.87)}.theme--light.v-expansion-panels .v-expansion-panel--disabled{color:rgba(0,0,0,.38)}.theme--light.v-expansion-panels .v-expansion-panel:not(:first-child):after{border-color:rgba(0,0,0,.12)}.theme--light.v-expansion-panels .v-expansion-panel-header .v-expansion-panel-header__icon .v-icon{color:rgba(0,0,0,.54)}.theme--light.v-expansion-panels.v-expansion-panels--focusable .v-expansion-panel-header:hover:before{opacity:.04}.theme--light.v-expansion-panels.v-expansion-panels--focusable .v-expansion-panel-header--active:before,.theme--light.v-expansion-panels.v-expansion-panels--focusable .v-expansion-panel-header--active:hover:before,.theme--light.v-expansion-panels.v-expansion-panels--focusable .v-expansion-panel-header:focus:before{opacity:.12}.theme--light.v-expansion-panels.v-expansion-panels--focusable .v-expansion-panel-header--active:focus:before{opacity:.16}.theme--light.v-expansion-panels.v-expansion-panels--hover>.v-expansion-panel>.v-expansion-panel-header:hover:before{opacity:.04}.theme--dark.v-expansion-panels .v-expansion-panel{background-color:#1e1e1e;color:#fff}.theme--dark.v-expansion-panels .v-expansion-panel--disabled{color:hsla(0,0%,100%,.5)}.theme--dark.v-expansion-panels .v-expansion-panel:not(:first-child):after{border-color:hsla(0,0%,100%,.12)}.theme--dark.v-expansion-panels .v-expansion-panel-header .v-expansion-panel-header__icon .v-icon{color:#fff}.theme--dark.v-expansion-panels.v-expansion-panels--focusable .v-expansion-panel-header:hover:before{opacity:.08}.theme--dark.v-expansion-panels.v-expansion-panels--focusable .v-expansion-panel-header--active:before,.theme--dark.v-expansion-panels.v-expansion-panels--focusable .v-expansion-panel-header--active:hover:before,.theme--dark.v-expansion-panels.v-expansion-panels--focusable .v-expansion-panel-header:focus:before{opacity:.24}.theme--dark.v-expansion-panels.v-expansion-panels--focusable .v-expansion-panel-header--active:focus:before{opacity:.32}.theme--dark.v-expansion-panels.v-expansion-panels--hover>.v-expansion-panel>.v-expansion-panel-header:hover:before{opacity:.08}.v-expansion-panels{border-radius:4px;display:flex;flex-wrap:wrap;justify-content:center;list-style-type:none;padding:0;width:100%;z-index:1}.v-expansion-panels>*{cursor:auto}.v-expansion-panels>:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.v-expansion-panels>:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.v-expansion-panels:not(.v-expansion-panels--accordion):not(.v-expansion-panels--tile)>.v-expansion-panel--active{border-radius:4px}.v-expansion-panels:not(.v-expansion-panels--accordion):not(.v-expansion-panels--tile)>.v-expansion-panel--active+.v-expansion-panel{border-top-left-radius:4px;border-top-right-radius:4px}.v-expansion-panels:not(.v-expansion-panels--accordion):not(.v-expansion-panels--tile)>.v-expansion-panel--next-active{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.v-expansion-panels:not(.v-expansion-panels--accordion):not(.v-expansion-panels--tile)>.v-expansion-panel--next-active .v-expansion-panel-header{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.v-expansion-panel{flex:1 0 100%;max-width:100%;position:relative;transition:.3s cubic-bezier(.25,.8,.5,1)}.v-expansion-panel:before{border-radius:inherit;bottom:0;content:\\\"\\\";left:0;position:absolute;right:0;top:0;z-index:-1;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.v-expansion-panel:not(:first-child):after{border-top:thin solid;content:\\\"\\\";left:0;position:absolute;right:0;top:0;transition:border-color .2s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1)}.v-expansion-panel--disabled .v-expansion-panel-header{pointer-events:none}.v-expansion-panel--active+.v-expansion-panel,.v-expansion-panel--active:not(:first-child){margin-top:16px}.v-expansion-panel--active+.v-expansion-panel:after,.v-expansion-panel--active:not(:first-child):after{opacity:0}.v-expansion-panel--active>.v-expansion-panel-header{min-height:64px}.v-expansion-panel--active>.v-expansion-panel-header--active .v-expansion-panel-header__icon:not(.v-expansion-panel-header__icon--disable-rotate) .v-icon{transform:rotate(-180deg)}.v-expansion-panel-header__icon{display:inline-flex;margin-bottom:-4px;margin-top:-4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.v-application--is-ltr .v-expansion-panel-header__icon{margin-left:auto}.v-application--is-rtl .v-expansion-panel-header__icon{margin-right:auto}.v-expansion-panel-header{align-items:center;border-top-left-radius:inherit;border-top-right-radius:inherit;display:flex;font-size:.9375rem;line-height:1;min-height:48px;outline:none;padding:16px 24px;position:relative;transition:min-height .3s cubic-bezier(.25,.8,.5,1);width:100%}.v-application--is-ltr .v-expansion-panel-header{text-align:left}.v-application--is-rtl .v-expansion-panel-header{text-align:right}.v-expansion-panel-header:not(.v-expansion-panel-header--mousedown):focus:before{opacity:.12}.v-expansion-panel-header:before{background-color:currentColor;border-radius:inherit;bottom:0;content:\\\"\\\";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s cubic-bezier(.25,.8,.5,1)}.v-expansion-panel-header>:not(.v-expansion-panel-header__icon){flex:1 1 auto}.v-expansion-panel-content{display:flex}.v-expansion-panel-content__wrap{padding:0 24px 16px;flex:1 1 auto;max-width:100%}.v-expansion-panels--accordion>.v-expansion-panel{margin-top:0}.v-expansion-panels--accordion>.v-expansion-panel:after{opacity:1}.v-expansion-panels--popout>.v-expansion-panel{max-width:calc(100% - 32px)}.v-expansion-panels--popout>.v-expansion-panel--active{max-width:calc(100% + 16px)}.v-expansion-panels--inset>.v-expansion-panel{max-width:100%}.v-expansion-panels--inset>.v-expansion-panel--active{max-width:calc(100% - 32px)}.v-expansion-panels--flat>.v-expansion-panel:after{border-top:none}.v-expansion-panels--flat>.v-expansion-panel:before{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.v-expansion-panels--tile,.v-expansion-panels--tile>.v-expansion-panel:before{border-radius:0}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('FilterableDataTable',{ref:\"dataTable\",staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"hide-default-header\":\"\",\"hide-default-footer\":\"\",\"loading\":_vm.loading,\"single-expand\":false,\"items\":_vm.Agendas,\"disable-pagination\":\"\",\"item-key\":\"DocumentId\",\"show-expand\":\"\",\"dense\":false},on:{\"item-expanded\":_vm.expandItem,\"click:row\":_vm.rowClick},scopedSlots:_vm._u([{key:\"item.DocumentDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.DatePretty(item.DocumentDate))+\" \")]}},{key:\"item.NoMeeting\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.NoMeeting)?_c('v-alert',{staticClass:\"ma-0\",attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\"No Meeting\")]):_vm._e()]}},{key:\"item.DocumentId\",fn:function(props){return [_c('div',{staticClass:\"text-end\"},[(!props.item.NoMeeting && props.item.DocumentDate >= new Date() && (props.item.InterimYearCommitteeId == 472 || props.item.InterimYearCommitteeId == 486 || props.item.SessionCommitteeId == 1240 || props.item.SessionCommitteeId == 1244 || props.item.SessionCommitteeId == 1227))?_c('v-btn',{attrs:{\"tile\":\"\",\"outlined\":\"\",\"rel\":\"noopener\",\"to\":'/Testify/' + props.item.DocumentId},on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\" Register to Testify \")]):_vm._e(),_c('v-btn',{attrs:{\"tile\":\"\",\"outlined\":\"\",\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + props.item.DocumentId + '.pdf'},on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\"View PDF\")]),_c('v-btn',{attrs:{\"tile\":\"\",\"outlined\":\"\"},on:{\"click\":function($event){return _vm.showHtml(props, $event)}}},[_vm._v(\"View Html\")]),_c('v-btn',{attrs:{\"tile\":\"\",\"outlined\":\"\"},on:{\"click\":function($event){return _vm.showDocuments(props, $event)}}},[_vm._v(\"View Documents\")]),(_vm.LoggedIn)?_c('v-btn',{attrs:{\"tile\":\"\",\"outlined\":\"\",\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'Main/Document/' + props.item.DocumentId},on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\"View On MyLRC+\")]):_vm._e()],1)]}},{key:\"expanded-item\",fn:function(ref){\nvar headers = ref.headers;\nvar item = ref.item;\nreturn [_c('td',{staticClass:\"pa-0\",attrs:{\"colspan\":headers.length}},[(item.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),(item.ShowHtml)?_c('div',{staticClass:\"pa-2\",staticStyle:{\"position\":\"relative\"},domProps:{\"innerHTML\":_vm._s(item.HTML)}}):_vm._e(),(item.ShowDocuments)?_c('div',[_c('Documents',{attrs:{\"InDialog\":\"\",\"Documents\":item.MeetingDocuments}})],1):_vm._e()],1)]}},{key:\"footer\",fn:function(ref){return [(_vm.Agendas && _vm.Agendas.length > 1 && _vm.combindURLHTML)?_c('v-btn',{attrs:{\"tile\":\"\",\"outlined\":\"\",\"block\":\"\",\"rel\":\"noopener\",\"href\":_vm.combindURLHTML}},[_vm._v(\"View Combined HTML\")]):_vm._e(),(_vm.Agendas && _vm.Agendas.length > 1 && _vm.combindURL)?_c('v-btn',{attrs:{\"tile\":\"\",\"outlined\":\"\",\"block\":\"\",\"rel\":\"noopener\",\"href\":_vm.combindURL}},[_vm._v(\"View Combined PDF\")]):_vm._e()]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <FilterableDataTable :headers=\"headers\"\r\n                         hide-default-header\r\n                         hide-default-footer\r\n                         :loading=\"loading\"\r\n                         :single-expand=\"false\"\r\n                         :items=\"Agendas\"\r\n                         disable-pagination\r\n                         @item-expanded=\"expandItem\"\r\n                         @click:row=\"rowClick\"\r\n                         item-key=\"DocumentId\"\r\n                         show-expand\r\n                         :dense=\"false\"\r\n                         class=\"elevation-1\"\r\n                         ref=\"dataTable\">\r\n        <template v-slot:item.DocumentDate=\"{ item }\">\r\n            {{DatePretty(item.DocumentDate)}}\r\n        </template>\r\n        <template v-slot:item.NoMeeting=\"{ item }\">\r\n            <v-alert v-if=\"item.NoMeeting\" dense text type=\"info\" class=\"ma-0\">No Meeting</v-alert>\r\n        </template>\r\n        <template v-slot:item.DocumentId=\"props\">\r\n            <div class=\"text-end\">\r\n                <v-btn @click.stop v-if=\"!props.item.NoMeeting && props.item.DocumentDate >= new Date() && (props.item.InterimYearCommitteeId == 472 || props.item.InterimYearCommitteeId == 486 || props.item.SessionCommitteeId == 1240 || props.item.SessionCommitteeId == 1244 || props.item.SessionCommitteeId == 1227)\"\r\n                       tile\r\n                       outlined\r\n                       rel=\"noopener\"\r\n                       :to=\"'/Testify/' + props.item.DocumentId\">\r\n                    Register to Testify\r\n                </v-btn>\r\n                <v-btn @click.stop=\"\" tile outlined rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + props.item.DocumentId + '.pdf'\">View PDF</v-btn>\r\n                <v-btn @click=\"showHtml(props, $event)\" tile outlined>View Html</v-btn>\r\n                <v-btn @click=\"showDocuments(props, $event)\" tile outlined>View Documents</v-btn>\r\n                <v-btn @click.stop=\"\" v-if=\"LoggedIn\" tile outlined rel=\"noopener\" :href=\"$MyLRCUrl.value + 'Main/Document/' + props.item.DocumentId\">View On MyLRC+</v-btn>\r\n            </div>\r\n        </template>\r\n        <template v-slot:expanded-item=\"{ headers, item }\">\r\n            <td :colspan=\"headers.length\" class=\"pa-0\">\r\n                <v-progress-linear indeterminate v-if=\"item.loading\"></v-progress-linear>\r\n                <div v-if=\"item.ShowHtml\" v-html=\"item.HTML\" style=\"position: relative;\" class=\"pa-2\"></div>\r\n                <div v-if=\"item.ShowDocuments\">\r\n                    <Documents InDialog :Documents=\"item.MeetingDocuments\"></Documents>\r\n                </div>\r\n            </td>\r\n        </template>\r\n        <template v-slot:footer=\"{}\">\r\n            <v-btn v-if=\"Agendas && Agendas.length > 1 && combindURLHTML\" tile outlined block rel=\"noopener\" :href=\"combindURLHTML\">View Combined HTML</v-btn>\r\n            <v-btn v-if=\"Agendas && Agendas.length > 1 && combindURL\" tile outlined block rel=\"noopener\" :href=\"combindURL\">View Combined PDF</v-btn>\r\n        </template>\r\n    </FilterableDataTable>\r\n</template>\r\n\r\n<script>\r\n    import moment from 'moment'\r\n    import { DateTime } from 'luxon'\r\n    const Documents = () => import(\"@/Documents/Documents.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n    export default {\r\n        name: 'Agendas',\r\n        props: ['CommitteeId'],\r\n        components: {\r\n            Documents, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                this.loading = true;\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    fetch('/api/InterimCommittees/Documents/' + this.CommitteeId + \"?Type=3&Type=5\", {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => {\r\n                        this.loading = false;\r\n                        if (res.ok) {\r\n                            return res.json().then(r => {\r\n                                r = r.map(x => {\r\n                                    x.loading = false;\r\n                                    x.ShowHtml = false;\r\n                                    x.ShowDocuments = false;\r\n                                    x.MeetingDocuments = [];\r\n\r\n                                    return x;\r\n                                });\r\n                                this.Agendas = EncodeDate(r);\r\n                            });\r\n                        }\r\n                        else {\r\n                            throw new Error(res.statusText);\r\n                        }\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n\r\n                }\r\n                else {\r\n                    fetch('/api/SessionCommittees/Documents/' + this.CommitteeId + \"?Type=3&Type=5\", {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => {\r\n                        this.loading = false;\r\n                        if (res.ok) {\r\n                            return res.json().then(r => {\r\n                                r = r.map(x => {\r\n                                    x.loading = false;\r\n                                    x.ShowHtml = false;\r\n                                    x.ShowDocuments = false;\r\n                                    x.MeetingDocuments = [];\r\n\r\n                                    return x;\r\n                                });\r\n\r\n                                this.Agendas = EncodeDate(r);\r\n                            });\r\n                        }\r\n                        else {\r\n                            throw new Error(res.statusText);\r\n                        }\r\n\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n            },\r\n            MeetingTimePretty(Time) {\r\n                if (Time != undefined) {\r\n                    return moment(Time).format('h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            DatePretty(Date) {\r\n                if (Date != undefined) {\r\n                    return moment(Date).format('M/DD h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            MinDatePretty(Date) {\r\n                if (Date != undefined) {\r\n                    return moment(Date).format('M/DD');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            openDocumentHTML(DocumentId) {\r\n                return fetch('/api/Documents/' + DocumentId + '.html', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.text();\r\n                    }\r\n                    else {\r\n                        return \"<p>No HTML Available<p>\";\r\n                    }\r\n\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    return response;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            GetMeetingDocuments(DocumentId) {\r\n                return fetch('/api/Documents/Meeting/' + DocumentId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return [];\r\n                    }\r\n\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    return response;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            async expandItem(item) {\r\n                if (!item.item.ShowHtml && !item.item.ShowDocuments) {\r\n                    item.item.ShowHtml = true;\r\n                    item.item.ShowDocuments = false;\r\n                }\r\n                else if (item.item.ShowHtml) {\r\n                    if (item.item.HTML == null) {\r\n                        item.item.loading = true;\r\n                        item.item.HTML = await this.openDocumentHTML(item.item.DocumentId);\r\n                        item.item.loading = false;\r\n                    }\r\n                }\r\n                else {\r\n                    if (item.item.MeetingDocuments.length == 0) {\r\n                        item.item.loading = true;\r\n                        item.item.MeetingDocuments = await this.GetMeetingDocuments(item.item.DocumentId);\r\n                        item.item.loading = false;\r\n                    }\r\n                }\r\n            },\r\n            async showDocuments(item, e) {\r\n                item.item.ShowHtml = false;\r\n                item.item.ShowDocuments = true;\r\n\r\n                if (item.item.MeetingDocuments.length == 0) {\r\n                    item.item.loading = true;\r\n                    item.item.MeetingDocuments = await this.GetMeetingDocuments(item.item.DocumentId);\r\n                    item.item.loading = false;\r\n                }\r\n            },\r\n            async showHtml(item, e) {\r\n                item.item.ShowHtml = true;\r\n                item.item.ShowDocuments = false;\r\n\r\n                if (item.item.HTML == null) {\r\n                    item.item.loading = true;\r\n                    item.item.HTML = await this.openDocumentHTML(item.item.DocumentId);\r\n                    item.item.loading = false;\r\n                }\r\n            },\r\n            rowClick(any, item) {\r\n                if (!item.isExpanded) {\r\n                    if (!item.item.ShowHtml && !item.item.ShowDocuments) {\r\n                        item.item.ShowHtml = true;\r\n                        item.item.ShowDocuments = false;\r\n                    }\r\n\r\n                    this.expandItem(item);\r\n                }\r\n                else {\r\n                    item.item.ShowHtml = false;\r\n                    item.item.ShowDocuments = false;\r\n                }\r\n\r\n                item.expand(!item.isExpanded);\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: true,\r\n                loadingHTML: true,\r\n                headers: [\r\n                    { text: 'Date', value: 'DocumentDate' },\r\n                    { text: '', value: 'NoMeeting', filterable: false },\r\n                    { text: '', value: 'DocumentId', filterable: false },\r\n                    { text: '', value: 'data-table-expand', filterable: false, width: '5ch' }],\r\n                YearCommittee: {\r\n                    Session: {\r\n                        Year: '',\r\n                        SessionId: null,\r\n                    },\r\n                    Committee: {\r\n                        MeetingTime: '',\r\n                        Room: {\r\n                            Room: '',\r\n                        },\r\n                        Days: '',\r\n                    },\r\n                },\r\n                Agendas: [],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            CommitteeId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n\r\n            CommitteeType: function () {\r\n                //switching between session and interm\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    return \"Interim\";\r\n                } else {\r\n                    return \"Session\";\r\n                }\r\n            },\r\n            currentRoute: function () {\r\n                return this.$route.path;\r\n            },\r\n            LoggedIn: function () {\r\n                return this.$LoggedIn;\r\n            },\r\n            combindURL() {\r\n                if (this.Agendas) {\r\n                    let PublicMinDocs = this.Agendas.filter(x => x.DocumentId && x.DocumentId > 0).sort((a, b) => (a.DocumentDate > b.DocumentDate) ? 1 : -1);\r\n                    if (PublicMinDocs.length < 2) {\r\n                        return null;\r\n                    }\r\n                    var str = \"\";\r\n                    PublicMinDocs.forEach(i => {\r\n                        if (i.DocumentId) {\r\n                            str += \"&Ids=\" + i.DocumentId;\r\n                        }\r\n                    });\r\n                    str = str.substring(1, str.length);\r\n                    return this.$MyLRCUrl.value + 'api/Documents/Combined.pdf?' + str;\r\n                }\r\n                return null;\r\n            },\r\n            combindURLHTML() {\r\n                if (this.Agendas) {\r\n                    let PublicMinDocs = this.Agendas.filter(x => x.DocumentId && x.DocumentId > 0).sort((a, b) => (a.DocumentDate > b.DocumentDate) ? 1 : -1);\r\n                    if (PublicMinDocs.length < 2) {\r\n                        return null;\r\n                    }\r\n                    var str = \"\";\r\n                    PublicMinDocs.forEach(i => {\r\n                        if (i.DocumentId) {\r\n                            str += \"&Ids=\" + i.DocumentId;\r\n                        }\r\n                    });\r\n                    str = str.substring(1, str.length);\r\n                    return this.$MyLRCUrl.value + 'api/Documents/Combined.html?' + str;\r\n                }\r\n                return null;\r\n            },\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Agendas.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Agendas.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Agendas.vue?vue&type=template&id=3054f218&\"\nimport script from \"./Agendas.vue?vue&type=script&lang=js&\"\nexport * from \"./Agendas.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VAlert,VBtn,VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"xs12\":\"\",\"flat\":\"\"}},[_c('v-card-title',[_c('h2',[_vm._v(\" Legislative Memorial Service \")])]),_c('v-card-text',[_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},_vm._l((_vm.Documents),function(i){return _c('v-flex',{key:i.DocumentId,attrs:{\"xs12\":\"\",\"sm12\":\"\"}},[_vm._v(\" \"+_vm._s(i.Year + ' Memorial')+\" \"),_c('v-btn',{staticStyle:{\"vertical-align\":\"top\"},attrs:{\"text\":\"\",\"depressed\":\"\",\"x-small\":\"\",\"rel\":\"noopener\",\"href\":_vm.createMYLRCLink(i.DocumentId)}},[_c('v-icon',{attrs:{\"color\":\"gray\"}},[_vm._v(_vm._s(_vm.pdf))])],1),(_vm.getVideo(i) != null && _vm.isAudio(i) == false)?_c('v-btn',{staticStyle:{\"vertical-align\":\"top\"},attrs:{\"depressed\":\"\",\"x-small\":\"\",\"color\":\"red\",\"rel\":\"noopener\",\"href\":_vm.getVideo(i)}},[_c('v-icon',{attrs:{\"color\":\"white\"}},[_vm._v(_vm._s(_vm.play_arrow))])],1):_vm._e(),(_vm.getVideo(i) != null  && _vm.isAudio(i) == true)?_c('v-btn',{staticStyle:{\"vertical-align\":\"top\"},attrs:{\"depressed\":\"\",\"x-small\":\"\",\"aria-label\":\"SDPB Audio\",\"text\":\"\",\"rel\":\"noopener\",\"href\":_vm.getVideo(i)}},[_c('v-icon',[_vm._v(_vm._s(_vm.mdiVolumeHigh))])],1):_vm._e()],1)}),1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-card xs12 flat>\r\n        <v-card-title>\r\n            <h2>\r\n                Legislative Memorial Service\r\n            </h2>\r\n        </v-card-title>\r\n        <v-card-text>\r\n            <v-container>\r\n                <v-layout row wrap>\r\n                    <v-flex xs12 sm12 v-for=\"i in Documents\" :key=\"i.DocumentId\">\r\n\r\n                        {{ i.Year + '&nbsp;Memorial'}}\r\n                        <v-btn text depressed x-small style=\"vertical-align:top;\" rel=\"noopener\" :href=\"createMYLRCLink(i.DocumentId)\">\r\n                            <v-icon color=\"gray\">{{pdf}}</v-icon>\r\n                        </v-btn>\r\n                        <v-btn v-if=\"getVideo(i) != null && isAudio(i) == false\" depressed x-small color=\"red\" style=\"vertical-align:top;\" rel=\"noopener\" :href=\"getVideo(i)\">\r\n                            <v-icon color=\"white\">{{play_arrow}}</v-icon>\r\n                        </v-btn>\r\n\r\n                        <v-btn v-if=\"getVideo(i) != null  && isAudio(i) == true\" depressed x-small style=\"vertical-align:top;\" aria-label=\"SDPB Audio\" text rel=\"noopener\" :href=\"getVideo(i)\">\r\n                            <v-icon>{{mdiVolumeHigh}}</v-icon>\r\n                        </v-btn>\r\n                    </v-flex>\r\n                </v-layout>\r\n            </v-container>\r\n        </v-card-text>\r\n    </v-card>\r\n\r\n</template>\r\n<script>\r\n    import { mdiFilePdfBox } from '@mdi/js';\r\n    import { mdiYoutube } from '@mdi/js';\r\n    import { mdiVolumeHigh } from '@mdi/js';\r\n\r\n    export default {\r\n        name: 'Memorial',\r\n        props: ['SessionId'],\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                fetch('/api/Documents/DocumentType?Type=78', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201)\r\n                    {\r\n                        return res.json();\r\n                    }\r\n                    else\r\n                    {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    this.Documents = EncodeDatetimes(response).sort((a, b) => (a.Year > b.Year) ? -1 : 1);\r\n\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            createMYLRCLink(docid)\r\n            {\r\n                return this.$MyLRCUrl.value + 'api/Documents/' + docid + '.pdf';\r\n            },\r\n            getVideo(i)\r\n            {\r\n                if (this.Videos.find(x => x.year == i.Year))\r\n                {\r\n                    return this.Videos.find(x => x.year == i.Year).url;\r\n                } else\r\n                {\r\n                    return null;\r\n                }\r\n            },\r\n            isAudio(i)\r\n            {\r\n                if (this.Videos.find(x => x.year == i.Year))\r\n                {\r\n                    return this.Videos.find(x => x.year == i.Year).audioOnly;\r\n                } else\r\n                {\r\n                    return null;\r\n                }\r\n            }\r\n\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                pdf: mdiFilePdfBox,\r\n                play_arrow: mdiYoutube,\r\n                mdiVolumeHigh,\r\n                Documents: [\r\n\r\n                ],\r\n                Videos: [\r\n                    {\r\n                        url: 'https://www.youtube.com/live/G-USZhFuIy8?t=3840s',\r\n                        year: '2025',\r\n                        audioOnly: false,\r\n                    },\r\n                    {\r\n                        url: 'https://www.youtube.com/live/mZZsF-iY9K0?si=9mSq1ZSenQ1MfDT5&t=4180',\r\n                        year: '2024',\r\n                        audioOnly: false,\r\n                    },\r\n                    {\r\n                        url: 'https://www.youtube.com/live/s6qul1tELis?feature=share&t=3902',\r\n                        year: '2023',\r\n                        audioOnly: false,\r\n                    },\r\n                    {\r\n                        url: 'https://sdpb.sd.gov/SDPBPodcast/2022/specials/MemorialService01202022.mp3',\r\n                        year: '2022',\r\n                        audioOnly: true,\r\n                    },\r\n                    {\r\n                        url: 'https://youtu.be/a9sVvfK14cE',\r\n                        year: '2021',\r\n                        audioOnly: false,\r\n                    },\r\n                    {\r\n                        url: 'https://www.youtube.com/watch?v=vI-SxMlAi3w',\r\n                        year: '2020',\r\n                        audioOnly: false,\r\n                    },\r\n                    {\r\n                        url: 'https://youtu.be/Jx4J3cnv1rg?t=4468',\r\n                        year: '2019',\r\n                        audioOnly: false,\r\n                    },\r\n                    {\r\n                        url: 'https://youtu.be/9CHzKEpsVTU?t=1h5m22s',\r\n                        year: '2018',\r\n                        audioOnly: false,\r\n                    },\r\n                    {\r\n                        url: 'https://www.youtube.com/watch?v=-2gZdYWKpuQ',\r\n                        year: '2017',\r\n                        audioOnly: false,\r\n                    },\r\n                    {\r\n                        url: 'https://www.youtube.com/watch?v=hCP4xY-ZWbc&feature=youtu.be&t=1h10m6s',\r\n                        year: '2016',\r\n                        audioOnly: false,\r\n                    },\r\n                    {\r\n                        url: 'https://www.youtube.com/watch?v=rYy1tL8ZUYE',\r\n                        year: '2015',\r\n                        audioOnly: false,\r\n                    },\r\n                    {\r\n                        url: 'https://www.youtube.com/watch?v=zOE_xqmg2eo',\r\n                        year: '2014',\r\n                        audioOnly: false,\r\n                    },\r\n                    {\r\n                        url: 'https://www.youtube.com/watch?v=Np74PpaENAg',\r\n                        year: '2013',\r\n                        audioOnly: false,\r\n                    },\r\n                ],\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            SessionId: function ()\r\n            {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            Session: function ()\r\n            {\r\n                return this.$Sessions.value.find(x => x.SessionId == this.Bill.SessionId);\r\n            },\r\n            Title: function ()\r\n            {\r\n                let title = 'Legislative Memorial Service';\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Memorial.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Memorial.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Memorial.vue?vue&type=template&id=e448e048&\"\nimport script from \"./Memorial.vue?vue&type=script&lang=js&\"\nexport * from \"./Memorial.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VContainer,VFlex,VIcon,VLayout})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('v-card',{attrs:{\"height\":\"400\",\"color\":\"transparent\",\"flat\":\"\"}},[_c('div',{staticClass:\"display-3 mt-5\"},[_vm._v(\"Server Error.\")]),_c('div',{staticClass:\"grey--text lighten-5\"},[_vm._v(\" Please wait a few minutes and try again. \")])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container>\r\n        <v-layout row wrap>\r\n            <v-flex xs12>\r\n                <v-card height=\"400\" color=\"transparent\" flat>\r\n                    <div class=\"display-3 mt-5\">Server Error.</div>\r\n                    <div class=\"grey--text lighten-5\">\r\n                        Please wait a few minutes and try again.\r\n                    </div>\r\n                </v-card>\r\n            </v-flex>\r\n        </v-layout>\r\n    </v-container>\r\n</template>\r\n<script>\r\n    export default {\r\n        name: 'Error404',\r\n        props: {\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n            };\r\n        },\r\n        watch: {\r\n        },\r\n        mounted()\r\n        {\r\n\r\n        },\r\n        computed: {\r\n            Title: function ()\r\n            {\r\n                let title = 'Server Error';\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description },\r\n                    { name: \"robots\", content: \"noindex\" },\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.protocol + '//' + window.location.host + '/500' }\r\n                ]\r\n            };\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Error500.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Error500.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Error500.vue?vue&type=template&id=623c7da0&\"\nimport script from \"./Error500.vue?vue&type=script&lang=js&\"\nexport * from \"./Error500.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VContainer,VFlex,VLayout})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.ServiceMember)?_c('v-card',{attrs:{\"flat\":\"\"}},[(_vm.ServiceMember.LastName)?_c('v-card-title',[(_vm.ServiceMember.FirstName)?_c('span',[_vm._v(_vm._s(_vm.ServiceMember.FirstName)+\" \")]):_vm._e(),(_vm.ServiceMember.MiddleName)?_c('span',[_vm._v(_vm._s(_vm.ServiceMember.MiddleName)+\" \")]):_vm._e(),(_vm.ServiceMember.LastName)?_c('span',[_vm._v(_vm._s(_vm.ServiceMember.LastName))]):_vm._e()]):_vm._e(),_c('v-card-text',[(_vm.ServiceMember.Sex)?_c('v-flex',{attrs:{\"md12\":\"\"}},[_c('b',[_vm._v(\"Gender: \")]),_vm._v(_vm._s(_vm.ServiceMember.Sex)+\" \")]):_vm._e(),(_vm.ServiceMember.Birthdate)?_c('v-flex',{attrs:{\"md12\":\"\"}},[_c('b',[_vm._v(\"Birthday: \")]),_vm._v(_vm._s(_vm.ServiceMember.Birthdate)+\" \")]):_vm._e(),(_vm.ServiceMember.Deathdate)?_c('v-flex',{attrs:{\"md12\":\"\"}},[_c('b',[_vm._v(\"Date of Death: \")]),_vm._v(_vm._s(_vm.ServiceMember.Deathdate)+\" \")]):_vm._e(),(_vm.ServiceMember.Remarks)?_c('v-flex',{attrs:{\"md12\":\"\"}},[_c('b',[_vm._v(\"Remarks: \")]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.FormatComments(_vm.ServiceMember.Remarks))}})]):_vm._e(),_c('br'),_c('div',{staticClass:\"headline\"},[_vm._v(\"Years of Service\")]),(_vm.ServiceMember.TotalYears)?_c('div',[_vm._v(\"Total Years of Service: \"),_c('v-chip',[_vm._v(_vm._s(_vm.ServiceMember.TotalYears))])],1):_vm._e(),(_vm.ServiceMembers)?_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.YearsHeaders,\"items\":_vm.ServiceMembers,\"search\":_vm.search,\"loading\":_vm.loading,\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"componentName\":\"ServiceMembersDatagrid\",\"editHeaders\":false,\"item-key\":\"MemberServiceID\"}},[_c('v-alert',{attrs:{\"slot\":\"no-results\",\"value\":true,\"type\":\"info\"},slot:\"no-results\"},[_vm._v(\" Your search for \\\"\"+_vm._s(_vm.search)+\"\\\" found no results. \")])],1):_vm._e(),_c('br'),_c('div',{staticClass:\"headline\"},[_vm._v(\"Offices\")]),(_vm.MemberOffices)?_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.OfficeHeaders,\"items\":_vm.MemberOffices,\"search\":_vm.search,\"loading\":_vm.loading,\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"componentName\":\"MemberOffices\",\"editHeaders\":false,\"item-key\":\"MemberOfficeID\"}},[_c('v-alert',{attrs:{\"slot\":\"no-results\",\"value\":true,\"type\":\"info\"},slot:\"no-results\"},[_vm._v(\" Your search for \\\"\"+_vm._s(_vm.search)+\"\\\" found no results. \")])],1):_vm._e()],1)],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <v-card flat v-if=\"ServiceMember\">\r\n                <v-card-title v-if=\"ServiceMember.LastName\">\r\n                    <span v-if=\"ServiceMember.FirstName\">{{ServiceMember.FirstName}}&nbsp;</span><span v-if=\"ServiceMember.MiddleName\">{{ServiceMember.MiddleName}}&nbsp;</span><span v-if=\"ServiceMember.LastName\">{{ServiceMember.LastName}}</span>\r\n                </v-card-title>\r\n                <v-card-text>\r\n                    <v-flex md12 v-if=\"ServiceMember.Sex\">\r\n                        <b>Gender: </b>{{ServiceMember.Sex}}\r\n                    </v-flex>\r\n                    <v-flex md12 v-if=\"ServiceMember.Birthdate\">\r\n                        <b>Birthday: </b>{{ServiceMember.Birthdate}}\r\n                    </v-flex>\r\n                    <v-flex md12 v-if=\"ServiceMember.Deathdate\">\r\n                        <b>Date of Death: </b>{{ServiceMember.Deathdate}}\r\n                    </v-flex>\r\n                    <v-flex md12 v-if=\"ServiceMember.Remarks\">\r\n                        <b>Remarks: </b><div v-html=\"FormatComments(ServiceMember.Remarks)\"></div>\r\n                    </v-flex>\r\n                    <br />\r\n                    <div class=\"headline\">Years of Service</div>\r\n                    <div v-if=\"ServiceMember.TotalYears\">Total Years of Service: <v-chip>{{ServiceMember.TotalYears}}</v-chip></div>\r\n                    <FilterableDataTable v-if=\"ServiceMembers\" :headers=\"YearsHeaders\"\r\n                                         :items=\"ServiceMembers\"\r\n                                         :search=\"search\"\r\n                                         :loading=\"loading\"\r\n                                         hide-default-footer\r\n                                         disable-pagination\r\n                                         componentName=\"ServiceMembersDatagrid\"\r\n                                         :editHeaders=\"false\"\r\n                                         item-key=\"MemberServiceID\"\r\n                                         class=\"elevation-1\">\r\n\r\n                        <v-alert slot=\"no-results\" :value=\"true\" type=\"info\">\r\n                            Your search for \"{{ search }}\" found no results.\r\n                        </v-alert>\r\n                    </FilterableDataTable>\r\n                    <br />\r\n                    <div class=\"headline\">Offices</div>\r\n                    <FilterableDataTable v-if=\"MemberOffices\" :headers=\"OfficeHeaders\"\r\n                                         :items=\"MemberOffices\"\r\n                                         :search=\"search\"\r\n                                         :loading=\"loading\"\r\n                                         hide-default-footer\r\n                                         disable-pagination\r\n                                         componentName=\"MemberOffices\"\r\n                                         :editHeaders=\"false\"\r\n                                         item-key=\"MemberOfficeID\"\r\n                                         class=\"elevation-1\">\r\n                        <v-alert slot=\"no-results\" :value=\"true\" type=\"info\">\r\n                            Your search for \"{{ search }}\" found no results.\r\n                        </v-alert>\r\n                    </FilterableDataTable>\r\n                </v-card-text>\r\n            </v-card>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n\r\n    export default {\r\n        name: 'HistoricalProfile',\r\n        props: ['MemberId'],\r\n        components: {\r\n            FilterableDataTable,\r\n            Sidebar\r\n        },\r\n        methods: {\r\n            FormatComments(comments)\r\n            {\r\n                if (comments)\r\n                    return comments.replace(/\\r\\n/g, \"<br>\");\r\n\r\n                return comments;\r\n            },\r\n            switchTab(item)\r\n            {\r\n                this.filterValue = item;\r\n            },\r\n            LoadData()\r\n            {\r\n                fetch('/api/Historical/Member/' + this.MemberId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else if (res.status === 404)\r\n                        {\r\n                            this.$router.push('/Legislators/Historical');///Legislators/Profile/1695/Detail\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.loading = false;\r\n\r\n                        if (response)\r\n                        {\r\n                            let Encoded = EncodeDatetimes(response);\r\n                            if (Encoded)\r\n                            {\r\n                                this.ServiceMember = Encoded;\r\n                                if (this.ServiceMember && this.ServiceMember.MemberServices)\r\n                                {\r\n                                    this.ServiceMembers = this.ServiceMember.MemberServices;\r\n                                }\r\n                                if (this.ServiceMember && this.ServiceMember.MemberOffices)\r\n                                {\r\n                                    this.MemberOffices = this.ServiceMember.MemberOffices;\r\n                                }\r\n                            }\r\n                        }\r\n\r\n                        if (this.ServiceMember === undefined)\r\n                        {\r\n                            this.ServiceMember = {};\r\n                        }\r\n                    }).catch(error =>\r\n                    {\r\n                        this.loading = false;\r\n                        throw new Error(error);\r\n                    });\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                search: null,\r\n                loading: true,\r\n                filterValue: 'Detail',\r\n                tabs: ['Detail', 'Committees', 'Bills', 'Hearings'],\r\n                ServiceMember: {},\r\n                ServiceMembers: [],\r\n                MemberOffices: [],\r\n                YearsHeaders: [\r\n                    {\r\n                        text: 'Party',\r\n                        value: 'Party',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Address',\r\n                        value: 'Address',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'County',\r\n                        value: 'County',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Body',\r\n                        value: 'BodyLong',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Start Year',\r\n                        value: 'StartYear',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'End Year',\r\n                        value: 'EndYear',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                ],\r\n                OfficeHeaders: [\r\n                    {\r\n                        text: 'Party',\r\n                        value: 'Party',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Office',\r\n                        value: 'Office.Office1',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Position',\r\n                        value: 'Position',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'Title',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Address',\r\n                        value: 'Address',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Year',\r\n                        value: 'Year',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Comment',\r\n                        value: 'Comment',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                ],\r\n            };\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            MemberId: {\r\n                handler()\r\n                {\r\n                    this.LoadData();\r\n                },\r\n            },\r\n        },\r\n        computed: {\r\n            Title: function ()\r\n            {\r\n                let title = 'Loading...';\r\n\r\n                if (this.ServiceMember.LastName)\r\n                {\r\n                    title = this.ServiceMember.FirstName;\r\n\r\n                    if (this.ServiceMember.MiddleName)\r\n                        title += ' ' + this.ServiceMember.MiddleName;\r\n\r\n                    title += ' ' + this.ServiceMember.LastName;\r\n                }\r\n\r\n                return title;\r\n            },\r\n            FirstName: function ()\r\n            {\r\n                return this.ServiceMember.FirstName;\r\n            },\r\n            LastName: function ()\r\n            {\r\n                return this.ServiceMember.LastName;\r\n            },\r\n        },\r\n        metaInfo()\r\n        {\r\n            //https://stackoverflow.com/questions/286141/remove-blank-attributes-from-an-object-in-javascript\r\n            let removeEmpty = function (obj)\r\n            {\r\n                const newObj = {};\r\n\r\n                Object.entries(obj).forEach(([k, v]) =>\r\n                {\r\n                    if (Array.isArray(v))\r\n                    {\r\n                        newObj[k] = new Array();\r\n\r\n                        v.forEach(x =>\r\n                        {\r\n                            if (x === Object(x))\r\n                            {\r\n                                newObj[k].push(removeEmpty(x));\r\n                            }\r\n                            else if (x != null)\r\n                            {\r\n                                newObj[k].push(x);\r\n                            }\r\n                        });\r\n                    }\r\n                    else if (v === Object(v))\r\n                    {\r\n                        newObj[k] = removeEmpty(v);\r\n                    } else if (v != null)\r\n                    {\r\n                        newObj[k] = obj[k];\r\n                    }\r\n                });\r\n                return newObj;\r\n            };\r\n\r\n            let person = {\r\n                title: this.Title,\r\n                script: [\r\n                    {\r\n                        type: 'application/ld+json',\r\n                        json: {\r\n                            '@context': 'http://schema.org',\r\n                            '@type': 'Person',\r\n                            'name': (this.Member || {}).FirstLastName,\r\n                            'image': (this.Member || {}).PictureSmall\r\n                        }\r\n                    }],\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Title },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'profile' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href.split('?')[0] },\r\n                    // Often the same as your meta description, but not always.\r\n                    //{ vmid: 'og:image', property: 'og:image', content: (this.Member || {}).PictureSmall },\r\n                    //{ vmid: 'og:image:width', property: 'og:image:width', content: '100' },\r\n                    //{ vmid: 'og:image:height', property: 'og:image:height', content: '130' },\r\n                    { vmid: 'profile:first_name', property: 'profile:first_name', content: this.FirstName },\r\n                    { vmid: 'profile:last_name', property: 'profile:last_name', content: this.LastName },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href.split('?')[0] },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Title },\r\n                    //{ vmid: 'twitter:image', name: 'twitter:image', content: (this.Member || {}).PictureSmall },\r\n                    //{ vmid: 'twitter:image:alt', name: 'twitter:image:alt', content: 'A Profile Picture of ' + (this.Member || {}).FirstLastName }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            };\r\n\r\n            person = removeEmpty(person);\r\n\r\n            return person;\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./HistoricalProfile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./HistoricalProfile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HistoricalProfile.vue?vue&type=template&id=4b21e430&\"\nimport script from \"./HistoricalProfile.vue?vue&type=script&lang=js&\"\nexport * from \"./HistoricalProfile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VCard,VCardText,VCardTitle,VChip,VCol,VFlex,VRow})\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VLabel.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"024ca67a\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VTabs.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"babf132e\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.SessionId)?_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}}):_vm._e()],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.Session && _vm.Session.Year)?_c('div',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.Session.YearString)+\" Prison/Jail Cost Estimates\")]):_vm._e(),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"search\":_vm.search,\"item-key\":\"item.DocumentId\",\"group-by\":\"BillType\",\"multi-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"group.header\",fn:function(ref){\nvar items = ref.items;\nvar isOpen = ref.isOpen;\nvar toggle = ref.toggle;\nvar group = ref.group;\nvar groupby = ref.groupby;\nreturn [_c('td',{attrs:{\"colspan\":\"3\"}},[_vm._v(\" Bill Type: \"+_vm._s(_vm.LongBillName(group))+\" \"),(isOpen)?_c('v-icon',{on:{\"click\":toggle}},[_vm._v(_vm._s(_vm.minus))]):_c('v-icon',{on:{\"click\":toggle}},[_vm._v(_vm._s(_vm.plus))])],1)]}},{key:\"item.BillNumber\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType + ' ' + item.BillNumber + ' '))])]}},{key:\"item.PrisonJail\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf'}},[_vm._v(_vm._s(item.BillType + ' ' + item.BillNumber + '-' + _vm.Ending(item.Filename)))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar v-if=\"SessionId\" :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\" v-if=\"Session && Session.Year\">{{Session.YearString}} Prison/Jail Cost Estimates</div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"items\"\r\n                                 :search=\"search\"\r\n                                 item-key=\"item.DocumentId\"\r\n                                 group-by=\"BillType\"\r\n                                 multi-sort\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 :loading=\"loading\"\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:group.header=\"{items, isOpen, toggle, group, groupby}\">\r\n                    <td colspan=\"3\">\r\n                        Bill Type: {{LongBillName(group)}}\r\n                        <v-icon v-if=\"isOpen\" @click=\"toggle\">{{minus}}</v-icon>\r\n                        <v-icon v-else @click=\"toggle\">{{plus}}</v-icon>\r\n                    </td>\r\n                </template>\r\n                <template v-slot:item.BillNumber=\"{ item }\">\r\n                    <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType + '&nbsp;' + item.BillNumber + '&nbsp;'}}</router-link>\r\n                </template>\r\n                <template v-slot:item.PrisonJail=\"{ item }\">\r\n                    <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf'\">{{item.BillType + '&nbsp;' + item.BillNumber + '-' + Ending(item.Filename)}}</a>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    import { mdiPlus } from '@mdi/js';\r\n    import { mdiMinus } from '@mdi/js';\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'PrisonJail',\r\n        props: ['SessionId'],\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            loadData()\r\n            {\r\n                this.loading = true;\r\n                fetch('/api/Sessions/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201)\r\n                    {\r\n                        return res.json();\r\n                    }\r\n                    else\r\n                    {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    this.Session = EncodeDatetimes(response);\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                });\r\n                fetch('/api/Documents/DocumentType?Type=16&SessionIds=' + this.SessionId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            throw new Error(res.statusText);\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        var temp = EncodeDatetimes(response);\r\n\r\n                        temp.forEach(x =>\r\n                        {\r\n                            x.PrisonJail = x.BillType + ' ' + x.BillNumber + '-' + this.Ending(x.Filename);\r\n                        });\r\n\r\n                        this.items = temp.sort(\r\n                            function (a, b)\r\n                            {\r\n                                if (a.BillType === b.BillType)\r\n                                {\r\n                                    return a.BillNumber - b.BillNumber;\r\n                                }\r\n                                return a.BillType > b.BillType ? 1 : -1;\r\n                            });\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    })\r\n                    .finally(_ =>\r\n                    {\r\n                        this.loading = false;\r\n                    });\r\n\r\n                fetch('/api/BillNumbers/BillTypes',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            throw new Error(res.statusText);\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.BillTypes = EncodeDatetimes(response);\r\n\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n            },\r\n            Ending(filename)\r\n            {\r\n                var str = filename.substring(0, filename.indexOf('.'));\r\n                var lastChar = str.charAt(str.length - 1);\r\n                return lastChar.toUpperCase();\r\n            },\r\n            LongBillName(short)\r\n            {\r\n                if (this.BillTypes && this.BillTypes.length > 0 && this.BillTypes.find(x => x.BillType == short))\r\n                {\r\n                    return this.BillTypes.find(x => x.BillType == short).LongBillType || '';\r\n                }\r\n                else\r\n                {\r\n                    return short;\r\n                }\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                plus: mdiPlus,\r\n                minus: mdiMinus,\r\n                search: '',\r\n                loading: false,\r\n                Session: {},\r\n                headers: [\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'start',\r\n                        value: 'BillNumber',\r\n                        width: '15ch'\r\n                    },\r\n                    {\r\n                        text: 'Prison/Jail Cost Estimate',\r\n                        align: 'start',\r\n                        value: 'PrisonJail',\r\n                        width: '30ch'\r\n                    },\r\n\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'BillTitle',\r\n                        width: '*'\r\n                    },\r\n                ],\r\n                items: [],\r\n                BillTypes: [],\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.loadData();\r\n        },\r\n        computed: {\r\n            Title: function ()\r\n            {\r\n                let title = 'Loading Prison/Jail Cost Estimates...';\r\n                if (this.Session && this.Session.Year)\r\n                {\r\n                    title = this.Session.Year + \" Prison/Jail Cost Estimates\";\r\n                }\r\n                else\r\n                {\r\n                    title = 'Prison/Jail Cost Estimates';\r\n                }\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./PrisonJail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./PrisonJail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PrisonJail.vue?vue&type=template&id=44bf3262&\"\nimport script from \"./PrisonJail.vue?vue&type=script&lang=js&\"\nexport * from \"./PrisonJail.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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';\ninstallComponents(component, {VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('PersonCard',{attrs:{\"expand\":true,\"UserId\":_vm.UserId}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <PersonCard :expand=\"true\" :UserId=\"UserId\"></PersonCard>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const PersonCard = () => import(\"@/Components/PersonCard.vue\");\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    export default {\r\n        name: 'Profile',\r\n        props: ['UserId'],\r\n        components: {\r\n            PersonCard, Sidebar\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: true,\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n        },\r\n        computed: {\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Profile.vue?vue&type=template&id=1b34bb7b&\"\nimport script from \"./Profile.vue?vue&type=script&lang=js&\"\nexport * from \"./Profile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VSkeletonLoader.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"49380863\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[(_vm.YearCommittee && _vm.YearCommittee.Session.SessionId)?_c('v-col',{attrs:{\"md\":\"3\",\"sm\":\"12\"}},[_c('CommitteeSidebar',{attrs:{\"SessionId\":_vm.YearCommittee.Session.SessionId}})],1):_vm._e(),_c('v-col',{attrs:{\"md\":\"9\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('v-card',{attrs:{\"flat\":\"\"}},[(_vm.YearCommittee && _vm.YearCommittee.Session && _vm.YearCommittee.Committee)?_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.YearCommittee.Committee.FullName)+\" — \"+_vm._s(_vm.YearCommittee.Session.YearString)+\" \")]):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee)?_c('v-card-text',[(_vm.YearCommittee.Committee.EmailAddress)?_c('div',[(_vm.YearCommittee.Committee.FullName.includes('Task Force'))?_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"A person may submit a request to appear from a remote site and give testimony before this committee. Submit requests, a digital handout, or written testimony at least 24 hours before the scheduled meeting to \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'mailto:' + _vm.YearCommittee.Committee.EmailAddress+'?body=Name:%0ACity%20of%20Residence:%0APhone%20Number:%0ARepresenting:%0ABill%20Number:%0AProponent%20or%20Opponent:%0AMeeting%20Date:%0A'}},[_vm._v(_vm._s(_vm.YearCommittee.Committee.EmailAddress))]),_vm._v(\".\")]):_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"A person may submit a request to appear from a remote site and give testimony before this committee. Submit requests, a digital handout, or written testimony at least 24 hours before the scheduled meeting to \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'mailto:' + _vm.YearCommittee.Committee.EmailAddress+'?body=Name:%0ACity%20of%20Residence:%0APhone%20Number:%0ARepresenting:%0ABill%20Number:%0AProponent%20or%20Opponent:%0AMeeting%20Date:%0A'}},[_vm._v(_vm._s(_vm.YearCommittee.Committee.EmailAddress))]),_vm._v(\".\")])]):_vm._e(),(_vm.currentRoute.includes('/Interim'))?_c('span',{staticClass:\"d-print-none\"},[_c('v-btn',{staticStyle:{\"vertical-align\":\"top\"},attrs:{\"depressed\":\"\",\"x-small\":\"\",\"color\":\"orange\",\"rel\":\"noopener\",\"href\":'/api/InterimCommittees/RSS/' + _vm.CommitteeId}},[_c('span',{staticClass:\"white--text\"},[_vm._v(\"RSS\")]),_c('v-icon',{attrs:{\"color\":\"white\",\"right\":\"\"}},[_vm._v(_vm._s(_vm.rss))])],1),_c('v-btn',{staticStyle:{\"vertical-align\":\"top\"},attrs:{\"depressed\":\"\",\"x-small\":\"\",\"color\":\"purple\",\"rel\":\"noopener\",\"href\":'/api/InterimCommittees/Podcast/' + _vm.CommitteeId}},[_c('span',{staticClass:\"white--text\"},[_vm._v(\"Podcast\")]),_c('v-icon',{attrs:{\"color\":\"white\",\"right\":\"\"}},[_vm._v(_vm._s(_vm.podcast))])],1)],1):_vm._e(),(_vm.currentRoute.includes('/Session'))?_c('span',{staticClass:\"d-print-none\"},[_c('v-btn',{staticStyle:{\"vertical-align\":\"top\"},attrs:{\"depressed\":\"\",\"x-small\":\"\",\"color\":\"orange\",\"rel\":\"noopener\",\"href\":'/api/SessionCommittees/RSS/' + _vm.CommitteeId}},[_c('span',{staticClass:\"white--text\"},[_vm._v(\"RSS\")]),_c('v-icon',{attrs:{\"color\":\"white\",\"right\":\"\"}},[_vm._v(_vm._s(_vm.rss))])],1),_c('v-btn',{staticStyle:{\"vertical-align\":\"top\"},attrs:{\"depressed\":\"\",\"x-small\":\"\",\"color\":\"purple\",\"rel\":\"noopener\",\"href\":'/api/SessionCommittees/Podcast/' + _vm.CommitteeId}},[_c('span',{staticClass:\"white--text\"},[_vm._v(\"Podcast\")]),_c('v-icon',{attrs:{\"color\":\"white\",\"right\":\"\"}},[_vm._v(_vm._s(_vm.podcast))])],1)],1):_vm._e(),_c('v-tabs',{staticClass:\"pb-2\",attrs:{\"show-arrows\":\"\"},model:{value:(_vm.activeTab),callback:function ($$v) {_vm.activeTab=$$v},expression:\"activeTab\"}},_vm._l((_vm.filteredTabs),function(i){return _c('v-tab',{key:i.value,attrs:{\"to\":i.Path},on:{\"click\":function($event){return _vm.switchTab(i)}}},[(_vm.YearCommittee.Committee.FullBody)?_c('div',[(i.value =='Agendas')?_c('span',[_vm._v(\"Calendars\")]):(i.value =='Minutes & Audio')?_c('span',[_vm._v(\"Journals & Audio\")]):_c('span',[_vm._v(_vm._s(i.value))])]):_c('div',[_vm._v(\" \"+_vm._s(i.value)+\" \")])])}),1),_c('router-view',{attrs:{\"CommitteeId\":_vm.CommitteeId}})],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"3\" sm=\"12\" v-if=\"YearCommittee && YearCommittee.Session.SessionId\">\r\n            <CommitteeSidebar :SessionId=\"YearCommittee.Session.SessionId\"></CommitteeSidebar>\r\n        </v-col>\r\n        <v-col md=\"9\" sm=\"12\" cols=\"12\">\r\n            <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n            <v-card flat>\r\n                <v-card-title v-if=\"YearCommittee && YearCommittee.Session && YearCommittee.Committee\">\r\n                    {{YearCommittee.Committee.FullName}} &mdash; {{YearCommittee.Session.YearString}}\r\n                </v-card-title>\r\n                <v-card-text v-if=\"YearCommittee && YearCommittee.Committee\">\r\n                    <div v-if=\"YearCommittee.Committee.EmailAddress\">\r\n                        <span v-if=\"YearCommittee.Committee.FullName.includes('Task Force')\" style=\"color: red\">A person may submit a request to appear from a remote site and give testimony before this committee. Submit requests, a digital handout, or written testimony at least 24 hours before the scheduled meeting to <a rel=\"noopener\" :href=\"'mailto:' + YearCommittee.Committee.EmailAddress+'?body=Name:%0ACity%20of%20Residence:%0APhone%20Number:%0ARepresenting:%0ABill%20Number:%0AProponent%20or%20Opponent:%0AMeeting%20Date:%0A'\">{{YearCommittee.Committee.EmailAddress}}</a>.</span>\r\n                        <span v-else style=\"color: red\">A person may submit a request to appear from a remote site and give testimony before this committee. Submit requests, a digital handout, or written testimony at least 24 hours before the scheduled meeting to <a rel=\"noopener\" :href=\"'mailto:' + YearCommittee.Committee.EmailAddress+'?body=Name:%0ACity%20of%20Residence:%0APhone%20Number:%0ARepresenting:%0ABill%20Number:%0AProponent%20or%20Opponent:%0AMeeting%20Date:%0A'\">{{YearCommittee.Committee.EmailAddress}}</a>.</span>\r\n                    </div>\r\n\r\n                    <span v-if=\"currentRoute.includes('/Interim')\" class=\"d-print-none\">\r\n                        <v-btn depressed x-small color=\"orange\" style=\"vertical-align:top;\" rel=\"noopener\" :href=\"'/api/InterimCommittees/RSS/' + CommitteeId\">\r\n                            <span class=\"white--text\">RSS</span><v-icon color=\"white\" right>{{rss}}</v-icon>\r\n                        </v-btn>\r\n                        <v-btn depressed x-small color=\"purple\" style=\"vertical-align:top;\" rel=\"noopener\" :href=\"'/api/InterimCommittees/Podcast/' + CommitteeId\">\r\n                            <span class=\"white--text\">Podcast</span><v-icon color=\"white\" right>{{podcast}}</v-icon>\r\n                        </v-btn>\r\n                    </span>\r\n                    <span v-if=\"currentRoute.includes('/Session')\" class=\"d-print-none\">\r\n                        <v-btn depressed x-small color=\"orange\" style=\"vertical-align:top;\" rel=\"noopener\" :href=\"'/api/SessionCommittees/RSS/' + CommitteeId\">\r\n                            <span class=\"white--text\">RSS</span><v-icon color=\"white\" right>{{rss}}</v-icon>\r\n                        </v-btn>\r\n                        <v-btn depressed x-small color=\"purple\" style=\"vertical-align:top;\" rel=\"noopener\" :href=\"'/api/SessionCommittees/Podcast/' + CommitteeId\">\r\n                            <span class=\"white--text\">Podcast</span><v-icon color=\"white\" right>{{podcast}}</v-icon>\r\n                        </v-btn>\r\n                    </span>\r\n\r\n                    <v-tabs class=\"pb-2\"\r\n                            v-model=\"activeTab\"\r\n                            show-arrows>\r\n                        <v-tab v-for=\"i in filteredTabs\"\r\n                               :key=\"i.value\"\r\n                               @click=\"switchTab(i)\"\r\n                               :to=\"i.Path\">\r\n                            <div v-if=\"YearCommittee.Committee.FullBody\">\r\n                                <span v-if=\"i.value =='Agendas'\">Calendars</span>\r\n                                <span v-else-if=\"i.value =='Minutes & Audio'\">Journals & Audio</span>\r\n                                <span v-else>{{ i.value }}</span>\r\n                            </div>\r\n                            <div v-else>\r\n                                {{ i.value }}\r\n                            </div>\r\n                        </v-tab>\r\n                    </v-tabs>\r\n                    <router-view :CommitteeId=\"CommitteeId\"></router-view>\r\n                </v-card-text>\r\n            </v-card>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    import moment from 'moment'\r\n    import { mdiPodcast } from '@mdi/js';\r\n    import { mdiRss } from '@mdi/js';\r\n    const CommitteeSidebar = () => import(\"@/Menus/CommitteeSidebar.vue\");\r\n\r\n    export default {\r\n        name: 'Committee',\r\n        props: ['CommitteeId'],\r\n        components: {\r\n            CommitteeSidebar\r\n        },\r\n        methods: {\r\n            switchTab(item) {\r\n                this.filterValue = item.value;\r\n            },\r\n            LoadData() {\r\n                this.loading = true;\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    fetch('/api/InterimCommittees/' + this.CommitteeId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201) {\r\n                            return res.json();\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response => {\r\n                        this.YearCommittee = EncodeDatetimes(response);\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n\r\n                    fetch('/api/InterimCommittees/HasVideos/' + this.CommitteeId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201) {\r\n                            return res.json();\r\n                        }\r\n                        else {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response => {\r\n                        this.HasVideo = EncodeDatetimes(response);\r\n\r\n\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n                } else {\r\n                    fetch('/api/SessionCommittees/' + this.CommitteeId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201) {\r\n                            return res.json();\r\n                        }\r\n                        else {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response => {\r\n                        this.YearCommittee = EncodeDatetimes(response);\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n                    fetch('/api/SessionCommittees/HasVideos/' + this.CommitteeId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201) {\r\n                            return res.json();\r\n                        }\r\n                        else {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response => {\r\n                        this.HasVideo = EncodeDatetimes(response);\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n            },\r\n            MeetingTimePretty(Time) {\r\n                if (Time != undefined) {\r\n                    return moment(Time).format('h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            DatePretty(Date) {\r\n                if (Date != undefined) {\r\n                    return moment(Date).format('M/DD h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            MinDatePretty(Date) {\r\n                if (Date != undefined) {\r\n                    return moment(Date).format('M/DD');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            openDocumentHTML(DocumentId) {\r\n                //return Promise.resolve(\"<p>STring that you want me to write</p>\");\r\n                return fetch('/api/Documents/' + DocumentId + '.html', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.text();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    return response;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            activeClass() {\r\n                if (this.filterValue) {\r\n                    return true;\r\n                } else {\r\n                    return false;\r\n                }\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                podcast: mdiPodcast,\r\n                rss: mdiRss,\r\n                loading: true,\r\n                filterValue: 'Detail',\r\n                YearCommittee: {\r\n                    Session: {\r\n                        Year: '',\r\n                        SessionId: null,\r\n                    },\r\n                    Committee: {\r\n                        MeetingTime: '',\r\n                        Room: {\r\n                            Room: '',\r\n                        },\r\n                        Days: '',\r\n                    },\r\n                },\r\n                Documents: [],\r\n                activeTab: 0,\r\n                hasVideo: false,\r\n            }\r\n        },\r\n        mounted: function () {\r\n            if (this.$route.query.Tab != null) {\r\n                this.activeTab = this.$route.query.Tab;\r\n                this.filterValue = this.$route.query.Tab;\r\n            }\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            CommitteeId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            CommitteeType: function () {\r\n                //switching between session and interm\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    return \"Interim\";\r\n                } else {\r\n                    return \"Session\";\r\n                }\r\n            },\r\n            currentRoute: function () {\r\n                return this.$route.path;\r\n            },\r\n            filteredTabs: function () {\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    return this.tabs.filter(x => x.type != 'Session');\r\n                } else {\r\n                    if (this.YearCommittee.Committee.FullBody) {\r\n                        return this.tabs.filter(x => x.value != 'E-Minutes');\r\n                    } else {\r\n                        if (this.HasVideo) {\r\n                            return this.tabs.filter(x => x.value != 'Committee Agendas');\r\n                        } else {\r\n                            return this.tabs.filter(x => x.value != 'Committee Agendas' && x.value != 'E-Minutes');\r\n                        }\r\n\r\n                    }\r\n                }\r\n            },\r\n            tabs: function () {\r\n                return [\r\n                    {\r\n                        Id: 0, value: 'Detail', type: 'All', Path: \"/\" + this.CommitteeType + \"/Committee/\" + this.CommitteeId + \"/Detail\"\r\n                    },\r\n                    {\r\n                        Id: 1, value: 'Agendas', type: 'All', Path: \"/\" + this.CommitteeType + \"/Committee/\" + this.CommitteeId + \"/Agendas\"\r\n                    },\r\n                    {\r\n                        Id: 2, value: 'Minutes & Audio', type: 'All', Path: \"/\" + this.CommitteeType + \"/Committee/\" + this.CommitteeId + \"/Minutes\"\r\n                    },\r\n                    {\r\n                        Id: 3, value: 'Bills', type: 'Session', Path: \"/\" + this.CommitteeType + \"/Committee/\" + this.CommitteeId + \"/Bills\"\r\n                    },\r\n                    {\r\n                        Id: 4, value: 'Documents', type: 'All', Path: \"/\" + this.CommitteeType + \"/Committee/\" + this.CommitteeId + \"/HearingDocuments\"\r\n                    },\r\n                    {\r\n                        Id: 5, value: 'Committee Agendas', type: 'Session', Path: \"/\" + this.CommitteeType + \"/Committee/\" + this.CommitteeId + \"/CombinedAgendas\"\r\n                    },\r\n                    {\r\n                        Id: 6, value: 'E-Minutes', type: 'Session', Path: \"/\" + this.CommitteeType + \"/Committee/\" + this.CommitteeId + \"/eMinutes\"\r\n\r\n                    },\r\n                ];\r\n            },\r\n            Title: function () {\r\n                let Year = '';\r\n                if (this.YearCommittee && this.YearCommittee.Session && this.YearCommittee.Session.YearString) {\r\n                    Year = this.YearCommittee.Session.YearString + ' ';\r\n                }\r\n                let Name = '';\r\n                if (this.YearCommittee && this.YearCommittee.Committee && this.YearCommittee.Committee.FullName) {\r\n                    Name = this.YearCommittee.Committee.FullName;\r\n                }\r\n                let title = Year + Name;\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            },\r\n            EmailAddress: function () {\r\n                if (this.YearCommittee && this.YearCommittee.Committee && this.YearCommittee.Committee.EmailAddress) {\r\n                    return this.YearCommittee.Committee.EmailAddress;\r\n                }\r\n                return null;\r\n            },\r\n        },\r\n        metaInfo()\r\n        {\r\n            //https://stackoverflow.com/questions/286141/remove-blank-attributes-from-an-object-in-javascript\r\n            let removeEmpty = function (obj)\r\n            {\r\n                const newObj = {};\r\n\r\n                Object.entries(obj).forEach(([k, v]) =>\r\n                {\r\n                    if (Array.isArray(v))\r\n                    {\r\n                        newObj[k] = new Array();\r\n\r\n                        v.forEach(x =>\r\n                        {\r\n                            if (x === Object(x))\r\n                            {\r\n                                newObj[k].push(removeEmpty(x));\r\n                            }\r\n                            else if (x != null)\r\n                            {\r\n                                newObj[k].push(x);\r\n                            }\r\n                        });\r\n                    }\r\n                    else if (v === Object(v))\r\n                    {\r\n                        newObj[k] = removeEmpty(v);\r\n                    } else if (v != null)\r\n                    {\r\n                        newObj[k] = obj[k];\r\n                    }\r\n                });\r\n                return newObj;\r\n            }\r\n\r\n            let committee = {\r\n                title: this.Title,\r\n                script: [{\r\n                    type: 'application/ld+json',\r\n                    json: {\r\n                        '@context': 'http://schema.org',\r\n                        '@type': 'GovernmentOrganization',\r\n                        'name': this.Title,\r\n                        'email': this.EmailAddress,\r\n                        'department': 'South Dakota Legislature'\r\n                    }\r\n                }],\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] },\r\n                    { vmid: 'alternate', rel: 'alternate', type: 'application/rss+xml', href: window.location.origin + '/api/' + this.CommitteeType + 'Committees/RSS/' + this.CommitteeId }\r\n                ]\r\n            };\r\n\r\n            committee = removeEmpty(committee);\r\n\r\n            return committee;\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Committee.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Committee.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Committee.vue?vue&type=template&id=50d02130&\"\nimport script from \"./Committee.vue?vue&type=script&lang=js&\"\nexport * from \"./Committee.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VCol,VIcon,VProgressLinear,VRow,VTab,VTabs})\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-date-picker-years{font-size:16px;font-weight:400;height:290px;list-style-type:none;overflow:auto;text-align:center}.v-date-picker-years.v-date-picker-years{padding:0}.v-date-picker-years li{cursor:pointer;padding:8px 0;transition:none}.v-date-picker-years li.active{font-size:26px;font-weight:500;padding:10px 0}.v-date-picker-years li:hover{background:rgba(0,0,0,.12)}.v-picker--landscape .v-date-picker-years{padding:0;height:290px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonCard.vue?vue&type=style&index=0&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"e7670198\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VDatePickerHeader.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"677d7f96\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VExpansionPanel.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"d20c1118\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.SessionId)?_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}}):_vm._e()],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.Session && _vm.Session.Year)?_c('div',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.Session.YearString)+\" Bills Vetoed By The Governor\")]):_vm._e(),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"search\":_vm.search,\"item-key\":\"BillNumber\",\"multi-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.BillNumber\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType + ' ' + item.BillNumber))])]}},{key:\"item.VetoLetter\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.VetoLetter)?_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value +'api/Documents/Veto/' + item.VetoLetter + '.pdf'}},[_vm._v(\"Letter\")]):_vm._e()]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar v-if=\"SessionId\" :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\" v-if=\"Session && Session.Year\">{{Session.YearString}} Bills Vetoed By The Governor</div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"items\"\r\n                                 :search=\"search\"\r\n                                 item-key=\"BillNumber\"\r\n                                 multi-sort\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 :loading=\"loading\"\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.BillNumber=\"{ item }\">\r\n                    <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType + '&nbsp;' + item.BillNumber}}</router-link>\r\n                </template>\r\n                <template v-slot:item.VetoLetter=\"{ item }\">\r\n                    <a v-if=\"item.VetoLetter\" rel=\"noopener\" :href=\"$MyLRCUrl.value +'api/Documents/Veto/' + item.VetoLetter + '.pdf'\">Letter</a>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'VetoedByGovernor',\r\n        props: ['SessionId'],\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n                fetch('/api/Sessions/' + this.SessionId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else\r\n                        {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.Session = EncodeDatetimes(response);\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n\r\n                fetch('/api/BillLogs/VetoedByGovernor/' + this.SessionId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.status === 200 || res.status === 201)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else\r\n                        {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.loading = false;\r\n                        var temp = EncodeDatetimes(response);\r\n                        this.items = temp.sort(\r\n                            function (a, b)\r\n                            {\r\n                                if (a.BillType === b.BillType)\r\n                                {\r\n                                    return a.BillNumber - b.BillNumber;\r\n                                }\r\n                                return a.BillType > b.BillType ? 1 : -1;\r\n                            });\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                search: '',\r\n                loading: false,\r\n                Session: {},\r\n                headers: [\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'start',\r\n                        value: 'BillNumber',\r\n                        width: '15ch'\r\n                    },\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'Title',\r\n                        width: '*'\r\n                    },\r\n                    {\r\n                        text: 'Letter',\r\n                        value: 'VetoLetter',\r\n                        width: '15ch'\r\n                    },\r\n                    {\r\n                        text: 'Type',\r\n                        value: 'VetoType',\r\n                        width: '15ch'\r\n                    },\r\n                    {\r\n                        text: 'Disposition',\r\n                        value: 'Disposition',\r\n                        width: '20ch'\r\n                    },\r\n                ],\r\n                items: []\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            SessionId: function ()\r\n            {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            Title: function ()\r\n            {\r\n                let title = 'Loading Bills Vetoed By the Governor...';\r\n                if (this.Session && this.Session.Year)\r\n                {\r\n                    title = this.Session.Year + \" Bills Vetoed By the Governor\";\r\n                }\r\n                else\r\n                {\r\n                    title = 'Bills Vetoed By the Governor';\r\n                }\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VetoedByGovernor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VetoedByGovernor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VetoedByGovernor.vue?vue&type=template&id=54e4b915&\"\nimport script from \"./VetoedByGovernor.vue?vue&type=script&lang=js&\"\nexport * from \"./VetoedByGovernor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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-container',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),(!_vm.loading)?_c('v-card',{staticClass:\"mb-4\"},[_c('v-card-title',[_vm._v(\"Register to Testify\")]),_c('v-card-text',[_c('strong',[_vm._v(\"Title:\")]),_vm._v(\" \"+_vm._s(_vm.meetingInfo.Title)),_c('br'),_c('strong',[_vm._v(\"Date:\")]),_vm._v(\" \"+_vm._s(_vm.DatePretty(_vm.meetingInfo.DocumentDate))+\" \"),(_vm.relativeTime)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.relativeTime)+\")\")]):_vm._e(),_vm._v(\" \"),(_vm.meetingInfo.DocumentDateComment)?_c('span',[_vm._v(_vm._s(_vm.meetingInfo.DocumentDateComment))]):_vm._e(),_c('br'),_c('strong',[_vm._v(\"Room:\")]),_vm._v(\" \"+_vm._s(_vm.meetingInfo.Room)),_c('br')])],1):_vm._e(),(_vm.meetingInfo.DocumentDate && _vm.IsMeetingTimePast && !_vm.IsFourHoursPast)?_c('v-alert',{attrs:{\"type\":\"warning\"}},[_vm._v(\"This meeting is currently ongoing.\")]):_vm._e(),(_vm.meetingInfo.DocumentDate && _vm.IsFourHoursPast)?_c('v-alert',{attrs:{\"type\":\"error\"}},[_vm._v(\"Registration is no longer available for this meeting.\")]):_vm._e(),(!_vm.loading && !_vm.success && !_vm.IsFourHoursPast)?_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submitForm.apply(null, arguments)}},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Name\",\"name\":\"Name\",\"required\":\"\",\"autocapitalize\":\"words\",\"hint\":\"The full name of the person planning on testifying at the meeting. Example - 'John Doe'\",\"rules\":[function (v) { return !!v || 'Name is required'; }, function (v) { return v.trim().length > 0 || 'Name cannot be empty or just whitespace'; }],\"autocomplete\":\"name\"},on:{\"blur\":_vm.loadRepresentingOptions},model:{value:(_vm.testifierPending.name),callback:function ($$v) {_vm.$set(_vm.testifierPending, \"name\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"testifierPending.name\"}}),(_vm.showNameAlert)?_c('v-alert',{attrs:{\"dense\":\"\",\"type\":\"warning\",\"prominent\":\"\"}},[_vm._v(\" Please provide both a first and last name (e.g., 'John Doe'). \")]):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Lobbyist Registration Number (Optional)\",\"name\":\"LobbyistRegistrationNumber\",\"hint\":\"If you are a registered lobbyist the Registered Lobbyist Number provided by the South Dakota Secretary of State. https://sosenterprise.sd.gov/businessservices/lobbyist/default.aspx\",\"autocomplete\":\"lobbyistregistrationnumber\"},model:{value:(_vm.testifierPending.RegistrationNumber),callback:function ($$v) {_vm.$set(_vm.testifierPending, \"RegistrationNumber\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"testifierPending.RegistrationNumber\"}})],1)],1),_c('div',[_vm._v(\"How would you like to join the meeting?\")]),_c('v-radio-group',{attrs:{\"rules\":[function (v) { return v !== null || 'Requested Meeting Attendance Type is required.'; }],\"required\":\"\",\"row\":\"\"},model:{value:(_vm.testifierPending.InPerson),callback:function ($$v) {_vm.$set(_vm.testifierPending, \"InPerson\", $$v)},expression:\"testifierPending.InPerson\"}},[_c('v-radio',{attrs:{\"label\":\"In Person\",\"value\":true}}),_c('v-radio',{attrs:{\"label\":\"Remotely\",\"value\":false}})],1),_c('v-text-field',{attrs:{\"label\":_vm.testifierPending.InPerson == false ? 'Email' : 'Email (Optional)',\"name\":\"Email\",\"type\":\"email\",\"rules\":_vm.testifierPending.InPerson == false ? [function (v){ return !!v || 'Email is required'; }, function (v) { return /.+@.+/.test(v) || 'Email must be valid'; }] : [function (v) { return !v || /.+@.+/.test(v) || 'Email must be valid'; }],\"autocomplete\":\"email\"},on:{\"blur\":_vm.loadRepresentingOptions},model:{value:(_vm.testifierPending.email),callback:function ($$v) {_vm.$set(_vm.testifierPending, \"email\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"testifierPending.email\"}}),_c('v-combobox',{attrs:{\"label\":\"Representing\",\"name\":\"Representing\",\"autocapitalize\":\"words\",\"items\":_vm.representingOptions,\"item-text\":\"Employer\",\"item-value\":\"Employer\",\"return-object\":false,\"hint\":\"The entity you are employed by, representing, or 'Self' if representing yourself.\",\"autocomplete\":\"organization\",\"required\":\"\",\"rules\":[function (v) { return !!v || 'Who you are representing is required'; }],\"clearable\":\"\"},on:{\"change\":_vm.onRepresentingChange},model:{value:(_vm.testifierPending.representing),callback:function ($$v) {_vm.$set(_vm.testifierPending, \"representing\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"testifierPending.representing\"}}),(_vm.SetRegistrationNumber)?_c('v-alert',{attrs:{\"type\":\"info\"}},[_vm._v(\"We've set your Lobbyist Registration number for you based on your selection.\")]):_vm._e(),_c('v-text-field',{attrs:{\"label\":\"City\",\"name\":\"City\",\"autocapitalize\":\"words\",\"rules\":[function (v) { return !!v || 'City is required'; }],\"hint\":\"The city you are from\",\"autocomplete\":\"address-level2\"},model:{value:(_vm.testifierPending.city),callback:function ($$v) {_vm.$set(_vm.testifierPending, \"city\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"testifierPending.city\"}}),_c('v-autocomplete',{attrs:{\"hint\":\"The state you are from.\",\"items\":_vm.States,\"item-text\":\"name\",\"item-value\":\"abbreviation\",\"autocomplete\":\"address-level1\",\"rules\":[function (v){ return !!v || 'State is required'; }, function (v) { return _vm.States.some(function (state) { return state.abbreviation === v; }) || 'Please select a valid state'; }],\"required\":\"\",\"clearable\":\"\",\"label\":\"State\"},model:{value:(_vm.testifierPending.state),callback:function ($$v) {_vm.$set(_vm.testifierPending, \"state\", $$v)},expression:\"testifierPending.state\"}}),_c('div',[_vm._v(\"(Note: We will seek approval from the Chair for any remote requests.)\")]),_c('v-divider',{staticClass:\"my-4\"}),_vm._l((_vm.agendaItems),function(item,index){return _c('v-card',{key:index,staticClass:\"mb-4\"},[(item.Title && !_vm.CustomAgenda)?_c('v-card-title',{staticClass:\"pl-3 pt-0\",staticStyle:{\"display\":\"block\"},domProps:{\"innerHTML\":_vm._s(item.Title)}}):_vm._e(),(_vm.CustomAgenda)?_c('v-text-field',{attrs:{\"density\":\"compact\",\"label\":\"Topic you wish you testify on.\",\"required\":\"\"},model:{value:(item.Title),callback:function ($$v) {_vm.$set(item, \"Title\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"item.Title\"}}):_vm._e(),_c('v-card-text',[_c('v-radio-group',{attrs:{\"row\":\"\"},model:{value:(item.testimony),callback:function ($$v) {_vm.$set(item, \"testimony\", $$v)},expression:\"item.testimony\"}},[_c('v-radio',{attrs:{\"label\":\"For\",\"value\":\"For\"}}),_c('v-radio',{attrs:{\"label\":\"Against\",\"value\":\"Against\"}}),_c('v-radio',{attrs:{\"label\":\"Presenting\",\"value\":\"Presenting\"}}),_c('v-radio',{attrs:{\"label\":\"Other\",\"value\":\"Other\"}}),_c('v-radio',{attrs:{\"label\":\"Not Applicable\",\"value\":\"N/A\"}})],1)],1)],1)}),_c('v-btn',{attrs:{\"disabled\":!_vm.valid || _vm.loading || _vm.saving,\"color\":\"success\"},on:{\"click\":_vm.submitForm}},[_vm._v(\"Submit Registration\")])],2):_vm._e(),(_vm.RequiredTestimony)?_c('v-alert',{attrs:{\"type\":\"error\"}},[_vm._v(\"Please respond For, Against, or Presenting to at least one option and then submit your registration.\")]):_vm._e(),(_vm.success)?_c('v-alert',{attrs:{\"type\":\"success\"}},[_vm._v(\" Registration submitted successfully! \"),_c('v-progress-linear',{model:{value:(_vm.progressBarWidth),callback:function ($$v) {_vm.progressBarWidth=$$v},expression:\"progressBarWidth\"}})],1):_vm._e(),(_vm.error)?_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\"}},[_vm._v(\" Failed to submit registration. \"+_vm._s(_vm.errorMessage)+\" \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container>\r\n        <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n        <v-card class=\"mb-4\" v-if=\"!loading\">\r\n            <v-card-title>Register to Testify</v-card-title>\r\n            <v-card-text>\r\n                <strong>Title:</strong> {{ meetingInfo.Title }}<br />\r\n                <strong>Date:</strong> {{ DatePretty(meetingInfo.DocumentDate) }} <span v-if=\"relativeTime\">({{relativeTime}})</span> <span v-if=\"meetingInfo.DocumentDateComment\">{{meetingInfo.DocumentDateComment}}</span><br />\r\n                <strong>Room:</strong> {{ meetingInfo.Room }}<br />\r\n            </v-card-text>\r\n        </v-card>\r\n        <v-alert v-if=\"meetingInfo.DocumentDate && IsMeetingTimePast && !IsFourHoursPast\" type=\"warning\">This meeting is currently ongoing.</v-alert>\r\n        <v-alert v-if=\"meetingInfo.DocumentDate && IsFourHoursPast\" type=\"error\">Registration is no longer available for this meeting.</v-alert>\r\n        <v-form v-if=\"!loading && !success && !IsFourHoursPast\" ref=\"form\" v-model=\"valid\" @submit.prevent=\"submitForm\">\r\n            <v-row>\r\n                <v-col cols=\"6\">\r\n                    <v-text-field v-model.trim=\"testifierPending.name\"\r\n                                  label=\"Name\"\r\n                                  name=\"Name\"\r\n                                  required\r\n                                  autocapitalize=\"words\"\r\n                                  hint=\"The full name of the person planning on testifying at the meeting. Example - 'John Doe'\"\r\n                                  :rules=\"[v => !!v || 'Name is required', v => v.trim().length > 0 || 'Name cannot be empty or just whitespace']\"\r\n                        @blur=\"loadRepresentingOptions\"\r\n                        autocomplete=\"name\">\r\n                    </v-text-field>\r\n                    <v-alert v-if=\"showNameAlert\"\r\n                             dense\r\n                             type=\"warning\"\r\n                             prominent>\r\n                        Please provide both a first and last name (e.g., 'John Doe').\r\n                    </v-alert>\r\n                </v-col>\r\n                <v-col cols=\"6\">\r\n                    <v-text-field v-model.trim=\"testifierPending.RegistrationNumber\"\r\n                                  label=\"Lobbyist Registration Number (Optional)\"\r\n                                  name=\"LobbyistRegistrationNumber\"\r\n                                  hint=\"If you are a registered lobbyist the Registered Lobbyist Number provided by the South Dakota Secretary of State. https://sosenterprise.sd.gov/businessservices/lobbyist/default.aspx\"\r\n                                  autocomplete=\"lobbyistregistrationnumber\"></v-text-field>\r\n                </v-col>\r\n            </v-row>\r\n            <div>How would you like to join the meeting?</div>\r\n            <v-radio-group v-model=\"testifierPending.InPerson\" :rules=\"[v => v !== null || 'Requested Meeting Attendance Type is required.']\" required row>\r\n                <v-radio label=\"In Person\" :value=\"true\"></v-radio>\r\n                <v-radio label=\"Remotely\" :value=\"false\"></v-radio>\r\n            </v-radio-group>\r\n            <v-text-field v-model.trim=\"testifierPending.email\"\r\n                          :label=\"testifierPending.InPerson == false ? 'Email' : 'Email (Optional)'\"\r\n                          name=\"Email\"\r\n                          type=\"email\"\r\n                          @blur=\"loadRepresentingOptions\"\r\n                          :rules=\"testifierPending.InPerson == false ? [v=>!!v || 'Email is required', v => /.+@.+/.test(v) || 'Email must be valid'] : [v => !v || /.+@.+/.test(v) || 'Email must be valid']\"\r\n                          autocomplete=\"email\">\r\n            </v-text-field>\r\n            <v-combobox v-model.trim=\"testifierPending.representing\"\r\n                        label=\"Representing\"\r\n                        name=\"Representing\"\r\n                        autocapitalize=\"words\"\r\n                        :items=\"representingOptions\"\r\n                        item-text=\"Employer\"\r\n                        item-value=\"Employer\"\r\n                        :return-object=\"false\"\r\n                        @change=\"onRepresentingChange\"\r\n                        hint=\"The entity you are employed by, representing, or 'Self' if representing yourself.\"\r\n                        autocomplete=\"organization\"\r\n                        required\r\n                        :rules=\"[v => !!v || 'Who you are representing is required']\"\r\n                        clearable></v-combobox>\r\n            <v-alert v-if=\"SetRegistrationNumber\" type=\"info\">We've set your Lobbyist Registration number for you based on your selection.</v-alert>\r\n            <!--<v-alert type=\"warning\" v-if=\"testifierPending.email && testifierPending.email.toLowerCase().endsWith('@state.sd.us') && testifierPending.representing == 'Self'\">If you are representing a state entity enter the name above.</v-alert>-->\r\n            <!--<v-alert type=\"info\" v-if=\"UnregisteredLobbyist\" variant=\"outlined\" outlined dense>\r\n                <p>We couldn't find an active lobbyist registration for you under this entity.</p>\r\n                <p>\r\n                    You can still register for this meeting, but might need to register as a lobbyist with the\r\n                    <a href=\"https://sosenterprise.sd.gov/BusinessServices/Lobbyist/LobbyistSearch.aspx\" target=\"_blank\">\r\n                        Secretary of State's office\r\n                    </a>\r\n                </p>\r\n            </v-alert>-->\r\n            <v-text-field v-model.trim=\"testifierPending.city\"\r\n                          label=\"City\"\r\n                          name=\"City\"\r\n                          autocapitalize=\"words\"\r\n                          :rules=\"[v => !!v || 'City is required']\"\r\n                          hint=\"The city you are from\"\r\n                          autocomplete=\"address-level2\"></v-text-field>\r\n            <v-autocomplete v-model=\"testifierPending.state\"\r\n                            hint=\"The state you are from.\"\r\n                            :items=\"States\"\r\n                            item-text=\"name\"\r\n                            item-value=\"abbreviation\"\r\n                            autocomplete=\"address-level1\"\r\n                            :rules=\"[v=> !!v || 'State is required', v => States.some(state => state.abbreviation === v) || 'Please select a valid state']\"\r\n                            required\r\n                            clearable\r\n                            label=\"State\" />\r\n            <div>(Note: We will seek approval from the Chair for any remote requests.)</div>\r\n            <v-divider class=\"my-4\"></v-divider>\r\n            <v-card class=\"mb-4\" v-for=\"(item, index) in agendaItems\" :key=\"index\">\r\n                <v-card-title v-if=\"item.Title && !CustomAgenda\" v-html=\"item.Title\" class=\"pl-3 pt-0\" style=\"display: block;\"></v-card-title>\r\n                <v-text-field density=\"compact\" v-if=\"CustomAgenda\" v-model.trim=\"item.Title\" label=\"Topic you wish you testify on.\" required></v-text-field>\r\n                <v-card-text>\r\n                    <v-radio-group v-model=\"item.testimony\" row>\r\n                        <v-radio label=\"For\" value=\"For\"></v-radio>\r\n                        <v-radio label=\"Against\" value=\"Against\"></v-radio>\r\n                        <v-radio label=\"Presenting\" value=\"Presenting\"></v-radio>\r\n                        <v-radio label=\"Other\" value=\"Other\"></v-radio>\r\n                        <v-radio label=\"Not Applicable\" value=\"N/A\"></v-radio>\r\n                    </v-radio-group>\r\n                </v-card-text>\r\n            </v-card>\r\n            <v-btn :disabled=\"!valid || loading || saving\" color=\"success\" @click=\"submitForm\">Submit Registration</v-btn>\r\n        </v-form>\r\n        <v-alert type=\"error\" v-if=\"RequiredTestimony\">Please respond For, Against, or Presenting to at least one option and then submit your registration.</v-alert>\r\n        <v-alert v-if=\"success\" type=\"success\">\r\n            Registration submitted successfully!\r\n            <v-progress-linear v-model=\"progressBarWidth\"></v-progress-linear>\r\n        </v-alert>\r\n        <v-alert v-if=\"error\" type=\"error\" dismissible>\r\n            Failed to submit registration. {{ errorMessage }}\r\n        </v-alert>\r\n    </v-container>\r\n</template>\r\n\r\n<script>\r\n    import moment from 'moment'\r\n    import { DateTime } from 'luxon';\r\n    export default {\r\n        name: 'Testify',\r\n        props: ['AgendaId'],\r\n        components: {\r\n        },\r\n        methods: {\r\n            LuxonNow(add) {\r\n                if (add == undefined || add == null || add == 0)\r\n                    return DateTime.now();\r\n                return DateTime.now().plus(add);\r\n            },\r\n            LuxonDateify(jsDate) {\r\n                return DateTime.fromJSDate(jsDate);\r\n            },\r\n            async LoadData() {\r\n                this.LoadedTime = new Date();\r\n                this.testifierPending.DocumentId = this.AgendaId;\r\n                this.loading = true;\r\n                try {\r\n                    if (this.AgendaId == undefined || this.AgendaId < 1) {\r\n                        this.loading = false;\r\n                        this.$router.go(-1);\r\n                    }\r\n                    const response = await fetch('/api/Testify/' + this.AgendaId, {\r\n                        method: 'GET',\r\n                        credentials: 'include',\r\n                        headers: {\r\n                            'Content-Type': 'application/json'\r\n                        },\r\n                    });\r\n\r\n                    this.loading = false;\r\n                    if (response.ok) {\r\n                        const data = await response.json();\r\n                        this.meetingInfo = {\r\n                            Title: data.Title,\r\n                            DocumentDate: data.DocumentDate,\r\n                            LuxonDate: DateTime.fromISO(data.DocumentDate),\r\n                            DocumentDateComment: data.DocumentDateComment,\r\n                            Room: data.Room\r\n                        };\r\n                        if (data.Name) {\r\n                            this.testifierPending.name = data.Name;\r\n                        }\r\n                        if (data.Email) {\r\n                            this.testifierPending.email = data.Email;\r\n                        }\r\n                        this.agendaItems = data.AgendaItems.map(agenda => ({\r\n                            Title: agenda.Title,\r\n                            testimony: null,\r\n                            ActionlogId: agenda.ActionLogId,\r\n                            BillId: agenda.BillId,\r\n                        }));\r\n                        this.CustomAgenda = false;\r\n                        if (this.agendaItems.length === 0) {\r\n                            this.CustomAgenda = true;\r\n                            this.agendaItems = [\r\n                                { Title: '', testimony: null },\r\n                            ];\r\n                        }\r\n                        this.OneMinuteProcess();\r\n                    } else {\r\n                        throw new Error(response.statusText);\r\n                    }\r\n                } catch (error) {\r\n                    this.loading = false;\r\n                    console.error('Error loading data:', error);\r\n                }\r\n            },\r\n            MeetingTimePretty(Time) {\r\n                if (Time != undefined) {\r\n                    return moment(Time).format('h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            DatePretty(Date) {\r\n                if (Date != undefined) {\r\n                    return moment(Date).format('M/DD h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            MinDatePretty(Date) {\r\n                if (Date != undefined) {\r\n                    return moment(Date).format('M/DD');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            async loadRepresentingOptions() {\r\n                if (!this.testifierPending.name) {\r\n                    return;\r\n                }\r\n                this.validateName();\r\n                try {\r\n                    this.loadingEntities = true;\r\n                    const response = await fetch(`/api/testify/matching-entities?name=${this.testifierPending.name}`);\r\n                    if (response.ok) {\r\n                        const data = await response.json();\r\n                        let selfoption = [{ Employer: 'Self', RegistrationNumber: null }];\r\n                        this.representingOptions = data.concat(selfoption);\r\n                        if (this.representingOptions && this.representingOptions.length > 1) {\r\n                            if (!this.testifierPending.representing) {\r\n                                this.testifierPending.representing = this.representingOptions[0].Employer;\r\n                            }\r\n                        }\r\n                    } else {\r\n                        this.representingOptions = [{ Employer: 'Self', RegistrationNumber: null }];\r\n                    }\r\n                } catch (error) {\r\n                    console.error('Error fetching representing options:', error);\r\n                    this.representingOptions = [];\r\n                } finally {\r\n                    this.loadingEntities = false;\r\n                }\r\n            },\r\n            onRepresentingChange(selected) {\r\n                this.SetRegistrationNumber = false;\r\n                if (this.representingOptions && this.representingOptions.length > 0) {\r\n                    //console.log(this.testifierPending.representing);\r\n                    const selectedEntity = this.representingOptions.find(option => option.Employer === selected);\r\n                    if (selectedEntity && selectedEntity.RegistrationNumber && !this.testifierPending.RegistrationNumber) {\r\n                        this.testifierPending.RegistrationNumber = selectedEntity.RegistrationNumber;\r\n                        this.SetRegistrationNumber = true;\r\n                    }\r\n                }\r\n                //If we aren't representing ourself and the entity we are representing is not in the list, display an alert about unregistered lobbyist.\r\n                if (this.testifierPending.representing && this.testifierPending.representing != 'Self') {\r\n                    if (!this.representingOptions.some(option => option.Employer === this.testifierPending.representing)) {\r\n                        this.UnregisteredLobbyist = true;\r\n                    }\r\n                    else {\r\n                        this.UnregisteredLobbyist = false;\r\n                    }\r\n                }\r\n                else {\r\n                    this.UnregisteredLobbyist = false;\r\n                }\r\n            },\r\n            async submitForm() {\r\n                this.RequiredTestimony = false;\r\n                //Check if the user has selected For, Against, or Presenting for at least one item.\r\n                if (this.agendaItems.some(item => ['For', 'Against', 'Presenting'].includes(item.testimony))) {\r\n                    this.RequiredTestimony = false;\r\n                } else {\r\n                    this.RequiredTestimony = true;\r\n                }\r\n                if (this.RequiredTestimony) {\r\n                    return;\r\n                }\r\n                if (this.$refs.form.validate()) {\r\n                    this.testifierPending.testimonyData = JSON.stringify(this.agendaItems);\r\n                    try {\r\n                        this.saving = true;\r\n                        const response = await fetch('/api/Testify/', {\r\n                            method: 'POST',\r\n                            headers: {\r\n                                'Content-Type': 'application/json'\r\n                            },\r\n                            body: JSON.stringify(this.testifierPending)\r\n                        });\r\n                        this.saving = false;\r\n                        if (response.ok) {\r\n                            this.success = true;\r\n                            this.error = false;\r\n                            this.showNameAlert = false;\r\n                            // Reset the form\r\n                            this.testifierPending = {\r\n                                DocumentId: this.AgendaId,\r\n                                name: '',\r\n                                city: '',\r\n                                state: 'SD',\r\n                                representing: '',\r\n                                email: '',\r\n                                testimonyData: '',\r\n                                InPerson: true,\r\n                                RegistrationNumber: '',\r\n                            };\r\n                            this.agendaItems.forEach(item => (item.testimony = ''));\r\n                            this.startCountdown();\r\n                        } else {\r\n                            this.error = true;\r\n                            this.success = false;\r\n                            //Display Bad Request Text Error\r\n                            const data = await response.text();\r\n                            this.errorMessage = data;\r\n                            console.error('Error submitting form:', data);\r\n                        }\r\n                    } catch (err) {\r\n                        this.error = true;\r\n                        this.success = false;\r\n                        this.saving = false;\r\n                        reportError(err);\r\n                    }\r\n                }\r\n            },\r\n            OneMinuteProcess() {\r\n                this.IsMeetingTimePast = DateTime.now() > DateTime.fromISO(this.meetingInfo.DocumentDate);\r\n                this.relativeTime = DateTime.fromISO(this.meetingInfo.DocumentDate).toRelative();\r\n                this.IsFourHoursPast = DateTime.now() > DateTime.fromISO(this.meetingInfo.DocumentDate).plus({ hours: 16 });\r\n            },\r\n            startCountdown() {\r\n                this.countdown = 5;\r\n                if (this.CountdownInterval) {\r\n                    clearInterval(this.CountdownInterval);\r\n                }\r\n                this.CountdownInterval = setInterval(() => {\r\n                    if (this.countdown > 0) {\r\n                        this.countdown--;\r\n                    } else {\r\n                        this.success = false;\r\n                        clearInterval(this.CountdownInterval);\r\n                    }\r\n                }, 1000);\r\n            },\r\n            validateName() {\r\n                if (this.testifierPending && this.testifierPending.name) {\r\n                    const nameParts = this.testifierPending.name.split(' ').filter(Boolean);\r\n                    this.showNameAlert = nameParts.length < 2;\r\n                }\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                UnregisteredLobbyist: false,\r\n                RequiredTestimony: false,\r\n                SetRegistrationNumber: false,\r\n                countdown: 0,\r\n                CountdownInterval: null,\r\n                IsMeetingTimePast: false,\r\n                IsFourHoursPast: false,\r\n                relativeTime: null,\r\n                errorMessage: '',\r\n                loading: true,\r\n                saving: false,\r\n                Agenda: {},\r\n                TestifyData: {},\r\n                valid: false,\r\n                success: false,\r\n                error: false,\r\n                showNameAlert: false,\r\n                CustomAgenda: false,\r\n                testifierPending: {\r\n                    DocumentId: null,\r\n                    name: '',\r\n                    city: '',\r\n                    state: 'SD',\r\n                    representing: '',\r\n                    email: '',\r\n                    testimonyData: '',\r\n                    InPerson: true,\r\n                    RegistrationNumber: '',\r\n                },\r\n                agendaItems: [\r\n                    { title: '', testimony: null },\r\n                ],\r\n                meetingInfo: {\r\n                    Title: '',\r\n                    DocumentDate: '',\r\n                    DocumentDateComment: '',\r\n                    Room: ''\r\n                },\r\n                States: [\r\n                    {\r\n                        \"name\": \"Alabama\",\r\n                        \"abbreviation\": \"AL\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Alaska\",\r\n                        \"abbreviation\": \"AK\"\r\n                    },\r\n                    {\r\n                        \"name\": \"American Samoa\",\r\n                        \"abbreviation\": \"AS\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Arizona\",\r\n                        \"abbreviation\": \"AZ\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Arkansas\",\r\n                        \"abbreviation\": \"AR\"\r\n                    },\r\n                    {\r\n                        \"name\": \"California\",\r\n                        \"abbreviation\": \"CA\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Colorado\",\r\n                        \"abbreviation\": \"CO\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Connecticut\",\r\n                        \"abbreviation\": \"CT\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Delaware\",\r\n                        \"abbreviation\": \"DE\"\r\n                    },\r\n                    {\r\n                        \"name\": \"District Of Columbia\",\r\n                        \"abbreviation\": \"DC\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Federated States Of Micronesia\",\r\n                        \"abbreviation\": \"FM\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Florida\",\r\n                        \"abbreviation\": \"FL\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Georgia\",\r\n                        \"abbreviation\": \"GA\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Guam\",\r\n                        \"abbreviation\": \"GU\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Hawaii\",\r\n                        \"abbreviation\": \"HI\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Idaho\",\r\n                        \"abbreviation\": \"ID\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Illinois\",\r\n                        \"abbreviation\": \"IL\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Indiana\",\r\n                        \"abbreviation\": \"IN\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Iowa\",\r\n                        \"abbreviation\": \"IA\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Kansas\",\r\n                        \"abbreviation\": \"KS\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Kentucky\",\r\n                        \"abbreviation\": \"KY\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Louisiana\",\r\n                        \"abbreviation\": \"LA\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Maine\",\r\n                        \"abbreviation\": \"ME\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Marshall Islands\",\r\n                        \"abbreviation\": \"MH\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Maryland\",\r\n                        \"abbreviation\": \"MD\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Massachusetts\",\r\n                        \"abbreviation\": \"MA\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Michigan\",\r\n                        \"abbreviation\": \"MI\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Minnesota\",\r\n                        \"abbreviation\": \"MN\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Mississippi\",\r\n                        \"abbreviation\": \"MS\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Missouri\",\r\n                        \"abbreviation\": \"MO\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Montana\",\r\n                        \"abbreviation\": \"MT\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Nebraska\",\r\n                        \"abbreviation\": \"NE\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Nevada\",\r\n                        \"abbreviation\": \"NV\"\r\n                    },\r\n                    {\r\n                        \"name\": \"New Hampshire\",\r\n                        \"abbreviation\": \"NH\"\r\n                    },\r\n                    {\r\n                        \"name\": \"New Jersey\",\r\n                        \"abbreviation\": \"NJ\"\r\n                    },\r\n                    {\r\n                        \"name\": \"New Mexico\",\r\n                        \"abbreviation\": \"NM\"\r\n                    },\r\n                    {\r\n                        \"name\": \"New York\",\r\n                        \"abbreviation\": \"NY\"\r\n                    },\r\n                    {\r\n                        \"name\": \"North Carolina\",\r\n                        \"abbreviation\": \"NC\"\r\n                    },\r\n                    {\r\n                        \"name\": \"North Dakota\",\r\n                        \"abbreviation\": \"ND\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Northern Mariana Islands\",\r\n                        \"abbreviation\": \"MP\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Ohio\",\r\n                        \"abbreviation\": \"OH\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Oklahoma\",\r\n                        \"abbreviation\": \"OK\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Oregon\",\r\n                        \"abbreviation\": \"OR\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Palau\",\r\n                        \"abbreviation\": \"PW\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Pennsylvania\",\r\n                        \"abbreviation\": \"PA\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Puerto Rico\",\r\n                        \"abbreviation\": \"PR\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Rhode Island\",\r\n                        \"abbreviation\": \"RI\"\r\n                    },\r\n                    {\r\n                        \"name\": \"South Carolina\",\r\n                        \"abbreviation\": \"SC\"\r\n                    },\r\n                    {\r\n                        \"name\": \"South Dakota\",\r\n                        \"abbreviation\": \"SD\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Tennessee\",\r\n                        \"abbreviation\": \"TN\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Texas\",\r\n                        \"abbreviation\": \"TX\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Utah\",\r\n                        \"abbreviation\": \"UT\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Vermont\",\r\n                        \"abbreviation\": \"VT\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Virgin Islands\",\r\n                        \"abbreviation\": \"VI\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Virginia\",\r\n                        \"abbreviation\": \"VA\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Washington\",\r\n                        \"abbreviation\": \"WA\"\r\n                    },\r\n                    {\r\n                        \"name\": \"West Virginia\",\r\n                        \"abbreviation\": \"WV\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Wisconsin\",\r\n                        \"abbreviation\": \"WI\"\r\n                    },\r\n                    {\r\n                        \"name\": \"Wyoming\",\r\n                        \"abbreviation\": \"WY\"\r\n                    }\r\n                ],\r\n                representingOptions: [{ Employer: 'Self', RegistrationNumber: null }],\r\n                LoadedTime: new Date(),\r\n                OneMinuteInterval: null,\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n            this.OneMinuteProcess();\r\n            this.OneMinuteInterval = setInterval(this.OneMinuteProcess, 60000);\r\n        },\r\n        unmounted() {\r\n            if (this.OneMinuteInterval) {\r\n                clearInterval(this.OneMinuteInterval);\r\n                this.OneMinuteInterval = null;\r\n            }\r\n            if (this.CountdownInterval) {\r\n                clearInterval(this.CountdownInterval);\r\n                this.CountdownInterval = null;\r\n            }\r\n        },\r\n        watch: {\r\n            AgendaId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            currentRoute: function () {\r\n                return this.$route.path;\r\n            },\r\n            LoggedIn: function () {\r\n                return this.$LoggedIn;\r\n            },\r\n            progressBarWidth() {\r\n                if (!this.countdown) {\r\n                    return 0;\r\n                }\r\n                return (this.countdown / 5) * 100;\r\n            },\r\n        },\r\n        metaInfo() {\r\n            //https://stackoverflow.com/questions/286141/remove-blank-attributes-from-an-object-in-javascript\r\n            let removeEmpty = function (obj) {\r\n                const newObj = {};\r\n\r\n                Object.entries(obj).forEach(([k, v]) => {\r\n                    if (Array.isArray(v)) {\r\n                        newObj[k] = new Array();\r\n\r\n                        v.forEach(x => {\r\n                            if (x === Object(x)) {\r\n                                newObj[k].push(removeEmpty(x));\r\n                            }\r\n                            else if (x != null) {\r\n                                newObj[k].push(x);\r\n                            }\r\n                        });\r\n                    }\r\n                    else if (v === Object(v)) {\r\n                        newObj[k] = removeEmpty(v);\r\n                    } else if (v != null) {\r\n                        newObj[k] = obj[k];\r\n                    }\r\n                });\r\n                return newObj;\r\n            }\r\n\r\n            let Title = 'Register for ' + this.meetingInfo.Title;\r\n\r\n            let committee = {\r\n                title: Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: Title, },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: Title },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: Title }\r\n                ]\r\n            };\r\n            committee = removeEmpty(committee);\r\n\r\n            return committee;\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Testify.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Testify.vue?vue&type=script&lang=js&\"","// Styles\nimport \"../../../src/components/VAutocomplete/VAutocomplete.sass\"; // Extensions\n\nimport VSelect from '../VSelect/VSelect';\nimport VAutocomplete from '../VAutocomplete/VAutocomplete'; // Utils\n\nimport { keyCodes } from '../../util/helpers';\n/* @vue/component */\n\nexport default VAutocomplete.extend({\n  name: 'v-combobox',\n  props: {\n    delimiters: {\n      type: Array,\n      default: () => []\n    },\n    returnObject: {\n      type: Boolean,\n      default: true\n    }\n  },\n  data: () => ({\n    editingIndex: -1\n  }),\n  computed: {\n    computedCounterValue() {\n      return this.multiple ? this.selectedItems.length : (this.internalSearch || '').toString().length;\n    },\n\n    hasSlot() {\n      return VSelect.options.computed.hasSlot.call(this) || this.multiple;\n    },\n\n    isAnyValueAllowed() {\n      return true;\n    },\n\n    menuCanShow() {\n      if (!this.isFocused) return false;\n      return this.hasDisplayedItems || !!this.$slots['no-data'] && !this.hideNoData;\n    },\n\n    searchIsDirty() {\n      return this.internalSearch != null;\n    }\n\n  },\n  methods: {\n    onInternalSearchChanged(val) {\n      if (val && this.multiple && this.delimiters.length) {\n        const delimiter = this.delimiters.find(d => val.endsWith(d));\n\n        if (delimiter != null) {\n          this.internalSearch = val.slice(0, val.length - delimiter.length);\n          this.updateTags();\n        }\n      }\n\n      this.updateMenuDimensions();\n    },\n\n    genInput() {\n      const input = VAutocomplete.options.methods.genInput.call(this);\n      delete input.data.attrs.name;\n      input.data.on.paste = this.onPaste;\n      return input;\n    },\n\n    genChipSelection(item, index) {\n      const chip = VSelect.options.methods.genChipSelection.call(this, item, index); // Allow user to update an existing value\n\n      if (this.multiple) {\n        chip.componentOptions.listeners = { ...chip.componentOptions.listeners,\n          dblclick: () => {\n            this.editingIndex = index;\n            this.internalSearch = this.getText(item);\n            this.selectedIndex = -1;\n          }\n        };\n      }\n\n      return chip;\n    },\n\n    onChipInput(item) {\n      VSelect.options.methods.onChipInput.call(this, item);\n      this.editingIndex = -1;\n    },\n\n    // Requires a manual definition\n    // to overwrite removal in v-autocomplete\n    onEnterDown(e) {\n      e.preventDefault(); // If has menu index, let v-select-list handle\n\n      if (this.getMenuIndex() > -1) return;\n      this.$nextTick(this.updateSelf);\n    },\n\n    onKeyDown(e) {\n      const keyCode = e.keyCode;\n\n      if (e.ctrlKey || ![keyCodes.home, keyCodes.end].includes(keyCode)) {\n        VSelect.options.methods.onKeyDown.call(this, e);\n      } // If user is at selection index of 0\n      // create a new tag\n\n\n      if (this.multiple && keyCode === keyCodes.left && this.$refs.input.selectionStart === 0) {\n        this.updateSelf();\n      } else if (keyCode === keyCodes.enter) {\n        this.onEnterDown(e);\n      } // The ordering is important here\n      // allows new value to be updated\n      // and then moves the index to the\n      // proper location\n\n\n      this.changeSelectedIndex(keyCode);\n    },\n\n    onTabDown(e) {\n      // When adding tags, if searching and\n      // there is not a filtered options,\n      // add the value to the tags list\n      if (this.multiple && this.internalSearch && this.getMenuIndex() === -1) {\n        e.preventDefault();\n        e.stopPropagation();\n        return this.updateTags();\n      }\n\n      VAutocomplete.options.methods.onTabDown.call(this, e);\n    },\n\n    selectItem(item) {\n      // Currently only supports items:<string[]>\n      if (this.editingIndex > -1) {\n        this.updateEditing();\n      } else {\n        VAutocomplete.options.methods.selectItem.call(this, item); // if selected item contains search value,\n        // remove the search string\n\n        if (this.internalSearch && this.multiple && this.getText(item).toLocaleLowerCase().includes(this.internalSearch.toLocaleLowerCase())) {\n          this.internalSearch = null;\n        }\n      }\n    },\n\n    setSelectedItems() {\n      if (this.internalValue == null || this.internalValue === '') {\n        this.selectedItems = [];\n      } else {\n        this.selectedItems = this.multiple ? this.internalValue : [this.internalValue];\n      }\n    },\n\n    setValue(value) {\n      VSelect.options.methods.setValue.call(this, value === undefined ? this.internalSearch : value);\n    },\n\n    updateEditing() {\n      const value = this.internalValue.slice();\n      const index = this.selectedItems.findIndex(item => this.getText(item) === this.internalSearch); // If user enters a duplicate text on chip edit,\n      // don't add it, move it to the end of the list\n\n      if (index > -1) {\n        const item = typeof value[index] === 'object' ? Object.assign({}, value[index]) : value[index];\n        value.splice(index, 1);\n        value.push(item);\n      } else {\n        value[this.editingIndex] = this.internalSearch;\n      }\n\n      this.setValue(value);\n      this.editingIndex = -1;\n      this.internalSearch = null;\n    },\n\n    updateCombobox() {\n      // If search is not dirty, do nothing\n      if (!this.searchIsDirty) return; // The internal search is not matching\n      // the internal value, update the input\n\n      if (this.internalSearch !== this.getText(this.internalValue)) this.setValue(); // Reset search if using slot to avoid a double input\n\n      const isUsingSlot = Boolean(this.$scopedSlots.selection) || this.hasChips;\n      if (isUsingSlot) this.internalSearch = null;\n    },\n\n    updateSelf() {\n      this.multiple ? this.updateTags() : this.updateCombobox();\n    },\n\n    updateTags() {\n      const menuIndex = this.getMenuIndex(); // If the user is not searching\n      // and no menu item is selected\n      // or if the search is empty\n      // do nothing\n\n      if (menuIndex < 0 && !this.searchIsDirty || !this.internalSearch) return;\n\n      if (this.editingIndex > -1) {\n        return this.updateEditing();\n      }\n\n      const index = this.selectedItems.findIndex(item => this.internalSearch === this.getText(item)); // If the duplicate item is an object,\n      // copy it, so that it can be added again later\n\n      const itemToSelect = index > -1 && typeof this.selectedItems[index] === 'object' ? Object.assign({}, this.selectedItems[index]) : this.internalSearch; // If it already exists, do nothing\n      // this might need to change to bring\n      // the duplicated item to the last entered\n\n      if (index > -1) {\n        const internalValue = this.internalValue.slice();\n        internalValue.splice(index, 1);\n        this.setValue(internalValue);\n      } // If menu index is greater than 1\n      // the selection is handled elsewhere\n      // TODO: find out where\n\n\n      if (menuIndex > -1) return this.internalSearch = null;\n      this.selectItem(itemToSelect);\n      this.internalSearch = null;\n    },\n\n    onPaste(event) {\n      var _a;\n\n      this.$emit('paste', event);\n      if (!this.multiple || this.searchIsDirty) return;\n      const pastedItemText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text/vnd.vuetify.autocomplete.item+plain');\n\n      if (pastedItemText && this.findExistingIndex(pastedItemText) === -1) {\n        event.preventDefault();\n        VSelect.options.methods.selectItem.call(this, pastedItemText);\n      }\n    },\n\n    clearableCallback() {\n      this.editingIndex = -1;\n      VAutocomplete.options.methods.clearableCallback.call(this);\n    }\n\n  }\n});\n//# sourceMappingURL=VCombobox.js.map","import { render, staticRenderFns } from \"./Testify.vue?vue&type=template&id=358b4d4f&\"\nimport script from \"./Testify.vue?vue&type=script&lang=js&\"\nexport * from \"./Testify.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\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 { VCombobox } from 'vuetify/lib/components/VCombobox';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\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, {VAlert,VAutocomplete,VBtn,VCard,VCardText,VCardTitle,VCol,VCombobox,VContainer,VDivider,VForm,VProgressLinear,VRadio,VRadioGroup,VRow,VTextField})\n","import Vue from 'vue';\nimport { getZIndex } from '../../util/helpers';\n/* @vue/component */\n\nexport default Vue.extend().extend({\n  name: 'stackable',\n\n  data() {\n    return {\n      stackElement: null,\n      stackExclude: null,\n      stackMinZIndex: 0,\n      isActive: false\n    };\n  },\n\n  computed: {\n    activeZIndex() {\n      if (typeof window === 'undefined') return 0;\n      const content = this.stackElement || this.$refs.content; // Return current zindex if not active\n\n      const index = !this.isActive ? getZIndex(content) : this.getMaxZIndex(this.stackExclude || [content]) + 2;\n      if (index == null) return index; // Return max current z-index (excluding self) + 2\n      // (2 to leave room for an overlay below, if needed)\n\n      return parseInt(index);\n    }\n\n  },\n  methods: {\n    getMaxZIndex(exclude = []) {\n      const base = this.$el; // Start with lowest allowed z-index or z-index of\n      // base component's element, whichever is greater\n\n      const zis = [this.stackMinZIndex, getZIndex(base)]; // Convert the NodeList to an array to\n      // prevent an Edge bug with Symbol.iterator\n      // https://github.com/vuetifyjs/vuetify/issues/2146\n\n      const activeElements = [...document.getElementsByClassName('v-menu__content--active'), ...document.getElementsByClassName('v-dialog__content--active')]; // Get z-index for all active dialogs\n\n      for (let index = 0; index < activeElements.length; index++) {\n        if (!exclude.includes(activeElements[index])) {\n          zis.push(getZIndex(activeElements[index]));\n        }\n      }\n\n      return Math.max(...zis);\n    }\n\n  }\n});\n//# sourceMappingURL=index.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[(_vm.SessionId)?_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}})],1):_vm._e(),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('v-row',[_c('v-col',[(_vm.Session != null)?_c('h3',[_vm._v(_vm._s(_vm.Session.YearString)+\" Legislators\")]):_vm._e(),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e()],1)],1),_c('v-row',[_c('v-col',{staticClass:\"pa-0 ma-0\"},[_c('v-card',{staticClass:\"pa-0 ma-0\"},[_c('v-card-title',[_vm._v(\" House Members \")]),_c('v-card-text',{staticClass:\"pa-xs-0 ma-xs-0\"},[_c('v-list',[_vm._l((_vm.HouseMembers),function(m){return [_c('v-divider',{staticClass:\"ma-0\"}),_c('v-list-item',{staticClass:\"pa-0 ma-0\"},[_c('v-list-item-content',[_c('MemberCard',{attrs:{\"expand\":false,\"Member\":m}})],1)],1)]})],2)],1)],1)],1),_c('v-col',{staticClass:\"pa-0 ma-0\"},[_c('v-card',[_c('v-card-title',[_vm._v(\" Senate Members \")]),_c('v-card-text',[_c('v-list',[_vm._l((_vm.SenateMembers),function(m){return [_c('v-divider',{staticClass:\"ma-0\"}),_c('v-list-item',[_c('v-list-item-content',[_c('MemberCard',{attrs:{\"expand\":false,\"Member\":m}})],1)],1)]})],2)],1)],1)],1)],1),_c('v-row',[_c('small',[_c('b',[_c('i',[_vm._v(\"*The Legislator did not fulfill their entire term.\")])])])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\" v-if=\"SessionId\">\r\n            <Sidebar :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\" cols=\"12\">\r\n            <v-row>\r\n                <v-col>\r\n                    <h3 v-if=\"Session != null\">{{Session.YearString}} Legislators</h3>\r\n                    <v-progress-linear indeterminate\r\n                                       v-if=\"loading\"></v-progress-linear>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row>\r\n                <v-col class=\"pa-0 ma-0\">\r\n                    <v-card class=\"pa-0 ma-0\">\r\n                        <v-card-title>\r\n                            House Members\r\n                        </v-card-title>\r\n                        <v-card-text class=\"pa-xs-0 ma-xs-0\">\r\n                            <v-list>\r\n                                <template v-for=\"m in HouseMembers\">\r\n                                    <v-divider class=\"ma-0\"></v-divider>\r\n                                    <v-list-item class=\"pa-0 ma-0\">\r\n                                        <v-list-item-content>\r\n                                            <MemberCard :expand=\"false\" :Member=\"m\"></MemberCard>\r\n                                        </v-list-item-content>\r\n                                    </v-list-item>\r\n                                </template>\r\n                            </v-list>\r\n                        </v-card-text>\r\n                    </v-card>\r\n                </v-col>\r\n                <v-col class=\"pa-0 ma-0\">\r\n                    <v-card>\r\n                        <v-card-title>\r\n                            Senate Members\r\n                        </v-card-title>\r\n                        <v-card-text>\r\n                            <v-list>\r\n                                <template v-for=\"m in SenateMembers\">\r\n                                    <v-divider class=\"ma-0\"></v-divider>\r\n                                    <v-list-item>\r\n                                        <v-list-item-content>\r\n                                            <MemberCard :expand=\"false\" :Member=\"m\"></MemberCard>\r\n                                        </v-list-item-content>\r\n                                    </v-list-item>\r\n                                </template>\r\n                            </v-list>\r\n                        </v-card-text>\r\n                    </v-card>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row><small><b><i>*The Legislator did not fulfill their entire term.</i></b></small></v-row>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const MemberCard = () => import(\"@/Components/MemberCard.vue\");\r\n    export default {\r\n        name: 'Contacts',\r\n        props: ['SessionId'],\r\n        components: {\r\n            MemberCard, Sidebar\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                this.loading = true;\r\n                fetch('/api/SessionMembers/Session/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.loading = false;\r\n                    this.Members = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n                this.loading = true;\r\n                if (this.SessionId) {\r\n                    fetch('/api/Sessions/' + this.SessionId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201) {\r\n                            return res.json();\r\n                        }\r\n                        else {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response => {\r\n                        this.Session = EncodeDatetimes(response);\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                Members: [],\r\n                Session: {},\r\n                loading: true,\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            SessionId: {\r\n                handler() {\r\n                    this.LoadData();\r\n                },\r\n            },\r\n        },\r\n        computed: {\r\n            SenateMembers: function () {\r\n                if (this.Members && this.Members.length > 0) {\r\n                    //Dont remember if its MemberType or chamber\r\n                    return this.Members.filter(x => x.MemberType == 'S');\r\n                }\r\n                else {\r\n                    return [];\r\n                }\r\n            },\r\n            HouseMembers: function () {\r\n                //Dont remember if its MemberType or chamber\r\n                if (this.Members && this.Members.length > 0) {\r\n                    return this.Members.filter(x => x.MemberType == 'H');\r\n                }\r\n                else {\r\n                    return [];\r\n                }\r\n            },\r\n            Title: function () {\r\n                let title = 'Legislators';\r\n                if (this.Session && this.Session.Year) {\r\n                    title = this.Session.Year + ' ' + title;\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Contacts.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Contacts.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Contacts.vue?vue&type=template&id=6ae23dd5&\"\nimport script from \"./Contacts.vue?vue&type=script&lang=js&\"\nexport * from \"./Contacts.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDivider,VList,VListItem,VListItemContent,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"pr-4\"},[(_vm.currentRoute.includes('/Interim'))?_c('v-card-title',[_vm._v(\" Archived Interims \")]):_c('v-card-title',[_vm._v(\" Archived Sessions \")]),_c('v-card-text',[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-text',[(_vm.currentRoute.includes('/Interim'))?_c('div',[_c('GoogleSearch')],1):_c('div',[_c('GoogleSearch')],1)])],1),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.filteredHeaders,\"items\":_vm.filteredSessions,\"item-key\":\"Year\",\"sort-by\":['YearString'],\"sort-desc\":true,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Bills\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bills/' + item.SessionId}},[_vm._v(\"Bills\")])]}},{key:\"item.Committees\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.IsSession)?_c('router-link',{attrs:{\"to\":'/Session/Committees/' + item.SessionId}},[_vm._v(\"Committees\")]):(!_vm.IsSession)?_c('router-link',{attrs:{\"to\":'/Interim/Committees/' + item.SessionId}},[_vm._v(\"Committees\")]):_vm._e()]}},{key:\"item.ConferenceCommittees\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/ConferenceCommittees/' +item.SessionId}},[_vm._v(\"Conference Committees\")])]}},{key:\"item.General\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/General/' +item.SessionId}},[_vm._v(\"General\")])]}},{key:\"item.FinalReport\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.getReportID(item.SessionId) != null)?_c('div',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value +'api/Documents/AnnualReport/' + _vm.getReportID(item.SessionId) + '.pdf'}},[_vm._v(\"Final Report\")])]):_vm._e()]}},{key:\"item.Legislators\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Legislators/Listing/' +item.SessionId}},[_vm._v(\"Legislators\")])]}},{key:\"item.Session_Laws\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Statutes/Session_Laws/' +item.SessionId}},[_vm._v(\"Session Laws\")])]}}])}),(_vm.currentRoute.includes('/Session') || _vm.currentRoute.includes('/Statute') )?_c('div',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":\"http://sdsdl-montage.auto-graphics.com/#/customizeListView?listId=CustomizeEntityLists_97\"}},[_vm._v(\"State Archives: Session Laws of South Dakota, beginning with 1890 to the present.\")])]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-card class=\"pr-4\">\r\n        <v-card-title v-if=\"currentRoute.includes('/Interim')\">\r\n            Archived Interims\r\n        </v-card-title>\r\n        <v-card-title v-else>\r\n            Archived Sessions\r\n        </v-card-title>\r\n        <v-card-text>\r\n            <v-card flat>\r\n                <v-card-text>\r\n                    <div v-if=\"currentRoute.includes('/Interim')\"><GoogleSearch></GoogleSearch></div>\r\n                    <div v-else>\r\n                        <GoogleSearch></GoogleSearch>\r\n                    </div>\r\n                </v-card-text>\r\n            </v-card>\r\n\r\n            <FilterableDataTable :headers=\"filteredHeaders\"\r\n                          :items=\"filteredSessions\"\r\n                          item-key=\"Year\"\r\n                          :sort-by=\"['YearString']\"\r\n                          :sort-desc=\"true\"\r\n                          disable-pagination\r\n                          hide-default-footer\r\n                          loading-text=\"Loading... Please wait\"\r\n                          class=\"elevation-1\">\r\n                <template v-slot:item.Bills=\"{ item }\">\r\n                    <router-link :to=\"'/Session/Bills/' + item.SessionId\">Bills</router-link>\r\n                </template>\r\n                <template v-slot:item.Committees=\"{ item }\">\r\n                    <router-link v-if=\"IsSession\" :to=\"'/Session/Committees/' + item.SessionId\">Committees</router-link>\r\n                    <router-link v-else-if=\"!IsSession\" :to=\"'/Interim/Committees/' + item.SessionId\">Committees</router-link>\r\n                </template>\r\n                <template v-slot:item.ConferenceCommittees=\"{ item }\">\r\n                    <router-link :to=\"'/Session/ConferenceCommittees/' +item.SessionId\">Conference Committees</router-link>\r\n                </template>\r\n                <template v-slot:item.General=\"{ item }\">\r\n                    <router-link :to=\"'/Session/General/' +item.SessionId\">General</router-link>\r\n                </template>\r\n                <template v-slot:item.FinalReport=\"{ item }\">\r\n                    <div v-if=\"getReportID(item.SessionId) != null\">\r\n                        <a rel=\"noopener\" :href=\"$MyLRCUrl.value +'api/Documents/AnnualReport/' + getReportID(item.SessionId) + '.pdf'\">Final Report</a>\r\n                    </div>\r\n                </template>\r\n                <template v-slot:item.Legislators=\"{ item }\">\r\n                    <router-link :to=\"'/Legislators/Listing/' +item.SessionId\">Legislators</router-link>\r\n                </template>\r\n                <template v-slot:item.Session_Laws=\"{ item }\">\r\n                    <router-link :to=\"'/Statutes/Session_Laws/' +item.SessionId\">Session Laws</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n            <div v-if=\"currentRoute.includes('/Session') || currentRoute.includes('/Statute') \">\r\n                <a rel=\"noopener\" href=\"http://sdsdl-montage.auto-graphics.com/#/customizeListView?listId=CustomizeEntityLists_97\">State Archives: Session Laws of South Dakota, beginning with 1890 to the present.</a>\r\n            </div>\r\n        </v-card-text>\r\n    </v-card>\r\n</template>\r\n<script>\r\n    const GoogleSearch = () => import(\"@/Components/GoogleSearch.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Archived',\r\n        components: {\r\n            GoogleSearch, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Sessions', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Sessions = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n                if (this.currentRoute.includes('/Interim')) {\r\n\r\n                    fetch('/api/Documents/DocumentType?Type=88', {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => {\r\n                        if (res.status === 200 || res.status === 201) {\r\n                            return res.json();\r\n                        }\r\n                        else {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response => {\r\n                        this.FinalReports = EncodeDatetimes(response);\r\n\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n            },\r\n            getReportID(id) {\r\n                if (this.FinalReports.length > 0) {\r\n                    var single = this.FinalReports.filter(x => x.SessionId == id);\r\n                    if (single.length > 0) {\r\n                        return single[0].DocumentId;\r\n                    }\r\n\r\n                }\r\n                return null;\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                headers: [\r\n                    { text: 'Year', value: 'YearString', Type: 'B' },\r\n                    { text: 'Bills', value: 'Bills', Type: 'S', filterable: false },\r\n                    { text: 'Committees', value: 'Committees', Type: 'B', filterable: false },\r\n                    { text: 'Conference Committees', value: 'ConferenceCommittees', Type: 'S', filterable: false },\r\n                    { text: 'General', value: 'General', Type: 'S', filterable: false },\r\n                    { text: 'Final Report', value: 'FinalReport', Type: 'I', filterable: false },\r\n                    { text: 'Legislators', value: 'Legislators', Type: 'B', filterable: false },\r\n                    { text: 'Session Laws', value: 'Session_Laws', Type: 'S', filterable: false },\r\n                ],\r\n                FinalReports: [],\r\n                Sessions: [],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            currentRoute() {\r\n                this.LoadData();\r\n            },\r\n        },\r\n        computed: {\r\n            currentRoute: function () {\r\n                return this.$route.path;\r\n            },\r\n            filteredHeaders: function () {\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    return this.headers.filter(x => x.Type != 'S');\r\n                } else {\r\n                    return this.headers.filter(x => x.Type != 'I');\r\n                }\r\n            },\r\n            filteredSessions: function () {\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    return this.Sessions.filter(x => x.Type != 'Session' && !x.SpecialSession);\r\n                } else {\r\n                    return this.Sessions.filter(x => x.Type != 'Interim');\r\n                }\r\n            },\r\n            IsSession: function () {\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    return false;\r\n                } else {\r\n                    return true;\r\n                }\r\n            },\r\n            Title: function () {\r\n                return 'Archive';\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n    </script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Archived.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Archived.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Archived.vue?vue&type=template&id=3335cf68&\"\nimport script from \"./Archived.vue?vue&type=script&lang=js&\"\nexport * from \"./Archived.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-print-none\"},[_c('v-card',{staticClass:\"hidden-sm-and-down\"},[_c('v-navigation-drawer',{staticClass:\"hidden-sm-and-down\",attrs:{\"floating\":\"\",\"permanent\":\"\"}},[(_vm.loadingMenu)?_c('v-skeleton-loader',{staticClass:\"mx-auto hidden-sm-and-down\",attrs:{\"max-width\":\"256\",\"type\":\"list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item\"}}):_vm._e(),_c('v-list',{attrs:{\"dense\":\"\",\"nav\":\"\"}},_vm._l((_vm.SubMenuItems),function(item){return _c('v-list-item',{key:item.DocumentHearingId,attrs:{\"link\":\"\",\"to\":'/Budget/Documents/' + item.DocumentHearingId}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-wrap\"},[_vm._v(_vm._s(item.Description))])],1)],1)}),1)],1)],1),_c('div',{staticClass:\"hidden-md-and-up\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-spacer'),_c('div',{staticClass:\"hidden-md-and-up justify-end\"},[_c('v-btn',{on:{\"click\":function($event){$event.stopPropagation();_vm.drawer1 = !_vm.drawer1}}},[_c('v-icon',[_vm._v(_vm._s(_vm.dotsvertical))])],1)],1)],1)],1),_c('v-navigation-drawer',{attrs:{\"right\":\"\",\"fixed\":\"\",\"temporary\":\"\"},model:{value:(_vm.drawer1),callback:function ($$v) {_vm.drawer1=$$v},expression:\"drawer1\"}},[_c('v-list',{attrs:{\"dense\":\"\",\"nav\":\"\"}},_vm._l((_vm.SubMenuItems),function(item){return _c('v-list-item',{key:item.DocumentHearingId,attrs:{\"link\":\"\",\"to\":'/Budget/Documents/' + item.DocumentHearingId}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-wrap\"},[_vm._v(_vm._s(item.Description))])],1)],1)}),1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <div class=\"d-print-none\">\r\n        <v-card class=\"hidden-sm-and-down\">\r\n            <v-navigation-drawer floating\r\n                                 permanent\r\n                                 class=\"hidden-sm-and-down\">\r\n\r\n                <v-skeleton-loader class=\"mx-auto hidden-sm-and-down\" v-if=\"loadingMenu\"\r\n                                   max-width=\"256\"\r\n                                   type=\"list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item\"></v-skeleton-loader>\r\n\r\n                <v-list dense\r\n                        nav>\r\n\r\n                    <v-list-item v-for=\"item in SubMenuItems\"\r\n                                 :key=\"item.DocumentHearingId\"\r\n                                 link\r\n                                 :to=\"'/Budget/Documents/' + item.DocumentHearingId\">\r\n                        <v-list-item-content>\r\n                            <v-list-item-title class=\"text-wrap\">{{ item.Description }}</v-list-item-title>\r\n                        </v-list-item-content>\r\n                    </v-list-item>\r\n                </v-list>\r\n            </v-navigation-drawer>\r\n        </v-card>\r\n        <div class=\"hidden-md-and-up\">\r\n            <v-row>\r\n                <v-col cols=\"12\">\r\n                    <v-spacer></v-spacer>\r\n                    <div class=\"hidden-md-and-up justify-end\">\r\n                        <v-btn @click.stop=\"drawer1 = !drawer1\">\r\n                            <v-icon>{{dotsvertical}}</v-icon>\r\n                        </v-btn>\r\n                    </div>\r\n                </v-col>\r\n            </v-row>\r\n            <v-navigation-drawer v-model=\"drawer1\"\r\n                                 right\r\n                                 fixed\r\n                                 temporary>\r\n                <v-list dense\r\n                        nav>\r\n\r\n                    <v-list-item v-for=\"item in SubMenuItems\"\r\n                                 :key=\"item.DocumentHearingId\"\r\n                                 link\r\n                                 :to=\"'/Budget/Documents/' + item.DocumentHearingId\">\r\n                        <v-list-item-content>\r\n                            <v-list-item-title class=\"text-wrap\">{{ item.Description }}</v-list-item-title>\r\n                        </v-list-item-content>\r\n                    </v-list-item>\r\n                </v-list>\r\n            </v-navigation-drawer>\r\n        </div>\r\n    </div>\r\n</template>\r\n<script>\r\n    import { mdiDotsVertical } from '@mdi/js';\r\n    export default {\r\n        name: 'BudgetAgencyList',\r\n        props: ['SessionId'],\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                this.loadingMenu = true;\r\n                fetch('/api/DocumentHearings/HasDocuments?SessionIds=' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loadingMenu = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.SubMenuItems = EncodeDatetimes(response);\r\n                    this.loadingMenu = false;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                dotsvertical: mdiDotsVertical,\r\n                drawer1: false,\r\n                loadingMenu: true,\r\n                SubMenuItems: [\r\n\r\n                ],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            currentRoute: function () {\r\n                return this.$route.path;\r\n            },\r\n\r\n        },\r\n        watch: {\r\n            SessionId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./BudgetAgencyList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./BudgetAgencyList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BudgetAgencyList.vue?vue&type=template&id=56c1c1de&\"\nimport script from \"./BudgetAgencyList.vue?vue&type=script&lang=js&\"\nexport * from \"./BudgetAgencyList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VCol } 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 { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCol,VIcon,VList,VListItem,VListItemContent,VListItemTitle,VNavigationDrawer,VRow,VSkeletonLoader,VSpacer})\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-avatar{align-items:center;border-radius:50%;display:inline-flex;justify-content:center;line-height:normal;position:relative;text-align:center;vertical-align:middle;overflow:hidden}.v-avatar .v-icon,.v-avatar .v-image,.v-avatar .v-responsive__content,.v-avatar img,.v-avatar svg{border-radius:inherit;display:inline-flex;height:inherit;width:inherit}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import Vue from 'vue';\nimport VProgressLinear from '../../components/VProgressLinear';\n/**\n * Loadable\n *\n * @mixin\n *\n * Used to add linear progress bar to components\n * Can use a default bar with a specific color\n * or designate a custom progress linear bar\n */\n\n/* @vue/component */\n\nexport default Vue.extend().extend({\n  name: 'loadable',\n  props: {\n    loading: {\n      type: [Boolean, String],\n      default: false\n    },\n    loaderHeight: {\n      type: [Number, String],\n      default: 2\n    }\n  },\n  methods: {\n    genProgress() {\n      if (this.loading === false) return null;\n      return this.$slots.progress || this.$createElement(VProgressLinear, {\n        props: {\n          absolute: true,\n          color: this.loading === true || this.loading === '' ? this.color || 'primary' : this.loading,\n          height: this.loaderHeight,\n          indeterminate: true\n        }\n      });\n    }\n\n  }\n});\n//# sourceMappingURL=index.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\"Legislators Who Held Constitutional Offices\")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"MemberId + Year\",\"sort-by\":['LastName', 'FirstName'],\"sort-desc\":[false, false],\"loading\":_vm.loading,\"items-per-page\":999,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Historical/Legislator/Profile/' + item.MemberId}},[_vm._v(_vm._s(item.LastName + \", \" + item.FirstName))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">Legislators Who Held Constitutional Offices</div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"items\"\r\n                                 item-key=\"MemberId + Year\"\r\n                                 :sort-by=\"['LastName', 'FirstName']\"\r\n                                 :sort-desc=\"[false, false]\"\r\n                                 :loading=\"loading\"\r\n                                 :items-per-page=\"999\"\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.Name=\"{ item }\">\r\n                    <router-link :to=\"'/Historical/Legislator/Profile/' + item.MemberId\">{{item.LastName + \",&nbsp;\" + item.FirstName }}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Constitutional',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                fetch('/api/Historical/Office/2', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    if (res.ok)\r\n                        return res.json();\r\n                    else\r\n                        throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    if (response)\r\n                    {\r\n                        let r = EncodeDatetimes(response);\r\n\r\n                        r.forEach(x =>\r\n                        {\r\n                            x.Name = x.LastName + ', ' + x.FirstName;\r\n                        });\r\n\r\n                        this.items = r;\r\n                    }\r\n                    \r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                }).finally(_ =>\r\n                {\r\n                    this.loading = false;\r\n                });\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                search: '',\r\n                loading: true,\r\n                items: [],\r\n                headers: [\r\n                    { text: 'Name', value: 'Name' },\r\n                    { text: 'Address', value: 'Address' },\r\n                    { text: 'Office', value: 'Office' },\r\n                    { text: 'Years', value: 'Year' },\r\n                    { text: 'Remarks', value: 'Comment' },\r\n                ],\r\n\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Constitutional.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Constitutional.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Constitutional.vue?vue&type=template&id=3f797e3f&\"\nimport script from \"./Constitutional.vue?vue&type=script&lang=js&\"\nexport * from \"./Constitutional.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","import Routable from '../../mixins/routable';\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Routable).extend({\n  name: 'v-breadcrumbs-item',\n  props: {\n    // In a breadcrumb, the currently\n    // active item should be dimmed\n    activeClass: {\n      type: String,\n      default: 'v-breadcrumbs__item--disabled'\n    },\n    ripple: {\n      type: [Boolean, Object],\n      default: false\n    }\n  },\n  computed: {\n    classes() {\n      return {\n        'v-breadcrumbs__item': true,\n        [this.activeClass]: this.disabled\n      };\n    }\n\n  },\n\n  render(h) {\n    const {\n      tag,\n      data\n    } = this.generateRouteLink();\n    return h('li', [h(tag, { ...data,\n      attrs: { ...data.attrs,\n        'aria-current': this.isActive && this.isLink ? 'page' : undefined\n      }\n    }, this.$slots.default)]);\n  }\n\n});\n//# sourceMappingURL=VBreadcrumbsItem.js.map","import { createSimpleFunctional } from '../../util/helpers';\nexport default createSimpleFunctional('v-breadcrumbs__divider', 'li');\n//# sourceMappingURL=VBreadcrumbsDivider.js.map","// Styles\nimport \"../../../src/components/VBreadcrumbs/VBreadcrumbs.sass\"; // Components\n\nimport VBreadcrumbsItem from './VBreadcrumbsItem';\nimport VBreadcrumbsDivider from './VBreadcrumbsDivider'; // Mixins\n\nimport Themeable from '../../mixins/themeable'; // Utils\n\nimport mixins from '../../util/mixins';\nexport default mixins(Themeable\n/* @vue/component */\n).extend({\n  name: 'v-breadcrumbs',\n  props: {\n    divider: {\n      type: String,\n      default: '/'\n    },\n    items: {\n      type: Array,\n      default: () => []\n    },\n    large: Boolean\n  },\n  computed: {\n    classes() {\n      return {\n        'v-breadcrumbs--large': this.large,\n        ...this.themeClasses\n      };\n    }\n\n  },\n  methods: {\n    genDivider() {\n      return this.$createElement(VBreadcrumbsDivider, this.$slots.divider ? this.$slots.divider : this.divider);\n    },\n\n    genItems() {\n      const items = [];\n      const hasSlot = !!this.$scopedSlots.item;\n      const keys = [];\n\n      for (let i = 0; i < this.items.length; i++) {\n        const item = this.items[i];\n        keys.push(item.text);\n        if (hasSlot) items.push(this.$scopedSlots.item({\n          item\n        }));else items.push(this.$createElement(VBreadcrumbsItem, {\n          key: keys.join('.'),\n          props: item\n        }, [item.text]));\n        if (i < this.items.length - 1) items.push(this.genDivider());\n      }\n\n      return items;\n    }\n\n  },\n\n  render(h) {\n    const children = this.$slots.default || this.genItems();\n    return h('ul', {\n      staticClass: 'v-breadcrumbs',\n      class: this.classes\n    }, children);\n  }\n\n});\n//# sourceMappingURL=VBreadcrumbs.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0 .d-print-block\"},[_c('v-col',{staticClass:\"d-print-none\",attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}})],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.Session && _vm.Session.Year)?_c('div',[_vm._v(\" \"+_vm._s(_vm.Session.YearString)+\" Bills \")]):_vm._e(),_c('v-container',{staticClass:\"width:80%; d-print-none\"},[_c('v-layout',{staticStyle:{\"text-align\":\"center\"},attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('v-card',{staticClass:\"py-2\",attrs:{\"outlined\":\"\",\"tile\":\"\",\"xs12\":\"\"},on:{\"click\":function($event){return _vm.filter('All')}}},[_c('div',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(\" All \")])])],1)],1)],1),_c('v-layout',{staticStyle:{\"text-align\":\"center\"},attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',_vm._l((_vm.HouseBillTypes),function(i){return _c('v-card',{key:i.BillType,staticClass:\"pa-2\",attrs:{\"outlined\":\"\",\"tile\":\"\",\"xs12\":\"\"},on:{\"click\":function($event){return _vm.filter(i.BillType)}}},[_c('v-flex',[_vm._v(\" \"+_vm._s(i.LongBillType)+\" \")])],1)}),1),_c('v-col',_vm._l((_vm.SenateBillTypes),function(i){return _c('v-card',{key:i.BillType,staticClass:\"pa-2\",attrs:{\"outlined\":\"\",\"tile\":\"\",\"xs12\":\"\"},on:{\"click\":function($event){return _vm.filter(i.BillType)}}},[_c('v-flex',[_vm._v(\" \"+_vm._s(i.LongBillType)+\" \")])],1)}),1)],1)],1)],1),(_vm.error)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-alert',{attrs:{\"type\":\"error\"}},[_vm._v(\" \"+_vm._s(_vm.error)+\" - An error occurred; please try again later. \")])],1)],1):_vm._e(),_c('v-text-field',{attrs:{\"label\":\"Filter\",\"single-line\":\"\",\"hide-details\":\"\",\"py-4\":\"\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(_vm._s(_vm.searchIcon))])]},proxy:true}]),model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('div',{ref:\"target\",attrs:{\"id\":\"toTable\"}}),_c('FilterableDataTable',{staticClass:\"elevation-1 d-print-table\",attrs:{\"headers\":_vm.headers,\"items\":_vm.filterBills,\"search\":_vm.search,\"item-key\":\"BillId\",\"group-by\":\"BillType\",\"dense\":false,\"multi-sort\":\"\",\"ShowDownloadCSV\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"group.header\",fn:function(ref){\nvar items = ref.items;\nvar isOpen = ref.isOpen;\nvar toggle = ref.toggle;\nvar group = ref.group;\nvar groupby = ref.groupby;\nreturn [_c('td',{staticClass:\"d-print-table-cell\",attrs:{\"colspan\":\"2\"}},[_vm._v(\" Bill Type: \"+_vm._s(_vm.LongBillName(group))+\" \"),(isOpen)?_c('v-icon',{on:{\"click\":toggle}},[_vm._v(_vm._s(_vm.minus))]):_c('v-icon',{on:{\"click\":toggle}},[_vm._v(_vm._s(_vm.plus))])],1)]}},{key:\"item.Combined\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType + ' ' + item.BillNumberOnly))])]}},{key:\"item.Title\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"hidden-sm-and-up d-print-none\"},[_c('span',{staticClass:\"d-inline-block text-truncate\",staticStyle:{\"max-width\":\"270px\"}},[_vm._v(\" \"+_vm._s(item.Title)+\" \")])]),_c('div',{staticClass:\"hidden-xs-only\"},[_vm._v(\" \"+_vm._s(item.Title)+\" \")])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0 .d-print-block\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\" class=\"d-print-none\">\r\n            <Sidebar :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div v-if=\"Session && Session.Year\">\r\n                {{Session.YearString}} Bills\r\n            </div>\r\n            <v-container class=\"width:80%; d-print-none\">\r\n                <v-layout row wrap style=\"text-align:center\">\r\n                    <v-row no-gutters>\r\n                        <v-col>\r\n                            <v-card class=\"py-2\"\r\n                                    outlined\r\n                                    tile\r\n                                    xs12\r\n                                    @click=\"filter('All')\">\r\n                                <div style=\"text-align:center\">\r\n                                    All\r\n                                </div>\r\n                            </v-card>\r\n                        </v-col>\r\n                    </v-row>\r\n                </v-layout>\r\n                <v-layout row wrap style=\"text-align:center\">\r\n                    <v-row no-gutters>\r\n                        <v-col>\r\n                            <v-card class=\"pa-2\"\r\n                                    outlined\r\n                                    v-for=\"i in HouseBillTypes\" :key=\"i.BillType\"\r\n                                    tile\r\n                                    xs12\r\n                                    @click=\"filter(i.BillType)\">\r\n                                <v-flex>\r\n                                    {{i.LongBillType}}\r\n                                </v-flex>\r\n                            </v-card>\r\n                        </v-col>\r\n                        <v-col>\r\n                            <v-card class=\"pa-2\"\r\n                                    outlined\r\n                                    v-for=\"i in SenateBillTypes\" :key=\"i.BillType\"\r\n                                    tile\r\n                                    xs12\r\n                                    @click=\"filter(i.BillType)\">\r\n                                <v-flex>\r\n                                    {{i.LongBillType}}\r\n                                </v-flex>\r\n                            </v-card>\r\n\r\n                        </v-col>\r\n                    </v-row>\r\n                </v-layout>\r\n            </v-container>\r\n            <v-row v-if=\"error\">\r\n                <v-col cols=\"12\">\r\n                    <v-alert type=\"error\">\r\n                        {{error}} - An error occurred; please try again later.\r\n                    </v-alert>\r\n                </v-col>\r\n            </v-row>\r\n            <v-text-field v-model=\"search\"\r\n                          label=\"Filter\"\r\n                          single-line\r\n                          hide-details py-4>\r\n                <template v-slot:append>\r\n                    <v-icon>{{searchIcon}}</v-icon>\r\n                </template>\r\n            </v-text-field>\r\n            <div id=\"toTable\" ref=\"target\"></div>\r\n\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"filterBills\"\r\n                                 :search=\"search\"\r\n                                 item-key=\"BillId\"\r\n                                 group-by=\"BillType\"\r\n                                 :dense=\"false\"\r\n                                 multi-sort\r\n                                 ShowDownloadCSV\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 :loading=\"loading\"\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1 d-print-table\">\r\n                <template v-slot:group.header=\"{items, isOpen, toggle, group, groupby}\">\r\n                    <td colspan=\"2\" class=\"d-print-table-cell\">\r\n                        Bill Type: {{LongBillName(group)}}\r\n                        <v-icon v-if=\"isOpen\" @click=\"toggle\">{{minus}}</v-icon>\r\n                        <v-icon v-else @click=\"toggle\">{{plus}}</v-icon>\r\n                    </td>\r\n                </template>\r\n                <template v-slot:item.Combined=\"{ item }\">\r\n                    <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType + '&nbsp;' + item.BillNumberOnly}}</router-link>\r\n                </template>\r\n\r\n                <template v-slot:item.Title=\"{ item }\">\r\n                    <div class=\"hidden-sm-and-up d-print-none\">\r\n                        <span class=\"d-inline-block text-truncate\"\r\n                              style=\"max-width: 270px;\">\r\n                            {{item.Title}}\r\n                        </span>\r\n                    </div>\r\n                    <div class=\"hidden-xs-only\">\r\n                        {{item.Title}}\r\n                    </div>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    import { mdiPlus } from '@mdi/js';\r\n    import { mdiMinus } from '@mdi/js';\r\n    import { mdiMagnify } from '@mdi/js';\r\n\r\n    export default {\r\n        name: 'Bills',\r\n        props: ['SessionId'],\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                this.loading = true;\r\n                this.error = null;\r\n                fetch('/api/Sessions/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.ok) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Session = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n\r\n                fetch('/api/Bills/Session/Light/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.ok) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        this.error = res.status;\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    var mapped = EncodeDatetimes(response);\r\n                    mapped.map(x => {\r\n                        x.Combined = x.BillType + ' ' + x.BillNumberOnly;\r\n                        return x;\r\n                    })\r\n                    this.Bills = mapped;\r\n                    this.filterBills = mapped;\r\n                    var uniqueBillTypes = [...new Set(mapped.map(item => item.BillType))];\r\n                    this.SenateBillTypes = this.SenateBillTypes.filter(x => uniqueBillTypes.includes(x.BillType) == true);\r\n                    this.HouseBillTypes = this.HouseBillTypes.filter(x => uniqueBillTypes.includes(x.BillType) == true);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n\r\n                fetch('/api/BillNumbers/BillTypes', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.BillTypes = EncodeDatetimes(response);\r\n                    if (!this.SenateBillTypes || this.SenateBillTypes.length === 0) {\r\n                        this.SenateBillTypes = this.BillTypes.filter(x => x.BillType.includes('S') == true);\r\n                        if (this.Bills && this.Bills.length > 0) {\r\n                            var uniqueBillTypes = [...new Set(this.Bills.map(item => item.BillType))];\r\n                            this.SenateBillTypes = this.SenateBillTypes.filter(x => uniqueBillTypes.includes(x.BillType) == true);\r\n                        }\r\n                    }\r\n                    if (!this.HouseBillTypes || this.HouseBillTypes.length === 0) {\r\n                        this.HouseBillTypes = this.BillTypes.filter(x => x.BillType.includes('H') == true);\r\n                        if (this.Bills && this.Bills.length > 0) {\r\n                            var uniqueBillTypes = [...new Set(this.Bills.map(item => item.BillType))];\r\n                            this.HouseBillTypes = this.HouseBillTypes.filter(x => uniqueBillTypes.includes(x.BillType) == true);\r\n                        }\r\n                    }\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            LongBillName(short) {\r\n                if (this.BillTypes && this.BillTypes.length > 0 && this.BillTypes.find(x => x.BillType == short)) {\r\n                    return this.BillTypes.find(x => x.BillType == short).LongBillType || '';\r\n                }\r\n                else {\r\n                    return short;\r\n                }\r\n            },\r\n            filter(billType) {\r\n                if (billType == 'All') {\r\n                    this.filterBills = this.Bills;\r\n                } else {\r\n                    this.filterBills = this.Bills.filter(x => x.BillType == billType);\r\n                }\r\n                this.toTable();\r\n            },\r\n            toTable: function () {\r\n                var elmnt = document.getElementById(\"toTable\");\r\n                elmnt.scrollIntoView();\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                error: null,\r\n                plus: mdiPlus,\r\n                minus: mdiMinus,\r\n                searchIcon: mdiMagnify,\r\n                uniqueBillTypes: [],\r\n                loading: true,\r\n                search: '',\r\n                loading: false,\r\n                BillTypes: [],\r\n                SenateBillTypes: [],\r\n                HouseBillTypes: [],\r\n                headers: [\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'start',\r\n                        value: 'Combined',\r\n                        width: '20ch'\r\n                    },\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'Title',\r\n                        width: '*'\r\n                    },\r\n                ],\r\n                Bills: [\r\n                ],\r\n                filterBills: [],\r\n                Session: {},\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            SessionId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Loading Bills...';\r\n                if (this.Session && this.Session.Year) {\r\n                    title = this.Session.Year + \" Bills\";\r\n                }\r\n                else {\r\n                    title = 'Bills';\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Bills.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Bills.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Bills.vue?vue&type=template&id=64b19e72&\"\nimport script from \"./Bills.vue?vue&type=script&lang=js&\"\nexport * from \"./Bills.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAlert,VCard,VCol,VContainer,VFlex,VIcon,VLayout,VRow,VTextField})\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VAutocomplete.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"62fa332a\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('div',{staticClass:\"headline text-center\"},[_vm._v(\" Budget Resources \")]),_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.currentRoute.includes('GOACDocuments'))?_c('BudgetReportCard'):(_vm.currentRoute.includes('GeneralFundReversions'))?_c('BudgetReportCard'):(_vm.currentRoute.includes('PersonalServiceDocuments'))?_c('BudgetReportCard'):(_vm.currentRoute.includes('LettersOfIntent'))?_c('LettersOfIntent'):(_vm.currentRoute.includes('BFMReports'))?_c('BudgetReportCard'):_c('div',[_c('v-alert',{attrs:{\"type\":\"info\"}},[_vm._v(\"Please select a report in the menu\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <div class=\"headline text-center\">\r\n                Budget Resources\r\n            </div>\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <BudgetReportCard v-if=\"currentRoute.includes('GOACDocuments')\"></BudgetReportCard>\r\n            <BudgetReportCard v-else-if=\"currentRoute.includes('GeneralFundReversions')\"></BudgetReportCard>\r\n            <BudgetReportCard v-else-if=\"currentRoute.includes('PersonalServiceDocuments')\"></BudgetReportCard>\r\n            <LettersOfIntent v-else-if=\"currentRoute.includes('LettersOfIntent')\"></LettersOfIntent>\r\n            <BudgetReportCard v-else-if=\"currentRoute.includes('BFMReports')\"></BudgetReportCard>\r\n            <div v-else>\r\n                <v-alert type=\"info\">Please select a report in the menu</v-alert>\r\n            </div>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n\r\n    const BudgetReportCard = () => import(\"@/Components/BudgetReportCard.vue\");\r\n    const LettersOfIntent = () => import(\"@/Budget/LettersOfIntent.vue\");\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    export default {\r\n        name: 'BudgetResources',\r\n        components: {\r\n            BudgetReportCard, Sidebar, LettersOfIntent\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let SubRouteName = 'Budget Resources';\r\n                if (this.currentRoute.includes('GOACDocuments')) {\r\n                    SubRouteName = 'Government Operations and Audit Documents '\r\n                }\r\n                else if (this.currentRoute.includes('GeneralFundReversions')) {\r\n                    SubRouteName = 'General Fund Reversions '\r\n                }\r\n                else if (this.currentRoute.includes('PersonalServiceDocuments')) {\r\n                    SubRouteName = 'Personal Services Documents '\r\n                }\r\n                else if (this.currentRoute.includes('LettersOfIntent')) {\r\n                    SubRouteName = 'Letters of Intent & Associated Documents'\r\n                }\r\n                else if (this.currentRoute.includes('BFMReports')) {\r\n                    SubRouteName = 'Bureau of Finance & Management (BFM) Reports'\r\n                }\r\n                return SubRouteName;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            },\r\n            currentRoute: function () {\r\n                return this.$route.path;\r\n            },\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Resources.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Resources.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Resources.vue?vue&type=template&id=36346bf4&\"\nimport script from \"./Resources.vue?vue&type=script&lang=js&\"\nexport * from \"./Resources.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VRadio.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"75934c73\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Mixins\nimport Colorable from '../colorable'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { kebabCase } from '../../util/helpers';\n/* @vue/component */\n\nexport default mixins(Colorable).extend({\n  methods: {\n    genPickerButton(prop, value, content, readonly = false, staticClass = '') {\n      const active = this[prop] === value;\n\n      const click = event => {\n        event.stopPropagation();\n        this.$emit(`update:${kebabCase(prop)}`, value);\n      };\n\n      return this.$createElement('div', {\n        staticClass: `v-picker__title__btn ${staticClass}`.trim(),\n        class: {\n          'v-picker__title__btn--active': active,\n          'v-picker__title__btn--readonly': readonly\n        },\n        on: active || readonly ? undefined : {\n          click\n        }\n      }, Array.isArray(content) ? content : [content]);\n    }\n\n  }\n});\n//# sourceMappingURL=index.js.map","import \"../../../src/components/VDatePicker/VDatePickerTitle.sass\"; // Components\n\nimport VIcon from '../VIcon'; // Mixins\n\nimport PickerButton from '../../mixins/picker-button'; // Utils\n\nimport mixins from '../../util/mixins';\nexport default mixins(PickerButton\n/* @vue/component */\n).extend({\n  name: 'v-date-picker-title',\n  props: {\n    date: {\n      type: String,\n      default: ''\n    },\n    disabled: Boolean,\n    readonly: Boolean,\n    selectingYear: Boolean,\n    value: {\n      type: String\n    },\n    year: {\n      type: [Number, String],\n      default: ''\n    },\n    yearIcon: {\n      type: String\n    }\n  },\n  data: () => ({\n    isReversing: false\n  }),\n  computed: {\n    computedTransition() {\n      return this.isReversing ? 'picker-reverse-transition' : 'picker-transition';\n    }\n\n  },\n  watch: {\n    value(val, prev) {\n      this.isReversing = val < prev;\n    }\n\n  },\n  methods: {\n    genYearIcon() {\n      return this.$createElement(VIcon, {\n        props: {\n          dark: true\n        }\n      }, this.yearIcon);\n    },\n\n    getYearBtn() {\n      return this.genPickerButton('selectingYear', true, [String(this.year), this.yearIcon ? this.genYearIcon() : null], false, 'v-date-picker-title__year');\n    },\n\n    genTitleText() {\n      return this.$createElement('transition', {\n        props: {\n          name: this.computedTransition\n        }\n      }, [this.$createElement('div', {\n        domProps: {\n          innerHTML: this.date || '&nbsp;'\n        },\n        key: this.value\n      })]);\n    },\n\n    genTitleDate() {\n      return this.genPickerButton('selectingYear', false, [this.genTitleText()], false, 'v-date-picker-title__date');\n    }\n\n  },\n\n  render(h) {\n    return h('div', {\n      staticClass: 'v-date-picker-title',\n      class: {\n        'v-date-picker-title--disabled': this.disabled\n      }\n    }, [this.getYearBtn(), this.genTitleDate()]);\n  }\n\n});\n//# sourceMappingURL=VDatePickerTitle.js.map","import Vue from 'vue';\nexport default Vue.extend({\n  name: 'localable',\n  props: {\n    locale: String\n  },\n  computed: {\n    currentLocale() {\n      return this.locale || this.$vuetify.lang.current;\n    }\n\n  }\n});\n//# sourceMappingURL=index.js.map","const padStart = (string, targetLength, padString) => {\n  targetLength = targetLength >> 0;\n  string = String(string);\n  padString = String(padString);\n\n  if (string.length > targetLength) {\n    return String(string);\n  }\n\n  targetLength = targetLength - string.length;\n\n  if (targetLength > padString.length) {\n    padString += padString.repeat(targetLength / padString.length);\n  }\n\n  return padString.slice(0, targetLength) + String(string);\n};\n\nexport default ((n, length = 2) => padStart(n, length, '0'));\n//# sourceMappingURL=pad.js.map","import pad from './pad';\n\nfunction createNativeLocaleFormatter(locale, options, substrOptions = {\n  start: 0,\n  length: 0\n}) {\n  const makeIsoString = dateString => {\n    const [year, month, date] = dateString.trim().split(' ')[0].split('-');\n    return [pad(year, 4), pad(month || 1), pad(date || 1)].join('-');\n  };\n\n  try {\n    const intlFormatter = new Intl.DateTimeFormat(locale || undefined, options);\n    return dateString => intlFormatter.format(new Date(`${makeIsoString(dateString)}T00:00:00+00:00`));\n  } catch (e) {\n    return substrOptions.start || substrOptions.length ? dateString => makeIsoString(dateString).substr(substrOptions.start || 0, substrOptions.length) : undefined;\n  }\n}\n\nexport default createNativeLocaleFormatter;\n//# sourceMappingURL=createNativeLocaleFormatter.js.map","import pad from './pad';\n/**\n * @param {String} value YYYY-MM format\n * @param {Number} sign -1 or +1\n */\n\nexport default ((value, sign) => {\n  const [year, month] = value.split('-').map(Number);\n\n  if (month + sign === 0) {\n    return `${year - 1}-12`;\n  } else if (month + sign === 13) {\n    return `${year + 1}-01`;\n  } else {\n    return `${year}-${pad(month + sign)}`;\n  }\n});\n//# sourceMappingURL=monthChange.js.map","import \"../../../src/components/VDatePicker/VDatePickerHeader.sass\"; // Components\n\nimport VBtn from '../VBtn';\nimport VIcon from '../VIcon'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Localable from '../../mixins/localable';\nimport Themeable from '../../mixins/themeable'; // Utils\n\nimport { createNativeLocaleFormatter, monthChange } from './util';\nimport mixins from '../../util/mixins';\nexport default mixins(Colorable, Localable, Themeable\n/* @vue/component */\n).extend({\n  name: 'v-date-picker-header',\n  props: {\n    disabled: Boolean,\n    format: Function,\n    min: String,\n    max: String,\n    nextAriaLabel: String,\n    nextIcon: {\n      type: String,\n      default: '$next'\n    },\n    prevAriaLabel: String,\n    prevIcon: {\n      type: String,\n      default: '$prev'\n    },\n    readonly: Boolean,\n    value: {\n      type: [Number, String],\n      required: true\n    }\n  },\n\n  data() {\n    return {\n      isReversing: false\n    };\n  },\n\n  computed: {\n    formatter() {\n      if (this.format) {\n        return this.format;\n      } else if (String(this.value).split('-')[1]) {\n        return createNativeLocaleFormatter(this.currentLocale, {\n          month: 'long',\n          year: 'numeric',\n          timeZone: 'UTC'\n        }, {\n          length: 7\n        });\n      } else {\n        return createNativeLocaleFormatter(this.currentLocale, {\n          year: 'numeric',\n          timeZone: 'UTC'\n        }, {\n          length: 4\n        });\n      }\n    }\n\n  },\n  watch: {\n    value(newVal, oldVal) {\n      this.isReversing = newVal < oldVal;\n    }\n\n  },\n  methods: {\n    genBtn(change) {\n      const ariaLabelId = change > 0 ? this.nextAriaLabel : this.prevAriaLabel;\n      const ariaLabel = ariaLabelId ? this.$vuetify.lang.t(ariaLabelId) : undefined;\n      const disabled = this.disabled || change < 0 && this.min && this.calculateChange(change) < this.min || change > 0 && this.max && this.calculateChange(change) > this.max;\n      return this.$createElement(VBtn, {\n        attrs: {\n          'aria-label': ariaLabel\n        },\n        props: {\n          dark: this.dark,\n          disabled,\n          icon: true,\n          light: this.light\n        },\n        on: {\n          click: e => {\n            e.stopPropagation();\n            this.$emit('input', this.calculateChange(change));\n          }\n        }\n      }, [this.$createElement(VIcon, change < 0 === !this.$vuetify.rtl ? this.prevIcon : this.nextIcon)]);\n    },\n\n    calculateChange(sign) {\n      const [year, month] = String(this.value).split('-').map(Number);\n\n      if (month == null) {\n        return `${year + sign}`;\n      } else {\n        return monthChange(String(this.value), sign);\n      }\n    },\n\n    genHeader() {\n      const color = !this.disabled && (this.color || 'accent');\n      const header = this.$createElement('div', this.setTextColor(color, {\n        key: String(this.value)\n      }), [this.$createElement('button', {\n        attrs: {\n          type: 'button'\n        },\n        on: {\n          click: () => this.$emit('toggle')\n        }\n      }, [this.$slots.default || this.formatter(String(this.value))])]);\n      const transition = this.$createElement('transition', {\n        props: {\n          name: this.isReversing === !this.$vuetify.rtl ? 'tab-reverse-transition' : 'tab-transition'\n        }\n      }, [header]);\n      return this.$createElement('div', {\n        staticClass: 'v-date-picker-header__value',\n        class: {\n          'v-date-picker-header__value--disabled': this.disabled\n        }\n      }, [transition]);\n    }\n\n  },\n\n  render() {\n    return this.$createElement('div', {\n      staticClass: 'v-date-picker-header',\n      class: {\n        'v-date-picker-header--disabled': this.disabled,\n        ...this.themeClasses\n      }\n    }, [this.genBtn(-1), this.genHeader(), this.genBtn(+1)]);\n  }\n\n});\n//# sourceMappingURL=VDatePickerHeader.js.map","export function createItemTypeNativeListeners(instance, itemTypeSuffix, value) {\n  return Object.keys(instance.$listeners).reduce((on, eventName) => {\n    if (eventName.endsWith(itemTypeSuffix)) {\n      on[eventName.slice(0, -itemTypeSuffix.length)] = event => instance.$emit(eventName, value, event);\n    }\n\n    return on;\n  }, {});\n}\nexport function createItemTypeListeners(instance, itemTypeSuffix) {\n  return Object.keys(instance.$listeners).reduce((on, eventName) => {\n    if (eventName.endsWith(itemTypeSuffix)) {\n      on[eventName] = instance.$listeners[eventName];\n    }\n\n    return on;\n  }, {});\n}\n//# sourceMappingURL=eventHelpers.js.map","// Adds leading zero to month/day if necessary, returns 'YYYY' if type = 'year',\n// 'YYYY-MM' if 'month' and 'YYYY-MM-DD' if 'date'\nimport pad from './pad';\nexport default ((dateString, type) => {\n  const [year, month = 1, date = 1] = dateString.split('-');\n  return `${year}-${pad(month)}-${pad(date)}`.substr(0, {\n    date: 10,\n    month: 7,\n    year: 4\n  }[type]);\n});\n//# sourceMappingURL=sanitizeDateString.js.map","export default function isDateAllowed(date, min, max, allowedFn) {\n  return (!allowedFn || allowedFn(date)) && (!min || date >= min.substr(0, 10)) && (!max || date <= max);\n}\n//# sourceMappingURL=isDateAllowed.js.map","import \"../../../../src/components/VDatePicker/VDatePickerTable.sass\"; // Directives\n\nimport Touch from '../../../directives/touch'; // Mixins\n\nimport Colorable from '../../../mixins/colorable';\nimport Localable from '../../../mixins/localable';\nimport Themeable from '../../../mixins/themeable'; // Utils\n\nimport { createItemTypeNativeListeners, sanitizeDateString } from '../util';\nimport isDateAllowed from '../util/isDateAllowed';\nimport { mergeListeners } from '../../../util/mergeData';\nimport mixins from '../../../util/mixins';\nimport { throttle } from '../../../util/helpers';\nexport default mixins(Colorable, Localable, Themeable\n/* @vue/component */\n).extend({\n  directives: {\n    Touch\n  },\n  props: {\n    allowedDates: Function,\n    current: String,\n    disabled: Boolean,\n    format: Function,\n    events: {\n      type: [Array, Function, Object],\n      default: () => null\n    },\n    eventColor: {\n      type: [Array, Function, Object, String],\n      default: () => 'warning'\n    },\n    min: String,\n    max: String,\n    range: Boolean,\n    readonly: Boolean,\n    scrollable: Boolean,\n    tableDate: {\n      type: String,\n      required: true\n    },\n    value: [String, Array]\n  },\n  data: () => ({\n    isReversing: false,\n    wheelThrottle: null\n  }),\n  computed: {\n    computedTransition() {\n      return this.isReversing === !this.$vuetify.rtl ? 'tab-reverse-transition' : 'tab-transition';\n    },\n\n    displayedMonth() {\n      return Number(this.tableDate.split('-')[1]) - 1;\n    },\n\n    displayedYear() {\n      return Number(this.tableDate.split('-')[0]);\n    }\n\n  },\n  watch: {\n    tableDate(newVal, oldVal) {\n      this.isReversing = newVal < oldVal;\n    }\n\n  },\n\n  mounted() {\n    this.wheelThrottle = throttle(this.wheel, 250);\n  },\n\n  methods: {\n    genButtonClasses(isAllowed, isFloating, isSelected, isCurrent, isFirst, isLast) {\n      return {\n        'v-size--default': !isFloating,\n        'v-date-picker-table__current': isCurrent,\n        'v-btn--active': isSelected,\n        'v-btn--flat': !isAllowed || this.disabled,\n        'v-btn--text': isSelected === isCurrent,\n        'v-btn--rounded': isFloating,\n        'v-btn--disabled': !isAllowed || this.disabled,\n        'v-btn--outlined': isCurrent && !isSelected,\n        'v-date-picker--first-in-range': isFirst,\n        'v-date-picker--last-in-range': isLast,\n        ...this.themeClasses\n      };\n    },\n\n    genButtonEvents(value, isAllowed, mouseEventType) {\n      if (this.disabled) return undefined;\n      return mergeListeners({\n        click: () => {\n          if (isAllowed && !this.readonly) this.$emit('input', value);\n        }\n      }, createItemTypeNativeListeners(this, `:${mouseEventType}`, value));\n    },\n\n    genButton(value, isFloating, mouseEventType, formatter, isOtherMonth = false) {\n      const isAllowed = isDateAllowed(value, this.min, this.max, this.allowedDates);\n      const isSelected = this.isSelected(value) && isAllowed;\n      const isCurrent = value === this.current;\n      const setColor = isSelected ? this.setBackgroundColor : this.setTextColor;\n      const color = (isSelected || isCurrent) && (this.color || 'accent');\n      let isFirst = false;\n      let isLast = false;\n\n      if (this.range && !!this.value && Array.isArray(this.value)) {\n        isFirst = value === this.value[0];\n        isLast = value === this.value[this.value.length - 1];\n      }\n\n      return this.$createElement('button', setColor(color, {\n        staticClass: 'v-btn',\n        class: this.genButtonClasses(isAllowed && !isOtherMonth, isFloating, isSelected, isCurrent, isFirst, isLast),\n        attrs: {\n          type: 'button'\n        },\n        domProps: {\n          disabled: this.disabled || !isAllowed || isOtherMonth\n        },\n        on: this.genButtonEvents(value, isAllowed, mouseEventType)\n      }), [this.$createElement('div', {\n        staticClass: 'v-btn__content'\n      }, [formatter(value)]), this.genEvents(value)]);\n    },\n\n    getEventColors(date) {\n      const arrayize = v => Array.isArray(v) ? v : [v];\n\n      let eventData;\n      let eventColors = [];\n\n      if (Array.isArray(this.events)) {\n        eventData = this.events.includes(date);\n      } else if (this.events instanceof Function) {\n        eventData = this.events(date) || false;\n      } else if (this.events) {\n        eventData = this.events[date] || false;\n      } else {\n        eventData = false;\n      }\n\n      if (!eventData) {\n        return [];\n      } else if (eventData !== true) {\n        eventColors = arrayize(eventData);\n      } else if (typeof this.eventColor === 'string') {\n        eventColors = [this.eventColor];\n      } else if (typeof this.eventColor === 'function') {\n        eventColors = arrayize(this.eventColor(date));\n      } else if (Array.isArray(this.eventColor)) {\n        eventColors = this.eventColor;\n      } else {\n        eventColors = arrayize(this.eventColor[date]);\n      }\n\n      return eventColors.filter(v => v);\n    },\n\n    genEvents(date) {\n      const eventColors = this.getEventColors(date);\n      return eventColors.length ? this.$createElement('div', {\n        staticClass: 'v-date-picker-table__events'\n      }, eventColors.map(color => this.$createElement('div', this.setBackgroundColor(color)))) : null;\n    },\n\n    isValidScroll(value, calculateTableDate) {\n      const tableDate = calculateTableDate(value); // tableDate is 'YYYY-MM' for DateTable and 'YYYY' for MonthTable\n\n      const sanitizeType = tableDate.split('-').length === 1 ? 'year' : 'month';\n      return value < 0 && (this.min ? tableDate >= sanitizeDateString(this.min, sanitizeType) : true) || value > 0 && (this.max ? tableDate <= sanitizeDateString(this.max, sanitizeType) : true);\n    },\n\n    wheel(e, calculateTableDate) {\n      this.$emit('update:table-date', calculateTableDate(e.deltaY));\n    },\n\n    touch(value, calculateTableDate) {\n      this.$emit('update:table-date', calculateTableDate(value));\n    },\n\n    genTable(staticClass, children, calculateTableDate) {\n      const transition = this.$createElement('transition', {\n        props: {\n          name: this.computedTransition\n        }\n      }, [this.$createElement('table', {\n        key: this.tableDate\n      }, children)]);\n      const touchDirective = {\n        name: 'touch',\n        value: {\n          left: e => e.offsetX < -15 && this.isValidScroll(1, calculateTableDate) && this.touch(1, calculateTableDate),\n          right: e => e.offsetX > 15 && this.isValidScroll(-1, calculateTableDate) && this.touch(-1, calculateTableDate)\n        }\n      };\n      return this.$createElement('div', {\n        staticClass,\n        class: {\n          'v-date-picker-table--disabled': this.disabled,\n          ...this.themeClasses\n        },\n        on: !this.disabled && this.scrollable ? {\n          wheel: e => {\n            e.preventDefault();\n\n            if (this.isValidScroll(e.deltaY, calculateTableDate)) {\n              this.wheelThrottle(e, calculateTableDate);\n            }\n          }\n        } : undefined,\n        directives: [touchDirective]\n      }, [transition]);\n    },\n\n    isSelected(value) {\n      if (Array.isArray(this.value)) {\n        if (this.range && this.value.length === 2) {\n          const [from, to] = [...this.value].sort();\n          return from <= value && value <= to;\n        } else {\n          return this.value.indexOf(value) !== -1;\n        }\n      }\n\n      return value === this.value;\n    }\n\n  }\n});\n//# sourceMappingURL=date-picker-table.js.map","function createUTCDate(year, month = 0, day = 1) {\n  let date;\n\n  if (year < 100 && year >= 0) {\n    date = new Date(Date.UTC(year, month, day));\n\n    if (isFinite(date.getUTCFullYear())) {\n      date.setUTCFullYear(year);\n    }\n  } else {\n    date = new Date(Date.UTC(year, month, day));\n  }\n\n  return date;\n}\n\nfunction firstWeekOffset(year, firstDayOfWeek, firstDayOfYear) {\n  const firstWeekDayInFirstWeek = 7 + firstDayOfWeek - firstDayOfYear;\n  const firstWeekDayOfYear = (7 + createUTCDate(year, 0, firstWeekDayInFirstWeek).getUTCDay() - firstDayOfWeek) % 7;\n  return -firstWeekDayOfYear + firstWeekDayInFirstWeek - 1;\n}\n\nfunction dayOfYear(year, month, day, firstDayOfWeek) {\n  let dayOfYear = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334][month];\n\n  if (month > 1 && isLeapYear(year)) {\n    dayOfYear++;\n  }\n\n  return dayOfYear + day;\n}\n\nfunction weeksInYear(year, firstDayOfWeek, firstDayOfYear) {\n  const weekOffset = firstWeekOffset(year, firstDayOfWeek, firstDayOfYear);\n  const weekOffsetNext = firstWeekOffset(year + 1, firstDayOfWeek, firstDayOfYear);\n  const daysInYear = isLeapYear(year) ? 366 : 365;\n  return (daysInYear - weekOffset + weekOffsetNext) / 7;\n}\n\nexport function weekNumber(year, month, day, firstDayOfWeek, localeFirstDayOfYear) {\n  const weekOffset = firstWeekOffset(year, firstDayOfWeek, localeFirstDayOfYear);\n  const week = Math.ceil((dayOfYear(year, month, day, firstDayOfWeek) - weekOffset) / 7);\n\n  if (week < 1) {\n    return week + weeksInYear(year - 1, firstDayOfWeek, localeFirstDayOfYear);\n  } else if (week > weeksInYear(year, firstDayOfWeek, localeFirstDayOfYear)) {\n    return week - weeksInYear(year, firstDayOfWeek, localeFirstDayOfYear);\n  } else {\n    return week;\n  }\n}\nexport function isLeapYear(year) {\n  return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n}\n//# sourceMappingURL=dateTimeUtils.js.map","// Mixins\nimport DatePickerTable from './mixins/date-picker-table'; // Utils\n\nimport { weekNumber } from '../../util/dateTimeUtils';\nimport { pad, createNativeLocaleFormatter, monthChange } from './util';\nimport { createRange } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nexport default mixins(DatePickerTable\n/* @vue/component */\n).extend({\n  name: 'v-date-picker-date-table',\n  props: {\n    firstDayOfWeek: {\n      type: [String, Number],\n      default: 0\n    },\n    localeFirstDayOfYear: {\n      type: [String, Number],\n      default: 0\n    },\n    showAdjacentMonths: Boolean,\n    showWeek: Boolean,\n    weekdayFormat: Function\n  },\n  computed: {\n    formatter() {\n      return this.format || createNativeLocaleFormatter(this.currentLocale, {\n        day: 'numeric',\n        timeZone: 'UTC'\n      }, {\n        start: 8,\n        length: 2\n      });\n    },\n\n    weekdayFormatter() {\n      return this.weekdayFormat || createNativeLocaleFormatter(this.currentLocale, {\n        weekday: 'narrow',\n        timeZone: 'UTC'\n      });\n    },\n\n    weekDays() {\n      const first = parseInt(this.firstDayOfWeek, 10);\n      return this.weekdayFormatter ? createRange(7).map(i => this.weekdayFormatter(`2017-01-${first + i + 15}`)) // 2017-01-15 is Sunday\n      : createRange(7).map(i => ['S', 'M', 'T', 'W', 'T', 'F', 'S'][(i + first) % 7]);\n    }\n\n  },\n  methods: {\n    calculateTableDate(delta) {\n      return monthChange(this.tableDate, Math.sign(delta || 1));\n    },\n\n    genTHead() {\n      const days = this.weekDays.map(day => this.$createElement('th', day));\n\n      if (this.showWeek) {\n        days.unshift(this.$createElement('th'));\n      }\n\n      return this.$createElement('thead', this.genTR(days));\n    },\n\n    // Returns number of the days from the firstDayOfWeek to the first day of the current month\n    weekDaysBeforeFirstDayOfTheMonth() {\n      const firstDayOfTheMonth = new Date(`${this.displayedYear}-${pad(this.displayedMonth + 1)}-01T00:00:00+00:00`);\n      const weekDay = firstDayOfTheMonth.getUTCDay();\n      return (weekDay - parseInt(this.firstDayOfWeek) + 7) % 7;\n    },\n\n    getWeekNumber(dayInMonth) {\n      return weekNumber(this.displayedYear, this.displayedMonth, dayInMonth, parseInt(this.firstDayOfWeek), parseInt(this.localeFirstDayOfYear));\n    },\n\n    genWeekNumber(weekNumber) {\n      return this.$createElement('td', [this.$createElement('small', {\n        staticClass: 'v-date-picker-table--date__week'\n      }, String(weekNumber).padStart(2, '0'))]);\n    },\n\n    // eslint-disable-next-line max-statements\n    genTBody() {\n      const children = [];\n      const daysInMonth = new Date(this.displayedYear, this.displayedMonth + 1, 0).getDate();\n      let rows = [];\n      let day = this.weekDaysBeforeFirstDayOfTheMonth();\n\n      if (this.showWeek) {\n        rows.push(this.genWeekNumber(this.getWeekNumber(1)));\n      }\n\n      const prevMonthYear = this.displayedMonth ? this.displayedYear : this.displayedYear - 1;\n      const prevMonth = (this.displayedMonth + 11) % 12;\n      const firstDayFromPreviousMonth = new Date(this.displayedYear, this.displayedMonth, 0).getDate();\n      const cellsInRow = this.showWeek ? 8 : 7;\n\n      while (day--) {\n        const date = `${prevMonthYear}-${pad(prevMonth + 1)}-${pad(firstDayFromPreviousMonth - day)}`;\n        rows.push(this.$createElement('td', this.showAdjacentMonths ? [this.genButton(date, true, 'date', this.formatter, true)] : []));\n      }\n\n      for (day = 1; day <= daysInMonth; day++) {\n        const date = `${this.displayedYear}-${pad(this.displayedMonth + 1)}-${pad(day)}`;\n        rows.push(this.$createElement('td', [this.genButton(date, true, 'date', this.formatter)]));\n\n        if (rows.length % cellsInRow === 0) {\n          children.push(this.genTR(rows));\n          rows = [];\n\n          if (this.showWeek && (day < daysInMonth || this.showAdjacentMonths)) {\n            rows.push(this.genWeekNumber(this.getWeekNumber(day + 7)));\n          }\n        }\n      }\n\n      const nextMonthYear = this.displayedMonth === 11 ? this.displayedYear + 1 : this.displayedYear;\n      const nextMonth = (this.displayedMonth + 1) % 12;\n      let nextMonthDay = 1;\n\n      while (rows.length < cellsInRow) {\n        const date = `${nextMonthYear}-${pad(nextMonth + 1)}-${pad(nextMonthDay++)}`;\n        rows.push(this.$createElement('td', this.showAdjacentMonths ? [this.genButton(date, true, 'date', this.formatter, true)] : []));\n      }\n\n      if (rows.length) {\n        children.push(this.genTR(rows));\n      }\n\n      return this.$createElement('tbody', children);\n    },\n\n    genTR(children) {\n      return [this.$createElement('tr', children)];\n    }\n\n  },\n\n  render() {\n    return this.genTable('v-date-picker-table v-date-picker-table--date', [this.genTHead(), this.genTBody()], this.calculateTableDate);\n  }\n\n});\n//# sourceMappingURL=VDatePickerDateTable.js.map","// Mixins\nimport DatePickerTable from './mixins/date-picker-table'; // Utils\n\nimport { pad, createNativeLocaleFormatter } from './util';\nimport mixins from '../../util/mixins';\nexport default mixins(DatePickerTable\n/* @vue/component */\n).extend({\n  name: 'v-date-picker-month-table',\n  computed: {\n    formatter() {\n      return this.format || createNativeLocaleFormatter(this.currentLocale, {\n        month: 'short',\n        timeZone: 'UTC'\n      }, {\n        start: 5,\n        length: 2\n      });\n    }\n\n  },\n  methods: {\n    calculateTableDate(delta) {\n      return `${parseInt(this.tableDate, 10) + Math.sign(delta || 1)}`;\n    },\n\n    genTBody() {\n      const children = [];\n      const cols = Array(3).fill(null);\n      const rows = 12 / cols.length;\n\n      for (let row = 0; row < rows; row++) {\n        const tds = cols.map((_, col) => {\n          const month = row * cols.length + col;\n          const date = `${this.displayedYear}-${pad(month + 1)}`;\n          return this.$createElement('td', {\n            key: month\n          }, [this.genButton(date, false, 'month', this.formatter)]);\n        });\n        children.push(this.$createElement('tr', {\n          key: row\n        }, tds));\n      }\n\n      return this.$createElement('tbody', children);\n    }\n\n  },\n\n  render() {\n    return this.genTable('v-date-picker-table v-date-picker-table--month', [this.genTBody()], this.calculateTableDate);\n  }\n\n});\n//# sourceMappingURL=VDatePickerMonthTable.js.map","import \"../../../src/components/VDatePicker/VDatePickerYears.sass\"; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Localable from '../../mixins/localable'; // Utils\n\nimport { createItemTypeNativeListeners, createNativeLocaleFormatter } from './util';\nimport { mergeListeners } from '../../util/mergeData';\nimport mixins from '../../util/mixins';\nexport default mixins(Colorable, Localable\n/* @vue/component */\n).extend({\n  name: 'v-date-picker-years',\n  props: {\n    format: Function,\n    min: [Number, String],\n    max: [Number, String],\n    readonly: Boolean,\n    value: [Number, String]\n  },\n\n  data() {\n    return {\n      defaultColor: 'primary'\n    };\n  },\n\n  computed: {\n    formatter() {\n      return this.format || createNativeLocaleFormatter(this.currentLocale, {\n        year: 'numeric',\n        timeZone: 'UTC'\n      }, {\n        length: 4\n      });\n    }\n\n  },\n\n  mounted() {\n    setTimeout(() => {\n      const activeItem = this.$el.getElementsByClassName('active')[0];\n\n      if (activeItem) {\n        this.$el.scrollTop = activeItem.offsetTop - this.$el.offsetHeight / 2 + activeItem.offsetHeight / 2;\n      } else if (this.min && !this.max) {\n        this.$el.scrollTop = this.$el.scrollHeight;\n      } else if (!this.min && this.max) {\n        this.$el.scrollTop = 0;\n      } else {\n        this.$el.scrollTop = this.$el.scrollHeight / 2 - this.$el.offsetHeight / 2;\n      }\n    });\n  },\n\n  methods: {\n    genYearItem(year) {\n      const formatted = this.formatter(`${year}`);\n      const active = parseInt(this.value, 10) === year;\n      const color = active && (this.color || 'primary');\n      return this.$createElement('li', this.setTextColor(color, {\n        key: year,\n        class: {\n          active\n        },\n        on: mergeListeners({\n          click: () => this.$emit('input', year)\n        }, createItemTypeNativeListeners(this, ':year', year))\n      }), formatted);\n    },\n\n    genYearItems() {\n      const children = [];\n      const selectedYear = this.value ? parseInt(this.value, 10) : new Date().getFullYear();\n      const maxYear = this.max ? parseInt(this.max, 10) : selectedYear + 100;\n      const minYear = Math.min(maxYear, this.min ? parseInt(this.min, 10) : selectedYear - 100);\n\n      for (let year = maxYear; year >= minYear; year--) {\n        children.push(this.genYearItem(year));\n      }\n\n      return children;\n    }\n\n  },\n\n  render() {\n    return this.$createElement('ul', {\n      staticClass: 'v-date-picker-years',\n      ref: 'years'\n    }, this.genYearItems());\n  }\n\n});\n//# sourceMappingURL=VDatePickerYears.js.map","import \"../../../src/components/VPicker/VPicker.sass\";\nimport \"../../../src/components/VCard/VCard.sass\"; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Elevatable from '../../mixins/elevatable';\nimport Themeable from '../../mixins/themeable'; // Helpers\n\nimport { convertToUnit } from '../../util/helpers';\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Colorable, Elevatable, Themeable).extend({\n  name: 'v-picker',\n  props: {\n    flat: Boolean,\n    fullWidth: Boolean,\n    landscape: Boolean,\n    noTitle: Boolean,\n    transition: {\n      type: String,\n      default: 'fade-transition'\n    },\n    width: {\n      type: [Number, String],\n      default: 290\n    }\n  },\n  computed: {\n    computedTitleColor() {\n      const defaultTitleColor = this.isDark ? false : this.color || 'primary';\n      return this.color || defaultTitleColor;\n    }\n\n  },\n  methods: {\n    genTitle() {\n      return this.$createElement('div', this.setBackgroundColor(this.computedTitleColor, {\n        staticClass: 'v-picker__title',\n        class: {\n          'v-picker__title--landscape': this.landscape\n        }\n      }), this.$slots.title);\n    },\n\n    genBodyTransition() {\n      return this.$createElement('transition', {\n        props: {\n          name: this.transition\n        }\n      }, this.$slots.default);\n    },\n\n    genBody() {\n      return this.$createElement('div', {\n        staticClass: 'v-picker__body',\n        class: {\n          'v-picker__body--no-title': this.noTitle,\n          ...this.themeClasses\n        },\n        style: this.fullWidth ? undefined : {\n          width: convertToUnit(this.width)\n        }\n      }, [this.genBodyTransition()]);\n    },\n\n    genActions() {\n      return this.$createElement('div', {\n        staticClass: 'v-picker__actions v-card__actions',\n        class: {\n          'v-picker__actions--no-title': this.noTitle\n        }\n      }, this.$slots.actions);\n    }\n\n  },\n\n  render(h) {\n    return h('div', {\n      staticClass: 'v-picker v-card',\n      class: {\n        'v-picker--flat': this.flat,\n        'v-picker--landscape': this.landscape,\n        'v-picker--full-width': this.fullWidth,\n        ...this.themeClasses,\n        ...this.elevationClasses\n      }\n    }, [this.$slots.title ? this.genTitle() : null, this.genBody(), this.$slots.actions ? this.genActions() : null]);\n  }\n\n});\n//# sourceMappingURL=VPicker.js.map","import VPicker from './VPicker';\nexport { VPicker };\nexport default VPicker;\n//# sourceMappingURL=index.js.map","// Components\nimport VPicker from '../../components/VPicker'; // Mixins\n\nimport Colorable from '../colorable';\nimport Elevatable from '../../mixins/elevatable';\nimport Themeable from '../themeable'; // Utils\n\nimport mixins from '../../util/mixins';\nexport default mixins(Colorable, Elevatable, Themeable\n/* @vue/component */\n).extend({\n  name: 'picker',\n  props: {\n    flat: Boolean,\n    fullWidth: Boolean,\n    headerColor: String,\n    landscape: Boolean,\n    noTitle: Boolean,\n    width: {\n      type: [Number, String],\n      default: 290\n    }\n  },\n  methods: {\n    genPickerTitle() {\n      return null;\n    },\n\n    genPickerBody() {\n      return null;\n    },\n\n    genPickerActionsSlot() {\n      return this.$scopedSlots.default ? this.$scopedSlots.default({\n        save: this.save,\n        cancel: this.cancel\n      }) : this.$slots.default;\n    },\n\n    genPicker(staticClass) {\n      const children = [];\n\n      if (!this.noTitle) {\n        const title = this.genPickerTitle();\n        title && children.push(title);\n      }\n\n      const body = this.genPickerBody();\n      body && children.push(body);\n      children.push(this.$createElement('template', {\n        slot: 'actions'\n      }, [this.genPickerActionsSlot()]));\n      return this.$createElement(VPicker, {\n        staticClass,\n        props: {\n          color: this.headerColor || this.color,\n          dark: this.dark,\n          elevation: this.elevation,\n          flat: this.flat,\n          fullWidth: this.fullWidth,\n          landscape: this.landscape,\n          light: this.light,\n          width: this.width,\n          noTitle: this.noTitle\n        }\n      }, children);\n    }\n\n  }\n});\n//# sourceMappingURL=index.js.map","import { isLeapYear } from '../../../util/dateTimeUtils';\nexport const PARSE_REGEX = /^(\\d{4})-(\\d{1,2})(-(\\d{1,2}))?([^\\d]+(\\d{1,2}))?(:(\\d{1,2}))?(:(\\d{1,2}))?$/;\nexport const PARSE_TIME = /(\\d\\d?)(:(\\d\\d?)|)(:(\\d\\d?)|)/;\nexport const DAYS_IN_MONTH = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nexport const DAYS_IN_MONTH_LEAP = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nexport const DAYS_IN_MONTH_MIN = 28;\nexport const DAYS_IN_MONTH_MAX = 31;\nexport const MONTH_MAX = 12;\nexport const MONTH_MIN = 1;\nexport const DAY_MIN = 1;\nexport const DAYS_IN_WEEK = 7;\nexport const MINUTES_IN_HOUR = 60;\nexport const MINUTE_MAX = 59;\nexport const MINUTES_IN_DAY = 24 * 60;\nexport const HOURS_IN_DAY = 24;\nexport const HOUR_MAX = 23;\nexport const FIRST_HOUR = 0;\nexport const OFFSET_YEAR = 10000;\nexport const OFFSET_MONTH = 100;\nexport const OFFSET_HOUR = 100;\nexport const OFFSET_TIME = 10000;\nexport function getStartOfWeek(timestamp, weekdays, today) {\n  const start = copyTimestamp(timestamp);\n  findWeekday(start, weekdays[0], prevDay);\n  updateFormatted(start);\n\n  if (today) {\n    updateRelative(start, today, start.hasTime);\n  }\n\n  return start;\n}\nexport function getEndOfWeek(timestamp, weekdays, today) {\n  const end = copyTimestamp(timestamp);\n  findWeekday(end, weekdays[weekdays.length - 1]);\n  updateFormatted(end);\n\n  if (today) {\n    updateRelative(end, today, end.hasTime);\n  }\n\n  return end;\n}\nexport function getStartOfMonth(timestamp) {\n  const start = copyTimestamp(timestamp);\n  start.day = DAY_MIN;\n  updateWeekday(start);\n  updateFormatted(start);\n  return start;\n}\nexport function getEndOfMonth(timestamp) {\n  const end = copyTimestamp(timestamp);\n  end.day = daysInMonth(end.year, end.month);\n  updateWeekday(end);\n  updateFormatted(end);\n  return end;\n}\nexport function validateTime(input) {\n  return typeof input === 'number' && isFinite(input) || !!PARSE_TIME.exec(input) || typeof input === 'object' && isFinite(input.hour) && isFinite(input.minute);\n}\nexport function parseTime(input) {\n  if (typeof input === 'number') {\n    // when a number is given, it's minutes since 12:00am\n    return input;\n  } else if (typeof input === 'string') {\n    // when a string is given, it's a hh:mm:ss format where seconds are optional\n    const parts = PARSE_TIME.exec(input);\n\n    if (!parts) {\n      return false;\n    }\n\n    return parseInt(parts[1]) * 60 + parseInt(parts[3] || 0);\n  } else if (typeof input === 'object') {\n    // when an object is given, it must have hour and minute\n    if (typeof input.hour !== 'number' || typeof input.minute !== 'number') {\n      return false;\n    }\n\n    return input.hour * 60 + input.minute;\n  } else {\n    // unsupported type\n    return false;\n  }\n}\nexport function validateTimestamp(input) {\n  return typeof input === 'number' && isFinite(input) || typeof input === 'string' && !!PARSE_REGEX.exec(input) || input instanceof Date;\n}\nexport function parseTimestamp(input, required = false, now) {\n  if (typeof input === 'number' && isFinite(input)) {\n    input = new Date(input);\n  }\n\n  if (input instanceof Date) {\n    const date = parseDate(input);\n\n    if (now) {\n      updateRelative(date, now, date.hasTime);\n    }\n\n    return date;\n  }\n\n  if (typeof input !== 'string') {\n    if (required) {\n      throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`);\n    }\n\n    return null;\n  } // YYYY-MM-DD hh:mm:ss\n\n\n  const parts = PARSE_REGEX.exec(input);\n\n  if (!parts) {\n    if (required) {\n      throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`);\n    }\n\n    return null;\n  }\n\n  const timestamp = {\n    date: input,\n    time: '',\n    year: parseInt(parts[1]),\n    month: parseInt(parts[2]),\n    day: parseInt(parts[4]) || 1,\n    hour: parseInt(parts[6]) || 0,\n    minute: parseInt(parts[8]) || 0,\n    weekday: 0,\n    hasDay: !!parts[4],\n    hasTime: !!(parts[6] && parts[8]),\n    past: false,\n    present: false,\n    future: false\n  };\n  updateWeekday(timestamp);\n  updateFormatted(timestamp);\n\n  if (now) {\n    updateRelative(timestamp, now, timestamp.hasTime);\n  }\n\n  return timestamp;\n}\nexport function parseDate(date) {\n  return updateFormatted({\n    date: '',\n    time: '',\n    year: date.getFullYear(),\n    month: date.getMonth() + 1,\n    day: date.getDate(),\n    weekday: date.getDay(),\n    hour: date.getHours(),\n    minute: date.getMinutes(),\n    hasDay: true,\n    hasTime: true,\n    past: false,\n    present: true,\n    future: false\n  });\n}\nexport function getDayIdentifier(timestamp) {\n  return timestamp.year * OFFSET_YEAR + timestamp.month * OFFSET_MONTH + timestamp.day;\n}\nexport function getTimeIdentifier(timestamp) {\n  return timestamp.hour * OFFSET_HOUR + timestamp.minute;\n}\nexport function getTimestampIdentifier(timestamp) {\n  return getDayIdentifier(timestamp) * OFFSET_TIME + getTimeIdentifier(timestamp);\n}\nexport function updateRelative(timestamp, now, time = false) {\n  let a = getDayIdentifier(now);\n  let b = getDayIdentifier(timestamp);\n  let present = a === b;\n\n  if (timestamp.hasTime && time && present) {\n    a = getTimeIdentifier(now);\n    b = getTimeIdentifier(timestamp);\n    present = a === b;\n  }\n\n  timestamp.past = b < a;\n  timestamp.present = present;\n  timestamp.future = b > a;\n  return timestamp;\n}\nexport function isTimedless(input) {\n  return input instanceof Date || typeof input === 'number' && isFinite(input);\n}\nexport function updateHasTime(timestamp, hasTime, now) {\n  if (timestamp.hasTime !== hasTime) {\n    timestamp.hasTime = hasTime;\n\n    if (!hasTime) {\n      timestamp.hour = HOUR_MAX;\n      timestamp.minute = MINUTE_MAX;\n      timestamp.time = getTime(timestamp);\n    }\n\n    if (now) {\n      updateRelative(timestamp, now, timestamp.hasTime);\n    }\n  }\n\n  return timestamp;\n}\nexport function updateMinutes(timestamp, minutes, now) {\n  timestamp.hasTime = true;\n  timestamp.hour = Math.floor(minutes / MINUTES_IN_HOUR);\n  timestamp.minute = minutes % MINUTES_IN_HOUR;\n  timestamp.time = getTime(timestamp);\n\n  if (now) {\n    updateRelative(timestamp, now, true);\n  }\n\n  return timestamp;\n}\nexport function updateWeekday(timestamp) {\n  timestamp.weekday = getWeekday(timestamp);\n  return timestamp;\n}\nexport function updateFormatted(timestamp) {\n  timestamp.time = getTime(timestamp);\n  timestamp.date = getDate(timestamp);\n  return timestamp;\n}\nexport function getWeekday(timestamp) {\n  if (timestamp.hasDay) {\n    const _ = Math.floor;\n    const k = timestamp.day;\n    const m = (timestamp.month + 9) % MONTH_MAX + 1;\n\n    const C = _(timestamp.year / 100);\n\n    const Y = timestamp.year % 100 - (timestamp.month <= 2 ? 1 : 0);\n    return ((k + _(2.6 * m - 0.2) - 2 * C + Y + _(Y / 4) + _(C / 4)) % 7 + 7) % 7;\n  }\n\n  return timestamp.weekday;\n}\nexport function daysInMonth(year, month) {\n  return isLeapYear(year) ? DAYS_IN_MONTH_LEAP[month] : DAYS_IN_MONTH[month];\n}\nexport function copyTimestamp(timestamp) {\n  const {\n    date,\n    time,\n    year,\n    month,\n    day,\n    weekday,\n    hour,\n    minute,\n    hasDay,\n    hasTime,\n    past,\n    present,\n    future\n  } = timestamp;\n  return {\n    date,\n    time,\n    year,\n    month,\n    day,\n    weekday,\n    hour,\n    minute,\n    hasDay,\n    hasTime,\n    past,\n    present,\n    future\n  };\n}\nexport function padNumber(x, length) {\n  let padded = String(x);\n\n  while (padded.length < length) {\n    padded = '0' + padded;\n  }\n\n  return padded;\n}\nexport function getDate(timestamp) {\n  let str = `${padNumber(timestamp.year, 4)}-${padNumber(timestamp.month, 2)}`;\n  if (timestamp.hasDay) str += `-${padNumber(timestamp.day, 2)}`;\n  return str;\n}\nexport function getTime(timestamp) {\n  if (!timestamp.hasTime) {\n    return '';\n  }\n\n  return `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`;\n}\nexport function nextMinutes(timestamp, minutes) {\n  timestamp.minute += minutes;\n\n  while (timestamp.minute > MINUTES_IN_HOUR) {\n    timestamp.minute -= MINUTES_IN_HOUR;\n    timestamp.hour++;\n\n    if (timestamp.hour >= HOURS_IN_DAY) {\n      nextDay(timestamp);\n      timestamp.hour = FIRST_HOUR;\n    }\n  }\n\n  return timestamp;\n}\nexport function nextDay(timestamp) {\n  timestamp.day++;\n  timestamp.weekday = (timestamp.weekday + 1) % DAYS_IN_WEEK;\n\n  if (timestamp.day > DAYS_IN_MONTH_MIN && timestamp.day > daysInMonth(timestamp.year, timestamp.month)) {\n    timestamp.day = DAY_MIN;\n    timestamp.month++;\n\n    if (timestamp.month > MONTH_MAX) {\n      timestamp.month = MONTH_MIN;\n      timestamp.year++;\n    }\n  }\n\n  return timestamp;\n}\nexport function prevDay(timestamp) {\n  timestamp.day--;\n  timestamp.weekday = (timestamp.weekday + 6) % DAYS_IN_WEEK;\n\n  if (timestamp.day < DAY_MIN) {\n    timestamp.month--;\n\n    if (timestamp.month < MONTH_MIN) {\n      timestamp.year--;\n      timestamp.month = MONTH_MAX;\n    }\n\n    timestamp.day = daysInMonth(timestamp.year, timestamp.month);\n  }\n\n  return timestamp;\n}\nexport function relativeDays(timestamp, mover = nextDay, days = 1) {\n  while (--days >= 0) mover(timestamp);\n\n  return timestamp;\n}\nexport function diffMinutes(min, max) {\n  const Y = (max.year - min.year) * 525600;\n  const M = (max.month - min.month) * 43800;\n  const D = (max.day - min.day) * 1440;\n  const h = (max.hour - min.hour) * 60;\n  const m = max.minute - min.minute;\n  return Y + M + D + h + m;\n}\nexport function findWeekday(timestamp, weekday, mover = nextDay, maxDays = 6) {\n  while (timestamp.weekday !== weekday && --maxDays >= 0) mover(timestamp);\n\n  return timestamp;\n}\nexport function getWeekdaySkips(weekdays) {\n  const skips = [1, 1, 1, 1, 1, 1, 1];\n  const filled = [0, 0, 0, 0, 0, 0, 0];\n\n  for (let i = 0; i < weekdays.length; i++) {\n    filled[weekdays[i]] = 1;\n  }\n\n  for (let k = 0; k < DAYS_IN_WEEK; k++) {\n    let skip = 1;\n\n    for (let j = 1; j < DAYS_IN_WEEK; j++) {\n      const next = (k + j) % DAYS_IN_WEEK;\n\n      if (filled[next]) {\n        break;\n      }\n\n      skip++;\n    }\n\n    skips[k] = filled[k] * skip;\n  }\n\n  return skips;\n}\nexport function timestampToDate(timestamp) {\n  const time = `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`;\n  const date = timestamp.date;\n  return new Date(`${date}T${time}:00+00:00`);\n}\nexport function createDayList(start, end, now, weekdaySkips, max = 42, min = 0) {\n  const stop = getDayIdentifier(end);\n  const days = [];\n  let current = copyTimestamp(start);\n  let currentIdentifier = 0;\n  let stopped = currentIdentifier === stop;\n\n  if (stop < getDayIdentifier(start)) {\n    throw new Error('End date is earlier than start date.');\n  }\n\n  while ((!stopped || days.length < min) && days.length < max) {\n    currentIdentifier = getDayIdentifier(current);\n    stopped = stopped || currentIdentifier === stop;\n\n    if (weekdaySkips[current.weekday] === 0) {\n      current = nextDay(current);\n      continue;\n    }\n\n    const day = copyTimestamp(current);\n    updateFormatted(day);\n    updateRelative(day, now);\n    days.push(day);\n    current = relativeDays(current, nextDay, weekdaySkips[current.weekday]);\n  }\n\n  if (!days.length) throw new Error('No dates found using specified start date, end date, and weekdays.');\n  return days;\n}\nexport function createIntervalList(timestamp, first, minutes, count, now) {\n  const intervals = [];\n\n  for (let i = 0; i < count; i++) {\n    const mins = first + i * minutes;\n    const int = copyTimestamp(timestamp);\n    intervals.push(updateMinutes(int, mins, now));\n  }\n\n  return intervals;\n}\nexport function createNativeLocaleFormatter(locale, getOptions) {\n  const emptyFormatter = (_t, _s) => '';\n\n  if (typeof Intl === 'undefined' || typeof Intl.DateTimeFormat === 'undefined') {\n    return emptyFormatter;\n  }\n\n  return (timestamp, short) => {\n    try {\n      const intlFormatter = new Intl.DateTimeFormat(locale || undefined, getOptions(timestamp, short));\n      return intlFormatter.format(timestampToDate(timestamp));\n    } catch (e) {\n      return '';\n    }\n  };\n}\n//# sourceMappingURL=timestamp.js.map","// Components\nimport VDatePickerTitle from './VDatePickerTitle';\nimport VDatePickerHeader from './VDatePickerHeader';\nimport VDatePickerDateTable from './VDatePickerDateTable';\nimport VDatePickerMonthTable from './VDatePickerMonthTable';\nimport VDatePickerYears from './VDatePickerYears'; // Mixins\n\nimport Localable from '../../mixins/localable';\nimport Picker from '../../mixins/picker'; // Utils\n\nimport isDateAllowed from './util/isDateAllowed';\nimport mixins from '../../util/mixins';\nimport { wrapInArray } from '../../util/helpers';\nimport { daysInMonth } from '../VCalendar/util/timestamp';\nimport { consoleWarn } from '../../util/console';\nimport { createItemTypeListeners, createNativeLocaleFormatter, pad, sanitizeDateString } from './util';\nexport default mixins(Localable, Picker).extend({\n  name: 'v-date-picker',\n  props: {\n    activePicker: String,\n    allowedDates: Function,\n    // Function formatting the day in date picker table\n    dayFormat: Function,\n    disabled: Boolean,\n    events: {\n      type: [Array, Function, Object],\n      default: () => null\n    },\n    eventColor: {\n      type: [Array, Function, Object, String],\n      default: () => 'warning'\n    },\n    firstDayOfWeek: {\n      type: [String, Number],\n      default: 0\n    },\n    // Function formatting the tableDate in the day/month table header\n    headerDateFormat: Function,\n    localeFirstDayOfYear: {\n      type: [String, Number],\n      default: 0\n    },\n    max: String,\n    min: String,\n    // Function formatting month in the months table\n    monthFormat: Function,\n    multiple: Boolean,\n    nextIcon: {\n      type: String,\n      default: '$next'\n    },\n    nextMonthAriaLabel: {\n      type: String,\n      default: '$vuetify.datePicker.nextMonthAriaLabel'\n    },\n    nextYearAriaLabel: {\n      type: String,\n      default: '$vuetify.datePicker.nextYearAriaLabel'\n    },\n    pickerDate: String,\n    prevIcon: {\n      type: String,\n      default: '$prev'\n    },\n    prevMonthAriaLabel: {\n      type: String,\n      default: '$vuetify.datePicker.prevMonthAriaLabel'\n    },\n    prevYearAriaLabel: {\n      type: String,\n      default: '$vuetify.datePicker.prevYearAriaLabel'\n    },\n    range: Boolean,\n    reactive: Boolean,\n    readonly: Boolean,\n    scrollable: Boolean,\n    showCurrent: {\n      type: [Boolean, String],\n      default: true\n    },\n    selectedItemsText: {\n      type: String,\n      default: '$vuetify.datePicker.itemsSelected'\n    },\n    showAdjacentMonths: Boolean,\n    showWeek: Boolean,\n    // Function formatting currently selected date in the picker title\n    titleDateFormat: Function,\n    type: {\n      type: String,\n      default: 'date',\n      validator: type => ['date', 'month'].includes(type) // TODO: year\n\n    },\n    value: [Array, String],\n    weekdayFormat: Function,\n    // Function formatting the year in table header and pickup title\n    yearFormat: Function,\n    yearIcon: String\n  },\n\n  data() {\n    const now = new Date();\n    return {\n      internalActivePicker: this.type.toUpperCase(),\n      inputDay: null,\n      inputMonth: null,\n      inputYear: null,\n      isReversing: false,\n      now,\n      // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)\n      tableDate: (() => {\n        if (this.pickerDate) {\n          return this.pickerDate;\n        }\n\n        const multipleValue = wrapInArray(this.value);\n        const date = multipleValue[multipleValue.length - 1] || (typeof this.showCurrent === 'string' ? this.showCurrent : `${now.getFullYear()}-${now.getMonth() + 1}`);\n        return sanitizeDateString(date, this.type === 'date' ? 'month' : 'year');\n      })()\n    };\n  },\n\n  computed: {\n    multipleValue() {\n      return wrapInArray(this.value);\n    },\n\n    isMultiple() {\n      return this.multiple || this.range;\n    },\n\n    lastValue() {\n      return this.isMultiple ? this.multipleValue[this.multipleValue.length - 1] : this.value;\n    },\n\n    selectedMonths() {\n      if (!this.value || this.type === 'month') {\n        return this.value;\n      } else if (this.isMultiple) {\n        return this.multipleValue.map(val => val.substr(0, 7));\n      } else {\n        return this.value.substr(0, 7);\n      }\n    },\n\n    current() {\n      if (this.showCurrent === true) {\n        return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type);\n      }\n\n      return this.showCurrent || null;\n    },\n\n    inputDate() {\n      return this.type === 'date' ? `${this.inputYear}-${pad(this.inputMonth + 1)}-${pad(this.inputDay)}` : `${this.inputYear}-${pad(this.inputMonth + 1)}`;\n    },\n\n    tableMonth() {\n      return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1;\n    },\n\n    tableYear() {\n      return Number((this.pickerDate || this.tableDate).split('-')[0]);\n    },\n\n    minMonth() {\n      return this.min ? sanitizeDateString(this.min, 'month') : null;\n    },\n\n    maxMonth() {\n      return this.max ? sanitizeDateString(this.max, 'month') : null;\n    },\n\n    minYear() {\n      return this.min ? sanitizeDateString(this.min, 'year') : null;\n    },\n\n    maxYear() {\n      return this.max ? sanitizeDateString(this.max, 'year') : null;\n    },\n\n    formatters() {\n      return {\n        year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, {\n          year: 'numeric',\n          timeZone: 'UTC'\n        }, {\n          length: 4\n        }),\n        titleDate: this.titleDateFormat || (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter)\n      };\n    },\n\n    defaultTitleMultipleDateFormatter() {\n      return dates => {\n        if (!dates.length) {\n          return '-';\n        }\n\n        if (dates.length === 1) {\n          return this.defaultTitleDateFormatter(dates[0]);\n        }\n\n        return this.$vuetify.lang.t(this.selectedItemsText, dates.length);\n      };\n    },\n\n    defaultTitleDateFormatter() {\n      const titleFormats = {\n        year: {\n          year: 'numeric',\n          timeZone: 'UTC'\n        },\n        month: {\n          month: 'long',\n          timeZone: 'UTC'\n        },\n        date: {\n          weekday: 'short',\n          month: 'short',\n          day: 'numeric',\n          timeZone: 'UTC'\n        }\n      };\n      const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n        start: 0,\n        length: {\n          date: 10,\n          month: 7,\n          year: 4\n        }[this.type]\n      });\n\n      const landscapeFormatter = date => titleDateFormatter(date).replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`).replace(', ', ',<br>');\n\n      return this.landscape ? landscapeFormatter : titleDateFormatter;\n    }\n\n  },\n  watch: {\n    internalActivePicker: {\n      immediate: true,\n\n      handler(val) {\n        this.$emit('update:active-picker', val);\n      }\n\n    },\n\n    activePicker(val) {\n      this.internalActivePicker = val;\n    },\n\n    tableDate(val, prev) {\n      // Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly\n      // compare for example '2000-9' and '2000-10'\n      const sanitizeType = this.type === 'month' ? 'year' : 'month';\n      this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType);\n      this.$emit('update:picker-date', val);\n    },\n\n    pickerDate(val) {\n      if (val) {\n        this.tableDate = val;\n      } else if (this.lastValue && this.type === 'date') {\n        this.tableDate = sanitizeDateString(this.lastValue, 'month');\n      } else if (this.lastValue && this.type === 'month') {\n        this.tableDate = sanitizeDateString(this.lastValue, 'year');\n      }\n    },\n\n    value(newValue, oldValue) {\n      this.checkMultipleProp();\n      this.setInputDate();\n\n      if (!this.isMultiple && this.value && !this.pickerDate || this.isMultiple && this.multipleValue.length && (!oldValue || !oldValue.length) && !this.pickerDate) {\n        this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month');\n      }\n    },\n\n    type(type) {\n      this.internalActivePicker = type.toUpperCase();\n\n      if (this.value && this.value.length) {\n        const output = this.multipleValue.map(val => sanitizeDateString(val, type)).filter(this.isDateAllowed);\n        this.$emit('input', this.isMultiple ? output : output[0]);\n      }\n    }\n\n  },\n\n  created() {\n    this.checkMultipleProp();\n\n    if (this.pickerDate !== this.tableDate) {\n      this.$emit('update:picker-date', this.tableDate);\n    }\n\n    this.setInputDate();\n  },\n\n  methods: {\n    emitInput(newInput) {\n      if (this.range) {\n        if (this.multipleValue.length !== 1) {\n          this.$emit('input', [newInput]);\n        } else {\n          const output = [this.multipleValue[0], newInput];\n          this.$emit('input', output);\n          this.$emit('change', output);\n        }\n\n        return;\n      }\n\n      const output = this.multiple ? this.multipleValue.indexOf(newInput) === -1 ? this.multipleValue.concat([newInput]) : this.multipleValue.filter(x => x !== newInput) : newInput;\n      this.$emit('input', output);\n      this.multiple || this.$emit('change', newInput);\n    },\n\n    checkMultipleProp() {\n      if (this.value == null) return;\n      const valueType = this.value.constructor.name;\n      const expected = this.isMultiple ? 'Array' : 'String';\n\n      if (valueType !== expected) {\n        consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this);\n      }\n    },\n\n    isDateAllowed(value) {\n      return isDateAllowed(value, this.min, this.max, this.allowedDates);\n    },\n\n    yearClick(value) {\n      this.inputYear = value;\n\n      if (this.type === 'month') {\n        this.tableDate = `${value}`;\n      } else {\n        this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`;\n      }\n\n      this.internalActivePicker = 'MONTH';\n\n      if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n        this.$emit('input', this.inputDate);\n      }\n    },\n\n    monthClick(value) {\n      const [year, month] = value.split('-');\n      this.inputYear = parseInt(year, 10);\n      this.inputMonth = parseInt(month, 10) - 1;\n\n      if (this.type === 'date') {\n        if (this.inputDay) {\n          this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1));\n        }\n\n        this.tableDate = value;\n        this.internalActivePicker = 'DATE';\n\n        if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n          this.$emit('input', this.inputDate);\n        }\n      } else {\n        this.emitInput(this.inputDate);\n      }\n    },\n\n    dateClick(value) {\n      const [year, month, day] = value.split('-');\n      this.inputYear = parseInt(year, 10);\n      this.inputMonth = parseInt(month, 10) - 1;\n      this.inputDay = parseInt(day, 10);\n      this.emitInput(this.inputDate);\n    },\n\n    genPickerTitle() {\n      return this.$createElement(VDatePickerTitle, {\n        props: {\n          date: this.value ? this.formatters.titleDate(this.isMultiple ? this.multipleValue : this.value) : '',\n          disabled: this.disabled,\n          readonly: this.readonly,\n          selectingYear: this.internalActivePicker === 'YEAR',\n          year: this.formatters.year(this.multipleValue.length ? `${this.inputYear}` : this.tableDate),\n          yearIcon: this.yearIcon,\n          value: this.multipleValue[0]\n        },\n        slot: 'title',\n        on: {\n          'update:selecting-year': value => this.internalActivePicker = value ? 'YEAR' : this.type.toUpperCase()\n        }\n      });\n    },\n\n    genTableHeader() {\n      return this.$createElement(VDatePickerHeader, {\n        props: {\n          nextIcon: this.nextIcon,\n          color: this.color,\n          dark: this.dark,\n          disabled: this.disabled,\n          format: this.headerDateFormat,\n          light: this.light,\n          locale: this.locale,\n          min: this.internalActivePicker === 'DATE' ? this.minMonth : this.minYear,\n          max: this.internalActivePicker === 'DATE' ? this.maxMonth : this.maxYear,\n          nextAriaLabel: this.internalActivePicker === 'DATE' ? this.nextMonthAriaLabel : this.nextYearAriaLabel,\n          prevAriaLabel: this.internalActivePicker === 'DATE' ? this.prevMonthAriaLabel : this.prevYearAriaLabel,\n          prevIcon: this.prevIcon,\n          readonly: this.readonly,\n          value: this.internalActivePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`\n        },\n        on: {\n          toggle: () => this.internalActivePicker = this.internalActivePicker === 'DATE' ? 'MONTH' : 'YEAR',\n          input: value => this.tableDate = value\n        }\n      });\n    },\n\n    genDateTable() {\n      return this.$createElement(VDatePickerDateTable, {\n        props: {\n          allowedDates: this.allowedDates,\n          color: this.color,\n          current: this.current,\n          dark: this.dark,\n          disabled: this.disabled,\n          events: this.events,\n          eventColor: this.eventColor,\n          firstDayOfWeek: this.firstDayOfWeek,\n          format: this.dayFormat,\n          light: this.light,\n          locale: this.locale,\n          localeFirstDayOfYear: this.localeFirstDayOfYear,\n          min: this.min,\n          max: this.max,\n          range: this.range,\n          readonly: this.readonly,\n          scrollable: this.scrollable,\n          showAdjacentMonths: this.showAdjacentMonths,\n          showWeek: this.showWeek,\n          tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,\n          value: this.value,\n          weekdayFormat: this.weekdayFormat\n        },\n        ref: 'table',\n        on: {\n          input: this.dateClick,\n          'update:table-date': value => this.tableDate = value,\n          ...createItemTypeListeners(this, ':date')\n        }\n      });\n    },\n\n    genMonthTable() {\n      return this.$createElement(VDatePickerMonthTable, {\n        props: {\n          allowedDates: this.type === 'month' ? this.allowedDates : null,\n          color: this.color,\n          current: this.current ? sanitizeDateString(this.current, 'month') : null,\n          dark: this.dark,\n          disabled: this.disabled,\n          events: this.type === 'month' ? this.events : null,\n          eventColor: this.type === 'month' ? this.eventColor : null,\n          format: this.monthFormat,\n          light: this.light,\n          locale: this.locale,\n          min: this.minMonth,\n          max: this.maxMonth,\n          range: this.range,\n          readonly: this.readonly && this.type === 'month',\n          scrollable: this.scrollable,\n          value: this.selectedMonths,\n          tableDate: `${pad(this.tableYear, 4)}`\n        },\n        ref: 'table',\n        on: {\n          input: this.monthClick,\n          'update:table-date': value => this.tableDate = value,\n          ...createItemTypeListeners(this, ':month')\n        }\n      });\n    },\n\n    genYears() {\n      return this.$createElement(VDatePickerYears, {\n        props: {\n          color: this.color,\n          format: this.yearFormat,\n          locale: this.locale,\n          min: this.minYear,\n          max: this.maxYear,\n          value: this.tableYear\n        },\n        on: {\n          input: this.yearClick,\n          ...createItemTypeListeners(this, ':year')\n        }\n      });\n    },\n\n    genPickerBody() {\n      const children = this.internalActivePicker === 'YEAR' ? [this.genYears()] : [this.genTableHeader(), this.internalActivePicker === 'DATE' ? this.genDateTable() : this.genMonthTable()];\n      return this.$createElement('div', {\n        key: this.internalActivePicker\n      }, children);\n    },\n\n    setInputDate() {\n      if (this.lastValue) {\n        const array = this.lastValue.split('-');\n        this.inputYear = parseInt(array[0], 10);\n        this.inputMonth = parseInt(array[1], 10) - 1;\n\n        if (this.type === 'date') {\n          this.inputDay = parseInt(array[2], 10);\n        }\n      } else {\n        this.inputYear = this.inputYear || this.now.getFullYear();\n        this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth();\n        this.inputDay = this.inputDay || this.now.getDate();\n      }\n    }\n\n  },\n\n  render() {\n    return this.genPicker('v-picker--date');\n  }\n\n});\n//# sourceMappingURL=VDatePicker.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".profile img,.profile picture{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}\", \"\"]);\n// Exports\nmodule.exports = exports;\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-card-title',[_vm._v(\" Press Releases \"),_c('v-btn',{staticStyle:{\"vertical-align\":\"top\"},attrs:{\"depressed\":\"\",\"x-small\":\"\",\"color\":\"orange\",\"rel\":\"noopener\",\"href\":'/api/Documents/DocumentTypesRSS?Type=48'}},[_c('span',{staticClass:\"white--text\"},[_vm._v(\"RSS\")]),_c('v-icon',{attrs:{\"color\":\"white\",\"right\":\"\"}},[_vm._v(_vm._s(_vm.rss))])],1)],1),_c('v-card-text',[_c('div',[_vm._v(\" The Legislative Research Council will periodically update this page with the ten latest press releases available. \")]),_c('v-divider'),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"Name\",\"sort-by\":\"Name\",\"sort-desc\":[false],\"loading\":_vm.loadingLatest,\"loading-text\":\"Loading... Please wait\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item.Description\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.Title)?_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/PressRelease/' + item.DocumentId + '.pdf'}},[_vm._v(_vm._s(item.Title))]):(item.Description)?_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/PressRelease/' + item.DocumentId + '.pdf'}},[_vm._v(_vm._s(item.Description))]):_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/PressRelease/' + item.DocumentId + '.pdf'}},[_vm._v(_vm._s(item.Filename))])]}},{key:\"item.DocumentDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.formatDate(item.DocumentDate))+\" \")]}},{key:\"no-data\",fn:function(){return [_vm._v(\" No recent news. \")]},proxy:true}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container>\r\n        <v-card flat>\r\n            <v-card-title>\r\n                Press Releases\r\n                <v-btn depressed x-small color=\"orange\" style=\"vertical-align:top;\" rel=\"noopener\" :href=\"'/api/Documents/DocumentTypesRSS?Type=48'\">\r\n                    <span class=\"white--text\">RSS</span><v-icon color=\"white\" right>{{rss}}</v-icon>\r\n                </v-btn>\r\n            </v-card-title>\r\n            <v-card-text>\r\n                <div>\r\n                    The Legislative Research Council will periodically update this page with the ten latest press releases available.\r\n                </div>\r\n                <v-divider></v-divider>\r\n                <FilterableDataTable :headers=\"headers\"\r\n                              :items=\"items\"\r\n                              item-key=\"Name\"\r\n                              sort-by=\"Name\"\r\n                              :sort-desc=\"[false]\"\r\n                              :loading=\"loadingLatest\"\r\n                              loading-text=\"Loading... Please wait\"\r\n                              hide-default-footer\r\n                              class=\"elevation-1\">\r\n                    <template v-slot:item.Description=\"{ item }\">\r\n                        <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/PressRelease/' + item.DocumentId + '.pdf'\" v-if=\"item.Title\">{{item.Title}}</a>\r\n                        <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/PressRelease/' + item.DocumentId + '.pdf'\" v-else-if=\"item.Description\">{{item.Description}}</a>\r\n                        <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/PressRelease/' + item.DocumentId + '.pdf'\" v-else>{{item.Filename}}</a>\r\n                    </template>\r\n                    <template v-slot:item.DocumentDate=\"{ item }\">\r\n                        {{formatDate(item.DocumentDate)}}\r\n                    </template>\r\n                    <template v-slot:no-data>\r\n                        No recent news.\r\n                    </template>\r\n                </FilterableDataTable>\r\n            </v-card-text>\r\n        </v-card>\r\n    </v-container>\r\n</template>\r\n<script>\r\n    import { mdiRss } from '@mdi/js';\r\n    import moment from 'moment'\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'PressRelease',\r\n        components: {\r\n            FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                this.loadingLatest = true;\r\n\r\n                fetch('/api/Documents/DocumentType?Type=48&Top=10&Past=true', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    if (res.ok)\r\n                        return res.json();\r\n                    else\r\n                        return Promise.reject(res.status);\r\n                }).then(response =>\r\n                {\r\n                    var res = EncodeDatetimes(response);\r\n\r\n                    this.items = res;\r\n\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                }).finally(_ =>\r\n                {\r\n                    this.loadingLatest = false;\r\n                });\r\n            },\r\n            formatDate(Date) {\r\n                return moment(Date).format('M/DD/YYYY');\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                rss: mdiRss,\r\n                headers: [\r\n                    { text: 'Press Release', value: 'Description' },\r\n                    { text: 'Date Posted', value: 'DocumentDate' },\r\n                ],\r\n                loadingLatest: true,\r\n                items: [],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Press Releases';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./PressRelease.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./PressRelease.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PressRelease.vue?vue&type=template&id=459fd9b2&\"\nimport script from \"./PressRelease.vue?vue&type=script&lang=js&\"\nexport * from \"./PressRelease.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VContainer,VDivider,VIcon})\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ConferenceCommittees.vue?vue&type=style&index=0&id=a3277a30&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"62e1f0a7\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","import \"../../../src/components/VGrid/_grid.sass\";\nimport { createSimpleFunctional } from '../../util/helpers';\nexport default createSimpleFunctional('spacer', 'div', 'v-spacer');\n//# sourceMappingURL=VSpacer.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"md\":\"2\",\"cols\":\"12\"}},[_c('RedistrictingMenu')],1),_c('v-col',{attrs:{\"md\":\"10\",\"cols\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_c('h3',[_vm._v(\"Redistricting Laws\")])]),_c('v-card-text',[_c('h3',[_vm._v(\" US Constitution - Article I, Sections 2 and 4 \")]),_c('p'),_c('h4',[_vm._v(\" Article I, Section 2 \")]),_c('p'),_c('p',[_vm._v(\" The House of Representatives shall be composed of Members chosen every second Year by the People of the several States, and the Electors in each State shall have the Qualifications requisite for Electors of the most numerous Branch of the State Legislature. \")]),_c('p',[_vm._v(\" No Person shall be a Representative who shall not have attained to the Age of twenty five Years, and been seven Years a Citizen of the United States, and who shall not, when elected, be an Inhabitant of that State in which he shall be chosen. \")]),_c('p',[_vm._v(\" Representatives and direct Taxes shall be apportioned among the several States which may be included within this Union, according to their respective Numbers, which shall be determined by adding to the whole Number of free Persons, including those bound to Service for a Term of Years, and excluding Indians not taxed, three fifths of all other Persons. The actual Enumeration shall be made within three Years after the first Meeting of the Congress of the United States, and within every subsequent Term of ten Years, in such Manner as they shall by Law direct. The Number of Representatives shall not exceed one for every thirty Thousand, but each State shall have at Least one Representative; and until such enumeration shall be made, the State of New Hampshire shall be entitled to chuse three, Massachusetts eight, Rhode Island and Providence Plantations one, Connecticut five, New York six, New Jersey four, Pennsylvania eight, Delaware one, Maryland six, Virginia ten, North Carolina five, South Carolina five, and Georgia three.* \")]),_c('p',{staticStyle:{\"font-style\":\"italic\",\"font-size\":\"smaller\"}},[_vm._v(\" *The part of this clause relating to the mode of apportionment of representatives among the several States has been affected by section 2 of amendment XIV, and as to taxes on incomes without apportionment by amendment XVI. \")]),_c('p',[_vm._v(\" When vacancies happen in the Representation from any State, the Executive Authority thereof shall issue Writs of Election to fill such Vacancies. \")]),_c('p',[_vm._v(\" The House of Representatives shall chuse their Speaker and other Officers; and shall have the sole Power of Impeachment. \")]),_c('p'),_c('h4',[_vm._v(\"Article I, Section 4\")]),_c('p'),_c('p',[_vm._v(\" The Times, Places and Manner of holding Elections for Senators and Representatives, shall be prescribed in each State by the Legislature thereof; but the Congress may at any time by Law make or alter such Regulations, except as to the Places of chusing Senators. \")]),_c('p'),_c('h3',[_vm._v(\" US Constitution - The 14th Amendment \")]),_c('p'),_c('p'),_c('h4',[_vm._v(\" Section 1 \")]),_c('p'),_c('p',[_vm._v(\" All persons born or naturalized in the United States, and subject to the jurisdiction thereof, are citizens of the United States and of the State wherein they reside. No State shall make or enforce any law which shall abridge the privileges or immunities of citizens of the United States; nor shall any State deprive any person of life, liberty, or property, without due process of law; nor deny to any person within its jurisdiction the equal protection of the laws. \")]),_c('p'),_c('h4',[_vm._v(\" Section 2 \")]),_c('p'),_c('p',[_vm._v(\" Representatives shall be apportioned among the several States according to their respective numbers, counting the whole number of persons in each State, excluding Indians not taxed. But when the right to vote at any election for the choice of electors for President and Vice-President of the United States, Representatives in Congress, the Executive and Judicial officers of a State, or the members of the Legislature thereof, is denied to any of the male inhabitants of such State, being twenty-one years of age,* and citizens of the United States, or in any way abridged, except for participation in rebellion, or other crime, the basis of representation therein shall be reduced in the proportion which the number of such male citizens shall bear to the whole number of male citizens twenty-one years of age in such State. \")]),_c('p',{staticStyle:{\"font-style\":\"italic\",\"font-size\":\"smaller\"}},[_vm._v(\" *Changed by section 1 of the 26th amendment. \")]),_c('p'),_c('h4',[_vm._v(\"Section 3\")]),_c('p'),_c('p',[_vm._v(\"No person shall be a Senator or Representative in Congress, or elector of President and Vice-President, or hold any office, civil or military, under the United States, or under any State, who, having previously taken an oath, as a member of Congress, or as an officer of the United States, or as a member of any State legislature, or as an executive or judicial officer of any State, to support the Constitution of the United States, shall have engaged in insurrection or rebellion against the same, or given aid or comfort to the enemies thereof. But Congress may by a vote of two-thirds of each House, remove such disability.\")]),_c('p'),_c('h4',[_vm._v(\"Section 4\")]),_c('p'),_c('p',[_vm._v(\"The validity of the public debt of the United States, authorized by law, including debts incurred for payment of pensions and bounties for services in suppressing insurrection or rebellion, shall not be questioned. But neither the United States nor any State shall assume or pay any debt or obligation incurred in aid of insurrection or rebellion against the United States, or any claim for the loss or emancipation of any slave; but all such debts, obligations and claims shall be held illegal and void.\")]),_c('p'),_c('h4',[_vm._v(\" Section 5 \")]),_c('p'),_c('p',[_vm._v(\"The Congress shall have the power to enforce, by appropriate legislation, the provisions of this article\")]),_c('p'),_c('h3',[_vm._v(\"Federal Voting Rights Act\")]),_c('p'),_c('p',[_vm._v(\"(a) No voting qualification or prerequisite to voting or standard, practice, or procedure shall be imposed or applied by any State or political subdivision in a manner which results in a denial or abridgement of the right of any citizen of the United States to vote on account of race or color, or in contravention of the guarantees set forth in section 1973b (f)(2) of this title, as provided in subsection (b) of this section.\")]),_c('p',[_vm._v(\" (b) A violation of subsection (a) of this section is established if, based on the totality of circumstances, it is shown that the political processes leading to nomination or election in the State or political subdivision are not equally open to participation by members of a class of citizens protected by subsection (a) of this section in that its members have less opportunity than other members of the electorate to participate in the political process and to elect representatives of their choice. The extent to which members of a protected class have been elected to office in the State or political subdivision is one circumstance which may be considered: Provided, That nothing in this section establishes a right to have members of a protected class elected in numbers equal to their proportion in the population. \")]),_c('p',[_vm._v(\" (42 U.S.C. §§ 1973–1973aa-6) \")]),_c('p'),_c('h3',[_vm._v(\"State Constitution - Article III, Sections 2 and 5\")]),_c('p'),_c('p'),_c('h4',[_vm._v(\"Article III, Section 2\")]),_c('p'),_c('p',[_c('i',[_vm._v(\"Number of legislators--Regular sessions\")]),_vm._v(\". After the Legislature elected for the years 1937 and 1938 the number of members of the house of representatives shall not be less than fifty nor more than seventy-five and the number of members of the senate shall not be less than twenty-five nor more than thirty-five. \")]),_c('p',[_vm._v(\" The sessions of the Legislature shall be biennial except as otherwise provided in this Constitution. \")]),_c('p'),_c('h4',[_vm._v(\"Article III, Section 5\")]),_c('p'),_c('p',[_c('i',[_vm._v(\"Legislative reapportionment\")]),_vm._v(\". The Legislature shall apportion its membership by dividing the state into as many single-member, legislative districts as there are state senators. House districts shall be established wholly within senatorial districts and shall be either single-member or dual-member districts as the Legislature shall determine. Legislative districts shall consist of compact, contiguous territory and shall have population as nearly equal as is practicable, based on the last preceding federal census. An apportionment shall be made by the Legislature in 1983 and in 1991, and every ten years after 1991. Such apportionment shall be accomplished by December first of the year in which the apportionment is required. If any Legislature whose duty it is to make an apportionment shall fail to make the same as herein provided, it shall be the duty of the Supreme Court within ninety days to make such apportionment. \")]),_c('p'),_c('h3',[_vm._v(\" State Statute \")]),_c('p'),_c('p'),_c('h4',[_vm._v(\" 2-2-41. Legislative policy in redistricting. \")]),_c('p'),_c('p',[_vm._v(\" The Legislature, in making the 2021 redistricting, determines, as a matter of policy, that the following principles are of primary significance: \")]),_c('p',[_vm._v(\" (1) Adherence to standards of population deviance as established by judicial precedent and to standards of population deviance as prescribed by S.D. Const., Art. III, § 5; \")]),_c('p',[_vm._v(\" (2) Protection of communities of interest by means of compact and contiguous districts; \")]),_c('p',[_vm._v(\" (3) Respect for geographical and political boundaries; and \")]),_c('p',[_vm._v(\" (4) Protection of minority voting rights consistent with the United States Constitution, the South Dakota Constitution, and federal statutes, as interpreted by the United States Supreme Court and other courts with jurisdiction. \")])])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container fluid>\r\n        <v-row no-gutters>\r\n            <v-col md=\"2\" cols=\"12\">\r\n                <RedistrictingMenu></RedistrictingMenu>\r\n            </v-col>\r\n            <v-col md=\"10\" cols=\"12\">\r\n                <v-card flat>\r\n                    <v-card-title>\r\n                        <h3>Redistricting Laws</h3>\r\n                    </v-card-title>\r\n                    <v-card-text>\r\n                        <h3>\r\n                            US Constitution - Article I, Sections 2 and 4\r\n                        </h3>\r\n                        <p>\r\n                            <h4>\r\n                                Article I, Section 2\r\n                            </h4>\r\n                        </p>\r\n                        <p>\r\n                            The House of Representatives shall be composed of Members chosen every second Year by the People of the several States, and the Electors in each State shall have the Qualifications requisite for Electors of the most numerous Branch of the State Legislature.\r\n                        </p>\r\n                        <p>\r\n                            No Person shall be a Representative who shall not have attained to the Age of twenty five Years, and been seven Years a Citizen of the United States, and who shall not, when elected, be an Inhabitant of that State in which he shall be chosen.\r\n                        </p>\r\n                        <p>\r\n                            Representatives and direct Taxes shall be apportioned among the several States which may be included within this Union, according to their respective Numbers, which shall be determined by adding to the whole Number of free Persons, including those bound to Service for a Term of Years, and excluding Indians not taxed, three fifths of all other Persons. The actual Enumeration shall be made within three Years after the first Meeting of the Congress of the United States, and within every subsequent Term of ten Years, in such Manner as they shall by Law direct. The Number of Representatives shall not exceed one for every thirty Thousand, but each State shall have at Least one Representative; and until such enumeration shall be made, the State of New Hampshire shall be entitled to chuse three, Massachusetts eight, Rhode Island and Providence Plantations one, Connecticut five, New York six, New Jersey four, Pennsylvania eight, Delaware one, Maryland six, Virginia ten, North Carolina five, South Carolina five, and Georgia three.*\r\n                        </p>\r\n                        <p style=\"font-style: italic; font-size: smaller;\">\r\n                            *The part of this clause relating to the mode of apportionment of representatives among the several States has been affected by section 2 of amendment XIV, and as to taxes on incomes without apportionment by amendment XVI.\r\n                        </p>\r\n                        <p>\r\n                            When vacancies happen in the Representation from any State, the Executive Authority thereof shall issue Writs of Election to fill such Vacancies.\r\n                        </p>\r\n                        <p>\r\n                            The House of Representatives shall chuse their Speaker and other Officers; and shall have the sole Power of Impeachment.\r\n                        </p>\r\n\r\n                        <p><h4>Article I, Section 4</h4></p>\r\n                        <p>\r\n                            The Times, Places and Manner of holding Elections for Senators and Representatives, shall be prescribed in each State by the Legislature thereof; but the Congress may at any time by Law make or alter such Regulations, except as to the Places of chusing Senators.\r\n                        </p>\r\n                        <p>\r\n                            <h3>\r\n                                US Constitution - The 14th Amendment\r\n                            </h3>\r\n                        </p>\r\n                        <p>\r\n                            <h4>\r\n                                Section 1\r\n                            </h4>\r\n                        </p>\r\n                        <p>\r\n                            All persons born or naturalized in the United States, and subject to the jurisdiction thereof, are citizens of the United States and of the State wherein they reside. No State shall make or enforce any law which shall abridge the privileges or immunities of citizens of the United States; nor shall any State deprive any person of life, liberty, or property, without due process of law; nor deny to any person within its jurisdiction the equal protection of the laws.\r\n                        </p>\r\n                        <p>\r\n                            <h4>\r\n                                Section 2\r\n                            </h4>\r\n                        </p>\r\n                        <p>\r\n                            Representatives shall be apportioned among the several States according to their respective numbers, counting the whole number of persons in each State, excluding Indians not taxed. But when the right to vote at any election for the choice of electors for President and Vice-President of the United States, Representatives in Congress, the Executive and Judicial officers of a State, or the members of the Legislature thereof, is denied to any of the male inhabitants of such State, being twenty-one years of age,* and citizens of the United States, or in any way abridged, except for participation in rebellion, or other crime, the basis of representation therein shall be reduced in the proportion which the number of such male citizens shall bear to the whole number of male citizens twenty-one years of age in such State.\r\n                        </p>\r\n                        <p style=\"font-style: italic; font-size: smaller;\">\r\n                            *Changed by section 1 of the 26th amendment.\r\n                        </p>\r\n                        <p>\r\n                            <h4>Section 3</h4>\r\n                        </p>\r\n                        <p>No person shall be a Senator or Representative in Congress, or elector of President and Vice-President, or hold any office, civil or military, under the United States, or under any State, who, having previously taken an oath, as a member of Congress, or as an officer of the United States, or as a member of any State legislature, or as an executive or judicial officer of any State, to support the Constitution of the United States, shall have engaged in insurrection or rebellion against the same, or given aid or comfort to the enemies thereof. But Congress may by a vote of two-thirds of each House, remove such disability.</p>\r\n                        <p>\r\n                            <h4>Section 4</h4>\r\n                        </p>\r\n                        <p>The validity of the public debt of the United States, authorized by law, including debts incurred for payment of pensions and bounties for services in suppressing insurrection or rebellion, shall not be questioned. But neither the United States nor any State shall assume or pay any debt or obligation incurred in aid of insurrection or rebellion against the United States, or any claim for the loss or emancipation of any slave; but all such debts, obligations and claims shall be held illegal and void.</p>\r\n                        <p>\r\n                            <h4>\r\n                                Section 5\r\n                            </h4>\r\n                        </p>\r\n                        <p>The Congress shall have the power to enforce, by appropriate legislation, the provisions of this article</p>\r\n                        <p>\r\n                            <h3>Federal Voting Rights Act</h3>\r\n                        </p>\r\n                        <p>(a) No voting qualification or prerequisite to voting or standard, practice, or procedure shall be imposed or applied by any State or political subdivision in a manner which results in a denial or abridgement of the right of any citizen of the United States to vote on account of race or color, or in contravention of the guarantees set forth in section 1973b (f)(2) of this title, as provided in subsection (b) of this section.</p>\r\n                        <p>\r\n                            (b) A violation of subsection (a) of this section is established if, based on the totality of circumstances, it is shown that the political processes leading to nomination or election in the State or political subdivision are not equally open to participation by members of a class of citizens protected by subsection (a) of this section in that its members have less opportunity than other members of the electorate to participate in the political process and to elect representatives of their choice. The extent to which members of a protected class have been elected to office in the State or political subdivision is one circumstance which may be considered: Provided, That nothing in this section establishes a right to have members of a protected class elected in numbers equal to their proportion in the population.\r\n                        </p>\r\n                        <p>\r\n                            (42 U.S.C. §§ 1973–1973aa-6)\r\n                        </p>\r\n                        <p>\r\n                            <h3>State Constitution - Article III, Sections 2 and 5</h3>\r\n                        </p>\r\n                        <p>\r\n                            <h4>Article III, Section 2</h4>\r\n                        </p>\r\n                        <p>\r\n                            <i>Number of legislators--Regular sessions</i>. After the Legislature elected for the years 1937 and 1938 the number of members of the house of representatives shall not be less than fifty nor more than seventy-five and the number of members of the senate shall not be less than twenty-five nor more than thirty-five.\r\n                        </p>\r\n                        <p>\r\n                            The sessions of the Legislature shall be biennial except as otherwise provided in this Constitution.\r\n                        </p>\r\n                        <p>\r\n                            <h4>Article III, Section 5</h4>\r\n                        </p>\r\n                        <p>\r\n                            <i>Legislative reapportionment</i>. The Legislature shall apportion its membership by dividing the state into as many single-member, legislative districts as there are state senators. House districts shall be established wholly within senatorial districts and shall be either single-member or dual-member districts as the Legislature shall determine. Legislative districts shall consist of compact, contiguous territory and shall have population as nearly equal as is practicable, based on the last preceding federal census. An apportionment shall be made by the Legislature in 1983 and in 1991, and every ten years after 1991. Such apportionment shall be accomplished by December first of the year in which the apportionment is required. If any Legislature whose duty it is to make an apportionment shall fail to make the same as herein provided, it shall be the duty of the Supreme Court within ninety days to make such apportionment.\r\n                        </p>\r\n                        <p>\r\n                            <h3>\r\n                                State Statute\r\n                            </h3>\r\n                        </p>\r\n                        <p>\r\n                            <h4>\r\n                                2-2-41. Legislative policy in redistricting.\r\n                            </h4>\r\n                        </p>\r\n                        <p>\r\n                            The Legislature, in making the 2021 redistricting, determines, as a matter of policy, that the following principles are of primary significance:\r\n                        </p>\r\n                        <p>\r\n                            (1) Adherence to standards of population deviance as established by judicial precedent and to standards of population deviance as prescribed by S.D. Const., Art. III, § 5;\r\n                        </p>\r\n                        <p>\r\n                            (2) Protection of communities of interest by means of compact and contiguous districts;\r\n                        </p>\r\n                        <p>\r\n                            (3) Respect for geographical and political boundaries; and\r\n                        </p>\r\n                        <p>\r\n                            (4) Protection of minority voting rights consistent with the United States Constitution, the South Dakota Constitution, and federal statutes, as interpreted by the United States Supreme Court and other courts with jurisdiction.\r\n                        </p>\r\n                    </v-card-text>\r\n                </v-card>\r\n\r\n            </v-col>\r\n        </v-row>\r\n    </v-container>\r\n</template>\r\n<script>\r\n    const RedistrictingMenu = () => import(\"@/Redistricting/RedistrictingMenu.vue\");\r\n\r\n    export default {\r\n        name: 'Laws',\r\n\r\n        components: {\r\n            RedistrictingMenu\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n\r\n        },\r\n        watch: {\r\n\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Redistricting Laws';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Laws.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Laws.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Laws.vue?vue&type=template&id=3f91abb2&\"\nimport script from \"./Laws.vue?vue&type=script&lang=js&\"\nexport * from \"./Laws.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VContainer,VRow})\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-radio--is-disabled label{color:rgba(0,0,0,.38)}.theme--dark.v-radio--is-disabled label{color:hsla(0,0%,100%,.5)}.v-radio{align-items:center;display:flex;height:auto;outline:none}.v-radio--is-disabled{pointer-events:none;cursor:default}.v-input--radio-group.v-input--radio-group--row .v-radio{margin-right:16px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_vm._v(\" Rules Drafting Manual \")]),_c('v-card-text',[_c('v-btn',{attrs:{\"rel\":\"noopener\",\"href\":_vm.RulesManualURL}},[_vm._v(\"Rules Drafting Manual \"),_c('span',[_c('sup',[_vm._v(\"(PDF)\")])])]),_vm._v(\" Last Updated \"),(_vm.RulesManual != null)?_c('span',[_vm._v(_vm._s(_vm.DatePretty(_vm.RulesManual.LastUpdated)))]):_vm._e(),_c('br'),_c('br'),_vm._l((_vm.Docs),function(i){return _c('v-list',[(i.url != null)?_c('v-list-item',{attrs:{\"rel\":\"noopener\",\"href\":i.url}},[_vm._v(_vm._s(i.Name)+\" \"),(i.url.includes('.pdf'))?_c('span',[_c('sup',[_vm._v(\"(PDF)\")])]):_vm._e(),(i.url.includes('.docx'))?_c('span',[_c('sup',[_vm._v(\"(DOCX)\")])]):_vm._e()]):_vm._e()],1)})],2)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <v-card flat>\r\n                <v-card-title>\r\n                    Rules Drafting Manual\r\n                </v-card-title>\r\n                <v-card-text>\r\n                    <v-btn rel=\"noopener\" :href=\"RulesManualURL\">Rules Drafting Manual <span><sup>(PDF)</sup></span></v-btn>\r\n                    Last Updated <span v-if=\"RulesManual != null\">{{DatePretty(RulesManual.LastUpdated)}}</span>\r\n                    <br />\r\n                    <br />\r\n                    <!--Rules Forms in Microsoft Word Format-->\r\n                    <v-list v-for=\"i in Docs\">\r\n                        <v-list-item v-if=\"i.url != null\" rel=\"noopener\" :href=\"i.url\">{{i.Name}} <span v-if=\"i.url.includes('.pdf')\"><sup>(PDF)</sup></span><span v-if=\"i.url.includes('.docx')\"><sup>(DOCX)</sup></span></v-list-item>\r\n                    </v-list>\r\n                </v-card-text>\r\n            </v-card>\r\n        </v-col>\r\n    </v-row>\r\n\r\n</template>\r\n<script>\r\n    import moment from 'moment'\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    export default {\r\n        name: 'RulesManual',\r\n        components: {\r\n            Sidebar\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Documents/DocumentType?Type=54', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.items = EncodeDatetimes(response);\r\n\r\n                    this.RulesManual = this.items.filter(x => x.Filename == \"rulesmanual.pdf\")[0];\r\n                    this.RulesManualURL = this.$MyLRCUrl.value + 'api/Documents/' + this.RulesManual.DocumentId + '.pdf';\r\n                    this.Docs.filter(x => x.Name == 'Permanent Rules')[0].url = this.$MyLRCUrl.value + 'api/Documents/' + this.items.filter(x => x.Filename == \"rulesforms.docx\")[0].DocumentId + '.docx';\r\n                    this.Docs.filter(x => x.Name == 'Emergency Rules')[0].url = this.$MyLRCUrl.value + 'api/Documents/' + this.items.filter(x => x.Filename == \"emergencyforms.docx\")[0].DocumentId + '.docx';\r\n                    this.Docs.filter(x => x.Name == 'DSS Rules')[0].url = this.$MyLRCUrl.value + 'api/Documents/' + this.items.filter(x => x.Filename == \"ruleformsdss.docx\")[0].DocumentId + '.docx';\r\n                    this.loading = false;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            DatePretty(date) {\r\n                return moment(date, \"DD/MM/YYYY\").format(\"M/DD/YYYY\");\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                items: [],\r\n                RulesManual: null,\r\n                RulesManualURL: null,\r\n                Docs: [\r\n                    {\r\n                        Name: 'Permanent Rules',\r\n                        url: null,\r\n                    },\r\n                    {\r\n                        Name: 'Emergency Rules',\r\n                        url: null,\r\n                    },\r\n                    {\r\n                        Name: 'DSS Rules',\r\n                        url: null,\r\n                    },\r\n                ],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Administrative Rules Manual';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./RulesManual.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./RulesManual.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RulesManual.vue?vue&type=template&id=ec543206&\"\nimport script from \"./RulesManual.vue?vue&type=script&lang=js&\"\nexport * from \"./RulesManual.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VCardTitle } 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 { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VCol,VList,VListItem,VRow})\n","// Styles\nimport \"../../../src/components/VSkeletonLoader/VSkeletonLoader.sass\"; // Mixins\n\nimport Elevatable from '../../mixins/elevatable';\nimport Measurable from '../../mixins/measurable';\nimport Themeable from '../../mixins/themeable'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { getSlot } from '../../util/helpers';\n/* @vue/component */\n\nexport default mixins(Elevatable, Measurable, Themeable).extend({\n  name: 'VSkeletonLoader',\n  props: {\n    boilerplate: Boolean,\n    loading: Boolean,\n    tile: Boolean,\n    transition: String,\n    type: String,\n    types: {\n      type: Object,\n      default: () => ({})\n    }\n  },\n  computed: {\n    attrs() {\n      if (!this.isLoading) return this.$attrs;\n      return !this.boilerplate ? {\n        'aria-busy': true,\n        'aria-live': 'polite',\n        role: 'alert',\n        ...this.$attrs\n      } : {};\n    },\n\n    classes() {\n      return {\n        'v-skeleton-loader--boilerplate': this.boilerplate,\n        'v-skeleton-loader--is-loading': this.isLoading,\n        'v-skeleton-loader--tile': this.tile,\n        ...this.themeClasses,\n        ...this.elevationClasses\n      };\n    },\n\n    isLoading() {\n      return !('default' in this.$scopedSlots) || this.loading;\n    },\n\n    rootTypes() {\n      return {\n        actions: 'button@2',\n        article: 'heading, paragraph',\n        avatar: 'avatar',\n        button: 'button',\n        card: 'image, card-heading',\n        'card-avatar': 'image, list-item-avatar',\n        'card-heading': 'heading',\n        chip: 'chip',\n        'date-picker': 'list-item, card-heading, divider, date-picker-options, date-picker-days, actions',\n        'date-picker-options': 'text, avatar@2',\n        'date-picker-days': 'avatar@28',\n        heading: 'heading',\n        image: 'image',\n        'list-item': 'text',\n        'list-item-avatar': 'avatar, text',\n        'list-item-two-line': 'sentences',\n        'list-item-avatar-two-line': 'avatar, sentences',\n        'list-item-three-line': 'paragraph',\n        'list-item-avatar-three-line': 'avatar, paragraph',\n        paragraph: 'text@3',\n        sentences: 'text@2',\n        table: 'table-heading, table-thead, table-tbody, table-tfoot',\n        'table-heading': 'heading, text',\n        'table-thead': 'heading@6',\n        'table-tbody': 'table-row-divider@6',\n        'table-row-divider': 'table-row, divider',\n        'table-row': 'table-cell@6',\n        'table-cell': 'text',\n        'table-tfoot': 'text@2, avatar@2',\n        text: 'text',\n        ...this.types\n      };\n    }\n\n  },\n  methods: {\n    genBone(text, children) {\n      return this.$createElement('div', {\n        staticClass: `v-skeleton-loader__${text} v-skeleton-loader__bone`\n      }, children);\n    },\n\n    genBones(bone) {\n      // e.g. 'text@3'\n      const [type, length] = bone.split('@');\n\n      const generator = () => this.genStructure(type); // Generate a length array based upon\n      // value after @ in the bone string\n\n\n      return Array.from({\n        length\n      }).map(generator);\n    },\n\n    // Fix type when this is merged\n    // https://github.com/microsoft/TypeScript/pull/33050\n    genStructure(type) {\n      let children = [];\n      type = type || this.type || '';\n      const bone = this.rootTypes[type] || ''; // End of recursion, do nothing\n\n      /* eslint-disable-next-line no-empty, brace-style */\n\n      if (type === bone) {} // Array of values - e.g. 'heading, paragraph, text@2'\n      else if (type.indexOf(',') > -1) return this.mapBones(type); // Array of values - e.g. 'paragraph@4'\n      else if (type.indexOf('@') > -1) return this.genBones(type); // Array of values - e.g. 'card@2'\n      else if (bone.indexOf(',') > -1) children = this.mapBones(bone); // Array of values - e.g. 'list-item@2'\n      else if (bone.indexOf('@') > -1) children = this.genBones(bone); // Single value - e.g. 'card-heading'\n      else if (bone) children.push(this.genStructure(bone));\n\n      return [this.genBone(type, children)];\n    },\n\n    genSkeleton() {\n      const children = [];\n      if (!this.isLoading) children.push(getSlot(this));else children.push(this.genStructure());\n      /* istanbul ignore else */\n\n      if (!this.transition) return children;\n      /* istanbul ignore next */\n\n      return this.$createElement('transition', {\n        props: {\n          name: this.transition\n        },\n        // Only show transition when\n        // content has been loaded\n        on: {\n          afterEnter: this.resetStyles,\n          beforeEnter: this.onBeforeEnter,\n          beforeLeave: this.onBeforeLeave,\n          leaveCancelled: this.resetStyles\n        }\n      }, children);\n    },\n\n    mapBones(bones) {\n      // Remove spaces and return array of structures\n      return bones.replace(/\\s/g, '').split(',').map(this.genStructure);\n    },\n\n    onBeforeEnter(el) {\n      this.resetStyles(el);\n      if (!this.isLoading) return;\n      el._initialStyle = {\n        display: el.style.display,\n        transition: el.style.transition\n      };\n      el.style.setProperty('transition', 'none', 'important');\n    },\n\n    onBeforeLeave(el) {\n      el.style.setProperty('display', 'none', 'important');\n    },\n\n    resetStyles(el) {\n      if (!el._initialStyle) return;\n      el.style.display = el._initialStyle.display || '';\n      el.style.transition = el._initialStyle.transition;\n      delete el._initialStyle;\n    }\n\n  },\n\n  render(h) {\n    return h('div', {\n      staticClass: 'v-skeleton-loader',\n      attrs: this.attrs,\n      on: this.$listeners,\n      class: this.classes,\n      style: this.isLoading ? this.measurableStyles : undefined\n    }, [this.genSkeleton()]);\n  }\n\n});\n//# sourceMappingURL=VSkeletonLoader.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-alert .v-alert--prominent .v-alert__icon:after{background:rgba(0,0,0,.12)}.theme--dark.v-alert .v-alert--prominent .v-alert__icon:after{background:hsla(0,0%,100%,.12)}.v-sheet.v-alert{border-radius:4px}.v-sheet.v-alert:not(.v-sheet--outlined){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.v-sheet.v-alert.v-sheet--shaped{border-radius:24px 4px}.v-alert{display:block;font-size:16px;margin-bottom:16px;padding:16px;position:relative;transition:.3s cubic-bezier(.25,.8,.5,1)}.v-alert:not(.v-sheet--tile){border-radius:4px}.v-application--is-ltr .v-alert>.v-alert__content,.v-application--is-ltr .v-alert>.v-icon{margin-right:16px}.v-application--is-rtl .v-alert>.v-alert__content,.v-application--is-rtl .v-alert>.v-icon{margin-left:16px}.v-application--is-ltr .v-alert>.v-icon+.v-alert__content{margin-right:0}.v-application--is-rtl .v-alert>.v-icon+.v-alert__content{margin-left:0}.v-application--is-ltr .v-alert>.v-alert__content+.v-icon{margin-right:0}.v-application--is-rtl .v-alert>.v-alert__content+.v-icon{margin-left:0}.v-alert__border{border-style:solid;border-width:4px;content:\\\"\\\";position:absolute}.v-alert__border:not(.v-alert__border--has-color){opacity:.26}.v-alert__border--left,.v-alert__border--right{bottom:0;top:0}.v-alert__border--bottom,.v-alert__border--top{left:0;right:0}.v-alert__border--bottom{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0}.v-application--is-ltr .v-alert__border--left{border-top-left-radius:inherit;border-bottom-left-radius:inherit;left:0}.v-application--is-ltr .v-alert__border--right,.v-application--is-rtl .v-alert__border--left{border-top-right-radius:inherit;border-bottom-right-radius:inherit;right:0}.v-application--is-rtl .v-alert__border--right{border-top-left-radius:inherit;border-bottom-left-radius:inherit;left:0}.v-alert__border--top{border-top-left-radius:inherit;border-top-right-radius:inherit;top:0}.v-alert__content{flex:1 1 auto}.v-application--is-ltr .v-alert__dismissible{margin:-16px -8px -16px 8px}.v-application--is-rtl .v-alert__dismissible{margin:-16px 8px -16px -8px}.v-alert__icon{align-self:flex-start;border-radius:50%;height:24px;min-width:24px;position:relative}.v-application--is-ltr .v-alert__icon{margin-right:16px}.v-application--is-rtl .v-alert__icon{margin-left:16px}.v-alert__icon.v-icon{font-size:24px}.v-alert__wrapper{align-items:center;border-radius:inherit;display:flex}.v-application--is-ltr .v-alert--border.v-alert--prominent .v-alert__icon{margin-left:8px}.v-application--is-rtl .v-alert--border.v-alert--prominent .v-alert__icon{margin-right:8px}.v-alert--dense{padding-top:8px;padding-bottom:8px}.v-alert--dense .v-alert__border{border-width:medium}.v-alert--outlined{background:transparent!important;border:thin solid currentColor!important}.v-alert--outlined .v-alert__icon{color:inherit!important}.v-alert--prominent .v-alert__icon{align-self:center;height:48px;min-width:48px}.v-alert--prominent .v-alert__icon.v-icon{font-size:32px}.v-alert--prominent .v-alert__icon.v-icon:after{background:currentColor!important;border-radius:50%;bottom:0;content:\\\"\\\";left:0;opacity:.16;position:absolute;right:0;top:0}.v-alert--prominent.v-alert--dense .v-alert__icon.v-icon:after{transform:scale(1)}.v-alert--text{background:transparent!important}.v-alert--text:before{background-color:currentColor;border-radius:inherit;bottom:0;content:\\\"\\\";left:0;opacity:.12;position:absolute;pointer-events:none;right:0;top:0}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-select .v-select__selections{color:rgba(0,0,0,.87)}.theme--light.v-select.v-input--is-disabled .v-select__selections,.theme--light.v-select .v-select__selection--disabled{color:rgba(0,0,0,.38)}.theme--dark.v-select .v-select__selections,.theme--light.v-select.v-text-field--solo-inverted.v-input--is-focused .v-select__selections{color:#fff}.theme--dark.v-select.v-input--is-disabled .v-select__selections,.theme--dark.v-select .v-select__selection--disabled{color:hsla(0,0%,100%,.5)}.theme--dark.v-select.v-text-field--solo-inverted.v-input--is-focused .v-select__selections{color:rgba(0,0,0,.87)}.v-select{position:relative}.v-select:not(.v-select--is-multi).v-text-field--single-line .v-select__selections{flex-wrap:nowrap}.v-select>.v-input__control>.v-input__slot{cursor:pointer}.v-select .v-chip{flex:0 1 auto;margin:4px}.v-select .v-chip--selected:after{opacity:.22}.v-select .fade-transition-leave-active{position:absolute;left:0}.v-select.v-input--is-dirty ::-moz-placeholder{color:transparent!important}.v-select.v-input--is-dirty :-ms-input-placeholder{color:transparent!important}.v-select.v-input--is-dirty ::placeholder{color:transparent!important}.v-select:not(.v-input--is-dirty):not(.v-input--is-focused) .v-text-field__prefix{line-height:20px;top:7px;transition:.3s cubic-bezier(.25,.8,.5,1)}.v-select.v-text-field--enclosed:not(.v-text-field--single-line):not(.v-text-field--outlined) .v-select__selections{padding-top:20px}.v-select.v-text-field--outlined:not(.v-text-field--single-line) .v-select__selections{padding:8px 0}.v-select.v-text-field--outlined:not(.v-text-field--single-line).v-input--dense .v-select__selections{padding:4px 0}.v-select.v-text-field input{flex:1 1;min-width:0;position:relative}.v-select.v-text-field:not(.v-text-field--single-line) input{margin-top:0}.v-select.v-select--is-menu-active .v-input__icon--append .v-icon{transform:rotate(180deg)}.v-select.v-select--chips input{margin:0}.v-select.v-select--chips .v-select__selections{min-height:42px}.v-select.v-select--chips.v-input--dense .v-select__selections{min-height:40px}.v-select.v-select--chips .v-chip--select.v-chip--active:before{opacity:.2}.v-select.v-select--chips.v-select--chips--small .v-select__selections{min-height:26px}.v-select.v-select--chips:not(.v-text-field--single-line).v-text-field--box .v-select__selections,.v-select.v-select--chips:not(.v-text-field--single-line).v-text-field--enclosed .v-select__selections{min-height:68px}.v-select.v-select--chips:not(.v-text-field--single-line).v-text-field--box.v-input--dense .v-select__selections,.v-select.v-select--chips:not(.v-text-field--single-line).v-text-field--enclosed.v-input--dense .v-select__selections{min-height:40px}.v-select.v-select--chips:not(.v-text-field--single-line).v-text-field--box.v-select--chips--small .v-select__selections,.v-select.v-select--chips:not(.v-text-field--single-line).v-text-field--enclosed.v-select--chips--small .v-select__selections{min-height:26px}.v-select.v-select--chips:not(.v-text-field--single-line).v-text-field--box.v-select--chips--small.v-input--dense .v-select__selections,.v-select.v-select--chips:not(.v-text-field--single-line).v-text-field--enclosed.v-select--chips--small.v-input--dense .v-select__selections{min-height:38px}.v-select.v-text-field--reverse .v-select__selections,.v-select.v-text-field--reverse .v-select__slot{flex-direction:row-reverse}.v-select.v-input--is-disabled:not(.v-input--is-readonly):not(.v-autocomplete){pointer-events:none}.v-select__selections{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;line-height:18px;max-width:100%;min-width:0}.v-select__selection{max-width:90%}.v-select__selection--comma{margin:7px 4px 7px 0;min-height:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-select.v-input--dense .v-select__selection--comma{margin:5px 4px 3px 0}.v-select.v-input--dense .v-chip{margin:0 4px 0 4px}.v-select__slot{position:relative;align-items:center;display:flex;max-width:100%;min-width:0;width:100%}.v-select:not(.v-text-field--single-line):not(.v-text-field--outlined) .v-select__slot>input{align-self:flex-end}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import VMenu from './VMenu';\nexport { VMenu };\nexport default VMenu;\n//# sourceMappingURL=index.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Codified Laws \"),_c('p',{staticStyle:{\"color\":\"red\",\"font-size\":\"larger\"}},[_vm._v(\" Effective \"+_vm._s(_vm.StatuesEffectiveDate)+\". \")]),_c('v-breadcrumbs',{attrs:{\"divider\":\">\",\"items\":_vm.breadcrumbs}}),_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('GoogleSearchStatute')],1)],1)],1)],1),_c('v-divider'),(_vm.loading)?_c('v-alert',{attrs:{\"value\":true,\"type\":\"info\"}},[_vm._v(\" Loading Please wait \")]):_vm._e(),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"StatuteId\",\"disable-pagination\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item.Title\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{staticStyle:{\"text-decoration\":\"none\"},attrs:{\"to\":'/Statutes/' + item.Statute}},[_vm._v(_vm._s(item.Title)+_vm._s(item.TitleLetter))])]}},{key:\"item.CatchLine\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"hidden-md-and-up\"},[_vm._v(\" \"+_vm._s(item.CatchLine)+\" \")]),_c('div',{staticClass:\"hidden-sm-and-down\"},[_vm._v(\" \"+_vm._s(_vm.shortenCell(item.CatchLine))+\" \")])]}},{key:\"no-data\",fn:function(){return [(!_vm.loading)?_c('v-alert',{attrs:{\"value\":true,\"type\":\"info\"}},[_vm._v(\" No Results \")]):_vm._e()]},proxy:true}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Codified Laws\r\n                <p style=\"color: red; font-size: larger;\">\r\n                    Effective {{StatuesEffectiveDate}}.\r\n                </p>\r\n                <v-breadcrumbs divider=\">\" :items=\"breadcrumbs\"></v-breadcrumbs>\r\n                <v-container>\r\n                    <v-layout row wrap>\r\n                        <v-flex xs12>\r\n                            <GoogleSearchStatute></GoogleSearchStatute>\r\n                        </v-flex>\r\n                    </v-layout>\r\n                </v-container>\r\n            </div>\r\n            <v-divider></v-divider>\r\n            <v-alert v-if=\"loading\" :value=\"true\" type=\"info\">\r\n                Loading Please wait\r\n            </v-alert>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"items\"\r\n                                 item-key=\"StatuteId\"\r\n                                 disable-pagination\r\n                                 :loading=\"loading\"\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 hide-default-footer\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.Title=\"{ item }\">\r\n                    <router-link :to=\"'/Statutes/' + item.Statute\" style=\"text-decoration: none;\">{{item.Title}}{{item.TitleLetter}}</router-link>\r\n                </template>\r\n                <template v-slot:item.CatchLine=\"{ item }\">\r\n                    <div class=\"hidden-md-and-up\">\r\n                        {{item.CatchLine}}\r\n                    </div>\r\n                    <div class=\"hidden-sm-and-down\">\r\n                        {{shortenCell(item.CatchLine)}}\r\n                    </div>\r\n                </template>\r\n                <template v-slot:no-data>\r\n                    <v-alert v-if=\"!loading\" :value=\"true\" type=\"info\">\r\n                        No Results\r\n                    </v-alert>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n\r\n</template>\r\n<script>\r\n    const GoogleSearchStatute = () => import(\"@/Components/GoogleSearchStatute.vue\");\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'CodifiedStatutes',\r\n        components: {\r\n            GoogleSearchStatute,\r\n            Sidebar,\r\n            FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n                fetch('/api/Statutes/LastStatuesEffectiveDate',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        this.loading = false;\r\n\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            return res.text().then(r => Promise.reject(r));\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        let realdateTime = EncodeDatetimes(response);\r\n\r\n                        if (realdateTime)\r\n                        {\r\n                            this.StatuesEffectiveDate = realdateTime.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' });\r\n                        }\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        if (error == 404)\r\n                            window.location.href = \"/404?path=\" + encodeURIComponent(window.location.pathname);\r\n                        else if (error != 302)\r\n                        {\r\n                            let e = String(error).substring(0, 100);\r\n\r\n                            if ((e || '').indexOf('Failed to fetch') > -1)\r\n                            {\r\n                                window.location.href = \"/400?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                            }\r\n                            else\r\n                            {\r\n                                reportError(error);\r\n                                window.location.href = \"/500?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                            }\r\n                        }\r\n                    });\r\n\r\n                this.error = null;\r\n\r\n                this.createBreadcrumbs('Codified Laws', '/Statutes');\r\n\r\n                fetch('/api/Statutes/Title',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            return res.text().then(r => Promise.reject(r));\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.items = EncodeDatetimes(response);\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        if (error == 404)\r\n                            window.location.href = \"/404?path=\" + encodeURIComponent(window.location.pathname);\r\n                        else if (error != 302)\r\n                        {\r\n                            let e = String(error).substring(0, 100);\r\n\r\n                            if ((e || '').indexOf('Failed to fetch') > -1)\r\n                            {\r\n                                window.location.href = \"/400?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                            }\r\n                            else\r\n                            {\r\n                                reportError(error);\r\n                                window.location.href = \"/500?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                            }\r\n                        }\r\n                    })\r\n                    .finally(() =>\r\n                    {\r\n                        this.loading = false;\r\n                    });\r\n            },\r\n            createBreadcrumbs(route, url)\r\n            {\r\n                this.breadcrumbs = [{\r\n                    to: '/',\r\n                    link: true,\r\n                    text: 'Home',\r\n                }];\r\n\r\n                var bci2 = {\r\n                    to: '',\r\n                    link: true,\r\n                    text: '',\r\n                };\r\n                bci2.to = url;\r\n                bci2.text = route;\r\n                bci2.disabled = true;\r\n\r\n                this.breadcrumbs.push(bci2);\r\n            },\r\n            shortenCell(str)\r\n            {\r\n                if (str != null)\r\n                {\r\n                    if (str.length > 160)\r\n                    {\r\n                        return str.substring(0, 160);\r\n                    } else\r\n                    {\r\n                        return str;\r\n                    }\r\n                }\r\n            }\r\n\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                StatuesEffectiveDate: 'July 1, 2024',\r\n                loading: false,\r\n                breadcrumbs: [],\r\n                items: [],\r\n                headers: [\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'Title',\r\n                        Type: 'Codified_Law',\r\n                        width: '15ch'\r\n                    },\r\n                    {\r\n                        text: 'Catchline',\r\n                        value: 'CatchLine',\r\n                        Type: 'Statute',\r\n                        width: '*'\r\n                    }\r\n                ],\r\n            };\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n        },\r\n        computed: {\r\n            Title: function ()\r\n            {\r\n                return \"Codified Laws\";\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0].replace('rules', 'Rules').replace('administrative', 'Administrative').replace('statutes', 'Statutes').replace('constitution', 'Constitution').replace('codified_laws', 'Codified_Laws').replace('session_laws', 'Session_Laws') }\r\n                ]\r\n            };\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Statutes.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Statutes.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Statutes.vue?vue&type=template&id=4794d1aa&\"\nimport script from \"./Statutes.vue?vue&type=script&lang=js&\"\nexport * from \"./Statutes.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBreadcrumbs,VCol,VContainer,VDivider,VFlex,VLayout,VRow})\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VAvatar.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"50d40d10\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-window{overflow:hidden}.v-window__container{display:flex;flex-direction:column;height:inherit;position:relative;transition:.3s cubic-bezier(.25,.8,.5,1)}.v-window__container--is-active{overflow:hidden}.v-window__next,.v-window__prev{background:rgba(0,0,0,.3);border-radius:50%;position:absolute;margin:0 16px;top:calc(50% - 20px);z-index:1}.v-window__next .v-btn:hover,.v-window__prev .v-btn:hover{background:none}.v-application--is-ltr .v-window__prev{left:0}.v-application--is-ltr .v-window__next,.v-application--is-rtl .v-window__prev{right:0}.v-application--is-rtl .v-window__next{left:0}.v-window--show-arrows-on-hover{overflow:hidden}.v-window--show-arrows-on-hover .v-window__next,.v-window--show-arrows-on-hover .v-window__prev{transition:transform .2s cubic-bezier(.25,.8,.5,1)}.v-application--is-ltr .v-window--show-arrows-on-hover .v-window__prev{transform:translateX(-200%)}.v-application--is-ltr .v-window--show-arrows-on-hover .v-window__next,.v-application--is-rtl .v-window--show-arrows-on-hover .v-window__prev{transform:translateX(200%)}.v-application--is-rtl .v-window--show-arrows-on-hover .v-window__next{transform:translateX(-200%)}.v-window--show-arrows-on-hover:hover .v-window__next,.v-window--show-arrows-on-hover:hover .v-window__prev{transform:translateX(0)}.v-window-x-reverse-transition-enter-active,.v-window-x-reverse-transition-leave-active,.v-window-x-transition-enter-active,.v-window-x-transition-leave-active,.v-window-y-reverse-transition-enter-active,.v-window-y-reverse-transition-leave-active,.v-window-y-transition-enter-active,.v-window-y-transition-leave-active{transition:.3s cubic-bezier(.25,.8,.5,1)}.v-window-x-reverse-transition-leave,.v-window-x-reverse-transition-leave-to,.v-window-x-transition-leave,.v-window-x-transition-leave-to,.v-window-y-reverse-transition-leave,.v-window-y-reverse-transition-leave-to,.v-window-y-transition-leave,.v-window-y-transition-leave-to{position:absolute!important;top:0;width:100%}.v-window-x-transition-enter{transform:translateX(100%)}.v-window-x-reverse-transition-enter,.v-window-x-transition-leave-to{transform:translateX(-100%)}.v-window-x-reverse-transition-leave-to{transform:translateX(100%)}.v-window-y-transition-enter{transform:translateY(100%)}.v-window-y-reverse-transition-enter,.v-window-y-transition-leave-to{transform:translateY(-100%)}.v-window-y-reverse-transition-leave-to{transform:translateY(100%)}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Types\nimport Vue from 'vue';\n/* @vue/component */\n\nexport default Vue.extend({\n  name: 'v-list-item-icon',\n  functional: true,\n\n  render(h, {\n    data,\n    children\n  }) {\n    data.staticClass = `v-list-item__icon ${data.staticClass || ''}`.trim();\n    return h('div', data, children);\n  }\n\n});\n//# sourceMappingURL=VListItemIcon.js.map","import VChip from './VChip';\nexport { VChip };\nexport default VChip;\n//# sourceMappingURL=index.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}})],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.Session && _vm.Session.YearString)?_c('div',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.Session.YearString)+\" Subject Index\")]):_vm._e(),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}}):_vm._e(),_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},_vm._l((_vm.Keywords),function(i){return _c('v-flex',{key:i.KeywordId,attrs:{\"xs12\":\"\",\"sm12\":\"\",\"md4\":\"\"}},[_c('v-card',{attrs:{\"outlined\":\"\",\"tile\":\"\"}},[_c('router-link',{attrs:{\"to\":'/Session/Subject/' + i.KeywordId}},[_vm._v(_vm._s(i.Keyword))])],1)],1)}),1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\" v-if=\"Session && Session.YearString\">{{Session.YearString}} Subject Index</div>\r\n            <v-progress-linear indeterminate v-if=\"loading\" color=\"primary\"></v-progress-linear>\r\n            <v-container>\r\n                <v-layout row wrap>\r\n                    <v-flex xs12 sm12 md4 v-for=\"i in Keywords\" :key=\"i.KeywordId\">\r\n                        <v-card outlined\r\n                                tile>\r\n                            <router-link :to=\"'/Session/Subject/' + i.KeywordId\">{{i.Keyword}}</router-link>\r\n                        </v-card>\r\n                    </v-flex>\r\n                </v-layout>\r\n            </v-container>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    export default {\r\n        name: 'SubjectIndex',\r\n        props: ['SessionId'],\r\n        components: {\r\n            Sidebar\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Sessions/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Session = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n\r\n                this.loading = true;\r\n                fetch('/api/Keywords?SessionId=' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Keywords = EncodeDatetimes(response);\r\n                    this.loading = false;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                Session: {},\r\n                Keywords: [\r\n                ],\r\n                loading: true,\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            SessionId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Subject Index';\r\n                if (this.Session && this.Session.Year) {\r\n                    title = this.Session.Year + \" Subject Index\";\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectIndex.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectIndex.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SubjectIndex.vue?vue&type=template&id=7e6b1846&\"\nimport script from \"./SubjectIndex.vue?vue&type=script&lang=js&\"\nexport * from \"./SubjectIndex.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCol,VContainer,VFlex,VLayout,VProgressLinear,VRow})\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VDialog.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"f262d46a\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VResponsive.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"fde427f2\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","import VProgressLinear from './VProgressLinear';\nexport { VProgressLinear };\nexport default VProgressLinear;\n//# sourceMappingURL=index.js.map","// Mixins\nimport Colorable from '../colorable';\nimport Themeable from '../themeable';\nimport { inject as RegistrableInject } from '../registrable'; // Utilities\n\nimport { deepEqual } from '../../util/helpers';\nimport { consoleError } from '../../util/console';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Colorable, RegistrableInject('form'), Themeable);\n/* @vue/component */\n\nexport default baseMixins.extend({\n  name: 'validatable',\n  props: {\n    disabled: Boolean,\n    error: Boolean,\n    errorCount: {\n      type: [Number, String],\n      default: 1\n    },\n    errorMessages: {\n      type: [String, Array],\n      default: () => []\n    },\n    messages: {\n      type: [String, Array],\n      default: () => []\n    },\n    readonly: Boolean,\n    rules: {\n      type: Array,\n      default: () => []\n    },\n    success: Boolean,\n    successMessages: {\n      type: [String, Array],\n      default: () => []\n    },\n    validateOnBlur: Boolean,\n    value: {\n      required: false\n    }\n  },\n\n  data() {\n    return {\n      errorBucket: [],\n      hasColor: false,\n      hasFocused: false,\n      hasInput: false,\n      isFocused: false,\n      isResetting: false,\n      lazyValue: this.value,\n      valid: false\n    };\n  },\n\n  computed: {\n    computedColor() {\n      if (this.isDisabled) return undefined;\n      if (this.color) return this.color; // It's assumed that if the input is on a\n      // dark background, the user will want to\n      // have a white color. If the entire app\n      // is setup to be dark, then they will\n      // like want to use their primary color\n\n      if (this.isDark && !this.appIsDark) return 'white';else return 'primary';\n    },\n\n    hasError() {\n      return this.internalErrorMessages.length > 0 || this.errorBucket.length > 0 || this.error;\n    },\n\n    // TODO: Add logic that allows the user to enable based\n    // upon a good validation\n    hasSuccess() {\n      return this.internalSuccessMessages.length > 0 || this.success;\n    },\n\n    externalError() {\n      return this.internalErrorMessages.length > 0 || this.error;\n    },\n\n    hasMessages() {\n      return this.validationTarget.length > 0;\n    },\n\n    hasState() {\n      if (this.isDisabled) return false;\n      return this.hasSuccess || this.shouldValidate && this.hasError;\n    },\n\n    internalErrorMessages() {\n      return this.genInternalMessages(this.errorMessages);\n    },\n\n    internalMessages() {\n      return this.genInternalMessages(this.messages);\n    },\n\n    internalSuccessMessages() {\n      return this.genInternalMessages(this.successMessages);\n    },\n\n    internalValue: {\n      get() {\n        return this.lazyValue;\n      },\n\n      set(val) {\n        this.lazyValue = val;\n        this.$emit('input', val);\n      }\n\n    },\n\n    isDisabled() {\n      return this.disabled || !!this.form && this.form.disabled;\n    },\n\n    isInteractive() {\n      return !this.isDisabled && !this.isReadonly;\n    },\n\n    isReadonly() {\n      return this.readonly || !!this.form && this.form.readonly;\n    },\n\n    shouldValidate() {\n      if (this.externalError) return true;\n      if (this.isResetting) return false;\n      return this.validateOnBlur ? this.hasFocused && !this.isFocused : this.hasInput || this.hasFocused;\n    },\n\n    validations() {\n      return this.validationTarget.slice(0, Number(this.errorCount));\n    },\n\n    validationState() {\n      if (this.isDisabled) return undefined;\n      if (this.hasError && this.shouldValidate) return 'error';\n      if (this.hasSuccess) return 'success';\n      if (this.hasColor) return this.computedColor;\n      return undefined;\n    },\n\n    validationTarget() {\n      if (this.internalErrorMessages.length > 0) {\n        return this.internalErrorMessages;\n      } else if (this.successMessages && this.successMessages.length > 0) {\n        return this.internalSuccessMessages;\n      } else if (this.messages && this.messages.length > 0) {\n        return this.internalMessages;\n      } else if (this.shouldValidate) {\n        return this.errorBucket;\n      } else return [];\n    }\n\n  },\n  watch: {\n    rules: {\n      handler(newVal, oldVal) {\n        if (deepEqual(newVal, oldVal)) return;\n        this.validate();\n      },\n\n      deep: true\n    },\n\n    internalValue() {\n      // If it's the first time we're setting input,\n      // mark it with hasInput\n      this.hasInput = true;\n      this.validateOnBlur || this.$nextTick(this.validate);\n    },\n\n    isFocused(val) {\n      // Should not check validation\n      // if disabled\n      if (!val && !this.isDisabled) {\n        this.hasFocused = true;\n        this.validateOnBlur && this.$nextTick(this.validate);\n      }\n    },\n\n    isResetting() {\n      setTimeout(() => {\n        this.hasInput = false;\n        this.hasFocused = false;\n        this.isResetting = false;\n        this.validate();\n      }, 0);\n    },\n\n    hasError(val) {\n      if (this.shouldValidate) {\n        this.$emit('update:error', val);\n      }\n    },\n\n    value(val) {\n      this.lazyValue = val;\n    }\n\n  },\n\n  beforeMount() {\n    this.validate();\n  },\n\n  created() {\n    this.form && this.form.register(this);\n  },\n\n  beforeDestroy() {\n    this.form && this.form.unregister(this);\n  },\n\n  methods: {\n    genInternalMessages(messages) {\n      if (!messages) return [];else if (Array.isArray(messages)) return messages;else return [messages];\n    },\n\n    /** @public */\n    reset() {\n      this.isResetting = true;\n      this.internalValue = Array.isArray(this.internalValue) ? [] : null;\n    },\n\n    /** @public */\n    resetValidation() {\n      this.isResetting = true;\n    },\n\n    /** @public */\n    validate(force = false, value) {\n      const errorBucket = [];\n      value = value || this.internalValue;\n      if (force) this.hasInput = this.hasFocused = true;\n\n      for (let index = 0; index < this.rules.length; index++) {\n        const rule = this.rules[index];\n        const valid = typeof rule === 'function' ? rule(value) : rule;\n\n        if (valid === false || typeof valid === 'string') {\n          errorBucket.push(valid || '');\n        } else if (typeof valid !== 'boolean') {\n          consoleError(`Rules should return a string or boolean, received '${typeof valid}' instead`, this);\n        }\n      }\n\n      this.errorBucket = errorBucket;\n      this.valid = errorBucket.length === 0;\n      return this.valid;\n    }\n\n  }\n});\n//# sourceMappingURL=index.js.map","import \"../../../src/components/VTooltip/VTooltip.sass\"; // Mixins\n\nimport Activatable from '../../mixins/activatable';\nimport Colorable from '../../mixins/colorable';\nimport Delayable from '../../mixins/delayable';\nimport Dependent from '../../mixins/dependent';\nimport Menuable from '../../mixins/menuable'; // Helpers\n\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers';\nimport { consoleError } from '../../util/console';\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Colorable, Delayable, Dependent, Menuable).extend({\n  name: 'v-tooltip',\n  props: {\n    closeDelay: {\n      type: [Number, String],\n      default: 0\n    },\n    disabled: Boolean,\n    openDelay: {\n      type: [Number, String],\n      default: 0\n    },\n    openOnHover: {\n      type: Boolean,\n      default: true\n    },\n    openOnFocus: {\n      type: Boolean,\n      default: true\n    },\n    tag: {\n      type: String,\n      default: 'span'\n    },\n    transition: String\n  },\n  data: () => ({\n    calculatedMinWidth: 0,\n    closeDependents: false\n  }),\n  computed: {\n    calculatedLeft() {\n      const {\n        activator,\n        content\n      } = this.dimensions;\n      const unknown = !this.bottom && !this.left && !this.top && !this.right;\n      const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left;\n      let left = 0;\n\n      if (this.top || this.bottom || unknown) {\n        left = activatorLeft + activator.width / 2 - content.width / 2;\n      } else if (this.left || this.right) {\n        left = activatorLeft + (this.right ? activator.width : -content.width) + (this.right ? 10 : -10);\n      }\n\n      if (this.nudgeLeft) left -= parseInt(this.nudgeLeft);\n      if (this.nudgeRight) left += parseInt(this.nudgeRight);\n      return `${this.calcXOverflow(left, this.dimensions.content.width)}px`;\n    },\n\n    calculatedTop() {\n      const {\n        activator,\n        content\n      } = this.dimensions;\n      const activatorTop = this.attach !== false ? activator.offsetTop : activator.top;\n      let top = 0;\n\n      if (this.top || this.bottom) {\n        top = activatorTop + (this.bottom ? activator.height : -content.height) + (this.bottom ? 10 : -10);\n      } else if (this.left || this.right) {\n        top = activatorTop + activator.height / 2 - content.height / 2;\n      }\n\n      if (this.nudgeTop) top -= parseInt(this.nudgeTop);\n      if (this.nudgeBottom) top += parseInt(this.nudgeBottom);\n      if (this.attach === false) top += this.pageYOffset;\n      return `${this.calcYOverflow(top)}px`;\n    },\n\n    classes() {\n      return {\n        'v-tooltip--top': this.top,\n        'v-tooltip--right': this.right,\n        'v-tooltip--bottom': this.bottom,\n        'v-tooltip--left': this.left,\n        'v-tooltip--attached': this.attach === '' || this.attach === true || this.attach === 'attach'\n      };\n    },\n\n    computedTransition() {\n      if (this.transition) return this.transition;\n      return this.isActive ? 'scale-transition' : 'fade-transition';\n    },\n\n    offsetY() {\n      return this.top || this.bottom;\n    },\n\n    offsetX() {\n      return this.left || this.right;\n    },\n\n    styles() {\n      return {\n        left: this.calculatedLeft,\n        maxWidth: convertToUnit(this.maxWidth),\n        minWidth: convertToUnit(this.minWidth),\n        top: this.calculatedTop,\n        zIndex: this.zIndex || this.activeZIndex\n      };\n    }\n\n  },\n\n  beforeMount() {\n    this.$nextTick(() => {\n      this.value && this.callActivate();\n    });\n  },\n\n  mounted() {\n    if (getSlotType(this, 'activator', true) === 'v-slot') {\n      consoleError(`v-tooltip's activator slot must be bound, try '<template #activator=\"data\"><v-btn v-on=\"data.on>'`, this);\n    }\n  },\n\n  methods: {\n    activate() {\n      // Update coordinates and dimensions of menu\n      // and its activator\n      this.updateDimensions(); // Start the transition\n\n      requestAnimationFrame(this.startTransition);\n    },\n\n    deactivate() {\n      this.runDelay('close');\n    },\n\n    genActivatorListeners() {\n      const listeners = Activatable.options.methods.genActivatorListeners.call(this);\n\n      if (this.openOnFocus) {\n        listeners.focus = e => {\n          this.getActivator(e);\n          this.runDelay('open');\n        };\n\n        listeners.blur = e => {\n          this.getActivator(e);\n          this.runDelay('close');\n        };\n      }\n\n      listeners.keydown = e => {\n        if (e.keyCode === keyCodes.esc) {\n          this.getActivator(e);\n          this.runDelay('close');\n        }\n      };\n\n      return listeners;\n    },\n\n    genActivatorAttributes() {\n      return {\n        'aria-haspopup': true,\n        'aria-expanded': String(this.isActive)\n      };\n    },\n\n    genTransition() {\n      const content = this.genContent();\n      if (!this.computedTransition) return content;\n      return this.$createElement('transition', {\n        props: {\n          name: this.computedTransition\n        }\n      }, [content]);\n    },\n\n    genContent() {\n      return this.$createElement('div', this.setBackgroundColor(this.color, {\n        staticClass: 'v-tooltip__content',\n        class: {\n          [this.contentClass]: true,\n          menuable__content__active: this.isActive,\n          'v-tooltip__content--fixed': this.activatorFixed\n        },\n        style: this.styles,\n        attrs: this.getScopeIdAttrs(),\n        directives: [{\n          name: 'show',\n          value: this.isContentActive\n        }],\n        ref: 'content'\n      }), this.getContentSlot());\n    }\n\n  },\n\n  render(h) {\n    return h(this.tag, {\n      staticClass: 'v-tooltip',\n      class: this.classes\n    }, [this.showLazyContent(() => [this.genTransition()]), this.genActivator()]);\n  }\n\n});\n//# sourceMappingURL=VTooltip.js.map","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VList.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"2f2379ee\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./MemberCard.vue?vue&type=style&index=0&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"11c0a204\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VOverlay.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"f49c5632\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VRadioGroup.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"8fc50552\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Staff Listing By Division \")]),_c('v-row',[_c('v-col',{attrs:{\"pb-5\":\"\",\"md\":\"3\",\"offset-md\":\"4\",\"offset-sm\":\"0\",\"cols\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',{staticClass:\"text-center\",staticStyle:{\"display\":\"inherit\"}},[_c('h3',[_vm._v(\"Director\")])]),_c('v-card-text',[(_vm.items.length > 0)?_c('span',[_c('PersonCard',{attrs:{\"expand\":false,\"UserProp\":_vm.Director,\"bigImage\":true}})],1):_vm._e()])],1)],1),_c('v-col',{attrs:{\"pb-5\":\"\",\"md\":\"3\",\"offset-md\":\"2\",\"offset-sm\":\"0\",\"cols\":\"12\"}},[_c('v-card',{staticClass:\"pt-4 mt-4\",attrs:{\"flat\":\"\"}},[_c('v-card-title',{staticClass:\"text-center\",staticStyle:{\"display\":\"inherit\"}},[_c('b',[_vm._v(\"Code Counsel\")])]),_c('v-card-text',[(_vm.items.length > 0)?_c('span',[_c('PersonCard',{attrs:{\"expand\":false,\"UserProp\":_vm.CodeCounsel}})],1):_vm._e()])],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"pb-5\":\"\",\"md\":\"3\",\"cols\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',{staticClass:\"text-center pa-0\",staticStyle:{\"display\":\"inherit\"}},[_c('b',[_vm._v(\"Research & Legal\")])]),_c('v-card-text',[_c('v-list',[_vm._l((_vm.Research),function(i){return [_c('v-list-item',[_c('v-list-item-content',[_c('PersonCard',{attrs:{\"expand\":false,\"UserProp\":i}})],1)],1)]})],2)],1)],1)],1),_c('v-col',{attrs:{\"pb-5\":\"\",\"md\":\"3\",\"cols\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',{staticClass:\"text-center pa-0\",staticStyle:{\"display\":\"inherit\"}},[_c('b',[_vm._v(\"Fiscal Analysis\")])]),_c('v-card-text',[_c('v-list',[_vm._l((_vm.Fiscal),function(i){return [_c('v-list-item',[_c('v-list-item-content',[_c('PersonCard',{attrs:{\"expand\":false,\"UserProp\":i}})],1)],1)]})],2)],1)],1)],1),_c('v-col',{attrs:{\"pb-5\":\"\",\"md\":\"3\",\"cols\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',{staticClass:\"text-center pa-0\",staticStyle:{\"display\":\"inherit\"}},[_c('b',[_vm._v(\"Operations\")])]),_c('v-card-text',[_c('v-list',[_vm._l((_vm.Operations),function(i){return [_c('v-list-item',[_c('v-list-item-content',[_c('PersonCard',{attrs:{\"expand\":false,\"UserProp\":i}})],1)],1)]})],2)],1)],1)],1),_c('v-col',{attrs:{\"pb-5\":\"\",\"md\":\"3\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',{staticClass:\"text-center pa-0\",staticStyle:{\"display\":\"inherit\"}},[_c('b',[_vm._v(\"IT\")])]),_c('v-card-text',[_c('v-list',[_vm._l((_vm.IT),function(i){return [_c('v-list-item',[_c('v-list-item-content',[_c('PersonCard',{attrs:{\"expand\":false,\"UserProp\":i}})],1)],1)]})],2)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\" cols=\"12\">\r\n            <div class=\"headline\">\r\n                Staff Listing By Division\r\n            </div>\r\n\r\n            <v-row>\r\n                <v-col pb-5 md=\"3\" offset-md=\"4\" offset-sm=\"0\" cols=\"12\">\r\n                    <v-card flat>\r\n                        <v-card-title style=\"display:inherit\" class=\"text-center\">\r\n                            <h3>Director</h3>\r\n                        </v-card-title>\r\n                        <v-card-text>\r\n                            <span v-if=\"items.length > 0\">\r\n                                <PersonCard :expand=\"false\" :UserProp=\"Director\" :bigImage=\"true\"></PersonCard>\r\n                            </span>\r\n                        </v-card-text>\r\n                    </v-card>\r\n                </v-col>\r\n                <v-col pb-5 md=\"3\" offset-md=\"2\" offset-sm=\"0\" cols=\"12\">\r\n                    <v-card flat class=\"pt-4 mt-4\">\r\n                        <v-card-title style=\"display:inherit\" class=\"text-center\">\r\n                            <b>Code Counsel</b>\r\n                        </v-card-title>\r\n                        <v-card-text>\r\n                            <span v-if=\"items.length > 0\">\r\n                                <PersonCard :expand=\"false\" :UserProp=\"CodeCounsel\"></PersonCard>\r\n                            </span>\r\n                        </v-card-text>\r\n                    </v-card>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row>\r\n                <v-col pb-5 md=\"3\" cols=\"12\">\r\n                    <v-card flat>\r\n                        <v-card-title style=\"display:inherit\" class=\"text-center  pa-0\">\r\n                            <b>Research & Legal</b>\r\n                        </v-card-title>\r\n                        <v-card-text>\r\n                            <v-list>\r\n                                <template v-for=\"i in Research\">\r\n                                    <v-list-item>\r\n                                        <v-list-item-content>\r\n                                            <PersonCard :expand=\"false\" :UserProp=\"i\"></PersonCard>\r\n                                        </v-list-item-content>\r\n                                    </v-list-item>\r\n                                </template>\r\n                            </v-list>\r\n                        </v-card-text>\r\n                    </v-card>\r\n                </v-col>\r\n                <v-col pb-5 md=\"3\" cols=\"12\">\r\n                    <v-card flat>\r\n                        <v-card-title style=\"display:inherit\" class=\"text-center  pa-0\">\r\n                            <b>Fiscal Analysis</b>\r\n                        </v-card-title>\r\n                        <v-card-text>\r\n                            <v-list>\r\n                                <template v-for=\"i in Fiscal\">\r\n                                    <v-list-item>\r\n                                        <v-list-item-content>\r\n                                            <PersonCard :expand=\"false\" :UserProp=\"i\"></PersonCard>\r\n                                        </v-list-item-content>\r\n                                    </v-list-item>\r\n                                </template>\r\n                            </v-list>\r\n                        </v-card-text>\r\n                    </v-card>\r\n                </v-col>\r\n                <v-col pb-5 md=\"3\" cols=\"12\">\r\n                    <v-card flat>\r\n                        <v-card-title style=\"display:inherit\" class=\"text-center  pa-0\">\r\n                            <b>Operations</b>\r\n                        </v-card-title>\r\n                        <v-card-text>\r\n                            <v-list>\r\n                                <template v-for=\"i in Operations\">\r\n                                    <v-list-item>\r\n                                        <v-list-item-content>\r\n                                            <PersonCard :expand=\"false\" :UserProp=\"i\"></PersonCard>\r\n                                        </v-list-item-content>\r\n                                    </v-list-item>\r\n                                </template>\r\n                            </v-list>\r\n                        </v-card-text>\r\n                    </v-card>\r\n                </v-col>\r\n                <v-col pb-5 md=\"3\">\r\n                    <v-card flat>\r\n                        <v-card-title style=\"display:inherit\" class=\"text-center  pa-0\">\r\n                            <b>IT</b>\r\n                        </v-card-title>\r\n                        <v-card-text>\r\n                            <v-list>\r\n                                <template v-for=\"i in IT\">\r\n                                    <v-list-item>\r\n                                        <v-list-item-content>\r\n                                            <PersonCard :expand=\"false\" :UserProp=\"i\"></PersonCard>\r\n                                        </v-list-item-content>\r\n                                    </v-list-item>\r\n                                </template>\r\n                            </v-list>\r\n                        </v-card-text>\r\n                    </v-card>\r\n                </v-col>\r\n            </v-row>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    import { DirectorHead, It, Operations, Fiscal, Research, CodeCounselHead } from '@/utils'\r\n\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const PersonCard = () => import(\"@/Components/PersonCard.vue\");\r\n\r\n    export default {\r\n        name: 'Division',\r\n        components: {\r\n            PersonCard, Sidebar\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                fetch('/api/Users', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    this.loading = false;\r\n                    if (res.ok)\r\n                    {\r\n                        return res.json();\r\n                    }\r\n                    else\r\n                    {\r\n                        throw new Error(res.statusText);\r\n                    }\r\n                }).then(response =>\r\n                {\r\n                    this.items = EncodeDatetimes(response);\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            filterDepartment(item)\r\n            {\r\n                this.filterValue = item;\r\n\r\n            },\r\n            fieldSorter(fields)\r\n            {\r\n                return function (a, b)\r\n                {\r\n                    return fields\r\n                        .map(function (o)\r\n                        {\r\n                            var dir = 1;\r\n                            if (o[0] === '-')\r\n                            {\r\n                                dir = -1;\r\n                                o = o.substring(1);\r\n                            }\r\n                            if (a[o] > b[o]) return dir;\r\n                            if (a[o] < b[o]) return -(dir);\r\n                            return 0;\r\n                        })\r\n                        .reduce(function firstNonZeroValue(p, n)\r\n                        {\r\n                            return p ? p : n;\r\n                        }, 0);\r\n                };\r\n            },\r\n            sizeOfColumn(i)\r\n            {\r\n                if (i.StaffGroupId == 1 && this.filterValue != 'All')\r\n                {\r\n                    return 'md6 offset-md-3';\r\n                } else\r\n                {\r\n                    return 'md6';\r\n                }\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                items: [],\r\n            };\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n\r\n        },\r\n        computed: {\r\n            Director: function ()\r\n            {\r\n                if (this.items.length > 0)\r\n                {\r\n                    return DirectorHead(this.items);\r\n                }\r\n                else\r\n                {\r\n                    return {};\r\n                }\r\n            },\r\n            CodeCounsel: function ()\r\n            {\r\n                if (this.items.length > 0)\r\n                {\r\n                    return CodeCounselHead(this.items);\r\n                }\r\n                else\r\n                {\r\n                    return {};\r\n                }\r\n            },\r\n            Staff: function ()\r\n            {\r\n                if (this.items.length > 0)\r\n                {\r\n                    let directorId = (this.Director() || {}).UserId;\r\n\r\n                    return this.items.filter(x => x.UserId != directorId);\r\n                }\r\n                else\r\n                {\r\n                    return {};\r\n                }\r\n            },\r\n            Fiscal: function ()\r\n            {\r\n                if (this.items.length > 0)\r\n                {\r\n                    return Fiscal(this.items, true);\r\n                } else\r\n                {\r\n                    return {};\r\n                }\r\n            },\r\n            Research: function ()\r\n            {\r\n                if (this.items.length > 0)\r\n                {\r\n                    return Research(this.items, true);\r\n                }\r\n                else\r\n                {\r\n                    return {};\r\n                }\r\n            },\r\n            Operations: function ()\r\n            {\r\n                if (this.items.length > 0)\r\n                {\r\n                    return Operations(this.items, true);\r\n                }\r\n                else\r\n                {\r\n                    return {};\r\n                }\r\n            },\r\n            IT: function ()\r\n            {\r\n                if (this.items.length > 0)\r\n                {\r\n                    return It(this.items, true);\r\n                } else\r\n                {\r\n                    return {};\r\n                }\r\n            },\r\n            Title: function ()\r\n            {\r\n                let title = 'Staff by Division';\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            };\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Division.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Division.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Division.vue?vue&type=template&id=b26b44ee&\"\nimport script from \"./Division.vue?vue&type=script&lang=js&\"\nexport * from \"./Division.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VList,VListItem,VListItemContent,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"md\":\"2\",\"cols\":\"12\"}},[_c('RedistrictingMenu')],1),_c('v-col',{attrs:{\"md\":\"10\",\"cols\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_c('h3',[_vm._v(\"FAQs\")])]),_c('v-card-text',[_c('h3',[_vm._v(\" What is reapportionment? \")]),_c('p',[_vm._v(\" Reapportionment refers to the process of assigning seats in the United States House of Representatives among the fifty states. Every ten years, the U.S. Census Bureau uses a formula based on population to calculate the apportionment of these seats. This method has been used in every census since 1940. After apportionment, it is up to the individual states to redraw their Congressional districts to account for any changes. Since South Dakota only has one congressional seat currently, reapportionment did not affect the state. \")]),_c('h3',[_vm._v(\" What is redistricting? \")]),_c('p',[_vm._v(\" Redistricting is the process of redrawing legislative district boundaries from which public officials are elected. Redistricting in South Dakota takes place after the release of the decennial census data. Each district must have reasonably equal populations. \")]),_c('h3',[_vm._v(\"What is the decennial census?\")]),_c('p',[_vm._v(\" The decennial census counts every resident of the United States. It has been conducted in years ending in \\\"0\\\" since 1790, as required by Article I, Section 2 of the U.S. Constitution. \")]),_c('h3',[_vm._v(\"Who has primary responsibility for redistricting?\")]),_c('p',[_vm._v(\" In South Dakota, the state legislature is responsible for redistricting according to the South Dakota Constitution. All new districts must be voted on and then approved by the House and Senate, and then signed by the Governor. \")]),_c('h3',[_vm._v(\" When do the new districts take effect? \")]),_c('p',[_vm._v(\" Once approved, the new Senate and House districts will become effective for the 2022 election cycle. \")]),_c('h3',[_vm._v(\"How are local districts drawn?\")]),_c('p',[_vm._v(\" Local redistricting also follows the once-a-decade census. Local jurisdictions include county boards of supervisors, city councils, school boards, and some special district boards. The timeline for local redistricting varies, with some local redistricting not being finished for a year or more still. \")]),_c('h3',[_vm._v(\" What are communities of interest? \")]),_c('p',[_vm._v(\" A community of interest is defined as a group of people in a geographical area, which share similar interests and priorities: social, cultural, ethnic, economic, religious, or political, such as: \"),_c('ul',[_c('li',[_vm._v(\"Shared interests\")]),_c('li',[_vm._v(\"Housing patterns\")]),_c('li',[_vm._v(\"Living conditions\")]),_c('li',[_vm._v(\"Neighborhoods\")]),_c('li',[_vm._v(\"Economic status\")]),_c('li',[_vm._v(\"Education\")])])]),_c('h3',[_vm._v(\" How many people will be in each district? \")]),_c('p',[_vm._v(\" The number of people allocated to each district is based on the 2020 Census, which determined that the population of South Dakota was 886,667 as of April 1, 2020. The redistricting committees have determined that there will be 35 legislative districts. As a result, the target number for each Senate district in South Dakota should be approximately 25,333 people. \")]),_c('h3',[_vm._v(\" When will we get the data? \")]),_c('p',[_vm._v(\" While the state has received the total population counts from the Census Bureau, it is still waiting for the redistricting data, known as the P.L. 94-171 data. That data will provide more granular details of how the population in South Dakota communities has changed. All that information will be delivered to the states by August 12, 2021, and be available to the public one week to 10 days later. On September 30, 2021, the Census Bureau will make available simple, easy-to-navigate tables. \")]),_c('h3',[_vm._v(\" Where and when does the data needed for redistricting come from? \")]),_c('p',[_vm._v(\" The redistricting process usually begins after the census apportionment and redistricting data is released to the states. By law, the Bureau must deliver apportionment data to the President by December 31 of the year ending in zero, which is then transmitted to Congress and the states. Redistricting data, known as P.L. 94-171 data, should be delivered to the states by March 31 of the year ending in one. Due to the COVID-19 pandemic, Census data collection was delayed, leading to delays in the processing of the required deliverables. Therefore, South Dakota does not expect to have the necessary redistricting data until August 12, 2021, at which time it can begin the process of drafting maps. \")]),_c('h3',[_vm._v(\" What criteria must be considered in redrawing district boundaries? \")]),_c('p',[_vm._v(\" State and federal law tells us how the redrawing of district boundaries must happen. First, South Dakota must: \"),_c('ul',[_c('li',[_c('i',[_vm._v(\"Ensure equal population\")]),_vm._v(\". We must ensure that each legislative district roughly has the target number of people in it, which is 25,333 people.\")]),_c('li',[_c('i',[_vm._v(\"Comply with the Federal Voting Rights Act\")]),_vm._v(\". This law was passed by Congress to ensure that minorities have an equal opportunity to elect representatives of their choice.\")])])]),_c('p',[_vm._v(\" Additionally, South Dakota has additional criteria it uses in drawing the districts, which include: \"),_c('ul',[_c('li',[_c('i',[_vm._v(\"Adherence to standards of population deviance\")]),_vm._v(\". That means states have some flexibility to draw districts with more or less people than the target number, if the reason the legislature did so is somewhere on this list.\")]),_c('li',[_c('i',[_vm._v(\"Protection of minority voting rights\")]),_vm._v(\". South Dakota has its own requirements, outside of the Federal Voting Rights Act, to ensure minorities have equitable representation.\")]),_c('li',[_c('i',[_vm._v(\"Be contiguous\")]),_vm._v(\". This means you can travel from one end of the district to the other without ever leaving the district.\")]),_c('li',[_c('i',[_vm._v(\"Be compact\")]),_vm._v(\". There are many definitions of compactness. Generally, it refers to the shape and size of a district, still accounting for equal population, that tends to be more geometric and has a clear center point.\")]),_c('li',[_c('i',[_vm._v(\"Respect geographical and political boundaries\")]),_vm._v(\". That means trying to keep counties, cities, reservations, etc. together within a district.\")])])]),_c('h3',[_vm._v(\" How can the public get involved? \")]),_c('p',[_vm._v(\" Public participation plays an integral role in the redistricting process. There are many ways to get involved and have your voice be heard. You can contact the committee at \"),_c('a',{attrs:{\"href\":\"mailto:sdredistricting@sdlegislature.gov\"}},[_vm._v(\"sdredistricting@sdlegislature.gov\")]),_vm._v(\". You can also attend a public hearing or contact your local representatives. See our resources and links pages for additional ways you can get involved. \")])])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container fluid>\r\n        <v-row no-gutters>\r\n            <v-col md=\"2\" cols=\"12\">\r\n                <RedistrictingMenu></RedistrictingMenu>\r\n            </v-col>\r\n            <v-col md=\"10\" cols=\"12\">\r\n                <v-card flat>\r\n                    <v-card-title>\r\n                        <h3>FAQs</h3>\r\n                    </v-card-title>\r\n                    <v-card-text>\r\n                        <h3>\r\n                            What is reapportionment?\r\n                        </h3>\r\n                        <p>\r\n                            Reapportionment refers to the process of assigning seats in the United States House of Representatives among the fifty states. Every ten years, the U.S. Census Bureau uses a formula based on population to calculate the apportionment of these seats. This method has been used in every census since 1940. After apportionment, it is up to the individual states to redraw their Congressional districts to account for any changes. Since South Dakota only has one congressional seat currently, reapportionment did not affect the state.\r\n                        </p>\r\n\r\n                        <h3>\r\n                            What is redistricting?\r\n                        </h3>\r\n                        <p>\r\n                            Redistricting is the process of redrawing legislative district boundaries from which public officials are elected. Redistricting in South Dakota takes place after the release of the decennial census data. Each district must have reasonably equal populations.\r\n                        </p>\r\n\r\n                        <h3>What is the decennial census?</h3>\r\n                        <p>\r\n                            The decennial census counts every resident of the United States. It has been conducted in years ending in \"0\" since 1790, as required by Article I, Section 2 of the U.S. Constitution.\r\n                        </p>\r\n\r\n                        <h3>Who has primary responsibility for redistricting?</h3>\r\n                        <p>\r\n                            In South Dakota, the state legislature is responsible for redistricting according to the South Dakota Constitution. All new districts must be voted on and then approved by the House and Senate, and then signed by the Governor.\r\n                        </p>\r\n\r\n                        <h3>\r\n                            When do the new districts take effect?\r\n                        </h3>\r\n                        <p>\r\n                            Once approved, the new Senate and House districts will become effective for the 2022 election cycle.\r\n                        </p>\r\n\r\n                        <h3>How are local districts drawn?</h3>\r\n                        <p>\r\n                            Local redistricting also follows the once-a-decade census. Local jurisdictions include county boards of supervisors, city councils, school boards, and some special district boards. The timeline for local redistricting varies, with some local redistricting not being finished for a year or more still.\r\n                        </p>\r\n                        <h3>\r\n                            What are communities of interest?\r\n                        </h3>\r\n                        <p>\r\n                            A community of interest is defined as a group of people in a geographical area, which share similar interests and priorities: social, cultural, ethnic, economic, religious, or political, such as:\r\n                            <ul>\r\n                                <li>Shared interests</li>\r\n                                <li>Housing patterns</li>\r\n                                <li>Living conditions</li>\r\n                                <li>Neighborhoods</li>\r\n                                <li>Economic status</li>\r\n                                <li>Education</li>\r\n                            </ul>\r\n                        </p>\r\n                        <h3>\r\n                            How many people will be in each district?\r\n                        </h3>\r\n                        <p>\r\n                            The number of people allocated to each district is based on the 2020 Census, which determined that the population of South Dakota was 886,667 as of April 1, 2020. The redistricting committees have determined that there will be 35 legislative districts. As a result, the target number for each Senate district in South Dakota should be approximately 25,333 people.\r\n                        </p>\r\n                        <h3>\r\n                            When will we get the data?\r\n                        </h3>\r\n                        <p>\r\n                            While the state has received the total population counts from the Census Bureau, it is still waiting for the redistricting data, known as the P.L. 94-171 data. That data will provide more granular details of how the population in South Dakota communities has changed. All that information will be delivered to the states by August 12, 2021, and be available to the public one week to 10 days later. On September 30, 2021, the Census Bureau will make available simple, easy-to-navigate tables.\r\n                        </p>\r\n                        <h3>\r\n                            Where and when does the data needed for redistricting come from?\r\n                        </h3>\r\n                        <p>\r\n                            The redistricting process usually begins after the census apportionment and redistricting data is released to the states. By law, the Bureau must deliver apportionment data to the President by December 31 of the year ending in zero, which is then transmitted to Congress and the states. Redistricting data, known as P.L. 94-171 data, should be delivered to the states by March 31 of the year ending in one. Due to the COVID-19 pandemic, Census data collection was delayed, leading to delays in the processing of the required deliverables. Therefore, South Dakota does not expect to have the necessary redistricting data until August 12, 2021, at which time it can begin the process of drafting maps.\r\n                        </p>\r\n                        <h3>\r\n                            What criteria must be considered in redrawing district boundaries?\r\n                        </h3>\r\n                        <p>\r\n                            State and federal law tells us how the redrawing of district boundaries must happen. First, South Dakota must:\r\n                            <ul>\r\n                                <li><i>Ensure equal population</i>. We must ensure that each legislative district roughly has the target number of people in it, which is 25,333 people.</li>\r\n                                <li><i>Comply with the Federal Voting Rights Act</i>. This law was passed by Congress to ensure that minorities have an equal opportunity to elect representatives of their choice.</li>\r\n                            </ul>\r\n                        </p>\r\n                        <p>\r\n                            Additionally, South Dakota has additional criteria it uses in drawing the districts, which include:\r\n                            <ul>\r\n                                <li><i>Adherence to standards of population deviance</i>. That means states have some flexibility to draw districts with more or less people than the target number, if the reason the legislature did so is somewhere on this list.</li>\r\n                                <li><i>Protection of minority voting rights</i>. South Dakota has its own requirements, outside of the Federal Voting Rights Act, to ensure minorities have equitable representation.</li>\r\n                                <li><i>Be contiguous</i>. This means you can travel from one end of the district to the other without ever leaving the district.</li>\r\n                                <li><i>Be compact</i>. There are many definitions of compactness. Generally, it refers to the shape and size of a district, still accounting for equal population, that tends to be more geometric and has a clear center point.</li>\r\n                                <li><i>Respect geographical and political boundaries</i>. That means trying to keep counties, cities, reservations, etc. together within a district.</li>\r\n                            </ul>\r\n                        </p>\r\n                        <h3>\r\n                            How can the public get involved?\r\n                        </h3>\r\n                        <p>\r\n                            Public participation plays an integral role in the redistricting process. There are many ways to get involved and have your voice be heard. You can contact the committee at <a href=\"mailto:sdredistricting@sdlegislature.gov\">sdredistricting@sdlegislature.gov</a>. You can also attend a public hearing or contact your local representatives. See our resources and links pages for additional ways you can get involved.\r\n                        </p>\r\n                    </v-card-text>\r\n                </v-card>\r\n            </v-col>\r\n        </v-row>\r\n    </v-container>\r\n</template>\r\n<script>\r\n    const RedistrictingMenu = () => import(\"@/Redistricting/RedistrictingMenu.vue\");\r\n\r\n    export default {\r\n        name: 'Faq',\r\n\r\n        components: {\r\n            RedistrictingMenu\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n\r\n        },\r\n        watch: {\r\n\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Redistricting FAQ';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Faq.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Faq.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Faq.vue?vue&type=template&id=f62b1192&\"\nimport script from \"./Faq.vue?vue&type=script&lang=js&\"\nexport * from \"./Faq.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,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:\"headline\"},[_vm._v(\" Resources \")]),_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"md6\":\"\",\"xs12\":\"\"}},[_c('div',[_vm._v(\"Reference Series\")]),_c('v-list',_vm._l((_vm.References),function(i){return _c('v-list-item',[_c('v-list-item-content',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/Student Reference Series/' +i.DocumentId + '.pdf'}},[_vm._v(\" \"+_vm._s(i.Title)),_c('sup',[_vm._v(\"(PDF)\")])])])],1)}),1)],1),_c('v-flex',{attrs:{\"md6\":\"\",\"xs12\":\"\"}},[_c('div',[_vm._v(\"Other Materials\")]),_c('v-list',_vm._l((_vm.Other),function(i){return _c('v-list-item',[_c('v-list-item-content',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/Student Other Materials/' +i.DocumentId + '.pdf'}},[_vm._v(\" \"+_vm._s(i.Title)),_c('sup',[_vm._v(\"(PDF)\")])])])],1)}),1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n<v-container>\r\n    <div class=\"headline\">\r\n        Resources\r\n    </div>\r\n    <v-container>\r\n        <v-layout row wrap>\r\n            <v-flex md6 xs12>\r\n                <div>Reference Series</div>\r\n                <v-list>\r\n                    <v-list-item v-for=\"i in References\">\r\n                        <v-list-item-content>\r\n                            <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/Student Reference Series/' +i.DocumentId + '.pdf'\">\r\n                                {{i.Title}}<sup>(PDF)</sup>\r\n                            </a>\r\n                        </v-list-item-content>\r\n                    </v-list-item>\r\n                </v-list>\r\n            </v-flex>\r\n            <v-flex md6 xs12>\r\n                <div>Other Materials</div>\r\n                <v-list>\r\n                    <v-list-item v-for=\"i in Other\">\r\n                        <v-list-item-content>\r\n                            <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/Student Other Materials/' +i.DocumentId + '.pdf'\">\r\n                                {{i.Title}}<sup>(PDF)</sup>\r\n                            </a>\r\n                        </v-list-item-content>\r\n                    </v-list-item>\r\n                </v-list>\r\n            </v-flex>\r\n        </v-layout>\r\n    </v-container>\r\n</v-container>\r\n</template>\r\n<script>\r\n    export default {\r\n        name: 'PublicResources',\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Documents/DocumentType?Type=81&Type=82', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.items = EncodeDatetimes(response);\r\n                    this.References = this.items.filter(x => x.DocumentTypeId == 81).sort((a, b) => (a.Title < b.Title ? -1 : 1));\r\n                    this.Other = this.items.filter(x => x.DocumentTypeId == 82).sort((a, b) => (a.Title < b.Title ? -1 : 1));\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                References: [\r\n\r\n                ],\r\n                Other: [\r\n\r\n                ],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Public Resources';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicResources.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicResources.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PublicResources.vue?vue&type=template&id=74c946e7&\"\nimport script from \"./PublicResources.vue?vue&type=script&lang=js&\"\nexport * from \"./PublicResources.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } 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';\ninstallComponents(component, {VContainer,VFlex,VLayout,VList,VListItem,VListItemContent})\n","// Styles\nimport \"../../../src/styles/components/_selection-controls.sass\";\nimport \"../../../src/components/VRadioGroup/VRadioGroup.sass\"; // Extensions\n\nimport VInput from '../VInput';\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'; // Types\n\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(BaseItemGroup, VInput);\n/* @vue/component */\n\nexport default baseMixins.extend({\n  name: 'v-radio-group',\n\n  provide() {\n    return {\n      radioGroup: this\n    };\n  },\n\n  props: {\n    column: {\n      type: Boolean,\n      default: true\n    },\n    height: {\n      type: [Number, String],\n      default: 'auto'\n    },\n    name: String,\n    row: Boolean,\n    // If no value set on VRadio\n    // will match valueComparator\n    // force default to null\n    value: null\n  },\n  computed: {\n    classes() {\n      return { ...VInput.options.computed.classes.call(this),\n        'v-input--selection-controls v-input--radio-group': true,\n        'v-input--radio-group--column': this.column && !this.row,\n        'v-input--radio-group--row': this.row\n      };\n    }\n\n  },\n  methods: {\n    genDefaultSlot() {\n      return this.$createElement('div', {\n        staticClass: 'v-input--radio-group__input',\n        attrs: {\n          id: this.id,\n          role: 'radiogroup',\n          'aria-labelledby': this.computedId\n        }\n      }, VInput.options.methods.genDefaultSlot.call(this));\n    },\n\n    genInputSlot() {\n      const render = VInput.options.methods.genInputSlot.call(this);\n      delete render.data.on.click;\n      return render;\n    },\n\n    genLabel() {\n      const label = VInput.options.methods.genLabel.call(this);\n      if (!label) return null;\n      label.data.attrs.id = this.computedId; // WAI considers this an orphaned label\n\n      delete label.data.attrs.for;\n      label.tag = 'legend';\n      return label;\n    },\n\n    onClick: BaseItemGroup.options.methods.onClick\n  },\n\n  render(h) {\n    const vnode = VInput.options.render.call(this, h);\n\n    this._b(vnode.data, 'div', this.attrs$);\n\n    return vnode;\n  }\n\n});\n//# sourceMappingURL=VRadioGroup.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\"South Dakota Historical Listing Tenure 15 - 19 Years\")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"MemberId + Year\",\"sort-by\":['LastName', 'FirstName'],\"sort-desc\":[false, false],\"loading\":_vm.loading,\"items-per-page\":999,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Historical/Legislator/Profile/' + item.MemberId}},[_vm._v(_vm._s(item.LastName + \", \" + item.FirstName))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">South Dakota Historical Listing Tenure 15 - 19 Years</div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"items\"\r\n                                 item-key=\"MemberId + Year\"\r\n                                 :sort-by=\"['LastName', 'FirstName']\"\r\n                                 :sort-desc=\"[false, false]\"\r\n                                 :loading=\"loading\"\r\n                                 :items-per-page=\"999\"\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.Name=\"{ item }\">\r\n                    <router-link :to=\"'/Historical/Legislator/Profile/' + item.MemberId\">{{item.LastName + \",&nbsp;\" + item.FirstName }}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'FifteenYear',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                fetch('/api/Historical/Tenure/15/19', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    if (res.ok)\r\n                        return res.json();\r\n                    else\r\n                        throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    if (response)\r\n                    {\r\n                        let r = EncodeDatetimes(response);\r\n\r\n                        r.forEach(x =>\r\n                        {\r\n                            x.Name = x.LastName + ', ' + x.FirstName;\r\n                        });\r\n\r\n                        this.items = r;\r\n                    }\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                }).finally(_ =>\r\n                {\r\n                    this.loading = false;\r\n                });\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                search: '',\r\n                loading: true,\r\n                items: [],\r\n                headers: [\r\n                    { text: 'Name', value: 'Name' },\r\n                    { text: 'Birthdate', value: 'Birthdate' },\r\n                    { text: 'Deathdate', value: 'Deathdate' },\r\n                    { text: 'Years', value: 'Years' },\r\n                    { text: 'Remarks', value: 'Remarks' },\r\n                ],\r\n\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./FifteenYear.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./FifteenYear.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FifteenYear.vue?vue&type=template&id=61b39fc6&\"\nimport script from \"./FifteenYear.vue?vue&type=script&lang=js&\"\nexport * from \"./FifteenYear.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Constitution \"),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('v-row',{staticClass:\"text-center\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"5\"}},[_c('v-breadcrumbs',{staticClass:\"py-0\",staticStyle:{\"font-size\":\"18px\"},attrs:{\"divider\":\">\",\"items\":_vm.breadcrumbs}})],1),(!_vm.loading && _vm.item)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"7\"}},[(_vm.item.Previous && _vm.currentRoute.includes('Constitution'))?_c('v-btn',{staticClass:\"ma-2\",attrs:{\"color\":\"primary\",\"to\":'/Constitution/' + _vm.item.Previous}},[_c('v-icon',[_vm._v(_vm._s(_vm.arrow_back))]),_vm._v(\" Previous \")],1):_vm._e(),(_vm.item.Next && _vm.currentRoute.includes('Constitution'))?_c('v-btn',{attrs:{\"color\":\"primary\",\"to\":'/Constitution/' + _vm.item.Next}},[_vm._v(\" Next \"),_c('v-icon',[_vm._v(_vm._s(_vm.arrow_forward))])],1):_vm._e()],1):_vm._e()],1),_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('GoogleSearchStatute')],1)],1)],1)],1),(!_vm.hideSessionLawSearch)?_c('v-divider',{staticStyle:{\"height\":\"10px\",\"max-height\":\"10px\"}}):_vm._e(),(_vm.Value != 'null' && _vm.item)?_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-spacer'),(_vm.item && !_vm.loading)?_c('v-btn',{staticStyle:{\"float\":\"right\"},attrs:{\"text\":\"\",\"rel\":\"noopener\",\"href\":'/api/Statutes/' + _vm.item.Statute + '.html?all=true'}},[_vm._v(\"Printer Friendly\")]):_vm._e()],1):_vm._e(),_c('v-container',[(_vm.showPendingAction)?_c('p',{staticClass:\"headline\",staticStyle:{\"color\":\"red\",\"font-size\":\"larger\"}},[_vm._v(\" Pending Court Action \")]):_vm._e(),(_vm.showUnconstitutional)?_c('p',{staticClass:\"headline\",staticStyle:{\"color\":\"red\",\"font-size\":\"larger\"}},[_vm._v(\" Article XXX was held unconstitutional by \"),_c('a',{staticStyle:{\"color\":\"inherit\",\"text-decoration\":\"underline\"},attrs:{\"href\":\"https://ujs.sd.gov/uploads/sc/opinions/2954698e671a.pdf\"}},[_vm._v(\"Thom v. Barnett, 2021 S.D. 65 (2021).\")])]):_vm._e(),(_vm.Value && _vm.Value != 'null' && _vm.item && _vm.item.Html)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.item.Html)}}):_c('div',[(!_vm.loading)?_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\"Not yet available.\")]):_vm._e()],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Constitution\r\n                <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n                <v-row class=\"text-center\">\r\n                    <v-col cols=\"12\" sm=\"6\" md=\"5\">\r\n                        <v-breadcrumbs divider=\">\" :items=\"breadcrumbs\" class=\"py-0\" style=\"font-size:18px;\"></v-breadcrumbs>\r\n                    </v-col>\r\n                    <v-col cols=\"12\" sm=\"6\" md=\"7\" v-if=\"!loading && item\">\r\n                        <v-btn class=\"ma-2\" color=\"primary\" v-if=\"item.Previous && currentRoute.includes('Constitution')\" :to=\"'/Constitution/' + item.Previous\">\r\n                            <v-icon>{{arrow_back}}</v-icon> Previous\r\n                        </v-btn>\r\n                        <v-btn color=\"primary\" v-if=\"item.Next && currentRoute.includes('Constitution')\" :to=\"'/Constitution/' + item.Next\">\r\n                            Next <v-icon>{{arrow_forward}}</v-icon>\r\n                        </v-btn>\r\n                    </v-col>\r\n                </v-row>\r\n                <v-container>\r\n                    <v-layout row wrap>\r\n                        <v-flex xs12>\r\n                            <GoogleSearchStatute></GoogleSearchStatute>\r\n                        </v-flex>\r\n                    </v-layout>\r\n                </v-container>\r\n            </div>\r\n            <v-divider style=\"height: 10px; max-height: 10px\" v-if=\"!hideSessionLawSearch\"></v-divider>\r\n            <v-layout row wrap v-if=\"Value != 'null' && item\">\r\n                <v-spacer></v-spacer>\r\n                <v-btn v-if=\"item && !loading\" style=\"float:right;\" text rel=\"noopener\" :href=\"'/api/Statutes/' + item.Statute + '.html?all=true'\">Printer Friendly</v-btn>\r\n            </v-layout>\r\n            <v-container>\r\n                <p v-if=\"showPendingAction\" style=\"color: red; font-size: larger;\" class=\"headline\">\r\n                    Pending Court Action\r\n                </p>\r\n                <p v-if=\"showUnconstitutional\" style=\"color: red; font-size: larger;\" class=\"headline\">\r\n                    Article XXX was held unconstitutional by <a href=\"https://ujs.sd.gov/uploads/sc/opinions/2954698e671a.pdf\" style=\"color: inherit; text-decoration:underline;\">Thom v. Barnett, 2021 S.D. 65 (2021).</a>\r\n                </p>\r\n                <div v-if=\"Value && Value != 'null' && item && item.Html\" v-html=\"item.Html\"></div>\r\n                <div v-else>\r\n                    <v-alert v-if=\"!loading\" dense\r\n                             text\r\n                             type=\"info\">Not yet available.</v-alert>\r\n                </div>\r\n            </v-container>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n\r\n<script>\r\n    const GoogleSearch = () => import(\"@/Components/GoogleSearch.vue\");\r\n    const GoogleSearchStatute = () => import(\"@/Components/GoogleSearchStatute.vue\");\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n\r\n    import { mdiArrowLeft } from '@mdi/js';\r\n    import { mdiArrowRight } from '@mdi/js';\r\n\r\n    export default {\r\n        name: 'ConstitutionalArticle',\r\n        props: ['Value'],\r\n        components: {\r\n            GoogleSearch,\r\n            GoogleSearchStatute,\r\n            Sidebar\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n                if (this.item)\r\n                {\r\n                    this.item.Html = \"\";\r\n                }\r\n                else\r\n                {\r\n                    this.item = {\r\n                        Html: \"\",\r\n                        StatuteId: null\r\n                    };\r\n                }\r\n\r\n                if (this.Value != \"null\")\r\n                {\r\n                    this.error = null;\r\n\r\n                    if (this.Value.includes(\"0N-\"))\r\n                    {\r\n                        this.$router.push(location.pathname.replace('0N-', ''));\r\n                        return null;\r\n                    }\r\n\r\n                    fetch('/api/Statutes/Constitution/' + this.Value,\r\n                        {\r\n                            method: \"GET\",\r\n                            credentials: \"include\",\r\n                            headers: { \"Content-Type\": \"application/json\" },\r\n                        })\r\n                        .then(res =>\r\n                        {\r\n                            this.loading = false;\r\n\r\n                            if (res.redirected && res.url)\r\n                            {\r\n                                this.$router.replace(res.url.replace(location.origin, ''));\r\n                                return Promise.reject(302);\r\n                            }\r\n                            else if (res.ok)\r\n                                return res.json();\r\n                            else if (res.status === 404)\r\n                                return Promise.reject(404);\r\n                            else\r\n                                return res.text().then(r => Promise.reject(r));\r\n                        })\r\n                        .then(response =>\r\n                        {\r\n                            this.item = response;\r\n\r\n                            if (this.item)\r\n                            {\r\n                                this.createBreadcrumbs(\"Constitution\", \"/Constitution\", this.item.Statute, this.item.parents);\r\n                                this.placeholder = \"Section or Article\";\r\n\r\n                                if (this.item.Statute.indexOf('0N-30') > -1)\r\n                                {\r\n                                    this.showPendingAction = false;\r\n                                    this.showUnconstitutional = true;\r\n                                }\r\n                            }\r\n                        })\r\n                        .catch(error =>\r\n                        {\r\n                            if (error == 404)\r\n                                window.location.href = \"/404?path=\" + encodeURIComponent(window.location.pathname);\r\n                            else if (error != 302)\r\n                            {\r\n                                let e = String(error).substring(0, 100);\r\n\r\n                                if ((e || '').indexOf('Failed to fetch') > -1)\r\n                                {\r\n                                    window.location.href = \"/400?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                                }\r\n                                else\r\n                                {\r\n                                    reportError(error);\r\n                                    window.location.href = \"/500?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                                }\r\n                            }\r\n                        });\r\n\r\n                }\r\n            },\r\n            createBreadcrumbs(route, url, child, parents)\r\n            {\r\n                this.readableNumber = child;\r\n\r\n                var l = [\r\n                    {\r\n                        to: '/',\r\n                        link: true,\r\n                        text: 'Home',\r\n                        name: 'Home'\r\n                    },\r\n                    {\r\n                        to: url,\r\n                        link: true,\r\n                        text: route,\r\n                        exact: true,\r\n                        name: route\r\n                    }];\r\n\r\n                let currentVal = null;\r\n\r\n                parents.forEach((x, i) =>\r\n                {\r\n                    var bciL = {\r\n                        to: '',\r\n                        link: true,\r\n                        text: '',\r\n                        exact: true,\r\n                        name: ''\r\n                    };\r\n                    var val = '';\r\n\r\n                    if (currentVal)\r\n                    {\r\n                        currentVal += '-' + x.Statute;\r\n                    }\r\n                    else\r\n                    {\r\n                        currentVal = x.Statute;\r\n                    }\r\n\r\n                    val = currentVal;\r\n                    bciL.text = x.Statute;\r\n                    bciL.name = currentVal;\r\n\r\n                    if (x.Statute != '0N')\r\n                    {\r\n                        switch (i)\r\n                        {\r\n                            case 0:\r\n                                bciL.to = url + '/' + val;\r\n                                break;\r\n                            case 1:\r\n                                bciL.to = url + '/' + val;\r\n                                break;\r\n                            case 2:\r\n                                bciL.to = url + '/' + val;\r\n                                break;\r\n                            default:\r\n                                bciL.to = url;\r\n                                break;\r\n                        }\r\n\r\n                        if (i == parents.length - 1)\r\n                        {\r\n                            bciL.disabled = true;\r\n\r\n                        }\r\n\r\n                        l.push(bciL);\r\n                    }\r\n                });\r\n\r\n                this.breadcrumbs = l;\r\n            },\r\n\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                arrow_back: mdiArrowLeft,\r\n                arrow_forward: mdiArrowRight,\r\n                readableNumber: \"\",\r\n                loading: true,\r\n                sortBy: [],\r\n                showPendingAction: false,\r\n                showUnconstitutional: false,\r\n                item: {\r\n                    StatuteId: null,\r\n                    Html: null\r\n                },\r\n                hideSessionLawSearch: false,\r\n\r\n                breadcrumbs: [],\r\n            };\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            Value()\r\n            {\r\n                this.LoadData();\r\n            },\r\n\r\n        },\r\n        computed: {\r\n            currentRoute: function ()\r\n            {\r\n                return this.$route.path;\r\n            },\r\n            JsonldBreadCrumbs: function ()\r\n            {\r\n                let CurrentBaseURL = window.location.origin;\r\n                let ListItems = [];\r\n\r\n                this.breadcrumbs.forEach((x, i) =>\r\n                {\r\n                    let li = {\r\n                        \"@type\": \"ListItem\",\r\n                        \"position\": i,\r\n                        \"name\": x.name,\r\n                        \"item\": CurrentBaseURL + x.to\r\n                    };\r\n                    ListItems.push(li);\r\n                });\r\n                return ListItems;\r\n            },\r\n            Title: function ()\r\n            {\r\n                let title = \"Constitutional \";\r\n\r\n                if (this.item && this.item.Statute && (typeof this.item.Statute === 'string' || this.item.Statute instanceof String))\r\n                {\r\n                    title = title + this.item.Statute.replace('0N-', 'Article ');\r\n                }\r\n\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                if (this.item && this.item.CatchLine)\r\n                {\r\n                    return this.item.Catchline;\r\n                }\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                script: [\r\n                    {\r\n                        type: 'application/ld+json',\r\n                        json: {\r\n                            '@context': 'http://schema.org',\r\n                            '@type': 'Legislation',\r\n                            \"@id\": window.location.href,\r\n                            'name': 'Constitution ' + this.readableNumber,\r\n                            'description': this.Description,\r\n                            'legislationType': 'Constitution',\r\n                            'inLanguage': 'English'\r\n                        }\r\n                    }, {\r\n                        type: 'application/ld+json',\r\n                        json: {\r\n                            '@context': 'http://schema.org',\r\n                            '@type': 'BreadcrumbList',\r\n                            \"itemListElement\": this.JsonldBreadCrumbs\r\n                        }\r\n                    }],\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            };\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Article.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Article.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Article.vue?vue&type=template&id=6223b464&\"\nimport script from \"./Article.vue?vue&type=script&lang=js&\"\nexport * from \"./Article.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\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 { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBreadcrumbs,VBtn,VCol,VContainer,VDivider,VFlex,VIcon,VLayout,VProgressLinear,VRow,VSpacer})\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".custom-avatar .v-image__image--cover,.custom-avatar picture{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;background-size:contain}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Mixins\nimport Themeable from '../../mixins/themeable';\n/* @vue/component */\n\nexport default Themeable.extend({\n  name: 'v-theme-provider',\n  props: {\n    root: Boolean\n  },\n  computed: {\n    isDark() {\n      return this.root ? this.rootIsDark : Themeable.options.computed.isDark.call(this);\n    }\n\n  },\n\n  render() {\n    /* istanbul ignore next */\n    return this.$slots.default && this.$slots.default.find(node => !node.isComment && node.text !== ' ');\n  }\n\n});\n//# sourceMappingURL=VThemeProvider.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-autocomplete.v-input>.v-input__control>.v-input__slot{cursor:text}.v-autocomplete input{align-self:center}.v-autocomplete.v-select.v-input--is-focused input{min-width:64px}.v-autocomplete:not(.v-input--is-focused).v-select--chips input{max-height:0;padding:0}.v-autocomplete--is-selecting-index input{opacity:0}.v-autocomplete.v-text-field--enclosed:not(.v-text-field--solo):not(.v-text-field--single-line):not(.v-text-field--outlined) .v-select__slot>input{margin-top:24px}.v-autocomplete.v-text-field--enclosed:not(.v-text-field--solo):not(.v-text-field--single-line):not(.v-text-field--outlined).v-input--dense .v-select__slot>input{margin-top:20px}.v-autocomplete__content.v-menu__content,.v-autocomplete__content.v-menu__content .v-card{border-radius:0}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-image{color:rgba(0,0,0,.87)}.theme--dark.v-image{color:#fff}.v-image{z-index:0}.v-image__image,.v-image__placeholder{z-index:-1;position:absolute;top:0;left:0;width:100%;height:100%}.v-image__image{background-repeat:no-repeat}.v-image__image--preload{filter:blur(2px)}.v-image__image--contain{background-size:contain}.v-image__image--cover{background-size:cover}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"d-print-none\",staticStyle:{\"float\":\"left\",\"min-height\":\"50px\"}},[_c('v-navigation-drawer',{staticClass:\"hidden-sm-and-down d-print-none\",attrs:{\"floating\":\"\",\"permanent\":\"\"}},[_c('v-list',{attrs:{\"dense\":\"\",\"nav\":\"\"}},_vm._l((_vm.items),function(item){return _c('v-list-item',{key:item.id,staticStyle:{\"text-decoration\":\"none !important\"},attrs:{\"to\":item.url,\"link\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(item.text)+\" \")])],1)],1)}),1)],1),_c('div',{staticClass:\"hidden-md-and-up d-print-none\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-spacer'),_c('div',{staticClass:\"hidden-md-and-up justify-end\",staticStyle:{\"top\":\"5px\",\"position\":\"absolute\"}},[_c('v-btn',{on:{\"click\":function($event){$event.stopPropagation();_vm.drawer1 = !_vm.drawer1}}},[_c('v-icon',[_vm._v(_vm._s(_vm.dotsvertical))])],1)],1)],1)],1)],1),_c('v-navigation-drawer',{attrs:{\"right\":\"\",\"fixed\":\"\",\"clase\":\"d-print-none\",\"temporary\":\"\"},model:{value:(_vm.drawer1),callback:function ($$v) {_vm.drawer1=$$v},expression:\"drawer1\"}},[_c('v-list',{attrs:{\"dense\":\"\",\"nav\":\"\"}},_vm._l((_vm.items),function(item){return _c('v-list-item',{key:item.id,staticStyle:{\"text-decoration\":\"none !important\"},attrs:{\"to\":item.url,\"link\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-wrap\"},[_vm._v(\" \"+_vm._s(item.text)+\" \")])],1)],1)}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-card style=\"float:left; min-height: 50px;\" class=\"d-print-none\">\r\n        <v-navigation-drawer floating permanent class=\"hidden-sm-and-down d-print-none\">\r\n            <v-list dense nav>\r\n                <v-list-item v-for=\"item in items\" :key=\"item.id\" :to=\"item.url\" link style=\"text-decoration:none !important\">\r\n                    <v-list-item-content>\r\n                        <v-list-item-title>\r\n                            {{item.text}}\r\n                        </v-list-item-title>\r\n                    </v-list-item-content>\r\n                </v-list-item>\r\n            </v-list>\r\n        </v-navigation-drawer>\r\n        <div class=\"hidden-md-and-up d-print-none\">\r\n            <v-row>\r\n                <v-col cols=\"12\">\r\n                    <v-spacer></v-spacer>\r\n                    <div class=\"hidden-md-and-up justify-end\" style=\"top: 5px;position:absolute\">\r\n                        <v-btn @click.stop=\"drawer1 = !drawer1\">\r\n                            <v-icon>{{dotsvertical}}</v-icon>\r\n                        </v-btn>\r\n                    </div>\r\n                </v-col>\r\n            </v-row>\r\n        </div>\r\n        <v-navigation-drawer v-model=\"drawer1\" right fixed clase=\"d-print-none\" temporary>\r\n            <v-list dense nav>\r\n                <v-list-item v-for=\"item in items\" :key=\"item.id\" :to=\"item.url\" link style=\"text-decoration:none !important\">\r\n                    <v-list-item-content>\r\n                        <v-list-item-title class=\"text-wrap\">\r\n                            {{item.text}}\r\n                        </v-list-item-title>\r\n                    </v-list-item-content>\r\n                </v-list-item>\r\n            </v-list>\r\n        </v-navigation-drawer>\r\n    </v-card>\r\n</template>\r\n<script>\r\n    import { mdiDotsVertical } from '@mdi/js';\r\n    export default {\r\n        name: 'RedistrictingMenu',\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n                dotsvertical: mdiDotsVertical,\r\n                items: [\r\n                    { id: 1, url: '/Redistricting/Home', text: 'Redistricting' },\r\n                    { id: 2, url: '/Redistricting/Laws', text: 'Redistricting Laws' },\r\n                    { id: 3, url: '/Redistricting/CourtCases', text: 'Redistricting Court Cases' },\r\n                    { id: 4, url: '/Legislators/Find', text: 'Current Maps' },\r\n                    { id: 5, url: '/Redistricting/Faq', text: 'FAQs' },\r\n                    { id: 6, url: '/Redistricting/Resources', text: 'Resources and Links' }],\r\n                drawer1: false,\r\n            }\r\n        },\r\n        mounted: function () {\r\n        },\r\n        watch: {\r\n\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./RedistrictingMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./RedistrictingMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RedistrictingMenu.vue?vue&type=template&id=b03f63d0&\"\nimport script from \"./RedistrictingMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./RedistrictingMenu.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VCol } 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 { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCol,VIcon,VList,VListItem,VListItemContent,VListItemTitle,VNavigationDrawer,VRow,VSpacer})\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-card-text',[_c('div',[_c('div',[_vm._v(\" The South Dakota Legislative Research Council takes reasonable precautions to assure the accuracy and reliability of the data contained on this web site. No warranty, guarantee, or promise, express or implied, is made. \")]),_c('div',[_vm._v(\" The internet version of the South Dakota Codified Laws is made available as a public service. Online resources may be vulnerable to unauthorized changes or redirection. Any person who relies on any information obtained from this web site does so at that person’s own risk. In the case of inconsistencies resulting from omissions or other errors, the current printed version of the Code will prevail. \")]),_c('div',[_vm._v(\" For matters affecting legal or other rights, or to confirm content, please refer to the current printed version of the Code or consult an attorney. The staff of the Legislative Research Council may not provide legal advice. \")])])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container>\r\n        <v-card flat>\r\n            <v-card-text>\r\n                <div>\r\n                    <div>\r\n                        The South Dakota Legislative Research Council takes reasonable precautions to assure the accuracy and reliability of the data contained on this web site. No warranty, guarantee, or promise, express or implied, is made.\r\n                    </div>\r\n                    <div>\r\n                        The internet version of the South Dakota Codified Laws is made available as a public service. Online resources may be vulnerable to unauthorized changes or redirection. Any person who relies on any information obtained from this web site does so at that person’s own risk. In the case of inconsistencies resulting from omissions or other errors, the current printed version of the Code will prevail.\r\n                    </div>\r\n                    <div>\r\n                        For matters affecting legal or other rights, or to confirm content, please refer to the current printed version of the Code or consult an attorney. The staff of the Legislative Research Council may not provide legal advice.\r\n                    </div>\r\n                </div>\r\n            </v-card-text>\r\n        </v-card>\r\n    </v-container>\r\n</template>\r\n<script>\r\n    export default {\r\n        name: 'Disclaimer',\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Disclaimer';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return 'The South Dakota Legislative Research Council takes reasonable precautions to assure the accuracy and reliability of the data contained on this web site. No warranty, guarantee, or promise, express or implied, is made.';\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Disclaimer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Disclaimer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Disclaimer.vue?vue&type=template&id=438ebcc6&\"\nimport script from \"./Disclaimer.vue?vue&type=script&lang=js&\"\nexport * from \"./Disclaimer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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';\ninstallComponents(component, {VCard,VCardText,VContainer})\n","// Mixins\nimport Delayable from '../delayable';\nimport Toggleable from '../toggleable'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { getSlot, getSlotType } from '../../util/helpers';\nimport { consoleError } from '../../util/console';\nconst baseMixins = mixins(Delayable, Toggleable);\n/* @vue/component */\n\nexport default baseMixins.extend({\n  name: 'activatable',\n  props: {\n    activator: {\n      default: null,\n      validator: val => {\n        return ['string', 'object'].includes(typeof val);\n      }\n    },\n    disabled: Boolean,\n    internalActivator: Boolean,\n    openOnClick: {\n      type: Boolean,\n      default: true\n    },\n    openOnHover: Boolean,\n    openOnFocus: Boolean\n  },\n  data: () => ({\n    // Do not use this directly, call getActivator() instead\n    activatorElement: null,\n    activatorNode: [],\n    events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n    listeners: {}\n  }),\n  watch: {\n    activator: 'resetActivator',\n    openOnFocus: 'resetActivator',\n    openOnHover: 'resetActivator'\n  },\n\n  mounted() {\n    const slotType = getSlotType(this, 'activator', true);\n\n    if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n      consoleError(`The activator slot must be bound, try '<template v-slot:activator=\"{ on }\"><v-btn v-on=\"on\">'`, this);\n    }\n\n    this.addActivatorEvents();\n  },\n\n  beforeDestroy() {\n    this.removeActivatorEvents();\n  },\n\n  methods: {\n    addActivatorEvents() {\n      if (!this.activator || this.disabled || !this.getActivator()) return;\n      this.listeners = this.genActivatorListeners();\n      const keys = Object.keys(this.listeners);\n\n      for (const key of keys) {\n        this.getActivator().addEventListener(key, this.listeners[key]);\n      }\n    },\n\n    genActivator() {\n      const node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {\n        on: this.genActivatorListeners(),\n        attrs: this.genActivatorAttributes()\n      })) || [];\n      this.activatorNode = node;\n      return node;\n    },\n\n    genActivatorAttributes() {\n      return {\n        role: this.openOnClick && !this.openOnHover ? 'button' : undefined,\n        'aria-haspopup': true,\n        'aria-expanded': String(this.isActive)\n      };\n    },\n\n    genActivatorListeners() {\n      if (this.disabled) return {};\n      const listeners = {};\n\n      if (this.openOnHover) {\n        listeners.mouseenter = e => {\n          this.getActivator(e);\n          this.runDelay('open');\n        };\n\n        listeners.mouseleave = e => {\n          this.getActivator(e);\n          this.runDelay('close');\n        };\n      } else if (this.openOnClick) {\n        listeners.click = e => {\n          const activator = this.getActivator(e);\n          if (activator) activator.focus();\n          e.stopPropagation();\n          this.isActive = !this.isActive;\n        };\n      }\n\n      if (this.openOnFocus) {\n        listeners.focus = e => {\n          this.getActivator(e);\n          e.stopPropagation();\n          this.isActive = !this.isActive;\n        };\n      }\n\n      return listeners;\n    },\n\n    getActivator(e) {\n      // If we've already fetched the activator, re-use\n      if (this.activatorElement) return this.activatorElement;\n      let activator = null;\n\n      if (this.activator) {\n        const target = this.internalActivator ? this.$el : document;\n\n        if (typeof this.activator === 'string') {\n          // Selector\n          activator = target.querySelector(this.activator);\n        } else if (this.activator.$el) {\n          // Component (ref)\n          activator = this.activator.$el;\n        } else {\n          // HTMLElement | Element\n          activator = this.activator;\n        }\n      } else if (this.activatorNode.length === 1 || this.activatorNode.length && !e) {\n        // Use the contents of the activator slot\n        // There's either only one element in it or we\n        // don't have a click event to use as a last resort\n        const vm = this.activatorNode[0].componentInstance;\n\n        if (vm && vm.$options.mixins && //                         Activatable is indirectly used via Menuable\n        vm.$options.mixins.some(m => m.options && ['activatable', 'menuable'].includes(m.options.name))) {\n          // Activator is actually another activatible component, use its activator (#8846)\n          activator = vm.getActivator();\n        } else {\n          activator = this.activatorNode[0].elm;\n        }\n      } else if (e) {\n        // Activated by a click or focus event\n        activator = e.currentTarget || e.target;\n      } // The activator should only be a valid element (Ignore comments and text nodes)\n\n\n      this.activatorElement = (activator === null || activator === void 0 ? void 0 : activator.nodeType) === Node.ELEMENT_NODE ? activator : null;\n      return this.activatorElement;\n    },\n\n    getContentSlot() {\n      return getSlot(this, 'default', this.getValueProxy(), true);\n    },\n\n    getValueProxy() {\n      const self = this;\n      return {\n        get value() {\n          return self.isActive;\n        },\n\n        set value(isActive) {\n          self.isActive = isActive;\n        }\n\n      };\n    },\n\n    removeActivatorEvents() {\n      if (!this.activator || !this.activatorElement) return;\n      const keys = Object.keys(this.listeners);\n\n      for (const key of keys) {\n        this.activatorElement.removeEventListener(key, this.listeners[key]);\n      }\n\n      this.listeners = {};\n    },\n\n    resetActivator() {\n      this.removeActivatorEvents();\n      this.activatorElement = null;\n      this.getActivator();\n      this.addActivatorEvents();\n    }\n\n  }\n});\n//# sourceMappingURL=index.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-tooltip{display:none}.v-tooltip--attached{display:inline}.v-tooltip__content{background:rgba(97,97,97,.9);color:#fff;border-radius:4px;font-size:14px;line-height:22px;display:inline-block;padding:5px 16px;position:absolute;text-transform:none;width:auto;opacity:0;pointer-events:none}.v-tooltip__content.menuable__content__active{opacity:.9}.v-tooltip__content--fixed{position:fixed}.v-tooltip__content[class*=-active]{transition-timing-function:cubic-bezier(0,0,.2,1)}.v-tooltip__content[class*=enter-active]{transition-duration:.15s}.v-tooltip__content[class*=leave-active]{transition-duration:75ms}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VGrid.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"06285fde\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"md\":\"2\",\"cols\":\"12\"}},[_c('RedistrictingMenu')],1),_c('v-col',{attrs:{\"md\":\"10\",\"cols\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_c('h3',[_vm._v(\" Resources and Links \")])]),_c('v-card-text',[_c('h3',[_vm._v(\" Resources \")]),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://mylrc.sdlegislature.gov/api/Documents/IssueMemo/207379.pdf\"}},[_vm._v(\"Redistricting 2020, A Primer - LRC Issue Memo\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://mylrc.sdlegislature.gov/api/Documents/221276.pdf\"}},[_vm._v(\"Brainstorming Maps\")]),_vm._v(\" - LRC Presentation on September 9, 2021\")]),_c('li',[_c('a',{attrs:{\"href\":\"https://mylrc.sdlegislature.gov/api/Documents/221178.pdf\"}},[_vm._v(\"Redistricting Data\")]),_vm._v(\" - LRC Presentation on August 30, 2021\")]),_c('li',[_c('a',{attrs:{\"href\":\"https://mylrc.sdlegislature.gov/api/Documents/220640.pdf\"}},[_vm._v(\"Redistricting Legal Review in South Dakota\")]),_vm._v(\" - LRC Presentation on June 1, 2021\")]),_c('li',[_c('a',{attrs:{\"href\":\"https://www.ncsl.org/research/redistricting/redistrictinglaw2020.aspx\"}},[_vm._v(\"NCSL's Redistricting Law 2020 Book\")]),_vm._v(\" (available at a cost)\")])]),_c('h3',{staticClass:\"mt-3\"},[_vm._v(\" Links \")]),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://sdlegislature.gov/Interim/Committee/434/Detail\"}},[_vm._v(\"Senate Committee on Legislative Redistricting\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://sdlegislature.gov/Interim/Committee/433/Detail\"}},[_vm._v(\"House Committee on Legislative Redistricting\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://sdstate.maps.arcgis.com/apps/MapSeries/index.html?appid=45180bb1f6e14bcd84af59108fe73991\"}},[_vm._v(\"GIS Map of Counties (Courtesy of SDSU)\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://www.census.gov/\"}},[_vm._v(\"U.S. Census Bureau\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://sdlegislature.gov/Statutes/Constitution\"}},[_vm._v(\"NCSL Redistricting\")]),_vm._v(\" (National Conference of State Legislatures)\")]),_c('li',[_c('a',{attrs:{\"href\":\"https://constitution.congress.gov/\"}},[_vm._v(\"U.S Constitution\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://sdlegislature.gov/Statutes/Constitution\"}},[_vm._v(\"South Dakota Constitution\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://sdlegislature.gov/Interim/Committee/92/Detail\"}},[_vm._v(\"2011 Redistricting Committee\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://sdlegislature.gov/Interim/Committee/349/Detail\"}},[_vm._v(\"2001 Redistricting Committee\")])])])])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container fluid>\r\n        <v-row no-gutters>\r\n            <v-col md=\"2\" cols=\"12\">\r\n                <RedistrictingMenu></RedistrictingMenu>\r\n            </v-col>\r\n            <v-col md=\"10\" cols=\"12\">\r\n                <v-card flat>\r\n                    <v-card-title>\r\n                        <h3>\r\n                            Resources and Links\r\n                        </h3>\r\n                    </v-card-title>\r\n                    <v-card-text>\r\n                        <h3>\r\n                            Resources\r\n                        </h3>\r\n                        <ul>\r\n                            <li><a href=\"https://mylrc.sdlegislature.gov/api/Documents/IssueMemo/207379.pdf\">Redistricting 2020, A Primer - LRC Issue Memo</a></li>\r\n                            <li><a href=\"https://mylrc.sdlegislature.gov/api/Documents/221276.pdf\">Brainstorming Maps</a> - LRC Presentation on September 9, 2021</li>\r\n                            <li><a href=\"https://mylrc.sdlegislature.gov/api/Documents/221178.pdf\">Redistricting Data</a> - LRC Presentation on August 30, 2021</li>\r\n                            <li><a href=\"https://mylrc.sdlegislature.gov/api/Documents/220640.pdf\">Redistricting Legal Review in South Dakota</a> - LRC Presentation on June 1, 2021</li>\r\n                            <li><a href=\"https://www.ncsl.org/research/redistricting/redistrictinglaw2020.aspx\">NCSL's Redistricting Law 2020 Book</a> (available at a cost)</li>\r\n                        </ul>\r\n                        <h3 class=\"mt-3\">\r\n                            Links\r\n                        </h3>\r\n                        <ul>\r\n                            <li><a href=\"https://sdlegislature.gov/Interim/Committee/434/Detail\">Senate Committee on Legislative Redistricting</a></li>\r\n                            <li><a href=\"https://sdlegislature.gov/Interim/Committee/433/Detail\">House Committee on Legislative Redistricting</a></li>\r\n                            <li><a href=\"https://sdstate.maps.arcgis.com/apps/MapSeries/index.html?appid=45180bb1f6e14bcd84af59108fe73991\">GIS Map of Counties (Courtesy of SDSU)</a></li>\r\n                            <li><a href=\"https://www.census.gov/\">U.S. Census Bureau</a></li>\r\n                            <li><a href=\"https://sdlegislature.gov/Statutes/Constitution\">NCSL Redistricting</a> (National Conference of State Legislatures)</li>\r\n                            <li><a href=\"https://constitution.congress.gov/\">U.S Constitution</a></li>\r\n                            <li><a href=\"https://sdlegislature.gov/Statutes/Constitution\">South Dakota Constitution</a></li>\r\n                            <li><a href=\"https://sdlegislature.gov/Interim/Committee/92/Detail\">2011 Redistricting Committee</a></li>\r\n                            <li><a href=\"https://sdlegislature.gov/Interim/Committee/349/Detail\">2001 Redistricting Committee</a></li>\r\n                        </ul>\r\n                    </v-card-text>\r\n                </v-card>\r\n\r\n            </v-col>\r\n        </v-row>\r\n    </v-container>\r\n</template>\r\n<script>\r\n    const RedistrictingMenu = () => import(\"@/Redistricting/RedistrictingMenu.vue\");\r\n\r\n    export default {\r\n        name: 'Resources',\r\n\r\n        components: {\r\n            RedistrictingMenu\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n\r\n        },\r\n        watch: {\r\n\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Redistricting Resources';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Resources.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Resources.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Resources.vue?vue&type=template&id=a5ccf8f6&\"\nimport script from \"./Resources.vue?vue&type=script&lang=js&\"\nexport * from \"./Resources.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VContainer,VRow})\n","// Mixins\nimport mixins from '../../util/mixins';\nimport BindsAttrs from '../../mixins/binds-attrs';\nimport { provide as RegistrableProvide } from '../../mixins/registrable';\n/* @vue/component */\n\nexport default mixins(BindsAttrs, RegistrableProvide('form')\n/* @vue/component */\n).extend({\n  name: 'v-form',\n\n  provide() {\n    return {\n      form: this\n    };\n  },\n\n  inheritAttrs: false,\n  props: {\n    disabled: Boolean,\n    lazyValidation: Boolean,\n    readonly: Boolean,\n    value: Boolean\n  },\n  data: () => ({\n    inputs: [],\n    watchers: [],\n    errorBag: {}\n  }),\n  watch: {\n    errorBag: {\n      handler(val) {\n        const errors = Object.values(val).includes(true);\n        this.$emit('input', !errors);\n      },\n\n      deep: true,\n      immediate: true\n    }\n  },\n  methods: {\n    watchInput(input) {\n      const watcher = input => {\n        return input.$watch('hasError', val => {\n          this.$set(this.errorBag, input._uid, val);\n        }, {\n          immediate: true\n        });\n      };\n\n      const watchers = {\n        _uid: input._uid,\n        valid: () => {},\n        shouldValidate: () => {}\n      };\n\n      if (this.lazyValidation) {\n        // Only start watching inputs if we need to\n        watchers.shouldValidate = input.$watch('shouldValidate', val => {\n          if (!val) return; // Only watch if we're not already doing it\n\n          if (this.errorBag.hasOwnProperty(input._uid)) return;\n          watchers.valid = watcher(input);\n        });\n      } else {\n        watchers.valid = watcher(input);\n      }\n\n      return watchers;\n    },\n\n    /** @public */\n    validate() {\n      return this.inputs.filter(input => !input.validate(true)).length === 0;\n    },\n\n    /** @public */\n    reset() {\n      this.inputs.forEach(input => input.reset());\n      this.resetErrorBag();\n    },\n\n    resetErrorBag() {\n      if (this.lazyValidation) {\n        // Account for timeout in validatable\n        setTimeout(() => {\n          this.errorBag = {};\n        }, 0);\n      }\n    },\n\n    /** @public */\n    resetValidation() {\n      this.inputs.forEach(input => input.resetValidation());\n      this.resetErrorBag();\n    },\n\n    register(input) {\n      this.inputs.push(input);\n      this.watchers.push(this.watchInput(input));\n    },\n\n    unregister(input) {\n      const found = this.inputs.find(i => i._uid === input._uid);\n      if (!found) return;\n      const unwatch = this.watchers.find(i => i._uid === found._uid);\n\n      if (unwatch) {\n        unwatch.valid();\n        unwatch.shouldValidate();\n      }\n\n      this.watchers = this.watchers.filter(i => i._uid !== found._uid);\n      this.inputs = this.inputs.filter(i => i._uid !== found._uid);\n      this.$delete(this.errorBag, found._uid);\n    }\n\n  },\n\n  render(h) {\n    return h('form', {\n      staticClass: 'v-form',\n      attrs: {\n        novalidate: true,\n        ...this.attrs$\n      },\n      on: {\n        submit: e => this.$emit('submit', e)\n      }\n    }, this.$slots.default);\n  }\n\n});\n//# sourceMappingURL=VForm.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-skeleton-loader .v-skeleton-loader__bone:after{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3),hsla(0,0%,100%,0))}.theme--light.v-skeleton-loader .v-skeleton-loader__avatar,.theme--light.v-skeleton-loader .v-skeleton-loader__button,.theme--light.v-skeleton-loader .v-skeleton-loader__chip,.theme--light.v-skeleton-loader .v-skeleton-loader__divider,.theme--light.v-skeleton-loader .v-skeleton-loader__heading,.theme--light.v-skeleton-loader .v-skeleton-loader__image,.theme--light.v-skeleton-loader .v-skeleton-loader__text{background:rgba(0,0,0,.12)}.theme--light.v-skeleton-loader .v-skeleton-loader__actions,.theme--light.v-skeleton-loader .v-skeleton-loader__article,.theme--light.v-skeleton-loader .v-skeleton-loader__card-heading,.theme--light.v-skeleton-loader .v-skeleton-loader__card-text,.theme--light.v-skeleton-loader .v-skeleton-loader__date-picker,.theme--light.v-skeleton-loader .v-skeleton-loader__list-item,.theme--light.v-skeleton-loader .v-skeleton-loader__list-item-avatar,.theme--light.v-skeleton-loader .v-skeleton-loader__list-item-avatar-three-line,.theme--light.v-skeleton-loader .v-skeleton-loader__list-item-avatar-two-line,.theme--light.v-skeleton-loader .v-skeleton-loader__list-item-text,.theme--light.v-skeleton-loader .v-skeleton-loader__list-item-three-line,.theme--light.v-skeleton-loader .v-skeleton-loader__list-item-two-line,.theme--light.v-skeleton-loader .v-skeleton-loader__table-heading,.theme--light.v-skeleton-loader .v-skeleton-loader__table-tbody,.theme--light.v-skeleton-loader .v-skeleton-loader__table-tfoot,.theme--light.v-skeleton-loader .v-skeleton-loader__table-thead{background:#fff}.theme--dark.v-skeleton-loader .v-skeleton-loader__bone:after{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.05),hsla(0,0%,100%,0))}.theme--dark.v-skeleton-loader .v-skeleton-loader__avatar,.theme--dark.v-skeleton-loader .v-skeleton-loader__button,.theme--dark.v-skeleton-loader .v-skeleton-loader__chip,.theme--dark.v-skeleton-loader .v-skeleton-loader__divider,.theme--dark.v-skeleton-loader .v-skeleton-loader__heading,.theme--dark.v-skeleton-loader .v-skeleton-loader__image,.theme--dark.v-skeleton-loader .v-skeleton-loader__text{background:hsla(0,0%,100%,.12)}.theme--dark.v-skeleton-loader .v-skeleton-loader__actions,.theme--dark.v-skeleton-loader .v-skeleton-loader__article,.theme--dark.v-skeleton-loader .v-skeleton-loader__card-heading,.theme--dark.v-skeleton-loader .v-skeleton-loader__card-text,.theme--dark.v-skeleton-loader .v-skeleton-loader__date-picker,.theme--dark.v-skeleton-loader .v-skeleton-loader__list-item,.theme--dark.v-skeleton-loader .v-skeleton-loader__list-item-avatar,.theme--dark.v-skeleton-loader .v-skeleton-loader__list-item-avatar-three-line,.theme--dark.v-skeleton-loader .v-skeleton-loader__list-item-avatar-two-line,.theme--dark.v-skeleton-loader .v-skeleton-loader__list-item-text,.theme--dark.v-skeleton-loader .v-skeleton-loader__list-item-three-line,.theme--dark.v-skeleton-loader .v-skeleton-loader__list-item-two-line,.theme--dark.v-skeleton-loader .v-skeleton-loader__table-heading,.theme--dark.v-skeleton-loader .v-skeleton-loader__table-tbody,.theme--dark.v-skeleton-loader .v-skeleton-loader__table-tfoot,.theme--dark.v-skeleton-loader .v-skeleton-loader__table-thead{background:#1e1e1e}.v-skeleton-loader{border-radius:4px;position:relative;vertical-align:top}.v-skeleton-loader__actions{padding:16px 16px 8px;text-align:right}.v-skeleton-loader__actions .v-skeleton-loader__button{display:inline-block}.v-application--is-ltr .v-skeleton-loader__actions .v-skeleton-loader__button:first-child{margin-right:12px}.v-application--is-rtl .v-skeleton-loader__actions .v-skeleton-loader__button:first-child{margin-left:12px}.v-skeleton-loader .v-skeleton-loader__list-item,.v-skeleton-loader .v-skeleton-loader__list-item-avatar,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-three-line,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-two-line,.v-skeleton-loader .v-skeleton-loader__list-item-text,.v-skeleton-loader .v-skeleton-loader__list-item-three-line,.v-skeleton-loader .v-skeleton-loader__list-item-two-line{border-radius:4px}.v-skeleton-loader .v-skeleton-loader__actions:after,.v-skeleton-loader .v-skeleton-loader__article:after,.v-skeleton-loader .v-skeleton-loader__card-avatar:after,.v-skeleton-loader .v-skeleton-loader__card-heading:after,.v-skeleton-loader .v-skeleton-loader__card-text:after,.v-skeleton-loader .v-skeleton-loader__card:after,.v-skeleton-loader .v-skeleton-loader__date-picker-days:after,.v-skeleton-loader .v-skeleton-loader__date-picker-options:after,.v-skeleton-loader .v-skeleton-loader__date-picker:after,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-three-line:after,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-two-line:after,.v-skeleton-loader .v-skeleton-loader__list-item-avatar:after,.v-skeleton-loader .v-skeleton-loader__list-item-text:after,.v-skeleton-loader .v-skeleton-loader__list-item-three-line:after,.v-skeleton-loader .v-skeleton-loader__list-item-two-line:after,.v-skeleton-loader .v-skeleton-loader__list-item:after,.v-skeleton-loader .v-skeleton-loader__paragraph:after,.v-skeleton-loader .v-skeleton-loader__sentences:after,.v-skeleton-loader .v-skeleton-loader__table-cell:after,.v-skeleton-loader .v-skeleton-loader__table-heading:after,.v-skeleton-loader .v-skeleton-loader__table-row-divider:after,.v-skeleton-loader .v-skeleton-loader__table-row:after,.v-skeleton-loader .v-skeleton-loader__table-tbody:after,.v-skeleton-loader .v-skeleton-loader__table-tfoot:after,.v-skeleton-loader .v-skeleton-loader__table-thead:after,.v-skeleton-loader .v-skeleton-loader__table:after{display:none}.v-application--is-ltr .v-skeleton-loader__article .v-skeleton-loader__heading{margin:16px 0 16px 16px}.v-application--is-rtl .v-skeleton-loader__article .v-skeleton-loader__heading{margin:16px 16px 0 16px}.v-skeleton-loader__article .v-skeleton-loader__paragraph{padding:16px}.v-skeleton-loader__bone{border-radius:inherit;overflow:hidden;position:relative}.v-skeleton-loader__bone:after{-webkit-animation:loading 1.5s infinite;animation:loading 1.5s infinite;content:\\\"\\\";height:100%;left:0;position:absolute;right:0;top:0;transform:translateX(-100%);z-index:1}.v-skeleton-loader__avatar{border-radius:50%;height:48px;width:48px}.v-skeleton-loader__button{border-radius:4px;height:36px;width:64px}.v-skeleton-loader__card .v-skeleton-loader__image{border-radius:0}.v-skeleton-loader__card-heading .v-skeleton-loader__heading{margin:16px}.v-skeleton-loader__card-text{padding:16px}.v-skeleton-loader__chip{border-radius:16px;height:32px;width:96px}.v-skeleton-loader__date-picker{border-radius:inherit}.v-skeleton-loader__date-picker .v-skeleton-loader__list-item:first-child .v-skeleton-loader__text{max-width:88px;width:20%}.v-skeleton-loader__date-picker .v-skeleton-loader__heading{max-width:256px;width:40%}.v-skeleton-loader__date-picker-days{display:flex;flex-wrap:wrap;padding:0 12px;margin:0 auto}.v-skeleton-loader__date-picker-days .v-skeleton-loader__avatar{border-radius:4px;flex:1 1 auto;margin:4px;height:40px;width:40px}.v-skeleton-loader__date-picker-options{align-items:center;display:flex;padding:16px}.v-skeleton-loader__date-picker-options .v-skeleton-loader__avatar{height:40px;width:40px}.v-skeleton-loader__date-picker-options .v-skeleton-loader__avatar:nth-child(2){margin-left:auto}.v-application--is-ltr .v-skeleton-loader__date-picker-options .v-skeleton-loader__avatar:nth-child(2){margin-right:8px}.v-application--is-rtl .v-skeleton-loader__date-picker-options .v-skeleton-loader__avatar:nth-child(2){margin-left:8px}.v-skeleton-loader__date-picker-options .v-skeleton-loader__text.v-skeleton-loader__bone:first-child{margin-bottom:0;max-width:50%;width:456px}.v-skeleton-loader__divider{border-radius:1px;height:2px}.v-skeleton-loader__heading{border-radius:12px;height:24px;width:45%}.v-skeleton-loader__image{height:200px;border-radius:0}.v-skeleton-loader__image~.v-skeleton-loader__card-heading{border-radius:0}.v-skeleton-loader__image:first-child,.v-skeleton-loader__image:last-child{border-radius:inherit}.v-skeleton-loader__list-item{height:48px}.v-skeleton-loader__list-item-three-line{flex-wrap:wrap}.v-skeleton-loader__list-item-three-line>*{flex:1 0 100%;width:100%}.v-skeleton-loader__list-item-avatar-three-line .v-skeleton-loader__avatar,.v-skeleton-loader__list-item-avatar-two-line .v-skeleton-loader__avatar,.v-skeleton-loader__list-item-avatar .v-skeleton-loader__avatar{height:40px;width:40px}.v-skeleton-loader__list-item-avatar{height:48px}.v-skeleton-loader__list-item-avatar-two-line,.v-skeleton-loader__list-item-two-line{height:72px}.v-skeleton-loader__list-item-avatar-three-line,.v-skeleton-loader__list-item-three-line{height:88px}.v-skeleton-loader__list-item-avatar-three-line .v-skeleton-loader__avatar{align-self:flex-start}.v-skeleton-loader__list-item,.v-skeleton-loader__list-item-avatar,.v-skeleton-loader__list-item-avatar-three-line,.v-skeleton-loader__list-item-avatar-two-line,.v-skeleton-loader__list-item-three-line,.v-skeleton-loader__list-item-two-line{align-content:center;align-items:center;display:flex;flex-wrap:wrap;padding:0 16px}.v-application--is-ltr .v-skeleton-loader__list-item-avatar-three-line .v-skeleton-loader__avatar,.v-application--is-ltr .v-skeleton-loader__list-item-avatar-two-line .v-skeleton-loader__avatar,.v-application--is-ltr .v-skeleton-loader__list-item-avatar .v-skeleton-loader__avatar,.v-application--is-ltr .v-skeleton-loader__list-item-three-line .v-skeleton-loader__avatar,.v-application--is-ltr .v-skeleton-loader__list-item-two-line .v-skeleton-loader__avatar,.v-application--is-ltr .v-skeleton-loader__list-item .v-skeleton-loader__avatar{margin-right:16px}.v-application--is-rtl .v-skeleton-loader__list-item-avatar-three-line .v-skeleton-loader__avatar,.v-application--is-rtl .v-skeleton-loader__list-item-avatar-two-line .v-skeleton-loader__avatar,.v-application--is-rtl .v-skeleton-loader__list-item-avatar .v-skeleton-loader__avatar,.v-application--is-rtl .v-skeleton-loader__list-item-three-line .v-skeleton-loader__avatar,.v-application--is-rtl .v-skeleton-loader__list-item-two-line .v-skeleton-loader__avatar,.v-application--is-rtl .v-skeleton-loader__list-item .v-skeleton-loader__avatar{margin-left:16px}.v-skeleton-loader__list-item-avatar-three-line .v-skeleton-loader__text:last-child,.v-skeleton-loader__list-item-avatar-three-line .v-skeleton-loader__text:only-child,.v-skeleton-loader__list-item-avatar-two-line .v-skeleton-loader__text:last-child,.v-skeleton-loader__list-item-avatar-two-line .v-skeleton-loader__text:only-child,.v-skeleton-loader__list-item-avatar .v-skeleton-loader__text:last-child,.v-skeleton-loader__list-item-avatar .v-skeleton-loader__text:only-child,.v-skeleton-loader__list-item-three-line .v-skeleton-loader__text:last-child,.v-skeleton-loader__list-item-three-line .v-skeleton-loader__text:only-child,.v-skeleton-loader__list-item-two-line .v-skeleton-loader__text:last-child,.v-skeleton-loader__list-item-two-line .v-skeleton-loader__text:only-child,.v-skeleton-loader__list-item .v-skeleton-loader__text:last-child,.v-skeleton-loader__list-item .v-skeleton-loader__text:only-child{margin-bottom:0}.v-skeleton-loader__paragraph,.v-skeleton-loader__sentences{flex:1 0 auto}.v-skeleton-loader__paragraph:not(:last-child){margin-bottom:6px}.v-skeleton-loader__paragraph .v-skeleton-loader__text:first-child{max-width:100%}.v-skeleton-loader__paragraph .v-skeleton-loader__text:nth-child(2){max-width:50%}.v-skeleton-loader__paragraph .v-skeleton-loader__text:nth-child(3),.v-skeleton-loader__sentences .v-skeleton-loader__text:nth-child(2){max-width:70%}.v-skeleton-loader__sentences:not(:last-child){margin-bottom:6px}.v-skeleton-loader__table-heading{align-items:center;display:flex;justify-content:space-between;padding:16px}.v-skeleton-loader__table-heading .v-skeleton-loader__heading{max-width:15%}.v-skeleton-loader__table-heading .v-skeleton-loader__text{max-width:40%}.v-skeleton-loader__table-thead{display:flex;justify-content:space-between;padding:16px}.v-skeleton-loader__table-thead .v-skeleton-loader__heading{max-width:5%}.v-skeleton-loader__table-tbody{padding:16px 16px 0}.v-skeleton-loader__table-tfoot{align-items:center;display:flex;justify-content:flex-end;padding:16px}.v-application--is-ltr .v-skeleton-loader__table-tfoot>*{margin-left:8px}.v-application--is-rtl .v-skeleton-loader__table-tfoot>*{margin-right:8px}.v-skeleton-loader__table-tfoot .v-skeleton-loader__avatar{height:40px;width:40px}.v-skeleton-loader__table-tfoot .v-skeleton-loader__text{margin-bottom:0}.v-skeleton-loader__table-tfoot .v-skeleton-loader__text:first-child{max-width:128px}.v-skeleton-loader__table-tfoot .v-skeleton-loader__text:nth-child(2){max-width:64px}.v-skeleton-loader__table-row{display:flex;justify-content:space-between}.v-skeleton-loader__table-cell{align-items:center;display:flex;height:48px;width:88px}.v-skeleton-loader__table-cell .v-skeleton-loader__text{margin-bottom:0}.v-skeleton-loader__text{border-radius:6px;flex:1 0 auto;height:12px;margin-bottom:6px}.v-skeleton-loader--boilerplate .v-skeleton-loader__bone:after{display:none}.v-skeleton-loader--is-loading{overflow:hidden}.v-skeleton-loader--tile,.v-skeleton-loader--tile .v-skeleton-loader__bone{border-radius:0}@-webkit-keyframes loading{to{transform:translateX(100%)}}@keyframes loading{to{transform:translateX(100%)}}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-tabs>.v-tabs-bar{background-color:#fff}.theme--light.v-tabs>.v-tabs-bar .v-tab--disabled,.theme--light.v-tabs>.v-tabs-bar .v-tab:not(.v-tab--active),.theme--light.v-tabs>.v-tabs-bar .v-tab:not(.v-tab--active)>.v-btn,.theme--light.v-tabs>.v-tabs-bar .v-tab:not(.v-tab--active)>.v-icon{color:rgba(0,0,0,.54)}.theme--light.v-tabs .v-tab:hover:before{opacity:.04}.theme--light.v-tabs .v-tab--active:before,.theme--light.v-tabs .v-tab--active:hover:before,.theme--light.v-tabs .v-tab:focus:before{opacity:.12}.theme--light.v-tabs .v-tab--active:focus:before{opacity:.16}.theme--dark.v-tabs>.v-tabs-bar{background-color:#1e1e1e}.theme--dark.v-tabs>.v-tabs-bar .v-tab--disabled,.theme--dark.v-tabs>.v-tabs-bar .v-tab:not(.v-tab--active),.theme--dark.v-tabs>.v-tabs-bar .v-tab:not(.v-tab--active)>.v-btn,.theme--dark.v-tabs>.v-tabs-bar .v-tab:not(.v-tab--active)>.v-icon{color:hsla(0,0%,100%,.6)}.theme--dark.v-tabs .v-tab:hover:before{opacity:.08}.theme--dark.v-tabs .v-tab--active:before,.theme--dark.v-tabs .v-tab--active:hover:before,.theme--dark.v-tabs .v-tab:focus:before{opacity:.24}.theme--dark.v-tabs .v-tab--active:focus:before{opacity:.32}.theme--light.v-tabs-items{background-color:#fff}.theme--dark.v-tabs-items{background-color:#1e1e1e}.v-tabs-bar.accent .v-tab,.v-tabs-bar.accent .v-tabs-slider,.v-tabs-bar.error .v-tab,.v-tabs-bar.error .v-tabs-slider,.v-tabs-bar.info .v-tab,.v-tabs-bar.info .v-tabs-slider,.v-tabs-bar.primary .v-tab,.v-tabs-bar.primary .v-tabs-slider,.v-tabs-bar.secondary .v-tab,.v-tabs-bar.secondary .v-tabs-slider,.v-tabs-bar.success .v-tab,.v-tabs-bar.success .v-tabs-slider,.v-tabs-bar.warning .v-tab,.v-tabs-bar.warning .v-tabs-slider{color:#fff}.v-tabs{flex:1 1 auto;width:100%}.v-tabs .v-menu__activator{height:100%}.v-tabs.v.tabs--vertical.v-tabs--right{flex-direction:row-reverse}.v-tabs:not(.v-tabs--vertical) .v-tab{white-space:normal}.v-tabs:not(.v-tabs--vertical).v-tabs--right>.v-slide-group--is-overflowing.v-tabs-bar--is-mobile:not(.v-slide-group--has-affixes) .v-slide-group__next,.v-tabs:not(.v-tabs--vertical):not(.v-tabs--right)>.v-slide-group--is-overflowing.v-tabs-bar--is-mobile:not(.v-slide-group--has-affixes) .v-slide-group__prev{display:initial;visibility:hidden}.v-tabs-bar{border-radius:inherit;height:48px}.v-tabs-bar.v-item-group>*{cursor:auto}.v-tab{align-items:center;cursor:pointer;display:flex;flex:0 1 auto;font-size:.875rem;font-weight:500;justify-content:center;letter-spacing:.0892857143em;line-height:normal;min-width:90px;max-width:360px;outline:none;padding:0 16px;position:relative;text-align:center;text-decoration:none;text-transform:uppercase;transition:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.v-tab.v-tab{color:inherit}.v-tab:before{bottom:0;content:\\\"\\\";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:.3s cubic-bezier(.25,.8,.5,1)}.v-tab:before,.v-tabs-slider{background-color:currentColor}.v-tabs-slider{height:100%;width:100%}.v-tabs-slider-wrapper{bottom:0;margin:0!important;position:absolute;transition:.3s cubic-bezier(.25,.8,.5,1);z-index:1}.v-application--is-ltr .v-tabs--align-with-title>.v-tabs-bar:not(.v-tabs-bar--show-arrows):not(.v-slide-group--is-overflowing)>.v-slide-group__wrapper>.v-tabs-bar__content>.v-tab:first-child,.v-application--is-ltr .v-tabs--align-with-title>.v-tabs-bar:not(.v-tabs-bar--show-arrows):not(.v-slide-group--is-overflowing)>.v-slide-group__wrapper>.v-tabs-bar__content>.v-tabs-slider-wrapper+.v-tab{margin-left:42px}.v-application--is-rtl .v-tabs--align-with-title>.v-tabs-bar:not(.v-tabs-bar--show-arrows):not(.v-slide-group--is-overflowing)>.v-slide-group__wrapper>.v-tabs-bar__content>.v-tab:first-child,.v-application--is-rtl .v-tabs--align-with-title>.v-tabs-bar:not(.v-tabs-bar--show-arrows):not(.v-slide-group--is-overflowing)>.v-slide-group__wrapper>.v-tabs-bar__content>.v-tabs-slider-wrapper+.v-tab{margin-right:42px}.v-application--is-ltr .v-tabs--centered>.v-tabs-bar .v-tabs-bar__content>:last-child,.v-application--is-ltr .v-tabs--fixed-tabs>.v-tabs-bar .v-tabs-bar__content>:last-child{margin-right:auto}.v-application--is-ltr .v-tabs--centered>.v-tabs-bar .v-tabs-bar__content>:first-child:not(.v-tabs-slider-wrapper),.v-application--is-ltr .v-tabs--centered>.v-tabs-bar .v-tabs-slider-wrapper+*,.v-application--is-ltr .v-tabs--fixed-tabs>.v-tabs-bar .v-tabs-bar__content>:first-child:not(.v-tabs-slider-wrapper),.v-application--is-ltr .v-tabs--fixed-tabs>.v-tabs-bar .v-tabs-slider-wrapper+*,.v-application--is-rtl .v-tabs--centered>.v-tabs-bar .v-tabs-bar__content>:last-child,.v-application--is-rtl .v-tabs--fixed-tabs>.v-tabs-bar .v-tabs-bar__content>:last-child{margin-left:auto}.v-application--is-rtl .v-tabs--centered>.v-tabs-bar .v-tabs-bar__content>:first-child:not(.v-tabs-slider-wrapper),.v-application--is-rtl .v-tabs--centered>.v-tabs-bar .v-tabs-slider-wrapper+*,.v-application--is-rtl .v-tabs--fixed-tabs>.v-tabs-bar .v-tabs-bar__content>:first-child:not(.v-tabs-slider-wrapper),.v-application--is-rtl .v-tabs--fixed-tabs>.v-tabs-bar .v-tabs-slider-wrapper+*{margin-right:auto}.v-tabs--fixed-tabs>.v-tabs-bar .v-tab{flex:1 1 auto;width:100%}.v-tabs--grow>.v-tabs-bar .v-tab{flex:1 0 auto;max-width:none}.v-tabs--icons-and-text>.v-tabs-bar{height:72px}.v-tabs--icons-and-text>.v-tabs-bar .v-tab{flex-direction:column-reverse}.v-tabs--icons-and-text>.v-tabs-bar .v-tab>:first-child{margin-bottom:6px}.v-tabs--overflow>.v-tabs-bar .v-tab{flex:1 0 auto}.v-application--is-ltr .v-tabs--right>.v-tabs-bar .v-tab:first-child,.v-application--is-ltr .v-tabs--right>.v-tabs-bar .v-tabs-slider-wrapper+.v-tab{margin-left:auto}.v-application--is-rtl .v-tabs--right>.v-tabs-bar .v-tab:first-child,.v-application--is-rtl .v-tabs--right>.v-tabs-bar .v-tabs-slider-wrapper+.v-tab{margin-right:auto}.v-application--is-ltr .v-tabs--right>.v-tabs-bar .v-tab:last-child{margin-right:0}.v-application--is-rtl .v-tabs--right>.v-tabs-bar .v-tab:last-child{margin-left:0}.v-tabs--vertical{display:flex}.v-tabs--vertical>.v-tabs-bar{flex:1 0 auto;height:auto}.v-tabs--vertical>.v-tabs-bar .v-slide-group__next,.v-tabs--vertical>.v-tabs-bar .v-slide-group__prev{display:none}.v-tabs--vertical>.v-tabs-bar .v-tabs-bar__content{flex-direction:column}.v-tabs--vertical>.v-tabs-bar .v-tab{height:48px}.v-tabs--vertical>.v-tabs-bar .v-tabs-slider{height:100%}.v-tabs--vertical>.v-window{flex:0 1 100%}.v-tabs--vertical.v-tabs--icons-and-text>.v-tabs-bar .v-tab{height:72px}.v-tab--active{color:inherit}.v-tab--active.v-tab:not(:focus):before{opacity:0}.v-tab--active .v-btn.v-btn--flat,.v-tab--active .v-icon{color:inherit}.v-tab--disabled{opacity:.5}.v-tab--disabled,.v-tab--disabled *{pointer-events:none}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-date-picker-header .v-date-picker-header__value:not(.v-date-picker-header__value--disabled) button:not(:hover):not(:focus){color:rgba(0,0,0,.87)}.theme--light.v-date-picker-header .v-date-picker-header__value--disabled button{color:rgba(0,0,0,.38)}.theme--dark.v-date-picker-header .v-date-picker-header__value:not(.v-date-picker-header__value--disabled) button:not(:hover):not(:focus){color:#fff}.theme--dark.v-date-picker-header .v-date-picker-header__value--disabled button{color:hsla(0,0%,100%,.5)}.v-date-picker-header{padding:4px 16px;align-items:center;display:flex;justify-content:space-between;position:relative}.v-date-picker-header .v-btn{margin:0;z-index:auto}.v-date-picker-header .v-icon{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.v-date-picker-header__value{flex:1;text-align:center;position:relative;overflow:hidden}.v-date-picker-header__value div{transition:.3s cubic-bezier(.25,.8,.5,1);width:100%}.v-date-picker-header__value button{cursor:pointer;font-weight:700;outline:none;padding:.5rem;transition:.3s cubic-bezier(.25,.8,.5,1)}.v-date-picker-header--disabled{pointer-events:none}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VTextField.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"cd3f302c\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-app-bar.v-toolbar.v-sheet{background-color:#f5f5f5}.theme--dark.v-app-bar.v-toolbar.v-sheet{background-color:#272727}.v-sheet.v-app-bar.v-toolbar{border-radius:0}.v-sheet.v-app-bar.v-toolbar:not(.v-sheet--outlined){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.v-sheet.v-app-bar.v-toolbar.v-sheet--shaped{border-radius:24px 0}.v-app-bar:not([data-booted=true]){transition:none!important}.v-app-bar.v-app-bar--fixed{position:fixed;top:0;z-index:5}.v-app-bar.v-app-bar.v-app-bar--hide-shadow{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)!important}.v-app-bar--fade-img-on-scroll .v-toolbar__image .v-image__image{transition:opacity .4s cubic-bezier(.4,0,.2,1)}.v-app-bar.v-toolbar--prominent.v-app-bar--shrink-on-scroll .v-toolbar__image{will-change:opacity}.v-app-bar.v-toolbar--prominent.v-app-bar--shrink-on-scroll.v-app-bar--collapse-on-scroll .v-toolbar__extension{display:none}.v-app-bar.v-toolbar--prominent.v-app-bar--shrink-on-scroll.v-app-bar--is-scrolled .v-toolbar__title{padding-top:9px}.v-app-bar.v-toolbar--prominent.v-app-bar--shrink-on-scroll.v-app-bar--is-scrolled:not(.v-app-bar--bottom) .v-toolbar__title{padding-bottom:9px}.v-app-bar.v-app-bar--shrink-on-scroll .v-toolbar__title{font-size:inherit}.v-app-bar-title__content,.v-app-bar-title__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-app-bar-title__content{position:absolute}\", \"\"]);\n// Exports\nmodule.exports = exports;\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\":\"\",\"xs12\":\"\"}},[_c('v-card-title',[_c('h2',[_vm._v(\" Committee Live \"),(_vm.doc && _vm.doc.RoomAudio)?_c('span',[_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"primary\",\"rel\":\"noopener\",\"href\":_vm.doc.RoomAudio,\"aria-label\":\"SDPB Audio\"}},[_c('v-icon',[_vm._v(_vm._s(_vm.mdiVolumeHigh))])],1)],1):_vm._e()])]),_c('v-card-text',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[(_vm.doc && _vm.doc.FullName)?_c('span',[_c('v-card-title',{staticClass:\"text-center\",staticStyle:{\"text-align\":\"center\",\"display\":\"inherit\"}},[_vm._v(_vm._s(_vm.doc.FullName))])],1):_vm._e(),(_vm.items)?_c('v-card-text',[(_vm.Loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('v-list',[_vm._l((_vm.items),function(i){return [_c('v-divider',{staticClass:\"ma-0\"}),_c('v-list-item',{attrs:{\"rel\":\"noopener\",\"href\":i.url}},[_c('v-list-item-content',[(i.Status)?_c('v-list-item-title',{staticClass:\"text-wrap\"},[_c('b',[_vm._v(\"Status:\")]),_vm._v(\" \"+_vm._s(i.Status)+\" \")]):_vm._e(),(i.BillNumber && i.Bill)?_c('div',[_c('br'),_c('router-link',{attrs:{\"to\":'/Session/Bill/' + i.Bill.BillId}},[_vm._v(_vm._s(i.Bill.BillType)+\" \"+_vm._s(i.Bill.BillNumberOnly))]),_vm._v(\" \"),_c('b',[_vm._v(_vm._s(i.Bill.Title))])],1):_vm._e(),_c('v-list-item-subtitle',[_vm._v(\" \"+_vm._s(_vm._f(\"FormatDateTimes\")(i.LastUpdated))+\" \")])],1)],1)]})],2),(!_vm.Loading && _vm.items && _vm.items.length == 0 && _vm.doc && (new Date(_vm.doc.DocumentDate) > new Date()))?_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\"Meeting has not started\")]):(!_vm.Loading && _vm.items && _vm.items.length == 0)?_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\"No Live Events\")]):_vm._e()],1):_vm._e()],1)],1)],1),_c('v-card-actions',[_vm._v(\" Disclaimer: The South Dakota Legislative Research Council takes reasonable precautions to assure the accuracy and reliability of the data contained on this web site. No warranty, guarantee, or promise, express or implied, is made. The live events of a committee is made available as a public service. Online resources may be vulnerable to unauthorized changes or redirection. Any person who relies on any information obtained from this web site does so at that person’s own risk. In the case of inconsistencies resulting from omissions or other errors, the current printed version of the Minutes/Journal will prevail. For matters affecting legal or other rights, or to confirm content, please refer to the Minutes/Journal or consult an attorney. The staff of the Legislative Research Council may not provide legal advice. \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container>\r\n        <v-card flat xs12>\r\n            <v-card-title>\r\n                <h2>\r\n                    Committee Live\r\n                    <span v-if=\"doc && doc.RoomAudio\">\r\n                        <v-btn icon color=\"primary\" rel=\"noopener\" :href=\"doc.RoomAudio\" aria-label=\"SDPB Audio\">\r\n                            <v-icon>{{mdiVolumeHigh}}</v-icon>\r\n                        </v-btn>\r\n                    </span>\r\n                </h2>\r\n            </v-card-title>\r\n            <v-card-text>\r\n                <v-layout row wrap>\r\n                    <v-card flat>\r\n                        <span v-if=\"doc && doc.FullName\">\r\n                            <v-card-title style=\"text-align:center;display:inherit;\" class=\"text-center\">{{doc.FullName}}</v-card-title>\r\n                        </span>\r\n                        <v-card-text v-if=\"items\">\r\n                            <v-progress-linear indeterminate v-if=\"Loading\"></v-progress-linear>\r\n                            <v-list>\r\n                                <template v-for=\"i in items\">\r\n                                    <v-divider class=\"ma-0\"></v-divider>\r\n                                    <v-list-item rel=\"noopener\" :href=\"i.url\">\r\n                                        <v-list-item-content>\r\n                                            <v-list-item-title v-if=\"i.Status\" class=\"text-wrap\">\r\n                                                <b>Status:</b> {{i.Status}}\r\n                                            </v-list-item-title>\r\n                                            <div v-if=\"i.BillNumber && i.Bill\">\r\n                                                <br />\r\n                                                <router-link :to=\"'/Session/Bill/' + i.Bill.BillId\">{{i.Bill.BillType}} {{i.Bill.BillNumberOnly}}</router-link> <b>{{i.Bill.Title}}</b>\r\n                                            </div>\r\n                                            <v-list-item-subtitle>\r\n                                                {{i.LastUpdated | FormatDateTimes}}\r\n                                            </v-list-item-subtitle>\r\n                                        </v-list-item-content>\r\n                                    </v-list-item>\r\n                                </template>\r\n                            </v-list>\r\n                            <v-alert v-if=\"!Loading && items && items.length == 0 && doc && (new Date(doc.DocumentDate) > new Date())\" dense\r\n                                     text\r\n                                     type=\"info\">Meeting has not started</v-alert>\r\n                            <v-alert v-else-if=\"!Loading && items && items.length == 0\" dense\r\n                                     text\r\n                                     type=\"info\">No Live Events</v-alert>\r\n                        </v-card-text>\r\n                    </v-card>\r\n                </v-layout>\r\n            </v-card-text>\r\n            <v-card-actions>\r\n                Disclaimer: The South Dakota Legislative Research Council takes reasonable precautions to assure the accuracy and reliability of the data contained on this web site. No warranty, guarantee, or promise, express or implied, is made.\r\n                The live events of a committee is made available as a public service. Online resources may be vulnerable to unauthorized changes or redirection. Any person who relies on any information obtained from this web site does so at that person’s own risk. In the case of inconsistencies resulting from omissions or other errors, the current printed version of the Minutes/Journal will prevail.\r\n                For matters affecting legal or other rights, or to confirm content, please refer to the Minutes/Journal or consult an attorney. The staff of the Legislative Research Council may not provide legal advice.\r\n            </v-card-actions>\r\n        </v-card>\r\n    </v-container>\r\n</template>\r\n<script>\r\n    import { mdiVolumeHigh } from '@mdi/js';\r\n\r\n    export default {\r\n        name: 'LiveBoard',\r\n        props: ['DocumentId'],\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                this.Loading = true;\r\n                fetch('/api/Documents/LiveMeeting/' + this.DocumentId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    var res = EncodeDatetimes(response);\r\n                    this.items = res.liveMeeting;\r\n                    this.doc = res.document;\r\n                    this.Loading = false;\r\n                }).catch(error => {\r\n                    this.Loading = false;\r\n                    throw new Error(error);\r\n                });\r\n\r\n                setTimeout(() => {\r\n                    this.LoadData();\r\n                }, 30000);\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                mdiVolumeHigh,\r\n                items: [],\r\n                doc: {},\r\n                Loading: true,\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            DocumentId: {\r\n                handler() {\r\n                    this.LoadData();\r\n                },\r\n            },\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Live';\r\n                if (this.doc && this.doc.FullName) {\r\n                    title = 'Live ' + this.doc.FullName;\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveBoard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveBoard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LiveBoard.vue?vue&type=template&id=5e089797&\"\nimport script from \"./LiveBoard.vue?vue&type=script&lang=js&\"\nexport * from \"./LiveBoard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { 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 { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VLayout } 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 { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardText,VCardTitle,VContainer,VDivider,VIcon,VLayout,VList,VListItem,VListItemContent,VListItemSubtitle,VListItemTitle,VProgressLinear})\n","// Directives\nimport ripple from '../../directives/ripple'; // Types\n\nimport Vue from 'vue';\nexport default Vue.extend({\n  name: 'rippleable',\n  directives: {\n    ripple\n  },\n  props: {\n    ripple: {\n      type: [Boolean, Object],\n      default: true\n    }\n  },\n  methods: {\n    genRipple(data = {}) {\n      if (!this.ripple) return null;\n      data.staticClass = 'v-input--selection-controls__ripple';\n      data.directives = data.directives || [];\n      data.directives.push({\n        name: 'ripple',\n        value: {\n          center: true\n        }\n      });\n      return this.$createElement('div', data);\n    }\n\n  }\n});\n//# sourceMappingURL=index.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" ADA Request Form \")]),_c('div',[_vm._v(\"Individuals needing assistance, pursuant to the Americans with Disabilities Act should submit this form 48 hours before convening to allow time to make any necessary arrangements.\")]),_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-text-field',{attrs:{\"counter\":50,\"label\":\"Name\",\"rules\":[function (v) { return !!v || 'Required'; }],\"required\":\"\"},model:{value:(_vm.Request.Name),callback:function ($$v) {_vm.$set(_vm.Request, \"Name\", $$v)},expression:\"Request.Name\"}}),_c('v-text-field',{attrs:{\"counter\":150,\"label\":\"Email\",\"rules\":_vm.emailRules,\"required\":\"\"},model:{value:(_vm.Request.Email),callback:function ($$v) {_vm.$set(_vm.Request, \"Email\", $$v)},expression:\"Request.Email\"}}),_c('v-text-field',{attrs:{\"counter\":50,\"label\":\"Committee\",\"rules\":[function (v) { return !!v || 'Required'; }],\"required\":\"\"},model:{value:(_vm.Request.Committee),callback:function ($$v) {_vm.$set(_vm.Request, \"Committee\", $$v)},expression:\"Request.Committee\"}}),_c('v-menu',{ref:\"menu1\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\",\"rules\":[function (v) { return !!v || 'Required'; }],\"required\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-text-field',_vm._g(_vm._b({attrs:{\"label\":\"Date of Hearing\",\"persistent-hint\":\"\"},on:{\"blur\":function($event){_vm.date  = _vm.parseDate(_vm.dateFormatted)}},model:{value:(_vm.dateFormatted),callback:function ($$v) {_vm.dateFormatted=$$v},expression:\"dateFormatted\"}},'v-text-field',attrs,false),on))]}}]),model:{value:(_vm.menu1),callback:function ($$v) {_vm.menu1=$$v},expression:\"menu1\"}},[_c('v-date-picker',{attrs:{\"no-title\":\"\"},on:{\"input\":function($event){_vm.menu1 = false}},model:{value:(_vm.date ),callback:function ($$v) {_vm.date =$$v},expression:\"date \"}})],1),_c('div',[_vm._v(\"How will you be joining the meeting\")]),_c('v-radio-group',{attrs:{\"rules\":[function (v) { return !!v || 'Required'; }],\"required\":\"\"},model:{value:(_vm.Request.MeetingInPerson),callback:function ($$v) {_vm.$set(_vm.Request, \"MeetingInPerson\", $$v)},expression:\"Request.MeetingInPerson\"}},[_c('v-radio',{attrs:{\"label\":\"Remotely\",\"value\":\"false\"}}),_c('v-radio',{attrs:{\"label\":\"In Person\",\"value\":\"true\"}})],1),_c('div',[_vm._v(\"(Note: We will seek approval from the Chair for any remote requests. Per JR7-28)\")]),_c('v-text-field',{attrs:{\"label\":\"Bill or Item of Interest\",\"rules\":[function (v) { return !!v || 'Required'; }],\"required\":\"\"},model:{value:(_vm.Request.BillOfInterest),callback:function ($$v) {_vm.$set(_vm.Request, \"BillOfInterest\", $$v)},expression:\"Request.BillOfInterest\"}}),_c('div',[_vm._v(\"Do you wish to testify\")]),_c('v-radio-group',{attrs:{\"rules\":[function (v) { return !!v || 'Required'; }],\"required\":\"\"},model:{value:(_vm.Request.Testify),callback:function ($$v) {_vm.$set(_vm.Request, \"Testify\", $$v)},expression:\"Request.Testify\"}},[_c('v-radio',{attrs:{\"label\":\"Yes\",\"value\":\"true\"}}),_c('v-radio',{attrs:{\"label\":\"No\",\"value\":\"false\"}})],1),_c('v-textarea',{attrs:{\"auto-grow\":\"\",\"rows\":\"1\",\"rules\":[function (v) { return !!v || 'Required'; }],\"required\":\"\",\"label\":\"Additional Comments or Special Needs\"},model:{value:(_vm.Request.AdditionalComments),callback:function ($$v) {_vm.$set(_vm.Request, \"AdditionalComments\", $$v)},expression:\"Request.AdditionalComments\"}}),_c('v-textarea',{attrs:{\"auto-grow\":\"\",\"rows\":\"1\",\"label\":\"Will There be Others with you in need of assistance\"},model:{value:(_vm.Request.WillThereBeOthers),callback:function ($$v) {_vm.$set(_vm.Request, \"WillThereBeOthers\", $$v)},expression:\"Request.WillThereBeOthers\"}}),_c('v-textarea',{attrs:{\"auto-grow\":\"\",\"rows\":\"1\",\"label\":\"Other contact information you choose to provide which may be helpful\"},model:{value:(_vm.Request.OtherContact),callback:function ($$v) {_vm.$set(_vm.Request, \"OtherContact\", $$v)},expression:\"Request.OtherContact\"}}),_c('br'),_c('div',[_vm._v(\"Thank you for your interest in the legislative process.\")]),_c('br'),_c('v-btn',{on:{\"click\":function($event){return _vm.submit()}}},[_vm._v(\"Submit\")]),_c('v-snackbar',{attrs:{\"color\":_vm.snackColor,\"timeout\":4000,\"top\":\"\",\"right\":\"\"},model:{value:(_vm.snackVisible),callback:function ($$v) {_vm.snackVisible=$$v},expression:\"snackVisible\"}},[_vm._v(\" \"+_vm._s(_vm.snackText)+\" \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                ADA Request Form\r\n            </div>\r\n            <div>Individuals needing assistance, pursuant to the Americans with Disabilities Act should submit this form 48 hours before convening to allow time to make any necessary arrangements.</div>\r\n            <v-form lazy-validation ref=\"form\" v-model=\"valid\">\r\n\r\n\r\n                <v-text-field :counter=\"50\" v-model=\"Request.Name\" label=\"Name\" :rules=\"[v => !!v || 'Required']\" required></v-text-field>\r\n                <v-text-field :counter=\"150\" v-model=\"Request.Email\" label=\"Email\" :rules=\"emailRules\" required></v-text-field>\r\n                <v-text-field :counter=\"50\" v-model=\"Request.Committee\" label=\"Committee\" :rules=\"[v => !!v || 'Required']\" required></v-text-field>\r\n\r\n                <v-menu ref=\"menu1\"\r\n                        v-model=\"menu1\"\r\n                        :close-on-content-click=\"false\"\r\n                        transition=\"scale-transition\"\r\n                        offset-y\r\n                        max-width=\"290px\"\r\n                        min-width=\"290px\"\r\n                        :rules=\"[v => !!v || 'Required']\" required>\r\n                    <template v-slot:activator=\"{ on, attrs }\">\r\n                        <v-text-field v-model=\"dateFormatted\"\r\n                                      label=\"Date of Hearing\"\r\n                                      persistent-hint\r\n                                      v-bind=\"attrs\"\r\n                                      @blur=\"date  = parseDate(dateFormatted)\"\r\n                                      v-on=\"on\"></v-text-field>\r\n                    </template>\r\n                    <v-date-picker v-model=\"date \" no-title @input=\"menu1 = false\"></v-date-picker>\r\n                </v-menu>\r\n\r\n                <div>How will you be joining the meeting</div>\r\n                <v-radio-group v-model=\"Request.MeetingInPerson\" :rules=\"[v => !!v || 'Required']\" required>\r\n                    <v-radio label=\"Remotely\" value=\"false\"></v-radio>\r\n                    <v-radio label=\"In Person\" value=\"true\"></v-radio>\r\n                </v-radio-group>\r\n                <div>(Note: We will seek approval from the Chair for any remote requests. Per JR7-28)</div>\r\n\r\n                <v-text-field v-model=\"Request.BillOfInterest\" label=\"Bill or Item of Interest\" :rules=\"[v => !!v || 'Required']\" required></v-text-field>\r\n\r\n\r\n                <div>Do you wish to testify</div>\r\n                <v-radio-group v-model=\"Request.Testify\" :rules=\"[v => !!v || 'Required']\" required>\r\n                    <v-radio label=\"Yes\" value=\"true\"></v-radio>\r\n                    <v-radio label=\"No\" value=\"false\"></v-radio>\r\n                </v-radio-group>\r\n                <v-textarea auto-grow rows=\"1\" v-model=\"Request.AdditionalComments\" :rules=\"[v => !!v || 'Required']\" required label=\"Additional Comments or Special Needs\"></v-textarea>\r\n                <v-textarea auto-grow rows=\"1\" v-model=\"Request.WillThereBeOthers\" label=\"Will There be Others with you in need of assistance\"></v-textarea>\r\n                <v-textarea auto-grow rows=\"1\" v-model=\"Request.OtherContact\" label=\"Other contact information you choose to provide which may be helpful\"></v-textarea>\r\n\r\n                <br />\r\n                <div>Thank you for your interest in the legislative process.</div>\r\n                <br />\r\n                <v-btn @click=\"submit()\">Submit</v-btn>\r\n                <v-snackbar :color=\"snackColor\" v-model=\"snackVisible\" :timeout=\"4000\" top right>\r\n                    {{ snackText }}\r\n                </v-snackbar>\r\n            </v-form>\r\n\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    export default {\r\n        name: 'ADARequest',\r\n        components: {\r\n            Sidebar\r\n        },\r\n        methods: {\r\n            formatDate(date) {\r\n                if (!date) return null\r\n\r\n                const [year, month, day] = date.split('-')\r\n                return `${month}/${day}/${year}`\r\n            },\r\n            parseDate(date) {\r\n                if (!date) return null\r\n\r\n                const [month, day, year] = date.split('/')\r\n                return `${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')}`\r\n            },\r\n            submit() {\r\n                if (this.$refs.form.validate()) {\r\n                    this.Request.DateOfHearing = new Date();\r\n                    this.Request.DateRecieved = new Date();\r\n                    myfetch('/api/ADARequest', {\r\n                        method: 'POST',\r\n                        credentials: 'include',\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                        body: JSON.stringify(this.Request)\r\n                    }).then(res => {\r\n                        if (res.ok) {\r\n                           // app.ShowMessage('Submitted Request', 'success');\r\n                            this.snackColor = 'success';\r\n                            this.snackText = 'Submitted Request';\r\n                            this.snackVisible = true;\r\n\r\n                            this.Request = this.blankRequest;\r\n                            this.$refs.form.resetValidation()\r\n\r\n                        }\r\n                    });\r\n                }\r\n            }\r\n        },\r\n        data: function () {\r\n            return {\r\n                search: '',\r\n                snackColor: '',\r\n                snackText: '',\r\n                snackVisible: false,\r\n                valid: true,\r\n                loading: false,\r\n                date: new Date().toISOString().substr(0, 10),\r\n                dateFormatted: this.formatDate(new Date().toISOString().substr(0, 10)),\r\n                emailRules: [\r\n                    v => !!v || \"E-mail is required\",\r\n                    v => !v || /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/.test(v) || 'E-mail must be valid'\r\n                ],\r\n                menu1: false,\r\n                blankRequest: {\r\n                    AdarequestId: 0,\r\n                    Name: null,\r\n                    Email: null,\r\n                    Committee: null,\r\n                    DateOfHearing: new Date().toISOString().substr(0, 10),\r\n                    BillOfInterest: null,\r\n                    Testify: false,\r\n                    MeetingInPerson: false,\r\n                    WillThereBeOthers: null,\r\n                    AdditionalComments: null,\r\n                    OtherContact: null,\r\n                    DateRecieved: null,\r\n                },\r\n                Request: {\r\n                    AdarequestId: 0,\r\n                    Name: null,\r\n                    Email: null,\r\n                    Committee: null,\r\n                    DateOfHearing: new Date().toISOString().substr(0, 10),\r\n                    BillOfInterest: null,\r\n                    Testify: false,\r\n                    MeetingInPerson: false,\r\n                    WillThereBeOthers: null,\r\n                    AdditionalComments: null,\r\n                    OtherContact: null,\r\n                    DateRecieved: null,\r\n                },\r\n            }\r\n        },\r\n        mounted: function () {\r\n        },\r\n        watch: {\r\n            date(val) {\r\n                this.dateFormatted = this.formatDate(this.date)\r\n            },\r\n        },\r\n        computed: {\r\n            computedDateFormatted() {\r\n                return this.formatDate(this.date)\r\n            },\r\n            Title: function () {\r\n                let title = 'ADA Request';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n    </script>\r\n<style></style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ADARequest.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ADARequest.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ADARequest.vue?vue&type=template&id=08d4acae&\"\nimport script from \"./ADARequest.vue?vue&type=script&lang=js&\"\nexport * from \"./ADARequest.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VForm } from 'vuetify/lib/components/VForm';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCol,VDatePicker,VForm,VMenu,VRadio,VRadioGroup,VRow,VSnackbar,VTextField,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Constitution \"),_c('v-breadcrumbs',{attrs:{\"divider\":\">\",\"items\":_vm.breadcrumbs}}),_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('GoogleSearchStatute')],1)],1)],1)],1),_c('v-divider'),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"StatuteId\",\"disable-pagination\":\"\",\"sort-by\":_vm.sortBy,\"sort-desc\":[false],\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item.Chapter\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.Chapter == 0)?_c('span'):_c('span',[_c('router-link',{staticStyle:{\"text-decoration\":\"none\"},attrs:{\"to\":'/Constitution/' + item.Statute.replace('0N-', '')}},[_vm._v(\" \"+_vm._s(item.Chapter)+\" \")])],1)]}},{key:\"item.CatchLine\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.Statute == '0N-Preamble')?_c('div',[_c('router-link',{staticStyle:{\"text-decoration\":\"none\"},attrs:{\"to\":'/Constitution/' + item.Statute.replace('0N-', '')}},[_vm._v(_vm._s(item.CatchLine))])],1):_c('div',[_c('div',{staticClass:\"hidden-md-and-up\"},[_vm._v(\" \"+_vm._s(item.CatchLine)+\" \")]),_c('div',{staticClass:\"hidden-sm-and-down\"},[_vm._v(\" \"+_vm._s(_vm.shortenCell(item.CatchLine))+\" \")])])]}},{key:\"no-data\",fn:function(){return [(_vm.loading)?_c('v-alert',{attrs:{\"value\":true,\"type\":\"info\"}},[_vm._v(\" Loading Please wait \")]):_c('v-alert',{attrs:{\"value\":true,\"type\":\"info\"}},[_vm._v(\" No Results \")])]},proxy:true}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Constitution\r\n                <v-breadcrumbs divider=\">\" :items=\"breadcrumbs\"></v-breadcrumbs>\r\n                <v-container>\r\n                    <v-layout row wrap>\r\n                        <v-flex xs12>\r\n                            <GoogleSearchStatute></GoogleSearchStatute>\r\n                        </v-flex>\r\n                    </v-layout>\r\n                </v-container>\r\n            </div>\r\n            <v-divider></v-divider>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"items\"\r\n                                 item-key=\"StatuteId\"\r\n                                 disable-pagination\r\n                                 :sort-by=\"sortBy\"\r\n                                 :sort-desc=\"[false]\"\r\n                                 :loading=\"loading\"\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 hide-default-footer\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.Chapter=\"{ item }\">\r\n                    <span v-if=\"item.Chapter == 0\"></span>\r\n                    <span v-else>\r\n                        <router-link :to=\"'/Constitution/' + item.Statute.replace('0N-', '')\" style=\"text-decoration: none;\">\r\n                            {{item.Chapter}}\r\n                        </router-link>\r\n                    </span>\r\n                </template>\r\n                <template v-slot:item.CatchLine=\"{ item }\">\r\n                    <div v-if=\"item.Statute == '0N-Preamble'\">\r\n                        <router-link :to=\"'/Constitution/' + item.Statute.replace('0N-', '')\" style=\"text-decoration: none;\">{{item.CatchLine}}</router-link>\r\n                    </div>\r\n                    <div v-else>\r\n                        <div class=\"hidden-md-and-up\">\r\n                            {{item.CatchLine}}\r\n                        </div>\r\n                        <div class=\"hidden-sm-and-down\">\r\n                            {{shortenCell(item.CatchLine)}}\r\n                        </div>\r\n                    </div>\r\n                </template>\r\n                <template v-slot:no-data>\r\n                    <v-alert v-if=\"loading\" :value=\"true\" type=\"info\">\r\n                        Loading Please wait\r\n                    </v-alert>\r\n                    <v-alert v-else :value=\"true\" type=\"info\">\r\n                        No Results\r\n                    </v-alert>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n\r\n</template>\r\n<script>\r\n    const GoogleSearchStatute = () => import(\"@/Components/GoogleSearchStatute.vue\");\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'ConstitutionalArticles',\r\n        props: [],\r\n        components: {\r\n            GoogleSearchStatute,\r\n            Sidebar,\r\n            FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n                this.createBreadcrumbs('Constitution', '/Constitution');\r\n\r\n                fetch('/api/Statutes/Constitution',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            return res.text().then(r => Promise.reject(r));\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.items = EncodeDatetimes(response);\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        if (error == 404)\r\n                            window.location.href = \"/404?path=\" + encodeURIComponent(window.location.pathname);\r\n                        else if (error != 302)\r\n                        {\r\n                            let e = String(error).substring(0, 100);\r\n\r\n                            if ((e || '').indexOf('Failed to fetch') > -1)\r\n                            {\r\n                                window.location.href = \"/400?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                            }\r\n                            else\r\n                            {\r\n                                reportError(error);\r\n                                window.location.href = \"/500?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                            }\r\n                        }\r\n                    })\r\n                    .finally(() =>\r\n                    {\r\n                        this.loading = false;\r\n                    });\r\n            },\r\n\r\n            createBreadcrumbs(route, url)\r\n            {\r\n                this.breadcrumbs = [{\r\n                    to: '/',\r\n                    link: true,\r\n                    text: 'Home',\r\n                }];\r\n\r\n                var bci2 = {\r\n                    to: '',\r\n                    link: true,\r\n                    text: '',\r\n                };\r\n                bci2.to = url;\r\n                bci2.text = route;\r\n                bci2.disabled = true;\r\n\r\n                this.breadcrumbs.push(bci2);\r\n            },\r\n            shortenCell(str)\r\n            {\r\n                if (str != null)\r\n                {\r\n                    if (str.length > 160)\r\n                    {\r\n                        return str.substring(0, 160);\r\n                    } else\r\n                    {\r\n                        return str;\r\n                    }\r\n                }\r\n            }\r\n\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                loading: false,\r\n                sortBy: ['Article'],\r\n                quickFind: null,\r\n                breadcrumbs: [],\r\n                items: [],\r\n                headers: [\r\n\r\n                    {\r\n                        text: 'Article',\r\n                        value: 'Chapter',\r\n                        Type: 'Constitution',\r\n                        width: '15ch'\r\n                    },\r\n                    {\r\n                        text: 'Catchline',\r\n                        value: 'CatchLine',\r\n                        Type: 'Statute',\r\n                        width: '*'\r\n                    },\r\n\r\n                ],\r\n                rulefilter: \"Active\",\r\n            };\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            currentRoute()\r\n            {\r\n                this.items = [];\r\n                this.LoadData();\r\n            },\r\n        },\r\n        computed: {\r\n            currentRoute: function ()\r\n            {\r\n                return this.$route.path;\r\n            },\r\n            Title: function ()\r\n            {\r\n                let title = \"Constitution\";\r\n\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0].replace('rules', 'Rules').replace('administrative', 'Administrative').replace('statutes', 'Statutes').replace('constitution', 'Constitution').replace('codified_laws', 'Codified_Laws').replace('session_laws', 'Session_Laws') }\r\n                ]\r\n            };\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Articles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Articles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Articles.vue?vue&type=template&id=f8412044&\"\nimport script from \"./Articles.vue?vue&type=script&lang=js&\"\nexport * from \"./Articles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBreadcrumbs,VCol,VContainer,VDivider,VFlex,VLayout,VRow})\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-speed-dial{position:relative;z-index:1}.v-speed-dial--absolute{position:absolute}.v-speed-dial--fixed{position:fixed}.v-speed-dial--absolute,.v-speed-dial--fixed{z-index:4}.v-speed-dial--absolute>.v-btn--floating,.v-speed-dial--fixed>.v-btn--floating{margin:0}.v-speed-dial--top{top:16px}.v-speed-dial--bottom{bottom:16px}.v-speed-dial--left{left:16px}.v-speed-dial--right{right:16px}.v-speed-dial--direction-left .v-speed-dial__list,.v-speed-dial--direction-right .v-speed-dial__list{height:100%;top:0;padding:0 16px}.v-speed-dial--direction-bottom .v-speed-dial__list,.v-speed-dial--direction-top .v-speed-dial__list{left:0;width:100%}.v-speed-dial--direction-top .v-speed-dial__list{flex-direction:column-reverse;bottom:100%}.v-speed-dial--direction-right .v-speed-dial__list{flex-direction:row;left:100%}.v-speed-dial--direction-bottom .v-speed-dial__list{flex-direction:column;top:100%}.v-speed-dial--direction-left .v-speed-dial__list{flex-direction:row-reverse;right:100%}.v-speed-dial__list{align-items:center;display:flex;justify-content:center;padding:16px 0;position:absolute}.v-speed-dial__list .v-btn{margin:6px}.v-speed-dial:not(.v-speed-dial--is-active) .v-speed-dial__list{pointer-events:none}\", \"\"]);\n// Exports\nmodule.exports = exports;\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-card-title',[_vm._v(\"Issue Memos / White Papers\")]),_c('v-card-text',[_c('v-container',[_c('GoogleSearch')],1),_c('v-divider'),_vm._v(\" Persons accessing these issue memoranda are hereby advised that the memoranda were both pertinent and accurate as of the date they were issued. Conditions may change in the intervening time period to the extent that certain memoranda are no longer applicable to current situations. \"),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"DocumentId\",\"sort-by\":\"DocumentId\",\"sort-desc\":[true],\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Title\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.Filename != 'not available')?_c('div',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/Issue Memo/' + item.DocumentId + '.pdf'}},[_vm._v(\" \"+_vm._s(item.Title)+\" \")])]):_c('div',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/Issue Memo/' + item.DocumentId + '.pdf'}},[_vm._v(\" \"+_vm._s(_vm.DatePretty(item.DocumentDate))+\" \")])])]}}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container>\r\n        <v-card flat>\r\n            <v-card-title>Issue Memos / White Papers</v-card-title>\r\n            <v-card-text>\r\n                <v-container>\r\n                    <GoogleSearch></GoogleSearch>\r\n                </v-container>\r\n                <v-divider></v-divider>\r\n                Persons accessing these issue memoranda are hereby advised that the memoranda were both pertinent and accurate as of the date they were issued. Conditions may change in the intervening time period to the extent that certain memoranda are no longer applicable to current situations.\r\n                <FilterableDataTable :headers=\"headers\"\r\n                                     :items=\"items\"\r\n                                     item-key=\"DocumentId\"\r\n                                     sort-by=\"DocumentId\"\r\n                                     :sort-desc=\"[true]\"\r\n                                     disable-pagination\r\n                                     hide-default-footer\r\n                                     :loading=\"loading\"\r\n                                     loading-text=\"Loading... Please wait\"\r\n                                     class=\"elevation-1\">\r\n                    <template v-slot:item.Title=\"{ item }\">\r\n                        <div v-if=\"item.Filename != 'not available'\">\r\n                            <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/Issue Memo/' + item.DocumentId + '.pdf'\">\r\n                                {{item.Title}}\r\n                            </a>\r\n                        </div>\r\n                        <div v-else>\r\n                            <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/Issue Memo/' + item.DocumentId + '.pdf'\">\r\n                                {{DatePretty(item.DocumentDate)}}\r\n                            </a>\r\n                        </div>\r\n                    </template>\r\n                </FilterableDataTable>\r\n            </v-card-text>\r\n        </v-card>\r\n    </v-container>\r\n\r\n</template>\r\n<script>\r\n    import moment from 'moment'\r\n    const GoogleSearch = () => import(\"@/Components/GoogleSearch.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n\r\n    export default {\r\n        name: 'IssueMemos',\r\n        components: {\r\n            GoogleSearch, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                fetch('/api/Documents/DocumentType?Type=49', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201)\r\n                    {\r\n                        return res.json();\r\n                    }\r\n                    else\r\n                    {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    this.items = response;\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n\r\n            FilenameReplace(s)\r\n            {\r\n                return s.toString().replace('im', '').replace('.pdf', '');\r\n            },\r\n            DatePretty(Date)\r\n            {\r\n                if (Date != undefined)\r\n                {\r\n                    return moment(Date).format('MM/DD/YYYY');\r\n                } else\r\n                {\r\n                    return null;\r\n                }\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                headers: [\r\n                    { text: 'Number', value: 'Title', width: '20ch' },\r\n                    { text: 'Title', value: 'Description', width: '*' }\r\n                ],\r\n                loading: true,\r\n                items: [],\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            Title: function ()\r\n            {\r\n                let title = 'Issue Memos';\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./IssueMemos.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./IssueMemos.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./IssueMemos.vue?vue&type=template&id=794ae4bc&\"\nimport script from \"./IssueMemos.vue?vue&type=script&lang=js&\"\nexport * from \"./IssueMemos.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VContainer,VDivider})\n","// Styles\nimport \"../../../src/components/VList/VListGroup.sass\"; // Components\n\nimport VIcon from '../VIcon';\nimport VListItem from './VListItem';\nimport VListItemIcon from './VListItemIcon'; // Mixins\n\nimport BindsAttrs from '../../mixins/binds-attrs';\nimport Bootable from '../../mixins/bootable';\nimport Colorable from '../../mixins/colorable';\nimport Toggleable from '../../mixins/toggleable';\nimport { inject as RegistrableInject } from '../../mixins/registrable'; // Directives\n\nimport ripple from '../../directives/ripple'; // Transitions\n\nimport { VExpandTransition } from '../transitions'; // Utils\n\nimport mixins from '../../util/mixins';\nimport { getSlot } from '../../util/helpers';\nconst baseMixins = mixins(BindsAttrs, Bootable, Colorable, RegistrableInject('list'), Toggleable);\nexport default baseMixins.extend().extend({\n  name: 'v-list-group',\n  directives: {\n    ripple\n  },\n  props: {\n    activeClass: {\n      type: String,\n      default: ''\n    },\n    appendIcon: {\n      type: String,\n      default: '$expand'\n    },\n    color: {\n      type: String,\n      default: 'primary'\n    },\n    disabled: Boolean,\n    group: [String, RegExp],\n    noAction: Boolean,\n    prependIcon: String,\n    ripple: {\n      type: [Boolean, Object],\n      default: true\n    },\n    subGroup: Boolean\n  },\n  computed: {\n    classes() {\n      return {\n        'v-list-group--active': this.isActive,\n        'v-list-group--disabled': this.disabled,\n        'v-list-group--no-action': this.noAction,\n        'v-list-group--sub-group': this.subGroup\n      };\n    }\n\n  },\n  watch: {\n    isActive(val) {\n      /* istanbul ignore else */\n      if (!this.subGroup && val) {\n        this.list && this.list.listClick(this._uid);\n      }\n    },\n\n    $route: 'onRouteChange'\n  },\n\n  created() {\n    this.list && this.list.register(this);\n\n    if (this.group && this.$route && this.value == null) {\n      this.isActive = this.matchRoute(this.$route.path);\n    }\n  },\n\n  beforeDestroy() {\n    this.list && this.list.unregister(this);\n  },\n\n  methods: {\n    click(e) {\n      if (this.disabled) return;\n      this.isBooted = true;\n      this.$emit('click', e);\n      this.$nextTick(() => this.isActive = !this.isActive);\n    },\n\n    genIcon(icon) {\n      return this.$createElement(VIcon, icon);\n    },\n\n    genAppendIcon() {\n      const icon = !this.subGroup ? this.appendIcon : false;\n      if (!icon && !this.$slots.appendIcon) return null;\n      return this.$createElement(VListItemIcon, {\n        staticClass: 'v-list-group__header__append-icon'\n      }, [this.$slots.appendIcon || this.genIcon(icon)]);\n    },\n\n    genHeader() {\n      return this.$createElement(VListItem, {\n        staticClass: 'v-list-group__header',\n        attrs: {\n          'aria-expanded': String(this.isActive),\n          role: 'button'\n        },\n        class: {\n          [this.activeClass]: this.isActive\n        },\n        props: {\n          inputValue: this.isActive\n        },\n        directives: [{\n          name: 'ripple',\n          value: this.ripple\n        }],\n        on: { ...this.listeners$,\n          click: this.click\n        }\n      }, [this.genPrependIcon(), this.$slots.activator, this.genAppendIcon()]);\n    },\n\n    genItems() {\n      return this.showLazyContent(() => [this.$createElement('div', {\n        staticClass: 'v-list-group__items',\n        directives: [{\n          name: 'show',\n          value: this.isActive\n        }]\n      }, getSlot(this))]);\n    },\n\n    genPrependIcon() {\n      const icon = this.subGroup && this.prependIcon == null ? '$subgroup' : this.prependIcon;\n      if (!icon && !this.$slots.prependIcon) return null;\n      return this.$createElement(VListItemIcon, {\n        staticClass: 'v-list-group__header__prepend-icon'\n      }, [this.$slots.prependIcon || this.genIcon(icon)]);\n    },\n\n    onRouteChange(to) {\n      /* istanbul ignore if */\n      if (!this.group) return;\n      const isActive = this.matchRoute(to.path);\n      /* istanbul ignore else */\n\n      if (isActive && this.isActive !== isActive) {\n        this.list && this.list.listClick(this._uid);\n      }\n\n      this.isActive = isActive;\n    },\n\n    toggle(uid) {\n      const isActive = this._uid === uid;\n      if (isActive) this.isBooted = true;\n      this.$nextTick(() => this.isActive = isActive);\n    },\n\n    matchRoute(to) {\n      return to.match(this.group) !== null;\n    }\n\n  },\n\n  render(h) {\n    return h('div', this.setTextColor(this.isActive && this.color, {\n      staticClass: 'v-list-group',\n      class: this.classes\n    }), [this.genHeader(), h(VExpandTransition, this.genItems())]);\n  }\n\n});\n//# sourceMappingURL=VListGroup.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"pr-4\",attrs:{\"flat\":\"\"}},[_c('v-card-title',[_vm._v(\"Current Schedule\")]),_c('v-card-text',[_c('v-container',{staticClass:\"d-print-none pa-0 ma-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_vm._v(\" Click \"),_c('v-icon',{attrs:{\"color\":\"primary\",\"alt\":\"SDPB Audio\",\"aria-label\":\"SDPB Audio\"}},[_vm._v(_vm._s(_vm.mdiVolumeHigh))]),_vm._v(\" for the live audio broadcast. \"),_c('br'),_vm._v(\" Broadcasts are provided by \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":\"https://www.sd.net/\"}},[_vm._v(\"SDPB\")]),_vm._v(\". \"),_c('br'),_vm._v(\" Click \"),_c('v-icon',{attrs:{\"medium\":\"\",\"color\":\"blue lighten-3\"}},[_vm._v(_vm._s(_vm.tv))]),_vm._v(\" for the Committee Live Scoreboard. \"),_c('br'),_vm._v(\" Click the meeting date to see the Agenda or Calendar. \"),_c('br')],1),_c('v-col',{staticStyle:{\"text-align\":\"right\"}},[_c('v-btn',{attrs:{\"href\":\"/Session/Schedule?printerFriendly=true\",\"target\":\"_blank\",\"color\":\"primary\"}},[_vm._v(\"Print Friendly\")])],1)],1)],1),_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-text',[_c('FilterableDataTable',{staticClass:\"elevation-1 d-print-none\",attrs:{\"headers\":_vm.headers,\"items\":_vm.filteredInterimCommitteeMeetings,\"search\":_vm.search,\"item-key\":\"MeetingName\",\"multi-sort\":\"\",\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\",\"no-data-text\":\"No Meetings Scheduled Today\"},scopedSlots:_vm._u([{key:\"item.SDPB\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.RoomAudio && item.RoomAudio != '#' && item.RoomAudio != 'No Audio')?_c('v-btn',{staticClass:\"px-1\",attrs:{\"icon\":\"\",\"color\":\"primary\",\"small\":\"\",\"rel\":\"noopener\",\"href\":item.RoomAudio,\"alt\":\"SDPB Audio\"}},[_c('v-icon',[_vm._v(_vm._s(_vm.mdiVolumeHigh))])],1):_vm._e()]}},{key:\"item.AddToCalendar\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-icon',[_vm._v(_vm._s(_vm.event))])]}},{key:\"item.Meeting\",fn:function(ref){\nvar item = ref.item;\nreturn [(item && item.SessionCommitteeId)?_c('router-link',{attrs:{\"to\":'/Session/Committee/'+ item.SessionCommitteeId +'/Detail'}},[_vm._v(\" \"+_vm._s(item.CommitteeFullName)+\" \")]):(item && item.InterimYearCommitteeId)?_c('router-link',{attrs:{\"to\":'/Interim/Committee/'+ item.InterimYearCommitteeId +'/Detail'}},[_vm._v(_vm._s(item.InterimYearCommitteeName))]):_c('span',[_vm._v(\" \"+_vm._s(item.Meeting)+\" \")])]}},{key:\"item.Weekday\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.InternetReady)?_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf'}},[_vm._v(\" \"+_vm._s(_vm.DayOfWeek(item.DocumentDate))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.DayOfWeek(item.DocumentDate))+\" \")])]}},{key:\"item.Time\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.InternetReady && !item.TBD)?_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf'}},[_vm._v(\" \"+_vm._s(_vm._f(\"FormatTimes\")(item.DocumentDate))+\" \")]):(item.TBD)?_c('span',[_vm._v(\" \"+_vm._s(_vm.formatDate2(item.DocumentDate))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"FormatTimes\")(item.DocumentDate))+\" \")])]}},{key:\"item.MeetingDate\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.InternetReady)?_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf'}},[_vm._v(\" \"+_vm._s(_vm._f(\"FormatDates\")(item.DocumentDate))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"FormatDates\")(item.DocumentDate))+\" \")])]}}])}),_c('table',{staticClass:\"d-none d-print-block\",staticStyle:{\"width\":\"100%\",\"border-collapse\":\"collapse\",\"border-spacing\":\"2px 2px\",\"font-size\":\"smaller\"}},[_c('thead',[_c('tr',[_c('td',{staticStyle:{\"font-weight\":\"bold\",\"border\":\"1px solid grey\",\"width\":\"10ch\",\"padding\":\"2px\"}},[_vm._v(\"Date\")]),_c('td',{staticStyle:{\"font-weight\":\"bold\",\"border\":\"1px solid grey\",\"width\":\"15ch\",\"padding\":\"2px\"}},[_vm._v(\"Weekday\")]),_c('td',{staticStyle:{\"font-weight\":\"bold\",\"border\":\"1px solid grey\",\"width\":\"15ch\",\"padding\":\"2px\"}},[_vm._v(\"Time\")]),_c('td',{staticStyle:{\"font-weight\":\"bold\",\"border\":\"1px solid grey\",\"padding\":\"2px\"}},[_vm._v(\"Meeting\")]),_c('td',{staticStyle:{\"font-weight\":\"bold\",\"border\":\"1px solid grey\",\"width\":\"15ch\",\"padding\":\"2px\"}},[_vm._v(\"Location\")])])]),_vm._l((_vm.CommitteeMeetings),function(item){return _c('tr',{staticStyle:{\"border\":\"1px solid grey\"}},[_c('td',{staticStyle:{\"border\":\"1px solid grey\",\"padding\":\"2px\"}},[_vm._v(_vm._s(_vm._f(\"FormatDates\")(item.DocumentDate)))]),_c('td',{staticStyle:{\"border\":\"1px solid grey\",\"padding\":\"2px\"}},[_vm._v(_vm._s(_vm.DayOfWeek(item.DocumentDate)))]),_c('td',{staticStyle:{\"border\":\"1px solid grey\",\"padding\":\"2px\"}},[_vm._v(_vm._s(_vm._f(\"FormatTimes\")(item.DocumentDate)))]),_c('td',{staticStyle:{\"border\":\"1px solid grey\",\"padding\":\"2px\"}},[(item.CommitteeFullName)?_c('span',[_vm._v(_vm._s(item.CommitteeFullName))]):(item.InterimYearCommitteeName)?_c('span',[_vm._v(_vm._s(item.InterimYearCommitteeName))]):_c('span',[_vm._v(_vm._s(item.Meeting))])]),_c('td',{staticStyle:{\"border\":\"1px solid grey\",\"padding\":\"2px\"}},[_vm._v(_vm._s(item.Room))])])})],2)],1),_c('v-card-actions',[_c('b',[_vm._v(\" **All meetings to be held in Pierre unless otherwise indicated. \")])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-card flat class=\"pr-4\">\r\n        <v-card-title>Current Schedule</v-card-title>\r\n        <v-card-text>\r\n            <v-container class=\"d-print-none pa-0 ma-0\" fluid>\r\n                <v-row no-gutters>\r\n                    <v-col>\r\n\r\n                        Click <v-icon color=\"primary\" alt=\"SDPB Audio\" aria-label=\"SDPB Audio\">{{mdiVolumeHigh}}</v-icon> for the live audio broadcast.\r\n                        <br />\r\n                        Broadcasts are provided by <a rel=\"noopener\" href=\"https://www.sd.net/\">SDPB</a>.\r\n                        <br />\r\n                        Click <v-icon medium color=\"blue lighten-3\">{{tv}}</v-icon> for the Committee Live Scoreboard.\r\n                        <br />\r\n                        Click the meeting date to see the Agenda or Calendar.\r\n                        <br />\r\n                    </v-col>\r\n                    <v-col style=\"text-align: right;\">\r\n                        <v-btn href=\"/Session/Schedule?printerFriendly=true\" target=\"_blank\" color=\"primary\">Print Friendly</v-btn>\r\n                    </v-col>\r\n                </v-row>\r\n            </v-container>\r\n            <v-card flat>\r\n                <v-card-text>\r\n                    <FilterableDataTable :headers=\"headers\"\r\n                                  :items=\"filteredInterimCommitteeMeetings\"\r\n                                  :search=\"search\"\r\n                                  item-key=\"MeetingName\"\r\n                                  multi-sort\r\n                                  hide-default-footer\r\n                                  disable-pagination\r\n                                  :loading=\"loading\"\r\n                                  loading-text=\"Loading... Please wait\"\r\n                                  no-data-text=\"No Meetings Scheduled Today\"\r\n                                  class=\"elevation-1 d-print-none\">\r\n                        <template v-slot:item.SDPB=\"{ item }\">\r\n                            <v-btn icon color=\"primary\" small rel=\"noopener\" :href=\"item.RoomAudio\" v-if=\"item.RoomAudio && item.RoomAudio != '#' && item.RoomAudio != 'No Audio'\" class=\"px-1\"  alt=\"SDPB Audio\">\r\n                                <v-icon>{{mdiVolumeHigh}}</v-icon>\r\n                            </v-btn>\r\n                        </template>\r\n                        <template v-slot:item.AddToCalendar=\"{ item }\">\r\n                            <v-icon>{{event}}</v-icon>\r\n                        </template>\r\n                        <template v-slot:item.Meeting=\"{ item }\">\r\n                            <router-link v-if=\"item && item.SessionCommitteeId\" :to=\"'/Session/Committee/'+ item.SessionCommitteeId +'/Detail'\">\r\n                                {{item.CommitteeFullName }}\r\n                            </router-link>\r\n                            <router-link v-else-if=\"item && item.InterimYearCommitteeId\" :to=\"'/Interim/Committee/'+ item.InterimYearCommitteeId +'/Detail'\">{{ item.InterimYearCommitteeName}}</router-link>\r\n                            <span v-else>\r\n                                {{item.Meeting}}\r\n                            </span>\r\n                        </template>\r\n                        <template v-slot:item.Weekday=\"{ item }\">\r\n                            <a v-if=\"item.InternetReady\" rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf'\">\r\n                                {{DayOfWeek(item.DocumentDate)}}\r\n                            </a>\r\n                            <span v-else>\r\n                                {{DayOfWeek(item.DocumentDate)}}\r\n                            </span>\r\n                        </template>\r\n                        <template v-slot:item.Time=\"{ item }\">\r\n                            <a v-if=\"item.InternetReady && !item.TBD\" rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf'\">\r\n                                {{item.DocumentDate | FormatTimes}}\r\n                            </a>\r\n                            <span v-else-if=\"item.TBD\">\r\n                                {{formatDate2(item.DocumentDate)}}\r\n                            </span>\r\n                            <span v-else>\r\n                                {{item.DocumentDate | FormatTimes}}\r\n                            </span>\r\n                        </template>\r\n                        <template v-slot:item.MeetingDate=\"{ item }\">\r\n                            <a v-if=\"item.InternetReady\" rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf'\">\r\n                                {{item.DocumentDate | FormatDates}}\r\n                            </a>\r\n                            <span v-else>\r\n                                {{item.DocumentDate | FormatDates}}\r\n                            </span>\r\n                        </template>\r\n                    </FilterableDataTable>\r\n                    <table class=\"d-none d-print-block\" style=\"width: 100%; border-collapse: collapse; border-spacing: 2px 2px; font-size: smaller;\">\r\n                        <thead>\r\n                            <tr>\r\n                                <td style=\"font-weight: bold;border: 1px solid grey; width: 10ch; padding: 2px;\">Date</td>\r\n                                <td style=\"font-weight: bold; border: 1px solid grey; width: 15ch; padding: 2px;\">Weekday</td>\r\n                                <td style=\"font-weight: bold; border: 1px solid grey; width: 15ch; padding: 2px;\">Time</td>\r\n                                <td style=\"font-weight: bold; border: 1px solid grey; padding: 2px;\">Meeting</td>\r\n                                <td style=\"font-weight: bold; border: 1px solid grey; width: 15ch; padding: 2px;\">Location</td>\r\n                            </tr>\r\n                        </thead>\r\n                        <tr v-for=\"item in CommitteeMeetings\" style=\"border: 1px solid grey;\">\r\n                            <td style=\"border: 1px solid grey; padding: 2px;\">{{item.DocumentDate | FormatDates}}</td>\r\n                            <td style=\"border: 1px solid grey; padding: 2px;\">{{DayOfWeek(item.DocumentDate)}}</td>\r\n                            <td style=\"border: 1px solid grey; padding: 2px;\">{{item.DocumentDate | FormatTimes}}</td>\r\n                            <td style=\"border: 1px solid grey; padding: 2px;\">\r\n                                <span v-if=\"item.CommitteeFullName\">{{item.CommitteeFullName}}</span><span v-else-if=\"item.InterimYearCommitteeName\">{{ item.InterimYearCommitteeName}}</span><span v-else>{{item.Meeting}}</span>\r\n                            </td>\r\n                            <td style=\"border: 1px solid grey; padding: 2px;\">{{item.Room}}</td>\r\n                        </tr>\r\n                    </table>\r\n                </v-card-text>\r\n                <v-card-actions>\r\n                    <b>\r\n                        **All meetings to be held in Pierre unless otherwise indicated.\r\n                    </b>\r\n                </v-card-actions>\r\n            </v-card>\r\n        </v-card-text>\r\n    </v-card>\r\n</template>\r\n<script>\r\n    import moment from 'moment'\r\n    import { mdiCalendar } from '@mdi/js';\r\n    import { mdiTelevision } from '@mdi/js';\r\n    import { mdiVolumeHigh } from '@mdi/js';\r\n\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Schedule',\r\n        components: {\r\n            FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Documents/Schedule?all=true', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    var tempSchedule = EncodeDatetimes(response);\r\n                    var endSchedule = [];\r\n\r\n                    tempSchedule.sessionMeetings.forEach(x => {\r\n                        if (x.DocumentDate) {\r\n                            x.MeetingDate = x.DocumentDate;\r\n                            x.Time = x.DocumentDate;\r\n                            x.Weekday = this.DayOfWeek(x.DocumentDate);\r\n                        }\r\n                        if (x.CommitteeFullName) {\r\n                            x.Meeting = x.CommitteeFullName;\r\n                        }\r\n                        else if (x.InterimYearCommitteeName) {\r\n                            x.Meeting = x.InterimYearCommitteeName;\r\n                        }\r\n                        else {\r\n                            x.Meeting = x.Title;\r\n                        }\r\n                        endSchedule.push(x);\r\n                    });\r\n                    if (endSchedule) {\r\n                        this.CommitteeMeetings = endSchedule.sort((a, b) => (a.DocumentDate > b.DocumentDate) ? 1 : -1);\r\n                    }\r\n                    else {\r\n                        this.CommitteeMeetings = [];\r\n                    }\r\n                    this.loading = false;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            DayOfWeek(Date) {\r\n                return moment(Date).format('dddd');\r\n            },\r\n            formatDate2(Date)\r\n            {\r\n                return moment(Date).add(8, 'hours').format('M/DD/YYYY');\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                event: mdiCalendar,\r\n                tv: mdiTelevision,\r\n                mdiVolumeHigh,\r\n                headers: [\r\n                    {\r\n                        text: '',\r\n                        value: 'AddToCalendar',\r\n                        width: '1%',\r\n                        filterable: false\r\n                    },\r\n                    {\r\n                        text: 'Date',\r\n                        value: 'MeetingDate',\r\n                        width: '10%'\r\n                    },\r\n                    {\r\n                        text: 'Weekday',\r\n                        value: 'Weekday',\r\n                        width: '15%'\r\n                    },\r\n                    {\r\n                        text: 'Time',\r\n                        value: 'Time',\r\n                        width: '15%'\r\n                    },\r\n                    {\r\n                        text: 'Meeting',\r\n                        value: 'Meeting',\r\n                        width: '*'\r\n                    },\r\n                    {\r\n                        text: 'Location',\r\n                        value: 'Room',\r\n                        width: '10%'\r\n                    },\r\n                    {\r\n                        text: '',\r\n                        value: 'SDPB',\r\n                        width: '10%',\r\n                        filterable: false\r\n                    },\r\n                ],\r\n                loading: true,\r\n                CommitteeMeetings: [\r\n                ],\r\n                search: '',\r\n                groupbyVisible: false,\r\n                GroupByValue: '',\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            currentRoute: function () {\r\n                this.LoadData();\r\n            },\r\n        },\r\n        computed: {\r\n            currentRoute: function () {\r\n                return this.$route.path;\r\n            },\r\n            filteredInterimCommitteeMeetings: function () {\r\n                return this.CommitteeMeetings;//.filter(x => x.InterimYearCommitteeId);\r\n            },\r\n            filteredCommitteeMeetings: function () {\r\n                return this.CommitteeMeetings;//.filter(x => x.SessionCommitteeId);\r\n            },\r\n            Title: function () {\r\n                let title = 'Schedule';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0].toLowerCase().replace('?printerfriendly=true', '').replace('/interim/schedule', '/session/schedule') }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Schedule.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Schedule.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Schedule.vue?vue&type=template&id=7786ca4f&\"\nimport script from \"./Schedule.vue?vue&type=script&lang=js&\"\nexport * from \"./Schedule.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VCardTitle } 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';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VContainer,VIcon,VRow})\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-navigation-drawer{background-color:#fff}.theme--light.v-navigation-drawer:not(.v-navigation-drawer--floating) .v-navigation-drawer__border{background-color:rgba(0,0,0,.12)}.theme--light.v-navigation-drawer .v-divider{border-color:rgba(0,0,0,.12)}.theme--dark.v-navigation-drawer{background-color:#363636}.theme--dark.v-navigation-drawer:not(.v-navigation-drawer--floating) .v-navigation-drawer__border{background-color:hsla(0,0%,100%,.12)}.theme--dark.v-navigation-drawer .v-divider{border-color:hsla(0,0%,100%,.12)}.v-navigation-drawer{-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;left:0;max-width:100%;overflow:hidden;pointer-events:auto;top:0;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:transform,visibility,width}.v-navigation-drawer:not([data-booted=true]){transition:none!important}.v-navigation-drawer.v-navigation-drawer--right:after{left:0;right:auto}.v-navigation-drawer .v-list:not(.v-select-list){background:inherit}.v-navigation-drawer__border{position:absolute;right:0;top:0;height:100%;width:1px}.v-navigation-drawer__content{height:100%;overflow-y:auto;overflow-x:hidden}.v-navigation-drawer__image{border-radius:inherit;height:100%;position:absolute;top:0;bottom:0;z-index:-1;contain:strict;width:100%}.v-navigation-drawer__image .v-image{border-radius:inherit}.v-navigation-drawer--bottom.v-navigation-drawer--is-mobile{max-height:50%;top:auto;bottom:0;min-width:100%}.v-navigation-drawer--right{left:auto;right:0}.v-navigation-drawer--right>.v-navigation-drawer__border{right:auto;left:0}.v-navigation-drawer--absolute{z-index:1}.v-navigation-drawer--fixed{z-index:6}.v-navigation-drawer--absolute{position:absolute}.v-navigation-drawer--clipped:not(.v-navigation-drawer--temporary):not(.v-navigation-drawer--is-mobile){z-index:4}.v-navigation-drawer--fixed{position:fixed}.v-navigation-drawer--floating:after{display:none}.v-navigation-drawer--mini-variant{overflow:hidden}.v-navigation-drawer--mini-variant .v-list-item>:first-child{margin-left:0;margin-right:0}.v-navigation-drawer--mini-variant .v-list-item>:not(:first-child){position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;display:initial}.v-navigation-drawer--mini-variant .v-list-group--no-action .v-list-group__items,.v-navigation-drawer--mini-variant .v-list-group--sub-group{display:none}.v-navigation-drawer--mini-variant.v-navigation-drawer--custom-mini-variant .v-list-item{justify-content:center}.v-navigation-drawer--temporary{z-index:7}.v-navigation-drawer--mobile{z-index:6}.v-navigation-drawer--close{visibility:hidden}.v-navigation-drawer--is-mobile:not(.v-navigation-drawer--close),.v-navigation-drawer--temporary:not(.v-navigation-drawer--close){box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Styles\nimport \"../../../src/components/VList/VListItemGroup.sass\"; // Extensions\n\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'; // Mixins\n\nimport Colorable from '../../mixins/colorable'; // Utilities\n\nimport mixins from '../../util/mixins';\nexport default mixins(BaseItemGroup, Colorable).extend({\n  name: 'v-list-item-group',\n\n  provide() {\n    return {\n      isInGroup: true,\n      listItemGroup: this\n    };\n  },\n\n  computed: {\n    classes() {\n      return { ...BaseItemGroup.options.computed.classes.call(this),\n        'v-list-item-group': true\n      };\n    }\n\n  },\n  methods: {\n    genData() {\n      return this.setTextColor(this.color, { ...BaseItemGroup.options.methods.genData.call(this),\n        attrs: {\n          role: 'listbox'\n        }\n      });\n    }\n\n  }\n});\n//# sourceMappingURL=VListItemGroup.js.map","import { createSimpleFunctional } from '../../util/helpers';\nimport VList from './VList';\nimport VListGroup from './VListGroup';\nimport VListItem from './VListItem';\nimport VListItemGroup from './VListItemGroup';\nimport VListItemAction from './VListItemAction';\nimport VListItemAvatar from './VListItemAvatar';\nimport VListItemIcon from './VListItemIcon';\nexport const VListItemActionText = createSimpleFunctional('v-list-item__action-text', 'span');\nexport const VListItemContent = createSimpleFunctional('v-list-item__content', 'div');\nexport const VListItemTitle = createSimpleFunctional('v-list-item__title', 'div');\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item__subtitle', 'div');\nexport { VList, VListGroup, VListItem, VListItemAction, VListItemAvatar, VListItemIcon, VListItemGroup };\nexport default {\n  $_vuetify_subcomponents: {\n    VList,\n    VListGroup,\n    VListItem,\n    VListItemAction,\n    VListItemActionText,\n    VListItemAvatar,\n    VListItemContent,\n    VListItemGroup,\n    VListItemIcon,\n    VListItemSubtitle,\n    VListItemTitle\n  }\n};\n//# sourceMappingURL=index.js.map","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VToolbar.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"2a00affc\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('div',{staticClass:\"headline\"},[_vm._v(\"LRC Maps\")]),_vm._v(\" Maps from the South Dakota Legislative Research Council \"),_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_vm._v(\"Legislative District Maps\")]),_c('v-card-text',[_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},_vm._l((_vm.Districts),function(i){return _c('v-flex',{key:i,attrs:{\"xs12\":\"\",\"sm12\":\"\",\"md4\":\"\"}},[_c('v-card',{attrs:{\"flat\":\"\",\"tile\":\"\"}},[_c('span',[_c('router-link',{attrs:{\"to\":'/Legislators/Find?District=' + i}},[_vm._v(\"District \"+_vm._s(i))]),_vm._v(\" (\"+_vm._s(_vm.CountyList(i))+\")\")],1)])],1)}),1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n<v-container>\r\n    <div class=\"headline\">LRC Maps</div>\r\n    Maps from the South Dakota Legislative Research Council\r\n    <v-card flat>\r\n        <v-card-title>Legislative District Maps</v-card-title>\r\n        <v-card-text>\r\n            <v-container>\r\n                <v-layout row wrap>\r\n                    <v-flex xs12 sm12 md4 v-for=\"i in Districts\" :key=\"i\">\r\n                        <v-card flat\r\n                                tile>\r\n                            <span><router-link :to=\"'/Legislators/Find?District=' + i\">District {{i}}</router-link> ({{CountyList(i)}})</span>\r\n                        </v-card>\r\n                    </v-flex>\r\n                </v-layout>\r\n            </v-container>\r\n        </v-card-text>\r\n    </v-card>\r\n</v-container>\r\n</template>\r\n<script>\r\n    export default {\r\n        name: 'Maps',\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Sessions/Current', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Session = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n                fetch('/api/DistrictCounties', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.DistrictCounties = EncodeDatetimes(response);\r\n                    this.Districts = [...new Set(this.DistrictCounties.map(item => item.District.District))].sort();\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            CountyList(district) {\r\n                var d = this.DistrictCounties.filter(x => x.District.District == district && x.SessionId == this.Session.SessionId);\r\n                var res = \"\";\r\n                d.forEach(x => {\r\n                    res += x.County.County + \", \";\r\n                });\r\n\r\n                return res.replace(/,\\s*$/, \"\");\r\n\r\n            }\r\n        },\r\n        data: function () {\r\n            return {\r\n                DistrictCounties: [],\r\n                Districts: [],\r\n                Session: {},\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Legislative Maps';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Maps.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Maps.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Maps.vue?vue&type=template&id=b7512204&\"\nimport script from \"./Maps.vue?vue&type=script&lang=js&\"\nexport * from \"./Maps.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VContainer,VFlex,VLayout})\n","// Styles\nimport \"../../../src/components/VItemGroup/VItemGroup.sass\"; // Mixins\n\nimport Comparable from '../../mixins/comparable';\nimport Proxyable from '../../mixins/proxyable';\nimport Themeable from '../../mixins/themeable'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { consoleWarn } from '../../util/console';\nexport const BaseItemGroup = mixins(Comparable, Proxyable, Themeable).extend({\n  name: 'base-item-group',\n  props: {\n    activeClass: {\n      type: String,\n      default: 'v-item--active'\n    },\n    mandatory: Boolean,\n    max: {\n      type: [Number, String],\n      default: null\n    },\n    multiple: Boolean,\n    tag: {\n      type: String,\n      default: 'div'\n    }\n  },\n\n  data() {\n    return {\n      // As long as a value is defined, show it\n      // Otherwise, check if multiple\n      // to determine which default to provide\n      internalLazyValue: this.value !== undefined ? this.value : this.multiple ? [] : undefined,\n      items: []\n    };\n  },\n\n  computed: {\n    classes() {\n      return {\n        'v-item-group': true,\n        ...this.themeClasses\n      };\n    },\n\n    selectedIndex() {\n      return this.selectedItem && this.items.indexOf(this.selectedItem) || -1;\n    },\n\n    selectedItem() {\n      if (this.multiple) return undefined;\n      return this.selectedItems[0];\n    },\n\n    selectedItems() {\n      return this.items.filter((item, index) => {\n        return this.toggleMethod(this.getValue(item, index));\n      });\n    },\n\n    selectedValues() {\n      if (this.internalValue == null) return [];\n      return Array.isArray(this.internalValue) ? this.internalValue : [this.internalValue];\n    },\n\n    toggleMethod() {\n      if (!this.multiple) {\n        return v => this.valueComparator(this.internalValue, v);\n      }\n\n      const internalValue = this.internalValue;\n\n      if (Array.isArray(internalValue)) {\n        return v => internalValue.some(intern => this.valueComparator(intern, v));\n      }\n\n      return () => false;\n    }\n\n  },\n  watch: {\n    internalValue: 'updateItemsState',\n    items: 'updateItemsState'\n  },\n\n  created() {\n    if (this.multiple && !Array.isArray(this.internalValue)) {\n      consoleWarn('Model must be bound to an array if the multiple property is true.', this);\n    }\n  },\n\n  methods: {\n    genData() {\n      return {\n        class: this.classes\n      };\n    },\n\n    getValue(item, i) {\n      return item.value === undefined ? i : item.value;\n    },\n\n    onClick(item) {\n      this.updateInternalValue(this.getValue(item, this.items.indexOf(item)));\n    },\n\n    register(item) {\n      const index = this.items.push(item) - 1;\n      item.$on('change', () => this.onClick(item)); // If no value provided and mandatory,\n      // assign first registered item\n\n      if (this.mandatory && !this.selectedValues.length) {\n        this.updateMandatory();\n      }\n\n      this.updateItem(item, index);\n    },\n\n    unregister(item) {\n      if (this._isDestroyed) return;\n      const index = this.items.indexOf(item);\n      const value = this.getValue(item, index);\n      this.items.splice(index, 1);\n      const valueIndex = this.selectedValues.indexOf(value); // Items is not selected, do nothing\n\n      if (valueIndex < 0) return; // If not mandatory, use regular update process\n\n      if (!this.mandatory) {\n        return this.updateInternalValue(value);\n      } // Remove the value\n\n\n      if (this.multiple && Array.isArray(this.internalValue)) {\n        this.internalValue = this.internalValue.filter(v => v !== value);\n      } else {\n        this.internalValue = undefined;\n      } // If mandatory and we have no selection\n      // add the last item as value\n\n      /* istanbul ignore else */\n\n\n      if (!this.selectedItems.length) {\n        this.updateMandatory(true);\n      }\n    },\n\n    updateItem(item, index) {\n      const value = this.getValue(item, index);\n      item.isActive = this.toggleMethod(value);\n    },\n\n    // https://github.com/vuetifyjs/vuetify/issues/5352\n    updateItemsState() {\n      this.$nextTick(() => {\n        if (this.mandatory && !this.selectedItems.length) {\n          return this.updateMandatory();\n        } // TODO: Make this smarter so it\n        // doesn't have to iterate every\n        // child in an update\n\n\n        this.items.forEach(this.updateItem);\n      });\n    },\n\n    updateInternalValue(value) {\n      this.multiple ? this.updateMultiple(value) : this.updateSingle(value);\n    },\n\n    updateMandatory(last) {\n      if (!this.items.length) return;\n      const items = this.items.slice();\n      if (last) items.reverse();\n      const item = items.find(item => !item.disabled); // If no tabs are available\n      // aborts mandatory value\n\n      if (!item) return;\n      const index = this.items.indexOf(item);\n      this.updateInternalValue(this.getValue(item, index));\n    },\n\n    updateMultiple(value) {\n      const defaultValue = Array.isArray(this.internalValue) ? this.internalValue : [];\n      const internalValue = defaultValue.slice();\n      const index = internalValue.findIndex(val => this.valueComparator(val, value));\n      if (this.mandatory && // Item already exists\n      index > -1 && // value would be reduced below min\n      internalValue.length - 1 < 1) return;\n      if ( // Max is set\n      this.max != null && // Item doesn't exist\n      index < 0 && // value would be increased above max\n      internalValue.length + 1 > this.max) return;\n      index > -1 ? internalValue.splice(index, 1) : internalValue.push(value);\n      this.internalValue = internalValue;\n    },\n\n    updateSingle(value) {\n      const isSame = this.valueComparator(this.internalValue, value);\n      if (this.mandatory && isSame) return;\n      this.internalValue = isSame ? undefined : value;\n    }\n\n  },\n\n  render(h) {\n    return h(this.tag, this.genData(), this.$slots.default);\n  }\n\n});\nexport default BaseItemGroup.extend({\n  name: 'v-item-group',\n\n  provide() {\n    return {\n      itemGroup: this\n    };\n  }\n\n});\n//# sourceMappingURL=VItemGroup.js.map","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VSlideGroup.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"574826f9\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VCard.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"3882e81a\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VListItem.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1e4b9363\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","import \"../../../src/components/VGrid/VGrid.sass\";\nimport Vue from 'vue';\nimport mergeData from '../../util/mergeData';\nimport { upperFirst } from '../../util/helpers'; // no xs\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl'];\n\nconst breakpointProps = (() => {\n  return breakpoints.reduce((props, val) => {\n    props[val] = {\n      type: [Boolean, String, Number],\n      default: false\n    };\n    return props;\n  }, {});\n})();\n\nconst offsetProps = (() => {\n  return breakpoints.reduce((props, val) => {\n    props['offset' + upperFirst(val)] = {\n      type: [String, Number],\n      default: null\n    };\n    return props;\n  }, {});\n})();\n\nconst orderProps = (() => {\n  return breakpoints.reduce((props, val) => {\n    props['order' + upperFirst(val)] = {\n      type: [String, Number],\n      default: null\n    };\n    return props;\n  }, {});\n})();\n\nconst propMap = {\n  col: Object.keys(breakpointProps),\n  offset: Object.keys(offsetProps),\n  order: Object.keys(orderProps)\n};\n\nfunction breakpointClass(type, prop, val) {\n  let className = type;\n\n  if (val == null || val === false) {\n    return undefined;\n  }\n\n  if (prop) {\n    const breakpoint = prop.replace(type, '');\n    className += `-${breakpoint}`;\n  } // Handling the boolean style prop when accepting [Boolean, String, Number]\n  // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n  // Since the default is false, an empty string indicates the prop's presence.\n\n\n  if (type === 'col' && (val === '' || val === true)) {\n    // .col-md\n    return className.toLowerCase();\n  } // .order-md-6\n\n\n  className += `-${val}`;\n  return className.toLowerCase();\n}\n\nconst cache = new Map();\nexport default Vue.extend({\n  name: 'v-col',\n  functional: true,\n  props: {\n    cols: {\n      type: [Boolean, String, Number],\n      default: false\n    },\n    ...breakpointProps,\n    offset: {\n      type: [String, Number],\n      default: null\n    },\n    ...offsetProps,\n    order: {\n      type: [String, Number],\n      default: null\n    },\n    ...orderProps,\n    alignSelf: {\n      type: String,\n      default: null,\n      validator: str => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str)\n    },\n    tag: {\n      type: String,\n      default: 'div'\n    }\n  },\n\n  render(h, {\n    props,\n    data,\n    children,\n    parent\n  }) {\n    // Super-fast memoization based on props, 5x faster than JSON.stringify\n    let cacheKey = '';\n\n    for (const prop in props) {\n      cacheKey += String(props[prop]);\n    }\n\n    let classList = cache.get(cacheKey);\n\n    if (!classList) {\n      classList = []; // Loop through `col`, `offset`, `order` breakpoint props\n\n      let type;\n\n      for (type in propMap) {\n        propMap[type].forEach(prop => {\n          const value = props[prop];\n          const className = breakpointClass(type, prop, value);\n          if (className) classList.push(className);\n        });\n      }\n\n      const hasColClasses = classList.some(className => className.startsWith('col-'));\n      classList.push({\n        // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n        col: !hasColClasses || !props.cols,\n        [`col-${props.cols}`]: props.cols,\n        [`offset-${props.offset}`]: props.offset,\n        [`order-${props.order}`]: props.order,\n        [`align-self-${props.alignSelf}`]: props.alignSelf\n      });\n      cache.set(cacheKey, classList);\n    }\n\n    return h(props.tag, mergeData(data, {\n      class: classList\n    }), children);\n  }\n\n});\n//# sourceMappingURL=VCol.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-dialog{border-radius:4px;margin:24px;overflow-y:auto;pointer-events:auto;transition:.3s cubic-bezier(.25,.8,.25,1);width:100%;z-index:inherit;outline:none;box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.v-dialog:not(.v-dialog--fullscreen){max-height:90%}.v-dialog>*{width:100%}.v-dialog>.v-card>.v-card__title{font-size:1.25rem;font-weight:500;letter-spacing:.0125em;padding:16px 24px 10px}.v-dialog>.v-card>.v-card__subtitle,.v-dialog>.v-card>.v-card__text{padding:0 24px 20px}.v-dialog>.v-card>.v-card__actions{padding:8px 16px}.v-dialog__content{align-items:center;display:flex;height:100%;justify-content:center;left:0;pointer-events:none;position:fixed;top:0;transition:.2s cubic-bezier(.25,.8,.25,1),z-index 1ms;width:100%;z-index:6}.v-dialog__container{display:none}.v-dialog__container--attached{display:inline}.v-dialog--animated{-webkit-animation-duration:.15s;animation-duration:.15s;-webkit-animation-name:animate-dialog;animation-name:animate-dialog;-webkit-animation-timing-function:cubic-bezier(.25,.8,.25,1);animation-timing-function:cubic-bezier(.25,.8,.25,1)}.v-dialog--fullscreen{border-radius:0;margin:0;height:100%;position:fixed;overflow-y:auto;top:0;left:0}.v-dialog--fullscreen>.v-card{min-height:100%;min-width:100%;margin:0!important;padding:0!important}.v-dialog--scrollable,.v-dialog--scrollable>form{display:flex}.v-dialog--scrollable>.v-card,.v-dialog--scrollable>form>.v-card{display:flex;flex:1 1 100%;flex-direction:column;max-height:100%;max-width:100%}.v-dialog--scrollable>.v-card>.v-card__actions,.v-dialog--scrollable>.v-card>.v-card__title,.v-dialog--scrollable>form>.v-card>.v-card__actions,.v-dialog--scrollable>form>.v-card>.v-card__title{flex:0 0 auto}.v-dialog--scrollable>.v-card>.v-card__text,.v-dialog--scrollable>form>.v-card>.v-card__text{-webkit-backface-visibility:hidden;backface-visibility:hidden;flex:1 1 auto;overflow-y:auto}@-webkit-keyframes animate-dialog{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes animate-dialog{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\"Historical Listing\")]),_c('v-divider'),_c('p',[_vm._v(\" The historical listing contains both territorial and statehood legislators. Legislators who served the Dakota Territory from 1861-1889, are listed as “territorial.” South Dakota became a state on November 2, 1889. Legislators who served South Dakota from 1890-present, are listed as “statehood.” \")]),_c('br'),_c('p',[_vm._v(\" Total Legislators \"),_c('v-chip',[_vm._v(_vm._s(_vm.filteredMembers.length))])],1),_c('br'),_c('v-text-field',{attrs:{\"label\":\"Search\",\"clearable\":\"\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(_vm._s(_vm.searchIcon))])]},proxy:true}]),model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.filteredMembers,\"item-key\":\"MemberServiceId\",\"multi-sort\":\"\",\"items-per-page\":50,\"sort-by\":['Name'],\"sort-desc\":[false],\"editHeaders\":true,\"loading\":_vm.loading,\"search\":_vm.search,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Historical/Legislator/Profile/' + item.MemberId}},[_vm._v(_vm._s(item.Name))])]}},{key:\"item.Body\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.Body)?_c('span',{staticClass:\"text-xs-center\",domProps:{\"innerHTML\":_vm._s(item.Body.join(',&nbsp;'))}}):_vm._e()]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\" cols=\"12\">\r\n            <div class=\"headline\">Historical Listing</div>\r\n            <v-divider></v-divider>\r\n            <p>\r\n                The historical listing contains both territorial and statehood legislators. Legislators who served the Dakota Territory from 1861-1889, are listed as “territorial.” South Dakota became a state on November 2, 1889.  Legislators who served South Dakota from 1890-present, are listed as “statehood.”\r\n            </p>\r\n            <br />\r\n            <p>\r\n                Total Legislators <v-chip>{{filteredMembers.length}}</v-chip>\r\n            </p>\r\n            <br />\r\n            <v-text-field label=\"Search\"\r\n                          clearable\r\n                          v-model=\"search\">\r\n                <template v-slot:append>\r\n                    <v-icon>{{searchIcon}}</v-icon>\r\n                </template>\r\n            </v-text-field>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"filteredMembers\"\r\n                                 item-key=\"MemberServiceId\"\r\n                                 multi-sort\r\n                                 :items-per-page=\"50\"\r\n                                 :sort-by=\"['Name']\"\r\n                                 :sort-desc=\"[false]\"\r\n                                 :editHeaders=\"true\"\r\n                                 :loading=\"loading\"\r\n                                 :search=\"search\"\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.Name=\"{ item }\">\r\n                    <router-link :to=\"'/Historical/Legislator/Profile/' + item.MemberId\">{{item.Name }}</router-link>\r\n                </template>\r\n                <template v-slot:item.Body=\"{item}\">\r\n                    <span class=\"text-xs-center\" v-if=\"item.Body\" v-html=\"item.Body.join(',&nbsp;')\">\r\n                    </span>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    import { mdiMagnify } from '@mdi/js';\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Historical',\r\n        components: {\r\n            FilterableDataTable, Sidebar\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                this.loading = true;\r\n                fetch('/api/Historical/AllFlatMembers', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.filteredMembers = EncodeDatetimes(response);\r\n                    this.Members = this.filteredMembers;//.filter(x => x.Body != null && x.Party != null && x.Office != null && x.City != null && x.StartYear != null && x.County != null && x.Gender != null && x.MemberType != null);\r\n                    if (this.$vuetify.breakpoint.mobile) {\r\n                        this.Members.forEach(x => {\r\n                            if (x.Remarks != null) {\r\n                                if (x.Remarks.length > 110) {\r\n                                    x.Remarks = x.Remarks.substring(0, 110);\r\n                                }\r\n                            }\r\n                            return x;\r\n                        });\r\n                    }\r\n\r\n                    this.loading = false;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            Search() {\r\n                this.loading = true;\r\n                var res = this.Members;\r\n\r\n                if (this.FirstName && !this.isEmpty(this.FirstName)) {\r\n                    res = res.filter(x => x.FirstName && x.FirstName != null).filter(x => x.FirstName.toLowerCase().includes(this.FirstName.toLowerCase()));\r\n                }\r\n\r\n                if (this.LastName && !this.isEmpty(this.LastName)) {\r\n                    res = res.filter(x => x.LastName && x.LastName != null).filter(x => x.LastName.toLowerCase().includes(this.LastName.toLowerCase()));\r\n                }\r\n\r\n                if (this.Party && !this.isEmpty(this.Party)) {\r\n                    res = res.filter(x => x.Party && x.Party != null).filter(x => x.Party.toLowerCase().includes(this.Party.toLowerCase()));\r\n                }\r\n                if (this.Office && !this.isEmpty(this.Office)) {\r\n                    res = res.filter(x => x.Office && x.Office != null).filter(x => x.Office.toLowerCase().includes(this.Office.toLowerCase()));\r\n                }\r\n\r\n                if (this.City && !this.isEmpty(this.City)) {\r\n                    res = res.filter(x => x.City && x.City != null).filter(x => x.City.toLowerCase().includes(this.City.toLowerCase()));\r\n                }\r\n\r\n                if (this.Year && !this.isEmpty(this.Year)) {\r\n                    res = res.filter(x => x.Year && x.Year != null).filter(x => x.Year.toLowerCase().includes(this.Year.toLowerCase()));\r\n                }\r\n\r\n                if (this.County && !this.isEmpty(this.County)) {\r\n                    res = res.filter(x => x.County && x.County != null).filter(x => x.County.toLowerCase().includes(this.County.toLowerCase()));\r\n                }\r\n\r\n                if (this.StateOrTerritory && !this.isEmpty(this.StateOrTerritory)) {\r\n                    res = res.filter(x => x.StateOrTerritory && x.StateOrTerritory != null).filter(x => x.StateOrTerritory.toLowerCase().includes(this.StateOrTerritory.toLowerCase()));\r\n                }\r\n\r\n                if (this.Gender && !this.isEmpty(this.Gender)) {\r\n                    res = res.filter(x => x.Gender && x.Gender != null).filter(x => x.Gender.toLowerCase().includes(this.Gender.toLowerCase()));\r\n                }\r\n\r\n                if (this.Body && !this.isEmpty(this.Body)) {\r\n                    res = res.filter(x => x.Body && x.Body != null).filter(x => x.Body.toLowerCase().includes(this.Body.toLowerCase()));\r\n                }\r\n\r\n                if (this.Remarks && !this.isEmpty(this.Remarks)) {\r\n                    res = res.filter(x => x.Remarks && x.Remarks != null).filter(x => x.Remarks.toLowerCase().includes(this.Remarks.toLowerCase()));\r\n                }\r\n\r\n                this.loading = false;\r\n                this.filteredMembers = res;\r\n            },\r\n            isEmpty(str) {\r\n                return (!str || 0 === str.length);\r\n            },\r\n            unique(value, index, self) {\r\n                return self.indexOf(value) === index\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                searchIcon: mdiMagnify,\r\n                search: '',\r\n                AdvancedSearch: false,\r\n                loading: false,\r\n                headers: [\r\n                    {\r\n                        text: 'Name',\r\n                        value: 'Name',\r\n                        align: 'left',\r\n                        width: '20ch',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Gender',\r\n                        value: 'Gender',\r\n                        align: 'left',\r\n                        width: '10ch',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'FirstName',\r\n                        value: 'FirstName',\r\n                        align: 'left',\r\n                        width: '15ch',\r\n                        sortable: true,\r\n                        visible: false,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'LastName',\r\n                        value: 'LastName',\r\n                        align: 'left',\r\n                        width: '15ch',\r\n                        sortable: true,\r\n                        visible: false,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'MiddleName',\r\n                        value: 'MiddleName',\r\n                        align: 'left',\r\n                        width: '10ch',\r\n                        sortable: true,\r\n                        visible: false,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Birth',\r\n                        value: 'Birthdate',\r\n                        align: 'left',\r\n                        width: '10ch',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Death',\r\n                        value: 'Deathdate',\r\n                        align: 'left',\r\n                        width: '12ch',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Type',\r\n                        value: 'MemberType',\r\n                        align: 'left',\r\n                        width: '11ch',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Remarks',\r\n                        value: 'Remarks',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Office',\r\n                        value: 'Office',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Party',\r\n                        value: 'Party',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Body',\r\n                        value: 'Body',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'City',\r\n                        value: 'City',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'County',\r\n                        value: 'County',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'Start Year',\r\n                        value: 'StartYear',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                    {\r\n                        text: 'End Year',\r\n                        value: 'EndYear',\r\n                        align: 'left',\r\n                        width: '1%',\r\n                        sortable: true,\r\n                        visible: true,\r\n                        filterable: true,\r\n                    },\r\n                ],\r\n                items: [],\r\n                filteredMembers: [],\r\n                Members: [],\r\n                Party: null,\r\n                Office: null,\r\n                City: null,\r\n                Year: null,\r\n                County: null,\r\n                StateOrTerritory: null,\r\n                Gender: null,\r\n                Body: null,\r\n                Remarks: null,\r\n                FirstName: null,\r\n                LastName: null,\r\n                Parties: [],\r\n                Offices: [],\r\n                Cities: [],\r\n                Years: [],\r\n                Counties: [],\r\n                Genders: [],\r\n                StateOrTerritories: [],\r\n                Bodies: [],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            Members: function () {\r\n\r\n            }\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Historical Legislators';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Historical.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Historical.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Historical.vue?vue&type=template&id=ddd106f6&\"\nimport script from \"./Historical.vue?vue&type=script&lang=js&\"\nexport * from \"./Historical.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VChip,VCol,VDivider,VIcon,VRow,VTextField})\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-subheader{color:rgba(0,0,0,.6)}.theme--dark.v-subheader{color:hsla(0,0%,100%,.7)}.v-subheader{align-items:center;display:flex;height:48px;font-size:.875rem;font-weight:400;padding:0 16px 0 16px}.v-subheader--inset{margin-left:56px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.Session && _vm.Session.Year)?_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}}):_vm._e()],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.Session && _vm.Session.Year)?_c('div',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.Session.YearString)+\" Fiscal Notes\")]):_vm._e(),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"search\":_vm.search,\"item-key\":\"DocumentId\",\"multi-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.BillNumber\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType + ' ' + item.BillNumber + ' '))])]}},{key:\"item.FiscalNote\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value+'api/Documents/' + item.DocumentId + '.pdf'}},[_vm._v(_vm._s(item.BillType + ' ' + item.BillNumber + ' ')),(item.SixC)?_c('span',[_vm._v(_vm._s('(Per' + ' ' + 'JR' + ' '+ '6C‑4)'))]):_c('span',[_vm._v(_vm._s('(' +item.Version + ')'))])])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar v-if=\"Session && Session.Year\" :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\" v-if=\"Session && Session.Year\">{{Session.YearString}} Fiscal Notes</div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"items\"\r\n                                 :search=\"search\"\r\n                                 item-key=\"DocumentId\"\r\n                                 multi-sort\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 :loading=\"loading\"\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.BillNumber=\"{ item }\">\r\n                    <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType + '&nbsp;' + item.BillNumber + '&nbsp;'}}</router-link>\r\n                </template>\r\n                <template v-slot:item.FiscalNote=\"{ item }\">\r\n                    <a rel=\"noopener\" :href=\"$MyLRCUrl.value+'api/Documents/' + item.DocumentId + '.pdf'\">{{item.BillType + '&nbsp;' + item.BillNumber + '&nbsp;'}}<span v-if=\"item.SixC\">{{'(Per' + '&nbsp;' + 'JR' + '&nbsp;'+ '6C‑4)'}}</span><span v-else>{{'(' +item.Version + ')'}}</span></a>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'FiscalNotes',\r\n        props: ['SessionId'],\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                fetch('/api/Sessions/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201)\r\n                    {\r\n                        return res.json();\r\n                    }\r\n                    else\r\n                    {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    this.Session = EncodeDatetimes(response);\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                });\r\n\r\n                this.loading = true;\r\n\r\n                fetch('/api/Documents/FiscalNotes/' + this.SessionId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            throw new Error(res.statusText);\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        var temp = EncodeDatetimes(response);\r\n\r\n                        temp.forEach(x =>\r\n                        {\r\n                            x.FiscalNote = x.BillType + ' ' + x.BillNumber + ' ';\r\n\r\n                            if (x.SixC)\r\n                                x.FiscalNote += '(Per JR 6C-4)';\r\n                            else\r\n                                x.FiscalNote += '(' + x.Version +')';\r\n                        });\r\n                        \r\n                        this.items = temp.sort(\r\n                            function (a, b)\r\n                            {\r\n                                if (a.BillType === b.BillType)\r\n                                {\r\n                                    return a.BillNumber - b.BillNumber;\r\n                                }\r\n                                return a.BillType > b.BillType ? 1 : -1;\r\n                            });\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    })\r\n                    .finally(_ =>\r\n                    {\r\n                        this.loading = false;\r\n                    });\r\n            },\r\n            appendItemText(item)\r\n            {\r\n                var res = \"\";\r\n                if (item.SixC)\r\n                {\r\n                    res += \"(Per JR 6C‑4)\";\r\n                } else\r\n                {\r\n                    res += item.Version;\r\n                }\r\n                return res;\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                search: '',\r\n                Session: {},\r\n                loading: false,\r\n                headers: [\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'start',\r\n                        value: 'BillNumber',\r\n                        width: '15ch'\r\n                    },\r\n                    {\r\n                        text: 'Fiscal Note',\r\n                        align: 'start',\r\n                        value: 'FiscalNote',\r\n                        width: '25ch'\r\n                    },\r\n\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'Title',\r\n                        width: '*'\r\n                    },\r\n                ],\r\n                items: [\r\n\r\n                ]\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            Title: function ()\r\n            {\r\n                let title = 'Loading Fiscal Notes...';\r\n                if (this.Session && this.Session.Year)\r\n                {\r\n                    title = this.Session.Year + \" Fiscal Notes\";\r\n                }\r\n                else\r\n                {\r\n                    title = 'Fiscal Notes';\r\n                }\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./FiscalNotes.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./FiscalNotes.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FiscalNotes.vue?vue&type=template&id=5dd4a516&\"\nimport script from \"./FiscalNotes.vue?vue&type=script&lang=js&\"\nexport * from \"./FiscalNotes.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('div',{staticClass:\"headline\"},[_vm._v(\"Prime Sponsor\")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.Billheaders,\"items\":_vm.filterPrimeSponsor,\"item-key\":\"BillNumber\",\"multi-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"sort-by\":['Bill.BillType', 'Bill.BillNumberOnly'],\"sort-desc\":[false, false],\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.BillURL\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.Bill.BillId}},[_vm._v(_vm._s(item.Bill.BillType + ' ' + item.Bill.BillNumberOnly))])]}}])}),_c('div',{staticClass:\"headline\"},[_vm._v(\"Co Sponsor\")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.Billheaders2,\"items\":_vm.filterCoSponsor,\"item-key\":\"BillNumber\",\"multi-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"sort-by\":['Bill.BillType', 'Bill.BillNumberOnly'],\"sort-desc\":[false, false],\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.BillURL\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.Bill.BillId}},[_vm._v(_vm._s(item.Bill.BillType + ' ' + item.Bill.BillNumberOnly))])]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <div>\r\n        <v-progress-linear indeterminate\r\n                           v-if=\"loading\"></v-progress-linear>\r\n        <div class=\"headline\">Prime Sponsor</div>\r\n        <FilterableDataTable :headers=\"Billheaders\"\r\n                      :items=\"filterPrimeSponsor\"\r\n                      item-key=\"BillNumber\"\r\n                      multi-sort\r\n                      disable-pagination\r\n                      hide-default-footer\r\n                      :sort-by=\"['Bill.BillType', 'Bill.BillNumberOnly']\"\r\n                      :sort-desc=\"[false, false]\"\r\n                      loading-text=\"Loading... Please wait\"\r\n                      class=\"elevation-1\">\r\n            <template v-slot:item.BillURL=\"{ item }\">\r\n                <router-link :to=\"'/Session/Bill/' + item.Bill.BillId\">{{item.Bill.BillType + '&nbsp;' + item.Bill.BillNumberOnly}}</router-link>\r\n            </template>\r\n        </FilterableDataTable>\r\n        <div class=\"headline\">Co Sponsor</div>\r\n        <FilterableDataTable :headers=\"Billheaders2\"\r\n                      :items=\"filterCoSponsor\"\r\n                      item-key=\"BillNumber\"\r\n                      multi-sort\r\n                      disable-pagination\r\n                      hide-default-footer\r\n                      :sort-by=\"['Bill.BillType', 'Bill.BillNumberOnly']\"\r\n                      :sort-desc=\"[false, false]\"\r\n                      loading-text=\"Loading... Please wait\"\r\n                      class=\"elevation-1\">\r\n            <template v-slot:item.BillURL=\"{ item }\">\r\n                <router-link :to=\"'/Session/Bill/' + item.Bill.BillId\">{{item.Bill.BillType + '&nbsp;' + item.Bill.BillNumberOnly}}</router-link>\r\n            </template>\r\n        </FilterableDataTable>\r\n    </div>\r\n</template>\r\n<script>\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Bills',\r\n        props: ['SessionMemberId'],\r\n        components: {\r\n            FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/SessionMembers/Bills/' + this.SessionMemberId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.ok) {\r\n                        return res.json();\r\n                    }\r\n                    \r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n\r\n                    let r = EncodeDatetimes(response);\r\n\r\n                    (r.Bills || []).forEach(x =>\r\n                    {\r\n                        x.BillURL = x.Bill.BillType + ' ' + x.Bill.BillNumberOnly;\r\n                    });\r\n\r\n                    this.Member = r;\r\n\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                }).finally(_ =>\r\n                {\r\n                    this.loading = false;\r\n                });\r\n            },\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: true,\r\n                filterValue: 'Detail',\r\n                tabs: ['Detail', 'Committees', 'Bills', 'Hearings'],\r\n                Member: {\r\n                    Session: {\r\n                        Year: null\r\n                    },\r\n                },\r\n                Billheaders: [\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'start',\r\n                        value: 'BillURL',\r\n                        width: '10ch'\r\n                    },\r\n                    {\r\n                        text: 'Bill Type',\r\n                        value: 'Bill.BillType',\r\n                        width: '20ch'\r\n                    },\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'start',\r\n                        value: 'Bill.BillNumberOnly',\r\n                        width: '15ch'\r\n                    },\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'Bill.Title',\r\n                        width: '*'\r\n                    },\r\n                ],\r\n                Billheaders2: [\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'start',\r\n                        value: 'BillURL',\r\n                        width: '10ch'\r\n                    },\r\n                    {\r\n                        text: 'Bill Type',\r\n                        value: 'Bill.BillType',\r\n                        width: '20ch'\r\n                    },\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'start',\r\n                        value: 'Bill.BillNumberOnly',\r\n                        width: '15ch'\r\n                    },\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'Bill.Title',\r\n                        width: '*'\r\n                    },\r\n                ],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            SessionMemberId: {\r\n                handler() {\r\n                    this.LoadData();\r\n                },\r\n            },\r\n        },\r\n        computed: {\r\n            filterPrimeSponsor: function () {\r\n                if (this.Member.Bills != null) {\r\n                    return this.Member.Bills.filter(x => x.SponsorType == 'P');\r\n                }\r\n            },\r\n            filterCoSponsor: function () {\r\n                if (this.Member.Bills != null) {\r\n                    return this.Member.Bills.filter(x => x.SponsorType == 'C');\r\n                }\r\n            },\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Bills.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Bills.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Bills.vue?vue&type=template&id=a444ddd2&\"\nimport script from \"./Bills.vue?vue&type=script&lang=js&\"\nexport * from \"./Bills.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-menu{display:none}.v-menu--attached{display:inline}.v-menu__content{position:absolute;display:inline-block;max-width:80%;overflow-y:auto;overflow-x:hidden;contain:content;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);border-radius:4px}.v-menu__content--active{pointer-events:none}.v-menu__content--auto .v-list-item{transition-property:transform,opacity;transition-duration:.3s;transition-timing-function:cubic-bezier(.25,.8,.25,1)}.v-menu__content--fixed{position:fixed}.v-menu__content>.card{contain:content;-webkit-backface-visibility:hidden;backface-visibility:hidden}.v-menu>.v-menu__content{max-width:none}.v-menu-transition-enter .v-list-item{min-width:0;pointer-events:none}.v-menu-transition-enter-to .v-list-item{transition-delay:.1s}.v-menu-transition-leave-active,.v-menu-transition-leave-to{pointer-events:none}.v-menu-transition-enter,.v-menu-transition-leave-to{opacity:0}.v-menu-transition-enter-active,.v-menu-transition-leave-active{transition:all .3s cubic-bezier(.25,.8,.25,1)}.v-menu-transition-enter.v-menu__content--auto{transition:none!important}.v-menu-transition-enter.v-menu__content--auto .v-list-item{opacity:0;transform:translateY(-15px)}.v-menu-transition-enter.v-menu__content--auto .v-list-item--active{opacity:1;transform:none!important;pointer-events:auto}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Styles\nimport \"../../../src/components/VRadioGroup/VRadio.sass\";\nimport VLabel from '../VLabel';\nimport VIcon from '../VIcon';\nimport VInput from '../VInput'; // Mixins\n\nimport BindsAttrs from '../../mixins/binds-attrs';\nimport Colorable from '../../mixins/colorable';\nimport { factory as GroupableFactory } from '../../mixins/groupable';\nimport Rippleable from '../../mixins/rippleable';\nimport Themeable from '../../mixins/themeable';\nimport Selectable, { prevent } from '../../mixins/selectable'; // Utilities\n\nimport { getSlot } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nimport { mergeListeners } from '../../util/mergeData';\nconst baseMixins = mixins(BindsAttrs, Colorable, Rippleable, GroupableFactory('radioGroup'), Themeable);\n/* @vue/component */\n\nexport default baseMixins.extend().extend({\n  name: 'v-radio',\n  inheritAttrs: false,\n  props: {\n    disabled: Boolean,\n    id: String,\n    label: String,\n    name: String,\n    offIcon: {\n      type: String,\n      default: '$radioOff'\n    },\n    onIcon: {\n      type: String,\n      default: '$radioOn'\n    },\n    readonly: Boolean,\n    value: {\n      default: null\n    }\n  },\n  data: () => ({\n    isFocused: false\n  }),\n  computed: {\n    classes() {\n      return {\n        'v-radio--is-disabled': this.isDisabled,\n        'v-radio--is-focused': this.isFocused,\n        ...this.themeClasses,\n        ...this.groupClasses\n      };\n    },\n\n    computedColor() {\n      if (this.isDisabled) return undefined;\n      return Selectable.options.computed.computedColor.call(this);\n    },\n\n    computedIcon() {\n      return this.isActive ? this.onIcon : this.offIcon;\n    },\n\n    computedId() {\n      return VInput.options.computed.computedId.call(this);\n    },\n\n    hasLabel: VInput.options.computed.hasLabel,\n\n    hasState() {\n      return (this.radioGroup || {}).hasState;\n    },\n\n    isDisabled() {\n      return this.disabled || !!this.radioGroup && this.radioGroup.isDisabled;\n    },\n\n    isReadonly() {\n      return this.readonly || !!this.radioGroup && this.radioGroup.isReadonly;\n    },\n\n    computedName() {\n      if (this.name || !this.radioGroup) {\n        return this.name;\n      }\n\n      return this.radioGroup.name || `radio-${this.radioGroup._uid}`;\n    },\n\n    rippleState() {\n      return Selectable.options.computed.rippleState.call(this);\n    },\n\n    validationState() {\n      return (this.radioGroup || {}).validationState || this.computedColor;\n    }\n\n  },\n  methods: {\n    genInput(args) {\n      // We can't actually use the mixin directly because\n      // it's made for standalone components, but its\n      // genInput method is exactly what we need\n      return Selectable.options.methods.genInput.call(this, 'radio', args);\n    },\n\n    genLabel() {\n      if (!this.hasLabel) return null;\n      return this.$createElement(VLabel, {\n        on: {\n          // Label shouldn't cause the input to focus\n          click: prevent\n        },\n        attrs: {\n          for: this.computedId\n        },\n        props: {\n          color: this.validationState,\n          focused: this.hasState\n        }\n      }, getSlot(this, 'label') || this.label);\n    },\n\n    genRadio() {\n      const {\n        title,\n        ...radioAttrs\n      } = this.attrs$;\n      return this.$createElement('div', {\n        staticClass: 'v-input--selection-controls__input'\n      }, [this.$createElement(VIcon, this.setTextColor(this.validationState, {\n        props: {\n          dense: this.radioGroup && this.radioGroup.dense\n        }\n      }), this.computedIcon), this.genInput({\n        name: this.computedName,\n        value: this.value,\n        ...radioAttrs\n      }), this.genRipple(this.setTextColor(this.rippleState))]);\n    },\n\n    onFocus(e) {\n      this.isFocused = true;\n      this.$emit('focus', e);\n    },\n\n    onBlur(e) {\n      this.isFocused = false;\n      this.$emit('blur', e);\n    },\n\n    onChange() {\n      if (this.isDisabled || this.isReadonly || this.isActive) return;\n      this.toggle();\n    },\n\n    onKeydown: () => {} // Override default with noop\n\n  },\n\n  render(h) {\n    const data = {\n      staticClass: 'v-radio',\n      class: this.classes,\n      on: mergeListeners({\n        click: this.onChange\n      }, this.listeners$),\n      attrs: {\n        title: this.attrs$.title\n      }\n    };\n    return h('div', data, [this.genRadio(), this.genLabel()]);\n  }\n\n});\n//# sourceMappingURL=VRadio.js.map","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VSelect.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"51d6a02f\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\"General Reports\")]),_c('v-list',_vm._l((_vm.items),function(i){return _c('v-list-item',{key:i.name},[_c('v-btn',{attrs:{\"to\":i.url}},[_vm._v(_vm._s(i.name))])],1)}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">General Reports</div>\r\n            <v-list>\r\n                <v-list-item v-for=\"i in items\" :key=\"i.name\">\r\n                    <v-btn :to=\"i.url\">{{i.name}}</v-btn>\r\n                </v-list-item>\r\n            </v-list>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    export default {\r\n        name: 'GeneralReports',\r\n        components: {\r\n            Sidebar\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n                search: '',\r\n                loading: false,\r\n                items: [\r\n                    { name: 'Political Control', url: '/Historical/Reports/Political', },\r\n                    { name: 'Statehood Legislators', url: '/Historical/Reports/Statehood', },\r\n                    { name: 'Territorial Legislators', url: '/Historical/Reports/Territorial', }\r\n                ],\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./GeneralReports.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./GeneralReports.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GeneralReports.vue?vue&type=template&id=3bcb6de0&\"\nimport script from \"./GeneralReports.vue?vue&type=script&lang=js&\"\nexport * from \"./GeneralReports.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VList,VListItem,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[(_vm.currentRoute.includes('/Staff/Session/Committee'))?_c('span',[_vm._v(\"Staff By Session Committee\")]):_c('span',[_vm._v(\"Staff By Interim Committee\")])]),_c('FilterableDataTable',{key:_vm.key,staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.filteredItems,\"item-key\":_vm.key,\"items-per-page\":999,\"loading\":_vm.loading,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.currentRoute.includes('/Staff/Session/Committee'))?_c('span',[_c('router-link',{attrs:{\"to\":'/Session/Committee/' + item.SessionCommitteeId}},[_vm._v(_vm._s(item.Committee.FullName))])],1):_c('span',[_c('router-link',{attrs:{\"to\":'/Interim/Committee/' + item.InterimYearCommitteeId}},[_vm._v(_vm._s(item.Committee.Name))])],1)]}},{key:\"item.Staff\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.Users),function(i,il){return _c('span',[_c('router-link',{attrs:{\"to\":'/Staff/Profile/' + i.UserId}},[_vm._v(_vm._s(i.Name)),(il< item.Users.length-1)?_c('span',[_vm._v(\", \")]):_vm._e()])],1)})}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                <span v-if=\"currentRoute.includes('/Staff/Session/Committee')\">Staff By Session Committee</span>\r\n                <span v-else>Staff By Interim Committee</span>\r\n            </div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"filteredItems\"\r\n                                 :item-key=\"key\"\r\n                                 :items-per-page=\"999\"\r\n                                 :loading=\"loading\"\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\"\r\n                                 :key=\"key\">\r\n                <template v-slot:item.Name=\"{ item }\">\r\n                    <span v-if=\"currentRoute.includes('/Staff/Session/Committee')\">\r\n                        <router-link :to=\"'/Session/Committee/' + item.SessionCommitteeId\">{{item.Committee.FullName }}</router-link>\r\n                    </span>\r\n                    <span v-else>\r\n                        <router-link :to=\"'/Interim/Committee/' + item.InterimYearCommitteeId\">{{item.Committee.Name}}</router-link>\r\n                    </span>\r\n                </template>\r\n                <template v-slot:item.Staff=\"{ item }\">\r\n                    <span v-for=\"(i,il) in item.Users\">\r\n                        <router-link :to=\"'/Staff/Profile/' + i.UserId\">{{i.Name}}<span v-if=\"il< item.Users.length-1\">, </span></router-link>\r\n                    </span>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Committee',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n                fetch('/api/UserCommittees',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            throw new Error(res.statusText);\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        let r = EncodeDatetimes(response);\r\n\r\n                        r.SessionCommittees.forEach(x =>\r\n                        {\r\n                            x.Name = x.Committee.FullName;\r\n                            x.Staff = x.Users.map(y => y.Name).toString();\r\n                        });\r\n\r\n                        r.InterimCommittees.forEach(x =>\r\n                        {\r\n                            x.Name = x.Committee.Name;\r\n                            x.Staff = x.Users.map(y => y.Name).toString();\r\n                        });\r\n\r\n                        this.items = r;\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    })\r\n                    .finally(_ =>\r\n                    {\r\n                        this.loading = false;\r\n                    });\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                headers: [\r\n                    { text: 'Committee', value: 'Name', width: '70ch' },\r\n                    { text: 'Staff', value: 'Staff', width: '*' },\r\n                ],\r\n                items: [],\r\n                loading: true,\r\n                key: 'SessionCommitteeId',\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            currentRoute: function ()\r\n            {\r\n            },\r\n        },\r\n        computed: {\r\n            currentRoute: function ()\r\n            {\r\n                return this.$route.path;\r\n            },\r\n            filteredItems: function ()\r\n            {\r\n                if (this.currentRoute.includes('/Staff/Session/Committee'))\r\n                {\r\n                    this.key = 'SessionCommitteeId';\r\n                    return this.items.SessionCommittees;\r\n                } else\r\n                {\r\n                    this.key = 'InterimYearCommitteeId';\r\n                    return this.items.InterimCommittees;\r\n                }\r\n            },\r\n            Title: function ()\r\n            {\r\n                let title = 'Staff by Committees';\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Committee.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Committee.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Committee.vue?vue&type=template&id=e87d3922&\"\nimport script from \"./Committee.vue?vue&type=script&lang=js&\"\nexport * from \"./Committee.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-input--selection-controls{margin-top:16px;padding-top:4px}.v-input--selection-controls>.v-input__append-outer,.v-input--selection-controls>.v-input__prepend-outer{margin-top:0;margin-bottom:0}.v-input--selection-controls:not(.v-input--hide-details)>.v-input__slot{margin-bottom:12px}.v-input--selection-controls .v-input__slot,.v-input--selection-controls .v-radio{cursor:pointer}.v-input--selection-controls .v-input__slot>.v-label,.v-input--selection-controls .v-radio>.v-label{align-items:center;display:inline-flex;flex:1 1 auto;height:auto}.v-input--selection-controls__input{color:inherit;display:inline-flex;flex:0 0 auto;height:24px;position:relative;transition:.3s cubic-bezier(.25,.8,.5,1);transition-property:transform;width:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.v-input--selection-controls__input .v-icon{width:100%}.v-application--is-ltr .v-input--selection-controls__input{margin-right:8px}.v-application--is-rtl .v-input--selection-controls__input{margin-left:8px}.v-input--selection-controls__input input[role=checkbox],.v-input--selection-controls__input input[role=radio],.v-input--selection-controls__input input[role=switch]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.v-input--selection-controls__input+.v-label{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.v-input--selection-controls__ripple{border-radius:50%;cursor:pointer;height:34px;position:absolute;transition:inherit;width:34px;left:-12px;top:calc(50% - 24px);margin:7px}.v-input--selection-controls__ripple:before{border-radius:inherit;bottom:0;content:\\\"\\\";position:absolute;opacity:.2;left:0;right:0;top:0;transform-origin:center center;transform:scale(.2);transition:inherit}.v-input--selection-controls__ripple>.v-ripple__container{transform:scale(1.2)}.v-input--selection-controls.v-input--dense .v-input--selection-controls__ripple{width:28px;height:28px;left:-9px}.v-input--selection-controls.v-input--dense:not(.v-input--switch) .v-input--selection-controls__ripple{top:calc(50% - 21px)}.v-input--selection-controls.v-input{flex:0 1 auto}.v-input--selection-controls.v-input--is-focused .v-input--selection-controls__ripple:before,.v-input--selection-controls .v-radio--is-focused .v-input--selection-controls__ripple:before{background:currentColor;transform:scale(1.2)}.v-input--selection-controls.v-input--is-disabled:not(.v-input--indeterminate) .v-icon{color:inherit}.v-input--selection-controls.v-input--is-disabled:not(.v-input--is-readonly){pointer-events:none}.v-input--selection-controls__input:hover .v-input--selection-controls__ripple:before{background:currentColor;transform:scale(1.2);transition:none}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0 billStatus\"},[_c('v-col',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('div',{staticClass:\"d-print-none\"},[_c('v-text-field',{attrs:{\"label\":\"Filter by Title\",\"outlined\":\"\"},model:{value:(_vm.filterTitle),callback:function ($$v) {_vm.filterTitle=$$v},expression:\"filterTitle\"}})],1),_vm._l((_vm.BillsFiltered),function(Bill){return _c('v-row',{key:Bill.BillId},[_c('v-col',[_c('BillStat',{attrs:{\"Bill\":Bill,\"ActionLogs\":Bill.ActionLogs,\"session-id\":Bill.SessionId}})],1)],1)})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0 billStatus\">\r\n        <v-col>\r\n            <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n            <div class=\"d-print-none\">\r\n                <v-text-field v-model=\"filterTitle\" label=\"Filter by Title\" outlined></v-text-field>\r\n            </div>\r\n            <v-row v-for=\"Bill in BillsFiltered\" :key=\"Bill.BillId\">\r\n                <v-col>\r\n                    <BillStat :Bill=\"Bill\" :ActionLogs=\"Bill.ActionLogs\" :session-id=\"Bill.SessionId\"></BillStat>\r\n                </v-col>\r\n            </v-row>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const BillStat = () => import(\"@/Session/BillReports/BillStat.vue\");\r\n    export default {\r\n        name: 'BillStatus',\r\n        props: {\r\n            SessionId: { type: String | Number, default: 44 },\r\n        },\r\n        components: {\r\n            BillStat\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                this.loading = true;\r\n                fetch('/api/Sessions/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Session = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n\r\n                fetch('/api/Bills/BillStatus/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.ok) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Bills = EncodeDate(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            }\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: false,\r\n                Session: {},\r\n                Bills: [],\r\n                filterTitle: null,\r\n                filterTitleDebouce: null,\r\n            }\r\n        },\r\n        watch: {\r\n            SessionId: function () {\r\n                this.LoadData();\r\n            },\r\n            filterTitle: debounce(function () {\r\n                this.filterTitleDebouce = this.filterTitle;\r\n            }, 500)\r\n        },\r\n        mounted() {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            BillsFiltered: function () {\r\n                if (this.filterTitleDebouce && this.Bills && this.Bills.length > 0)\r\n                    return this.Bills.filter(x => (x.Title || '').toLowerCase().indexOf(this.filterTitleDebouce) > -1);\r\n                else\r\n                    return this.Bills;\r\n            },\r\n            Title: function () {\r\n                let title = 'Loading Bill...';\r\n                if (this.Session && this.Session.Year) {\r\n                    title = this.Session.Year + \" Bill Status Report\";\r\n                }\r\n                else {\r\n                    title = \"Bill Status Report\";\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./BillStatus.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./BillStatus.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BillStatus.vue?vue&type=template&id=08472c03&\"\nimport script from \"./BillStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./BillStatus.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VProgressLinear,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Staff By Subject Area \")]),_c('v-expansion-panels',{staticStyle:{\"z-index\":\"0\"},attrs:{\"accordion\":\"\",\"tile\":\"\",\"multiple\":\"\"}},_vm._l((_vm.subjects),function(i){return _c('v-expansion-panel',[_c('v-expansion-panel-header',[_c('h4',[_vm._v(\" \"+_vm._s(i.Name)+\" \")])]),_c('v-expansion-panel-content',[_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.SubItems(i.SubjectId),\"item-key\":\"SubjectAreaId\",\"sort-by\":['SubjectArea'],\"sort-desc\":[false],\"loading\":_vm.loading,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Research\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((_vm.Research(item.User)),function(i,il){return _c('span',[_c('router-link',{attrs:{\"to\":'/Staff/Profile/' + i.UserId}},[_vm._v(_vm._s(i.Name)),(il< _vm.Research(item.User).length-1)?_c('span',[_vm._v(\", \")]):_vm._e()])],1)})}},{key:\"item.Fiscal\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((_vm.Fiscal(item.User)),function(i,il){return _c('span',[_c('router-link',{attrs:{\"to\":'/Staff/Profile/' + i.UserId}},[_vm._v(_vm._s(i.Name)),(il< _vm.Fiscal(item.User).length-1)?_c('span',[_vm._v(\", \")]):_vm._e()])],1)})}}],null,true)})],1)],1)}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Staff By Subject Area\r\n            </div>\r\n            <v-expansion-panels style=\"z-index: 0;\" accordion tile multiple>\r\n                <v-expansion-panel v-for=\"i in subjects\">\r\n                    <v-expansion-panel-header>\r\n                        <h4>\r\n                            {{i.Name}}\r\n                        </h4>\r\n                    </v-expansion-panel-header>\r\n                    <v-expansion-panel-content>\r\n                        <FilterableDataTable :headers=\"headers\"\r\n                                             :items=\"SubItems(i.SubjectId)\"\r\n                                             item-key=\"SubjectAreaId\"\r\n                                             :sort-by=\"['SubjectArea']\"\r\n                                             :sort-desc=\"[false]\"\r\n                                             :loading=\"loading\"\r\n                                             disable-pagination\r\n                                             hide-default-footer\r\n                                             loading-text=\"Loading... Please wait\"\r\n                                             class=\"elevation-1\">\r\n                            <template v-slot:item.Research=\"{ item }\">\r\n                                <span v-for=\"(i,il) in Research(item.User)\">\r\n                                    <router-link :to=\"'/Staff/Profile/' + i.UserId\">{{i.Name}}<span v-if=\"il< Research(item.User).length-1\">, </span></router-link>\r\n                                </span>\r\n                            </template>\r\n                            <template v-slot:item.Fiscal=\"{ item }\">\r\n                                <span v-for=\"(i,il) in Fiscal(item.User)\">\r\n                                    <router-link :to=\"'/Staff/Profile/' + i.UserId\">{{i.Name}}<span v-if=\"il< Fiscal(item.User).length-1\">, </span></router-link>\r\n                                </span>\r\n                            </template>\r\n                        </FilterableDataTable>\r\n                    </v-expansion-panel-content>\r\n                </v-expansion-panel>\r\n            </v-expansion-panels>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'SubjectArea',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n\r\n                fetch('/api/UserSubjectAreas',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        this.loading = false;\r\n\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            return res.text().then(r => Promise.reject(r));\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        response.subjectAreas.forEach(x =>\r\n                        {\r\n                            x.Research = this.Research(x.User).map(y => y.Name).toString();\r\n                            x.Fiscal = this.Fiscal(x.User).map(y => y.Name).toString();\r\n                        });\r\n\r\n                        this.subjects = response.subjects;\r\n                        this.items = response.subjectAreas;\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    })\r\n                    .finally(_ =>\r\n                    {\r\n                        this.loading = false;\r\n                    });\r\n            },\r\n            SubItems(subjectId)\r\n            {\r\n                return this.items.filter(x => x.SubjectId == subjectId);\r\n            },\r\n            Fiscal(Users)\r\n            {\r\n                return Users.filter(x => (x.StaffGroup1 == 'Fiscal') ||\r\n                    (x.StaffGroup1 == 'Management' && x.Title.indexOf('Chief Fiscal & Program Analyst') > -1) ||\r\n                    (x.StaffGroup1 == 'Management' && x.Title.indexOf('Chief Fiscal Analyst') > -1));\r\n            },\r\n            Research(Users)\r\n            {\r\n                return Users.filter(x => (x.StaffGroup1 == 'Research') ||\r\n                    (x.StaffGroup1 == 'Management' && (x.Title.indexOf('Chief Research & Legal Analyst') > -1) ||\r\n                        (x.Title == 'Code Counsel') ||\r\n                        x.Title == 'Acting Chief Research & Legal Analyst/Code Counsel') ||\r\n                    (x.StaffGroup1 == 'Management' && x.Title == 'Director'));\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                headers: [\r\n                    { text: 'Subject', value: 'SubjectArea', width: '*' },\r\n                    { text: 'Research Staff', value: 'Research', width: '50ch' },\r\n                    { text: 'Fiscal Staff', value: 'Fiscal', width: '50ch' },\r\n                ],\r\n                subjects: [],\r\n                items: [],\r\n                loading: true,\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            Title: function ()\r\n            {\r\n                let title = 'Staff by Subject Area';\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectArea.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectArea.vue?vue&type=script&lang=js&\"","// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable';\nimport { provide as RegistrableProvide } from '../../mixins/registrable'; // Utilities\n\nimport { getSlot } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nexport default mixins(GroupableFactory('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'), RegistrableProvide('expansionPanel', true)\n/* @vue/component */\n).extend({\n  name: 'v-expansion-panel',\n  props: {\n    disabled: Boolean,\n    readonly: Boolean\n  },\n\n  data() {\n    return {\n      content: null,\n      header: null,\n      nextIsActive: false\n    };\n  },\n\n  computed: {\n    classes() {\n      return {\n        'v-expansion-panel--active': this.isActive,\n        'v-expansion-panel--next-active': this.nextIsActive,\n        'v-expansion-panel--disabled': this.isDisabled,\n        ...this.groupClasses\n      };\n    },\n\n    isDisabled() {\n      return this.expansionPanels.disabled || this.disabled;\n    },\n\n    isReadonly() {\n      return this.expansionPanels.readonly || this.readonly;\n    }\n\n  },\n  methods: {\n    registerContent(vm) {\n      this.content = vm;\n    },\n\n    unregisterContent() {\n      this.content = null;\n    },\n\n    registerHeader(vm) {\n      this.header = vm;\n      vm.$on('click', this.onClick);\n    },\n\n    unregisterHeader() {\n      this.header = null;\n    },\n\n    onClick(e) {\n      if (e.detail) this.header.$el.blur();\n      this.$emit('click', e);\n      this.isReadonly || this.isDisabled || this.toggle();\n    },\n\n    toggle() {\n      this.$nextTick(() => this.$emit('change'));\n    }\n\n  },\n\n  render(h) {\n    return h('div', {\n      staticClass: 'v-expansion-panel',\n      class: this.classes,\n      attrs: {\n        'aria-expanded': String(this.isActive)\n      }\n    }, getSlot(this));\n  }\n\n});\n//# sourceMappingURL=VExpansionPanel.js.map","import { VExpandTransition } from '../transitions'; // Mixins\n\nimport Bootable from '../../mixins/bootable';\nimport Colorable from '../../mixins/colorable';\nimport { inject as RegistrableInject } from '../../mixins/registrable'; // Utilities\n\nimport { getSlot } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Bootable, Colorable, RegistrableInject('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel'));\n/* @vue/component */\n\nexport default baseMixins.extend().extend({\n  name: 'v-expansion-panel-content',\n  data: () => ({\n    isActive: false\n  }),\n  computed: {\n    parentIsActive() {\n      return this.expansionPanel.isActive;\n    }\n\n  },\n  watch: {\n    parentIsActive: {\n      immediate: true,\n\n      handler(val, oldVal) {\n        if (val) this.isBooted = true;\n        if (oldVal == null) this.isActive = val;else this.$nextTick(() => this.isActive = val);\n      }\n\n    }\n  },\n\n  created() {\n    this.expansionPanel.registerContent(this);\n  },\n\n  beforeDestroy() {\n    this.expansionPanel.unregisterContent();\n  },\n\n  render(h) {\n    return h(VExpandTransition, this.showLazyContent(() => [h('div', this.setBackgroundColor(this.color, {\n      staticClass: 'v-expansion-panel-content',\n      directives: [{\n        name: 'show',\n        value: this.isActive\n      }]\n    }), [h('div', {\n      class: 'v-expansion-panel-content__wrap'\n    }, getSlot(this))])]));\n  }\n\n});\n//# sourceMappingURL=VExpansionPanelContent.js.map","// Components\nimport { VFadeTransition } from '../transitions';\nimport VIcon from '../VIcon'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport { inject as RegistrableInject } from '../../mixins/registrable'; // Directives\n\nimport ripple from '../../directives/ripple'; // Utilities\n\nimport { getSlot } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Colorable, RegistrableInject('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel'));\nexport default baseMixins.extend().extend({\n  name: 'v-expansion-panel-header',\n  directives: {\n    ripple\n  },\n  props: {\n    disableIconRotate: Boolean,\n    expandIcon: {\n      type: String,\n      default: '$expand'\n    },\n    hideActions: Boolean,\n    ripple: {\n      type: [Boolean, Object],\n      default: false\n    }\n  },\n  data: () => ({\n    hasMousedown: false\n  }),\n  computed: {\n    classes() {\n      return {\n        'v-expansion-panel-header--active': this.isActive,\n        'v-expansion-panel-header--mousedown': this.hasMousedown\n      };\n    },\n\n    isActive() {\n      return this.expansionPanel.isActive;\n    },\n\n    isDisabled() {\n      return this.expansionPanel.isDisabled;\n    },\n\n    isReadonly() {\n      return this.expansionPanel.isReadonly;\n    }\n\n  },\n\n  created() {\n    this.expansionPanel.registerHeader(this);\n  },\n\n  beforeDestroy() {\n    this.expansionPanel.unregisterHeader();\n  },\n\n  methods: {\n    onClick(e) {\n      this.$emit('click', e);\n    },\n\n    genIcon() {\n      const icon = getSlot(this, 'actions') || [this.$createElement(VIcon, this.expandIcon)];\n      return this.$createElement(VFadeTransition, [this.$createElement('div', {\n        staticClass: 'v-expansion-panel-header__icon',\n        class: {\n          'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate\n        },\n        directives: [{\n          name: 'show',\n          value: !this.isDisabled\n        }]\n      }, icon)]);\n    }\n\n  },\n\n  render(h) {\n    return h('button', this.setBackgroundColor(this.color, {\n      staticClass: 'v-expansion-panel-header',\n      class: this.classes,\n      attrs: {\n        tabindex: this.isDisabled ? -1 : null,\n        type: 'button',\n        'aria-expanded': this.isActive\n      },\n      directives: [{\n        name: 'ripple',\n        value: this.ripple\n      }],\n      on: { ...this.$listeners,\n        click: this.onClick,\n        mousedown: () => this.hasMousedown = true,\n        mouseup: () => this.hasMousedown = false\n      }\n    }), [getSlot(this, 'default', {\n      open: this.isActive\n    }, true), this.hideActions || this.genIcon()]);\n  }\n\n});\n//# sourceMappingURL=VExpansionPanelHeader.js.map","// Styles\nimport \"../../../src/components/VExpansionPanel/VExpansionPanel.sass\"; // Components\n\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'; // Utilities\n\nimport { breaking } from '../../util/console';\n/* @vue/component */\n\nexport default BaseItemGroup.extend({\n  name: 'v-expansion-panels',\n\n  provide() {\n    return {\n      expansionPanels: this\n    };\n  },\n\n  props: {\n    accordion: Boolean,\n    disabled: Boolean,\n    flat: Boolean,\n    hover: Boolean,\n    focusable: Boolean,\n    inset: Boolean,\n    popout: Boolean,\n    readonly: Boolean,\n    tile: Boolean\n  },\n  computed: {\n    classes() {\n      return { ...BaseItemGroup.options.computed.classes.call(this),\n        'v-expansion-panels': true,\n        'v-expansion-panels--accordion': this.accordion,\n        'v-expansion-panels--flat': this.flat,\n        'v-expansion-panels--hover': this.hover,\n        'v-expansion-panels--focusable': this.focusable,\n        'v-expansion-panels--inset': this.inset,\n        'v-expansion-panels--popout': this.popout,\n        'v-expansion-panels--tile': this.tile\n      };\n    }\n\n  },\n\n  created() {\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('expand')) {\n      breaking('expand', 'multiple', this);\n    }\n    /* istanbul ignore next */\n\n\n    if (Array.isArray(this.value) && this.value.length > 0 && typeof this.value[0] === 'boolean') {\n      breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this);\n    }\n  },\n\n  methods: {\n    updateItem(item, index) {\n      const value = this.getValue(item, index);\n      const nextValue = this.getValue(item, index + 1);\n      item.isActive = this.toggleMethod(value);\n      item.nextIsActive = this.toggleMethod(nextValue);\n    }\n\n  }\n});\n//# sourceMappingURL=VExpansionPanels.js.map","import { render, staticRenderFns } from \"./SubjectArea.vue?vue&type=template&id=029430ee&\"\nimport script from \"./SubjectArea.vue?vue&type=script&lang=js&\"\nexport * from \"./SubjectArea.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { 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';\ninstallComponents(component, {VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VRow})\n","import \"../../../src/components/VResponsive/VResponsive.sass\"; // Mixins\n\nimport Measurable from '../../mixins/measurable'; // Utils\n\nimport mixins from '../../util/mixins';\nimport { getSlot } from '../../util/helpers';\n/* @vue/component */\n\nexport default mixins(Measurable).extend({\n  name: 'v-responsive',\n  props: {\n    aspectRatio: [String, Number],\n    contentClass: String\n  },\n  computed: {\n    computedAspectRatio() {\n      return Number(this.aspectRatio);\n    },\n\n    aspectStyle() {\n      return this.computedAspectRatio ? {\n        paddingBottom: 1 / this.computedAspectRatio * 100 + '%'\n      } : undefined;\n    },\n\n    __cachedSizer() {\n      if (!this.aspectStyle) return [];\n      return this.$createElement('div', {\n        style: this.aspectStyle,\n        staticClass: 'v-responsive__sizer'\n      });\n    }\n\n  },\n  methods: {\n    genContent() {\n      return this.$createElement('div', {\n        staticClass: 'v-responsive__content',\n        class: this.contentClass\n      }, getSlot(this));\n    }\n\n  },\n\n  render(h) {\n    return h('div', {\n      staticClass: 'v-responsive',\n      style: this.measurableStyles,\n      on: this.$listeners\n    }, [this.__cachedSizer, this.genContent()]);\n  }\n\n});\n//# sourceMappingURL=VResponsive.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\"}}),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Legislative Session Housing Questionnaire \")]),_c('div',[_vm._v(\"If you would like to offer lodging for Legislators, Pages, or Interns in Pierre or Ft. Pierre during the SD Legislative Session, please complete the following information. If you have any questions, you can contact the Legislative Research Council (LRC) at \"),_c('a',{attrs:{\"href\":\"tel:(605) 773-3251\"}},[_vm._v(\"(605) 773-3251\")]),_vm._v(\" or send an email to \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":\"mailto:LRC@sdlegislature.gov\"}},[_vm._v(\"LRC@sdlegislature.gov\")]),_vm._v(\".\")]),_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-text-field',{attrs:{\"counter\":150,\"label\":\"Email\",\"rules\":_vm.emailRules,\"required\":\"\"},model:{value:(_vm.Request.Email),callback:function ($$v) {_vm.$set(_vm.Request, \"Email\", $$v)},expression:\"Request.Email\"}}),_c('v-text-field',{attrs:{\"counter\":50,\"label\":\"First Name\",\"rules\":[function (v) { return !!v || 'Required'; }],\"required\":\"\"},model:{value:(_vm.Request.FirstName),callback:function ($$v) {_vm.$set(_vm.Request, \"FirstName\", $$v)},expression:\"Request.FirstName\"}}),_c('v-text-field',{attrs:{\"counter\":50,\"label\":\"Last Name\",\"rules\":[function (v) { return !!v || 'Required'; }],\"required\":\"\"},model:{value:(_vm.Request.LastName),callback:function ($$v) {_vm.$set(_vm.Request, \"LastName\", $$v)},expression:\"Request.LastName\"}}),_c('v-text-field',{attrs:{\"counter\":50,\"label\":\"Business(if applicable)\"},model:{value:(_vm.Request.Business),callback:function ($$v) {_vm.$set(_vm.Request, \"Business\", $$v)},expression:\"Request.Business\"}}),_c('v-text-field',{attrs:{\"counter\":50,\"label\":\"Address\",\"rules\":[function (v) { return !!v || 'Required'; }],\"required\":\"\"},model:{value:(_vm.Request.Address),callback:function ($$v) {_vm.$set(_vm.Request, \"Address\", $$v)},expression:\"Request.Address\"}}),_c('v-text-field',{attrs:{\"counter\":50,\"label\":\"Address 2\"},model:{value:(_vm.Request.Address2),callback:function ($$v) {_vm.$set(_vm.Request, \"Address2\", $$v)},expression:\"Request.Address2\"}}),_c('v-text-field',{attrs:{\"counter\":50,\"label\":\"City\",\"rules\":[function (v) { return !!v || 'Required'; }],\"required\":\"\"},model:{value:(_vm.Request.City),callback:function ($$v) {_vm.$set(_vm.Request, \"City\", $$v)},expression:\"Request.City\"}}),_c('v-text-field',{attrs:{\"counter\":50,\"label\":\"Primary Phone\",\"rules\":[function (v) { return !!v || 'Required'; }],\"required\":\"\"},model:{value:(_vm.Request.PrimePhone),callback:function ($$v) {_vm.$set(_vm.Request, \"PrimePhone\", $$v)},expression:\"Request.PrimePhone\"}}),_c('v-text-field',{attrs:{\"counter\":50,\"label\":\"Secondary Phone\"},model:{value:(_vm.Request.SecondPhone),callback:function ($$v) {_vm.$set(_vm.Request, \"SecondPhone\", $$v)},expression:\"Request.SecondPhone\"}}),_c('div',[_vm._v(\" Housing Type: \")]),_c('v-radio-group',{attrs:{\"rules\":[function (v) { return !!v || 'Required'; }],\"required\":\"\"},model:{value:(_vm.Request.HousingType),callback:function ($$v) {_vm.$set(_vm.Request, \"HousingType\", $$v)},expression:\"Request.HousingType\"}},[_c('v-radio',{attrs:{\"label\":\"Apartment\",\"value\":\"Apartment\"}}),_c('v-radio',{attrs:{\"label\":\"House\",\"value\":\"House\"}}),_c('v-radio',{attrs:{\"label\":\"Sleeping Room\",\"value\":\"Room\"}}),_c('v-radio',{attrs:{\"label\":\"Other\",\"value\":\"Other\"}})],1),_c('v-textarea',{attrs:{\"rules\":[function (v) { return !!v || 'Required'; }],\"required\":\"\",\"label\":\"Description: this would include number of rooms/beds/bathrooms, garage, and any other info you feel would be useful to the person searching for a place to stay. \"},model:{value:(_vm.Request.Description),callback:function ($$v) {_vm.$set(_vm.Request, \"Description\", $$v)},expression:\"Request.Description\"}}),_c('v-textarea',{attrs:{\"label\":\"Restrictions: this would include such things as no smoking, no pets, if you have a preference as to the person staying (legislator, page, or intern), or any other restrictions you choose to set. \"},model:{value:(_vm.Request.Restrictions),callback:function ($$v) {_vm.$set(_vm.Request, \"Restrictions\", $$v)},expression:\"Request.Restrictions\"}}),_c('v-textarea',{attrs:{\"label\":\"Comments: this would include any additional information you feel would be helpful to potential renters (off-street parking, close to Capitol, etc.). \"},model:{value:(_vm.Request.Comments),callback:function ($$v) {_vm.$set(_vm.Request, \"Comments\", $$v)},expression:\"Request.Comments\"}}),_c('br'),_c('div',[_vm._v(\"The SD Legislature meets during the months of January, February and part of March. Start and end dates vary from year to year. Rental prices are between you and the person renting, we do not ask for or provide that information. \")]),_c('br'),_c('v-btn',{attrs:{\"disabled\":_vm.submitting},on:{\"click\":function($event){return _vm.submit()}}},[_vm._v(\"Submit\")]),_c('br'),(_vm.submitted)?_c('v-alert',{attrs:{\"type\":\"success\"}},[_vm._v(\" Submitted \")]):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\"></v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Legislative Session Housing Questionnaire\r\n            </div>\r\n            <div>If you would like to offer lodging for Legislators, Pages, or Interns in Pierre or Ft. Pierre during the SD Legislative Session, please complete the following information. If you have any questions, you can contact the Legislative Research Council (LRC) at <a href=\"tel:(605) 773-3251\">(605) 773-3251</a> or send an email to <a rel=\"noopener\" href=\"mailto:LRC@sdlegislature.gov\">LRC@sdlegislature.gov</a>.</div>\r\n            <v-form lazy-validation ref=\"form\" v-model=\"valid\">\r\n\r\n\r\n                <v-text-field :counter=\"150\" v-model=\"Request.Email\" label=\"Email\" :rules=\"emailRules\" required></v-text-field>\r\n                <v-text-field :counter=\"50\" v-model=\"Request.FirstName\" label=\"First Name\" :rules=\"[v => !!v || 'Required']\" required></v-text-field>\r\n                <v-text-field :counter=\"50\" v-model=\"Request.LastName\" label=\"Last Name\" :rules=\"[v => !!v || 'Required']\" required></v-text-field>\r\n                <v-text-field :counter=\"50\" v-model=\"Request.Business\" label=\"Business(if applicable)\"></v-text-field>\r\n\r\n                <v-text-field :counter=\"50\" v-model=\"Request.Address\" label=\"Address\" :rules=\"[v => !!v || 'Required']\" required></v-text-field>\r\n                <v-text-field :counter=\"50\" v-model=\"Request.Address2\" label=\"Address 2\" ></v-text-field>\r\n                <v-text-field :counter=\"50\" v-model=\"Request.City\" label=\"City\" :rules=\"[v => !!v || 'Required']\" required></v-text-field>\r\n                <v-text-field :counter=\"50\" v-model=\"Request.PrimePhone\" label=\"Primary Phone\" :rules=\"[v => !!v || 'Required']\" required></v-text-field>\r\n                <v-text-field :counter=\"50\" v-model=\"Request.SecondPhone\" label=\"Secondary Phone\" ></v-text-field>\r\n\r\n                <div>\r\n                    Housing Type:\r\n                </div>\r\n                <v-radio-group v-model=\"Request.HousingType\" :rules=\"[v => !!v || 'Required']\" required>\r\n                    <v-radio label=\"Apartment\" value=\"Apartment\"></v-radio>\r\n                    <v-radio label=\"House\" value=\"House\"></v-radio>\r\n                    <v-radio label=\"Sleeping Room\" value=\"Room\"></v-radio>\r\n                    <v-radio label=\"Other\" value=\"Other\"></v-radio>\r\n\r\n                </v-radio-group>\r\n\r\n\r\n                <v-textarea v-model=\"Request.Description\" :rules=\"[v => !!v || 'Required']\" required\r\n                            label=\"Description: this would include number of rooms/beds/bathrooms, garage, and any other info you feel would be useful to the person searching for a place to stay. \"></v-textarea>\r\n                <v-textarea v-model=\"Request.Restrictions\"\r\n                            label=\"Restrictions: this would include such things as no smoking, no pets, if you have a preference as to the person staying (legislator, page, or intern), or any other restrictions you choose to set. \"></v-textarea>\r\n                <v-textarea v-model=\"Request.Comments\"\r\n                            label=\"Comments: this would include any additional information you feel would be helpful to potential renters (off-street parking, close to Capitol, etc.). \"></v-textarea>\r\n\r\n                <br />\r\n                <div>The SD Legislature meets during the months of January, February and part of March. Start and end dates vary from year to year. Rental prices are between you and the person renting, we do not ask for or provide that information. </div>\r\n                <br />\r\n                <v-btn :disabled=\"submitting\" @click=\"submit()\">Submit</v-btn>\r\n                <br />\r\n                <v-alert v-if=\"submitted\" type=\"success\">\r\n                    Submitted\r\n                </v-alert>\r\n            </v-form>\r\n\r\n        </v-col>\r\n    </v-row>\r\n\r\n</template>\r\n<script>\r\n    export default {\r\n        name: 'Housing',\r\n        components: {\r\n        },\r\n        methods: {\r\n            formatDate(date) {\r\n                if (!date) return null\r\n\r\n                const [year, month, day] = date.split('-')\r\n                return `${month}/${day}/${year}`\r\n            },\r\n            parseDate(date) {\r\n                if (!date) return null\r\n\r\n                const [month, day, year] = date.split('/')\r\n                return `${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')}`\r\n            },\r\n            submit() {\r\n                this.submitting = true\r\n                if (this.$refs.form.validate()) {\r\n                    myfetch('/api/Housing', {\r\n                        method: 'POST',\r\n                        credentials: 'include',\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                        body: JSON.stringify(this.Request)\r\n                    }).then(res => {\r\n                        if (res.ok) {\r\n                            \r\n                            this.submitted = true;\r\n                            this.Request = this.blankRequest;\r\n                            this.$refs.form.resetValidation()\r\n                        }\r\n                    });\r\n                }\r\n            }\r\n        },\r\n        data: function () {\r\n            return {\r\n                submitted: false,\r\n                submitting:false,\r\n                search: '',\r\n                valid: true,\r\n                loading: false,\r\n                dateFormatted: this.formatDate(new Date().toISOString().substr(0, 10)),\r\n                emailRules: [\r\n                    v => !!v || \"E-mail is required\",\r\n                    v => !v || /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/.test(v) || 'E-mail must be valid'\r\n                ],\r\n                menu1: false,\r\n                blankRequest: {\r\n                    HousingId: 0,\r\n                    FirstName: null,\r\n                    LastName: null,\r\n                    Email: null,\r\n                    Business: null,\r\n                    Address: null,\r\n                    Address2: null,\r\n                    City: null,\r\n                    PrimePhone: null,\r\n                    SecondPhone: null,\r\n                    HousingType: null,\r\n                    Description: null,\r\n                    Restrictions: null,\r\n                    Comments: null,\r\n                },\r\n                Request: {\r\n                    HousingId: 0,\r\n                    FirstName: null,\r\n                    LastName: null,\r\n                    Email: null,\r\n                    Business: null,\r\n                    Address: null,\r\n                    Address2: null,\r\n                    City: null,\r\n                    PrimePhone: null,\r\n                    SecondPhone: null,\r\n                    HousingType: null,\r\n                    Description: null,\r\n                    Restrictions: null,\r\n                    Comments: null,\r\n                },\r\n            }\r\n        },\r\n        mounted: function () {\r\n        },\r\n        watch: {\r\n            date(val) {\r\n                this.dateFormatted = this.formatDate(this.date)\r\n            },\r\n        },\r\n        computed: {\r\n            computedDateFormatted() {\r\n                return this.formatDate(this.date)\r\n            },\r\n            Title: function () {\r\n                let title = 'Housing Questionnaire';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Housing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Housing.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Housing.vue?vue&type=template&id=3f82522f&\"\nimport script from \"./Housing.vue?vue&type=script&lang=js&\"\nexport * from \"./Housing.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VForm } from 'vuetify/lib/components/VForm';\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, {VAlert,VBtn,VCol,VForm,VRadio,VRadioGroup,VRow,VTextField,VTextarea})\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VCheckbox.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"d8193a8c\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}})],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[(_vm.Session)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" Table of Contents \"),_c('v-breadcrumbs',{attrs:{\"divider\":\">\",\"items\":_vm.breadcrumbs}}),_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('GoogleSearchStatute',{attrs:{\"SessionId\":_vm.SessionId}})],1)],1)],1)],1),(_vm.loading)?_c('v-alert',{attrs:{\"value\":true,\"type\":\"info\"}},[_vm._v(\" Loading Please wait \")]):_vm._e(),_c('v-divider'),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.filteredItems,\"item-key\":_vm.key,\"disable-pagination\":\"\",\"sort-by\":_vm.sortBy,\"sort-desc\":[false],\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item.BillNumber\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.BillType == null && item.BillNumber)?_c('span',[_vm._v(\" \"+_vm._s(item.BillNumber.replace('-','‑').replace(' ',' '))+\" \")]):_c('span',[_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType)+\" \"+_vm._s(item.BillNumberOnly))])],1)]}},{key:\"item.Chapter\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{staticStyle:{\"text-decoration\":\"none\"},attrs:{\"to\":'/Statutes/Session_Laws/Chapter/' + item.SessionLawId}},[_vm._v(\" \"+_vm._s(item.Chapter)+\" \")])]}},{key:\"item.Catchline\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.$vuetify.breakpoint.mobile)?_c('span',[_vm._v(\" \"+_vm._s(_vm.shortenCell(item.Catchline))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(item.Catchline)+\" \")])]}},{key:\"no-data\",fn:function(){return [(!_vm.loading)?_c('v-alert',{attrs:{\"value\":true,\"type\":\"info\"}},[_vm._v(\" No Results \")]):_vm._e()]},proxy:true}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                <span v-if=\"Session\">{{Session.YearString}}</span> Table of Contents\r\n                <v-breadcrumbs divider=\">\" :items=\"breadcrumbs\"></v-breadcrumbs>\r\n                <v-container>\r\n                    <v-layout row wrap>\r\n                        <v-flex xs12>\r\n                            <GoogleSearchStatute :SessionId=\"SessionId\"></GoogleSearchStatute>\r\n                        </v-flex>\r\n                    </v-layout>\r\n                </v-container>\r\n            </div>\r\n            <v-alert v-if=\"loading\" :value=\"true\" type=\"info\">\r\n                Loading Please wait\r\n            </v-alert>\r\n            <v-divider></v-divider>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"filteredItems\"\r\n                                 :item-key=\"key\"\r\n                                 disable-pagination\r\n                                 :sort-by=\"sortBy\"\r\n                                 :sort-desc=\"[false]\"\r\n                                 :loading=\"loading\"\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 hide-default-footer\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.BillNumber=\"{ item }\">\r\n                    <span v-if=\"item.BillType == null && item.BillNumber\">\r\n                        {{item.BillNumber.replace('-','&#8209;').replace(' ','&nbsp;')}}\r\n                    </span>\r\n                    <span v-else>\r\n                        <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType}}&nbsp;{{item.BillNumberOnly}}</router-link>\r\n                    </span>\r\n                </template>\r\n                <template v-slot:item.Chapter=\"{ item }\">\r\n                    <router-link :to=\"'/Statutes/Session_Laws/Chapter/' + item.SessionLawId\" style=\"text-decoration: none;\">\r\n                        {{item.Chapter}}\r\n                    </router-link>\r\n                </template>\r\n                <template v-slot:item.Catchline=\"{ item }\">\r\n                    <span v-if=\"$vuetify.breakpoint.mobile\">\r\n                        {{shortenCell(item.Catchline)}}\r\n                    </span>\r\n                    <span v-else>\r\n                        {{item.Catchline}}\r\n                    </span>\r\n                </template>\r\n                <template v-slot:no-data>\r\n                    <v-alert v-if=\"!loading\" :value=\"true\" type=\"info\">\r\n                        No Results\r\n                    </v-alert>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n\r\n</template>\r\n<script>\r\n    const GoogleSearchStatute = () => import(\"@/Components/GoogleSearchStatute.vue\");\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Statutes',\r\n        props: ['SessionId'],\r\n        components: {\r\n            GoogleSearchStatute,\r\n            Sidebar,\r\n            FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n\r\n                if (this.SessionId)\r\n                {\r\n                    fetch('/api/Sessions/' + this.SessionId,\r\n                        {\r\n                            method: \"GET\",\r\n                            credentials: \"include\",\r\n                            headers: { \"Content-Type\": \"application/json\" },\r\n                        })\r\n                        .then(res =>\r\n                        {\r\n                            if (res.ok)\r\n                                return res.json();\r\n                            else if (res.status === 404)\r\n                                window.location.href = \"/404?path=\" + encodeURIComponent(window.location.pathname);\r\n                            else\r\n                                return res.text().then(r => Promise.reject(r));\r\n                        })\r\n                        .then(response =>\r\n                        {\r\n                            this.Session = EncodeDatetimes(response);\r\n\r\n                            this.createBreadcrumbs('Session Laws (' + this.Session.Year + ')', '/Statutes/Session_Laws');\r\n                        })\r\n                        .catch(error =>\r\n                        {\r\n                            if (error == 404)\r\n                                window.location.href = \"/404?path=\" + encodeURIComponent(window.location.pathname);\r\n                            else if (error != 302)\r\n                            {\r\n                                let e = String(error).substring(0, 100);\r\n\r\n                                if ((e || '').indexOf('Failed to fetch') > -1)\r\n                                {\r\n                                    window.location.href = \"/400?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                                }\r\n                                else\r\n                                {\r\n                                    reportError(error);\r\n                                    window.location.href = \"/500?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                                }\r\n                            }\r\n                        });\r\n\r\n                    fetch('/api/SessionLaws/' + this.SessionId,\r\n                        {\r\n                            method: \"GET\",\r\n                            credentials: \"include\",\r\n                            headers: { \"Content-Type\": \"application/json\" },\r\n                        })\r\n                        .then(res =>\r\n                        {\r\n                            if (res.ok)\r\n                                return res.json();\r\n                            else\r\n                                return res.text().then(r => Promise.reject(r));\r\n                        })\r\n                        .then(response =>\r\n                        {\r\n                            this.items = EncodeDatetimes(response);\r\n                        })\r\n                        .catch(error =>\r\n                        {\r\n                            if (error == 404)\r\n                                window.location.href = \"/404?path=\" + encodeURIComponent(window.location.pathname);\r\n                            else if (error != 302)\r\n                            {\r\n                                let e = String(error).substring(0, 100);\r\n\r\n                                if ((e || '').indexOf('Failed to fetch') > -1)\r\n                                {\r\n                                    window.location.href = \"/400?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                                }\r\n                                else\r\n                                {\r\n                                    reportError(error);\r\n                                    window.location.href = \"/500?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                                }\r\n                            }\r\n                        })\r\n                        .finally(() =>\r\n                        {\r\n                            this.loading = false;\r\n                        });\r\n                }\r\n\r\n            },\r\n\r\n            createBreadcrumbs(route, url)\r\n            {\r\n                this.breadcrumbs = [{\r\n                    to: '/',\r\n                    link: true,\r\n                    text: 'Home',\r\n                }];\r\n\r\n                var bci2 = {\r\n                    to: '',\r\n                    link: true,\r\n                    text: '',\r\n                };\r\n                bci2.to = url;\r\n                bci2.text = route;\r\n                bci2.disabled = true;\r\n\r\n                this.breadcrumbs.push(bci2);\r\n            },\r\n            shortenCell(str)\r\n            {\r\n                if (str != null)\r\n                {\r\n                    if (str.length > 110)\r\n                    {\r\n                        return str.substring(0, 160);\r\n                    } else\r\n                    {\r\n                        return str;\r\n                    }\r\n                }\r\n            }\r\n\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                StatuesEffectiveDate: 'July 1, 2024',\r\n                loading: false,\r\n                error: null,\r\n                sortBy: ['Chapter'],\r\n                quickFind: null,\r\n                placeholder: 'Article, Chapter, or Section',\r\n                breadcrumbs: [],\r\n                items: [],\r\n                Session: {},\r\n                key: 'SessionLawId',\r\n                headers: [\r\n                    {\r\n                        text: 'Chapter',\r\n                        value: 'Chapter',\r\n                        Type: 'Session_Laws',\r\n                        width: '15ch'\r\n                    },\r\n                    {\r\n                        text: 'Bill',\r\n                        value: 'BillNumber',\r\n                        Type: 'Session_Laws',\r\n                        width: '15ch'\r\n                    },\r\n                    {\r\n                        text: 'Catchline',\r\n                        value: 'Catchline',\r\n                        Type: 'Session_Laws',\r\n                        width: '*'\r\n                    },\r\n                ],\r\n                rulefilter: \"Active\",\r\n            };\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            currentRoute()\r\n            {\r\n                this.items = [];\r\n                this.LoadData();\r\n            },\r\n            SessionId()\r\n            {\r\n                this.LoadData();\r\n            },\r\n        },\r\n        computed: {\r\n            currentRoute: function ()\r\n            {\r\n                return this.$route.path;\r\n            },\r\n            filteredItems: function ()\r\n            {\r\n                if (this.items && this.items.length > 0)\r\n                {\r\n                    return this.items;\r\n                }\r\n                else\r\n                {\r\n                    return [];\r\n                }\r\n            },\r\n            Title: function ()\r\n            {\r\n                let title = '';\r\n\r\n                if (this.Session && this.Session.Year)\r\n                {\r\n                    title = this.Session.Year + \" Session Laws\";\r\n                }\r\n                else\r\n                {\r\n                    title = \"Session Laws\";\r\n                }\r\n\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0].replace('rules', 'Rules').replace('administrative', 'Administrative').replace('statutes', 'Statutes').replace('constitution', 'Constitution').replace('codified_laws', 'Codified_Laws').replace('session_laws', 'Session_Laws') }\r\n                ]\r\n            };\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionLaws.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionLaws.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SessionLaws.vue?vue&type=template&id=281c693e&\"\nimport script from \"./SessionLaws.vue?vue&type=script&lang=js&\"\nexport * from \"./SessionLaws.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBreadcrumbs,VCol,VContainer,VDivider,VFlex,VLayout,VRow})\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-card{background-color:#fff;color:rgba(0,0,0,.87)}.theme--light.v-card>.v-card__subtitle,.theme--light.v-card>.v-card__text{color:rgba(0,0,0,.6)}.theme--dark.v-card{background-color:#1e1e1e;color:#fff}.theme--dark.v-card>.v-card__subtitle,.theme--dark.v-card>.v-card__text{color:hsla(0,0%,100%,.7)}.v-sheet.v-card{border-radius:4px}.v-sheet.v-card:not(.v-sheet--outlined){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.v-sheet.v-card.v-sheet--shaped{border-radius:24px 4px}.v-card{border-width:thin;display:block;max-width:100%;outline:none;text-decoration:none;transition-property:box-shadow,opacity;overflow-wrap:break-word;position:relative;white-space:normal}.v-card>.v-card__progress+:not(.v-btn):not(.v-chip):not(.v-avatar),.v-card>:first-child:not(.v-btn):not(.v-chip):not(.v-avatar){border-top-left-radius:inherit;border-top-right-radius:inherit}.v-card>:last-child:not(.v-btn):not(.v-chip):not(.v-avatar){border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.v-card__progress{top:0;left:0;right:0;overflow:hidden}.v-card__subtitle+.v-card__text{padding-top:0}.v-card__subtitle,.v-card__text{font-size:.875rem;font-weight:400;line-height:1.375rem;letter-spacing:.0071428571em}.v-card__subtitle,.v-card__text,.v-card__title{padding:16px}.v-card__title{align-items:center;display:flex;flex-wrap:wrap;font-size:1.25rem;font-weight:500;letter-spacing:.0125em;line-height:2rem;word-break:break-all}.v-card__title+.v-card__subtitle,.v-card__title+.v-card__text{padding-top:0}.v-card__title+.v-card__subtitle{margin-top:-16px}.v-card__text{width:100%}.v-card__actions{align-items:center;display:flex;padding:8px}.v-card__actions>.v-btn.v-btn{padding:0 8px}.v-application--is-ltr .v-card__actions>.v-btn.v-btn+.v-btn{margin-left:8px}.v-application--is-ltr .v-card__actions>.v-btn.v-btn .v-icon--left{margin-left:4px}.v-application--is-ltr .v-card__actions>.v-btn.v-btn .v-icon--right{margin-right:4px}.v-application--is-rtl .v-card__actions>.v-btn.v-btn+.v-btn{margin-right:8px}.v-application--is-rtl .v-card__actions>.v-btn.v-btn .v-icon--left{margin-right:4px}.v-application--is-rtl .v-card__actions>.v-btn.v-btn .v-icon--right{margin-left:4px}.v-card--flat{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)!important}.v-sheet.v-card--hover{cursor:pointer;transition:box-shadow .4s cubic-bezier(.25,.8,.25,1)}.v-sheet.v-card--hover:focus,.v-sheet.v-card--hover:hover{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.v-card--link,.v-card--link .v-chip{cursor:pointer}.v-card--link:focus:before{opacity:.08}.v-card--link:before{background:currentColor;bottom:0;content:\\\"\\\";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .2s}.v-card--disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.v-card--disabled>:not(.v-card__progress){opacity:.6;transition:inherit}.v-card--loading{overflow:hidden}.v-card--raised{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\"South Dakota Historical Listing Tenure 10 - 14 Years\")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"MemberId + Year\",\"sort-by\":['LastName', 'FirstName'],\"sort-desc\":[false, false],\"loading\":_vm.loading,\"items-per-page\":999,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Historical/Legislator/Profile/' + item.MemberId}},[_vm._v(_vm._s(item.LastName + \", \" + item.FirstName))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">South Dakota Historical Listing Tenure 10 - 14 Years</div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"items\"\r\n                                 item-key=\"MemberId + Year\"\r\n                                 :sort-by=\"['LastName', 'FirstName']\"\r\n                                 :sort-desc=\"[false, false]\"\r\n                                 :loading=\"loading\"\r\n                                 :items-per-page=\"999\"\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.Name=\"{ item }\">\r\n                    <router-link :to=\"'/Historical/Legislator/Profile/' + item.MemberId\">{{item.LastName + \",&nbsp;\" + item.FirstName }}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'TenYear',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                fetch('/api/Historical/Tenure/10/14', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    if (res.ok)\r\n                        return res.json();\r\n                    else\r\n                        throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    if (response)\r\n                    {\r\n                        let r = EncodeDatetimes(response);\r\n\r\n                        r.forEach(x =>\r\n                        {\r\n                            x.Name = x.LastName + ', ' + x.FirstName;\r\n                        });\r\n\r\n                        this.items = r;\r\n                    }\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                }).finally(_ =>\r\n                {\r\n                    this.loading = false;\r\n                });\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                search: '',\r\n                loading: true,\r\n                items: [],\r\n                headers: [\r\n                    { text: 'Name', value: 'Name' },\r\n                    { text: 'Birthdate', value: 'Birthdate' },\r\n                    { text: 'Deathdate', value: 'Deathdate' },\r\n                    { text: 'Years', value: 'Years' },\r\n                    { text: 'Remarks', value: 'Remarks' },\r\n                ],\r\n\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TenYear.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TenYear.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TenYear.vue?vue&type=template&id=e2213bd0&\"\nimport script from \"./TenYear.vue?vue&type=script&lang=js&\"\nexport * from \"./TenYear.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VProgressLinear.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6f27a14d\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.SessionId)?_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}}):_vm._e()],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.Session && _vm.Session.Year)?_c('div',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.Session.YearString)+\" Bills Signed By The Governor\")]):_vm._e(),_c('v-container',{staticClass:\"width:80%;\"},[_c('v-layout',{staticStyle:{\"text-align\":\"center\"},attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('v-card',{staticClass:\"py-2\",attrs:{\"outlined\":\"\",\"tile\":\"\",\"xs12\":\"\"}},[_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.filter('All')}}},[_vm._v(\"All\")])],1)])],1)],1)],1),_c('v-layout',{staticStyle:{\"text-align\":\"center\"},attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',_vm._l((_vm.HouseBillTypes),function(i){return _c('v-card',{key:i.BillType,staticClass:\"pa-2\",attrs:{\"outlined\":\"\",\"tile\":\"\",\"xs12\":\"\"},on:{\"click\":function($event){return _vm.filter(i.BillType)}}},[_c('v-flex',[_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.filter(i.BillType)}}},[_vm._v(_vm._s(i.LongBillType))])],1)],1)}),1),_c('v-col',_vm._l((_vm.SenateBillTypes),function(i){return _c('v-card',{key:i.BillType,staticClass:\"pa-2\",attrs:{\"outlined\":\"\",\"tile\":\"\",\"xs12\":\"\"},on:{\"click\":function($event){return _vm.filter(i.BillType)}}},[_c('v-flex',[_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.filter(i.BillType)}}},[_vm._v(_vm._s(i.LongBillType))])],1)],1)}),1)],1)],1)],1),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.filterBills,\"search\":_vm.search,\"item-key\":\"BillNumber\",\"multi-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.BillNumber\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType + ' ' + item.BillNumber))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar v-if=\"SessionId\" :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\" v-if=\"Session && Session.Year\">{{Session.YearString}} Bills Signed By The Governor</div>\r\n            <v-container class=\"width:80%;\">\r\n                <v-layout row wrap style=\"text-align:center\">\r\n                    <v-row no-gutters>\r\n                        <v-col>\r\n                            <v-card class=\"py-2\"\r\n                                    outlined\r\n                                    tile\r\n                                    xs12>\r\n                                <div style=\"text-align:center\">\r\n                                    <v-btn @click=\"filter('All')\" text>All</v-btn>\r\n                                </div>\r\n                            </v-card>\r\n                        </v-col>\r\n                    </v-row>\r\n                </v-layout>\r\n                <v-layout row wrap style=\"text-align:center\">\r\n                    <v-row no-gutters>\r\n                        <v-col>\r\n                            <v-card class=\"pa-2\"\r\n                                    outlined\r\n                                    v-for=\"i in HouseBillTypes\" :key=\"i.BillType\"\r\n                                    tile\r\n                                    xs12\r\n                                    @click=\"filter(i.BillType)\">\r\n                                <v-flex>\r\n                                    <v-btn @click=\"filter(i.BillType)\" text>{{i.LongBillType}}</v-btn>\r\n                                </v-flex>\r\n                            </v-card>\r\n                        </v-col>\r\n                        <v-col>\r\n                            <v-card class=\"pa-2\"\r\n                                    outlined\r\n                                    v-for=\"i in SenateBillTypes\" :key=\"i.BillType\"\r\n                                    tile\r\n                                    xs12\r\n                                    @click=\"filter(i.BillType)\">\r\n                                <v-flex>\r\n                                    <v-btn @click=\"filter(i.BillType)\" text>{{i.LongBillType}}</v-btn>\r\n                                </v-flex>\r\n                            </v-card>\r\n\r\n                        </v-col>\r\n                    </v-row>\r\n                </v-layout>\r\n            </v-container>\r\n\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"filterBills\"\r\n                                 :search=\"search\"\r\n                                 item-key=\"BillNumber\"\r\n                                 multi-sort\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 :loading=\"loading\"\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.BillNumber=\"{ item }\">\r\n                    <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType + '&nbsp;' + item.BillNumber}}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'SignedByGovernor',\r\n        props: ['SessionId'],\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n                fetch('/api/Sessions/' + this.SessionId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else\r\n                        {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.Session = EncodeDatetimes(response);\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n\r\n                fetch('/api/BillLogs/SignedByGovernor/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            throw new Error(res.statusText);\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.loading = false;\r\n                        var temp = EncodeDatetimes(response);\r\n\r\n                        this.items = temp.sort(\r\n                            function (a, b)\r\n                            {\r\n                                if (a.BillType === b.BillType)\r\n                                {\r\n                                    return a.BillNumber - b.BillNumber;\r\n                                }\r\n                                return a.BillType > b.BillType ? 1 : -1;\r\n                            });\r\n\r\n                        this.filterBills = this.items;\r\n                        var uniqueBillTypes = [...new Set(temp.map(item => item.BillType))];\r\n                        this.SenateBillTypes = this.SenateBillTypes.filter(x => uniqueBillTypes.includes(x.BillType) == true);\r\n                        this.HouseBillTypes = this.HouseBillTypes.filter(x => uniqueBillTypes.includes(x.BillType) == true);\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n                fetch('/api/BillNumbers/BillTypes', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    if (res.status === 200 || res.status === 201)\r\n                    {\r\n                        return res.json();\r\n                    }\r\n                    else\r\n                    {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    this.BillTypes = EncodeDatetimes(response);\r\n                    this.SenateBillTypes = this.BillTypes.filter(x => x.BillType.includes('S') == true);\r\n                    this.HouseBillTypes = this.BillTypes.filter(x => x.BillType.includes('H') == true);\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            filter(billType)\r\n            {\r\n\r\n                if (billType == 'All')\r\n                {\r\n                    this.filterBills = this.items;\r\n                } else\r\n                {\r\n                    this.filterBills = this.items.filter(x => x.BillType == billType);\r\n                }\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                search: '',\r\n                loading: false,\r\n                Session: {},\r\n                headers: [\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'start',\r\n                        value: 'BillNumber',\r\n                        width: '15ch'\r\n                    },\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'Title',\r\n                        width: '*'\r\n                    },\r\n                ],\r\n                filterBills: [],\r\n                items: [],\r\n                BillTypes: [],\r\n                SenateBillTypes: [],\r\n                HouseBillTypes: [],\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            Title: function ()\r\n            {\r\n                let title = 'Loading Bills Signed By the Governor...';\r\n                if (this.Session && this.Session.Year)\r\n                {\r\n                    title = this.Session.Year + \" Bills Signed By the Governor\";\r\n                }\r\n                else\r\n                {\r\n                    title = 'Bills Signed By the Governor';\r\n                }\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SignedByGovernor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SignedByGovernor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SignedByGovernor.vue?vue&type=template&id=4a6046ea&\"\nimport script from \"./SignedByGovernor.vue?vue&type=script&lang=js&\"\nexport * from \"./SignedByGovernor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCol,VContainer,VFlex,VLayout,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\":\"\"}},[_c('v-card-title',[_vm._v(\" Required Reports \")]),_c('v-card-text',[_c('v-container',[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('GoogleSearch')],1)],1),_c('v-divider'),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"DocumentId\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\",\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"id\":\"requiredTable\"},scopedSlots:_vm._u([{key:\"item.SortDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value +'api/Documents/Required Report/' + item.DocumentId + '.pdf'}},[_vm._v(\" \"+_vm._s(_vm._f(\"FormatDates\")(item.DocumentDate))+\" \")])]}},{key:\"item.Subject\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.RequiredReportType && item.RequiredReportType.Subject)?_c('div',{domProps:{\"innerHTML\":_vm._s(item.RequiredReportType.Subject)}}):_vm._e(),(item.RequiredReportType && item.RequiredReportType.ReceivedBy)?_c('div',[_c('div',{staticClass:\"hidden-sm-and-down\"},[_c('b',[_vm._v(\"Delivered To: \")]),_vm._v(_vm._s(item.RequiredReportType.ReceivedBy)+\" \")])]):_vm._e(),(item.RequiredReportType && item.RequiredReportType.Frequency)?_c('div',[_c('div',{staticClass:\"hidden-sm-and-down\",style:(_vm.StrikeThrough(item))},[_c('b',[_vm._v(\"Frequency: \")]),_vm._v(_vm._s(item.RequiredReportType.Frequency)+\" \")])]):_vm._e(),(item.Repealed)?_c('div',[_c('div',{staticClass:\"hidden-sm-and-down\"},[_c('b',[_vm._v(\"Repealed: \")]),_vm._v(_vm._s(_vm._f(\"FormatDates\")(item.Repealed))+\" \")])]):_vm._e()]}},{key:\"item.SDCLRULES\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.RequiredReportType && item.RequiredReportType.Rules)?_c('a',{on:{\"click\":function($event){return _vm.quickFindSearch(item.RequiredReportType.Rules, 'Administrative')}}},[_vm._v(\" \"+_vm._s(item.RequiredReportType.Rules)+\" \")]):_vm._e(),(item.RequiredReportType && item.RequiredReportType.Sdcl)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.splitStatutes(item.RequiredReportType.Sdcl))}}):_vm._e()]}},{key:\"item.Repealed\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm._f(\"FormatDates\")(item.Repealed))+\" \")]}}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container>\r\n        <v-card flat>\r\n            <v-card-title>\r\n                Required Reports\r\n            </v-card-title>\r\n            <v-card-text>\r\n                <v-container>\r\n                    <v-flex xs12>\r\n                        <GoogleSearch></GoogleSearch>\r\n                    </v-flex>\r\n                </v-container>\r\n                <v-divider></v-divider>\r\n                <FilterableDataTable :headers=\"headers\"\r\n                                     :items=\"items\"\r\n                                     item-key=\"DocumentId\"\r\n                                     :loading=\"loading\"\r\n                                     loading-text=\"Loading... Please wait\"\r\n                                     hide-default-footer\r\n                                     disable-pagination\r\n                                     class=\"elevation-1\"\r\n                                     id=\"requiredTable\">\r\n                    <template v-slot:item.SortDate=\"{ item }\">\r\n                        <a rel=\"noopener\" :href=\"$MyLRCUrl.value +'api/Documents/Required Report/' + item.DocumentId + '.pdf'\">\r\n                            {{ item.DocumentDate | FormatDates}}\r\n                        </a>\r\n                    </template>\r\n                    <template v-slot:item.Subject=\"{ item }\">\r\n                        <div v-if=\"item.RequiredReportType && item.RequiredReportType.Subject\" v-html=\"item.RequiredReportType.Subject\"></div>\r\n                        <div v-if=\"item.RequiredReportType && item.RequiredReportType.ReceivedBy\">\r\n                            <div class=\"hidden-sm-and-down\">\r\n                                <b>Delivered To: </b>{{item.RequiredReportType.ReceivedBy}}\r\n                            </div>\r\n\r\n                        </div>\r\n                        <div v-if=\"item.RequiredReportType && item.RequiredReportType.Frequency\">\r\n                            <div class=\"hidden-sm-and-down\" :style=\"StrikeThrough(item)\">\r\n                                <b>Frequency: </b>{{item.RequiredReportType.Frequency}}\r\n                            </div>\r\n                        </div>\r\n                        <div v-if=\"item.Repealed\">\r\n                            <div class=\"hidden-sm-and-down\">\r\n                                <b>Repealed: </b>{{item.Repealed | FormatDates}}\r\n                            </div>\r\n                        </div>\r\n                    </template>\r\n                    <template v-slot:item.SDCLRULES=\"{ item }\">\r\n                        <a v-if=\"item.RequiredReportType && item.RequiredReportType.Rules\" @click=\"quickFindSearch(item.RequiredReportType.Rules, 'Administrative')\">\r\n                            {{item.RequiredReportType.Rules}}\r\n                        </a>\r\n                        <div v-if=\"item.RequiredReportType && item.RequiredReportType.Sdcl\" v-html=\"splitStatutes(item.RequiredReportType.Sdcl)\"></div>\r\n                    </template>\r\n                    <template v-slot:item.Repealed=\"{ item }\">\r\n                        {{item.Repealed | FormatDates }}\r\n                    </template>\r\n                </FilterableDataTable>\r\n            </v-card-text>\r\n        </v-card>\r\n    </v-container>\r\n</template>\r\n<script>\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n    const GoogleSearch = () => import(\"@/Components/GoogleSearch.vue\");\r\n\r\n    export default {\r\n        name: 'RequiredReports',\r\n        components: {\r\n            FilterableDataTable, GoogleSearch\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                fetch('/api/Documents/DocumentType?Type=57', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201)\r\n                    {\r\n                        return res.json();\r\n                    }\r\n                    else\r\n                    {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    let itms = EncodeDate(response);\r\n                    itms.forEach(x =>\r\n                    {\r\n                        if (x.DocumentDate)\r\n                        {\r\n                            x.SortDate = x.DocumentDate.getTime();\r\n                        }\r\n                        else\r\n                        {\r\n                            x.SortDate = null;\r\n                        }\r\n                        if (x.RequiredReportType)\r\n                        {\r\n                            x.Subject = (x.RequiredReportType.Subject || \"\") + (x.RequiredReportType.Frequency || +\"\") + (x.RequiredReportType.ReceivedBy || +\"\");\r\n                            x.RequiredBy = x.RequiredReportType.RequiredBy;\r\n                            x.Frequency = x.RequiredReportType.Frequency;\r\n                            x.ReceivedBy = x.RequiredReportType.ReceivedBy;\r\n                            x.Repealed = x.RequiredReportType.Repealed;\r\n                            x.SDCLRULES = (x.RequiredReportType.Sdcl || \"\") + (x.RequiredReportType.Rules || \"\");\r\n                        }\r\n                        else\r\n                        {\r\n                            x.Subject = null;\r\n                            x.RequiredBy = null;\r\n                            x.Frequency = null;\r\n                            x.ReceivedBy = null;\r\n                            x.SDCLRULES = null;\r\n                            x.Repealed = null;\r\n                        }\r\n                    });\r\n                    this.items = itms;\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            StrikeThrough(item)\r\n            {\r\n                if (item.Repealed)\r\n                    return 'text-decoration: line-through';\r\n\r\n                return '';\r\n            },\r\n            splitStatutes(s0)\r\n            {\r\n                var s1 = s0.replace(', and', ',').replace('&', ',').replace('&', ',');\r\n                var statutes = s1.split(',');\r\n                var res = \"\";\r\n                statutes.forEach(s =>\r\n                {\r\n                    res += \"<a rel='noopener' href='https://sdlegislature.gov/Statutes/\" + s.trim() + \"')'>\" + s.trim() + \"</a>, \";\r\n                });\r\n                return res.replace(/,\\s*$/, \"\");\r\n            },\r\n\r\n            quickFindSearch(quickFind, type)\r\n            {\r\n                if (type == 'Codified_Laws')\r\n                {\r\n                    this.$router.push('/Statutes/' + quickFind);\r\n                    //fetch('/api/Statutes/StatuteToId/' + quickFind, {\r\n                    //    method: \"GET\",\r\n                    //    credentials: \"include\",\r\n                    //    headers: {\r\n                    //        \"Content-Type\": \"application/json\"\r\n                    //    },\r\n                    //}).then(res =>\r\n                    //{\r\n                    //    this.loading = false;\r\n                    //    if (res.status === 200 || res.status === 201)\r\n                    //    {\r\n                    //        return res.json().then(r =>\r\n                    //        {\r\n                    //            this.$router.push('/Statutes/' + r);\r\n                    //        });\r\n                    //    }\r\n                    //    else\r\n                    //    {\r\n                    //        return null;\r\n                    //    }\r\n                    //    throw new Error(res.statusText);\r\n                    //}).catch(error =>\r\n                    //{\r\n                    //    throw new Error(error);\r\n                    //});\r\n                }\r\n                else if (type == 'Constitution')\r\n                {\r\n                    fetch('/api/Statutes/ArticleToId/' + quickFind, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res =>\r\n                    {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201)\r\n                        {\r\n                            return res.json().then(r =>\r\n                            {\r\n                                this.$router.push('/Statutes/Constitution/' + r);\r\n                            });\r\n                        }\r\n                        else\r\n                        {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n\r\n                }\r\n                else if (type == 'Administrative')\r\n                {\r\n                    fetch('/api/Rules/RuleToId/' + quickFind, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res =>\r\n                    {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else\r\n                        {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response =>\r\n                    {\r\n                        let ruleId = EncodeDatetimes(response);\r\n                        if (ruleId)\r\n                        {\r\n                            this.$router.push('/Rules/Administrative/' + ruleId);\r\n                        }\r\n                    }).catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n                else if (type == 'Session_Laws')\r\n                {\r\n                    fetch('/api/SessionLaws/ChapterToId/' + quickFind + '?SessionId=' + this.Session.SessionId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res =>\r\n                    {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else\r\n                        {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response =>\r\n                    {\r\n                        let SessionLawId = EncodeDatetimes(response);\r\n                        if (SessionLawId)\r\n                        {\r\n                            this.$router.push('/Statutes/Session_Laws/Chapter/' + SessionLawId);\r\n                        }\r\n                    }).catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n                    window.location = '/Statutes/Session_Laws/Chapter/' + quickFind;\r\n                }\r\n            },\r\n\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                loading: true,\r\n                moreInfo: false,\r\n                fullHeaders: [\r\n                    { text: 'Date', value: 'SortDate', filterable: false, },\r\n                    { text: 'Subject', value: 'Subject' },\r\n                    { text: 'SDCL/Rule', value: 'SDCLRULES' },\r\n                    { text: 'Required By', value: 'RequiredBy' },],\r\n                mobileHeaders: [\r\n                    { text: 'Date', value: 'SortDate', filterable: false, },\r\n                    { text: 'Subject', value: 'Subject' },\r\n                    { text: 'Delivered To', value: 'RequiredReportType.ReceivedBy' },\r\n                    { text: 'Frequency', value: 'RequiredReportType.Frequency' },\r\n                    { text: 'Repealed', value: 'Repealed' },\r\n                    { text: 'SDCL/Rule', value: 'SDCLRULES' },\r\n                    { text: 'Required By', value: 'RequiredBy' },],\r\n                items: [],\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            headers: function ()\r\n            {\r\n                if (this.$vuetify.breakpoint.xs || this.$vuetify.breakpoint.sm)\r\n                {\r\n                    return this.mobileHeaders;\r\n                } else\r\n                {\r\n                    return this.fullHeaders;\r\n                }\r\n            },\r\n            Title: function ()\r\n            {\r\n                let title = 'Required Reports';\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./RequiredReports.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./RequiredReports.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RequiredReports.vue?vue&type=template&id=76d87000&\"\nimport script from \"./RequiredReports.vue?vue&type=script&lang=js&\"\nexport * from \"./RequiredReports.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VContainer,VDivider,VFlex})\n","// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable';\nimport Routable from '../../mixins/routable';\nimport Themeable from '../../mixins/themeable'; // Utilities\n\nimport { keyCodes } from './../../util/helpers';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Routable, // Must be after routable\n// to overwrite activeClass\nGroupableFactory('tabsBar'), Themeable);\nexport default baseMixins.extend().extend().extend({\n  name: 'v-tab',\n  props: {\n    ripple: {\n      type: [Boolean, Object],\n      default: true\n    }\n  },\n  data: () => ({\n    proxyClass: 'v-tab--active'\n  }),\n  computed: {\n    classes() {\n      return {\n        'v-tab': true,\n        ...Routable.options.computed.classes.call(this),\n        'v-tab--disabled': this.disabled,\n        ...this.groupClasses\n      };\n    },\n\n    value() {\n      let to = this.to || this.href;\n      if (to == null) return to;\n\n      if (this.$router && this.to === Object(this.to)) {\n        const resolve = this.$router.resolve(this.to, this.$route, this.append);\n        to = resolve.href;\n      }\n\n      return to.replace('#', '');\n    }\n\n  },\n  methods: {\n    click(e) {\n      // Prevent keyboard actions\n      // from children elements\n      // within disabled tabs\n      if (this.disabled) {\n        e.preventDefault();\n        return;\n      } // If user provides an\n      // actual link, do not\n      // prevent default\n\n\n      if (this.href && this.href.indexOf('#') > -1) e.preventDefault();\n      if (e.detail) this.$el.blur();\n      this.$emit('click', e);\n      this.to || this.toggle();\n    },\n\n    toggle() {\n      // VItemGroup treats a change event as a click\n      if (!this.isActive || !this.tabsBar.mandatory && !this.to) {\n        this.$emit('change');\n      }\n    }\n\n  },\n\n  render(h) {\n    const {\n      tag,\n      data\n    } = this.generateRouteLink();\n    data.attrs = { ...data.attrs,\n      'aria-selected': String(this.isActive),\n      role: 'tab',\n      tabindex: this.disabled ? -1 : 0\n    };\n    data.on = { ...data.on,\n      keydown: e => {\n        if (e.keyCode === keyCodes.enter) this.click(e);\n        this.$emit('keydown', e);\n      }\n    };\n    return h(tag, data, this.$slots.default);\n  }\n\n});\n//# sourceMappingURL=VTab.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"xs12\":\"\",\"flat\":\"\"}},[_c('v-card-title',[_c('h2',[_vm._v(\"General\")])]),_c('v-card-text',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},_vm._l((_vm.Documents),function(item){return _c('v-flex',{staticClass:\"pa-3\"},[_c('v-card',[_c('v-card-title',{staticClass:\"text-center\",staticStyle:{\"text-align\":\"center\",\"display\":\"inherit\"}},[_vm._v(_vm._s(item.Title))]),_c('v-card-text',[_c('v-list',[_vm._l((item.Docs),function(i){return [_c('v-divider',{staticClass:\"ma-0\"}),_c('v-list-item',{key:i.Name,attrs:{\"rel\":\"noopener\",\"href\":_vm.createURL(i)}},[_c('v-list-item-content',{attrs:{\"name\":i.Name}},[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(i.Name)+\" \"),(i.url.includes('.pdf'))?_c('span',[_c('sup',[_vm._v(\"(PDF)\")])]):_vm._e(),(_vm.createURL(i) == '#')?_c('span',[_vm._v(\" - Document Not Found\")]):_vm._e()])],1)],1)]})],2)],1)],1)],1)}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n<v-card xs12 flat>\r\n    <v-card-title><h2>General</h2></v-card-title>\r\n    <v-card-text>\r\n        <v-layout row wrap>\r\n            <v-flex class=\"pa-3\" v-for=\"item in Documents\">\r\n                <v-card>\r\n                    <v-card-title style=\"text-align:center;display:inherit;\" class=\"text-center\">{{item.Title}}</v-card-title>\r\n                    <v-card-text>\r\n                        <v-list>\r\n                            <template v-for=\"i in item.Docs\">\r\n                                <v-divider class=\"ma-0\"></v-divider>\r\n                                <v-list-item rel=\"noopener\" :href=\"createURL(i)\" :key=\"i.Name\">\r\n                                    <v-list-item-content :name=\"i.Name\">\r\n                                        <v-list-item-title>\r\n                                            {{i.Name}} <span v-if=\"i.url.includes('.pdf')\"><sup>(PDF)</sup></span><span v-if=\"createURL(i) == '#'\"> - Document Not Found</span>\r\n                                        </v-list-item-title>\r\n                                    </v-list-item-content>\r\n                                </v-list-item>\r\n                            </template>\r\n                        </v-list>\r\n                    </v-card-text>\r\n                </v-card>\r\n            </v-flex>\r\n        </v-layout>\r\n    </v-card-text>\r\n</v-card>\r\n</template>\r\n<script>\r\n    export default {\r\n        name: 'General',\r\n        props: ['SessionId'],\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Sessions/' + this.SessionId, {\r\n                                method: \"GET\",\r\n                                credentials: \"include\",\r\n                                headers: {\r\n                                    \"Content-Type\": \"application/json\"\r\n                                },\r\n                            }).then(res => {\r\n                                if (res.status === 200 || res.status === 201) {\r\n                                    return res.json();\r\n                                }\r\n                                else {\r\n                                    return null;\r\n                                }\r\n                                throw new Error(res.statusText);\r\n                            }).then(response => {\r\n                                this.Session = EncodeDatetimes(response);\r\n                            }).catch(error => {\r\n                                throw new Error(error);\r\n                            });\r\n                fetch('/api/Documents/DocumentType?Type=24&Type=68&Type=69&Type=71&Type=72&Type=73&Type=74&SessionIds=' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.items = EncodeDatetimes(response);\r\n                    this.Documents.filter(x => x.Title == 'Session Resources')[0].Docs.filter(x => x.Name == 'Committee Schedule & Staff Assignments')[0].url = this.createMYLRCLink(this.items.find(x => x.Filename == 'lrcstaff.pdf'));\r\n                    this.Documents.filter(x => x.Title == 'Session Resources')[0].Docs.filter(x => x.Name == 'Legislative Guide')[0].url = this.createMYLRCLink(this.items.find(x => x.Filename == 'guide.pdf'));\r\n                    this.Documents.filter(x => x.Title == 'Session Resources')[0].Docs.filter(x => x.Name == 'Legislative Index')[0].url = this.createMYLRCLink(this.items.find(x => x.Filename == 'legislativeindex.pdf'));\r\n                    this.Documents.filter(x => x.Title == 'Session Resources')[0].Docs.filter(x => x.Name == 'Legislator Reference Book')[0].url = this.createMYLRCLink(this.items.find(x => x.Filename == 'legislatorreferencebook.pdf'));\r\n                    this.Documents.filter(x => x.Title == 'Session Resources')[0].Docs.filter(x => x.Name == 'Redbook')[0].url = this.createMYLRCLink(this.items.find(x => x.Filename.includes('redbook.pdf')));\r\n                    this.Documents.filter(x => x.Title == 'Session Resources')[0].Docs.filter(x => x.Name == 'Seating Arrangement - House')[0].url = this.createMYLRCLink(this.items.find(x => x.Filename == 'houseseatingchart.pdf'));\r\n                    this.Documents.filter(x => x.Title == 'Session Resources')[0].Docs.filter(x => x.Name == 'Seating Arrangement - Senate')[0].url = this.createMYLRCLink(this.items.find(x => x.Filename == 'senateseatingchart.pdf'));\r\n                    this.Documents.filter(x => x.Title == 'Session Resources')[0].Docs.filter(x => x.Name == 'Session Calendar')[0].url = this.createMYLRCLink(this.items.find(x => x.Filename == 'calendar.pdf'));\r\n\r\n\r\n                    this.Documents.filter(x => x.Title == 'Leadership')[0].Docs.filter(x => x.Name == 'Legislative Leadership')[0].url = this.createMYLRCLink(this.items.find(x => x.Filename == 'leaders.pdf'));\r\n                    this.Documents.filter(x => x.Title == 'Leadership')[0].Docs.filter(x => x.Name == 'House Chairs/Leadership Directory')[0].url = this.createMYLRCLink(this.items.find(x => x.Filename == 'housedirectory.pdf'));\r\n                    this.Documents.filter(x => x.Title == 'Leadership')[0].Docs.filter(x => x.Name == 'Senate Chairs/Leadership Directory')[0].url = this.createMYLRCLink(this.items.find(x => x.Filename == 'senatedirectory.pdf'));\r\n\r\n\r\n\r\n                    this.Documents.filter(x => x.Title == 'Rules')[0].Docs.filter(x => x.Name == 'Joint Rules')[0].url = this.createMYLRCLink(this.items.find(x => x.Filename == 'jointrules.pdf'));\r\n                    this.Documents.filter(x => x.Title == 'Rules')[0].Docs.filter(x => x.Name == 'House Rules')[0].url = this.createMYLRCLink(this.items.find(x => x.Filename == 'houserules.pdf'));\r\n                    this.Documents.filter(x => x.Title == 'Rules')[0].Docs.filter(x => x.Name == 'Senate Rules')[0].url = this.createMYLRCLink(this.items.find(x => x.Filename == 'senaterules.pdf'));\r\n\r\n\r\n\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            createMYLRCLink(obj) {\r\n                if (obj != null) {\r\n                    return this.$MyLRCUrl.value + 'api/Documents/' + obj.DocumentId + '.pdf';\r\n                } else {\r\n                    return \"#\";\r\n                }\r\n\r\n            },\r\n            createURL(i) {\r\n                if (i.includeSessionId == true) {\r\n                    return i.url + this.SessionId;\r\n                }\r\n                else {\r\n                    return i.url;\r\n                }\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                Session: {},\r\n                Documents: [\r\n                    {\r\n                        Title: 'Session Resources',\r\n                        Docs: [\r\n                            {\r\n                                Name: 'Committee Schedule & Staff Assignments',\r\n                                url: '#doc.pdf',\r\n                            },\r\n                            {\r\n                                Name: 'Legislative Guide',\r\n                                url: '#doc.pdf',\r\n                            },\r\n                            {\r\n                                Name: 'Legislative Index',\r\n                                url: '#doc.pdf',\r\n                            },\r\n                            {\r\n                                Name: 'Legislator Reference Book',\r\n                                url: '#doc.pdf',\r\n                            },\r\n                            {\r\n                                Name: 'Lobbyist Listing',\r\n                                url: 'https://sosenterprise.sd.gov/BusinessServices/Lobbyist/LobbyistSearch.aspx',\r\n                            },\r\n                            {\r\n                                Name: 'Redbook',\r\n                                url: '#doc.pdf',\r\n                            },\r\n                            {\r\n                                Name: 'Seating Arrangement - House',\r\n                                url: '#doc.pdf',\r\n                            },\r\n                            {\r\n                                Name: 'Seating Arrangement - Senate',\r\n                                url: '#doc.pdf',\r\n                            },\r\n                            {\r\n                                Name: 'Session Calendar',\r\n                                url: '#doc.pdf',\r\n                            },\r\n                            {\r\n                                Name: 'Staff Subject Areas',\r\n                                url: '/Staff/SubjectArea',\r\n                            },\r\n                            {\r\n                                Name: 'Housing Questionnaire',\r\n                                url: '/Session/Housing',\r\n                            },\r\n                            {\r\n                                Name: 'Participate Remotely',\r\n                                url: 'https://mylrc.sdlegislature.gov/api/documents/212840.pdf',\r\n                            },\r\n                        ],\r\n                    },\r\n                    {\r\n                        Title: 'Leadership',\r\n                        Docs: [\r\n                            {\r\n                                Name: 'Legislative Leadership',\r\n                                url: '#doc.pdf',\r\n                            },\r\n                            {\r\n                                Name: 'House Chairs/Leadership Directory',\r\n                                url: '#doc.pdf',\r\n                            },\r\n                            {\r\n                                Name: 'Senate Chairs/Leadership Directory',\r\n                                url: '#doc.pdf',\r\n                            },\r\n                        ],\r\n                    },\r\n                    {\r\n                        Title: 'Rules',\r\n                        Docs: [\r\n                            {\r\n                                Name: 'Joint Rules',\r\n                                url: '#doc.pdf',\r\n                            },\r\n                            {\r\n                                Name: 'House Rules',\r\n                                url: '#doc.pdf',\r\n                            },\r\n                            {\r\n                                Name: 'Senate Rules',\r\n                                url: '#doc.pdf',\r\n                            },\r\n                        ],\r\n                    },\r\n\r\n                    {\r\n                        Title: 'Media',\r\n                        Docs: [\r\n                            {\r\n                                Name: 'Memorial Service',\r\n                                url: '/Session/Memorial',\r\n                            },\r\n                            {\r\n                                Name: 'Podcast Feeds',\r\n                                url: '/Session/Committees/',\r\n                                includeSessionId: true,\r\n\r\n                            },\r\n                            {\r\n                                Name: 'RSS Feeds',\r\n                                url: '/Session/Committees/',\r\n                                includeSessionId: true,\r\n\r\n                            },\r\n                        ],\r\n                    }\r\n                ],\r\n                items: [],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            SessionId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'General Information';\r\n                if (this.Session && this.Session.Year) {\r\n                    title = this.Session.Year + \" General Information\";\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./General.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./General.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./General.vue?vue&type=template&id=24f02dd9&\"\nimport script from \"./General.vue?vue&type=script&lang=js&\"\nexport * from \"./General.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } 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';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VDivider,VFlex,VLayout,VList,VListItem,VListItemContent,VListItemTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.SessionId)?_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}}):_vm._e()],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.Session && _vm.Session.Year)?_c('div',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.Session.YearString)+\" Withdrawn Report\")]):_vm._e(),_c('div',[_vm._v(\" The following bills have been withdrawn by the prime sponsor in accordance with Joint Rule 6B-1.1. \")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"search\":_vm.search,\"item-key\":\"BillNumber\",\"group-by\":\"BillType\",\"multi-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"group.header\",fn:function(ref){\nvar items = ref.items;\nvar isOpen = ref.isOpen;\nvar toggle = ref.toggle;\nvar group = ref.group;\nvar groupby = ref.groupby;\nreturn [_c('td',{attrs:{\"colspan\":\"2\"}},[_vm._v(\" Bill Type: \"+_vm._s(_vm.LongBillName(group))+\" \"),(isOpen)?_c('v-icon',{on:{\"click\":toggle}},[_vm._v(_vm._s(_vm.minus))]):_c('v-icon',{on:{\"click\":toggle}},[_vm._v(_vm._s(_vm.plus))])],1)]}},{key:\"item.BillNumber\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType + ' ' + item.BillNumber))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar v-if=\"SessionId\" :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\" v-if=\"Session && Session.Year\">{{Session.YearString}} Withdrawn Report</div>\r\n            <div>\r\n                The following bills have been withdrawn by the prime sponsor in accordance with Joint Rule 6B-1.1.\r\n            </div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                          :items=\"items\"\r\n                          :search=\"search\"\r\n                          item-key=\"BillNumber\"\r\n                          group-by=\"BillType\"\r\n                          multi-sort\r\n                          disable-pagination\r\n                          hide-default-footer\r\n                          :loading=\"loading\"\r\n                          loading-text=\"Loading... Please wait\"\r\n                          class=\"elevation-1\">\r\n                <template v-slot:group.header=\"{items, isOpen, toggle, group, groupby}\">\r\n                    <td colspan=\"2\">\r\n                        Bill Type: {{LongBillName(group)}}\r\n                        <v-icon v-if=\"isOpen\" @click=\"toggle\">{{minus}}</v-icon>\r\n                        <v-icon v-else @click=\"toggle\">{{plus}}</v-icon>\r\n                    </td>\r\n                </template>\r\n                <template v-slot:item.BillNumber=\"{ item }\">\r\n                    <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType + '&nbsp;' + item.BillNumber}}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n    import { mdiPlus } from '@mdi/js';\r\n    import { mdiMinus } from '@mdi/js';\r\n    \r\n    export default {\r\n        name: 'Withdrawn',\r\n        props: ['SessionId'],\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            loadData() {\r\n                this.loading = true;\r\n                fetch('/api/Sessions/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Session = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n                fetch('/api/BillLogs/Withdrawn/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.loading = false;\r\n                    var temp = EncodeDatetimes(response);\r\n                    this.items = temp.sort(\r\n                        function (a, b) {\r\n                            if (a.BillType === b.BillType) {\r\n                                return a.BillNumber - b.BillNumber;\r\n                            }\r\n                            return a.BillType > b.BillType ? 1 : -1;\r\n                        });\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n                fetch('/api/BillNumbers/BillTypes', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.BillTypes = EncodeDatetimes(response);\r\n                    this.SenateBillTypes = this.BillTypes.filter(x => x.BillType.includes('S') == true);\r\n                    this.HouseBillTypes = this.BillTypes.filter(x => x.BillType.includes('H') == true);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n\r\n            },\r\n            LongBillName(short) {\r\n                if (this.BillTypes && this.BillTypes.length > 0 && this.BillTypes.find(x => x.BillType == short)) {\r\n                    return this.BillTypes.find(x => x.BillType == short).LongBillType || '';\r\n                }\r\n                else {\r\n                    return short;\r\n                }\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                plus: mdiPlus,\r\n                minus: mdiMinus,\r\n                search: '',\r\n                loading: true,\r\n                Session: {},\r\n                headers: [\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'start',\r\n                        value: 'BillNumber',\r\n                        width: '15ch'\r\n                    },\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'Title',\r\n                        width: '*'\r\n                    },\r\n                ],\r\n                items: [],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.loadData();\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Loading Bills Withdrawn...';\r\n                if (this.Session && this.Session.Year) {\r\n                    title = this.Session.Year + \" Bills Withdrawn\";\r\n                }\r\n                else {\r\n                    title = 'Bills Withdrawn';\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Withdrawn.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Withdrawn.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Withdrawn.vue?vue&type=template&id=52eed8cd&\"\nimport script from \"./Withdrawn.vue?vue&type=script&lang=js&\"\nexport * from \"./Withdrawn.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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';\ninstallComponents(component, {VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"d-print-none\",staticStyle:{\"float\":\"left\"}},[_c('v-navigation-drawer',{staticClass:\"hidden-sm-and-down d-print-none\",attrs:{\"floating\":\"\",\"permanent\":\"\"}},[_c('v-list',{attrs:{\"dense\":\"\",\"nav\":\"\"}},[_vm._l((_vm.SubMenuItems),function(item){return [((item.url.toLowerCase().startsWith('https:') || item.url.toLowerCase().includes('/api/')))?_c('v-list-item',{key:item.Id,staticStyle:{\"text-decoration\":\"none !important\"},attrs:{\"rel\":\"noopener\",\"href\":_vm.formatURL(item),\"link\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-wrap\"},[(_vm.Session && _vm.Session.Year && item.prependYear)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" \"+_vm._s(item.Title)+\" \"),(item.url.includes('.pdf'))?_c('span',[_c('sup',[_vm._v(\"(PDF)\")])]):_vm._e(),(_vm.formatURL(item).includes('.csv'))?_c('span',[_c('sup',[_vm._v(\"(CSV)\")])]):_vm._e()])],1)],1):_c('v-list-item',{key:item.Id,staticStyle:{\"text-decoration\":\"none !important\"},attrs:{\"to\":_vm.formatURL(item),\"link\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-wrap\"},[(_vm.Session && _vm.Session.Year && item.prependYear)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" \"+_vm._s(item.Title)+\" \"),(item.url.includes('.pdf'))?_c('span',[_c('sup',[_vm._v(\"(PDF)\")])]):_vm._e(),(_vm.formatURL(item).includes('.csv'))?_c('span',[_c('sup',[_vm._v(\"(CSV)\")])]):_vm._e()])],1)],1)]})],2)],1),_c('div',{staticClass:\"hidden-md-and-up d-print-none\"},[_c('div',{staticClass:\"hidden-md-and-up justify-end\",staticStyle:{\"top\":\"5px\"}},[_c('v-btn',{on:{\"click\":function($event){$event.stopPropagation();_vm.drawer1 = !_vm.drawer1}}},[_c('v-icon',[_vm._v(_vm._s(_vm.dotsvertical))])],1)],1)]),_c('v-navigation-drawer',{attrs:{\"right\":\"\",\"fixed\":\"\",\"clase\":\"d-print-none\",\"temporary\":\"\"},model:{value:(_vm.drawer1),callback:function ($$v) {_vm.drawer1=$$v},expression:\"drawer1\"}},[_c('v-list',{attrs:{\"dense\":\"\",\"nav\":\"\"}},[_vm._l((_vm.SubMenuItems),function(item){return [((item.url.toLowerCase().startsWith('https:') || item.url.toLowerCase().includes('/api/')))?_c('v-list-item',{key:item.Id,staticStyle:{\"text-decoration\":\"none !important\"},attrs:{\"rel\":\"noopener\",\"href\":_vm.formatURL(item),\"link\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-wrap\"},[(_vm.Session && _vm.Session.Year && item.prependYear)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" \"+_vm._s(item.Title)+\" \"),(item.url.includes('.pdf'))?_c('span',[_c('sup',[_vm._v(\"(PDF)\")])]):_vm._e(),(_vm.formatURL(item).includes('.csv'))?_c('span',[_c('sup',[_vm._v(\"(CSV)\")])]):_vm._e()])],1)],1):_c('v-list-item',{key:item.Id,staticStyle:{\"text-decoration\":\"none !important\"},attrs:{\"to\":_vm.formatURL(item),\"link\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-wrap\"},[(_vm.Session && _vm.Session.Year && item.prependYear)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" \"+_vm._s(item.Title)+\" \"),(item.url.includes('.pdf'))?_c('span',[_c('sup',[_vm._v(\"(PDF)\")])]):_vm._e(),(_vm.formatURL(item).includes('.csv'))?_c('span',[_c('sup',[_vm._v(\"(CSV)\")])]):_vm._e()])],1)],1)]})],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-card style=\"float:left;\" class=\"d-print-none\">\r\n        <v-navigation-drawer floating\r\n                             permanent\r\n                             class=\"hidden-sm-and-down d-print-none\">\r\n            <v-list dense nav>\r\n                <template v-for=\"item in SubMenuItems\">\r\n                    <v-list-item v-if=\"(item.url.toLowerCase().startsWith('https:') || item.url.toLowerCase().includes('/api/'))\"\r\n                                 :key=\"item.Id\"\r\n                                 rel=\"noopener\" :href=\"formatURL(item)\"\r\n                                 link\r\n                                 style=\"text-decoration:none !important\">\r\n                        <v-list-item-content>\r\n                            <v-list-item-title class=\"text-wrap\">\r\n                                <span v-if=\"Session && Session.Year && item.prependYear\">{{Session.YearString}}</span> {{ item.Title }} <span v-if=\"item.url.includes('.pdf')\"><sup>(PDF)</sup></span><span v-if=\"formatURL(item).includes('.csv')\"><sup>(CSV)</sup></span>\r\n                            </v-list-item-title>\r\n                        </v-list-item-content>\r\n                    </v-list-item>\r\n                    <v-list-item v-else\r\n                                 :key=\"item.Id\"\r\n                                 :to=\"formatURL(item)\"\r\n                                 link\r\n                                 style=\"text-decoration:none !important\">\r\n                        <v-list-item-content>\r\n                            <v-list-item-title class=\"text-wrap\">\r\n                                <span v-if=\"Session && Session.Year && item.prependYear\">{{Session.YearString}}</span> {{ item.Title }} <span v-if=\"item.url.includes('.pdf')\"><sup>(PDF)</sup></span><span v-if=\"formatURL(item).includes('.csv')\"><sup>(CSV)</sup></span>\r\n                            </v-list-item-title>\r\n                        </v-list-item-content>\r\n                    </v-list-item>\r\n                </template>\r\n            </v-list>\r\n        </v-navigation-drawer>\r\n        <div class=\"hidden-md-and-up d-print-none\">\r\n            <div class=\"hidden-md-and-up justify-end\" style=\"top: 5px\">\r\n                <v-btn @click.stop=\"drawer1 = !drawer1\">\r\n                    <v-icon>{{dotsvertical}}</v-icon>\r\n                </v-btn>\r\n            </div>\r\n        </div>\r\n        <v-navigation-drawer v-model=\"drawer1\"\r\n                             right\r\n                             fixed\r\n                             clase=\"d-print-none\"\r\n                             temporary>\r\n            <v-list dense nav>\r\n                <template v-for=\"item in SubMenuItems\">\r\n                    <v-list-item v-if=\"(item.url.toLowerCase().startsWith('https:') || item.url.toLowerCase().includes('/api/'))\"\r\n                                 :key=\"item.Id\"\r\n                                 rel=\"noopener\" :href=\"formatURL(item)\"\r\n                                 link\r\n                                 style=\"text-decoration:none !important\">\r\n                        <v-list-item-content>\r\n                            <v-list-item-title class=\"text-wrap\">\r\n                                <span v-if=\"Session && Session.Year && item.prependYear\">{{Session.YearString}}</span> {{ item.Title }} <span v-if=\"item.url.includes('.pdf')\"><sup>(PDF)</sup></span><span v-if=\"formatURL(item).includes('.csv')\"><sup>(CSV)</sup></span>\r\n                            </v-list-item-title>\r\n                        </v-list-item-content>\r\n                    </v-list-item>\r\n                    <v-list-item v-else\r\n                                 :key=\"item.Id\"\r\n                                 :to=\"formatURL(item)\"\r\n                                 link\r\n                                 style=\"text-decoration:none !important\">\r\n                        <v-list-item-content>\r\n                            <v-list-item-title class=\"text-wrap\">\r\n                                <span v-if=\"Session && Session.Year && item.prependYear\">{{Session.YearString}}</span> {{ item.Title }} <span v-if=\"item.url.includes('.pdf')\"><sup>(PDF)</sup></span><span v-if=\"formatURL(item).includes('.csv')\"><sup>(CSV)</sup></span>\r\n                            </v-list-item-title>\r\n                        </v-list-item-content>\r\n                    </v-list-item>\r\n                </template>\r\n            </v-list>\r\n        </v-navigation-drawer>\r\n    </v-card>\r\n\r\n</template>\r\n<script>\r\n    import { mdiDotsVertical } from '@mdi/js';\r\n    export default {\r\n        name: 'Sidebar',\r\n        props: {\r\n            SessionId: { type: String | Number, default: null },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                dotsvertical: mdiDotsVertical,\r\n                allSubMenuItems: [\r\n                    { Id: 1, Title: 'Bills', url: '/Session/Bills/', Route: '/Session/Bills', prependYear: true, includeSession: true },\r\n                    { Id: 2, Title: 'Text Search', url: '/Session/TextSearch/', Route: '/Session/Bills', includeSession: true },\r\n                    { Id: 3, Title: 'Subject Index', url: '/Session/SubjectIndex/', Route: '/Session/Bills', includeSession: true },\r\n                    { Id: 4, Title: 'Bill Reports', url: '/Session/BillReports/SignedByGovernor/', Route: '/Session/Bills', includeSession: true },\r\n\r\n                    { Id: 5, Title: 'Bills', url: '/Session/Bills/', Route: '/Session/Vote', prependYear: true, includeSession: true },\r\n                    { Id: 6, Title: 'Text Search', url: '/Session/TextSearch/', Route: '/Session/Vote', includeSession: true },\r\n                    { Id: 7, Title: 'Subject Index', url: '/Session/SubjectIndex/', Route: '/Session/Vote', includeSession: true },\r\n                    { Id: 8, Title: 'Bill Reports', url: '/Session/BillReports/SignedByGovernor/', Route: '/Session/Vote', includeSession: true },\r\n\r\n                    { Id: 9, Title: 'Bills', url: '/Session/Bills/', Route: '/Bill/', prependYear: true, includeSession: true },\r\n                    { Id: 10, Title: 'Text Search', url: '/Session/TextSearch/', Route: '/Bill/', includeSession: true },\r\n                    { Id: 11, Title: 'Subject Index', url: '/Session/SubjectIndex/', Route: '/Bill/', includeSession: true },\r\n                    { Id: 12, Title: 'Bill Reports', url: '/Session/BillReports/SignedByGovernor/', Route: '/Bill/', includeSession: true },\r\n\r\n                    { Id: 13, Title: 'Bills', url: '/Session/Bills/', Route: '/Session/TextSearch', prependYear: true, includeSession: true },\r\n                    { Id: 14, Title: 'Text Search', url: '/Session/TextSearch/', Route: '/Session/TextSearch', includeSession: true },\r\n                    { Id: 15, Title: 'Subject Index', url: '/Session/SubjectIndex/', Route: '/Session/TextSearch', includeSession: true },\r\n                    { Id: 16, Title: 'Bill Reports', url: '/Session/BillReports/SignedByGovernor/', Route: '/Session/TextSearch', includeSession: true },\r\n\r\n                    { Id: 17, Title: 'Bills', url: '/Session/Bills/', Route: '/Session/SubjectIndex', prependYear: true, includeSession: true },\r\n                    { Id: 18, Title: 'Text Search', url: '/Session/TextSearch/', Route: '/Session/SubjectIndex', includeSession: true },\r\n                    { Id: 19, Title: 'Subject Index', url: '/Session/SubjectIndex/', Route: '/Session/SubjectIndex', includeSession: true },\r\n                    { Id: 20, Title: 'Bill Reports', url: '/Session/BillReports/SignedByGovernor/', Route: '/Session/SubjectIndex', includeSession: true },\r\n\r\n                    { Id: 21, Title: 'Bills', url: '/Session/Bills/', Route: '/Session/Subject/', prependYear: true, includeSession: true },\r\n                    { Id: 22, Title: 'Text Search', url: '/Session/TextSearch/', Route: '/Session/Subject/', includeSession: true },\r\n                    { Id: 23, Title: 'Subject Index', url: '/Session/SubjectIndex/', Route: '/Session/Subject/', includeSession: true },\r\n                    { Id: 24, Title: 'Bill Reports', url: '/Session/BillReports/SignedByGovernor/', Route: '/Session/Subject/', includeSession: true },\r\n\r\n                    { Id: 25, Title: 'Bill Status Report', url: '/Session/BillStatusReport/', Route: '/Session/BillReports' },\r\n                    { Id: 26, Title: 'Bills Signed By Governor', url: '/Session/BillReports/SignedByGovernor/', Route: '/Session/BillReports', includeSession: true },\r\n                    { Id: 27, Title: 'Bills Vetoed By Governor', url: '/Session/BillReports/VetoedByGovernor/', Route: '/Session/BillReports', includeSession: true },\r\n                    { Id: 28, Title: 'Bills On Governor\\'s Desk', url: '/Session/BillReports/GovernorsDesk/', Route: '/Session/BillReports', includeSession: true },\r\n                    { Id: 29, Title: 'Subject Index', url: '/Session/SubjectIndex/', Route: '/Session/BillReports', includeSession: true },\r\n                    { Id: 30, Title: 'Custom Bill Report', url: '/Session/BillReports/Custom/', Route: '/Session/BillReports', includeSession: true },\r\n                    { Id: 31, Title: 'Fiscal Note Report', url: '/Session/BillReports/FiscalNotes/', Route: '/Session/BillReports', includeSession: true },\r\n                    { Id: 32, Title: 'Hoghouse Report', url: '/Session/BillReports/Hoghouse/', Route: '/Session/BillReports', includeSession: true },\r\n                    { Id: 33, Title: 'Prison/Jail Population Cost Estimates', url: '/Session/BillReports/PrisonJail/', Route: '/Session/BillReports', includeSession: true },\r\n                    { Id: 34, Title: 'Withdrawn Report', url: '/Session/BillReports/Withdrawn/', Route: '/Session/BillReports', includeSession: true },\r\n                    { Id: 35, Title: 'Emergency Clause Report', url: '/Session/BillReports/Emergency/', Route: '/Session/BillReports', includeSession: true },\r\n\r\n                    { Id: 36, Title: 'Legislator Contacts', Route: '/Legislators', url: '/Legislators/Contacts/', includeSession: true, },\r\n                    { Id: 37, Title: 'Find My Legislators', Route: '/Legislators', url: '/Legislators/Find', },\r\n                    { Id: 38, Title: 'Legislator Listing', Route: '/Legislators', url: '/Legislators/Listing/', includeSession: true, prependYear: true, },\r\n                    { Id: 39, Title: 'Historical Listing', Route: '/Legislators', url: '/Historical', },\r\n                    { Id: 40, Title: 'Legislator Term Limits', Route: '/Legislators', url: 'https://mylrc.sdlegislature.gov/api/Documents/72128.pdf', },\r\n                    { Id: 41, Title: 'Address List', Route: '/Legislators', url: '/api/SessionMembers/', includeSession: true, includeFileType: '.csv', },\r\n                    { Id: 42, Title: 'Archived', Route: '/Legislators', url: '/Session/Archived', },\r\n\r\n                    { Id: 43, Title: 'Historical Listing', url: '/Historical', Route: '/Historical', not: '/Legislators' },\r\n                    { Id: 44, Title: 'General Reports', url: '/Historical/Reports/GeneralReports', Route: '/Historical', not: '/Legislators' },\r\n                    { Id: 45, Title: 'Office Reports', url: '/Historical/Reports/OfficeReports', Route: '/Historical', not: '/Legislators' },\r\n                    { Id: 46, Title: 'Tenure Reports', url: '/Historical/Reports/TenureReports', Route: '/Historical', not: '/Legislators' },\r\n                    { Id: 47, Title: 'Submit New Information', url: '/ContactUs', Route: '/Historical', not: '/Legislators' },\r\n\r\n                    { Id: 48, Title: 'Foreword', url: '/Statutes/Session_Laws/Foreword/', Route: '/Statutes/Session_Laws', includeSession: true },\r\n                    { Id: 49, Title: 'Cross Reference', url: '/Statutes/Session_Laws/CrossReference/', Route: '/Statutes/Session_Laws', includeSession: true },\r\n                    { Id: 50, Title: 'Topical Index', url: '/Statutes/Session_Laws/TopicalIndex/', Route: '/Statutes/Session_Laws', includeSession: true },\r\n                    { Id: 51, Title: 'Table of Contents', url: '/Statutes/Session_Laws/', Route: '/Statutes/Session_Laws', includeSession: true },\r\n                    { Id: 52, Title: 'SDCL Index', url: '/Statutes/Session_Laws/SDCLIndex/', Route: '/Statutes/Session_Laws', includeSession: true },\r\n                    { Id: 200, Title: 'Session Law Book', url: '', Route: '/Statutes/Session_Laws', Hidden: true, LoadUrl: '/api/SessionLaws/Book' },\r\n\r\n                    { Id: 53, Title: 'Constitution', url: '/Constitution', Route: '/Constitution' },\r\n                    { Id: 54, Title: 'Codified Laws', url: '/Statutes', Route: '/Statutes' },\r\n\r\n                    { Id: 55, Title: 'Administrative Rules List', url: '/Rules/Administrative', Route: '/Rules/Administrative' },\r\n                    { Id: 56, Title: 'Current Register', url: 'https://mylrc.sdlegislature.gov/api/Documents/210727.pdf', Route: '/Rules/Administrative' },\r\n                    { Id: 57, Title: 'Archived Registers', url: '/Rules/Registers/', Route: '/Rules/Administrative', includeSession: true },\r\n                    { Id: 58, Title: 'Administrative Rules Manual', url: '/Rules/RulesManual', Route: '/Rules/Administrative' },\r\n                    { Id: 59, Title: 'Rules Review Committee', url: '/Interim/Committee/461', Route: '/Rules/Administrative' },\r\n                    { Id: 60, Title: 'Rules.sd.gov', url: 'https://rules.sd.gov', Route: '/Rules/Administrative' },\r\n                    { Id: 61, Title: 'Administrative Rules Process', url: 'https://mylrc.sdlegislature.gov/api/Documents/IssueMemo/124666.pdf?Year=2017', Route: '/Rules/Administrative' },\r\n\r\n                    { Id: 62, Title: 'Administrative Rules List', url: '/Rules/Administrative', Route: '/Rules/Registers' },\r\n                    { Id: 63, Title: 'Current Register', url: 'https://mylrc.sdlegislature.gov/api/Documents/210727.pdf', Route: '/Rules/Registers' },\r\n                    { Id: 64, Title: 'Archived Registers', url: '/Rules/Registers/', Route: '/Rules/Registers', includeSession: true },\r\n                    { Id: 65, Title: 'Administrative Rules Manual', url: '/Rules/RulesManual', Route: '/Rules/Registers' },\r\n                    { Id: 66, Title: 'Rules Review Committee', url: '/Interim/Committee/461', Route: '/Rules/Registers' },\r\n                    { Id: 67, Title: 'Rules.sd.gov', url: 'https://rules.sd.gov', Route: '/Rules/Registers' },\r\n                    { Id: 68, Title: 'Administrative Rules Process', url: 'https://mylrc.sdlegislature.gov/api/Documents/IssueMemo/124666.pdf?Year=2017', Route: '/Rules/Registers' },\r\n\r\n                    { Id: 69, Title: 'Administrative Rules List', url: '/Rules/Administrative', Route: '/Rules/RulesManual' },\r\n                    { Id: 70, Title: 'Current Register', url: 'https://mylrc.sdlegislature.gov/api/Documents/210727.pdf', Route: '/Rules/RulesManual' },\r\n                    { Id: 71, Title: 'Archived Registers', url: '/Rules/Registers/', Route: '/Rules/RulesManual', includeSession: true },\r\n                    { Id: 72, Title: 'Administrative Rules Manual', url: '/Rules/RulesManual', Route: '/Rules/RulesManual' },\r\n                    { Id: 73, Title: 'Rules Review Committee', url: '/Interim/Committee/461', Route: '/Rules/RulesManual' },\r\n                    { Id: 74, Title: 'Rules.sd.gov', url: 'https://rules.sd.gov', Route: '/Rules/RulesManual' },\r\n                    { Id: 75, Title: 'Administrative Rules Process', url: 'https://mylrc.sdlegislature.gov/api/Documents/IssueMemo/124666.pdf?Year=2017', Route: '/Rules/RulesManual' },\r\n\r\n                    { Id: 76, Title: 'General Fund Receipts', url: '/Budget/GeneralFundReceipts', Route: '/Budget/MonthlyReport' },\r\n                    { Id: 77, Title: 'Expenditures & Encumbrances', url: '/Budget/Expenditures', Route: '/Budget/MonthlyReport' },\r\n                    { Id: 78, Title: 'Medical Services', url: '/Budget/MedicalServices', Route: '/Budget/MonthlyReport' },\r\n                    { Id: 79, Title: 'Trust Funds', url: '/Budget/TrustFunds', Route: '/Budget/MonthlyReport' },\r\n                    { Id: 80, Title: 'Prison Populations', url: '/Budget/PrisonPopulations', Route: '/Budget/MonthlyReport' },\r\n\r\n                    { Id: 81, Title: 'General Fund Receipts', url: '/Budget/GeneralFundReceipts', Route: '/Budget/GeneralFundReceipts' },\r\n                    { Id: 82, Title: 'Expenditures & Encumbrances', url: '/Budget/Expenditures', Route: '/Budget/GeneralFundReceipts' },\r\n                    { Id: 83, Title: 'Medical Services', url: '/Budget/MedicalServices', Route: '/Budget/GeneralFundReceipts' },\r\n                    { Id: 84, Title: 'Trust Funds', url: '/Budget/TrustFunds', Route: '/Budget/GeneralFundReceipts' },\r\n                    { Id: 85, Title: 'Prison Populations', url: '/Budget/PrisonPopulations', Route: '/Budget/GeneralFundReceipts' },\r\n\r\n                    { Id: 86, Title: 'General Fund Receipts', url: '/Budget/GeneralFundReceipts', Route: '/Budget/Expenditures' },\r\n                    { Id: 87, Title: 'Expenditures & Encumbrances', url: '/Budget/Expenditures', Route: '/Budget/Expenditures' },\r\n                    { Id: 88, Title: 'Medical Services', url: '/Budget/MedicalServices', Route: '/Budget/Expenditures' },\r\n                    { Id: 89, Title: 'Trust Funds', url: '/Budget/TrustFunds', Route: '/Budget/Expenditures' },\r\n                    { Id: 90, Title: 'Prison Populations', url: '/Budget/PrisonPopulations', Route: '/Budget/Expenditures' },\r\n\r\n                    { Id: 91, Title: 'General Fund Receipts', url: '/Budget/GeneralFundReceipts', Route: '/Budget/MedicalServices' },\r\n                    { Id: 92, Title: 'Expenditures & Encumbrances', url: '/Budget/Expenditures', Route: '/Budget/MedicalServices' },\r\n                    { Id: 93, Title: 'Medical Services', url: '/Budget/MedicalServices', Route: '/Budget/MedicalServices' },\r\n                    { Id: 94, Title: 'Trust Funds', url: '/Budget/TrustFunds', Route: '/Budget/MedicalServices' },\r\n                    { Id: 95, Title: 'Prison Populations', url: '/Budget/PrisonPopulations', Route: '/Budget/MedicalServices' },\r\n\r\n                    { Id: 96, Title: 'General Fund Receipts', url: '/Budget/GeneralFundReceipts', Route: '/Budget/TrustFunds' },\r\n                    { Id: 97, Title: 'Expenditures & Encumbrances', url: '/Budget/Expenditures', Route: '/Budget/TrustFunds' },\r\n                    { Id: 98, Title: 'Medical Services', url: '/Budget/MedicalServices', Route: '/Budget/TrustFunds' },\r\n                    { Id: 99, Title: 'Trust Funds', url: '/Budget/TrustFunds', Route: '/Budget/TrustFunds' },\r\n                    { Id: 100, Title: 'Prison Populations', url: '/Budget/PrisonPopulations', Route: '/Budget/TrustFunds' },\r\n\r\n                    { Id: 101, Title: 'General Fund Receipts', url: '/Budget/GeneralFundReceipts', Route: '/Budget/PrisonPopulations' },\r\n                    { Id: 102, Title: 'Expenditures & Encumbrances', url: '/Budget/Expenditures', Route: '/Budget/PrisonPopulations' },\r\n                    { Id: 103, Title: 'Medical Services', url: '/Budget/MedicalServices', Route: '/Budget/PrisonPopulations' },\r\n                    { Id: 104, Title: 'Trust Funds', url: '/Budget/TrustFunds', Route: '/Budget/PrisonPopulations' },\r\n                    { Id: 105, Title: 'Prison Populations', url: '/Budget/PrisonPopulations', Route: '/Budget/PrisonPopulations' },\r\n\r\n                    { Id: 106, Title: 'Government Operations and Audit Documents', url: '/Budget/GOACDocuments', Route: '/Budget/Resources' },\r\n                    { Id: 107, Title: 'General Fund Reversions', url: '/Budget/GeneralFundReversions', Route: '/Budget/Resources' },\r\n                    { Id: 107, Title: 'Personal Services Docs', url: '/Budget/PersonalServiceDocuments', Route: '/Budget/Resources' },\r\n                    { Id: 108, Title: 'Letters of Intent & Associated Documents', url: '/Budget/LettersOfIntent', Route: '/Budget/Resources' },\r\n                    { Id: 109, Title: 'BFM Reports', url: '/Budget/BFMReports', Route: '/Budget/Resources' },\r\n                    { Id: 110, Title: 'Staff By Budget Agency Assignment', url: '/Staff/BudgetAgency', Route: '/Budget/Resources' },\r\n                    { Id: 111, Title: 'Legislative Budget Handbook', url: 'https://mylrc.sdlegislature.gov/api/Documents/72020.pdf', Route: '/Budget/Resources' },\r\n\r\n                    { Id: 113, Title: 'Government Operations and Audit Documents', url: '/Budget/GOACDocuments', Route: '/Budget/GOACDocuments' },\r\n                    { Id: 114, Title: 'General Fund Reversions', url: '/Budget/GeneralFundReversions', Route: '/Budget/GOACDocuments' },\r\n                    { Id: 115, Title: 'Personal Services Docs', url: '/Budget/PersonalServiceDocuments', Route: '/Budget/GOACDocuments' },\r\n                    { Id: 116, Title: 'Letters of Intent & Associated Documents', url: '/Budget/LettersOfIntent', Route: '/Budget/GOACDocuments' },\r\n                    { Id: 117, Title: 'BFM Reports', url: '/Budget/BFMReports', Route: '/Budget/GOACDocuments' },\r\n                    { Id: 118, Title: 'Staff By Budget Agency Assignment', url: '/Staff/BudgetAgency', Route: '/Budget/GOACDocuments' },\r\n                    { Id: 112, Title: 'Legislative Budget Handbook', url: 'https://mylrc.sdlegislature.gov/api/Documents/72020.pdf', Route: '/Budget/GOACDocuments' },\r\n\r\n                    { Id: 119, Title: 'Government Operations and Audit Documents', url: '/Budget/GOACDocuments', Route: '/Budget/GeneralFundReversions' },\r\n                    { Id: 120, Title: 'General Fund Reversions', url: '/Budget/GeneralFundReversions', Route: '/Budget/GeneralFundReversions' },\r\n                    { Id: 121, Title: 'Personal Services Docs', url: '/Budget/PersonalServiceDocuments', Route: '/Budget/GeneralFundReversions' },\r\n                    { Id: 122, Title: 'Letters of Intent & Associated Documents', url: '/Budget/LettersOfIntent', Route: '/Budget/GeneralFundReversions' },\r\n                    { Id: 123, Title: 'BFM Reports', url: '/Budget/BFMReports', Route: '/Budget/GeneralFundReversions' },\r\n                    { Id: 124, Title: 'Staff By Budget Agency Assignment', url: '/Staff/BudgetAgency', Route: '/Budget/GeneralFundReversions' },\r\n                    { Id: 125, Title: 'Legislative Budget Handbook', url: 'https://mylrc.sdlegislature.gov/api/Documents/72020.pdf', Route: '/Budget/GeneralFundReversions' },\r\n\r\n                    { Id: 126, Title: 'Government Operations and Audit Documents', url: '/Budget/GOACDocuments', Route: '/Budget/PersonalServiceDocuments' },\r\n                    { Id: 127, Title: 'General Fund Reversions', url: '/Budget/GeneralFundReversions', Route: '/Budget/PersonalServiceDocuments' },\r\n                    { Id: 128, Title: 'Personal Services Docs', url: '/Budget/PersonalServiceDocuments', Route: '/Budget/PersonalServiceDocuments' },\r\n                    { Id: 129, Title: 'Letters of Intent & Associated Documents', url: '/Budget/LettersOfIntent', Route: '/Budget/PersonalServiceDocuments' },\r\n                    { Id: 130, Title: 'BFM Reports', url: '/Budget/BFMReports', Route: '/Budget/PersonalServiceDocuments' },\r\n                    { Id: 131, Title: 'Staff By Budget Agency Assignment', url: '/Staff/BudgetAgency', Route: '/Budget/PersonalServiceDocuments' },\r\n                    { Id: 132, Title: 'Legislative Budget Handbook', url: 'https://mylrc.sdlegislature.gov/api/Documents/72020.pdf', Route: '/Budget/PersonalServiceDocuments' },\r\n\r\n                    { Id: 133, Title: 'Government Operations and Audit Documents', url: '/Budget/GOACDocuments', Route: '/Budget/LettersOfIntent' },\r\n                    { Id: 134, Title: 'General Fund Reversions', url: '/Budget/GeneralFundReversions', Route: '/Budget/LettersOfIntent' },\r\n                    { Id: 135, Title: 'Personal Services Docs', url: '/Budget/PersonalServiceDocuments', Route: '/Budget/LettersOfIntent' },\r\n                    { Id: 136, Title: 'Letters of Intent & Associated Documents', url: '/Budget/LettersOfIntent', Route: '/Budget/LettersOfIntent' },\r\n                    { Id: 137, Title: 'BFM Reports', url: '/Budget/BFMReports', Route: '/Budget/LettersOfIntent' },\r\n                    { Id: 138, Title: 'Staff By Budget Agency Assignment', url: '/Staff/BudgetAgency', Route: '/Budget/LettersOfIntent' },\r\n                    { Id: 139, Title: 'Legislative Budget Handbook', url: 'https://mylrc.sdlegislature.gov/api/Documents/72020.pdf', Route: '/Budget/LettersOfIntent' },\r\n\r\n                    { Id: 140, Title: 'Government Operations and Audit Documents', url: '/Budget/GOACDocuments', Route: '/Budget/BFMReports' },\r\n                    { Id: 141, Title: 'General Fund Reversions', url: '/Budget/GeneralFundReversions', Route: '/Budget/BFMReports' },\r\n                    { Id: 142, Title: 'Personal Services Docs', url: '/Budget/PersonalServiceDocuments', Route: '/Budget/BFMReports' },\r\n                    { Id: 143, Title: 'Letters of Intent & Associated Documents', url: '/Budget/LettersOfIntent', Route: '/Budget/BFMReports' },\r\n                    { Id: 144, Title: 'BFM Reports', url: '/Budget/BFMReports', Route: '/Budget/BFMReports' },\r\n                    { Id: 145, Title: 'Staff By Budget Agency Assignment', url: '/Staff/BudgetAgency', Route: '/Budget/BFMReports' },\r\n                    { Id: 146, Title: 'Legislative Budget Handbook', url: 'https://mylrc.sdlegislature.gov/api/Documents/72020.pdf', Route: '/Budget/BFMReports' },\r\n\r\n                    { Id: 147, Title: 'Page Program', url: '/Students/Page', Route: '/Students/Page' },\r\n                    { Id: 148, Title: 'General Information', url: 'https://mylrc.sdlegislature.gov/api/Documents/126823.pdf', Route: '/Students/Page' },\r\n                    { Id: 149, Title: 'Frequently Asked Questions', url: 'https://mylrc.sdlegislature.gov/api/Documents/126821.pdf', Route: '/Students/Page' },\r\n                    { Id: 150, Title: 'Application', url: 'https://mylrc.sdlegislature.gov/api/Documents/220727.pdf', Route: '/Students/Page' },\r\n                    { Id: 151, Title: 'Page Term Calendar', url: 'https://mylrc.sdlegislature.gov/api/Documents/126825.pdf', Route: '/Students/Page', },\r\n\r\n                    { Id: 152, Title: 'Intern Program', url: '/Students/Intern', Route: '/Students/Intern' },\r\n                    { Id: 153, Title: 'General Information', url: 'https://mylrc.sdlegislature.gov/api/Documents/126820.pdf', Route: '/Students/Intern' },\r\n                    { Id: 154, Title: 'University Coordinators', url: 'https://mylrc.sdlegislature.gov/api/Documents/126819.pdf', Route: '/Students/Intern' },\r\n                    { Id: 155, Title: 'Application', url: 'https://mylrc.sdlegislature.gov/Main/Students/Intern/Application', Route: '/Students/Intern' },\r\n\r\n                    { Id: 156, Title: 'Staff Listing', url: '/Staff/Listing', Route: '/Staff' },\r\n                    { Id: 157, Title: 'Staff Listing By Division', url: '/Staff/Division', Route: '/Staff' },\r\n                    { Id: 158, Title: 'Staff By Subject Area', url: '/Staff/SubjectArea', Route: '/Staff' },\r\n                    { Id: 159, Title: 'Staff By Session Committee', url: '/Staff/Session/Committee', Route: '/Staff' },\r\n                    { Id: 160, Title: 'Staff By Interim Committee', url: '/Staff/Interim/Committee', Route: '/Staff' },\r\n                    { Id: 161, Title: 'Staff By Budget Agency Assignment', url: '/Staff/BudgetAgency', Route: '/Staff' },\r\n                    { Id: 162, Title: 'Staff By Rules Agency Assignment', url: '/Staff/RuleAgency', Route: '/Staff' },\r\n                    { Id: 163, Title: 'Org Chart', url: 'https://mylrc.sdlegislature.gov/api/Documents/72137.pdf', Route: '/Staff' },\r\n                    { Id: 165, Title: 'Internship Program', url: '/Students/Intern', Route: '/Staff' },\r\n                    { Id: 166, Title: 'Careers', url: '/Staff/Careers', Route: '/Staff' },\r\n\r\n                    { Id: 167, Title: 'Contact Information', url: '/ContactUs', Route: '/ContactUs' },\r\n                    { Id: 168, Title: 'Email the LRC Staff', url: '/Staff/Listing', Route: '/ContactUs' },\r\n                    { Id: 169, Title: 'Email a Legislator', url: '/Legislators/Contacts/', Route: '/ContactUs', includeSession: true },\r\n                    { Id: 170, Title: 'Contact the Governor', url: 'https://governor.sd.gov/office/contact.aspx', Route: '/ContactUs' },\r\n                    { Id: 171, Title: 'U.S. Congressional Delegation', url: '/ContactUs/Congress', Route: '/ContactUs' },\r\n                    { Id: 172, Title: 'ADA Request', url: '/ContactUs/ADARequest', Route: '/ContactUs' },\r\n                ],\r\n                drawer1: false,\r\n                Session: {},\r\n                loading: false,\r\n            }\r\n        },\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n            formatURL(item)\r\n            {\r\n                if (item.includeSession)\r\n                {\r\n                    if (this.Session)\r\n                    {\r\n                        if (this.SessionId)\r\n                        {\r\n                            if (item.includeFileType)\r\n                            {\r\n\r\n                                return item.url + this.SessionId + item.includeFileType;\r\n                            } else\r\n                            {\r\n                                return item.url + this.SessionId;\r\n\r\n                            }\r\n                        } else\r\n                        {\r\n                            if (item.includeFileType)\r\n                            {\r\n                                return item.url + this.Session.SessionId + item.includeFileType;\r\n                            } else\r\n                            {\r\n                                return item.url + this.Session.SessionId;\r\n                            }\r\n                        }\r\n                    } else\r\n                    {\r\n                        if (item.includeFileType)\r\n                        {\r\n                            return item.url + item.includeFileType;\r\n                        } else\r\n                        {\r\n                            return item.url;\r\n                        }\r\n                    }\r\n                } else\r\n                {\r\n                    if (this.menuDocuments && this.menuDocuments.TermLimits && item.Title == \"Legislator Term Limits\") { return this.$MyLRCUrl.value + 'api/Documents/' + this.menuDocuments.TermLimits.DocumentId + '.pdf' }\r\n                    if (this.sideMenuDocuments)\r\n                    {\r\n                        if (item.Title == \"Bill Status Report\") { return '/Session/BillStatus/' + this.SessionId }\r\n                        if (this.sideMenuDocuments.Register && item.Title == \"Current Register\") { return this.$MyLRCUrl.value + 'api/Documents/' + this.sideMenuDocuments.Register.DocumentId + '.pdf' }\r\n                        if (this.sideMenuDocuments.RulePromulgation && item.Title == \"Administrative Rules Process\") { return this.$MyLRCUrl.value + 'api/Documents/' + this.sideMenuDocuments.RulePromulgation.DocumentId + '.pdf' }\r\n                        if (this.sideMenuDocuments.PageGeneral && item.Title == \"General Information\" & item.Route.includes('Page')) { return this.$MyLRCUrl.value + 'api/Documents/' + this.sideMenuDocuments.PageGeneral.DocumentId + '.pdf' }\r\n                        if (this.sideMenuDocuments.PageFAQ && item.Title == \"Frequently Asked Questions\" & item.Route.includes('Page')) { return this.$MyLRCUrl.value + 'api/Documents/' + this.sideMenuDocuments.PageFAQ.DocumentId + '.pdf' }\r\n                        if (this.sideMenuDocuments.PageTermCalendar && item.Title == \"Page Term Calendar\" & item.Route.includes('Page')) { return this.$MyLRCUrl.value + 'api/Documents/' + this.sideMenuDocuments.PageTermCalendar.DocumentId + '.pdf' }\r\n                        if (this.sideMenuDocuments.InternGeneral && item.Title == \"General Information\" & item.Route.includes('Intern')) { return this.$MyLRCUrl.value + 'api/Documents/' + this.sideMenuDocuments.InternGeneral.DocumentId + '.pdf' }\r\n                        if (this.sideMenuDocuments.InternCoordinator && item.Title == \"University Coordinators\" & item.Route.includes('Intern')) { return this.$MyLRCUrl.value + 'api/Documents/' + this.sideMenuDocuments.InternCoordinator.DocumentId + '.pdf' }\r\n                        if (this.sideMenuDocuments.OrgChart && item.Title == \"Org Chart\") { return this.$MyLRCUrl.value + 'api/Documents/' + this.sideMenuDocuments.OrgChart.DocumentId + '.pdf' }\r\n                        if (this.sideMenuDocuments.BudgetHandbook && item.Title == \"Legislative Budget Handbook\") { return this.$MyLRCUrl.value + 'api/Documents/' + this.sideMenuDocuments.BudgetHandbook.DocumentId + '.pdf' }\r\n\r\n                    }\r\n                    return item.url;\r\n\r\n                }\r\n            },\r\n            LoadData: function ()\r\n            {\r\n                this.loading = true;\r\n\r\n                if (this.SessionId)\r\n                {\r\n                    fetch('/api/Sessions/' + this.SessionId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res =>\r\n                    {\r\n                        this.loading = false;\r\n                        if (res.ok)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response =>\r\n                    {\r\n                        this.Session = EncodeDatetimes(response);\r\n                    }).catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n                else\r\n                {\r\n                    fetch('/api/Sessions/Current', {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res =>\r\n                    {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else\r\n                        {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response =>\r\n                    {\r\n                        this.Session = EncodeDatetimes(response);\r\n                    }).catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n\r\n                this.allSubMenuItems.filter(x => x.LoadUrl).forEach(x =>\r\n                {\r\n                    fetch(x.LoadUrl + '/' + (this.SessionId || ''), { method: 'GET' })\r\n                        .then(r =>\r\n                        {\r\n                            if (r.ok)\r\n                                return r.json();\r\n                            else\r\n                                return r.text().then(r => Promise.reject(r));\r\n                        })\r\n                        .then(r =>\r\n                        {\r\n                            x.url = r.url;\r\n                            x.Hidden = !x.url;\r\n                        });\r\n                });\r\n\r\n            },\r\n        },\r\n        watch: {\r\n            SessionId: {\r\n                handler()\r\n                {\r\n                    this.LoadData();\r\n                },\r\n            },\r\n        },\r\n        computed: {\r\n            currentRoute: function ()\r\n            {\r\n                return this.$route.path;\r\n            },\r\n            SubMenuItems: function ()\r\n            {\r\n                var Route = this.currentRoute.replace('/' + this.$route.params.SessionId, '');\r\n                var res = this.allSubMenuItems.filter(x => Route.includes(x.Route) && !Route.includes(x.not) && !x.Hidden);\r\n                return res;\r\n            },\r\n            menuDocuments: function ()\r\n            {\r\n                return this.$menuDocuments;\r\n            },\r\n            sideMenuDocuments: function ()\r\n            {\r\n                return (this.$sideMenuDocuments || {}).value;\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=601c7860&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { 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 { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\ninstallComponents(component, {VBtn,VCard,VIcon,VList,VListItem,VListItemContent,VListItemTitle,VNavigationDrawer})\n","// Mixins\nimport Bootable from '../bootable'; // Utilities\n\nimport { getObjectValueByPath } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nimport { consoleWarn } from '../../util/console';\n\nfunction validateAttachTarget(val) {\n  const type = typeof val;\n  if (type === 'boolean' || type === 'string') return true;\n  return val.nodeType === Node.ELEMENT_NODE;\n}\n\nfunction removeActivator(activator) {\n  activator.forEach(node => {\n    node.elm && node.elm.parentNode && node.elm.parentNode.removeChild(node.elm);\n  });\n}\n/* @vue/component */\n\n\nexport default mixins(Bootable).extend({\n  name: 'detachable',\n  props: {\n    attach: {\n      default: false,\n      validator: validateAttachTarget\n    },\n    contentClass: {\n      type: String,\n      default: ''\n    }\n  },\n  data: () => ({\n    activatorNode: null,\n    hasDetached: false\n  }),\n  watch: {\n    attach() {\n      this.hasDetached = false;\n      this.initDetach();\n    },\n\n    hasContent() {\n      this.$nextTick(this.initDetach);\n    }\n\n  },\n\n  beforeMount() {\n    this.$nextTick(() => {\n      if (this.activatorNode) {\n        const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode];\n        activator.forEach(node => {\n          if (!node.elm) return;\n          if (!this.$el.parentNode) return;\n          const target = this.$el === this.$el.parentNode.firstChild ? this.$el : this.$el.nextSibling;\n          this.$el.parentNode.insertBefore(node.elm, target);\n        });\n      }\n    });\n  },\n\n  mounted() {\n    this.hasContent && this.initDetach();\n  },\n\n  deactivated() {\n    this.isActive = false;\n  },\n\n  beforeDestroy() {\n    if (this.$refs.content && this.$refs.content.parentNode) {\n      this.$refs.content.parentNode.removeChild(this.$refs.content);\n    }\n  },\n\n  destroyed() {\n    if (this.activatorNode) {\n      const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode];\n\n      if (this.$el.isConnected) {\n        // Component has been destroyed but the element still exists, we must be in a transition\n        // Wait for the transition to finish before cleaning up the detached activator\n        const observer = new MutationObserver(list => {\n          if (list.some(record => Array.from(record.removedNodes).includes(this.$el))) {\n            observer.disconnect();\n            removeActivator(activator);\n          }\n        });\n        observer.observe(this.$el.parentNode, {\n          subtree: false,\n          childList: true\n        });\n      } else {\n        removeActivator(activator);\n      }\n    }\n  },\n\n  methods: {\n    getScopeIdAttrs() {\n      const scopeId = getObjectValueByPath(this.$vnode, 'context.$options._scopeId');\n      return scopeId && {\n        [scopeId]: ''\n      };\n    },\n\n    initDetach() {\n      if (this._isDestroyed || !this.$refs.content || this.hasDetached || // Leave menu in place if attached\n      // and dev has not changed target\n      this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n      this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n      this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n      ) return;\n      let target;\n\n      if (this.attach === false) {\n        // Default, detach to app\n        target = document.querySelector('[data-app]');\n      } else if (typeof this.attach === 'string') {\n        // CSS selector\n        target = document.querySelector(this.attach);\n      } else {\n        // DOM Element\n        target = this.attach;\n      }\n\n      if (!target) {\n        consoleWarn(`Unable to locate target ${this.attach || '[data-app]'}`, this);\n        return;\n      }\n\n      target.appendChild(this.$refs.content);\n      this.hasDetached = true;\n    }\n\n  }\n});\n//# sourceMappingURL=index.js.map","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',{attrs:{\"cols\":\"12\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-spacer'),(!_vm.loading && _vm.ShowDownloadCSV && _vm.items && _vm.items.length > 0)?_c('v-btn',{attrs:{\"text\":\"\",\"x-small\":\"\",\"right\":\"\"},on:{\"click\":_vm.ExportCSV}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.download)+\" \")]),_vm._v(\" \"+_vm._s(_vm.DownloadText)+\" \")],1):_vm._e()],1)],1),_c('v-col',[_c('v-data-table',{attrs:{\"dense\":_vm.dense,\"headers\":_vm.visibleHeaders,\"items\":_vm.filteredItems,\"items-per-page\":_vm.iPP,\"loading\":_vm.loading,\"show-expand\":_vm.showExpand,\"item-key\":_vm.itemKey,\"multi-sort\":_vm.multiSort,\"group-by\":_vm.groupBy,\"hide-default-footer\":_vm.hideDefaultFooter,\"disable-pagination\":_vm.disablePagination,\"sort-by\":_vm.sortBy,\"disable-sort\":_vm.disableSort,\"sort-desc\":_vm.sortDesc},on:{\"click:row\":_vm.rowClick},scopedSlots:_vm._u([{key:\"body.prepend\",fn:function(prop){return [(!prop.isMobile && prop.headers.some(function (y){ return y.filterable !== false; }))?_c('tr',_vm._l((prop.headers),function(header,index){return _c('td',{key:header.value,staticStyle:{\"border\":\"none\"},attrs:{\"width\":header.width}},[(index == 0)?_c('v-row',{staticClass:\"flex-nowrap\",attrs:{\"align\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[(_vm.editHeaders !== false && index === 0)?_c('v-menu',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"icon\":\"\"}},on),[_c('v-icon',{staticStyle:{\"opacity\":\"1\"}},[_vm._v(_vm._s(_vm.more_vert))])],1)]}}],null,true)},[_c('v-list',{attrs:{\"dense\":\"\"},on:{\"click\":function($event){$event.stopPropagation();}}},_vm._l((_vm.headers),function(item,i){return _c('v-list-item',{key:i},[_c('v-list-item-action',{on:{\"click\":function($event){$event.stopPropagation();}}},[_c('v-checkbox',{on:{\"change\":_vm.UpdateHeaderVisibility},model:{value:(item.visible),callback:function ($$v) {_vm.$set(item, \"visible\", $$v)},expression:\"item.visible\"}})],1),_c('v-list-item-content',{on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(_vm._s(item.text))])],1)}),1)],1):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[(header.filterable !== false)?_c('v-text-field',{staticClass:\"caption\",attrs:{\"dense\":\"\",\"placeholder\":\"Filter\"},model:{value:(header.Filter),callback:function ($$v) {_vm.$set(header, \"Filter\", $$v)},expression:\"header.Filter\"}}):_vm._e()],1)],1):_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[(header.filterable !== false)?_c('v-text-field',{staticClass:\"caption\",attrs:{\"dense\":\"\",\"placeholder\":\"Filter\"},model:{value:(header.Filter),callback:function ($$v) {_vm.$set(header, \"Filter\", $$v)},expression:\"header.Filter\"}}):_vm._e()],1)],1)],1)}),0):(prop.headers.some(function (y){ return y.filterable !== false; }))?_c('v-row',{attrs:{\"no-gutters\":\"\"}},_vm._l((prop.headers),function(header,index){return (header.filterable !== false)?_c('v-col',{key:header.value,staticStyle:{\"border\":\"none\"},attrs:{\"cols\":\"12\",\"width\":header.width}},[_c('v-text-field',{staticClass:\"caption\",attrs:{\"label\":header.text,\"placeholder\":header.text + ' Filter'},model:{value:(header.Filter),callback:function ($$v) {_vm.$set(header, \"Filter\", $$v)},expression:\"header.Filter\"}})],1):_vm._e()}),1):_vm._e()]}},_vm._l((_vm.scopedSlots),function(_,name){return {key:name,fn:function(slotData){return [_vm._t(name,null,null,slotData)]}}}),{key:\"no-data\",fn:function(){return [_vm._t(\"no-data\",function(){return [_vm._v(\"No data available\")]})]},proxy:true},{key:\"no-results\",fn:function(){return [_vm._t(\"no-results\",function(){return [_vm._v(\"No records found\")]})]},proxy:true},{key:\"loading\",fn:function(){return [_vm._t(\"loading\",function(){return [_vm._v(\"Loading data...\")]})]},proxy:true}],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row no-gutters>\r\n        <v-col cols=\"12\">\r\n            <v-row no-gutters>\r\n                <v-spacer></v-spacer>\r\n                <v-btn v-if=\"!loading && ShowDownloadCSV && items && items.length > 0\" text x-small right @click=\"ExportCSV\">\r\n                    <v-icon left>\r\n                        {{download}}\r\n                    </v-icon>\r\n                    {{DownloadText}}\r\n                </v-btn>\r\n            </v-row>\r\n        </v-col>\r\n        <v-col>\r\n            <v-data-table :dense=\"dense\"\r\n                          :headers=\"visibleHeaders\"\r\n                          :items=\"filteredItems\"\r\n                          :items-per-page=\"iPP\"\r\n                          :loading=\"loading\"\r\n                          :show-expand=\"showExpand\"\r\n                          :item-key=\"itemKey\"\r\n                          :multi-sort=\"multiSort\"\r\n                          :group-by=\"groupBy\"\r\n                          @click:row=\"rowClick\"\r\n                          :hide-default-footer=\"hideDefaultFooter\"\r\n                          :disable-pagination=\"disablePagination\"\r\n                          :sort-by=\"sortBy\"\r\n                          :disable-sort=\"disableSort\"\r\n                          :sort-desc=\"sortDesc\">\r\n                <template v-slot:body.prepend=\"prop\">\r\n                    <tr v-if=\"!prop.isMobile && prop.headers.some(y=>y.filterable !== false)\">\r\n                        <td v-for=\"(header, index) in prop.headers\" :key=\"header.value\" :width=\"header.width\" style=\"border: none;\">\r\n                            <v-row v-if=\"index == 0\" align=\"center\" no-gutters class=\"flex-nowrap\">\r\n                                <v-col cols=\"auto\">\r\n                                    <v-menu v-if=\"editHeaders !== false && index === 0\" right>\r\n                                        <template v-slot:activator=\"{ on }\">\r\n                                            <v-btn icon v-on=\"on\">\r\n                                                <v-icon style=\"opacity:1\">{{more_vert}}</v-icon>\r\n                                            </v-btn>\r\n                                        </template>\r\n                                        <v-list dense @click.stop>\r\n                                            <v-list-item v-for=\"(item, i) in headers\" :key=\"i\">\r\n                                                <v-list-item-action @click.stop>\r\n                                                    <v-checkbox @change=\"UpdateHeaderVisibility\" v-model=\"item.visible\"></v-checkbox>\r\n                                                </v-list-item-action>\r\n                                                <v-list-item-content @click.stop>{{ item.text }}</v-list-item-content>\r\n                                            </v-list-item>\r\n                                        </v-list>\r\n                                    </v-menu>\r\n                                </v-col>\r\n                                <v-col cols=\"auto\">\r\n                                    <v-text-field dense v-model=\"header.Filter\" class=\"caption\" placeholder=\"Filter\" v-if=\"header.filterable !== false\"></v-text-field>\r\n                                </v-col>\r\n                            </v-row>\r\n                            <v-row v-else no-gutters>\r\n                                <v-col cols=\"12\">\r\n                                    <v-text-field dense v-model=\"header.Filter\" class=\"caption\" placeholder=\"Filter\" v-if=\"header.filterable !== false\"></v-text-field>\r\n                                </v-col>\r\n                            </v-row>\r\n                        </td>\r\n                    </tr>\r\n                    <v-row v-else-if=\"prop.headers.some(y=>y.filterable !== false)\" no-gutters>\r\n                        <v-col cols=\"12\" v-for=\"(header, index) in prop.headers\" v-if=\"header.filterable !== false\" :key=\"header.value\" :width=\"header.width\" style=\"border: none;\">\r\n                            <v-text-field :label=\"header.text\" v-model=\"header.Filter\" class=\"caption\" :placeholder=\"header.text + ' Filter'\"></v-text-field>\r\n                        </v-col>\r\n                    </v-row>\r\n                </template>\r\n\r\n                <!-- Pass down slots that have a scope -->\r\n                <template v-for=\"(_, name) in scopedSlots\" v-slot:[name]=\"slotData\">\r\n                    <slot :name=\"name\" v-bind=\"slotData\" />\r\n                </template>\r\n\r\n                <!-- Pass down slots that DONT have a scope -->\r\n                <template v-slot:no-data>\r\n                    <slot name=\"no-data\">No data available</slot>\r\n                </template>\r\n\r\n                <template v-slot:no-results>\r\n                    <slot name=\"no-results\">No records found</slot>\r\n                </template>\r\n\r\n                <template v-slot:loading>\r\n                    <slot name=\"loading\">Loading data...</slot>\r\n                </template>\r\n\r\n            </v-data-table>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    import { mdiDotsVertical } from '@mdi/js';\r\n    import { mdiDownload } from '@mdi/js';\r\n    export default {\r\n        name: 'FilterableDataTable',\r\n        props: {\r\n            headers: Array,\r\n            items: Array,\r\n            editHeaders: { type: Boolean, default: false },\r\n            loading: { type: Boolean, default: false },\r\n            itemKey: { type: String },\r\n            componentName: { type: String },\r\n            search: { type: String },\r\n            hideDefaultFooter: { type: Boolean, default: false },\r\n            disablePagination: { type: Boolean, default: false },\r\n            sortBy: { type: [String, Array], default: function () { return []; } },\r\n            sortDesc: { type: [Boolean, Array], default: function () { return []; } },\r\n            multiSort: { type: Boolean, default: false },\r\n            itemsPerPage: { type: Number, default: 25 },\r\n            groupBy: { type: String },\r\n            ShowDownloadCSV: { type: Boolean, default: false },\r\n            DownloadText: { type: String, default: \"Download (CSV)\" },\r\n            dense: { type: Boolean, default: true },\r\n            disableSort: { type: Boolean, default: false },\r\n            showExpand: { type: Boolean, default: false },\r\n        },\r\n        methods: {\r\n            SetHeaderVisibility()\r\n            {\r\n\r\n            },\r\n            UpdateHeaderVisibility()\r\n            {\r\n\r\n            },\r\n            rowClick(any, row)\r\n            {\r\n                this.$emit('click:row', any, row);\r\n            },\r\n            arrayToCSV(array)\r\n            {\r\n                if (array && array.length > 0)\r\n                {\r\n                    const header = Object.keys(array[0]).join(',');\r\n                    const rows = array.map(row =>\r\n                    {\r\n                        return Object.values(row)\r\n                            .map(value =>\r\n                            {\r\n                                if (typeof value === 'string')\r\n                                {\r\n                                    return `\"${value.replace(/\"/g, '\"\"')}\"`;\r\n                                }\r\n                                return value;\r\n                            })\r\n                            .join(',');\r\n                    });\r\n                    return [header, ...rows].join('\\n');\r\n                }\r\n                return '';\r\n            },\r\n            ExportCSV()\r\n            {\r\n                if (this.items && this.items.length > 0)\r\n                {\r\n                    let csv = this.arrayToCSV(this.items);\r\n                    let fileName = document.title.replace('|', '-') + '.csv';\r\n                    const blob = new Blob([csv], { type: 'text/csv' });\r\n                    const link = document.createElement('a');\r\n                    link.href = URL.createObjectURL(blob);\r\n                    link.download = fileName;\r\n                    link.click();\r\n                }\r\n            },\r\n            nestedValue(item, path)\r\n            {\r\n                if (!item)\r\n                    return null;\r\n\r\n                let current = item;\r\n                if (path)\r\n                {\r\n                    let paths = path.split('.');\r\n\r\n                    for (let i = 0; i < paths.length; i++)\r\n                    {\r\n                        if (current[paths[i]])\r\n                            current = current[paths[i]];\r\n                        else\r\n                            return null;\r\n                    }\r\n                }\r\n                return current;\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                more_vert: mdiDotsVertical,\r\n                download: mdiDownload,\r\n            }\r\n        },\r\n        watch: {\r\n        },\r\n        mounted()\r\n        {\r\n        },\r\n        computed: {\r\n            visibleHeaders: function ()\r\n            {\r\n                if (this.headers && this.headers.length > 0)\r\n                {\r\n                    return this.headers.filter(x => x.visible != false);\r\n                }\r\n                return [];\r\n            },\r\n            filteredItems: function ()\r\n            {\r\n                if (!this.items)\r\n                    return [];\r\n\r\n                let filters = this.headers.filter(x => x.Filter);\r\n                let resultRows = this.items.filter((x) =>\r\n                {\r\n                    for (let i in filters)\r\n                    {\r\n                        let val = this.nestedValue(x, filters[i].value);\r\n\r\n                        if (val !== null && val !== undefined && val.toString().toLowerCase().indexOf(filters[i].Filter.toLowerCase()) === -1)\r\n                        {\r\n                            if (isValidDate(val))\r\n                            {\r\n                                if (val.toLocaleString().toLowerCase().indexOf(filters[i].Filter.toLowerCase()) == -1)\r\n                                {\r\n                                    return false;\r\n                                }\r\n                            }\r\n                            else\r\n                                return false;\r\n                        }\r\n                        else if (val == null)\r\n                            return false;\r\n                    }\r\n                    return true;\r\n                });\r\n\r\n                if (this.search)\r\n                {\r\n                    let search = this.search.toLowerCase();\r\n\r\n                    resultRows = resultRows.filter((x) =>\r\n                    {\r\n                        for (let prop in x)\r\n                        {\r\n                            if (x[prop] && x[prop].toString().toLowerCase().indexOf(search) >= 0)\r\n                                return true;\r\n                        }\r\n\r\n                        return false;\r\n                    });\r\n                }\r\n\r\n                return resultRows;\r\n            },\r\n            iPP: function ()\r\n            {\r\n                return this.itemsPerPage;\r\n            },\r\n            scopedSlots: function ()\r\n            {\r\n                let scope = {};\r\n\r\n                for (var name in this.$scopedSlots)\r\n                {\r\n                    if (name !== 'no-data' && name != 'no-results' && name != 'loading')\r\n                        scope[name] = this.$scopedSlots[name];\r\n                }\r\n\r\n                return scope;\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterableDataTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterableDataTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FilterableDataTable.vue?vue&type=template&id=7e72d2b0&\"\nimport script from \"./FilterableDataTable.vue?vue&type=script&lang=js&\"\nexport * from \"./FilterableDataTable.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VDataTable } from 'vuetify/lib/components/VDataTable';\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 { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCheckbox,VCol,VDataTable,VIcon,VList,VListItem,VListItemAction,VListItemContent,VMenu,VRow,VSpacer,VTextField})\n","import VResponsive from './VResponsive';\nexport { VResponsive };\nexport default VResponsive;\n//# sourceMappingURL=index.js.map","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VNavigationDrawer.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"eb852858\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\"Office Reports\")]),_c('v-list',[_c('v-list-item',[_c('v-list-item-content',[_c('v-btn',{attrs:{\"to\":\"/Historical/Reports/Constitutional\"}},[_vm._v(\"Constitutional Officers\")])],1)],1),_c('v-list-item',[_c('v-list-item-content',[_c('v-btn',{attrs:{\"to\":\"/Historical/Reports/ExecutiveBoard\"}},[_vm._v(\"Executive Board\")])],1)],1),_c('v-list-item',[_c('v-list-item-content',[_c('v-btn',{attrs:{\"to\":\"/Historical/Reports/SupremeCourt\"}},[_vm._v(\"Supreme Court Justice\")])],1)],1),_c('v-list-item',[_c('v-list-item-content',[_c('v-btn',{attrs:{\"to\":\"/Historical/Reports/SpeakersPresidents\"}},[_vm._v(\"Speakers and Presidents\")])],1)],1),_c('v-list-item',[_c('v-list-item-content',[_c('v-btn',{attrs:{\"to\":\"/Historical/Reports/USCongress\"}},[_vm._v(\"United States Congress\")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">Office Reports</div>\r\n            <v-list>\r\n                <v-list-item>\r\n                    <v-list-item-content>\r\n                        <v-btn to=\"/Historical/Reports/Constitutional\">Constitutional Officers</v-btn>\r\n                    </v-list-item-content>\r\n                </v-list-item>\r\n                <v-list-item>\r\n                    <v-list-item-content>\r\n                        <v-btn to=\"/Historical/Reports/ExecutiveBoard\">Executive Board</v-btn>\r\n                    </v-list-item-content>\r\n                </v-list-item>\r\n                <v-list-item>\r\n                    <v-list-item-content>\r\n                        <v-btn to=\"/Historical/Reports/SupremeCourt\">Supreme Court Justice</v-btn>\r\n                    </v-list-item-content>\r\n                </v-list-item>\r\n                <v-list-item>\r\n                    <v-list-item-content>\r\n                        <v-btn to=\"/Historical/Reports/SpeakersPresidents\">Speakers and Presidents</v-btn>\r\n                    </v-list-item-content>\r\n                </v-list-item>\r\n                <v-list-item>\r\n                    <v-list-item-content>\r\n                        <v-btn to=\"/Historical/Reports/USCongress\">United States Congress</v-btn>\r\n                    </v-list-item-content>\r\n                </v-list-item>\r\n            </v-list>\r\n        </v-col>\r\n    </v-row>\r\n\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    export default {\r\n        name: 'OfficeReports',\r\n        components: {\r\n            Sidebar\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n                search: '',\r\n                loading: false,\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./OfficeReports.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./OfficeReports.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OfficeReports.vue?vue&type=template&id=25176826&\"\nimport script from \"./OfficeReports.vue?vue&type=script&lang=js&\"\nexport * from \"./OfficeReports.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VList,VListItem,VListItemContent,VRow})\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-input--checkbox.v-input--indeterminate.v-input--is-disabled{opacity:.6}.v-input--checkbox.v-input--dense{margin-top:4px}\", \"\"]);\n// Exports\nmodule.exports = exports;\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\",\"md\":\"2\"}},[_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.mheaders,\"hide-default-header\":\"\",\"hide-default-footer\":\"\",\"single-expand\":false,\"disable-pagination\":\"\",\"items\":_vm.Minutes,\"item-key\":\"eMinutes.Avid\"},scopedSlots:_vm._u([{key:\"item.DocumentDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',[(item.eMinutes != null)?_c('v-btn',{attrs:{\"text\":\"\",\"to\":'/Session/Committee/' + _vm.CommitteeId + '/eMinutes/' + item.eMinutes.Avid},on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\" \"+_vm._s(_vm.DatePretty(item.DocumentDate))+\" \")]):_vm._e()],1)]}}])})],1),_c('v-col',{attrs:{\"cols\":\"10\",\"md\":\"10\"}},[(_vm.items.url !=null)?_c('v-responsive',{attrs:{\"aspect-ratio\":16/9}},[(_vm.render)?_c('div',[(_vm.render)?_c('video',{attrs:{\"width\":'85%',\"height\":'85%',\"id\":\"myvideo\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.changeURL,\"type\":\"video/mp4\"}}),_vm._v(\" Your browser does not support the video tag. \")]):_vm._e()]):_vm._e()]):_vm._e(),_c('v-container',[_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"loading\":_vm.loading,\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"items\":_vm.items.avMinutes},scopedSlots:_vm._u([{key:\"item.x.Time\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',[_c('v-btn',{on:{\"click\":function($event){return _vm.jumpToTime(item.x.Time)}}},[_vm._v(_vm._s(item.x.Time))])],1)]}}])})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <div>\r\n        <v-row>\r\n            <v-col cols=\"12\" md=\"2\">\r\n                <FilterableDataTable :headers=\"mheaders\"\r\n                              hide-default-header\r\n                              hide-default-footer\r\n                              :single-expand=\"false\"\r\n                              disable-pagination\r\n                              :items=\"Minutes\"\r\n                              item-key=\"eMinutes.Avid\"\r\n                              class=\"elevation-1\">\r\n                    <template v-slot:item.DocumentDate=\"{ item }\">\r\n                        <div>\r\n                            <v-btn v-if=\"item.eMinutes != null\" @click.stop=\"\" text :to=\"'/Session/Committee/' + CommitteeId + '/eMinutes/' + item.eMinutes.Avid\">\r\n                                {{DatePretty(item.DocumentDate)}}\r\n                            </v-btn>\r\n                        </div>\r\n                    </template>\r\n                </FilterableDataTable>\r\n            </v-col>\r\n            <v-col cols=\"10\" md=\"10\">\r\n                <v-responsive :aspect-ratio=\"16/9\" v-if=\"items.url !=null\">\r\n                    <div v-if=\"render\">\r\n                        <video :width=\"'85%'\" :height=\"'85%'\" id=\"myvideo\" controls v-if=\"render\">\r\n                            <source :src=\"changeURL\" type=\"video/mp4\" />\r\n                            Your browser does not support the video tag.\r\n                        </video>\r\n                    </div>\r\n                </v-responsive>\r\n                <v-container>\r\n                    <FilterableDataTable :headers=\"headers\"\r\n                                  :loading=\"loading\"\r\n                                  hide-default-footer\r\n                                  disable-pagination\r\n                                  :items=\"items.avMinutes\"\r\n                                  class=\"elevation-1\">\r\n                        <template v-slot:item.x.Time=\"{ item }\">\r\n                            <div>\r\n                                <v-btn @click=\"jumpToTime(item.x.Time)\">{{item.x.Time}}</v-btn>\r\n                            </div>\r\n                        </template>\r\n                    </FilterableDataTable>\r\n                </v-container>\r\n            </v-col>\r\n        </v-row>\r\n    </div>\r\n</template>\r\n<script>\r\n    import moment from 'moment'\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n    export default {\r\n        name: 'eMinutes',\r\n        props: ['CommitteeId', 'Avid'],\r\n        components: {\r\n            FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                this.loading = true;\r\n\r\n                fetch('/api/SessionCommittees/Documents/' + this.CommitteeId + \"?Type=2&Type=4\", {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Minutes = EncodeDatetimes(response);\r\n                    this.Minutes = this.Minutes.filter(x => x.eMinutes != null);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n\r\n                if (this.Avid != null) {\r\n                    fetch('/api/SessionCommittees/Avid/' + this.Avid, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201) {\r\n                            return res.json();\r\n                        }\r\n                        else {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response => {\r\n                        this.items = EncodeDatetimes(response);\r\n                        this.render = true;\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n            },\r\n            DatePretty(Date) {\r\n                if (Date != undefined) {\r\n                    return moment(Date).format('M/DD h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            jumpToTime(time) {\r\n\r\n                var a = time.split(':'); // split it at the colons\r\n                var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]);\r\n\r\n                var myvideo = document.getElementById('myvideo');\r\n                myvideo.play();\r\n                myvideo.pause();\r\n                myvideo.currentTime = seconds;\r\n                myvideo.play();\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: true,\r\n                render: true,\r\n                items: {},\r\n                Minutes: [],\r\n                mheaders: [{ text: 'Date', value: 'DocumentDate' }],\r\n                headers: [\r\n                    {\r\n                        text: 'Time', value: 'x.Time', filterable: false\r\n                    },\r\n                    {\r\n                        text: 'Description', value: 'x.Description', filterable: false\r\n                    },\r\n                ],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            CommitteeId: function () {\r\n                this.LoadData();\r\n            },\r\n            Avid: function () {\r\n                this.render = false;\r\n                this.LoadData();\r\n                this.$forceUpdate();\r\n            }\r\n        },\r\n        computed: {\r\n            currentRoute: function () {\r\n                return this.$route.path;\r\n            },\r\n            changeURL: function () {\r\n                return this.items.url;\r\n            },\r\n        }\r\n    };\r\n    </script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./eMinutes.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./eMinutes.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./eMinutes.vue?vue&type=template&id=5e628a14&\"\nimport script from \"./eMinutes.vue?vue&type=script&lang=js&\"\nexport * from \"./eMinutes.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VResponsive } from 'vuetify/lib/components/VResponsive';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VResponsive,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.Session && _vm.Session.SessionId)?_c('Sidebar',{attrs:{\"SessionId\":_vm.Session.SessionId}}):_vm._e()],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\"Find My Legislators\")]),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('div',{staticStyle:{\"align-content\":\"center\",\"height\":\"75vh\"},attrs:{\"id\":\"viewDiv\",\"width\":'100%'}}),_c('div',{staticClass:\"esri-widget\",staticStyle:{\"width\":\"240px\"},attrs:{\"id\":\"optionsDiv\"}},[_c('v-container',{staticClass:\"py-0\"},[_c('v-layout',[(_vm.Districts && _vm.Districts.length > 0 && !_vm.loading && (_vm.defaultLayer.length == 1) )?_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.snap),expression:\"snap\"}]},[_c('v-select',{staticClass:\"esri-widget\",attrs:{\"dense\":\"\",\"label\":\"District\",\"items\":_vm.Districts,\"id\":\"valSelect\",\"clearable\":\"\"},on:{\"change\":_vm.doQuery},model:{value:(_vm.valSelect),callback:function ($$v) {_vm.valSelect=$$v},expression:\"valSelect\"}})],1):_vm._e()],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar v-if=\"Session && Session.SessionId\" :SessionId=\"Session.SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">Find My Legislators</div>\r\n            <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n            <div id=\"viewDiv\" :width=\"'100%'\" style=\"align-content:center;height:75vh;\"></div>\r\n            <div class=\"esri-widget\" id=\"optionsDiv\" style=\"width:240px\">\r\n                <v-container class=\"py-0\">\r\n                    <v-layout>\r\n                        <v-row v-if=\"Districts && Districts.length > 0 && !loading && (defaultLayer.length == 1) \" v-show=\"snap\">\r\n                            <v-select dense label=\"District\" :items=\"Districts\" class=\"esri-widget\" id=\"valSelect\" v-model=\"valSelect\" @change=\"doQuery\" clearable>\r\n                            </v-select>\r\n                        </v-row>\r\n                    </v-layout>\r\n                </v-container>\r\n            </div>\r\n        </v-col>\r\n    </v-row>\r\n\r\n</template>\r\n<script>\r\n    import Sidebar from \"@/Menus/Sidebar.vue\";\r\n    import { nextTick } from 'vue';\r\n\r\n    export default {\r\n        name: 'Find',\r\n        components: {\r\n            Sidebar\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                var component = this;\r\n\r\n                window.dojoConfig = {\r\n                    async: true,\r\n                    has: { \"csp-restrictions\": true }\r\n                };\r\n\r\n                fetch('/api/Sessions/Current',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    })\r\n                    .then(res => {\r\n                        this.loading = false;\r\n                        if (res.ok) {\r\n                            return res.json();\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    })\r\n                    .then(response => {\r\n                        if (response) {\r\n                            this.Session = EncodeDatetimes(response);\r\n\r\n                            return fetch('/api/SessionMembers/Session/' + this.Session.SessionId,\r\n                                {\r\n                                    method: \"GET\",\r\n                                    credentials: \"include\",\r\n                                    headers: { \"Content-Type\": \"application/json\" },\r\n                                })\r\n                                .then(res => {\r\n                                    if (res.ok) {\r\n                                        return res.json();\r\n                                    }\r\n                                    throw new Error(res.statusText);\r\n                                })\r\n                                .then(response => {\r\n                                    if (response) {\r\n                                        this.SessionMembers = EncodeDatetimes(response);\r\n                                        this.Districts = Array.from(new Set(this.SessionMembers.map(x => x.District))).sort((a, b) => (a > b) ? 1 : -1);\r\n                                    }\r\n                                })\r\n                                .catch(error => {\r\n                                    throw new Error(error);\r\n                                });\r\n                        }\r\n                    })\r\n                    .catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n\r\n                var years = ['2021', '2011'];\r\n                if (component.$route.query.activeLayer) {\r\n                    if (Array.isArray(component.$route.query.activeLayer)) {\r\n                        component.defaultLayer = component.$route.query.activeLayer;\r\n                    }\r\n                    else {\r\n                        if (years.includes(component.$route.query.activeLayer)) {\r\n                            component.defaultLayer = [component.$route.query.activeLayer];\r\n                        }\r\n                        else {\r\n                            component.defaultLayer = ['2021'];\r\n                        }\r\n                    }\r\n                }\r\n                else {\r\n                    component.defaultLayer = ['2021'];\r\n                }\r\n\r\n                nextTick(() => {\r\n                    component.LoadMap(component);\r\n                });\r\n\r\n            },\r\n            LoadMap(component) {\r\n                if (!window.require) {\r\n                    setTimeout(() => component.LoadMap(component), 500);\r\n                }\r\n                else {\r\n                    window.require([\"esri/config\", \"esri/Map\", \"esri/views/MapView\", 'esri/widgets/Search', 'esri/widgets/Locate'\r\n                        , 'esri/widgets/BasemapGallery', 'esri/widgets/Expand', 'esri/rest/support/Query', 'esri/geometry/Polygon', 'esri/widgets/Home'\r\n                        , 'esri/widgets/LayerList', 'esri/layers/GeoJSONLayer', 'esri/geometry/Extent', 'esri/geometry/SpatialReference'],\r\n                        function (esriConfig, Map, MapView, Search, Locate,\r\n                            BasemapGallery, Expand, Query, Polygon, Home,\r\n                            LayerList, GeoJSONLayer, Extent, SpatialReference) {\r\n\r\n                            var map = new Map({\r\n                                basemap: \"streets-navigation-vector\"\r\n                            });\r\n\r\n                            component.redistrictingFeatureLayer = new GeoJSONLayer({\r\n                                url: \"/redistrictingFeatureLayer.geojson\",\r\n                                title: \"Current Districts\",\r\n                                objectIdField: \"ID\",\r\n                                opacity: 0.5,\r\n                                labelingInfo: component.labelClass(\"DISTRICT\"),\r\n                                renderer: component.renderer(\"DISTRICT\"),\r\n                                visible: component.defaultLayer.includes('2021'),\r\n\r\n                            });\r\n                            map.add(component.redistrictingFeatureLayer);\r\n\r\n                            component.districtLayer = new GeoJSONLayer({\r\n                                url: \"/2010redistrictingFeatureLayer.geojson\",\r\n                                title: \"Prior effective Districts\",\r\n                                objectIdField: \"id\",\r\n                                opacity: 0.5,\r\n                                labelingInfo: component.labelClass(\"District_Name\"),\r\n                                renderer: component.renderer(\"District_Name\"),\r\n                                visible: component.defaultLayer.includes('2011'),\r\n                            });\r\n                            map.add(component.districtLayer);\r\n\r\n                            component.view = new MapView({\r\n                                container: \"viewDiv\",\r\n                                map: map,\r\n                                center: [-100.47, 44.12042],\r\n                                zoom: 7\r\n                            });\r\n\r\n                            component.view.whenLayerView(component.districtLayer).then(function (lyrView) {\r\n                                if (component.$route && component.$route.query && component.$route.query.District) {\r\n                                    let d = component.$route.query.District.replace(/^0+/, '');\r\n                                    component.queryDistrict(d);\r\n                                }\r\n                            });\r\n\r\n                            component.view.when(function () {\r\n                                component.view.ui.add(\"optionsDiv\", \"top-right\");\r\n                                var layers = document.getElementsByClassName(\"esri-layer-list__item-label\");\r\n                                for (var i = 0; i < layers.length; i++) {\r\n                                    layers[i].addEventListener(\"click\", component.LayerListClick);\r\n                                }\r\n                                component.snap = true;\r\n                            });\r\n\r\n                            component.districtLayer.popupTemplate = component.popupdistrictLayer;\r\n                            component.redistrictingFeatureLayer.popupTemplate = component.popupredistrictLayer;\r\n\r\n                            var locateBtn = new Locate({\r\n                                view: component.view\r\n                            });\r\n\r\n                            const southDakotaExtent = new Extent({\r\n                                xmin: -104.0574951171875,\r\n                                ymin: 42.47967529296875,\r\n                                xmax: -96.43670654296875,\r\n                                ymax: 45.9456787109375,\r\n                                spatialReference: SpatialReference.WGS84\r\n                            });\r\n\r\n                            //var searchWidget = new Search({\r\n                            //    view: component.view,\r\n                            //    popupOpenOnSelect: false\r\n                            //});\r\n                            const sources = [\n                                {\n                                    url: \"https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer\", // Free locator service\n                                    singleLineFieldName: \"SingleLine\",\n                                    name: \"ArcGIS Geocoding Service\",\n                                    placeholder: \"Search in South Dakota\",\n                                    maxResults: 3,\n                                    maxSuggestions: 6,\n                                    suggestionsEnabled: true,\n                                    minSuggestCharacters: 0,\n                                    searchExtent: southDakotaExtent // Restrict results to South Dakota\n                                }\n                            ];\n\n                            const searchWidget = new Search({\n                                view: component.view,\n                                popupOpenOnSelect: false,\n                                searchAllEnabled: false, // Disable searching all sources\n                                allPlaceholder: \"Search in South Dakota\", // Optional: Override placeholder for all\n                                includeDefaultSources: false, // Disable default sources\n                                sources: sources // Use only specified sources\n                            });\r\n\r\n                            searchWidget.on('select-result', function (evt) {\r\n                                console.info(evt);\r\n                                console.log(component.defaultLayer);\r\n                                if (component.defaultLayer.includes('2011') || component.defaultLayer.includes('Curr')) {\r\n                                    component.districtLayer.queryFeatures({\r\n                                        //query object\r\n                                        geometry: evt.result.feature.geometry,\r\n                                        spatialRelationship: \"intersects\",\r\n                                        returnGeometry: false,\r\n                                        outFields: [\"*\"],\r\n                                    }).then(function (featureSet) {\r\n                                        // open popup of query result\r\n                                        component.view.openPopup({\r\n                                            location: evt.result.feature.geometry,\r\n                                            features: featureSet.features\r\n                                        });\r\n                                    });\r\n                                }\r\n\r\n                                if (component.defaultLayer.includes('2021')) {\r\n                                    component.redistrictingFeatureLayer.queryFeatures({\r\n                                        //query object\r\n                                        geometry: evt.result.feature.geometry,\r\n                                        spatialRelationship: \"intersects\",\r\n                                        returnGeometry: false,\r\n                                        outFields: [\"*\"],\r\n                                    }).then(function (featureSet) {\r\n                                        // open popup of query result\r\n                                        component.view.openPopup({\r\n                                            location: evt.result.feature.geometry,\r\n                                            features: featureSet.features\r\n                                        });\r\n                                    });\r\n                                }\r\n\r\n                            });\r\n                            let homeWidget = new Home({\r\n                                view: component.view\r\n                            });\r\n                            let layerList = new LayerList({\r\n                                view: component.view\r\n                            });\r\n                            var basemapGallery = new BasemapGallery({\r\n                                view: component.view,\r\n                                container: document.createElement(\"div\")\r\n                            });\r\n                            var bgExpand = new Expand({\r\n                                view: component.view,\r\n                                content: basemapGallery\r\n                            });\r\n                            basemapGallery.watch(\"activeBasemap\", function () {\r\n                                var mobileSize =\r\n                                    component.view.heightBreakpoint === \"xsmall\" ||\r\n                                    component.view.widthBreakpoint === \"xsmall\";\r\n\r\n                                if (mobileSize) {\r\n                                    bgExpand.collapse();\r\n                                }\r\n                            });\r\n\r\n                            component.view.ui.add(layerList, {\r\n                                position: \"top-right\"\r\n                            });\r\n                            component.view.ui.add(homeWidget, \"top-left\");\r\n                            component.view.ui.add(locateBtn, {\r\n                                position: \"top-left\"\r\n                            });\r\n                            component.view.ui.add(searchWidget, {\r\n                                position: \"top-right\"\r\n                            });\r\n                            component.view.ui.add(bgExpand, \"top-left\");\r\n                            component.loading = false;\r\n                        });\r\n                }\r\n            },\r\n            renderer(name) {\r\n                return {\r\n                    type: \"unique-value\",\r\n                    field: name,\r\n                    defaultSymbol: { type: \"simple-fill\" },\r\n                    uniqueValueInfos: [{\r\n                        value: \"1\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#00CED1\"\r\n                        }\r\n                    }, {\r\n                        value: \"2\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#E0FFFF\"\r\n                        }\r\n                    }, {\r\n                        value: \"3\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#800000\"\r\n                        }\r\n                    }, {\r\n                        value: \"4\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#F0FFF0\"\r\n                        }\r\n                    }, {\r\n                        value: \"5\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#9966CC\"\r\n                        }\r\n                    }, {\r\n                        value: \"6\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#808080\"\r\n                        }\r\n                    }, {\r\n                        value: \"7\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#FFFFE0\"\r\n                        }\r\n                    }, {\r\n                        value: \"8\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#9932CC\"\r\n                        }\r\n                    }, {\r\n                        value: \"9\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#9ACD32\"\r\n                        }\r\n                    }, {\r\n                        value: \"10\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#B8860B\"\r\n                        }\r\n                    }, {\r\n                        value: \"11\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#DAA520\"\r\n                        }\r\n                    }, {\r\n                        value: \"12\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#FFFAF0\"\r\n                        }\r\n                    }, {\r\n                        value: \"13\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#20B2AA\"\r\n                        }\r\n                    }, {\r\n                        value: \"14\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#808000\"\r\n                        }\r\n                    }, {\r\n                        value: \"15\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#228B22\"\r\n                        }\r\n                    }, {\r\n                        value: \"16\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#191970\"\r\n                        }\r\n                    }, {\r\n                        value: \"17\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#ADFF2F\"\r\n                        }\r\n                    }, {\r\n                        value: \"18\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#CD853F\"\r\n                        }\r\n                    }, {\r\n                        value: \"19\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#008080\"\r\n                        }\r\n                    }, {\r\n                        value: \"20\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#8B0000\"\r\n                        }\r\n                    },\r\n                    {\r\n                        value: \"21\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#32CD32\"\r\n                        }\r\n                    }, {\r\n                        value: \"22\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#FFE4B5\"\r\n                        }\r\n                    }, {\r\n                        value: \"23\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#CD5C5C\"\r\n                        }\r\n                    }, {\r\n                        value: \"24\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#7B68EE\"\r\n                        }\r\n                    }, {\r\n                        value: \"25\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#EEE8AA\"\r\n                        }\r\n                    }, {\r\n                        value: \"26\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#4682B4\"\r\n                        }\r\n                    }, {\r\n                        value: \"27\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#00FA9A\"\r\n                        }\r\n                    }, {\r\n                        value: \"28\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#FFD700\"\r\n                        }\r\n                    }, {\r\n                        value: \"29\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#FFFAFA\"\r\n                        }\r\n                    }, {\r\n                        value: \"30\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#FFA500\"\r\n                        }\r\n                    }, {\r\n                        value: \"31\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#F08080\"\r\n                        }\r\n                    }, {\r\n                        value: \"32\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#0000FF\"\r\n                        }\r\n                    }, {\r\n                        value: \"33\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#00BFFF\"\r\n                        }\r\n                    }, {\r\n                        value: \"34\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#696969\"\r\n                        }\r\n                    }, {\r\n                        value: \"35\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#FAFAD2\"\r\n                        }\r\n                    }, {\r\n                        value: \"26A\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#3CB371\"\r\n                        }\r\n                    }, {\r\n                        value: \"26B\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#000000\"\r\n                        }\r\n                    }, {\r\n                        value: \"28A\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#AFEEEE\"\r\n                        }\r\n                    },\r\n                    {\r\n                        value: \"28B\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#6B8E23\"\r\n                        }\r\n                    },\r\n\r\n                    //\r\n                    {\r\n                        value: \"36\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#3CB371\"\r\n                        }\r\n                    }, {\r\n                        value: \"38\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#000000\"\r\n                        }\r\n                    }, {\r\n                        value: \"37\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#AFEEEE\"\r\n                        }\r\n                    },\r\n                    {\r\n                        value: \"39\",\r\n                        symbol: {\r\n                            type: \"simple-fill\",\r\n                            color: \"#6B8E23\"\r\n                        }\r\n                    }\r\n\r\n                    ],\r\n                };\r\n            },\r\n            labelClass(name) {\r\n                return [{\r\n                    symbol: {\r\n                        type: \"text\",\r\n                        color: \"black\",\r\n                    },\r\n                    labelPlacement: \"center-center\",\r\n                    labelExpressionInfo: {\r\n                        expression: \"$feature.\" + name\r\n                    }\r\n                }];\r\n            },\r\n            doQuery() {\r\n                let value = this.valSelect;\r\n                if (value) {\r\n                    this.queryDistrict(value.toString().replace(/^0+/, ''));\r\n                }\r\n            },\r\n            queryDistrict(district) {\r\n                var component = this;\r\n\r\n                if (district != undefined) {\r\n                    window.require(['esri/rest/support/Query', 'esri/geometry/Polygon'], function (Query, Polygon) {\r\n                        if (component.defaultLayer.includes('2011') || component.defaultLayer.includes('Curr')) {\r\n                            const query = new Query();\r\n\r\n                            query.where = \"District_Name = '\" + district + \"'\";\r\n                            query.returnGeometry = true;\r\n                            query.outFields = [\"*\"];\r\n\r\n                            component.districtLayer.queryFeatures(query).then(function (results) {\r\n\r\n                                var extent = results.features[0].geometry.extent;\r\n\r\n                                var rings = [\r\n                                    [  // first ring\r\n                                        [extent.xmin, extent.ymin],\r\n                                        [extent.xmax, extent.ymax],\r\n                                    ],\r\n                                ];\r\n\r\n                                var polygon = new Polygon({\r\n                                    hasZ: false,\r\n                                    hasM: false,\r\n                                    rings: rings,\r\n                                    spatialReference: { wkid: 4326 }\r\n                                });\r\n                                component.view.goTo(polygon);\r\n\r\n                                var point = {\r\n                                    type: \"point\",\r\n                                    x: extent.center.longitude,\r\n                                    y: extent.center.latitude\r\n                                };\r\n\r\n                                component.view.openPopup({\r\n                                    location: point,\r\n                                    features: results.features\r\n                                });\r\n\r\n                            });\r\n                        }\r\n\r\n                        if (component.defaultLayer.includes('2021')) {\r\n                            const query = new Query();\r\n\r\n                            query.where = \"District = '\" + district + \"'\";\r\n                            query.returnGeometry = true;\r\n                            query.outFields = [\"*\"];\r\n\r\n                            component.redistrictingFeatureLayer.queryFeatures(query).then(function (results) {\r\n\r\n                                var extent = results.features[0].geometry.extent;\r\n\r\n                                var rings = [\r\n                                    [  // first ring\r\n                                        [extent.xmin, extent.ymin],\r\n                                        [extent.xmax, extent.ymax],\r\n                                    ],\r\n                                ];\r\n\r\n                                var polygon = new Polygon({\r\n                                    hasZ: false,\r\n                                    hasM: false,\r\n                                    rings: rings,\r\n                                    spatialReference: { wkid: 4326 }\r\n                                });\r\n                                component.view.goTo(polygon);\r\n\r\n\r\n                                var point = {\r\n                                    type: \"point\",\r\n                                    x: extent.center.longitude,\r\n                                    y: extent.center.latitude\r\n                                };\r\n\r\n\r\n                                component.view.openPopup({\r\n                                    location: point,\r\n                                    features: results.features\r\n                                });\r\n\r\n                            });\r\n                        }\r\n                    });\r\n                }\r\n            },\r\n            LayerListClick() {\r\n                var newVisible = [];\r\n                var visibleItems = this.view.layerViews._items.filter(x => x.visible);\r\n\r\n                visibleItems.forEach(x => {\r\n                    newVisible.push(x.layer.title.substring(0, 4));\r\n                });\r\n\r\n                this.defaultLayer = newVisible;\r\n            },\r\n            contentChange(feature) {\r\n                return \"<b>Counties:</b> \" + this.createCounties(feature.graphic.attributes.District_Name || feature.graphic.attributes.DISTRICT) + \"<br><b>Legislators:</b><br> \" + this.createLegislators(feature.graphic.attributes.District_Name || feature.graphic.attributes.DISTRICT);\r\n            },\r\n            createLegislators(number) {\r\n                let res = `\r\n        <table style=\"border-collapse: collapse; width: 100%; border: 1px solid #ddd; font-family: Arial, sans-serif;\">\r\n            <thead>\r\n                <tr style=\"background-color: #f4f4f4; text-align: left;\">\r\n                    <th style=\"padding: 1px; border: 1px solid #ddd;\">Name</th>\r\n                    <th style=\"padding: 1px; border: 1px solid #ddd;\">Chamber</th>\r\n                    <th style=\"padding: 1px; border: 1px solid #ddd;\">Party</th>\r\n                    <th style=\"padding: 1px; border: 1px solid #ddd;\">Status</th>\r\n                    <th style=\"padding: 1px; border: 1px solid #ddd;\">Occupation</th>\r\n                </tr>\r\n            </thead>\r\n            <tbody>\r\n    `;\r\n\r\n                let anyIncomplete = false;\r\n                if (this.SessionMembers && this.SessionMembers.length > 0) {\r\n                    this.SessionMembers\r\n                        .filter(x => x.District.replace(/^0+/, '') == number)\r\n                        .forEach(x => {\r\n                            let incomplete = \"\";\r\n                            if (x.InactiveDate) {\r\n                                incomplete = `<span title=\"The Legislator did not fulfill their entire term.\" style=\"cursor: help; font-weight: bold;\">*</span>`;\r\n                                anyIncomplete = true;\r\n                            }\r\n\r\n                            res += `\r\n                    <tr style=\"border-bottom: 1px solid #ddd;\">\r\n                        <td style=\"padding: 1px; border: 1px solid #ddd;\">\r\n                            <a rel=\"noopener\" href=\"https://sdlegislature.gov/Legislators/Profile/${x.SessionMemberId}\" style=\"text-decoration: none;\">\r\n                                ${x.LastName}, ${x.FirstName}${incomplete}\r\n                            </a>\r\n                        </td>\r\n                        <td style=\"padding: 1px; border: 1px solid #ddd;\">${this.MemberTypes(x.MemberType)}</td>\r\n                        <td style=\"padding: 1px; border: 1px solid #ddd;\">${this.Politics(x.Politics)}</td>\r\n                        <td style=\"padding: 1px; border: 1px solid #ddd;\">${this.Terms(x.Term)}</td>\r\n                        <td style=\"padding: 1px; border: 1px solid #ddd;\">${x.Occupation ? x.Occupation : \"\"}</td>\r\n                    </tr>\r\n                `;\r\n                        });\r\n                }\r\n\r\n                if (anyIncomplete) {\r\n                    res += `\r\n            <tr>\r\n                <td colspan=\"5\" style=\"padding: 1px; border: 1px solid #ddd; background-color: #f8f9fa; text-align: left;\">\r\n                    *The Legislator did not fulfill their entire term.\r\n                </td>\r\n            </tr>\r\n        `;\r\n                }\r\n\r\n                res += `</tbody></table>`;\r\n\r\n                return res;\r\n            },\r\n            createCounties(number) {\r\n                var res = \"\";\r\n                this.DistrictCounties.filter(x => x.District.District.replace(/^0+/, '') == number && x.SessionId == (this.Session.SessionId)).forEach(x => {\r\n                    res = res + x.County.County + \", \";\r\n                });\r\n                res = res.substring(0, res.length - 2);\r\n\r\n                return res;\r\n            },\r\n            MemberTypes(type) {\r\n                switch (type) {\r\n                    case 'S':\r\n                        return 'Senate';\r\n                        break;\r\n                    case 'H':\r\n                        return 'House';\r\n                        break;\r\n                    default:\r\n                        return '';\r\n                        break;\r\n\r\n                }\r\n            },\r\n            Politics(p) {\r\n                switch (p) {\r\n                    case 'R':\r\n                        return 'Republican';\r\n                        break;\r\n                    case 'D':\r\n                        return 'Democrat';\r\n                        break;\r\n                    case 'I':\r\n                        return 'Independent';\r\n                        break;\r\n                    default:\r\n                        return '';\r\n                        break;\r\n                }\r\n            },\r\n            Terms(t) {\r\n                switch (t) {\r\n                    case 'I':\r\n                        return 'Incumbent';\r\n                        break;\r\n                    case 'G':\r\n                        return 'Govs. Appointment';\r\n                        break;\r\n                    case 'N':\r\n                        return 'New Member';\r\n                        break;\r\n                    case 'M':\r\n                        return 'Other House';\r\n                        break;\r\n                    default:\r\n                        return '';\r\n                        break;\r\n                }\r\n            }\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: true,\r\n                snap: false,\r\n                DistrictCounties: [],\r\n                Districts: [],\r\n                SessionMembers: [],\r\n                valSelect: {},\r\n                defaultLayer: ['2011'],\r\n                districtLayer: null,\r\n                redistrictingFeatureLayer: null,\r\n                popupdistrictLayer: {\r\n                    title: \"<b>District:</b> {District_Name}\",\r\n                    //content: this.contentChange\r\n                },\r\n                popupredistrictLayer: {\r\n                    title: \"<b>District:</b> {District}\",\r\n                    content: this.contentChange\r\n                },\r\n                view: null,\r\n                Session: {},\r\n            };\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n            var component = this;\r\n            //var cssId = 'myCss';  // you could encode the css path itself to generate id..\r\n            //if (!document.getElementById(cssId)) {\r\n            //    var head = document.getElementsByTagName('head')[0];\r\n            //    var link = document.createElement('link');\r\n            //    link.id = cssId;\r\n            //    link.rel = 'stylesheet';\r\n            //    link.type = 'text/css';\r\n            //    link.href = 'https://js.arcgis.com/4.23/esri/css/main.css';\r\n            //    link.media = 'all';\r\n            //    head.appendChild(link);\r\n            //}\r\n\r\n            fetch('/api/DistrictCounties', {\r\n                method: \"GET\",\r\n                credentials: \"include\",\r\n                headers: {\r\n                    \"Content-Type\": \"application/json\"\r\n                },\r\n            }).then(res => {\r\n                if (res.ok) {\r\n                    return res.json();\r\n                }\r\n                throw new Error(res.statusText);\r\n            }).then(response => {\r\n                if (response) {\r\n                    this.DistrictCounties = EncodeDatetimes(response);\r\n                    var temp = component.DistrictCounties.filter(x => x.SessionId == this.Session.SessionId);\r\n                    this.Districts = [...new Set(temp.map(item => item.District.District))].sort();\r\n                }\r\n            }).catch(error => {\r\n                throw new Error(error);\r\n            });\r\n        },\r\n        watch: {\r\n\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Find My Legislators';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] },\r\n                    { rel: 'stylesheet', href: \"https://js.arcgis.com/4.30/esri/themes/light/main.css\" },\r\n                ],\r\n                script: [\r\n                    { src: \"https://js.arcgis.com/4.30/\" },\r\n                    { src: \"https://js.arcgis.com/map-components/4.30/arcgis-map-components.esm.js\", type: 'module' },\r\n                ]\r\n            };\r\n        }\r\n    };\r\n</script>\r\n<style>\r\n</style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Find.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Find.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Find.vue?vue&type=template&id=49f81560&\"\nimport script from \"./Find.vue?vue&type=script&lang=js&\"\nexport * from \"./Find.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VLayout } 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,VLayout,VProgressLinear,VRow,VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-print-none\"},[_c('v-card',{staticClass:\"hidden-sm-and-down\"},[(_vm.loadingMenu)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),(_vm.currentRoute.includes('/Session'))?_c('v-tabs',{staticClass:\"hidden-sm-and-down\",attrs:{\"show-arrows\":\"\"}},_vm._l((_vm.tabs),function(i){return _c('v-tab',{key:i,on:{\"click\":function($event){return _vm.filterCommittee(i)}}},[_vm._v(\" \"+_vm._s(i)+\" \")])}),1):_vm._e(),(_vm.loadingMenu && _vm.SubMenuItems)?_c('v-skeleton-loader',{staticClass:\"mx-auto hidden-sm-and-down\",attrs:{\"max-width\":\"256\",\"type\":\"list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item\"}}):_vm._e(),_c('v-list',{staticClass:\"hidden-sm-and-down\",attrs:{\"dense\":\"\"}},_vm._l((_vm.SubMenuItems),function(item){return _c('v-list-item',{key:item.Name,attrs:{\"link\":\"\",\"to\":'/' + _vm.CommitteeType +'/Committee/' + (item.InterimYearCommitteeId || item.SessionCommitteeId || item.ConferenceCommitteeId)}},[_c('v-list-item-content',[(_vm.currentRoute.includes('/Session')  && item.Committee != null)?_c('v-list-item-title',{staticClass:\"text-wrap\"},[(!item.Committee.FullBody && item.Committee.Body != 'A')?_c('span',[_vm._v(_vm._s(item.Committee.BodyName))]):_vm._e(),_vm._v(\" \"+_vm._s(item.Committee.Name)+\" \")]):_c('v-list-item-title',{staticClass:\"text-wrap\"},[_vm._v(\" \"+_vm._s(item.Name)+\" \")])],1)],1)}),1)],1),_c('div',{staticClass:\"hidden-md-and-up\"},[_c('div',{staticClass:\"hidden-md-and-up justify-end\"},[_c('v-btn',{on:{\"click\":function($event){$event.stopPropagation();_vm.drawer1 = !_vm.drawer1}}},[_c('v-icon',[_vm._v(_vm._s(_vm.dotsvertical))])],1)],1)]),_c('v-navigation-drawer',{attrs:{\"right\":\"\",\"fixed\":\"\",\"temporary\":\"\"},model:{value:(_vm.drawer1),callback:function ($$v) {_vm.drawer1=$$v},expression:\"drawer1\"}},[_c('v-list',{attrs:{\"dense\":\"\"}},_vm._l((_vm.SubMenuItems),function(item){return _c('v-list-item',{key:item.Name,attrs:{\"link\":\"\",\"to\":'/' + _vm.CommitteeType +'/Committee/' + (item.InterimYearCommitteeId || item.SessionCommitteeId || item.ConferenceCommitteeId)}},[_c('v-list-item-content',[(_vm.currentRoute.includes('/Session') && item.Committee != null)?_c('v-list-item-title',{staticClass:\"text-wrap\"},[(!item.Committee.FullBody && item.Committee.Body != 'A')?_c('span',[_vm._v(_vm._s(item.Committee.BodyName))]):_vm._e(),_vm._v(\" \"+_vm._s(item.Committee.Name)+\" \")]):_c('v-list-item-title',{staticClass:\"text-wrap\"},[_vm._v(\" \"+_vm._s(item.Name)+\" \")])],1)],1)}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <div class=\"d-print-none\">\r\n        <v-card class=\"hidden-sm-and-down\">\r\n            <v-progress-linear indeterminate\r\n                               v-if=\"loadingMenu\"></v-progress-linear>\r\n            <v-tabs v-if=\"currentRoute.includes('/Session')\" show-arrows class=\"hidden-sm-and-down\">\r\n                <v-tab v-for=\"i in tabs\"\r\n                       :key=\"i\"\r\n                       @click=\"filterCommittee(i)\">\r\n                    {{ i }}\r\n                </v-tab>\r\n            </v-tabs>\r\n            <v-skeleton-loader class=\"mx-auto hidden-sm-and-down\" v-if=\"loadingMenu && SubMenuItems\"\r\n                               max-width=\"256\"\r\n                               type=\"list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item,list-item\"></v-skeleton-loader>\r\n\r\n\r\n            <v-list dense class=\"hidden-sm-and-down\">\r\n                <v-list-item v-for=\"item in SubMenuItems\"\r\n                             :key=\"item.Name\"\r\n                             link\r\n                             :to=\"'/' + CommitteeType +'/Committee/' + (item.InterimYearCommitteeId || item.SessionCommitteeId || item.ConferenceCommitteeId)\">\r\n                    <v-list-item-content>\r\n                        <v-list-item-title v-if=\"currentRoute.includes('/Session')  && item.Committee != null\" class=\"text-wrap\">\r\n                            <span v-if=\"!item.Committee.FullBody && item.Committee.Body != 'A'\">{{item.Committee.BodyName}}</span> {{item.Committee.Name }}\r\n                        </v-list-item-title>\r\n                        <v-list-item-title v-else class=\"text-wrap\">\r\n                            {{item.Name }}\r\n                        </v-list-item-title>\r\n                    </v-list-item-content>\r\n                </v-list-item>\r\n            </v-list>\r\n        </v-card>\r\n        <div class=\"hidden-md-and-up\">\r\n            <div class=\"hidden-md-and-up justify-end\">\r\n                <v-btn @click.stop=\"drawer1 = !drawer1\">\r\n                    <v-icon>{{dotsvertical}}</v-icon>\r\n                </v-btn>\r\n            </div>\r\n        </div>\r\n        <v-navigation-drawer v-model=\"drawer1\"\r\n                             right\r\n                             fixed\r\n                             temporary>\r\n            <v-list dense>\r\n                <v-list-item v-for=\"item in SubMenuItems\"\r\n                             :key=\"item.Name\"\r\n                             link\r\n                             :to=\"'/' + CommitteeType +'/Committee/' + (item.InterimYearCommitteeId || item.SessionCommitteeId || item.ConferenceCommitteeId)\">\r\n                    <v-list-item-content>\r\n                        <v-list-item-title v-if=\"currentRoute.includes('/Session') && item.Committee != null\" class=\"text-wrap\">\r\n                            <span v-if=\"!item.Committee.FullBody && item.Committee.Body != 'A'\">{{item.Committee.BodyName}}</span> {{item.Committee.Name }}\r\n                        </v-list-item-title>\r\n                        <v-list-item-title v-else class=\"text-wrap\">\r\n                            {{item.Name }}\r\n                        </v-list-item-title>\r\n                    </v-list-item-content>\r\n                </v-list-item>\r\n            </v-list>\r\n        </v-navigation-drawer>\r\n    </div>\r\n</template>\r\n<script>\r\n    import { mdiDotsVertical } from '@mdi/js';\r\n    export default {\r\n        name: 'CommitteeSidebar',\r\n        props: {\r\n            SessionId: Number | String,\r\n        },\r\n        components: {\r\n        },\r\n        methods: {\r\n            filterCommittee(item) {\r\n                this.filterValue = item;\r\n            },\r\n            LoadData() {\r\n                this.loadingMenu = true;\r\n                if (this.SessionId) {\r\n                    if (this.currentRoute.includes('/Interim')) {\r\n                        fetch('/api/InterimCommittees/Session/' + this.SessionId, {\r\n                            method: \"GET\",\r\n                            credentials: \"include\",\r\n                            headers: {\r\n                                \"Content-Type\": \"application/json\"\r\n                            },\r\n                        }).then(res => {\r\n                            this.loadingMenu = false;\r\n                            if (res.status === 200 || res.status === 201) {\r\n                                return res.json();\r\n                            }\r\n                            else {\r\n                                return null;\r\n                            }\r\n                            throw new Error(res.statusText);\r\n                        }).then(response => {\r\n                            this.blankSubMenuItems = EncodeDatetimes(response);\r\n                        }).catch(error => {\r\n                            throw new Error(error);\r\n                        });\r\n                    } else {\r\n                        fetch('/api/SessionCommittees/Session/' + this.SessionId, {\r\n                            method: \"GET\",\r\n                            credentials: \"include\",\r\n                            headers: {\r\n                                \"Content-Type\": \"application/json\"\r\n                            },\r\n                        }).then(res => {\r\n                            this.loadingMenu = false;\r\n                            if (res.status === 200 || res.status === 201) {\r\n                                return res.json();\r\n                            }\r\n                            else {\r\n                                return null;\r\n                            }\r\n                            throw new Error(res.statusText);\r\n                        }).then(response => {\r\n                            if (response) {\r\n                                this.blankSubMenuItems = EncodeDatetimes(response);\r\n                            }\r\n                        }).catch(error => {\r\n                            throw new Error(error);\r\n                        });\r\n                    }\r\n                }\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                dotsvertical: mdiDotsVertical,\r\n                filterValue: 'All',\r\n                tabs: ['All', 'House', 'Senate', 'Joint'],\r\n                loadingMenu: true,\r\n                drawer1: false,\r\n                blankSubMenuItems: [\r\n                ],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            currentRoute: function () {\r\n                this.LoadData();\r\n            },\r\n            SessionId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            SubMenuItems: function () {\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    return this.blankSubMenuItems;\r\n                }\r\n                else {\r\n                    if (this.filterValue == 'All') {\r\n                        return this.blankSubMenuItems;\r\n                    } else {\r\n                        return this.blankSubMenuItems.filter(x => x.Committee && x.Committee.Body == this.filterValue.substring(0, 1));\r\n                    }\r\n                }\r\n            },\r\n            currentRoute: function () {\r\n                return this.$route.path;\r\n            },\r\n            CommitteeType: function () {\r\n                //switching between session and interim\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    return \"Interim\";\r\n                }\r\n                else {\r\n                    return \"Session\";\r\n                }\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CommitteeSidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CommitteeSidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CommitteeSidebar.vue?vue&type=template&id=50075ec9&\"\nimport script from \"./CommitteeSidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./CommitteeSidebar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { 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 { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VBtn,VCard,VIcon,VList,VListItem,VListItemContent,VListItemTitle,VNavigationDrawer,VProgressLinear,VSkeletonLoader,VTab,VTabs})\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-label{color:rgba(0,0,0,.6)}.theme--light.v-label--is-disabled{color:rgba(0,0,0,.38)}.theme--dark.v-label{color:hsla(0,0%,100%,.7)}.theme--dark.v-label--is-disabled{color:hsla(0,0%,100%,.5)}.v-label{font-size:16px;line-height:1;min-height:8px;transition:.3s cubic-bezier(.25,.8,.5,1)}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_vm._v(_vm._s(_vm.getYear())+\" Intern Program\")]),_c('v-card-text',[_c('div',{staticClass:\"headline\",staticStyle:{\"text-align\":\"center\"}},[_vm._v(_vm._s(_vm.getYear())+\" Intern Information and Application are now available.\")]),_vm._v(\" Each session, the legislature employs 22 college students to serve as interns. Interns provide the legislators with the assistance they need to survive the rigors of a hectic legislative session. While in Pierre, interns can observe the lawmaking process in action, learn about the many issues confronting the state, and may earn college credit all at the same time. \"),_c('br'),_c('br'),_vm._v(\" Applications may be submitted from late August to early October. You may contact the Legislative Research Council or the University Legislative Intern Coordinator with your questions. The majority and minority leaders in the Senate and the House of Representative select the interns. In November, you will be notified of the disposition of your application. Please contact us at 605-773-3251 at any time we may be of assistance. \"),_c('br'),_c('br'),_c('br'),_c('br'),_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":\"mailto:InternProgram@sdlegislature.gov;?subject=Intern Program\"}},[_vm._v(\"Contact LRC Intern Coordinator\")])])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <v-card flat>\r\n                <v-card-title>{{getYear()}} Intern Program</v-card-title>\r\n                <v-card-text>\r\n                    <div class=\"headline\" style=\"text-align:center\">{{getYear()}} Intern Information and Application are now available.</div>\r\n                    Each session, the legislature employs 22 college students to serve as interns. Interns provide the legislators with the assistance they need to survive the rigors of a hectic legislative session. While in Pierre, interns can observe the lawmaking process in action, learn about the many issues confronting the state, and may earn college credit all at the same time.\r\n                    <br /><br />\r\n                    Applications may be submitted from late August to early October. You may contact the Legislative Research Council or the University Legislative Intern Coordinator with your questions. The majority and minority leaders in the Senate and the House of Representative select the interns. In November, you will be notified of the disposition of your application. Please contact us at 605-773-3251 at any time we may be of assistance.                    <br /><br />\r\n                    <br /><br />\r\n                    <div style=\"text-align:center\"><a rel=\"noopener\" href=\"mailto:InternProgram@sdlegislature.gov;?subject=Intern Program\">Contact LRC Intern Coordinator</a></div>\r\n                </v-card-text>\r\n            </v-card>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    export default {\r\n        name: 'Intern',\r\n        components: {\r\n            Sidebar\r\n        },\r\n        methods: {\r\n            getYear() {\r\n                const now = new Date();\r\n                //js getmonth zero based\r\n                if (now.getMonth() + 1 >= 7) {\r\n                    return now.getFullYear() + 1;\r\n                }\r\n                else {\r\n                    return now.getFullYear();\r\n                }\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Intern Program';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Intern.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Intern.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Intern.vue?vue&type=template&id=0f1c426d&\"\nimport script from \"./Intern.vue?vue&type=script&lang=js&\"\nexport * from \"./Intern.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.SessionId)?_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}}):_vm._e()],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.Session && _vm.Session.Year)?_c('div',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.Session.YearString)+\" Bills on The Governor's Desk\")]):_vm._e(),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"search\":_vm.search,\"item-key\":\"BillId\",\"multi-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.BillNumber\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType + ' ' + item.BillNumber))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar v-if=\"SessionId\" :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\" v-if=\"Session && Session.Year\">{{Session.YearString}} Bills on The Governor's Desk</div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                          :items=\"items\"\r\n                          :search=\"search\"\r\n                          item-key=\"BillId\"\r\n                          multi-sort\r\n                          disable-pagination\r\n                          hide-default-footer\r\n                          :loading=\"loading\"\r\n                          loading-text=\"Loading... Please wait\"\r\n                          class=\"elevation-1\">\r\n                <template v-slot:item.BillNumber=\"{ item }\">\r\n                    <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType + '&nbsp;' + item.BillNumber}}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'GovernorsDesk',\r\n        props: ['SessionId'],\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Sessions/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Session = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n                this.loading = true;\r\n                fetch('/api/BillLogs/BillsOnGovernorsDesk/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.loading = false;\r\n                    var temp = EncodeDatetimes(response);\r\n                    this.items = temp.sort(\r\n                        function (a, b) {\r\n                            if (a.BillType === b.BillType) {\r\n                                return a.BillNumber - b.BillNumber;\r\n                            }\r\n                            return a.BillType > b.BillType ? 1 : -1;\r\n                        });\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                search: '',\r\n                loading: false,\r\n                Session: {},\r\n                headers: [\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'start',\r\n                        value: 'BillNumber',\r\n                        width: '15ch'\r\n                    },\r\n\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'Title',\r\n                        width: '*'\r\n                    },\r\n                ],\r\n                items: [\r\n                ]\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Loading Bills on the Govenors Desk...';\r\n                if (this.Session && this.Session.Year) {\r\n                    title = this.Session.Year + \" Bills on the Govenors Desk\";\r\n                }\r\n                else {\r\n                    title = 'Bills on the Govenors Desk';\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./GovernorsDesk.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./GovernorsDesk.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GovernorsDesk.vue?vue&type=template&id=21cc0145&\"\nimport script from \"./GovernorsDesk.vue?vue&type=script&lang=js&\"\nexport * from \"./GovernorsDesk.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","import \"../../../src/components/VAvatar/VAvatar.sass\"; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Measurable from '../../mixins/measurable';\nimport Roundable from '../../mixins/roundable'; // Utilities\n\nimport { convertToUnit } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nexport default mixins(Colorable, Measurable, Roundable).extend({\n  name: 'v-avatar',\n  props: {\n    left: Boolean,\n    right: Boolean,\n    size: {\n      type: [Number, String],\n      default: 48\n    }\n  },\n  computed: {\n    classes() {\n      return {\n        'v-avatar--left': this.left,\n        'v-avatar--right': this.right,\n        ...this.roundedClasses\n      };\n    },\n\n    styles() {\n      return {\n        height: convertToUnit(this.size),\n        minWidth: convertToUnit(this.size),\n        width: convertToUnit(this.size),\n        ...this.measurableStyles\n      };\n    }\n\n  },\n\n  render(h) {\n    const data = {\n      staticClass: 'v-avatar',\n      class: this.classes,\n      style: this.styles,\n      on: this.$listeners\n    };\n    return h('div', this.setBackgroundColor(this.color, data), this.$slots.default);\n  }\n\n});\n//# sourceMappingURL=VAvatar.js.map","import VAvatar from './VAvatar';\nexport { VAvatar };\nexport default VAvatar;\n//# sourceMappingURL=index.js.map","// Components\nimport VAvatar from '../VAvatar';\n/* @vue/component */\n\nexport default VAvatar.extend({\n  name: 'v-list-item-avatar',\n  props: {\n    horizontal: Boolean,\n    size: {\n      type: [Number, String],\n      default: 40\n    }\n  },\n  computed: {\n    classes() {\n      return {\n        'v-list-item__avatar--horizontal': this.horizontal,\n        ...VAvatar.options.computed.classes.call(this),\n        'v-avatar--tile': this.tile || this.horizontal\n      };\n    }\n\n  },\n\n  render(h) {\n    const render = VAvatar.options.render.call(this, h);\n    render.data = render.data || {};\n    render.data.staticClass += ' v-list-item__avatar';\n    return render;\n  }\n\n});\n//# sourceMappingURL=VListItemAvatar.js.map","import Vue from 'vue';\nimport { deepEqual } from '../../util/helpers';\nexport default Vue.extend({\n  name: 'comparable',\n  props: {\n    valueComparator: {\n      type: Function,\n      default: deepEqual\n    }\n  }\n});\n//# sourceMappingURL=index.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\"Territorial Legislators \"),_c('v-chip',[_vm._v(_vm._s(_vm.items.length))])],1),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"MemberId + Year\",\"sort-by\":['Year'],\"sort-desc\":[true],\"loading\":_vm.loading,\"items-per-page\":999,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Historical/Legislator/Profile/' + item.MemberId}},[_vm._v(_vm._s(item.Name))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">Territorial Legislators <v-chip>{{items.length}}</v-chip></div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                          :items=\"items\"\r\n                          item-key=\"MemberId + Year\"\r\n                          :sort-by=\"['Year']\"\r\n                          :sort-desc=\"[true]\"\r\n                          :loading=\"loading\"\r\n                          :items-per-page=\"999\"\r\n                          disable-pagination\r\n                          hide-default-footer\r\n                          loading-text=\"Loading... Please wait\"\r\n                          class=\"elevation-1\">\r\n                <template v-slot:item.Name=\"{ item }\">\r\n                    <router-link :to=\"'/Historical/Legislator/Profile/' + item.MemberId\">{{item.Name}}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Territorial',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Historical/Territorial', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    if(response){\r\n                        this.items = EncodeDatetimes(response);\r\n                    }\r\n                    this.loading = false;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                search: '',\r\n                loading: true,\r\n                items: [],\r\n                headers: [\r\n                    { text: 'Name', value: 'Name' },\r\n                    { text: 'Birthdate', value: 'Birthdate' },\r\n                    { text: 'Deathdate', value: 'Deathdate' },\r\n                    { text: 'Years', value: 'Years' },\r\n                    { text: 'Remarks', value: 'Remarks' },\r\n                ],\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Territorial.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Territorial.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Territorial.vue?vue&type=template&id=b9bbeab2&\"\nimport script from \"./Territorial.vue?vue&type=script&lang=js&\"\nexport * from \"./Territorial.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// Styles\nimport \"../../../src/components/VCounter/VCounter.sass\"; // Mixins\n\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable';\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Themeable).extend({\n  name: 'v-counter',\n  functional: true,\n  props: {\n    value: {\n      type: [Number, String],\n      default: ''\n    },\n    max: [Number, String]\n  },\n\n  render(h, ctx) {\n    const {\n      props\n    } = ctx;\n    const max = parseInt(props.max, 10);\n    const value = parseInt(props.value, 10);\n    const content = max ? `${value} / ${max}` : String(props.value);\n    const isGreater = max && value > max;\n    return h('div', {\n      staticClass: 'v-counter',\n      class: {\n        'error--text': isGreater,\n        ...functionalThemeClasses(ctx)\n      }\n    }, content);\n  }\n\n});\n//# sourceMappingURL=VCounter.js.map","import VCounter from './VCounter';\nexport { VCounter };\nexport default VCounter;\n//# sourceMappingURL=index.js.map","// Directives\nimport Intersect from '../../directives/intersect'; // Utilities\n\nimport { consoleWarn } from '../../util/console'; // Types\n\nimport Vue from 'vue';\nexport default function intersectable(options) {\n  return Vue.extend({\n    name: 'intersectable',\n    data: () => ({\n      isIntersecting: false\n    }),\n\n    mounted() {\n      Intersect.inserted(this.$el, {\n        name: 'intersect',\n        value: this.onObserve\n      }, this.$vnode);\n    },\n\n    destroyed() {\n      Intersect.unbind(this.$el, {\n        name: 'intersect',\n        value: this.onObserve\n      }, this.$vnode);\n    },\n\n    methods: {\n      onObserve(entries, observer, isIntersecting) {\n        this.isIntersecting = isIntersecting;\n        if (!isIntersecting) return;\n\n        for (let i = 0, length = options.onVisible.length; i < length; i++) {\n          const callback = this[options.onVisible[i]];\n\n          if (typeof callback === 'function') {\n            callback();\n            continue;\n          }\n\n          consoleWarn(options.onVisible[i] + ' method is not available on the instance but referenced in intersectable mixin options');\n        }\n      }\n\n    }\n  });\n}\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VTextField/VTextField.sass\"; // Extensions\n\nimport VInput from '../VInput'; // Components\n\nimport VCounter from '../VCounter';\nimport VLabel from '../VLabel'; // Mixins\n\nimport Intersectable from '../../mixins/intersectable';\nimport Loadable from '../../mixins/loadable';\nimport Validatable from '../../mixins/validatable'; // Directives\n\nimport resize from '../../directives/resize';\nimport ripple from '../../directives/ripple'; // Utilities\n\nimport { attachedRoot } from '../../util/dom';\nimport { convertToUnit, keyCodes } from '../../util/helpers';\nimport { breaking, consoleWarn } from '../../util/console'; // Types\n\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(VInput, Intersectable({\n  onVisible: ['onResize', 'tryAutofocus']\n}), Loadable);\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month'];\n/* @vue/component */\n\nexport default baseMixins.extend().extend({\n  name: 'v-text-field',\n  directives: {\n    resize,\n    ripple\n  },\n  inheritAttrs: false,\n  props: {\n    appendOuterIcon: String,\n    autofocus: Boolean,\n    clearable: Boolean,\n    clearIcon: {\n      type: String,\n      default: '$clear'\n    },\n    counter: [Boolean, Number, String],\n    counterValue: Function,\n    filled: Boolean,\n    flat: Boolean,\n    fullWidth: Boolean,\n    label: String,\n    outlined: Boolean,\n    placeholder: String,\n    prefix: String,\n    prependInnerIcon: String,\n    persistentPlaceholder: Boolean,\n    reverse: Boolean,\n    rounded: Boolean,\n    shaped: Boolean,\n    singleLine: Boolean,\n    solo: Boolean,\n    soloInverted: Boolean,\n    suffix: String,\n    type: {\n      type: String,\n      default: 'text'\n    }\n  },\n  data: () => ({\n    badInput: false,\n    labelWidth: 0,\n    prefixWidth: 0,\n    prependWidth: 0,\n    initialValue: null,\n    isBooted: false,\n    isClearing: false\n  }),\n  computed: {\n    classes() {\n      return { ...VInput.options.computed.classes.call(this),\n        'v-text-field': true,\n        'v-text-field--full-width': this.fullWidth,\n        'v-text-field--prefix': this.prefix,\n        'v-text-field--single-line': this.isSingle,\n        'v-text-field--solo': this.isSolo,\n        'v-text-field--solo-inverted': this.soloInverted,\n        'v-text-field--solo-flat': this.flat,\n        'v-text-field--filled': this.filled,\n        'v-text-field--is-booted': this.isBooted,\n        'v-text-field--enclosed': this.isEnclosed,\n        'v-text-field--reverse': this.reverse,\n        'v-text-field--outlined': this.outlined,\n        'v-text-field--placeholder': this.placeholder,\n        'v-text-field--rounded': this.rounded,\n        'v-text-field--shaped': this.shaped\n      };\n    },\n\n    computedColor() {\n      const computedColor = Validatable.options.computed.computedColor.call(this);\n      if (!this.soloInverted || !this.isFocused) return computedColor;\n      return this.color || 'primary';\n    },\n\n    computedCounterValue() {\n      if (typeof this.counterValue === 'function') {\n        return this.counterValue(this.internalValue);\n      }\n\n      return [...(this.internalValue || '').toString()].length;\n    },\n\n    hasCounter() {\n      return this.counter !== false && this.counter != null;\n    },\n\n    hasDetails() {\n      return VInput.options.computed.hasDetails.call(this) || this.hasCounter;\n    },\n\n    internalValue: {\n      get() {\n        return this.lazyValue;\n      },\n\n      set(val) {\n        this.lazyValue = val;\n        this.$emit('input', this.lazyValue);\n      }\n\n    },\n\n    isDirty() {\n      var _a;\n\n      return ((_a = this.lazyValue) === null || _a === void 0 ? void 0 : _a.toString().length) > 0 || this.badInput;\n    },\n\n    isEnclosed() {\n      return this.filled || this.isSolo || this.outlined;\n    },\n\n    isLabelActive() {\n      return this.isDirty || dirtyTypes.includes(this.type);\n    },\n\n    isSingle() {\n      return this.isSolo || this.singleLine || this.fullWidth || // https://material.io/components/text-fields/#filled-text-field\n      this.filled && !this.hasLabel;\n    },\n\n    isSolo() {\n      return this.solo || this.soloInverted;\n    },\n\n    labelPosition() {\n      let offset = this.prefix && !this.labelValue ? this.prefixWidth : 0;\n      if (this.labelValue && this.prependWidth) offset -= this.prependWidth;\n      return this.$vuetify.rtl === this.reverse ? {\n        left: offset,\n        right: 'auto'\n      } : {\n        left: 'auto',\n        right: offset\n      };\n    },\n\n    showLabel() {\n      return this.hasLabel && !(this.isSingle && this.labelValue);\n    },\n\n    labelValue() {\n      return this.isFocused || this.isLabelActive || this.persistentPlaceholder;\n    }\n\n  },\n  watch: {\n    // labelValue: 'setLabelWidth', // moved to mounted, see #11533\n    outlined: 'setLabelWidth',\n\n    label() {\n      this.$nextTick(this.setLabelWidth);\n    },\n\n    prefix() {\n      this.$nextTick(this.setPrefixWidth);\n    },\n\n    isFocused: 'updateValue',\n\n    value(val) {\n      this.lazyValue = val;\n    }\n\n  },\n\n  created() {\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('box')) {\n      breaking('box', 'filled', this);\n    }\n    /* istanbul ignore next */\n\n\n    if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n      breaking('browser-autocomplete', 'autocomplete', this);\n    }\n    /* istanbul ignore if */\n\n\n    if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n      consoleWarn('shaped should be used with either filled or outlined', this);\n    }\n  },\n\n  mounted() {\n    // #11533\n    this.$watch(() => this.labelValue, this.setLabelWidth);\n    this.autofocus && this.tryAutofocus();\n    requestAnimationFrame(() => {\n      this.isBooted = true;\n      requestAnimationFrame(() => {\n        if (!this.isIntersecting) {\n          this.onResize();\n        }\n      });\n    });\n  },\n\n  methods: {\n    /** @public */\n    focus() {\n      this.onFocus();\n    },\n\n    /** @public */\n    blur(e) {\n      // https://github.com/vuetifyjs/vuetify/issues/5913\n      // Safari tab order gets broken if called synchronous\n      window.requestAnimationFrame(() => {\n        this.$refs.input && this.$refs.input.blur();\n      });\n    },\n\n    clearableCallback() {\n      this.$refs.input && this.$refs.input.focus();\n      this.$nextTick(() => this.internalValue = null);\n    },\n\n    genAppendSlot() {\n      const slot = [];\n\n      if (this.$slots['append-outer']) {\n        slot.push(this.$slots['append-outer']);\n      } else if (this.appendOuterIcon) {\n        slot.push(this.genIcon('appendOuter'));\n      }\n\n      return this.genSlot('append', 'outer', slot);\n    },\n\n    genPrependInnerSlot() {\n      const slot = [];\n\n      if (this.$slots['prepend-inner']) {\n        slot.push(this.$slots['prepend-inner']);\n      } else if (this.prependInnerIcon) {\n        slot.push(this.genIcon('prependInner'));\n      }\n\n      return this.genSlot('prepend', 'inner', slot);\n    },\n\n    genIconSlot() {\n      const slot = [];\n\n      if (this.$slots.append) {\n        slot.push(this.$slots.append);\n      } else if (this.appendIcon) {\n        slot.push(this.genIcon('append'));\n      }\n\n      return this.genSlot('append', 'inner', slot);\n    },\n\n    genInputSlot() {\n      const input = VInput.options.methods.genInputSlot.call(this);\n      const prepend = this.genPrependInnerSlot();\n\n      if (prepend) {\n        input.children = input.children || [];\n        input.children.unshift(prepend);\n      }\n\n      return input;\n    },\n\n    genClearIcon() {\n      if (!this.clearable) return null; // if the text field has no content then don't display the clear icon.\n      // We add an empty div because other controls depend on a ref to append inner\n\n      if (!this.isDirty) {\n        return this.genSlot('append', 'inner', [this.$createElement('div')]);\n      }\n\n      return this.genSlot('append', 'inner', [this.genIcon('clear', this.clearableCallback)]);\n    },\n\n    genCounter() {\n      var _a, _b, _c;\n\n      if (!this.hasCounter) return null;\n      const max = this.counter === true ? this.attrs$.maxlength : this.counter;\n      const props = {\n        dark: this.dark,\n        light: this.light,\n        max,\n        value: this.computedCounterValue\n      };\n      return (_c = (_b = (_a = this.$scopedSlots).counter) === null || _b === void 0 ? void 0 : _b.call(_a, {\n        props\n      })) !== null && _c !== void 0 ? _c : this.$createElement(VCounter, {\n        props\n      });\n    },\n\n    genControl() {\n      return VInput.options.methods.genControl.call(this);\n    },\n\n    genDefaultSlot() {\n      return [this.genFieldset(), this.genTextFieldSlot(), this.genClearIcon(), this.genIconSlot(), this.genProgress()];\n    },\n\n    genFieldset() {\n      if (!this.outlined) return null;\n      return this.$createElement('fieldset', {\n        attrs: {\n          'aria-hidden': true\n        }\n      }, [this.genLegend()]);\n    },\n\n    genLabel() {\n      if (!this.showLabel) return null;\n      const data = {\n        props: {\n          absolute: true,\n          color: this.validationState,\n          dark: this.dark,\n          disabled: this.isDisabled,\n          focused: !this.isSingle && (this.isFocused || !!this.validationState),\n          for: this.computedId,\n          left: this.labelPosition.left,\n          light: this.light,\n          right: this.labelPosition.right,\n          value: this.labelValue\n        }\n      };\n      return this.$createElement(VLabel, data, this.$slots.label || this.label);\n    },\n\n    genLegend() {\n      const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0;\n      const span = this.$createElement('span', {\n        domProps: {\n          innerHTML: '&#8203;'\n        },\n        staticClass: 'notranslate'\n      });\n      return this.$createElement('legend', {\n        style: {\n          width: !this.isSingle ? convertToUnit(width) : undefined\n        }\n      }, [span]);\n    },\n\n    genInput() {\n      const listeners = Object.assign({}, this.listeners$);\n      delete listeners.change; // Change should not be bound externally\n\n      const {\n        title,\n        ...inputAttrs\n      } = this.attrs$;\n      return this.$createElement('input', {\n        style: {},\n        domProps: {\n          value: this.type === 'number' && Object.is(this.lazyValue, -0) ? '-0' : this.lazyValue\n        },\n        attrs: { ...inputAttrs,\n          autofocus: this.autofocus,\n          disabled: this.isDisabled,\n          id: this.computedId,\n          placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\n          readonly: this.isReadonly,\n          type: this.type\n        },\n        on: Object.assign(listeners, {\n          blur: this.onBlur,\n          input: this.onInput,\n          focus: this.onFocus,\n          keydown: this.onKeyDown\n        }),\n        ref: 'input',\n        directives: [{\n          name: 'resize',\n          modifiers: {\n            quiet: true\n          },\n          value: this.onResize\n        }]\n      });\n    },\n\n    genMessages() {\n      if (!this.showDetails) return null;\n      const messagesNode = VInput.options.methods.genMessages.call(this);\n      const counterNode = this.genCounter();\n      return this.$createElement('div', {\n        staticClass: 'v-text-field__details'\n      }, [messagesNode, counterNode]);\n    },\n\n    genTextFieldSlot() {\n      return this.$createElement('div', {\n        staticClass: 'v-text-field__slot'\n      }, [this.genLabel(), this.prefix ? this.genAffix('prefix') : null, this.genInput(), this.suffix ? this.genAffix('suffix') : null]);\n    },\n\n    genAffix(type) {\n      return this.$createElement('div', {\n        class: `v-text-field__${type}`,\n        ref: type\n      }, this[type]);\n    },\n\n    onBlur(e) {\n      this.isFocused = false;\n      e && this.$nextTick(() => this.$emit('blur', e));\n    },\n\n    onClick() {\n      if (this.isFocused || this.isDisabled || !this.$refs.input) return;\n      this.$refs.input.focus();\n    },\n\n    onFocus(e) {\n      if (!this.$refs.input) return;\n      const root = attachedRoot(this.$el);\n      if (!root) return;\n\n      if (root.activeElement !== this.$refs.input) {\n        return this.$refs.input.focus();\n      }\n\n      if (!this.isFocused) {\n        this.isFocused = true;\n        e && this.$emit('focus', e);\n      }\n    },\n\n    onInput(e) {\n      const target = e.target;\n      this.internalValue = target.value;\n      this.badInput = target.validity && target.validity.badInput;\n    },\n\n    onKeyDown(e) {\n      if (e.keyCode === keyCodes.enter && this.lazyValue !== this.initialValue) {\n        this.initialValue = this.lazyValue;\n        this.$emit('change', this.initialValue);\n      }\n\n      this.$emit('keydown', e);\n    },\n\n    onMouseDown(e) {\n      // Prevent input from being blurred\n      if (e.target !== this.$refs.input) {\n        e.preventDefault();\n        e.stopPropagation();\n      }\n\n      VInput.options.methods.onMouseDown.call(this, e);\n    },\n\n    onMouseUp(e) {\n      if (this.hasMouseDown) this.focus();\n      VInput.options.methods.onMouseUp.call(this, e);\n    },\n\n    setLabelWidth() {\n      if (!this.outlined) return;\n      this.labelWidth = this.$refs.label ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, this.$el.offsetWidth - 24) : 0;\n    },\n\n    setPrefixWidth() {\n      if (!this.$refs.prefix) return;\n      this.prefixWidth = this.$refs.prefix.offsetWidth;\n    },\n\n    setPrependWidth() {\n      if (!this.outlined || !this.$refs['prepend-inner']) return;\n      this.prependWidth = this.$refs['prepend-inner'].offsetWidth;\n    },\n\n    tryAutofocus() {\n      if (!this.autofocus || typeof document === 'undefined' || !this.$refs.input) return false;\n      const root = attachedRoot(this.$el);\n      if (!root || root.activeElement === this.$refs.input) return false;\n      this.$refs.input.focus();\n      return true;\n    },\n\n    updateValue(val) {\n      // Sets validationState from validatable\n      this.hasColor = val;\n\n      if (val) {\n        this.initialValue = this.lazyValue;\n      } else if (this.initialValue !== this.lazyValue) {\n        this.$emit('change', this.lazyValue);\n      }\n    },\n\n    onResize() {\n      this.setLabelWidth();\n      this.setPrefixWidth();\n      this.setPrependWidth();\n    }\n\n  }\n});\n//# sourceMappingURL=VTextField.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Legislators Who Served as Speaker or President \")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"MemberId + Year\",\"sort-by\":['LastName', 'FirstName'],\"sort-desc\":[false, false],\"loading\":_vm.loading,\"items-per-page\":999,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Historical/Legislator/Profile/' + item.MemberId}},[_vm._v(_vm._s(item.LastName + \", \" + item.FirstName))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Legislators Who Served as Speaker or President\r\n            </div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"items\"\r\n                                 item-key=\"MemberId + Year\"\r\n                                 :sort-by=\"['LastName', 'FirstName']\"\r\n                                 :sort-desc=\"[false, false]\"\r\n                                 :loading=\"loading\"\r\n                                 :items-per-page=\"999\"\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.Name=\"{ item }\">\r\n                    <router-link :to=\"'/Historical/Legislator/Profile/' + item.MemberId\">{{item.LastName + \",&nbsp;\" + item.FirstName }}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'SpeakersPresidents',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                fetch('/api/Historical/Office/1', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    if (res.ok)\r\n                        return res.json();\r\n                    else\r\n                        throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    if (response)\r\n                    {\r\n                        if (response)\r\n                        {\r\n                            let r = EncodeDatetimes(response);\r\n\r\n                            r.forEach(x =>\r\n                            {\r\n                                x.Name = x.LastName + ', ' + x.FirstName;\r\n                            });\r\n\r\n                            this.items = r;\r\n                        }\r\n                    }\r\n\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                }).finally(_ =>\r\n                {\r\n                    this.loading = false;\r\n                });\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                search: '',\r\n                loading: true,\r\n                items: [],\r\n                headers: [\r\n                    { text: 'Name', value: 'Name' },\r\n                    { text: 'Address', value: 'Address' },\r\n                    { text: 'Years', value: 'Year' },\r\n                    { text: 'Party', value: 'Description' },\r\n                    { text: 'Remarks', value: 'Comment' },\r\n                ],\r\n\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SpeakersPresidents.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SpeakersPresidents.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SpeakersPresidents.vue?vue&type=template&id=560ab620&\"\nimport script from \"./SpeakersPresidents.vue?vue&type=script&lang=js&\"\nexport * from \"./SpeakersPresidents.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-text-field>.v-input__control>.v-input__slot:before{border-color:rgba(0,0,0,.42)}.theme--light.v-text-field:not(.v-input--has-state):hover>.v-input__control>.v-input__slot:before{border-color:rgba(0,0,0,.87)}.theme--light.v-text-field.v-input--is-disabled .v-input__slot:before{-o-border-image:repeating-linear-gradient(90deg,rgba(0,0,0,.38) 0,rgba(0,0,0,.38) 2px,transparent 0,transparent 4px) 1 repeat;border-image:repeating-linear-gradient(90deg,rgba(0,0,0,.38) 0,rgba(0,0,0,.38) 2px,transparent 0,transparent 4px) 1 repeat}.theme--light.v-text-field--filled>.v-input__control>.v-input__slot{background:rgba(0,0,0,.06)}.theme--light.v-text-field--filled:not(.v-input--is-focused):not(.v-input--has-state)>.v-input__control>.v-input__slot:hover{background:rgba(0,0,0,.12)}.theme--light.v-text-field--solo>.v-input__control>.v-input__slot{background:#fff}.theme--light.v-text-field--solo-inverted>.v-input__control>.v-input__slot{background:rgba(0,0,0,.06)}.theme--light.v-text-field--solo-inverted.v-input--is-focused>.v-input__control>.v-input__slot{background:#424242}.theme--light.v-text-field--solo-inverted.v-input--is-focused>.v-input__control>.v-input__slot input{color:#fff}.theme--light.v-text-field--solo-inverted.v-input--is-focused>.v-input__control>.v-input__slot input::-moz-placeholder{color:hsla(0,0%,100%,.5)}.theme--light.v-text-field--solo-inverted.v-input--is-focused>.v-input__control>.v-input__slot input:-ms-input-placeholder{color:hsla(0,0%,100%,.5)}.theme--light.v-text-field--solo-inverted.v-input--is-focused>.v-input__control>.v-input__slot input::placeholder{color:hsla(0,0%,100%,.5)}.theme--light.v-text-field--solo-inverted.v-input--is-focused>.v-input__control>.v-input__slot .v-label{color:hsla(0,0%,100%,.7)}.theme--light.v-text-field--outlined:not(.v-input--is-focused):not(.v-input--has-state)>.v-input__control>.v-input__slot fieldset{color:rgba(0,0,0,.38)}.theme--light.v-text-field--outlined:not(.v-input--is-focused):not(.v-input--has-state):not(.v-input--is-disabled)>.v-input__control>.v-input__slot:hover fieldset{color:rgba(0,0,0,.86)}.theme--light.v-text-field--outlined:not(.v-input--is-focused).v-input--is-disabled>.v-input__control>.v-input__slot fieldset{color:rgba(0,0,0,.26)}.theme--dark.v-text-field>.v-input__control>.v-input__slot:before{border-color:hsla(0,0%,100%,.7)}.theme--dark.v-text-field:not(.v-input--has-state):hover>.v-input__control>.v-input__slot:before{border-color:#fff}.theme--dark.v-text-field.v-input--is-disabled .v-input__slot:before{-o-border-image:repeating-linear-gradient(90deg,hsla(0,0%,100%,.5) 0,hsla(0,0%,100%,.5) 2px,transparent 0,transparent 4px) 1 repeat;border-image:repeating-linear-gradient(90deg,hsla(0,0%,100%,.5) 0,hsla(0,0%,100%,.5) 2px,transparent 0,transparent 4px) 1 repeat}.theme--dark.v-text-field--filled>.v-input__control>.v-input__slot{background:hsla(0,0%,100%,.08)}.theme--dark.v-text-field--filled:not(.v-input--is-focused):not(.v-input--has-state)>.v-input__control>.v-input__slot:hover{background:hsla(0,0%,100%,.16)}.theme--dark.v-text-field--solo>.v-input__control>.v-input__slot{background:#1e1e1e}.theme--dark.v-text-field--solo-inverted>.v-input__control>.v-input__slot{background:hsla(0,0%,100%,.16)}.theme--dark.v-text-field--solo-inverted.v-input--is-focused>.v-input__control>.v-input__slot{background:#fff}.theme--dark.v-text-field--solo-inverted.v-input--is-focused>.v-input__control>.v-input__slot input{color:rgba(0,0,0,.87)}.theme--dark.v-text-field--solo-inverted.v-input--is-focused>.v-input__control>.v-input__slot input::-moz-placeholder{color:rgba(0,0,0,.38)}.theme--dark.v-text-field--solo-inverted.v-input--is-focused>.v-input__control>.v-input__slot input:-ms-input-placeholder{color:rgba(0,0,0,.38)}.theme--dark.v-text-field--solo-inverted.v-input--is-focused>.v-input__control>.v-input__slot input::placeholder{color:rgba(0,0,0,.38)}.theme--dark.v-text-field--solo-inverted.v-input--is-focused>.v-input__control>.v-input__slot .v-label{color:rgba(0,0,0,.6)}.theme--dark.v-text-field--outlined:not(.v-input--is-focused):not(.v-input--has-state)>.v-input__control>.v-input__slot fieldset{color:hsla(0,0%,100%,.24)}.theme--dark.v-text-field--outlined:not(.v-input--is-focused):not(.v-input--has-state):not(.v-input--is-disabled)>.v-input__control>.v-input__slot:hover fieldset{color:#fff}.theme--dark.v-text-field--outlined:not(.v-input--is-focused).v-input--is-disabled>.v-input__control>.v-input__slot fieldset{color:hsla(0,0%,100%,.16)}.v-text-field{padding-top:12px;margin-top:4px}.v-text-field__prefix,.v-text-field__suffix{line-height:20px}.v-text-field input{flex:1 1 auto;line-height:20px;padding:8px 0 8px;max-width:100%;min-width:0;width:100%}.v-text-field .v-input__control,.v-text-field .v-input__slot,.v-text-field fieldset{border-radius:inherit}.v-text-field.v-input--has-state .v-input__control>.v-text-field__details>.v-counter,.v-text-field.v-input--is-disabled .v-input__control>.v-text-field__details>.v-counter,.v-text-field.v-input--is-disabled .v-input__control>.v-text-field__details>.v-messages,.v-text-field .v-input__control,.v-text-field fieldset{color:currentColor}.v-text-field.v-input--dense{padding-top:0}.v-text-field.v-input--dense .v-label{top:4px}.v-text-field.v-input--dense:not(.v-text-field--outlined) .v-text-field__prefix,.v-text-field.v-input--dense:not(.v-text-field--outlined) .v-text-field__suffix,.v-text-field.v-input--dense:not(.v-text-field--outlined) input{padding:4px 0 2px}.v-text-field.v-input--dense:not(.v-text-field--outlined) .v-text-field__prefix{padding-right:4px}.v-text-field.v-input--dense:not(.v-text-field--outlined) .v-text-field__suffix{padding-left:4px}.v-text-field.v-input--dense[type=text]::-ms-clear{display:none}.v-text-field.v-input--dense .v-input__append-inner,.v-text-field.v-input--dense .v-input__prepend-inner{margin-top:0}.v-text-field .v-input__append-inner,.v-text-field .v-input__prepend-inner{align-self:flex-start;display:inline-flex;margin-top:4px;line-height:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.v-application--is-ltr .v-text-field .v-input__prepend-inner{margin-right:auto;padding-right:4px}.v-application--is-ltr .v-text-field .v-input__append-inner,.v-application--is-rtl .v-text-field .v-input__prepend-inner{margin-left:auto;padding-left:4px}.v-application--is-rtl .v-text-field .v-input__append-inner{margin-right:auto;padding-right:4px}.v-text-field .v-counter{white-space:nowrap}.v-application--is-ltr .v-text-field .v-counter{margin-left:8px}.v-application--is-rtl .v-text-field .v-counter{margin-right:8px}.v-text-field .v-label{max-width:90%;overflow:hidden;text-overflow:ellipsis;top:6px;white-space:nowrap;pointer-events:none}.v-application--is-ltr .v-text-field .v-label{transform-origin:top left}.v-application--is-rtl .v-text-field .v-label{transform-origin:top right}.v-text-field .v-label--active{max-width:133%;transform:translateY(-18px) scale(.75);pointer-events:auto}.v-text-field>.v-input__control>.v-input__slot{cursor:text}.v-text-field>.v-input__control>.v-input__slot:after,.v-text-field>.v-input__control>.v-input__slot:before{bottom:-1px;content:\\\"\\\";left:0;position:absolute;transition:.3s cubic-bezier(.25,.8,.5,1);width:100%}.v-text-field>.v-input__control>.v-input__slot:before{border-color:inherit;border-style:solid;border-width:thin 0 0 0}.v-text-field>.v-input__control>.v-input__slot:after{background-color:currentColor;border-color:currentColor;border-style:solid;border-width:thin 0 thin 0;transform:scaleX(0)}.v-text-field__details{display:flex;flex:1 0 auto;max-width:100%;min-height:14px;overflow:hidden}.v-text-field__prefix,.v-text-field__suffix{align-self:center;cursor:default;transition:color .3s cubic-bezier(.25,.8,.5,1);white-space:nowrap}.v-application--is-ltr .v-text-field__prefix{text-align:right;padding-right:4px}.v-application--is-rtl .v-text-field__prefix{text-align:left;padding-left:4px}.v-text-field__suffix{white-space:nowrap}.v-application--is-ltr .v-text-field__suffix{padding-left:4px}.v-application--is-rtl .v-text-field__suffix{padding-right:4px}.v-application--is-ltr .v-text-field--reverse .v-text-field__prefix{text-align:left;padding-right:0;padding-left:4px}.v-application--is-rtl .v-text-field--reverse .v-text-field__prefix{text-align:right;padding-right:4px;padding-left:0}.v-application--is-ltr .v-text-field--reverse .v-text-field__suffix{padding-left:0;padding-right:4px}.v-application--is-rtl .v-text-field--reverse .v-text-field__suffix{padding-left:4px;padding-right:0}.v-text-field>.v-input__control>.v-input__slot>.v-text-field__slot{display:flex;flex:1 1 auto;position:relative}.v-text-field:not(.v-text-field--is-booted) .v-label,.v-text-field:not(.v-text-field--is-booted) legend{transition:none}.v-text-field--filled,.v-text-field--full-width,.v-text-field--outlined{position:relative}.v-text-field--filled>.v-input__control>.v-input__slot,.v-text-field--full-width>.v-input__control>.v-input__slot,.v-text-field--outlined>.v-input__control>.v-input__slot{align-items:stretch;min-height:56px}.v-text-field--filled.v-input--dense>.v-input__control>.v-input__slot,.v-text-field--full-width.v-input--dense>.v-input__control>.v-input__slot,.v-text-field--outlined.v-input--dense>.v-input__control>.v-input__slot{min-height:52px}.v-text-field--filled.v-input--dense.v-text-field--outlined.v-text-field--filled>.v-input__control>.v-input__slot,.v-text-field--filled.v-input--dense.v-text-field--outlined>.v-input__control>.v-input__slot,.v-text-field--filled.v-input--dense.v-text-field--single-line>.v-input__control>.v-input__slot,.v-text-field--full-width.v-input--dense.v-text-field--outlined.v-text-field--filled>.v-input__control>.v-input__slot,.v-text-field--full-width.v-input--dense.v-text-field--outlined>.v-input__control>.v-input__slot,.v-text-field--full-width.v-input--dense.v-text-field--single-line>.v-input__control>.v-input__slot,.v-text-field--outlined.v-input--dense.v-text-field--outlined.v-text-field--filled>.v-input__control>.v-input__slot,.v-text-field--outlined.v-input--dense.v-text-field--outlined>.v-input__control>.v-input__slot,.v-text-field--outlined.v-input--dense.v-text-field--single-line>.v-input__control>.v-input__slot{min-height:40px}.v-text-field--outlined{border-radius:4px}.v-text-field--enclosed .v-input__append-inner,.v-text-field--enclosed .v-input__append-outer,.v-text-field--enclosed .v-input__prepend-inner,.v-text-field--enclosed .v-input__prepend-outer,.v-text-field--full-width .v-input__append-inner,.v-text-field--full-width .v-input__append-outer,.v-text-field--full-width .v-input__prepend-inner,.v-text-field--full-width .v-input__prepend-outer{margin-top:17px}.v-text-field--enclosed.v-input--dense:not(.v-text-field--solo) .v-input__append-inner,.v-text-field--enclosed.v-input--dense:not(.v-text-field--solo) .v-input__append-outer,.v-text-field--enclosed.v-input--dense:not(.v-text-field--solo) .v-input__prepend-inner,.v-text-field--enclosed.v-input--dense:not(.v-text-field--solo) .v-input__prepend-outer,.v-text-field--full-width.v-input--dense:not(.v-text-field--solo) .v-input__append-inner,.v-text-field--full-width.v-input--dense:not(.v-text-field--solo) .v-input__append-outer,.v-text-field--full-width.v-input--dense:not(.v-text-field--solo) .v-input__prepend-inner,.v-text-field--full-width.v-input--dense:not(.v-text-field--solo) .v-input__prepend-outer{margin-top:14px}.v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__append-inner,.v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__append-outer,.v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__prepend-inner,.v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__prepend-outer,.v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__append-inner,.v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__append-outer,.v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__prepend-inner,.v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__prepend-outer{margin-top:9px}.v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__append-inner,.v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__append-outer,.v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__prepend-inner,.v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__prepend-outer,.v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__append-inner,.v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__append-outer,.v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__prepend-inner,.v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__prepend-outer{margin-top:8px}.v-text-field--filled .v-label,.v-text-field--full-width .v-label{top:18px}.v-text-field--filled .v-label--active,.v-text-field--full-width .v-label--active{transform:translateY(-6px) scale(.75)}.v-text-field--filled.v-input--dense .v-label,.v-text-field--full-width.v-input--dense .v-label{top:17px}.v-text-field--filled.v-input--dense .v-label--active,.v-text-field--full-width.v-input--dense .v-label--active{transform:translateY(-10px) scale(.75)}.v-text-field--filled.v-input--dense.v-text-field--single-line .v-label,.v-text-field--full-width.v-input--dense.v-text-field--single-line .v-label{top:11px}.v-text-field--filled{border-radius:4px 4px 0 0}.v-text-field--filled:not(.v-text-field--single-line) input{margin-top:22px}.v-text-field--filled.v-input--dense:not(.v-text-field--single-line).v-text-field--outlined input{margin-top:0}.v-text-field--filled .v-text-field__prefix,.v-text-field--filled .v-text-field__suffix{max-height:32px;margin-top:20px}.v-text-field--full-width{border-radius:0}.v-text-field--outlined .v-text-field__slot,.v-text-field--single-line .v-text-field__slot{align-items:center}.v-text-field.v-text-field--enclosed{margin:0;padding:0}.v-text-field.v-text-field--enclosed.v-text-field--single-line .v-text-field__prefix,.v-text-field.v-text-field--enclosed.v-text-field--single-line .v-text-field__suffix{margin-top:0}.v-text-field.v-text-field--enclosed:not(.v-text-field--filled) .v-progress-linear__background{display:none}.v-text-field.v-text-field--enclosed .v-text-field__details,.v-text-field.v-text-field--enclosed:not(.v-text-field--rounded)>.v-input__control>.v-input__slot{padding:0 12px}.v-text-field.v-text-field--enclosed .v-text-field__details{padding-top:0;margin-bottom:8px}.v-application--is-ltr .v-text-field--reverse input{text-align:right}.v-application--is-rtl .v-text-field--reverse input{text-align:left}.v-application--is-ltr .v-text-field--reverse .v-label{transform-origin:top right}.v-application--is-rtl .v-text-field--reverse .v-label{transform-origin:top left}.v-text-field--reverse .v-text-field__slot,.v-text-field--reverse>.v-input__control>.v-input__slot{flex-direction:row-reverse}.v-text-field--outlined>.v-input__control>.v-input__slot:after,.v-text-field--outlined>.v-input__control>.v-input__slot:before,.v-text-field--rounded>.v-input__control>.v-input__slot:after,.v-text-field--rounded>.v-input__control>.v-input__slot:before,.v-text-field--solo>.v-input__control>.v-input__slot:after,.v-text-field--solo>.v-input__control>.v-input__slot:before{display:none}.v-text-field--outlined,.v-text-field--solo{border-radius:4px}.v-text-field--outlined{margin-bottom:16px;transition:border .3s cubic-bezier(.25,.8,.5,1)}.v-text-field--outlined .v-label{top:18px}.v-text-field--outlined .v-label--active{transform:translateY(-24px) scale(.75)}.v-text-field--outlined.v-input--dense .v-label{top:10px}.v-text-field--outlined.v-input--dense .v-label--active{transform:translateY(-16px) scale(.75)}.v-text-field--outlined fieldset{border-collapse:collapse;border-color:currentColor;border-style:solid;border-width:1px;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:-5px;transition-duration:.15s;transition-property:color;transition-timing-function:cubic-bezier(.25,.8,.25,1)}.v-application--is-ltr .v-text-field--outlined fieldset{padding-left:8px}.v-application--is-ltr .v-text-field--outlined.v-text-field--reverse fieldset,.v-application--is-rtl .v-text-field--outlined fieldset{padding-right:8px}.v-application--is-rtl .v-text-field--outlined.v-text-field--reverse fieldset{padding-left:8px}.v-text-field--outlined legend{line-height:11px;padding:0;transition:width .3s cubic-bezier(.25,.8,.5,1)}.v-application--is-ltr .v-text-field--outlined legend{text-align:left}.v-application--is-rtl .v-text-field--outlined legend{text-align:right}.v-application--is-ltr .v-text-field--outlined.v-text-field--reverse legend{margin-left:auto}.v-application--is-rtl .v-text-field--outlined.v-text-field--reverse legend{margin-right:auto}.v-application--is-ltr .v-text-field--outlined.v-text-field--rounded legend{margin-left:12px}.v-application--is-rtl .v-text-field--outlined.v-text-field--rounded legend{margin-right:12px}.v-text-field--outlined>.v-input__control>.v-input__slot{background:transparent}.v-text-field--outlined .v-text-field__prefix{max-height:32px}.v-text-field--outlined .v-input__append-outer,.v-text-field--outlined .v-input__prepend-outer{margin-top:18px}.v-text-field--outlined.v-input--has-state fieldset,.v-text-field--outlined.v-input--is-focused fieldset{border:2px solid currentColor}.v-text-field--rounded{border-radius:28px}.v-text-field--rounded>.v-input__control>.v-input__slot{padding:0 24px}.v-text-field--shaped{border-radius:16px 16px 0 0}.v-text-field.v-text-field--solo .v-label{top:calc(50% - 9px)}.v-text-field.v-text-field--solo .v-input__control{min-height:48px;padding:0}.v-text-field.v-text-field--solo .v-input__control input{caret-color:auto}.v-text-field.v-text-field--solo.v-input--dense>.v-input__control{min-height:38px}.v-text-field.v-text-field--solo:not(.v-text-field--solo-flat)>.v-input__control>.v-input__slot{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.v-text-field.v-text-field--solo .v-input__append-inner,.v-text-field.v-text-field--solo .v-input__prepend-inner{align-self:center;margin-top:0}.v-text-field.v-text-field--solo .v-input__append-outer,.v-text-field.v-text-field--solo .v-input__prepend-outer{margin-top:12px}.v-text-field.v-text-field--solo.v-input--dense .v-input__append-outer,.v-text-field.v-text-field--solo.v-input--dense .v-input__prepend-outer{margin-top:7px}.v-text-field.v-input--is-focused>.v-input__control>.v-input__slot:after{transform:scaleX(1)}.v-text-field.v-input--has-state>.v-input__control>.v-input__slot:before{border-color:currentColor}.v-text-field .v-input__icon--clear{opacity:0;transition:opacity .3s cubic-bezier(.25,.8,.5,1)}.v-text-field.v-input--is-dirty:hover .v-input__icon--clear,.v-text-field.v-input--is-focused .v-input__icon--clear{opacity:1}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Styles\nimport \"../../../src/components/VList/VList.sass\"; // Components\n\nimport VSheet from '../VSheet/VSheet';\n/* @vue/component */\n\nexport default VSheet.extend().extend({\n  name: 'v-list',\n\n  provide() {\n    return {\n      isInList: true,\n      list: this\n    };\n  },\n\n  inject: {\n    isInMenu: {\n      default: false\n    },\n    isInNav: {\n      default: false\n    }\n  },\n  props: {\n    dense: Boolean,\n    disabled: Boolean,\n    expand: Boolean,\n    flat: Boolean,\n    nav: Boolean,\n    rounded: Boolean,\n    subheader: Boolean,\n    threeLine: Boolean,\n    twoLine: Boolean\n  },\n  data: () => ({\n    groups: []\n  }),\n  computed: {\n    classes() {\n      return { ...VSheet.options.computed.classes.call(this),\n        'v-list--dense': this.dense,\n        'v-list--disabled': this.disabled,\n        'v-list--flat': this.flat,\n        'v-list--nav': this.nav,\n        'v-list--rounded': this.rounded,\n        'v-list--subheader': this.subheader,\n        'v-list--two-line': this.twoLine,\n        'v-list--three-line': this.threeLine\n      };\n    }\n\n  },\n  methods: {\n    register(content) {\n      this.groups.push(content);\n    },\n\n    unregister(content) {\n      const index = this.groups.findIndex(g => g._uid === content._uid);\n      if (index > -1) this.groups.splice(index, 1);\n    },\n\n    listClick(uid) {\n      if (this.expand) return;\n\n      for (const group of this.groups) {\n        group.toggle(uid);\n      }\n    }\n\n  },\n\n  render(h) {\n    const data = {\n      staticClass: 'v-list',\n      class: this.classes,\n      style: this.styles,\n      attrs: {\n        role: this.isInNav || this.isInMenu ? undefined : 'list',\n        ...this.attrs$\n      }\n    };\n    return h(this.tag, this.setBackgroundColor(this.color, data), [this.$slots.default]);\n  }\n\n});\n//# sourceMappingURL=VList.js.map","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VListItemGroup.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"421cd3a6\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VChip.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"48e553bf\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VAppBar.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"13cef466\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.selectedSessionId)?_c('BudgetAgencyList',{attrs:{\"SessionId\":_vm.selectedSessionId}}):_vm._e()],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('v-card',[_c('v-card-title',[_c('v-autocomplete',{staticStyle:{\"max-width\":\"100px\"},attrs:{\"items\":_vm.Sessions,\"item-value\":\"Session.SessionId\",\"item-text\":\"Session.Year\"},model:{value:(_vm.selectedSessionId),callback:function ($$v) {_vm.selectedSessionId=$$v},expression:\"selectedSessionId\"}}),_vm._v(\" Hearing Documents \")],1),_c('v-card-text',[(_vm.DocumentHearing != null)?_c('h2',[_vm._v(_vm._s(_vm.DocumentHearing.Description))]):_c('div',[_c('v-alert',{attrs:{\"type\":\"info\"}},[_vm._v(\"Please select an agency in the menu\")])],1),(_vm.DocumentHearing)?_c('div',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('v-list',_vm._l((_vm.Documents),function(i){return _c('v-list-item',{key:i.DocumentId},[_c('v-list-item-content',[_c('a',{staticClass:\"text-uppercase\",attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/Resource/' +i.DocumentId + '.pdf'}},[_vm._v(_vm._s(i.Title || i.Description || i.Filename.replace('.pdf','')))])])],1)}),1),(_vm.Documents.length == 0 && !_vm.loading && _vm.DocumentHearing != null)?_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\"No documents available.\")]):_vm._e()],1):_vm._e()])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <BudgetAgencyList v-if=\"selectedSessionId\" :SessionId=\"selectedSessionId\"></BudgetAgencyList>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <v-card>\r\n                <v-card-title>\r\n                    <v-autocomplete v-model=\"selectedSessionId\"\r\n                                    style=\"max-width:100px\"\r\n                                    :items=\"Sessions\"\r\n                                    item-value=\"Session.SessionId\"\r\n                                    item-text=\"Session.Year\"></v-autocomplete> Hearing Documents\r\n                </v-card-title>\r\n                <v-card-text>\r\n\r\n\r\n                    <h2 v-if=\"DocumentHearing != null\">{{DocumentHearing.Description}}</h2>\r\n                    <div v-else>\r\n                        <v-alert type=\"info\">Please select an agency in the menu</v-alert>\r\n                    </div>\r\n                    <div v-if=\"DocumentHearing\">\r\n                        <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n                        <v-list>\r\n                            <v-list-item v-for=\"i in Documents\" :key=\"i.DocumentId\">\r\n                                <v-list-item-content>\r\n                                    <a class=\"text-uppercase\" rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/Resource/' +i.DocumentId + '.pdf'\">{{ i.Title || i.Description || i.Filename.replace('.pdf','') }}</a>\r\n                                </v-list-item-content>\r\n                            </v-list-item>\r\n\r\n                        </v-list>\r\n                        <v-alert v-if=\"Documents.length == 0 && !loading && DocumentHearing != null\" dense\r\n                                 text\r\n                                 type=\"info\">No documents available.</v-alert>\r\n                    </div>\r\n                </v-card-text>\r\n            </v-card>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const BudgetAgencyList = () => import(\"@/Menus/BudgetAgencyList.vue\");\r\n\r\n    export default {\r\n        name: 'BudgetHearingDocuments',\r\n        props: ['DocumentHearingId'],\r\n        components: {\r\n            BudgetAgencyList\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        },\r\n        methods: {\r\n            LoadSessionsOnce() {\r\n                fetch('/api/Documents/DocumentType/UniqueSessions?Type=53', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    var res = EncodeDatetimes(response);\r\n                    res = res.sort((a, b) => (a.Session.Year > b.Session.Year) ? -1 : 1);\r\n                    this.Sessions = res;\r\n\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n\r\n            },\r\n            LoadData() {\r\n                //this.selectedSessionId = this.SessionId;\r\n                this.loading = true;\r\n\r\n                fetch('/api/Documents/DocumentTypeHearings?SessionIds=' + this.selectedSessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.AllDocuments = EncodeDatetimes(response);\r\n                    this.loading = false;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n\r\n                fetch('/api/DocumentHearings', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.DocumentHearings = EncodeDatetimes(response);\r\n\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                DocumentHearings: [],\r\n                selectedSessionId: 70, //TODO: FIX\r\n                AllDocuments: [\r\n                    //{\r\n                    //    Name: 'Document # 1',\r\n                    //    url: '/Documents/#id',\r\n                    //},\r\n                ],\r\n                loading: true,\r\n                Sessions: [],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadSessionsOnce();\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            selectedSessionId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            Title: function () { return 'Budget Hearing Documents' },\r\n            Description: function () {\r\n                return this.Title;\r\n            },\r\n            Documents: function () {\r\n                // this.AllDocuments = this.AllDocuments.filter(x => x.DocumentHearings != null);\r\n                var res = this.AllDocuments.filter(x => x.DocumentHearingId == this.DocumentHearingId).map(x => {\r\n                    var a = '000' + x.Title;\r\n                    var b = a.indexOf('.');\r\n                    if (b > -1) {\r\n                        a = a.slice(0, b);\r\n                    }\r\n                    x.Sort = parseInt(a);\r\n\r\n                    return x;\r\n                });\r\n                res.sort((a, b) => {\r\n                    if ((a.Sort > b.Sort)) {\r\n                        return 1;\r\n                    } else if ((a.Sort < b.Sort)) {\r\n                        return -1;\r\n                    }\r\n                    else {\r\n                        return (a.Title > b.Title) ? 1 : -1;\r\n                    }\r\n\r\n\r\n                });\r\n\r\n                return res;\r\n            },\r\n            DocumentHearing: function () {\r\n                if (this.DocumentHearingId) {\r\n                    return this.DocumentHearings.find(x => x.DocumentHearingId == this.DocumentHearingId);\r\n                }\r\n                return null;\r\n            },\r\n        }\r\n    };\r\n</script>\r\n<style>\r\n</style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Documents.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Documents.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Documents.vue?vue&type=template&id=88bf46f6&\"\nimport script from \"./Documents.vue?vue&type=script&lang=js&\"\nexport * from \"./Documents.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\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 { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VAutocomplete,VCard,VCardText,VCardTitle,VCol,VList,VListItem,VListItemContent,VProgressLinear,VRow})\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VSpeedDial.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"ad54fd40\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","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\"}},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):(!_vm.Documents || _vm.Documents.length < 1)?_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\"No Hearing Documents.\")]):_vm._e(),_c('Documents',{attrs:{\"Documents\":_vm.Documents,\"title\":\"Hearing Documents\",\"show-tree-view\":\"\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row>\r\n        <v-col cols=\"12\">\r\n            <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n            <v-alert v-else-if=\"!Documents || Documents.length < 1\" dense\r\n                     text\r\n                     type=\"info\">No Hearing Documents.</v-alert>\r\n            <Documents :Documents=\"Documents\"\r\n                       title=\"Hearing Documents\"\r\n                       show-tree-view>\r\n            </Documents>\r\n        </v-col>\r\n    </v-row>\r\n\r\n</template>\r\n<script>\r\n    const Documents = () => import(\"@/Documents/Documents.vue\");\r\n\r\n    export default {\r\n        name: 'Hearings',\r\n        props: ['CommitteeId'],\r\n        components: {\r\n            Documents\r\n        },\r\n        methods: {\r\n            switchTab(item) {\r\n                this.filterValue = item.value;\r\n            },\r\n            LoadData() {\r\n                this.loading = true;\r\n                if (this.currentRoute.includes('/Interim')) {\r\n\r\n                    fetch('/api/Documents/InterimCommittee/' + this.CommitteeId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201) {\r\n                            return res.json();\r\n                        }\r\n                        else {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response => {\r\n                        this.Documents = EncodeDatetimes(response);\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n                } else {\r\n\r\n                    fetch('/api/Documents/SessionCommittee/' + this.CommitteeId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201) {\r\n                            return res.json();\r\n                        }\r\n                        else {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response => {\r\n                        this.Documents = EncodeDatetimes(response);\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n            },\r\n\r\n            MeetingTimePretty(Time) {\r\n                if (Time != undefined) {\r\n                    return moment(Time).format('h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            DatePretty(Date) {\r\n                if (Date != undefined) {\r\n                    return moment(Date).format('M/DD h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            MinDatePretty(Date) {\r\n                if (Date != undefined) {\r\n                    return moment(Date).format('M/DD');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            openDocumentHTML(DocumentId) {\r\n                //return Promise.resolve(\"<p>STring that you want me to write</p>\");\r\n                return fetch('/api/Documents/' + DocumentId + '.html', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.text();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    return response;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            async expandItem(item) {\r\n                if (item.value && item.item.HTML == null) {\r\n                    item.item.HTML = await this.openDocumentHTML(item.item.DocumentId);\r\n                }\r\n            },\r\n            rowClick(item, item1) {\r\n                var temp = {\r\n                    item: item,\r\n                    value: !item1.isExpanded\r\n                };\r\n                if (!item1.isExpanded) {\r\n                    this.expandItem(temp);\r\n                    if (item.DocumentTypeId == 3 || item.DocumentTypeId == 5) {\r\n                        this.expandedAgendas.push(item);\r\n                    } else {\r\n                        this.expandedMinutes.push(item);\r\n\r\n                    }\r\n                } else {\r\n                    let testing = this.expandedAgendas.findIndex(x => x.DocumentId == item.DocumentId);\r\n                    if (item.DocumentTypeId == 3 || item.DocumentTypeId == 5) {\r\n\r\n                        this.expandedAgendas.splice(testing, 1);\r\n                    } else {\r\n                        this.expandedMinutes.splice(testing, 1);\r\n                    }\r\n                }\r\n            },\r\n            isDateInArray(needle, haystack) {\r\n                for (var i = 0; i < haystack.length; i++) {\r\n                    if (needle.getTime() === haystack[i].getTime()) {\r\n                        return true;\r\n                    }\r\n                }\r\n                return false;\r\n            }\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: true,\r\n                filterValue: 'Detail',\r\n                tabs: [\r\n                    {\r\n                        value: 'Detail', type: 'All'\r\n                    },\r\n                    {\r\n                        value: 'Agendas', type: 'All'\r\n                    },\r\n                    {\r\n                        value: 'Minutes & Audio', type: 'All'\r\n                    },\r\n                    {\r\n                        value: 'Bills', type: 'Session'\r\n                    },\r\n                    {\r\n                        value: 'Hearing Documents', type: 'All'\r\n                    },\r\n                    {\r\n                        value: 'Committee Agendas', type: 'Session'\r\n                    },\r\n                ],\r\n                headers: [{ text: 'Date', value: 'DocumentDate' }, { text: '', value: 'DocumentId' }, { text: '', value: 'data-table-expand' },],\r\n                billHeaders: [{ text: 'Bill', value: 'BillId' }, { text: 'Title', value: 'Title' },],\r\n                expandedAgendas: [],\r\n                expandedMinutes: [],\r\n                Documents: [],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            CommitteeId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            CommitteeType: function () {\r\n                //switching between session and interm\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    return \"Interim\";\r\n                } else {\r\n                    return \"Session\";\r\n                }\r\n            },\r\n            currentRoute: function () {\r\n                return this.$route.path;\r\n            },\r\n        }\r\n    };\r\n</script>\r\n<style></style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Hearings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Hearings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Hearings.vue?vue&type=template&id=56ae1161&\"\nimport script from \"./Hearings.vue?vue&type=script&lang=js&\"\nexport * from \"./Hearings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VCol,VProgressLinear,VRow})\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VDivider.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"dd0dda44\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","import \"../../../src/components/VProgressLinear/VProgressLinear.sass\"; // Components\n\nimport { VFadeTransition, VSlideXTransition } from '../transitions'; // Directives\n\nimport intersect from '../../directives/intersect'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport { factory as PositionableFactory } from '../../mixins/positionable';\nimport Proxyable from '../../mixins/proxyable';\nimport Themeable from '../../mixins/themeable'; // Utilities\n\nimport { convertToUnit, getSlot } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Colorable, PositionableFactory(['absolute', 'fixed', 'top', 'bottom']), Proxyable, Themeable);\n/* @vue/component */\n\nexport default baseMixins.extend({\n  name: 'v-progress-linear',\n  directives: {\n    intersect\n  },\n  props: {\n    active: {\n      type: Boolean,\n      default: true\n    },\n    backgroundColor: {\n      type: String,\n      default: null\n    },\n    backgroundOpacity: {\n      type: [Number, String],\n      default: null\n    },\n    bufferValue: {\n      type: [Number, String],\n      default: 100\n    },\n    color: {\n      type: String,\n      default: 'primary'\n    },\n    height: {\n      type: [Number, String],\n      default: 4\n    },\n    indeterminate: Boolean,\n    query: Boolean,\n    reverse: Boolean,\n    rounded: Boolean,\n    stream: Boolean,\n    striped: Boolean,\n    value: {\n      type: [Number, String],\n      default: 0\n    }\n  },\n\n  data() {\n    return {\n      internalLazyValue: this.value || 0,\n      isVisible: true\n    };\n  },\n\n  computed: {\n    __cachedBackground() {\n      return this.$createElement('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n        staticClass: 'v-progress-linear__background',\n        style: this.backgroundStyle\n      }));\n    },\n\n    __cachedBar() {\n      return this.$createElement(this.computedTransition, [this.__cachedBarType]);\n    },\n\n    __cachedBarType() {\n      return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate;\n    },\n\n    __cachedBuffer() {\n      return this.$createElement('div', {\n        staticClass: 'v-progress-linear__buffer',\n        style: this.styles\n      });\n    },\n\n    __cachedDeterminate() {\n      return this.$createElement('div', this.setBackgroundColor(this.color, {\n        staticClass: `v-progress-linear__determinate`,\n        style: {\n          width: convertToUnit(this.normalizedValue, '%')\n        }\n      }));\n    },\n\n    __cachedIndeterminate() {\n      return this.$createElement('div', {\n        staticClass: 'v-progress-linear__indeterminate',\n        class: {\n          'v-progress-linear__indeterminate--active': this.active\n        }\n      }, [this.genProgressBar('long'), this.genProgressBar('short')]);\n    },\n\n    __cachedStream() {\n      if (!this.stream) return null;\n      return this.$createElement('div', this.setTextColor(this.color, {\n        staticClass: 'v-progress-linear__stream',\n        style: {\n          width: convertToUnit(100 - this.normalizedBuffer, '%')\n        }\n      }));\n    },\n\n    backgroundStyle() {\n      const backgroundOpacity = this.backgroundOpacity == null ? this.backgroundColor ? 1 : 0.3 : parseFloat(this.backgroundOpacity);\n      return {\n        opacity: backgroundOpacity,\n        [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n        width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%')\n      };\n    },\n\n    classes() {\n      return {\n        'v-progress-linear--absolute': this.absolute,\n        'v-progress-linear--fixed': this.fixed,\n        'v-progress-linear--query': this.query,\n        'v-progress-linear--reactive': this.reactive,\n        'v-progress-linear--reverse': this.isReversed,\n        'v-progress-linear--rounded': this.rounded,\n        'v-progress-linear--striped': this.striped,\n        'v-progress-linear--visible': this.isVisible,\n        ...this.themeClasses\n      };\n    },\n\n    computedTransition() {\n      return this.indeterminate ? VFadeTransition : VSlideXTransition;\n    },\n\n    isReversed() {\n      return this.$vuetify.rtl !== this.reverse;\n    },\n\n    normalizedBuffer() {\n      return this.normalize(this.bufferValue);\n    },\n\n    normalizedValue() {\n      return this.normalize(this.internalLazyValue);\n    },\n\n    reactive() {\n      return Boolean(this.$listeners.change);\n    },\n\n    styles() {\n      const styles = {};\n\n      if (!this.active) {\n        styles.height = 0;\n      }\n\n      if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n        styles.width = convertToUnit(this.normalizedBuffer, '%');\n      }\n\n      return styles;\n    }\n\n  },\n  methods: {\n    genContent() {\n      const slot = getSlot(this, 'default', {\n        value: this.internalLazyValue\n      });\n      if (!slot) return null;\n      return this.$createElement('div', {\n        staticClass: 'v-progress-linear__content'\n      }, slot);\n    },\n\n    genListeners() {\n      const listeners = this.$listeners;\n\n      if (this.reactive) {\n        listeners.click = this.onClick;\n      }\n\n      return listeners;\n    },\n\n    genProgressBar(name) {\n      return this.$createElement('div', this.setBackgroundColor(this.color, {\n        staticClass: 'v-progress-linear__indeterminate',\n        class: {\n          [name]: true\n        }\n      }));\n    },\n\n    onClick(e) {\n      if (!this.reactive) return;\n      const {\n        width\n      } = this.$el.getBoundingClientRect();\n      this.internalValue = e.offsetX / width * 100;\n    },\n\n    onObserve(entries, observer, isIntersecting) {\n      this.isVisible = isIntersecting;\n    },\n\n    normalize(value) {\n      if (value < 0) return 0;\n      if (value > 100) return 100;\n      return parseFloat(value);\n    }\n\n  },\n\n  render(h) {\n    const data = {\n      staticClass: 'v-progress-linear',\n      attrs: {\n        role: 'progressbar',\n        'aria-valuemin': 0,\n        'aria-valuemax': this.normalizedBuffer,\n        'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue\n      },\n      class: this.classes,\n      directives: [{\n        name: 'intersect',\n        value: this.onObserve\n      }],\n      style: {\n        bottom: this.bottom ? 0 : undefined,\n        height: this.active ? convertToUnit(this.height) : 0,\n        top: this.top ? 0 : undefined\n      },\n      on: this.genListeners()\n    };\n    return h('div', data, [this.__cachedStream, this.__cachedBackground, this.__cachedBuffer, this.__cachedBar, this.genContent()]);\n  }\n\n});\n//# sourceMappingURL=VProgressLinear.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-list-item-group .v-list-item--active{color:inherit}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VImg.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6f31ad98\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VMessages.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"495255bf\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" South Dakota Historical Listing Tenure of 25 Years or More \")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"MemberId + Year\",\"sort-by\":['LastName', 'FirstName'],\"sort-desc\":[false, false],\"loading\":_vm.loading,\"items-per-page\":999,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Historical/Legislator/Profile/' + item.MemberId}},[_vm._v(_vm._s(item.LastName + \", \" + item.FirstName))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                South Dakota Historical Listing Tenure of 25 Years or More\r\n            </div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                          :items=\"items\"\r\n                          item-key=\"MemberId + Year\"\r\n                          :sort-by=\"['LastName', 'FirstName']\"\r\n                          :sort-desc=\"[false, false]\"\r\n                          :loading=\"loading\"\r\n                          :items-per-page=\"999\"\r\n                          disable-pagination\r\n                          hide-default-footer\r\n                          loading-text=\"Loading... Please wait\"\r\n                          class=\"elevation-1\">\r\n                <template v-slot:item.Name=\"{ item }\">\r\n                    <router-link :to=\"'/Historical/Legislator/Profile/' + item.MemberId\">{{item.LastName + \",&nbsp;\" + item.FirstName }}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'TwentyFiveYear',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Historical/Tenure/TwentyFive', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    if (res.ok)\r\n                        return res.json();\r\n                    else\r\n                        throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    if (response)\r\n                    {\r\n                        let r = EncodeDatetimes(response);\r\n\r\n                        r.forEach(x =>\r\n                        {\r\n                            x.Name = x.LastName + ', ' + x.FirstName;\r\n                        });\r\n\r\n                        this.items = r;\r\n                    }\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                }).finally(_ =>\r\n                {\r\n                    this.loading = false;\r\n                });\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                search: '',\r\n                loading: true,\r\n                items: [],\r\n                headers: [\r\n                    { text: 'Name', value: 'Name' },\r\n                    { text: 'Birthdate', value: 'Birthdate' },\r\n                    { text: 'Deathdate', value: 'Deathdate' },\r\n                    { text: 'Years', value: 'Years' },\r\n                    { text: 'Remarks', value: 'Remarks' },\r\n                ],\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TwentyFiveYear.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TwentyFiveYear.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TwentyFiveYear.vue?vue&type=template&id=43a7fd35&\"\nimport script from \"./TwentyFiveYear.vue?vue&type=script&lang=js&\"\nexport * from \"./TwentyFiveYear.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Legislators Who Served in the United States Congress \")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"MemberId + Year\",\"sort-by\":['LastName', 'FirstName'],\"sort-desc\":[false, false],\"loading\":_vm.loading,\"items-per-page\":999,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Historical/Legislator/Profile/' + item.MemberId}},[_vm._v(_vm._s(item.LastName + \", \" + item.FirstName))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Legislators Who Served in the United States Congress\r\n            </div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"items\"\r\n                                 item-key=\"MemberId + Year\"\r\n                                 :sort-by=\"['LastName', 'FirstName']\"\r\n                                 :sort-desc=\"[false, false]\"\r\n                                 :loading=\"loading\"\r\n                                 :items-per-page=\"999\"\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.Name=\"{ item }\">\r\n                    <router-link :to=\"'/Historical/Legislator/Profile/' + item.MemberId\">{{item.LastName + \",&nbsp;\" + item.FirstName }}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'USCongress',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                fetch('/api/Historical/Office/5', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    if (res.ok)\r\n                        return res.json();\r\n\r\n                    else\r\n                        throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    if (response)\r\n                    {\r\n                        let r = EncodeDatetimes(response);\r\n\r\n                        r.forEach(x =>\r\n                        {\r\n                            x.Name = x.LastName + ', ' + x.FirstName;\r\n                        });\r\n\r\n                        this.items = r;\r\n                    }\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                }).finally(_ =>\r\n                {\r\n                    this.loading = false;\r\n                });\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                search: '',\r\n                loading: true,\r\n                items: [],\r\n                headers: [\r\n                    { text: 'Name', value: 'Name' },\r\n                    { text: 'Address', value: 'Address' },\r\n                    { text: 'Years', value: 'Year' },\r\n                    { text: 'Party', value: 'Description' },\r\n                    { text: 'Remarks', value: 'Comment' },\r\n                ],\r\n\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./USCongress.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./USCongress.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./USCongress.vue?vue&type=template&id=6a8280f8&\"\nimport script from \"./USCongress.vue?vue&type=script&lang=js&\"\nexport * from \"./USCongress.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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-card',{attrs:{\"flat\":\"\"}},[(_vm.Member)?_c('v-card-text',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[(_vm.Member && _vm.Member.Picture)?_c('v-flex',{attrs:{\"xs4\":\"\"}},[(_vm.expand)?_c('div',{staticClass:\"custom-avatar\",staticStyle:{\"width\":\"90%\"}},[_c('v-img',{staticClass:\"custom-avatar\",attrs:{\"width\":\"400\",\"transition\":\"false\",\"src\":_vm.generatePictureUrl(true, false)}}),(_vm.Member.PictureCopyright)?_c('div',{staticStyle:{\"font-size\":\"smaller\"}},[_vm._v(_vm._s(_vm.Member.PictureCopyright))]):_vm._e(),_c('div',{staticStyle:{\"font-size\":\"smaller\"}},[_vm._v(\"Use by Permission Only.\")])],1):_vm._e(),(!_vm.expand)?_c('div',{staticClass:\"text-center\",staticStyle:{\"justify-items\":\"center\"}},[_c('div',{style:(_vm.generateBackgroundImage(true) + 'border-radius: 50px 50px; height: 130px; width: 100px; background-size: cover;')})]):_vm._e()]):_vm._e(),_c('v-flex',{attrs:{\"xs8\":\"\"}},[(_vm.expand && _vm.Member.Position)?_c('div',{staticClass:\"headline\"},[_vm._v(\" \"+_vm._s(_vm.Member.Position)+\" \")]):_vm._e(),(_vm.expand)?_c('div',[_c('b',[_vm._v(\"Party: \")]),(_vm.Member && _vm.Member.Politics == 'R')?_c('span',[_vm._v(\"Republican\")]):(_vm.Member && _vm.Member.Politics == 'D')?_c('span',[_vm._v(\"Democrat\")]):(_vm.Member && _vm.Member.Politics == 'I')?_c('span',[_vm._v(\"Independent\")]):_vm._e()]):_vm._e(),(_vm.expand)?_c('div',[_c('b',[_vm._v(\"Term: \")]),(_vm.Member && _vm.Member.Term == 'I')?_c('span',[_vm._v(\"Incumbent\")]):(_vm.Member && _vm.Member.Term == 'G')?_c('span',[_vm._v(\"Govs. Appointment\")]):(_vm.Member && _vm.Member.Term == 'N')?_c('span',[_vm._v(\"New Member\")]):(_vm.Member && _vm.Member.Term == 'M')?_c('span',[_vm._v(\"Other House\")]):_vm._e()]):_vm._e(),(!_vm.expand)?_c('div',{staticClass:\"headline\"},[_vm._v(\" \"+_vm._s(_vm.Member.Name)),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [(_vm.Member.InactiveDate)?_c('span',_vm._g({staticStyle:{\"display\":\"inline\"}},on),[_vm._v(\"*\")]):_vm._e()]}}],null,false,645725436)},[_vm._v(\" The Legislator did not fulfill their entire term. \")])],1):_vm._e(),_c('div',[_c('b',[_vm._v(\"District:\")]),_vm._v(\" \"+_vm._s(_vm.Member.District))]),(_vm.expand)?_c('div',[_c('b',[_vm._v(\"Counties: \")]),_vm._v(_vm._s(_vm.Member.Counties))]):_vm._e(),(_vm.expand)?_c('div',[_c('b',[_vm._v(\"Occupation: \")]),_vm._v(_vm._s(_vm.Member.Occupation))]):_vm._e(),(_vm.expand && _vm.Member.HomeAddress1 != null)?_c('div',[_c('br'),_c('div',[_c('b',[_vm._v(\"Mailing Address:\")])]),_c('div',[_vm._v(_vm._s(_vm.Member.HomeAddress1))]),(_vm.Member.HomeAddress2)?_c('div',[_vm._v(_vm._s(_vm.Member.HomeAddress2))]):_vm._e(),_c('div',[_vm._v(_vm._s(_vm.Member.HomeCity + ', ' + _vm.Member.HomeState + ' ' + _vm.Member.HomeZip))])]):_vm._e(),(!_vm.expand)?_c('div',[_c('v-icon',[_vm._v(_vm._s(_vm.person))]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' + _vm.Member.SessionMemberId}},[_vm._v(\"View Profile\")])],1):_vm._e(),(_vm.expand)?_c('div',[_c('br')]):_vm._e(),(_vm.Member && _vm.Member.HomePhone)?_c('div',[_c('v-icon',[_vm._v(_vm._s(_vm.phone))]),_vm._v(\" \"),(_vm.expand)?_c('span',[_c('b',[_vm._v(\"Home: \")])]):_vm._e(),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'tel:' +_vm.Member.HomePhone}},[_vm._v(_vm._s(_vm.Member.HomePhone))])],1):_vm._e(),(_vm.expand && _vm.Member && _vm.Member.CapitolPhone)?_c('div',[_c('v-icon',[_vm._v(_vm._s(_vm.officephone))]),_vm._v(\" \"),_c('b',[_vm._v(\"Capitol: \")]),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'tel:' +_vm.Member.CapitolPhone}},[_vm._v(_vm._s(_vm.Member.CapitolPhone))])],1):_vm._e(),(_vm.expand && _vm.Member && _vm.Member.BusinessPhone)?_c('div',[_c('v-icon',[_vm._v(_vm._s(_vm.phone))]),_vm._v(\" \"),_c('b',[_vm._v(\"Business: \")]),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'tel:' +_vm.Member.BusinessPhone}},[_vm._v(_vm._s(_vm.Member.BusinessPhone))])],1):_vm._e(),(_vm.expand && _vm.Member && _vm.Member.CellPhone != null)?_c('div',[_c('v-icon',[_vm._v(_vm._s(_vm.cellphone))]),_vm._v(\" \"),_c('b',[_vm._v(\"Cell: \")]),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'tel:' +_vm.Member.CellPhone}},[_vm._v(_vm._s(_vm.Member.CellPhone))])],1):_vm._e(),(_vm.expand)?_c('div',[_c('br')]):_vm._e(),(_vm.Member.EmailState)?_c('div',[_c('v-icon',[_vm._v(_vm._s(_vm.email))]),_vm._v(\" \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'mailto:' +_vm.Member.EmailState}},[_vm._v(_vm._s(_vm.Member.EmailState))])],1):_vm._e()])],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-card flat>\r\n        <v-card-text v-if=\"Member\">\r\n            <v-layout row wrap>\r\n                <v-flex xs4 v-if=\"Member && Member.Picture\">\r\n                    <div v-if=\"expand\" style=\"width:90%\" class=\"custom-avatar\">\r\n                        <!--<div :aria-label=\"'A professional photo of ' + Member.Name\"\r\n                             role=\"img\"\r\n                             class=\"v-image v-responsive\"\r\n                             style=\"max-height: 600px;\">\r\n                            <div class=\"v-responsive__sizer\" style=\"padding-bottom: 166.667%;\"></div>\r\n                            <div class=\"v-image__image v-image__image--cover\" :style=\"generateBackgroundImage(false)\"></div>\r\n                            <div class=\"v-responsive__content\"></div>\r\n                        </div>-->\r\n                        <v-img width=\"400\" transition=\"false\" :src=\"generatePictureUrl(true, false)\" class=\"custom-avatar\"></v-img>\r\n                        <div style=\"font-size: smaller;\" v-if=\"Member.PictureCopyright\">{{Member.PictureCopyright}}</div>\r\n                        <div style=\"font-size: smaller;\">Use by Permission Only.</div>\r\n                    </div>\r\n                    <div class=\"text-center\" v-if=\"!expand\" style=\"justify-items: center;\">\r\n                        <div :style=\"generateBackgroundImage(true) + 'border-radius: 50px 50px; height: 130px; width: 100px; background-size: cover;'\"></div>\r\n                        <!--<div class=\"v-avatar rounded-pill grey\">\r\n                            <div :aria-label=\"'A professional photo of ' + Member.Name\"\r\n                                 role=\"img\"\r\n                                 class=\"v-image v-responsive\"\r\n                                 style=\"height: 130px; width: 100px;\">\r\n                                <div class=\"v-responsive__sizer\" style=\"padding-bottom: 166.667%;\"></div>\r\n                                <div class=\"v-image__image v-image__image--cover\" :style=\"generateBackgroundImage(true)\"></div>\r\n                                <div class=\"v-responsive__content\"></div>\r\n                            </div>\r\n                        </div>-->\r\n                    </div>\r\n                </v-flex>\r\n                <v-flex xs8>\r\n                    <div class=\"headline\" v-if=\"expand && Member.Position\">\r\n                        {{Member.Position}}\r\n                    </div>\r\n                    <div v-if=\"expand\">\r\n                        <b>Party: </b><span v-if=\"Member && Member.Politics == 'R'\">Republican</span>\r\n                        <span v-else-if=\"Member && Member.Politics == 'D'\">Democrat</span>\r\n                        <span v-else-if=\"Member && Member.Politics == 'I'\">Independent</span>\r\n                    </div>\r\n                    <div v-if=\"expand\">\r\n                        <b>Term: </b>\r\n                        <span v-if=\"Member && Member.Term == 'I'\">Incumbent</span>\r\n                        <span v-else-if=\"Member && Member.Term == 'G'\">Govs. Appointment</span>\r\n                        <span v-else-if=\"Member && Member.Term == 'N'\">New Member</span>\r\n                        <span v-else-if=\"Member && Member.Term == 'M'\">Other House</span>\r\n                    </div>\r\n                    <div class=\"headline\" v-if=\"!expand\">\r\n                        {{ Member.Name }}<v-tooltip bottom>\r\n                            <template v-slot:activator=\"{ on }\">\r\n                                <span v-if=\"Member.InactiveDate\" v-on=\"on\" style=\"display: inline;\">*</span>\r\n                            </template>\r\n                            The Legislator did not fulfill their entire term.\r\n                        </v-tooltip>\r\n                    </div>\r\n                    <div><b>District:</b> {{Member.District}}</div>\r\n                    <div v-if=\"expand\"><b>Counties: </b>{{Member.Counties}}</div>\r\n                    <div v-if=\"expand\"><b>Occupation: </b>{{Member.Occupation}}</div>\r\n                    <div v-if=\"expand && Member.HomeAddress1 != null\">\r\n                        <br />\r\n                        <div><b>Mailing Address:</b></div>\r\n                        <div>{{Member.HomeAddress1}}</div>\r\n                        <div v-if=\"Member.HomeAddress2\">{{Member.HomeAddress2}}</div>\r\n                        <div>{{Member.HomeCity + ', ' + Member.HomeState + ' ' + Member.HomeZip}}</div>\r\n                    </div>\r\n                    <div v-if=\"!expand\">\r\n                        <v-icon>{{person}}</v-icon> <router-link :to=\"'/Legislators/Profile/' + Member.SessionMemberId\">View Profile</router-link>\r\n                    </div>\r\n                    <div v-if=\"expand\">\r\n                        <br />\r\n                    </div>\r\n                    <div v-if=\"Member && Member.HomePhone\">\r\n                        <v-icon>{{phone}}</v-icon> <span v-if=\"expand\"><b>Home: </b> </span><a rel=\"noopener\" :href=\"'tel:' +Member.HomePhone\">{{Member.HomePhone}}</a>\r\n                    </div>\r\n                    <div v-if=\"expand && Member && Member.CapitolPhone\">\r\n                        <v-icon>{{officephone}}</v-icon> <b>Capitol: </b><a rel=\"noopener\" :href=\"'tel:' +Member.CapitolPhone\">{{Member.CapitolPhone}}</a>\r\n                    </div>\r\n                    <div v-if=\"expand && Member && Member.BusinessPhone\">\r\n                        <v-icon>{{phone}}</v-icon> <b>Business: </b><a rel=\"noopener\" :href=\"'tel:' +Member.BusinessPhone\">{{Member.BusinessPhone}}</a>\r\n                    </div>\r\n                    <div v-if=\"expand && Member && Member.CellPhone != null\">\r\n                        <v-icon>{{cellphone}}</v-icon> <b>Cell: </b><a rel=\"noopener\" :href=\"'tel:' +Member.CellPhone\">{{Member.CellPhone}}</a>\r\n                    </div>\r\n\r\n                    <div v-if=\"expand\">\r\n                        <br />\r\n                    </div>\r\n                    <div v-if=\"Member.EmailState\"><v-icon>{{email}}</v-icon> <a rel=\"noopener\" :href=\"'mailto:' +Member.EmailState\">{{Member.EmailState}}</a></div>\r\n                </v-flex>\r\n            </v-layout>\r\n        </v-card-text>\r\n    </v-card>\r\n</template>\r\n<script>\r\n    import { mdiEmail } from '@mdi/js';\r\n    import { mdiAccount } from '@mdi/js';\r\n    import { mdiPhone } from '@mdi/js';\r\n    import { mdiCellphone } from '@mdi/js';\r\n    import { mdiPhoneClassic } from '@mdi/js';\r\n    export default {\r\n        name: 'MemberCard',\r\n        props: ['expand', 'Member'],\r\n        components: {\r\n        },\r\n        methods: {\r\n            generatePictureUrl(supportWebP, isSmall)\r\n            {\r\n                let basePath = `/api/Persons/Picture/${this.Member.PersonId}/${this.Member.SessionId}/${isSmall}/${supportWebP}`;\r\n                return basePath;\r\n            },\r\n            generateBackgroundImage(isSmall)\r\n            {\r\n                return \"background-image: image-set(\" +\r\n                    \"'\" + this.generatePictureUrl(true, isSmall) + \"' type('image/webp'), \" +\r\n                    \"'\" + this.generatePictureUrl(false, isSmall) + \"' type('image/jpeg'))\" +\r\n                    \"; background-position: center center;\";\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                email: mdiEmail,\r\n                person: mdiAccount,\r\n                phone: mdiPhone,\r\n                cellphone: mdiCellphone,\r\n                officephone: mdiPhoneClassic,\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n\r\n        },\r\n        computed: {\r\n        }\r\n    };\r\n</script>\r\n<style>\r\n    .custom-avatar picture,\r\n    .custom-avatar .v-image__image--cover\r\n    {\r\n        width: 100%;\r\n        height: 100%;\r\n        object-fit: cover; /* This ensures the image scales correctly */\r\n        background-size: contain;\r\n    }\r\n</style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./MemberCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./MemberCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MemberCard.vue?vue&type=template&id=41861a92&\"\nimport script from \"./MemberCard.vue?vue&type=script&lang=js&\"\nexport * from \"./MemberCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MemberCard.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VCard,VCardText,VFlex,VIcon,VImg,VLayout,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Administrative Rules \"),_c('v-breadcrumbs',{attrs:{\"divider\":\">\",\"items\":_vm.breadcrumbs}}),_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('GoogleSearchStatute')],1)],1)],1)],1),_c('v-divider'),(_vm.loading)?_c('v-alert',{attrs:{\"value\":true,\"type\":\"info\"}},[_vm._v(\" Loading Please wait \")]):_vm._e(),_c('v-container',{staticClass:\"px-0\",staticStyle:{\"text-align\":\"center\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{staticClass:\"pa-2\",attrs:{\"outlined\":\"\",\"tile\":\"\"},on:{\"click\":function($event){_vm.rulefilter = 'All'}}},[_vm._v(\" All \")])],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"sm\":\"4\",\"cols\":\"12\"}},[_c('v-card',{staticClass:\"pa-2\",attrs:{\"outlined\":\"\",\"tile\":\"\"},on:{\"click\":function($event){_vm.rulefilter = 'Active'}}},[_vm._v(\" Active \")])],1),_c('v-col',{attrs:{\"sm\":\"4\",\"cols\":\"12\"}},[_c('v-card',{staticClass:\"pa-2\",attrs:{\"outlined\":\"\",\"tile\":\"\"},on:{\"click\":function($event){_vm.rulefilter = 'Transferred'}}},[_vm._v(\" Transferred, Repealed, Superseded \")])],1),_c('v-col',{attrs:{\"sm\":\"4\",\"cols\":\"12\"}},[_c('v-card',{staticClass:\"pa-2\",attrs:{\"outlined\":\"\",\"tile\":\"\"},on:{\"click\":function($event){_vm.rulefilter = 'Reserved'}}},[_vm._v(\" Reserved \")])],1)],1)],1),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.filteredItems,\"item-key\":\"RuleId\",\"disable-pagination\":\"\",\"sort-desc\":[false],\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item.Article\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{staticStyle:{\"text-decoration\":\"none\"},attrs:{\"to\":'/Rules/Administrative/' + item.RuleNumber}},[_vm._v(_vm._s(item.Article))])]}},{key:\"item.CatchLine\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"hidden-md-and-up\"},[_vm._v(\" \"+_vm._s(item.CatchLine)+\" \")]),_c('div',{staticClass:\"hidden-sm-and-down\"},[_vm._v(\" \"+_vm._s(_vm.shortenCell(item.CatchLine))+\" \")])]}},{key:\"no-data\",fn:function(){return [(!_vm.loading)?_c('v-alert',{attrs:{\"value\":true,\"type\":\"info\"}},[_vm._v(\" No Results \")]):_vm._e()]},proxy:true}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Administrative Rules\r\n                <v-breadcrumbs divider=\">\" :items=\"breadcrumbs\"></v-breadcrumbs>\r\n                <v-container>\r\n                    <v-layout row wrap>\r\n                        <v-flex xs12>\r\n                            <GoogleSearchStatute></GoogleSearchStatute>\r\n                        </v-flex>\r\n                    </v-layout>\r\n                </v-container>\r\n            </div>\r\n            <v-divider></v-divider>\r\n            <v-alert v-if=\"loading\" :value=\"true\" type=\"info\">\r\n                Loading Please wait\r\n            </v-alert>\r\n            <v-container style=\"text-align:center\" class=\"px-0\">\r\n                <v-row no-gutters>\r\n                    <v-col cols=\"12\">\r\n                        <v-card class=\"pa-2\"\r\n                                outlined\r\n                                tile\r\n                                @click=\"rulefilter = 'All'\">\r\n                            All\r\n                        </v-card>\r\n                    </v-col>\r\n                </v-row>\r\n                <v-row no-gutters>\r\n                    <v-col sm=\"4\" cols=\"12\">\r\n                        <v-card class=\"pa-2\"\r\n                                outlined\r\n                                tile\r\n                                @click=\"rulefilter = 'Active'\">\r\n                            Active\r\n                        </v-card>\r\n                    </v-col>\r\n                    <v-col sm=\"4\" cols=\"12\">\r\n                        <v-card class=\"pa-2\"\r\n                                outlined\r\n                                tile\r\n                                @click=\"rulefilter = 'Transferred'\">\r\n                            Transferred, Repealed, Superseded\r\n                        </v-card>\r\n                    </v-col>\r\n                    <v-col sm=\"4\" cols=\"12\">\r\n                        <v-card class=\"pa-2\"\r\n                                outlined\r\n                                tile\r\n                                @click=\"rulefilter = 'Reserved'\">\r\n                            Reserved\r\n                        </v-card>\r\n                    </v-col>\r\n                </v-row>\r\n            </v-container>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"filteredItems\"\r\n                                 item-key=\"RuleId\"\r\n                                 disable-pagination\r\n                                 :sort-desc=\"[false]\"\r\n                                 :loading=\"loading\"\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 hide-default-footer\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.Article=\"{ item }\">\r\n                    <router-link :to=\"'/Rules/Administrative/' + item.RuleNumber\" style=\"text-decoration: none;\">{{item.Article}}</router-link>\r\n                </template>\r\n\r\n                <template v-slot:item.CatchLine=\"{ item }\">\r\n                    <div class=\"hidden-md-and-up\">\r\n                        {{item.CatchLine}}\r\n                    </div>\r\n                    <div class=\"hidden-sm-and-down\">\r\n                        {{shortenCell(item.CatchLine)}}\r\n                    </div>\r\n                </template>\r\n                <template v-slot:no-data>\r\n                    <v-alert v-if=\"!loading\" :value=\"true\" type=\"info\">\r\n                        No Results\r\n                    </v-alert>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const GoogleSearchStatute = () => import(\"@/Components/GoogleSearchStatute.vue\");\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'AdminRules',\r\n        props: [],\r\n        components: {\r\n            GoogleSearchStatute,\r\n            Sidebar,\r\n            FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n\r\n                this.createBreadcrumbs('Administrative Rules', '/Rules/Administrative');\r\n\r\n                fetch('/api/Rules',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            return res.text().then(r => Promise.reject(r));\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.items = EncodeDatetimes(response);\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        if (error == 404)\r\n                            window.location.href = \"/404?path=\" + encodeURIComponent(window.location.pathname);\r\n                        else if (error != 302)\r\n                        {\r\n                            let e = String(error).substring(0, 100);\r\n\r\n                            if ((e || '').indexOf('Failed to fetch') > -1)\r\n                            {\r\n                                window.location.href = \"/400?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                            }\r\n                            else\r\n                            {\r\n                                reportError(error);\r\n                                window.location.href = \"/500?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                            }\r\n                        }\r\n                    })\r\n                    .finally(() =>\r\n                    {\r\n                        this.loading = false;\r\n                    });\r\n            },\r\n            createBreadcrumbs(route, url)\r\n            {\r\n                this.breadcrumbs = [{\r\n                    to: '/',\r\n                    link: true,\r\n                    text: 'Home',\r\n                }];\r\n\r\n                var bci2 = {\r\n                    to: '',\r\n                    link: true,\r\n                    text: '',\r\n                };\r\n                bci2.to = url;\r\n                bci2.text = route;\r\n                bci2.disabled = true;\r\n\r\n                this.breadcrumbs.push(bci2);\r\n            },\r\n            shortenCell(str)\r\n            {\r\n                if (str != null)\r\n                {\r\n                    if (str.length > 160)\r\n                    {\r\n                        return str.substring(0, 160);\r\n                    } else\r\n                    {\r\n                        return str;\r\n                    }\r\n                }\r\n            }\r\n\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                loading: false,\r\n                breadcrumbs: [],\r\n                items: [],\r\n                headers: [\r\n                    {\r\n                        text: 'Rule',\r\n                        value: 'Article',\r\n                        Type: 'Rule',\r\n                        width: '15ch'\r\n                    },\r\n                    {\r\n                        text: 'Agency',\r\n                        value: 'Agency',\r\n                        Type: 'Rule',\r\n                    },\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'Catchline',\r\n                        Type: 'Rule',\r\n                        width: '*'\r\n                    },\r\n\r\n                ],\r\n                rulefilter: \"Active\",\r\n            };\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            currentRoute()\r\n            {\r\n                this.items = [];\r\n                this.LoadData();\r\n            },\r\n            SessionId: {\r\n                handler()\r\n                {\r\n                    this.LoadData();\r\n                },\r\n            },\r\n        },\r\n        computed: {\r\n            currentRoute: function ()\r\n            {\r\n                return this.$route.path;\r\n            },\r\n            filteredItems: function ()\r\n            {\r\n                if (this.items && this.items.length > 0)\r\n                {\r\n                    if (this.rulefilter != 'All')\r\n                    {\r\n                        return this.items.filter(x => x.Status.Status1 == this.rulefilter).sort((a, b) => (a.Article > b.Article) ? 1 : -1);\r\n                    }\r\n                    else\r\n                    {\r\n                        return this.items;\r\n                    }\r\n                }\r\n                else\r\n                {\r\n                    return [];\r\n                }\r\n            },\r\n            Title: function ()\r\n            {\r\n                let title = \"Administrative Rules\";\r\n\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0].replace('rules', 'Rules').replace('administrative', 'Administrative').replace('statutes', 'Statutes').replace('constitution', 'Constitution').replace('codified_laws', 'Codified_Laws').replace('session_laws', 'Session_Laws') }\r\n                ]\r\n            };\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Rules.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Rules.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Rules.vue?vue&type=template&id=1480eb2c&\"\nimport script from \"./Rules.vue?vue&type=script&lang=js&\"\nexport * from \"./Rules.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VCard } 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 { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBreadcrumbs,VCard,VCol,VContainer,VDivider,VFlex,VLayout,VRow})\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VTooltip.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"08f90174\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('div',{staticClass:\"headline\"},[_vm._v(\" External Resources \")]),_c('v-list',_vm._l((_vm.Items),function(i){return _c('v-list-item',[_c('v-list-item-content',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":i.url}},[_vm._v(\" \"+_vm._s(i.name)+\" \")])])],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container>\r\n        <div class=\"headline\">\r\n            External Resources\r\n        </div>\r\n        <v-list>\r\n            <v-list-item v-for=\"i in Items\">\r\n                <v-list-item-content>\r\n                    <a rel=\"noopener\" :href=\"i.url\">\r\n                        {{i.name}}\r\n                    </a>\r\n                </v-list-item-content>\r\n            </v-list-item>\r\n        </v-list>\r\n    </v-container>\r\n</template>\r\n<script>\r\n    export default {\r\n        name: 'ExternalResources',\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n                Items: [\r\n                    { name: 'National Conference of State Legislatures', url: 'https://www.ncsl.org/' },\r\n                    { name: 'Council of State Governments', url: 'https://www.csg.org/' },\r\n                    { name: 'Education Commission of the States', url: 'https://www.ecs.org/' },\r\n                    { name: 'South Dakota Government Agencies', url: 'https://www.sd.gov/cs?id=content_category&category=dd2a73f21b3f30101c4fa97ae54bcb65' },\r\n                    { name: 'South Dakota Investment Council', url: 'https://sdic.sd.gov/' },\r\n                    { name: 'Department of Legislative Audit', url: 'https://legislativeaudit.sd.gov/' },\r\n                    { name: 'Code of Federal Regulations', url: 'https://www.law.cornell.edu/cfr/text' },\r\n                    { name: 'U.S. Code', url: 'https://www.law.cornell.edu/uscode/text' },\r\n                    { name: 'Lobbyist Registration', url: 'https://sosenterprise.sd.gov/businessservices/lobbyist/default.aspx' }\r\n                ],\r\n            }\r\n        },\r\n        mounted: function () {\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'External Resources';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ExternalResources.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ExternalResources.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ExternalResources.vue?vue&type=template&id=b0f4ad0e&\"\nimport script from \"./ExternalResources.vue?vue&type=script&lang=js&\"\nexport * from \"./ExternalResources.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\ninstallComponents(component, {VContainer,VList,VListItem,VListItemContent})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":\"\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" \"+_vm._s(_vm.filteredReportTypes.name)+\" \")]),_c('v-card-text',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},_vm._l((_vm.Years),function(y){return _c('v-flex',{staticStyle:{\"display\":\"inline\"},attrs:{\"md2\":\"\",\"xs12\":\"\"}},[_c('div',[_vm._v(\"Fiscal Year \"+_vm._s(y))]),_c('v-list',_vm._l((_vm.Documents(y)),function(d){return _c('v-list-item',[_c('v-list-item-content',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + d.DocumentType + '/' + d.DocumentId + '.pdf'}},[_vm._v(_vm._s(_vm.Month(d.DocumentDate)))])])],1)}),1)],1)}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-card flat>\r\n        <div class=\"headline\">\r\n            {{filteredReportTypes.name}}\r\n        </div>\r\n        <v-card-text>\r\n            <v-layout row wrap>\r\n                <v-flex md2 xs12 v-for=\"y in Years\" style=\"display:inline\">\r\n                    <div>Fiscal Year {{y}}</div>\r\n                    <v-list>\r\n                        <v-list-item v-for=\"d in Documents(y)\">\r\n                            <v-list-item-content>\r\n                                <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + d.DocumentType + '/' + d.DocumentId + '.pdf'\">{{Month(d.DocumentDate)}}</a>\r\n                            </v-list-item-content>\r\n                        </v-list-item>\r\n                    </v-list>\r\n                </v-flex>\r\n            </v-layout>\r\n        </v-card-text>\r\n    </v-card>\r\n</template>\r\n<script>\r\n    import moment from 'moment'\r\n\r\n    export default {\r\n        name: 'MonthlyReportCard',\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Documents/DocumentType?Type=32&Type=35&Type=31&Type=30&Type=42', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.items = EncodeDatetimes(response);\r\n                    this.loading = false;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            Documents(year) {\r\n                return this.items.filter(x => x.FiscalYear == year && x.DocumentTypeId == this.filteredReportTypes.DocTypeId);\r\n            },\r\n            Month(date) {\r\n                return moment(date, \"MM/DD/YYYY\").format(\"MMMM\");\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                ReportTypes: [\r\n                    { name: 'General Fund Receipts', route: '/Budget/GeneralFundReceipts', DocTypeId: 32 },\r\n                    { name: 'Expenditures & Encumbrances', route: '/Budget/Expenditures', DocTypeId: 35 },\r\n                    { name: 'Medical Services', route: '/Budget/MedicalServices', DocTypeId: 31 },\r\n                    { name: 'Trust Funds', route: '/Budget/TrustFunds', DocTypeId: 30 },\r\n                    { name: 'Prison Populations', route: '/Budget/PrisonPopulations', DocTypeId: 42 }\r\n                ],\r\n                items: [],\r\n                loading: true,\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            currentRoute: function () {\r\n                return this.$route.path;\r\n            },\r\n            filteredReportTypes: function () {\r\n                return this.ReportTypes.find(x => x.route == this.currentRoute);\r\n            },\r\n            Years: function () {\r\n                if (this.items != undefined) {\r\n                    var docDates = this.items.filter(x => x.DocumentTypeId == this.filteredReportTypes.DocTypeId).map(a => a.FiscalYear);\r\n                    if (docDates.length > 0) {\r\n                        var unique = [...new Set(docDates)].sort().reverse();\r\n                        //this.Year = unique[0];\r\n                        return unique;\r\n                    } else {\r\n                        return [];\r\n                    }\r\n                } else {\r\n                    return [];\r\n                }\r\n            },\r\n            Title: function () {\r\n                let title = 'Monthly Report';\r\n                if(this.filteredReportTypes){\r\n                    title = this.filteredReportTypes.name;\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./MonthlyReportCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./MonthlyReportCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MonthlyReportCard.vue?vue&type=template&id=d813e0c6&\"\nimport script from \"./MonthlyReportCard.vue?vue&type=script&lang=js&\"\nexport * from \"./MonthlyReportCard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } 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';\ninstallComponents(component, {VCard,VCardText,VFlex,VLayout,VList,VListItem,VListItemContent})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('v-card',{staticClass:\"pa-xs-0 ma-xs-0\",attrs:{\"flat\":\"\"}},[(_vm.Member)?_c('v-card-title',[(_vm.Member.MemberType=='H')?_c('span',[_vm._v(\"Representative \")]):_vm._e(),(_vm.Member.MemberType=='S')?_c('span',[_vm._v(\"Senator \")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.Member.FirstLastName)+\" - \"),_c('span',[_vm._v(_vm._s(_vm.Member.Year))])]):_vm._e(),_c('v-card-text',{staticClass:\"pa-xs-0 ma-xs-0\"},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('v-tabs',{staticClass:\"pb-md-2\",attrs:{\"show-arrows\":\"\"}},_vm._l((_vm.tabs),function(i){return _c('v-tab',{key:i.value,attrs:{\"to\":i.Path},on:{\"click\":function($event){return _vm.switchTab(i)}}},[_vm._v(\" \"+_vm._s(i.value)+\" \")])}),1),_c('router-view',{attrs:{\"SessionMemberId\":_vm.SessionMemberId}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <v-card flat class=\"pa-xs-0 ma-xs-0\">\r\n                <v-card-title v-if=\"Member\">\r\n                    <span v-if=\"Member.MemberType=='H'\">Representative&nbsp;</span>\r\n                    <span v-if=\"Member.MemberType=='S'\">Senator&nbsp;</span>\r\n                    {{Member.FirstLastName }} -&nbsp;<span>{{Member.Year }}</span>\r\n                </v-card-title>\r\n                <v-card-text class=\"pa-xs-0 ma-xs-0\">\r\n\r\n                    <v-progress-linear indeterminate\r\n                                       v-if=\"loading\"></v-progress-linear>\r\n                    <v-tabs show-arrows class=\"pb-md-2\">\r\n                        <v-tab v-for=\"i in tabs\"\r\n                               :key=\"i.value\"\r\n                               @click=\"switchTab(i)\"\r\n                               :to=\"i.Path\">\r\n\r\n                            {{ i.value }}\r\n                        </v-tab>\r\n                    </v-tabs>\r\n                    <router-view :SessionMemberId=\"SessionMemberId\"></router-view>\r\n                </v-card-text>\r\n            </v-card>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    import moment from 'moment'\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n\r\n    export default {\r\n        name: 'Profile',\r\n        props: ['SessionMemberId'],\r\n        components: {\r\n            Sidebar\r\n        },\r\n        methods: {\r\n            switchTab(item) {\r\n                this.filterValue = item;\r\n            },\r\n            LoadData() {\r\n                fetch('/api/SessionMembers/Detail/' + this.SessionMemberId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.loading = false;\r\n                    this.Member = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            MeetingTimePretty(Time) {\r\n                if (Time != undefined) {\r\n                    return moment(Time).format('h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            DateTimePretty(Time) {\r\n                if (Time != undefined) {\r\n                    return moment(Time).format('M/DD/YYYY h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            }\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: true,\r\n                filterValue: 'Detail',\r\n\r\n                Member: {\r\n\r\n                    Year: null,\r\n                    Picture: \"\"\r\n                },\r\n            }\r\n        },\r\n        mounted: function () {\r\n            if (this.$route.query.Tab != null) {\r\n                this.activeTab = this.$route.query.Tab;\r\n                this.filterValue = this.$route.query.Tab;\r\n            }\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            SessionMemberId: {\r\n                handler() {\r\n                    this.LoadData();\r\n                },\r\n            },\r\n        },\r\n        computed: {\r\n            tabs: function () {\r\n                return [\r\n                    {\r\n                        Id: 0, value: 'Detail', type: 'All', Path: \"/Legislators/Profile/\" + this.SessionMemberId + \"/Detail\"\r\n                    },\r\n                    {\r\n                        Id: 1, value: 'Committees', type: 'All', Path: \"/Legislators/Profile/\" + this.SessionMemberId + \"/Committees\"\r\n                    },\r\n                    {\r\n                        Id: 2, value: 'Bills', type: 'All', Path: \"/Legislators/Profile/\" + this.SessionMemberId + \"/Bills\"\r\n                    },\r\n                    {\r\n                        Id: 3, value: 'Hearings', type: 'All', Path: \"/Legislators/Profile/\" + this.SessionMemberId + \"/Hearings\"\r\n                    },\r\n                ];\r\n            },\r\n            Title: function () {\r\n                let title = 'Loading...';\r\n                if(this.Member && this.Member.FirstLastName){\r\n                    if(this.Member.MemberType == 'H'){\r\n                        title = 'Representative ';\r\n                    }\r\n                    else if(this.Member.MemberType == 'S'){\r\n                        title = 'Senator ';\r\n                    }\r\n                    else{\r\n                        title = '';\r\n                    }\r\n                    title += this.Member.FirstLastName;\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            },\r\n            FirstName: function () {\r\n                let name = null;\r\n                if(this.Member && this.Member.FirstLastName){\r\n                    name = this.Member.FirstLastName.split(' ').shift()\r\n                }\r\n                return name;\r\n            },\r\n            LastName: function () {\r\n                let name = null;\r\n                if(this.Member && this.Member.FirstLastName){\r\n                    name = this.Member.FirstLastName.split(' ').pop()\r\n                }\r\n                return name;\r\n            },\r\n        },\r\n        metaInfo()\r\n        {\r\n            //https://stackoverflow.com/questions/286141/remove-blank-attributes-from-an-object-in-javascript\r\n            let removeEmpty = function (obj)\r\n            {\r\n                const newObj = {};\r\n\r\n                Object.entries(obj).forEach(([k, v]) =>\r\n                {\r\n                    if (Array.isArray(v))\r\n                    {\r\n                        newObj[k] = new Array();\r\n\r\n                        v.forEach(x =>\r\n                        {\r\n                            if (x === Object(x))\r\n                            {\r\n                                newObj[k].push(removeEmpty(x));\r\n                            }\r\n                            else if (x != null)\r\n                            {\r\n                                newObj[k].push(x);\r\n                            }\r\n                        });\r\n                    }\r\n                    else if (v === Object(v))\r\n                    {\r\n                        newObj[k] = removeEmpty(v);\r\n                    } else if (v != null)\r\n                    {\r\n                        newObj[k] = obj[k];\r\n                    }\r\n                });\r\n                return newObj;\r\n            }\r\n\r\n            let person = {\r\n                title: this.Title,\r\n                script: [\r\n                    {\r\n                        type: 'application/ld+json',\r\n                        json: {\r\n                            '@context': 'http://schema.org',\r\n                            '@type': 'Person',\r\n                            'name': (this.Member || {}).FirstLastName,\r\n                            'email': (this.Member || {}).EmailState,\r\n                            'telephone': (this.Member || {}).CapitolPhone,\r\n                            'image': (this.Member || {}).PictureSmall,\r\n                            \"address\":\r\n                            {\r\n                                \"@type\": \"PostalAddress\",\r\n                                \"addressLocality\": (this.Member || {}).HomeCity,\r\n                                \"addressRegion\": (this.Member || {}).HomeState,\r\n                                \"postalCode\": (this.Member || {}).HomeZip,\r\n                                \"streetAddress\": (this.Member || {}).HomeAddress1\r\n                            }\r\n                        }\r\n                    }],\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'profile' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:image', property: 'og:image', content: (this.Member || {}).PictureSmall },\r\n                    { vmid: 'og:image:width', property: 'og:image:width', content: '100' },\r\n                    { vmid: 'og:image:height', property: 'og:image:height', content: '130' },\r\n                    { vmid: 'profile:first_name', property: 'profile:first_name', content: this.FirstName },\r\n                    { vmid: 'profile:last_name', property: 'profile:last_name', content: this.LastName },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description },\r\n                    { vmid: 'twitter:image', name: 'twitter:image', content: (this.Member || {}).PictureSmall },\r\n                    { vmid: 'twitter:image:alt', name: 'twitter:image:alt', content: 'A Profile Picture of ' + (this.Member || {}).FirstLastName }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            };\r\n\r\n            person = removeEmpty(person);\r\n\r\n            return person;\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Profile.vue?vue&type=template&id=1f682b79&\"\nimport script from \"./Profile.vue?vue&type=script&lang=js&\"\nexport * from \"./Profile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VProgressLinear,VRow,VTab,VTabs})\n","import VCard from './VCard';\nimport { createSimpleFunctional } from '../../util/helpers';\nconst VCardActions = createSimpleFunctional('v-card__actions');\nconst VCardSubtitle = createSimpleFunctional('v-card__subtitle');\nconst VCardText = createSimpleFunctional('v-card__text');\nconst VCardTitle = createSimpleFunctional('v-card__title');\nexport { VCard, VCardActions, VCardSubtitle, VCardText, VCardTitle };\nexport default {\n  $_vuetify_subcomponents: {\n    VCard,\n    VCardActions,\n    VCardSubtitle,\n    VCardText,\n    VCardTitle\n  }\n};\n//# sourceMappingURL=index.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\"Statehood Legislators \"),_c('v-chip',[_vm._v(_vm._s(_vm.items.length))])],1),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"MemberId + Year\",\"sort-by\":['Year'],\"sort-desc\":[true],\"loading\":_vm.loading,\"items-per-page\":999,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Historical/Legislator/Profile/' + item.MemberId}},[_vm._v(_vm._s(item.Name))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">Statehood Legislators <v-chip>{{items.length}}</v-chip></div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"items\"\r\n                                 item-key=\"MemberId + Year\"\r\n                                 :sort-by=\"['Year']\"\r\n                                 :sort-desc=\"[true]\"\r\n                                 :loading=\"loading\"\r\n                                 :items-per-page=\"999\"\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.Name=\"{ item }\">\r\n                    <router-link :to=\"'/Historical/Legislator/Profile/' + item.MemberId\">{{item.Name}}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Statehood',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                fetch('/api/Historical/Statehood', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    if (res.ok)\r\n                        return res.json();\r\n\r\n                    else\r\n                        throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    if (response)\r\n                        this.items = response;\r\n\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                }).finally(_ =>\r\n                {\r\n                    this.loading = false;\r\n                });\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                search: '',\r\n                loading: true,\r\n                items: [],\r\n                headers: [\r\n                    { text: 'Name', value: 'Name' },\r\n                    { text: 'Birthdate', value: 'Birthdate' },\r\n                    { text: 'Deathdate', value: 'Deathdate' },\r\n                    { text: 'Years', value: 'Years' },\r\n                    { text: 'Remarks', value: 'Remarks' },\r\n                ],\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Statehood.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Statehood.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Statehood.vue?vue&type=template&id=3901f967&\"\nimport script from \"./Statehood.vue?vue&type=script&lang=js&\"\nexport * from \"./Statehood.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-responsive{position:relative;overflow:hidden;flex:1 0 auto;max-width:100%;display:flex}.v-responsive__content{flex:1 0 0px;max-width:100%}.v-application--is-ltr .v-responsive__sizer~.v-responsive__content{margin-left:-100%}.v-application--is-rtl .v-responsive__sizer~.v-responsive__content{margin-right:-100%}.v-responsive__sizer{transition:padding-bottom .2s cubic-bezier(.25,.8,.5,1);flex:1 0 0px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import VIcon from './VIcon';\nexport { VIcon };\nexport default VIcon;\n//# sourceMappingURL=index.js.map","// Utilities\nimport { removed } from '../../util/console'; // Types\n\nimport Vue from 'vue';\n/**\n * Bootable\n * @mixin\n *\n * Used to add lazy content functionality to components\n * Looks for change in \"isActive\" to automatically boot\n * Otherwise can be set manually\n */\n\n/* @vue/component */\n\nexport default Vue.extend().extend({\n  name: 'bootable',\n  props: {\n    eager: Boolean\n  },\n  data: () => ({\n    isBooted: false\n  }),\n  computed: {\n    hasContent() {\n      return this.isBooted || this.eager || this.isActive;\n    }\n\n  },\n  watch: {\n    isActive() {\n      this.isBooted = true;\n    }\n\n  },\n\n  created() {\n    /* istanbul ignore next */\n    if ('lazy' in this.$attrs) {\n      removed('lazy', this);\n    }\n  },\n\n  methods: {\n    showLazyContent(content) {\n      return this.hasContent && content ? content() : [this.$createElement()];\n    }\n\n  }\n});\n//# sourceMappingURL=index.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('RedistrictingMenu')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_c('h3',[_vm._v(\" Redistricting Court Cases \")])]),_c('v-card-text',[_c('h3',[_c('b',[_vm._v(\"South Dakota Court Cases\")])]),_c('ul',[_c('li',{staticClass:\"pb-3\"},[_c('b',[_vm._v(\" Bone Shirt v. Hazeltine, 200 F. Supp. 2d 1150 (D.S.D. 2002) \")]),_c('br'),_vm._v(\" Voting Rights Act\"),_c('br'),_c('a',{attrs:{\"href\":\"https://law.justia.com/cases/federal/district-courts/FSupp2/200/1150/2422078/\"}},[_vm._v(\"District Court Decision\")])])]),_c('h3',[_c('b',[_vm._v(\"Selected Federal Redistricting Decisions\")])]),_c('ul',[_c('li',{staticClass:\"pb-3\"},[_c('b',[_vm._v(\"Baker v. Carr, 369 U.S. 186 (1962)\")]),_c('br'),_vm._v(\" Equal Protection\"),_c('br'),_c('a',{attrs:{\"href\":\"http://www.oyez.org/cases/1960-1969/1960/1960_6\"}},[_vm._v(\"Oyez Synopsis\")]),_c('br'),_c('a',{attrs:{\"href\":\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep369/usrep369186/usrep369186.pdf\"}},[_vm._v(\"Supreme Court Decision [External PDF]\")])]),_c('li',{staticClass:\"pb-3\"},[_c('b',[_vm._v(\"Reynolds v. Sims, 377 U. S. 533 (1964)\")]),_c('br'),_vm._v(\" Equal Protection\"),_c('br'),_c('a',{attrs:{\"href\":\"http://www.oyez.org/cases/1960-1969/1963/1963_23\"}},[_vm._v(\"Oyez Synopsis\")]),_c('br'),_c('a',{attrs:{\"href\":\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep377/usrep377533/usrep377533.pdf\"}},[_vm._v(\"Supreme Court Decision [External PDF]\")])]),_c('li',{staticClass:\"pb-3\"},[_c('b',[_vm._v(\"Evenwel v. Abbott, 578 U.S. __ (2016)\")]),_c('br'),_vm._v(\" Equal Protection\"),_c('br'),_c('a',{attrs:{\"href\":\"https://www.oyez.org/cases/2015/14-940\"}},[_vm._v(\"Oyez Synopsis\")]),_c('br'),_c('a',{attrs:{\"href\":\"https://www.supremecourt.gov/opinions/15pdf/14-940_ed9g.PDF\"}},[_vm._v(\"Supreme Court Decision [External PDF]\")])]),_c('li',{staticClass:\"pb-3\"},[_c('b',[_vm._v(\"White v. Regester, 412 U.S. 755 (1973)\")]),_c('br'),_vm._v(\" Voting Rights Act\"),_c('br'),_c('a',{attrs:{\"href\":\"https://www.oyez.org/cases/1972/72-147\"}},[_vm._v(\"Oyez Synopsis\")]),_c('br'),_c('a',{attrs:{\"href\":\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep412/usrep412755/usrep412755.pdf\"}},[_vm._v(\"Supreme Court Decision [External PDF]\")])]),_c('li',{staticClass:\"pb-3\"},[_c('b',[_vm._v(\"Thornburg v. Gingles, 478 U.S. 30 (1986)\")]),_c('br'),_vm._v(\" Voting Rights Act\"),_c('br'),_c('a',{attrs:{\"href\":\"http://www.oyez.org/cases/1980-1989/1985/1985_83_1968\"}},[_vm._v(\"Oyez Synopsis\")]),_c('br'),_c('a',{attrs:{\"href\":\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep478/usrep478030/usrep478030.pdf\"}},[_vm._v(\" Supreme Court Decision [External PDF]\")])]),_c('li',{staticClass:\"pb-3\"},[_c('b',[_vm._v(\"Shaw V. Reno, - 509 U.S. 630 (1993)\")]),_c('br'),_vm._v(\" Voting Rights Act\"),_c('br'),_c('a',{attrs:{\"href\":\"http://www.oyez.org/cases/1990-1999/1992/1992_92_357\"}},[_vm._v(\" Oyez Synopsis\")]),_c('br'),_c('a',{attrs:{\"href\":\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep509/usrep509630/usrep509630.pdf\"}},[_vm._v(\"Supreme Court Decision [External PDF]\")])]),_c('li',{staticClass:\"pb-3\"},[_c('b',[_vm._v(\"Miller v. Johnson - 515 U.S. 900 (1995)\")]),_c('br'),_vm._v(\" Voting Rights Act\"),_c('br'),_c('a',{attrs:{\"href\":\"http://www.oyez.org/cases/1990-1999/1994/1994_94_631\"}},[_vm._v(\"Oyez Synopsis\")]),_c('br'),_c('a',{attrs:{\"href\":\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep515/usrep515900/usrep515900.pdf\"}},[_vm._v(\"Supreme Court Decision [External PDF]\")])]),_c('li',{staticClass:\"pb-3\"},[_c('b',[_vm._v(\"Bush v. Vera, 517 U.S. 952 (1996)\")]),_c('br'),_vm._v(\" Voting Rights Act\"),_c('br'),_c('a',{attrs:{\"href\":\"http://www.oyez.org/cases/1990-1999/1995/1995_94_805\"}},[_vm._v(\"Oyez Synopsis\")]),_c('br'),_c('a',{attrs:{\"href\":\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep517/usrep517952/usrep517952.pdf\"}},[_vm._v(\"Supreme Court Decision [External PDF]\")])]),_c('li',{staticClass:\"pb-3\"},[_c('b',[_vm._v(\"Hunt v. Cromartie 532 U.S. 234 (2001)\")]),_c('br'),_vm._v(\" Voting Rights Act\"),_c('br'),_c('a',{attrs:{\"href\":\"http://www.oyez.org/cases/2000-2009/2000/2000_99_1864\"}},[_vm._v(\"Oyez Synopsis\")]),_c('br'),_c('a',{attrs:{\"href\":\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep532/usrep532234/usrep532234.pdf\"}},[_vm._v(\"Supreme Court Decision [External PDF]\")])]),_c('li',{staticClass:\"pb-3\"},[_c('b',[_vm._v(\"Shelby County v. Holder, 570 U.S. 529 (2013)\")]),_c('br'),_vm._v(\" Voting Rights Act\"),_c('br'),_c('a',{attrs:{\"href\":\"https://www.oyez.org/cases/2012/12-96\"}},[_vm._v(\"Oyez Synopsis\")]),_c('br'),_c('a',{attrs:{\"href\":\"https://www.justice.gov/sites/default/files/crt/legacy/2013/02/05/shelbymerits.pdf\"}},[_vm._v(\"Supreme Court Decision[External PDF]\")])]),_c('li',{staticClass:\"pb-3\"},[_c('b',[_vm._v(\"Alabama Legislative Black Caucus v. Alabama, 575 U.S. __ (2015)\")]),_c('br'),_vm._v(\" Voting Rights Act\"),_c('br'),_c('a',{attrs:{\"href\":\"https://www.oyez.org/cases/2014/13-895\"}},[_vm._v(\"Oyez Synopsis\")]),_c('br'),_c('a',{attrs:{\"href\":\"https://www.supremecourt.gov/opinions/14pdf/13-895_o7jq.pdf\"}},[_vm._v(\"Supreme Court Decision [External PDF]\")])]),_c('li',{staticClass:\"pb-3\"},[_c('b',[_vm._v(\"Rucho v. Common Cause, 588 US __ (2019)\")]),_c('br'),_vm._v(\" Partisanship\"),_c('br'),_c('a',{attrs:{\"href\":\"https://www.oyez.org/cases/2018/18-422\"}},[_vm._v(\"Oyez Synopsis\")]),_c('br'),_c('a',{attrs:{\"href\":\"https://www.supremecourt.gov/opinions/18pdf/18-422_9ol1.pdf\"}},[_vm._v(\"Supreme Court Decision [External PDF]\")])])])])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n<template>\r\n    <v-container fluid>\r\n        <v-row no-gutters>\r\n            <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n                <RedistrictingMenu></RedistrictingMenu>\r\n            </v-col>\r\n            <v-col md=\"10\" sm=\"12\" cols=\"12\">\r\n                <v-card flat>\r\n                    <v-card-title>\r\n                        <h3>\r\n                            Redistricting Court Cases\r\n                        </h3>\r\n                    </v-card-title>\r\n                    <v-card-text>\r\n                        <h3>\r\n                            <b>South Dakota Court Cases</b>\r\n                        </h3>\r\n                        <ul>\r\n                            <li class=\"pb-3\">\r\n                                <b>\r\n                                    Bone Shirt v. Hazeltine, 200 F. Supp. 2d 1150 (D.S.D. 2002)\r\n                                </b><br />\r\n                                Voting Rights Act<br />\r\n                                <a href=\"https://law.justia.com/cases/federal/district-courts/FSupp2/200/1150/2422078/\">District Court Decision</a>\r\n                            </li>\r\n                        </ul>\r\n                        <h3>\r\n                            <b>Selected Federal Redistricting Decisions</b>\r\n                        </h3>\r\n                        <ul>\r\n                            <li class=\"pb-3\">\r\n                                <b>Baker v. Carr, 369 U.S. 186 (1962)</b><br />\r\n                                Equal Protection<br />\r\n                                <a href=\"http://www.oyez.org/cases/1960-1969/1960/1960_6\">Oyez Synopsis</a><br />\r\n                                <a href=\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep369/usrep369186/usrep369186.pdf\">Supreme Court Decision [External PDF]</a>\r\n                            </li>\r\n                            <li class=\"pb-3\">\r\n                                <b>Reynolds v. Sims, 377 U. S. 533 (1964)</b><br />\r\n                                Equal Protection<br />\r\n                                <a href=\"http://www.oyez.org/cases/1960-1969/1963/1963_23\">Oyez Synopsis</a><br />\r\n                                <a href=\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep377/usrep377533/usrep377533.pdf\">Supreme Court Decision [External PDF]</a>\r\n                            </li>\r\n                            <li class=\"pb-3\">\r\n                                <b>Evenwel v. Abbott, 578 U.S. __ (2016)</b><br />\r\n                                Equal Protection<br />\r\n                                <a href=\"https://www.oyez.org/cases/2015/14-940\">Oyez Synopsis</a><br />\r\n                                <a href=\"https://www.supremecourt.gov/opinions/15pdf/14-940_ed9g.PDF\">Supreme Court Decision [External PDF]</a>\r\n                            </li>\r\n                            <li class=\"pb-3\">\r\n                                <b>White v. Regester, 412 U.S. 755 (1973)</b><br />\r\n                                Voting Rights Act<br />\r\n                                <a href=\"https://www.oyez.org/cases/1972/72-147\">Oyez Synopsis</a><br />\r\n                                <a href=\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep412/usrep412755/usrep412755.pdf\">Supreme Court Decision [External PDF]</a>\r\n                            </li>\r\n                            <li class=\"pb-3\">\r\n                                <b>Thornburg v. Gingles, 478 U.S. 30 (1986)</b><br />\r\n                                Voting Rights Act<br />\r\n                                <a href=\"http://www.oyez.org/cases/1980-1989/1985/1985_83_1968\">Oyez Synopsis</a><br />\r\n                                <a href=\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep478/usrep478030/usrep478030.pdf\"> Supreme Court Decision [External PDF]</a>\r\n                            </li>\r\n                            <li class=\"pb-3\">\r\n                                <b>Shaw V. Reno, - 509 U.S. 630 (1993)</b><br />\r\n                                Voting Rights Act<br />\r\n                                <a href=\"http://www.oyez.org/cases/1990-1999/1992/1992_92_357\"> Oyez Synopsis</a><br />\r\n                                <a href=\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep509/usrep509630/usrep509630.pdf\">Supreme Court Decision [External PDF]</a>\r\n                            </li>\r\n                            <li class=\"pb-3\">\r\n                                <b>Miller v. Johnson - 515 U.S. 900 (1995)</b><br />\r\n                                Voting Rights Act<br />\r\n                                <a href=\"http://www.oyez.org/cases/1990-1999/1994/1994_94_631\">Oyez Synopsis</a><br />\r\n                                <a href=\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep515/usrep515900/usrep515900.pdf\">Supreme Court Decision [External PDF]</a>\r\n                            </li>\r\n                            <li class=\"pb-3\">\r\n                                <b>Bush v. Vera, 517 U.S. 952 (1996)</b><br />\r\n                                Voting Rights Act<br />\r\n                                <a href=\"http://www.oyez.org/cases/1990-1999/1995/1995_94_805\">Oyez Synopsis</a><br />\r\n                                <a href=\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep517/usrep517952/usrep517952.pdf\">Supreme Court Decision [External PDF]</a>\r\n                            </li>\r\n                            <li class=\"pb-3\">\r\n                                <b>Hunt v. Cromartie 532 U.S. 234 (2001)</b><br />\r\n                                Voting Rights Act<br />\r\n                                <a href=\"http://www.oyez.org/cases/2000-2009/2000/2000_99_1864\">Oyez Synopsis</a><br />\r\n                                <a href=\"https://tile.loc.gov/storage-services/service/ll/usrep/usrep532/usrep532234/usrep532234.pdf\">Supreme Court Decision [External PDF]</a>\r\n                            </li>\r\n                            <li class=\"pb-3\">\r\n                                <b>Shelby County v. Holder, 570 U.S. 529 (2013)</b><br />\r\n                                Voting Rights Act<br />\r\n                                <a href=\"https://www.oyez.org/cases/2012/12-96\">Oyez Synopsis</a><br />\r\n                                <a href=\"https://www.justice.gov/sites/default/files/crt/legacy/2013/02/05/shelbymerits.pdf\">Supreme Court Decision[External PDF]</a>\r\n                            </li>\r\n                            <li class=\"pb-3\">\r\n                                <b>Alabama Legislative Black Caucus v. Alabama, 575 U.S. __ (2015)</b><br />\r\n                                Voting Rights Act<br />\r\n                                <a href=\"https://www.oyez.org/cases/2014/13-895\">Oyez Synopsis</a><br />\r\n                                <a href=\"https://www.supremecourt.gov/opinions/14pdf/13-895_o7jq.pdf\">Supreme Court Decision [External PDF]</a>\r\n                            </li>\r\n                            <li class=\"pb-3\">\r\n                                <b>Rucho v. Common Cause, 588 US __ (2019)</b><br />\r\n                                Partisanship<br />\r\n                                <a href=\"https://www.oyez.org/cases/2018/18-422\">Oyez Synopsis</a><br />\r\n                                <a href=\"https://www.supremecourt.gov/opinions/18pdf/18-422_9ol1.pdf\">Supreme Court Decision [External PDF]</a>\r\n                            </li>\r\n                        </ul>\r\n\r\n                    </v-card-text>\r\n                </v-card>\r\n            </v-col>\r\n        </v-row>\r\n    </v-container>\r\n\r\n</template>\r\n<script>\r\n    const RedistrictingMenu = () => import(\"@/Redistricting/RedistrictingMenu.vue\");\r\n\r\n    export default {\r\n        name: 'CourtCases',\r\n        components: {\r\n            RedistrictingMenu\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n\r\n        },\r\n        watch: {\r\n\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Redistricting Court Cases';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtCases.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CourtCases.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CourtCases.vue?vue&type=template&id=53160cc9&\"\nimport script from \"./CourtCases.vue?vue&type=script&lang=js&\"\nexport * from \"./CourtCases.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VContainer,VRow})\n","import \"../../../src/components/VCheckbox/VSimpleCheckbox.sass\";\nimport Ripple from '../../directives/ripple';\nimport Vue from 'vue';\nimport { VIcon } from '../VIcon'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Themeable from '../../mixins/themeable'; // Utilities\n\nimport mergeData from '../../util/mergeData';\nimport { wrapInArray } from '../../util/helpers';\nexport default Vue.extend({\n  name: 'v-simple-checkbox',\n  functional: true,\n  directives: {\n    Ripple\n  },\n  props: { ...Colorable.options.props,\n    ...Themeable.options.props,\n    disabled: Boolean,\n    ripple: {\n      type: Boolean,\n      default: true\n    },\n    value: Boolean,\n    indeterminate: Boolean,\n    indeterminateIcon: {\n      type: String,\n      default: '$checkboxIndeterminate'\n    },\n    onIcon: {\n      type: String,\n      default: '$checkboxOn'\n    },\n    offIcon: {\n      type: String,\n      default: '$checkboxOff'\n    }\n  },\n\n  render(h, {\n    props,\n    data,\n    listeners\n  }) {\n    const children = [];\n    let icon = props.offIcon;\n    if (props.indeterminate) icon = props.indeterminateIcon;else if (props.value) icon = props.onIcon;\n    children.push(h(VIcon, Colorable.options.methods.setTextColor(props.value && props.color, {\n      props: {\n        disabled: props.disabled,\n        dark: props.dark,\n        light: props.light\n      }\n    }), icon));\n\n    if (props.ripple && !props.disabled) {\n      const ripple = h('div', Colorable.options.methods.setTextColor(props.color, {\n        staticClass: 'v-input--selection-controls__ripple',\n        directives: [{\n          def: Ripple,\n          name: 'ripple',\n          value: {\n            center: true\n          }\n        }]\n      }));\n      children.push(ripple);\n    }\n\n    return h('div', mergeData(data, {\n      class: {\n        'v-simple-checkbox': true,\n        'v-simple-checkbox--disabled': props.disabled\n      },\n      on: {\n        click: e => {\n          e.stopPropagation();\n\n          if (data.on && data.on.input && !props.disabled) {\n            wrapInArray(data.on.input).forEach(f => f(!props.value));\n          }\n        }\n      }\n    }), [h('div', {\n      staticClass: 'v-input--selection-controls__input'\n    }, children)]);\n  }\n\n});\n//# sourceMappingURL=VSimpleCheckbox.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-date-picker-table .v-date-picker-table--date__week,.theme--light.v-date-picker-table th{color:rgba(0,0,0,.38)}.theme--dark.v-date-picker-table .v-date-picker-table--date__week,.theme--dark.v-date-picker-table th{color:hsla(0,0%,100%,.5)}.v-date-picker-table{position:relative;padding:0 12px;height:242px}.v-date-picker-table table{transition:.3s cubic-bezier(.25,.8,.5,1);top:0;table-layout:fixed;width:100%}.v-date-picker-table td,.v-date-picker-table th{text-align:center;position:relative}.v-date-picker-table th{font-size:12px}.v-date-picker-table--date .v-btn{height:32px;width:32px}.v-date-picker-table .v-btn{z-index:auto;margin:0;font-size:12px}.v-date-picker-table .v-btn.v-btn--active{color:#fff}.v-date-picker-table--month td{width:33.333333%;height:56px;vertical-align:middle;text-align:center}.v-date-picker-table--month td .v-btn{margin:0 auto;max-width:140px;min-width:40px;width:100%}.v-date-picker-table--date th{padding:8px 0;font-weight:600}.v-date-picker-table--date td{width:45px}.v-date-picker-table__events{height:8px;left:0;position:absolute;text-align:center;white-space:pre;width:100%}.v-date-picker-table__events>div{border-radius:50%;display:inline-block;height:8px;margin:0 1px;width:8px}.v-date-picker-table--date .v-date-picker-table__events{bottom:6px}.v-date-picker-table--month .v-date-picker-table__events{bottom:8px}.v-date-picker-table__current .v-date-picker-table__events{margin-bottom:-1px}.v-date-picker-table--disabled{pointer-events:none}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"md\":\"2\",\"cols\":\"12\"}},[_c('RedistrictingMenu')],1),_c('v-col',{attrs:{\"md\":\"10\",\"cols\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_c('h3',[_vm._v(\"Redistricting\")])]),_c('v-card-text',[_c('h3',[_vm._v(\" Redistricting in South Dakota \")]),_c('p',[_vm._v(\" Every year after the census is completed, the South Dakota Legislature is constitutionally required to redraw its legislative district boundaries to accommodate shifts in population and ensure equal representation to all South Dakotans. These new boundaries are then implemented across South Dakota for the next ten years. \")]),_c('h3',[_vm._v(\" Census Apportionment Numbers \")]),_c('p',[_vm._v(\" On April 26, 2021, the U.S. Census Bureau announced the population totals for the 2020 Census. While South Dakota's total population has been calculated, the data used for redistricting will not be available until August. More information on the data can be found on the Bureau's website. \")]),_c('p',[_vm._v(\" South Dakota Resident Population: 886,667 \")]),_c('p',[_vm._v(\" Average Population per State Senate District: 25,333 \")]),_c('p',[_c('a',{staticStyle:{\"font-size\":\"16.3px\",\"font-weight\":\"bold\"},attrs:{\"href\":\"/Legislators/Find?activeLayer=2021\"}},[_vm._v(\"2021 Adopted Map\")])]),_c('h3',[_vm._v(\" 2021 Special Legislative Session on Redistricting \")]),_c('p',[_c('v-container',{attrs:{\"fluid\":\"\",\"pa-0\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_vm._v(\" House \"),_c('table',{staticClass:\"table-dates\",staticStyle:{\"width\":\"100%\"}},[_c('tr',[_c('th',[_vm._v(\"Name\")])]),_vm._l((_vm.houseMaps),function(h){return _c('tr',[_c('td',[_c('a',{attrs:{\"href\":'https://mylrc.sdlegislature.gov/api/documents/' + h.DocumentId + '.pdf'}},[_vm._v(_vm._s(h.Title))])])])})],2)]),_c('v-col',{attrs:{\"cols\":\"6\"}},[_vm._v(\" Senate \"),_c('table',{staticClass:\"table-dates\",staticStyle:{\"width\":\"100%\"}},[_c('tr',[_c('th',[_vm._v(\"Name\")])]),_vm._l((_vm.senateMaps),function(s){return _c('tr',[_c('td',[_c('a',{attrs:{\"href\":'https://mylrc.sdlegislature.gov/api/documents/' + s.DocumentId + '.pdf'}},[_vm._v(_vm._s(s.Title))])])])})],2)])],1)],1)],1),_c('h3',[_vm._v(\" Interim Committee Proposed Maps \")]),_c('p',[_c('v-container',{attrs:{\"fluid\":\"\",\"pa-0\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_vm._v(\" House Legislative Redistricting Committee \"),_c('table',{staticClass:\"table-dates\",staticStyle:{\"width\":\"100%\"}},[_c('tr',[_c('th',[_vm._v(\"Name\")])]),_vm._l((_vm.house),function(h){return _c('tr',[_c('td',[_c('a',{attrs:{\"href\":'https://mylrc.sdlegislature.gov/api/documents/' + h.DocumentId + '.pdf'}},[_vm._v(_vm._s(h.Title))])])])})],2)]),_c('v-col',{attrs:{\"cols\":\"6\"}},[_vm._v(\" Senate Legislative Redistricting Committee \"),_c('table',{staticClass:\"table-dates\",staticStyle:{\"width\":\"100%\"}},[_c('tr',[_c('th',[_vm._v(\"Name\")])]),_vm._l((_vm.senate),function(s){return _c('tr',[_c('td',[_c('a',{attrs:{\"href\":'https://mylrc.sdlegislature.gov/api/documents/' + s.DocumentId + '.pdf'}},[_vm._v(_vm._s(s.Title))])])])})],2)])],1)],1)],1),_c('h3',[_vm._v(\" Itinerary for October Tour \")]),_c('p',[_c('table',{staticClass:\"table-dates\"},[_c('tr',[_c('th',[_vm._v(\"City\")]),_c('th',[_vm._v(\"Date\")]),_c('th',[_vm._v(\"Time\")]),_c('th',[_vm._v(\"Location\")]),_c('th',[_vm._v(\"Address\")]),_c('th',[_vm._v(\"Room\")])]),_c('tr',[_c('td',[_vm._v(\"Rapid City\")]),_c('td',[_vm._v(\"October 11th\")]),_c('td',[_vm._v(\"8am (MST)\")]),_c('td',[_vm._v(\"Black Hills State University\")]),_c('td',[_vm._v(\"4300 Cheyenne Boulevard, Box Elder, SD 57719\")]),_c('td',[_vm._v(\"Room 112\")])]),_c('tr',[_c('td',[_vm._v(\"Mission\")]),_c('td',[_vm._v(\"October 11th\")]),_c('td',[_vm._v(\"4pm\")]),_c('td',[_vm._v(\"Rosebud Casino\"),_c('sup',[_c('b',[_vm._v(\"(1)(2)\")])])]),_c('td',[_vm._v(\"30421 U.S. Hwy 83, Valentine, NE\"),_c('sup',[_c('b',[_vm._v(\"(1)(2)\")])])]),_c('td',[_vm._v(\"Entertainment Center\"),_c('sup',[_c('b',[_vm._v(\"(1)(2)\")])])])]),_c('tr',[_c('td',[_vm._v(\"Mobridge\")]),_c('td',[_vm._v(\"October 12th\")]),_c('td',[_vm._v(\"8am\")]),_c('td',[_vm._v(\"Wrangler Inn\")]),_c('td',[_vm._v(\"820 W Grand Crossing, Mobridge, SD 57601\")]),_c('td',[_vm._v(\"Wranger Inn Conference Room\")])]),_c('tr',[_c('td',[_vm._v(\"Aberdeen\")]),_c('td',[_vm._v(\"October 12th\")]),_c('td',[_vm._v(\"1pm\")]),_c('td',[_vm._v(\"Aberdeen Recreation & Cultural Center\")]),_c('td',[_vm._v(\"225 3rd Ave SE, Aberdeen, SD 57401\")]),_c('td',[_vm._v(\"TBD\")])]),_c('tr',[_c('td',[_vm._v(\"Watertown\")]),_c('td',[_vm._v(\"October 12th\")]),_c('td',[_vm._v(\"6pm\")]),_c('td',[_vm._v(\"Lake Area Technical College\")]),_c('td',[_vm._v(\"1201 Arrow Ave NE, Watertown, SD 57201\")]),_c('td',[_vm._v(\"LATC Student Center \")])]),_c('tr',[_c('td',[_vm._v(\"Sioux Falls\")]),_c('td',[_vm._v(\"October 13th\")]),_c('td',[_vm._v(\"2pm\")]),_c('td',[_vm._v(\"USD Community College\")]),_c('td',[_vm._v(\"4801 N Career Ave, Sioux Falls, SD 57107\")]),_c('td',[_vm._v(\"FADM 186\")])]),_c('tr',[_c('td',[_vm._v(\"Sioux Falls\")]),_c('td',[_vm._v(\"October 13th\")]),_c('td',[_vm._v(\"6pm\")]),_c('td',[_vm._v(\"USD Community College\")]),_c('td',[_vm._v(\"4801 N Career Ave, Sioux Falls, SD 57107\")]),_c('td',[_vm._v(\"FADM 186\")])])]),_c('sup',[_c('b',[_vm._v(\"(1)\")])]),_vm._v(\" Masks are \"),_c('b',[_vm._v(\"Required\")]),_vm._v(\". \"),_c('br'),_c('sup',[_c('b',[_vm._v(\"(2)\")])]),_vm._v(\" Location has changed. \")]),_c('h3',[_vm._v(\" South Dakota Redistricting Timetable for 2021 \")]),_c('p',[_c('table',{staticClass:\"table-dates\"},[_c('tr',[_c('th',[_vm._v(\"Date\")]),_c('th',[_vm._v(\"Milestone\")])]),_c('tr',[_c('td',[_vm._v(\"August 12th\")]),_c('td',[_vm._v(\"Legacy-Format Data Released by U.S. Census Bureau\")])]),_c('tr',[_c('td',[_vm._v(\"August 30th\")]),_c('td',[_vm._v(\"Committee Meeting to Discuss Data\")])]),_c('tr',[_c('td',[_vm._v(\"September 9th\")]),_c('td',[_vm._v(\"Committee Meeting to Discuss Initial Maps\")])]),_c('tr',[_c('td',{staticStyle:{\"text-decoration\":\"line-through\"}},[_vm._v(\"September 22nd\")]),_c('td',[_vm._v(\"Cancelled\")])]),_c('tr',[_c('td',[_vm._v(\"September 30th\")]),_c('td',[_vm._v(\"Committee Meeting to Finalize Draft Maps for October Tour\")])]),_c('tr',[_c('td',[_vm._v(\"September 30th\")]),_c('td',[_vm._v(\"New-Format Data Released by U.S. Census Bureau\")])]),_c('tr',[_c('td',[_vm._v(\"October 11th-13th\")]),_c('td',[_vm._v(\"Redistricting Committees Holding Meetings Across the State\")])]),_c('tr',[_c('td',[_vm._v(\"October 18th\")]),_c('td',[_vm._v(\"Committee Meeting to Discuss and Incorporate Public Feedback\")])]),_c('tr',[_c('td',[_vm._v(\"October 25th\")]),_c('td',[_vm._v(\"Committee Meeting to Finalize Draft Maps for Special Session\")])]),_c('tr',[_c('td',[_vm._v(\"November 8th\")]),_c('td',[_vm._v(\"Special Session to Adopt Legislation Regarding Redistricting\")])]),_c('tr',[_c('td',[_vm._v(\"December 1st\")]),_c('td',[_vm._v(\"Constitutional Deadline for Legislature to Complete Redistricting\")])])])])])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container fluid>\r\n        <v-row no-gutters>\r\n            <v-col md=\"2\" cols=\"12\">\r\n                <RedistrictingMenu></RedistrictingMenu>\r\n            </v-col>\r\n            <v-col md=\"10\" cols=\"12\">\r\n                <v-card flat>\r\n                    <v-card-title>\r\n                        <h3>Redistricting</h3>\r\n                    </v-card-title>\r\n                    <v-card-text>\r\n                        <h3>\r\n                            Redistricting in South Dakota\r\n                        </h3>\r\n                        <p>\r\n                            Every year after the census is completed, the South Dakota Legislature is constitutionally required to redraw its legislative district boundaries to accommodate shifts in population and ensure equal representation to all South Dakotans. These new boundaries are then implemented across South Dakota for the next ten years.\r\n                        </p>\r\n                        <h3>\r\n                            Census Apportionment Numbers\r\n                        </h3>\r\n                        <p>\r\n                            On April 26, 2021, the U.S. Census Bureau announced the population totals for the 2020 Census. While South Dakota's total population has been calculated, the data used for redistricting will not be available until August. More information on the data can be found on the Bureau's website.\r\n                        </p>\r\n                        <p>\r\n                            South Dakota Resident Population: 886,667\r\n                        </p>\r\n                        <p>\r\n                            Average Population per State Senate District: 25,333\r\n                        </p>\r\n                        <p>\r\n                            <a href=\"/Legislators/Find?activeLayer=2021\" style=\"font-size: 16.3px; font-weight: bold;\">2021 Adopted Map</a>\r\n                        </p>\r\n                        <h3>\r\n                            2021 Special Legislative Session on Redistricting\r\n                        </h3>\r\n                        <p>\r\n                            <v-container fluid pa-0>\r\n                                <v-row dense>\r\n                                    <v-col cols=\"6\">\r\n                                        House\r\n                                        <table class=\"table-dates\" style=\"width: 100%\">\r\n                                            <tr><th>Name</th></tr>\r\n                                            <tr v-for=\"h in houseMaps\">\r\n                                                <td><a :href=\"'https://mylrc.sdlegislature.gov/api/documents/' + h.DocumentId + '.pdf'\">{{h.Title}}</a></td>\r\n                                            </tr>\r\n                                        </table>\r\n                                    </v-col>\r\n                                    <v-col cols=\"6\">\r\n                                        Senate\r\n                                        <table class=\"table-dates\" style=\"width: 100%\">\r\n                                            <tr><th>Name</th></tr>\r\n                                            <tr v-for=\"s in senateMaps\">\r\n                                                <td><a :href=\"'https://mylrc.sdlegislature.gov/api/documents/' + s.DocumentId + '.pdf'\">{{s.Title}}</a></td>\r\n                                            </tr>\r\n                                        </table>\r\n                                    </v-col>\r\n                                </v-row>\r\n                            </v-container>\r\n                        </p>\r\n                        <h3>\r\n                            Interim Committee Proposed Maps\r\n                        </h3>\r\n                        <p>\r\n                            <v-container fluid pa-0>\r\n                                <v-row dense>\r\n                                    <v-col cols=\"6\">\r\n                                        House Legislative Redistricting Committee\r\n                                        <table class=\"table-dates\" style=\"width: 100%\">\r\n                                            <tr><th>Name</th></tr>\r\n                                            <tr v-for=\"h in house\">\r\n                                                <td><a :href=\"'https://mylrc.sdlegislature.gov/api/documents/' + h.DocumentId + '.pdf'\">{{h.Title}}</a></td>\r\n                                            </tr>\r\n                                        </table>\r\n                                    </v-col>\r\n                                    <v-col cols=\"6\">\r\n                                        Senate Legislative Redistricting Committee\r\n                                        <table class=\"table-dates\" style=\"width: 100%\">\r\n                                            <tr><th>Name</th></tr>\r\n                                            <tr v-for=\"s in senate\">\r\n                                                <td><a :href=\"'https://mylrc.sdlegislature.gov/api/documents/' + s.DocumentId + '.pdf'\">{{s.Title}}</a></td>\r\n                                            </tr>\r\n                                        </table>\r\n                                    </v-col>\r\n                                </v-row>\r\n                            </v-container>\r\n                        </p>\r\n                        <h3>\r\n                            Itinerary for October Tour\r\n                        </h3>\r\n                        <p>\r\n                            <table class=\"table-dates\">\r\n                                <tr><th>City</th><th>Date</th><th>Time</th><th>Location</th><th>Address</th><th>Room</th></tr>\r\n                                <tr><td>Rapid City</td><td>October 11th</td><td>8am (MST)</td><td>Black Hills State University</td><td>4300 Cheyenne Boulevard, Box Elder, SD 57719</td><td>Room 112</td></tr>\r\n                                <tr><td>Mission</td><td>October 11th</td><td>4pm</td><td>Rosebud Casino<sup><b>(1)(2)</b></sup></td><td>30421 U.S. Hwy 83, Valentine, NE<sup><b>(1)(2)</b></sup></td><td>Entertainment Center<sup><b>(1)(2)</b></sup></td></tr>\r\n                                <tr><td>Mobridge</td><td>October 12th</td><td>8am</td><td>Wrangler Inn</td><td>820 W Grand Crossing, Mobridge, SD 57601</td><td>Wranger Inn Conference Room</td></tr>\r\n                                <tr><td>Aberdeen</td><td>October 12th</td><td>1pm</td><td>Aberdeen Recreation & Cultural Center</td><td>225 3rd Ave SE, Aberdeen, SD 57401</td><td>TBD</td></tr>\r\n                                <tr><td>Watertown</td><td>October 12th</td><td>6pm</td><td>Lake Area Technical College</td><td>1201 Arrow Ave NE, Watertown, SD 57201</td><td>LATC Student Center </td></tr>\r\n                                <tr><td>Sioux Falls</td><td>October 13th</td><td>2pm</td><td>USD Community College</td><td>4801 N Career Ave, Sioux Falls, SD 57107</td><td>FADM 186</td></tr>\r\n                                <tr><td>Sioux Falls</td><td>October 13th</td><td>6pm</td><td>USD Community College</td><td>4801 N Career Ave, Sioux Falls, SD 57107</td><td>FADM 186</td></tr>\r\n                            </table>\r\n                            <sup><b>(1)</b></sup> Masks are <b>Required</b>. <br />\r\n                            <sup><b>(2)</b></sup> Location has changed.\r\n                        </p>\r\n                        <h3>\r\n                            South Dakota Redistricting Timetable for 2021\r\n                        </h3>\r\n                        <p>\r\n                            <table class=\"table-dates\">\r\n                                <tr><th>Date</th><th>Milestone</th></tr>\r\n                                <tr><td>August 12th</td><td>Legacy-Format Data Released by U.S. Census Bureau</td></tr>\r\n                                <tr><td>August 30th</td><td>Committee Meeting to Discuss Data</td></tr>\r\n                                <tr><td>September 9th</td><td>Committee Meeting to Discuss Initial Maps</td></tr>\r\n                                <tr><td style=\"text-decoration: line-through;\">September 22nd</td><td>Cancelled</td></tr>\r\n                                <tr><td>September 30th</td><td>Committee Meeting to Finalize Draft Maps for October Tour</td></tr>\r\n                                <tr><td>September 30th</td><td>New-Format Data Released by U.S. Census Bureau</td></tr>\r\n                                <tr><td>October 11th-13th</td><td>Redistricting Committees Holding Meetings Across the State</td></tr>\r\n                                <tr><td>October 18th</td><td>Committee Meeting to Discuss and Incorporate Public Feedback</td></tr>\r\n                                <tr><td>October 25th</td><td>Committee Meeting to Finalize Draft Maps for Special Session</td></tr>\r\n                                <tr><td>November 8th</td><td>Special Session to Adopt Legislation Regarding Redistricting</td></tr>\r\n                                <tr><td>December 1st</td><td>Constitutional Deadline for Legislature to Complete Redistricting</td></tr>\r\n                            </table>\r\n                        </p>\r\n                    </v-card-text>\r\n                </v-card>\r\n            </v-col>\r\n        </v-row>\r\n    </v-container>\r\n</template>\r\n<script>\r\n    const RedistrictingMenu = () => import(\"@/Redistricting/RedistrictingMenu.vue\");\r\n\r\n    export default {\r\n        name: 'Redistricting',\r\n        components: {\r\n            RedistrictingMenu\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: false,\r\n                house: [],\r\n                houseMaps: [],\r\n                senate: [],\r\n                senateMaps: [],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            fetch('/api/Documents/DocumentType?Type=95&SessionIds=44&SessionIds=65', { method: 'GET' })\r\n                .then(r => {\r\n                    if (r.ok) {\r\n                        r.json().then(r => {\r\n                            var h = r.filter(x => x.InterimYearCommitteeId == 433);\r\n                            var s = r.filter(x => x.InterimYearCommitteeId == 434);\r\n\r\n                            var hm = r.filter(x => x.SessionCommitteeId == 1046);\r\n                            var sm = r.filter(x => x.SessionCommitteeId == 1072);\r\n\r\n                            h.sort((a, b) => {\r\n                                if (a.Title < b.Title)\r\n                                    return -1;\r\n                                else if (a.Title > b.Title)\r\n                                    return 1;\r\n                                else\r\n                                    return 0;\r\n                            });\r\n\r\n                            hm.sort((a, b) => {\r\n                                if (a.Title < b.Title)\r\n                                    return -1;\r\n                                else if (a.Title > b.Title)\r\n                                    return 1;\r\n                                else\r\n                                    return 0;\r\n                            });\r\n\r\n                            s.sort((a, b) => {\r\n                                if (a.Title < b.Title)\r\n                                    return -1;\r\n                                else if (a.Title > b.Title)\r\n                                    return 1;\r\n                                else\r\n                                    return 0;\r\n                            });\r\n\r\n                            sm.sort((a, b) => {\r\n                                if (a.Title < b.Title)\r\n                                    return -1;\r\n                                else if (a.Title > b.Title)\r\n                                    return 1;\r\n                                else\r\n                                    return 0;\r\n                            });\r\n\r\n                            this.house = h;\r\n                            this.senate = s;\r\n                            this.houseMaps = hm;\r\n                            this.senateMaps = sm;\r\n                        });\r\n                    }\r\n                });\r\n        },\r\n        watch: {\r\n\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Redistricting';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Redistricting.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Redistricting.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Redistricting.vue?vue&type=template&id=4e5c0132&\"\nimport script from \"./Redistricting.vue?vue&type=script&lang=js&\"\nexport * from \"./Redistricting.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Administrative Rules \"),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('v-row',{staticClass:\"text-center\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"5\"}},[_c('v-breadcrumbs',{staticClass:\"py-0\",staticStyle:{\"font-size\":\"18px\"},attrs:{\"divider\":\">\",\"items\":_vm.breadcrumbs}})],1),(!_vm.loading && _vm.item)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"7\"}},[(_vm.item.Previous)?_c('v-btn',{staticClass:\"ma-2\",attrs:{\"color\":\"primary\",\"to\":'/Rules/Administrative/' + _vm.item.Previous}},[_c('v-icon',[_vm._v(_vm._s(_vm.arrow_back))]),_vm._v(\" Previous \")],1):_vm._e(),(_vm.item.Next)?_c('v-btn',{attrs:{\"color\":\"primary\",\"to\":'/Rules/Administrative/' + _vm.item.Next}},[_vm._v(\" Next \"),_c('v-icon',[_vm._v(_vm._s(_vm.arrow_forward))])],1):_vm._e()],1):_vm._e()],1),_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('GoogleSearchStatute')],1)],1)],1)],1),_c('v-divider',{staticStyle:{\"height\":\"10px\",\"max-height\":\"10px\"}}),(_vm.Value != 'null' && _vm.item)?_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[(_vm.item && _vm.item.RuleId)?_c('v-btn',{attrs:{\"text\":\"\",\"rel\":\"noopener\",\"href\":'/api/Rules/' + _vm.item.RuleId + '.docx'}},[_vm._v(\" Download \"+_vm._s(_vm.item.RuleNumber)+\" in Microsoft Word Format \")]):_vm._e(),_c('v-spacer'),(_vm.item && !_vm.loading)?_c('v-btn',{staticStyle:{\"float\":\"right\"},attrs:{\"text\":\"\",\"rel\":\"noopener\",\"href\":'/api/Rules/Rule/' + _vm.item.RuleNumber + '.html?all=true'}},[_vm._v(\"Printer Friendly\")]):_vm._e()],1):_vm._e(),_c('v-container',[(_vm.showPendingAction)?_c('p',{staticClass:\"headline\",staticStyle:{\"color\":\"red\",\"font-size\":\"larger\"}},[_vm._v(\" Pending Court Action \")]):_vm._e(),(_vm.showUnconstitutional)?_c('p',{staticClass:\"headline\",staticStyle:{\"color\":\"red\",\"font-size\":\"larger\"}},[_vm._v(\" Article XXX was held unconstitutional by \"),_c('a',{staticStyle:{\"color\":\"inherit\",\"text-decoration\":\"underline\"},attrs:{\"href\":\"https://ujs.sd.gov/uploads/sc/opinions/2954698e671a.pdf\"}},[_vm._v(\"Thom v. Barnett, 2021 S.D. 65 (2021).\")])]):_vm._e(),(_vm.Value && _vm.Value != 'null' && _vm.item && _vm.item.Html)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.item.Html)}}):_c('div',[(!_vm.loading)?_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\"Not yet available.\")]):_vm._e()],1)]),(_vm.item && _vm.item.Archived)?_c('v-container',[_vm._v(\" Online Archived History: \"),_vm._l((_vm.item.Archived),function(r){return _c('v-row',{key:r.ArchivedRuleId,attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"md\":\"6\",\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"rel\":\"noopener\",\"href\":'/api/Rules/Archived/' + r.ArchivedRuleId + '.pdf',\"outlined\":\"\"}},[_vm._v(_vm._s(_vm._f(\"FormatDates\")(r.Effective)))])],1)],1)}),(!_vm.loading && _vm.item && _vm.item.Archived && _vm.item.Archived.length < 1)?_c('v-alert',{attrs:{\"type\":\"info\",\"dense\":\"\"}},[_vm._v(\" There are currently no online archives for this rule. \")]):_vm._e()],2):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Administrative Rules\r\n                <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n                <v-row class=\"text-center\">\r\n                    <v-col cols=\"12\" sm=\"6\" md=\"5\">\r\n                        <v-breadcrumbs divider=\">\" :items=\"breadcrumbs\" class=\"py-0\" style=\"font-size:18px;\"></v-breadcrumbs>\r\n                    </v-col>\r\n                    <v-col cols=\"12\" sm=\"6\" md=\"7\" v-if=\"!loading && item\">\r\n                        <v-btn class=\"ma-2\" color=\"primary\" v-if=\"item.Previous\" :to=\"'/Rules/Administrative/' + item.Previous\">\r\n                            <v-icon>{{arrow_back}}</v-icon> Previous\r\n                        </v-btn>\r\n                        <v-btn color=\"primary\" v-if=\"item.Next\" :to=\"'/Rules/Administrative/' + item.Next\">\r\n                            Next <v-icon>{{arrow_forward}}</v-icon>\r\n                        </v-btn>\r\n                    </v-col>\r\n                </v-row>\r\n                <v-container>\r\n                    <v-layout row wrap>\r\n                        <v-flex xs12>\r\n                            <GoogleSearchStatute></GoogleSearchStatute>\r\n                        </v-flex>\r\n                    </v-layout>\r\n                </v-container>\r\n            </div>\r\n            <v-divider style=\"height: 10px; max-height: 10px\"></v-divider>\r\n            <v-layout row wrap v-if=\"Value != 'null' && item\">\r\n                <v-btn v-if=\"item && item.RuleId\" text rel=\"noopener\" :href=\"'/api/Rules/' + item.RuleId + '.docx'\">\r\n                    Download {{item.RuleNumber}} in Microsoft Word Format\r\n                </v-btn>\r\n                <v-spacer></v-spacer>\r\n                <v-btn v-if=\"item && !loading\" style=\"float:right;\" text rel=\"noopener\" :href=\"'/api/Rules/Rule/' + item.RuleNumber + '.html?all=true'\">Printer Friendly</v-btn>\r\n            </v-layout>\r\n            <v-container>\r\n                <p v-if=\"showPendingAction\" style=\"color: red; font-size: larger;\" class=\"headline\">\r\n                    Pending Court Action\r\n                </p>\r\n                <p v-if=\"showUnconstitutional\" style=\"color: red; font-size: larger;\" class=\"headline\">\r\n                    Article XXX was held unconstitutional by <a href=\"https://ujs.sd.gov/uploads/sc/opinions/2954698e671a.pdf\" style=\"color: inherit; text-decoration:underline;\">Thom v. Barnett, 2021 S.D. 65 (2021).</a>\r\n                </p>\r\n                <div v-if=\"Value && Value != 'null' && item && item.Html\" v-html=\"item.Html\"></div>\r\n                <div v-else>\r\n                    <v-alert v-if=\"!loading\" dense\r\n                             text\r\n                             type=\"info\">Not yet available.</v-alert>\r\n                </div>\r\n            </v-container>\r\n            <v-container v-if=\"item && item.Archived\">\r\n                Online Archived History:\r\n\r\n                <v-row v-for=\"r in item.Archived\" :key=\"r.ArchivedRuleId\" no-gutters>\r\n                    <v-col md=\"6\" cols=\"12\">\r\n                        <v-btn block rel=\"noopener\" :href=\"'/api/Rules/Archived/' + r.ArchivedRuleId + '.pdf'\" outlined>{{r.Effective | FormatDates}}</v-btn>\r\n                    </v-col>\r\n                </v-row>\r\n                <v-alert v-if=\"!loading && item && item.Archived && item.Archived.length < 1\" type=\"info\" dense>\r\n                    There are currently no online archives for this rule.\r\n                </v-alert>\r\n            </v-container>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n\r\n<script>\r\n    const GoogleSearch = () => import(\"@/Components/GoogleSearch.vue\");\r\n    const GoogleSearchStatute = () => import(\"@/Components/GoogleSearchStatute.vue\");\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    import { mdiArrowLeft } from '@mdi/js';\r\n    import { mdiArrowRight } from '@mdi/js';\r\n\r\n    export default {\r\n        name: 'AdminRule',\r\n        props: ['Value'],\r\n        components: {\r\n            GoogleSearch,\r\n            GoogleSearchStatute,\r\n            Sidebar\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n\r\n                this.item = {\r\n                    Html: \"\",\r\n                    StatuteId: null\r\n                };\r\n\r\n                if (this.Value != \"null\")\r\n                {\r\n                    fetch('/api/Rules/' + encodeURIComponent(this.Value),\r\n                        {\r\n                            method: \"GET\",\r\n                            credentials: \"include\",\r\n                            headers: { \"Content-Type\": \"application/json\" },\r\n                        })\r\n                        .then(res =>\r\n                        {\r\n                            if (res.redirected && res.url)\r\n                            {\r\n                                this.$router.replace(res.url.replace(location.origin, ''));\r\n                                return Promise.reject(302);\r\n                            }\r\n                            else if (res.ok)\r\n                                return res.json();\r\n                            else if (res.status === 404)\r\n                                return Promise.reject(404);\r\n                            else\r\n                                return res.text().then(r => Promise.reject(r));\r\n                        })\r\n                        .then(response =>\r\n                        {\r\n                            this.item = response;\r\n                            this.createBreadcrumbs(\"Administrative Rules\", \"/Rules/Administrative\", this.item.RuleNumber, this.item.Parents);\r\n                        })\r\n                        .catch(error =>\r\n                        {\r\n                            if (error == 404)\r\n                                window.location.href = \"/404?path=\" + encodeURIComponent(window.location.pathname);\r\n                            else if (error != 302)\r\n                            {\r\n                                let e = String(error).substring(0, 100);\r\n\r\n                                if ((e || '').indexOf('Failed to fetch') > -1)\r\n                                {\r\n                                    window.location.href = \"/400?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                                }\r\n                                else\r\n                                {\r\n                                    reportError(error);\r\n                                    window.location.href = \"/500?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                                }\r\n                            }\r\n                        })\r\n                        .finally(() =>\r\n                        {\r\n                            this.loading = false;\r\n                        });\r\n                }\r\n            },\r\n            createBreadcrumbs(route, url, child, parents)\r\n            {\r\n                let l = [\r\n                    {\r\n                        to: '/',\r\n                        link: true,\r\n                        text: 'Home',\r\n                        name: 'Home'\r\n                    },\r\n                    {\r\n                        to: url,\r\n                        link: true,\r\n                        text: route,\r\n                        exact: true,\r\n                        name: route\r\n                    }];\r\n\r\n                var split = [];\r\n\r\n                parents.forEach((x, i) =>\r\n                {\r\n                    var bciL = {\r\n                        to: url + '/' + x.RuleNumber,\r\n                        link: true,\r\n                        text: x.DisplayRuleNumber,\r\n                        exact: true,\r\n                        name: x.RuleNumber\r\n                    };\r\n\r\n                    if (i == parents.length - 1)\r\n                        bciL.disabled = true;\r\n\r\n                    l.push(bciL);\r\n                });\r\n\r\n                this.breadcrumbs = l;\r\n\r\n            },\r\n\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                arrow_back: mdiArrowLeft,\r\n                arrow_forward: mdiArrowRight,\r\n                loading: true,\r\n                sortBy: [],\r\n                showPendingAction: false,\r\n                showUnconstitutional: false,\r\n                item: {\r\n                    StatuteId: null,\r\n                    Html: null\r\n                },\r\n                parent: {\r\n                    name: '',\r\n                    url: '',\r\n                },\r\n                bcItem: {\r\n                    href: '',\r\n                    link: true,\r\n                    text: '',\r\n                },\r\n                breadcrumbs: [],\r\n            };\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            Value()\r\n            {\r\n                this.LoadData();\r\n            },\r\n        },\r\n        computed: {\r\n            currentRoute: function ()\r\n            {\r\n                return this.$route.path;\r\n            },\r\n            JsonldBreadCrumbs: function ()\r\n            {\r\n                let CurrentBaseURL = window.location.origin;\r\n                let ListItems = [];\r\n                this.breadcrumbs.forEach((x, i) =>\r\n                {\r\n                    let li = {\r\n                        \"@type\": \"ListItem\",\r\n                        \"position\": i,\r\n                        \"name\": x.name,\r\n                        \"item\": CurrentBaseURL + x.to\r\n                    };\r\n                    ListItems.push(li);\r\n                });\r\n                return ListItems;\r\n            },\r\n            Title: function ()\r\n            {\r\n                let title = '';\r\n                if (this.currentRoute.includes('Constitution'))\r\n                {\r\n                    title = \"Constitutional \";\r\n                    if (this.item && this.item.Statute && (typeof this.item.Statute === 'string' || this.item.Statute instanceof String))\r\n                    {\r\n                        title = title + this.item.Statute.replace('0N-', 'Article ');\r\n                    }\r\n                }\r\n                else if (this.currentRoute.includes('Administrative'))\r\n                {\r\n                    title = \"Administrative Rule \";\r\n                    if (this.item && this.item.RuleNumber)\r\n                    {\r\n                        title = title + this.item.RuleNumber;\r\n                    }\r\n                }\r\n                else if (this.currentRoute.includes('Session_Laws'))\r\n                {\r\n                    title = \"Session Law Chapter \";\r\n                    if (this.Session && this.Session.Year)\r\n                    {\r\n                        title = this.Session.Year + ' ' + title;\r\n                    }\r\n                    else\r\n                    {\r\n                        title = \"Session Laws\" + ' ' + title;\r\n                    }\r\n                    if (this.item && this.item.Chapter)\r\n                    {\r\n                        title = title + ' ' + this.item.Chapter;\r\n                    }\r\n                }\r\n                else if (this.currentRoute.includes('Codified_Laws') || this.currentRoute.includes('Statutes'))\r\n                {\r\n                    title = \"Codified Law \";\r\n                    if (this.item && this.item.Statute)\r\n                    {\r\n                        title = title + this.item.Statute;\r\n                    }\r\n                }\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                if (this.item && this.item.CatchLine)\r\n                {\r\n                    return this.item.Catchline;\r\n                }\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                script: [\r\n                    {\r\n                        type: 'application/ld+json',\r\n                        json: {\r\n                            '@context': 'http://schema.org',\r\n                            '@type': 'Legislation',\r\n                            \"@id\": window.location.href,\r\n                            'name': 'Administrative Rule ' + ((this.item || {}).RuleNumber || \"\"),\r\n                            'description': this.Description,\r\n                            'legislationType': \"Administrative Rule\",\r\n                            'inLanguage': 'English'\r\n                        }\r\n                    }, {\r\n                        type: 'application/ld+json',\r\n                        json: {\r\n                            '@context': 'http://schema.org',\r\n                            '@type': 'BreadcrumbList',\r\n                            \"itemListElement\": this.JsonldBreadCrumbs\r\n                        }\r\n                    }],\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            };\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Rule.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Rule.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Rule.vue?vue&type=template&id=0fa70af6&\"\nimport script from \"./Rule.vue?vue&type=script&lang=js&\"\nexport * from \"./Rule.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\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 { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBreadcrumbs,VBtn,VCol,VContainer,VDivider,VFlex,VIcon,VLayout,VProgressLinear,VRow,VSpacer})\n","import { attachedRoot } from '../../util/dom';\n\nfunction defaultConditional() {\n  return true;\n}\n\nfunction checkEvent(e, el, binding) {\n  // The include element callbacks below can be expensive\n  // so we should avoid calling them when we're not active.\n  // Explicitly check for false to allow fallback compatibility\n  // with non-toggleable components\n  if (!e || checkIsActive(e, binding) === false) return false; // If we're clicking inside the shadowroot, then the app root doesn't get the same\n  // level of introspection as to _what_ we're clicking. We want to check to see if\n  // our target is the shadowroot parent container, and if it is, ignore.\n\n  const root = attachedRoot(el);\n  if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot && root.host === e.target) return false; // Check if additional elements were passed to be included in check\n  // (click must be outside all included elements, if any)\n\n  const elements = (typeof binding.value === 'object' && binding.value.include || (() => []))(); // Add the root element for the component this directive was defined on\n\n\n  elements.push(el); // Check if it's a click outside our elements, and then if our callback returns true.\n  // Non-toggleable components should take action in their callback and return falsy.\n  // Toggleable can return true if it wants to deactivate.\n  // Note that, because we're in the capture phase, this callback will occur before\n  // the bubbling click event on any outside elements.\n\n  return !elements.some(el => el.contains(e.target));\n}\n\nfunction checkIsActive(e, binding) {\n  const isActive = typeof binding.value === 'object' && binding.value.closeConditional || defaultConditional;\n  return isActive(e);\n}\n\nfunction directive(e, el, binding) {\n  const handler = typeof binding.value === 'function' ? binding.value : binding.value.handler;\n  el._clickOutside.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n    checkIsActive(e, binding) && handler && handler(e);\n  }, 0);\n}\n\nfunction handleShadow(el, callback) {\n  const root = attachedRoot(el);\n  callback(document);\n\n  if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n    callback(root);\n  }\n}\n\nexport const ClickOutside = {\n  // [data-app] may not be found\n  // if using bind, inserted makes\n  // sure that the root element is\n  // available, iOS does not support\n  // clicks on body\n  inserted(el, binding, vnode) {\n    const onClick = e => directive(e, el, binding);\n\n    const onMousedown = e => {\n      el._clickOutside.lastMousedownWasOutside = checkEvent(e, el, binding);\n    };\n\n    handleShadow(el, app => {\n      app.addEventListener('click', onClick, true);\n      app.addEventListener('mousedown', onMousedown, true);\n    });\n\n    if (!el._clickOutside) {\n      el._clickOutside = {\n        lastMousedownWasOutside: true\n      };\n    }\n\n    el._clickOutside[vnode.context._uid] = {\n      onClick,\n      onMousedown\n    };\n  },\n\n  unbind(el, binding, vnode) {\n    if (!el._clickOutside) return;\n    handleShadow(el, app => {\n      var _a;\n\n      if (!app || !((_a = el._clickOutside) === null || _a === void 0 ? void 0 : _a[vnode.context._uid])) return;\n      const {\n        onClick,\n        onMousedown\n      } = el._clickOutside[vnode.context._uid];\n      app.removeEventListener('click', onClick, true);\n      app.removeEventListener('mousedown', onMousedown, true);\n    });\n    delete el._clickOutside[vnode.context._uid];\n  }\n\n};\nexport default ClickOutside;\n//# sourceMappingURL=index.js.map","import Vue from 'vue';\nexport function factory(prop = 'value', event = 'change') {\n  return Vue.extend({\n    name: 'proxyable',\n    model: {\n      prop,\n      event\n    },\n    props: {\n      [prop]: {\n        required: false\n      }\n    },\n\n    data() {\n      return {\n        internalLazyValue: this[prop]\n      };\n    },\n\n    computed: {\n      internalValue: {\n        get() {\n          return this.internalLazyValue;\n        },\n\n        set(val) {\n          if (val === this.internalLazyValue) return;\n          this.internalLazyValue = val;\n          this.$emit(event, val);\n        }\n\n      }\n    },\n    watch: {\n      [prop](val) {\n        this.internalLazyValue = val;\n      }\n\n    }\n  });\n}\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\n\nconst Proxyable = factory();\nexport default Proxyable;\n//# sourceMappingURL=index.js.map","import \"../../../src/components/VGrid/_grid.sass\";\nimport \"../../../src/components/VGrid/VGrid.sass\";\nimport Grid from './grid';\nimport mergeData from '../../util/mergeData';\n/* @vue/component */\n\nexport default Grid('container').extend({\n  name: 'v-container',\n  functional: true,\n  props: {\n    id: String,\n    tag: {\n      type: String,\n      default: 'div'\n    },\n    fluid: {\n      type: Boolean,\n      default: false\n    }\n  },\n\n  render(h, {\n    props,\n    data,\n    children\n  }) {\n    let classes;\n    const {\n      attrs\n    } = data;\n\n    if (attrs) {\n      // reset attrs to extract utility clases like pa-3\n      data.attrs = {};\n      classes = Object.keys(attrs).filter(key => {\n        // TODO: Remove once resolved\n        // https://github.com/vuejs/vue/issues/7841\n        if (key === 'slot') return false;\n        const value = attrs[key]; // add back data attributes like data-test=\"foo\" but do not\n        // add them as classes\n\n        if (key.startsWith('data-')) {\n          data.attrs[key] = value;\n          return false;\n        }\n\n        return value || typeof value === 'string';\n      });\n    }\n\n    if (props.id) {\n      data.domProps = data.domProps || {};\n      data.domProps.id = props.id;\n    }\n\n    return h(props.tag, mergeData(data, {\n      staticClass: 'container',\n      class: Array({\n        'container--fluid': props.fluid\n      }).concat(classes || [])\n    }), children);\n  }\n\n});\n//# sourceMappingURL=VContainer.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\"LEGISLATIVE RESEARCH COUNCIL\")]),_c('br'),_c('div',[_c('div',[_c('b',[_vm._v(\"Address: \")]),_vm._v(\"Legislative Research Council\")]),_c('div',[_vm._v(\"Capitol Building, 3rd Floor - 500 East Capitol Avenue\")]),_c('div',[_vm._v(\" Pierre, SD 57501-5070 \")])]),_c('br'),_c('div',[_c('b',[_vm._v(\"E-mail:\")]),_vm._v(\" \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":\"mailto:lrc@sdlegislature.gov\"}},[_vm._v(\"LRC@sdlegislature.gov\")])]),_c('br'),_c('div',[_c('b',[_vm._v(\"Phone:\")]),_vm._v(\" \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":\"tel:6057733251\"}},[_vm._v(\"(605) 773-3251\")])]),_c('br'),_c('div',[_c('b',[_vm._v(\"Staff Fax:\")]),_vm._v(\" \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":\"tel:6057734576\"}},[_vm._v(\"(605) 773-4576\")])]),_c('br'),_c('div',[_c('b',[_vm._v(\"Legislator Fax (Session Only):\")]),_vm._v(\" \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":\"tel:6057736806\"}},[_vm._v(\"(605) 773-6806\")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n<v-row class=\"ma-0 pa-0\">\r\n    <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n        <Sidebar></Sidebar>\r\n    </v-col>\r\n    <v-col md=\"10\" sm=\"12\">\r\n        <div class=\"headline\">LEGISLATIVE RESEARCH COUNCIL</div>\r\n        <br />\r\n        <div>\r\n            <div><b>Address: </b>Legislative Research Council</div>\r\n            <div>Capitol Building, 3rd Floor - 500 East Capitol Avenue</div>\r\n            <div>\r\n                Pierre, SD 57501-5070\r\n            </div>\r\n        </div>\r\n        <br />\r\n        <div>\r\n            <b>E-mail:</b> <a rel=\"noopener\" href=\"mailto:lrc@sdlegislature.gov\">LRC@sdlegislature.gov</a>\r\n        </div>\r\n        <br />\r\n        <div>\r\n            <b>Phone:</b> <a rel=\"noopener\" href=\"tel:6057733251\">(605) 773-3251</a>\r\n        </div>\r\n        <br />\r\n        <div>\r\n            <b>Staff Fax:</b> <a rel=\"noopener\" href=\"tel:6057734576\">(605) 773-4576</a>\r\n        </div>\r\n        <br />\r\n        <div>\r\n            <b>Legislator Fax (Session Only):</b> <a rel=\"noopener\" href=\"tel:6057736806\">(605) 773-6806</a>\r\n        </div>\r\n    </v-col>\r\n</v-row>\r\n\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    export default {\r\n        name: 'Information',\r\n        components: {\r\n            Sidebar\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n                search: '',\r\n                loading: false,\r\n            }\r\n        },\r\n        mounted: function () {\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Contact Us';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Information.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Information.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Information.vue?vue&type=template&id=7ca1eff7&\"\nimport script from \"./Information.vue?vue&type=script&lang=js&\"\nexport * from \"./Information.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// Styles\nimport \"../../../src/components/VTextarea/VTextarea.sass\"; // Extensions\n\nimport VTextField from '../VTextField/VTextField'; // Utilities\n\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(VTextField);\n/* @vue/component */\n\nexport default baseMixins.extend({\n  name: 'v-textarea',\n  props: {\n    autoGrow: Boolean,\n    noResize: Boolean,\n    rowHeight: {\n      type: [Number, String],\n      default: 24,\n      validator: v => !isNaN(parseFloat(v))\n    },\n    rows: {\n      type: [Number, String],\n      default: 5,\n      validator: v => !isNaN(parseInt(v, 10))\n    }\n  },\n  computed: {\n    classes() {\n      return {\n        'v-textarea': true,\n        'v-textarea--auto-grow': this.autoGrow,\n        'v-textarea--no-resize': this.noResizeHandle,\n        ...VTextField.options.computed.classes.call(this)\n      };\n    },\n\n    noResizeHandle() {\n      return this.noResize || this.autoGrow;\n    }\n\n  },\n  watch: {\n    autoGrow(val) {\n      this.$nextTick(() => {\n        var _a;\n\n        val ? this.calculateInputHeight() : (_a = this.$refs.input) === null || _a === void 0 ? void 0 : _a.style.removeProperty('height');\n      });\n    },\n\n    lazyValue() {\n      this.autoGrow && this.$nextTick(this.calculateInputHeight);\n    },\n\n    rowHeight() {\n      this.autoGrow && this.$nextTick(this.calculateInputHeight);\n    }\n\n  },\n\n  mounted() {\n    setTimeout(() => {\n      this.autoGrow && this.calculateInputHeight();\n    }, 0);\n  },\n\n  methods: {\n    calculateInputHeight() {\n      const input = this.$refs.input;\n      if (!input) return;\n      input.style.height = '0';\n      const height = input.scrollHeight;\n      const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight); // This has to be done ASAP, waiting for Vue\n      // to update the DOM causes ugly layout jumping\n\n      input.style.height = Math.max(minHeight, height) + 'px';\n    },\n\n    genInput() {\n      const input = VTextField.options.methods.genInput.call(this);\n      input.tag = 'textarea';\n      delete input.data.attrs.type;\n      input.data.attrs.rows = this.rows;\n      return input;\n    },\n\n    onInput(e) {\n      VTextField.options.methods.onInput.call(this, e);\n      this.autoGrow && this.calculateInputHeight();\n    },\n\n    onKeyDown(e) {\n      // Prevents closing of a\n      // dialog when pressing\n      // enter\n      if (this.isFocused && e.keyCode === 13) {\n        e.stopPropagation();\n      }\n\n      this.$emit('keydown', e);\n    }\n\n  }\n});\n//# sourceMappingURL=VTextarea.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-breadcrumbs .v-breadcrumbs__divider,.theme--light.v-breadcrumbs .v-breadcrumbs__item--disabled{color:rgba(0,0,0,.38)}.theme--dark.v-breadcrumbs .v-breadcrumbs__divider,.theme--dark.v-breadcrumbs .v-breadcrumbs__item--disabled{color:hsla(0,0%,100%,.5)}.v-breadcrumbs{align-items:center;display:flex;flex-wrap:wrap;flex:0 1 auto;list-style-type:none;margin:0;padding:18px 12px}.v-breadcrumbs li{align-items:center;display:inline-flex;font-size:14px}.v-breadcrumbs li .v-icon{font-size:16px}.v-breadcrumbs li:nth-child(2n){padding:0 12px}.v-breadcrumbs__item{align-items:center;display:inline-flex;text-decoration:none;transition:.3s cubic-bezier(.25,.8,.5,1)}.v-breadcrumbs__item--disabled{pointer-events:none}.v-breadcrumbs--large li,.v-breadcrumbs--large li .v-icon{font-size:16px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VBreadcrumbs.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"330f5132\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Staff By Budget Agency Assignment \")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"Agency\",\"sort-by\":['Agency'],\"sort-desc\":[false],\"items-per-page\":999,\"loading\":_vm.loading,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Staff\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.AssignedTo),function(staff,index){return _c('span',[(index > 0)?_c('span',[_vm._v(\", \")]):_vm._e(),_c('router-link',{attrs:{\"to\":'/Staff/Profile/' + staff.UserId}},[_vm._v(_vm._s(staff.FirstName + ' ' + staff.LastName))])],1)})}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Staff By Budget Agency Assignment\r\n            </div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"items\"\r\n                                 item-key=\"Agency\"\r\n                                 :sort-by=\"['Agency']\"\r\n                                 :sort-desc=\"[false]\"\r\n                                 :items-per-page=\"999\"\r\n                                 :loading=\"loading\"\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.Staff=\"{ item }\">\r\n                    <span v-for=\"(staff, index) in item.AssignedTo\">\r\n                        <span v-if=\"index > 0\">, </span>\r\n                        <router-link :to=\"'/Staff/Profile/' + staff.UserId\">{{staff.FirstName + ' ' + staff.LastName}}</router-link>\r\n                    </span>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'BudgetAgency',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n                fetch('/api/Users/BudgetAgencies',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            throw new Error(res.statusText);\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        let i = EncodeDatetimes(response)\r\n\r\n                        i.forEach(x =>\r\n                        {\r\n                            let s = '';\r\n\r\n                            x.AssignedTo.forEach(y => s += y.FirstName + ' ' + y.LastName + ', ');\r\n                            x.Staff = s;\r\n                        });\r\n\r\n                        this.items = i;\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    })\r\n                    .finally(_ =>\r\n                    {\r\n                        this.loading = false;\r\n                    });\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                loading: true,\r\n                headers: [\r\n                    { text: 'Budget Agency', value: 'Agency', width: '*', filterable: true, Filter: null },\r\n                    { text: 'Fiscal Staff', value: 'Staff', width: '50ch', filterable: true, Filter: null },\r\n                ],\r\n                items: [],\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            Title: function ()\r\n            {\r\n                let title = 'Staff By Budget Agencies';\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./BudgetAgency.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./BudgetAgency.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BudgetAgency.vue?vue&type=template&id=2b29703e&\"\nimport script from \"./BudgetAgency.vue?vue&type=script&lang=js&\"\nexport * from \"./BudgetAgency.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// Styles\nimport \"../../../src/components/VCheckbox/VCheckbox.sass\";\nimport \"../../../src/styles/components/_selection-controls.sass\"; // Components\n\nimport VIcon from '../VIcon';\nimport VInput from '../VInput'; // Mixins\n\nimport Selectable from '../../mixins/selectable';\n/* @vue/component */\n\nexport default Selectable.extend({\n  name: 'v-checkbox',\n  props: {\n    indeterminate: Boolean,\n    indeterminateIcon: {\n      type: String,\n      default: '$checkboxIndeterminate'\n    },\n    offIcon: {\n      type: String,\n      default: '$checkboxOff'\n    },\n    onIcon: {\n      type: String,\n      default: '$checkboxOn'\n    }\n  },\n\n  data() {\n    return {\n      inputIndeterminate: this.indeterminate\n    };\n  },\n\n  computed: {\n    classes() {\n      return { ...VInput.options.computed.classes.call(this),\n        'v-input--selection-controls': true,\n        'v-input--checkbox': true,\n        'v-input--indeterminate': this.inputIndeterminate\n      };\n    },\n\n    computedIcon() {\n      if (this.inputIndeterminate) {\n        return this.indeterminateIcon;\n      } else if (this.isActive) {\n        return this.onIcon;\n      } else {\n        return this.offIcon;\n      }\n    },\n\n    // Do not return undefined if disabled,\n    // according to spec, should still show\n    // a color when disabled and active\n    validationState() {\n      if (this.isDisabled && !this.inputIndeterminate) return undefined;\n      if (this.hasError && this.shouldValidate) return 'error';\n      if (this.hasSuccess) return 'success';\n      if (this.hasColor !== null) return this.computedColor;\n      return undefined;\n    }\n\n  },\n  watch: {\n    indeterminate(val) {\n      // https://github.com/vuetifyjs/vuetify/issues/8270\n      this.$nextTick(() => this.inputIndeterminate = val);\n    },\n\n    inputIndeterminate(val) {\n      this.$emit('update:indeterminate', val);\n    },\n\n    isActive() {\n      if (!this.indeterminate) return;\n      this.inputIndeterminate = false;\n    }\n\n  },\n  methods: {\n    genCheckbox() {\n      const {\n        title,\n        ...checkboxAttrs\n      } = this.attrs$;\n      return this.$createElement('div', {\n        staticClass: 'v-input--selection-controls__input'\n      }, [this.$createElement(VIcon, this.setTextColor(this.validationState, {\n        props: {\n          dense: this.dense,\n          dark: this.dark,\n          light: this.light\n        }\n      }), this.computedIcon), this.genInput('checkbox', { ...checkboxAttrs,\n        'aria-checked': this.inputIndeterminate ? 'mixed' : this.isActive.toString()\n      }), this.genRipple(this.setTextColor(this.rippleState))]);\n    },\n\n    genDefaultSlot() {\n      return [this.genCheckbox(), this.genLabel()];\n    }\n\n  }\n});\n//# sourceMappingURL=VCheckbox.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".max-w-8[data-v-a3277a30]{max-width:8ch}.max-w-15[data-v-a3277a30]{max-width:15ch}.max-w-25[data-v-a3277a30]{max-width:25ch}.max-w-28[data-v-a3277a30]{max-width:28ch}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Styles\nimport \"../../../src/components/VImg/VImg.sass\"; // Directives\n\nimport intersect from '../../directives/intersect'; // Components\n\nimport VResponsive from '../VResponsive'; // Mixins\n\nimport Themeable from '../../mixins/themeable'; // Utils\n\nimport mixins from '../../util/mixins';\nimport mergeData from '../../util/mergeData';\nimport { consoleWarn } from '../../util/console';\nimport { getSlot } from '../../util/helpers';\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window;\n/* @vue/component */\n\nexport default mixins(VResponsive, Themeable).extend({\n  name: 'v-img',\n  directives: {\n    intersect\n  },\n  props: {\n    alt: String,\n    contain: Boolean,\n    eager: Boolean,\n    gradient: String,\n    lazySrc: String,\n    options: {\n      type: Object,\n      // For more information on types, navigate to:\n      // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n      default: () => ({\n        root: undefined,\n        rootMargin: undefined,\n        threshold: undefined\n      })\n    },\n    position: {\n      type: String,\n      default: 'center center'\n    },\n    sizes: String,\n    src: {\n      type: [String, Object],\n      default: ''\n    },\n    srcset: String,\n    transition: {\n      type: [Boolean, String],\n      default: 'fade-transition'\n    }\n  },\n\n  data() {\n    return {\n      currentSrc: '',\n      image: null,\n      isLoading: true,\n      calculatedAspectRatio: undefined,\n      naturalWidth: undefined,\n      hasError: false\n    };\n  },\n\n  computed: {\n    computedAspectRatio() {\n      return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio);\n    },\n\n    normalisedSrc() {\n      return this.src && typeof this.src === 'object' ? {\n        src: this.src.src,\n        srcset: this.srcset || this.src.srcset,\n        lazySrc: this.lazySrc || this.src.lazySrc,\n        aspect: Number(this.aspectRatio || this.src.aspect)\n      } : {\n        src: this.src,\n        srcset: this.srcset,\n        lazySrc: this.lazySrc,\n        aspect: Number(this.aspectRatio || 0)\n      };\n    },\n\n    __cachedImage() {\n      if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return [];\n      const backgroundImage = [];\n      const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc;\n      if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`);\n      if (src) backgroundImage.push(`url(\"${src}\")`);\n      const image = this.$createElement('div', {\n        staticClass: 'v-image__image',\n        class: {\n          'v-image__image--preload': this.isLoading,\n          'v-image__image--contain': this.contain,\n          'v-image__image--cover': !this.contain\n        },\n        style: {\n          backgroundImage: backgroundImage.join(', '),\n          backgroundPosition: this.position\n        },\n        key: +this.isLoading\n      });\n      /* istanbul ignore if */\n\n      if (!this.transition) return image;\n      return this.$createElement('transition', {\n        attrs: {\n          name: this.transition,\n          mode: 'in-out'\n        }\n      }, [image]);\n    }\n\n  },\n  watch: {\n    src() {\n      // Force re-init when src changes\n      if (!this.isLoading) this.init(undefined, undefined, true);else this.loadImage();\n    },\n\n    '$vuetify.breakpoint.width': 'getSrc'\n  },\n\n  mounted() {\n    this.init();\n  },\n\n  methods: {\n    init(entries, observer, isIntersecting) {\n      // If the current browser supports the intersection\n      // observer api, the image is not observable, and\n      // the eager prop isn't being used, do not load\n      if (hasIntersect && !isIntersecting && !this.eager) return;\n\n      if (this.normalisedSrc.lazySrc) {\n        const lazyImg = new Image();\n        lazyImg.src = this.normalisedSrc.lazySrc;\n        this.pollForSize(lazyImg, null);\n      }\n      /* istanbul ignore else */\n\n\n      if (this.normalisedSrc.src) this.loadImage();\n    },\n\n    onLoad() {\n      this.getSrc();\n      this.isLoading = false;\n      this.$emit('load', this.src);\n\n      if (this.image && (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))) {\n        if (this.image.naturalHeight && this.image.naturalWidth) {\n          this.naturalWidth = this.image.naturalWidth;\n          this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight;\n        } else {\n          this.calculatedAspectRatio = 1;\n        }\n      }\n    },\n\n    onError() {\n      this.hasError = true;\n      this.$emit('error', this.src);\n    },\n\n    getSrc() {\n      /* istanbul ignore else */\n      if (this.image) this.currentSrc = this.image.currentSrc || this.image.src;\n    },\n\n    loadImage() {\n      const image = new Image();\n      this.image = image;\n\n      image.onload = () => {\n        /* istanbul ignore if */\n        if (image.decode) {\n          image.decode().catch(err => {\n            consoleWarn(`Failed to decode image, trying to render anyway\\n\\n` + `src: ${this.normalisedSrc.src}` + (err.message ? `\\nOriginal error: ${err.message}` : ''), this);\n          }).then(this.onLoad);\n        } else {\n          this.onLoad();\n        }\n      };\n\n      image.onerror = this.onError;\n      this.hasError = false;\n      this.sizes && (image.sizes = this.sizes);\n      this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset);\n      image.src = this.normalisedSrc.src;\n      this.$emit('loadstart', this.normalisedSrc.src);\n      this.aspectRatio || this.pollForSize(image);\n      this.getSrc();\n    },\n\n    pollForSize(img, timeout = 100) {\n      const poll = () => {\n        const {\n          naturalHeight,\n          naturalWidth\n        } = img;\n\n        if (naturalHeight || naturalWidth) {\n          this.naturalWidth = naturalWidth;\n          this.calculatedAspectRatio = naturalWidth / naturalHeight;\n        } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n          setTimeout(poll, timeout);\n        }\n      };\n\n      poll();\n    },\n\n    genContent() {\n      const content = VResponsive.options.methods.genContent.call(this);\n\n      if (this.naturalWidth) {\n        this._b(content.data, 'div', {\n          style: {\n            width: `${this.naturalWidth}px`\n          }\n        });\n      }\n\n      return content;\n    },\n\n    __genPlaceholder() {\n      const slot = getSlot(this, 'placeholder');\n\n      if (slot) {\n        const placeholder = this.isLoading ? [this.$createElement('div', {\n          staticClass: 'v-image__placeholder'\n        }, slot)] : [];\n        if (!this.transition) return placeholder[0];\n        return this.$createElement('transition', {\n          props: {\n            appear: true,\n            name: this.transition\n          }\n        }, placeholder);\n      }\n    }\n\n  },\n\n  render(h) {\n    const node = VResponsive.options.render.call(this, h);\n    const data = mergeData(node.data, {\n      staticClass: 'v-image',\n      attrs: {\n        'aria-label': this.alt,\n        role: this.alt ? 'img' : undefined\n      },\n      class: this.themeClasses,\n      // Only load intersect directive if it\n      // will work in the current browser.\n      directives: hasIntersect ? [{\n        name: 'intersect',\n        modifiers: {\n          once: true\n        },\n        value: {\n          handler: this.init,\n          options: this.options\n        }\n      }] : undefined\n    });\n    node.children = [this.__cachedSizer, this.__cachedImage, this.__genPlaceholder(), this.genContent()];\n    return h(node.tag, data, node.children);\n  }\n\n});\n//# sourceMappingURL=VImg.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-slide-group{display:flex}.v-slide-group:not(.v-slide-group--has-affixes)>.v-slide-group__next,.v-slide-group:not(.v-slide-group--has-affixes)>.v-slide-group__prev{display:none}.v-slide-group.v-item-group>.v-slide-group__next,.v-slide-group.v-item-group>.v-slide-group__prev{cursor:pointer}.v-slide-item{display:inline-flex;flex:0 1 auto}.v-slide-group__next,.v-slide-group__prev{align-items:center;display:flex;flex:0 1 52px;justify-content:center;min-width:52px}.v-slide-group__content{display:flex;flex:1 0 auto;position:relative;transition:.3s cubic-bezier(.25,.8,.5,1);white-space:nowrap}.v-slide-group__wrapper{contain:content;display:flex;flex:1 1 auto;overflow:hidden}.v-slide-group__next--disabled,.v-slide-group__prev--disabled{pointer-events:none}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import VBtn from './VBtn';\nexport { VBtn };\nexport default VBtn;\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VCard/VCard.sass\"; // Extensions\n\nimport VSheet from '../VSheet'; // Mixins\n\nimport Loadable from '../../mixins/loadable';\nimport Routable from '../../mixins/routable'; // Helpers\n\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Loadable, Routable, VSheet).extend({\n  name: 'v-card',\n  props: {\n    flat: Boolean,\n    hover: Boolean,\n    img: String,\n    link: Boolean,\n    loaderHeight: {\n      type: [Number, String],\n      default: 4\n    },\n    raised: Boolean\n  },\n  computed: {\n    classes() {\n      return {\n        'v-card': true,\n        ...Routable.options.computed.classes.call(this),\n        'v-card--flat': this.flat,\n        'v-card--hover': this.hover,\n        'v-card--link': this.isClickable,\n        'v-card--loading': this.loading,\n        'v-card--disabled': this.disabled,\n        'v-card--raised': this.raised,\n        ...VSheet.options.computed.classes.call(this)\n      };\n    },\n\n    styles() {\n      const style = { ...VSheet.options.computed.styles.call(this)\n      };\n\n      if (this.img) {\n        style.background = `url(\"${this.img}\") center center / cover no-repeat`;\n      }\n\n      return style;\n    }\n\n  },\n  methods: {\n    genProgress() {\n      const render = Loadable.options.methods.genProgress.call(this);\n      if (!render) return null;\n      return this.$createElement('div', {\n        staticClass: 'v-card__progress',\n        key: 'progress'\n      }, [render]);\n    }\n\n  },\n\n  render(h) {\n    const {\n      tag,\n      data\n    } = this.generateRouteLink();\n    data.style = this.styles;\n\n    if (this.isClickable) {\n      data.attrs = data.attrs || {};\n      data.attrs.tabindex = 0;\n    }\n\n    return h(tag, this.setBackgroundColor(this.color, data), [this.genProgress(), this.$slots.default]);\n  }\n\n});\n//# sourceMappingURL=VCard.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[(_vm.Document && _vm.Document.SessionId)?_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar',{attrs:{\"SessionId\":_vm.Document.SessionId}})],1):_vm._e(),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.Document && _vm.Document.BillId)?_c('script',{attrs:{\"type\":\"application/ld+json\"}},[_vm._v(\" { \\\"@context\\\": \\\"http://schema.org/\\\", \\\"@type\\\": \\\"Legislation\\\", \\\"name\\\": \\\"\"+_vm._s(_vm.Document.Year)+\" South Dakota \"+_vm._s(_vm.Document.BillTypeFull + ' ' + _vm.Document.BillNumber)+\"\\\", \\\"description\\\": \\\"\"+_vm._s(_vm.Document.FullTitle.replace(/[\"]/g,''))+\"\\\", \\\"legislationType\\\": \\\"\"+_vm._s(_vm.Document.BillTypeFull)+\"\\\", \\\"legislationIdentifier\\\": \\\"https://sdlegislature.gov/Session/Bill/\"+_vm._s(_vm.Document.BillId)+\"/\"+_vm._s(_vm.Document.DocumentId)+\"\\\", \\\"inLanguage\\\": \\\"English\\\" } \")]):_vm._e(),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),(_vm.Document && _vm.Document.DocumentHtml)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.Document.DocumentHtml)}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\" v-if=\"Document && Document.SessionId\">\r\n            <Sidebar :SessionId=\"Document.SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <script type=\"application/ld+json\" v-if=\"Document && Document.BillId\">\r\n            {\r\n            \"@context\": \"http://schema.org/\",\r\n            \"@type\": \"Legislation\",\r\n            \"name\": \"{{ Document.Year }} South Dakota {{Document.BillTypeFull + ' ' + Document.BillNumber}}\",\r\n            \"description\": \"{{Document.FullTitle.replace(/[\"]/g,'')}}\",\r\n            \"legislationType\": \"{{Document.BillTypeFull}}\",\r\n            \"legislationIdentifier\": \"https://sdlegislature.gov/Session/Bill/{{Document.BillId}}/{{Document.DocumentId}}\",\r\n            \"inLanguage\": \"English\"\r\n            }\r\n            </script>\r\n            <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n            <div v-if=\"Document && Document.DocumentHtml\" v-html=\"Document.DocumentHtml\"></div>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n\r\n    export default {\r\n        name: 'BillHTML',\r\n        props: ['BillId', 'DocumentId'],\r\n        components: {\r\n            Sidebar\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                this.loading = true;\r\n                fetch('/api/Bills/HTML/' + this.DocumentId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Document = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                search: '',\r\n                loading: false,\r\n                Document: {},\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            DocumentId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Loading Bill...';\r\n                if (this.Document && this.Document.BillTypeFull && this.Document.BillNumber) {\r\n                    title = this.Document.Year + \" \" + this.Document.BillTypeFull + \" \" + this.Document.BillNumber;\r\n                }\r\n                else if (this.Document && this.Document.BillTypeFull && this.Document.BillNumber) {\r\n                    title = this.Document.BillTypeFull + \" \" + this.Document.BillNumber;\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                if(this.Document && this.Document.FullTitle)\r\n                {\r\n                    return this.Document.FullTitle.replace(/[\"]/g,'');\r\n                }\r\n                return this.Title;\r\n            },\r\n            Year: function () {\r\n                if(this.Document && this.Document.Year)\r\n                {\r\n                    return this.Document.Year;\r\n                }\r\n                return null;\r\n            },\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                script: [\r\n                    {\r\n                        type: 'application/ld+json',\r\n                        json: {\r\n                            '@context': 'http://schema.org',\r\n                            '@type': 'Legislation',\r\n                            'name': this.Title,\r\n                            'description': this.Description,\r\n                            'legislationType': (this.Document || {}).BillTypeFull,\r\n                            'legislationIdentifier': window.location.href,\r\n                            'inLanguage': 'English'\r\n                        }\r\n                    }],\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] },\r\n                    { vmid: 'alternate', rel: 'alternate', type:'application/pdf', href: 'https://mylrc.sdlegislature.gov/api/Documents/Bill/'+this.DocumentId+'.pdf?Year='+this.Year }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./BillHTML.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./BillHTML.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BillHTML.vue?vue&type=template&id=3055485e&\"\nimport script from \"./BillHTML.vue?vue&type=script&lang=js&\"\nexport * from \"./BillHTML.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,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-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('v-card',{attrs:{\"height\":\"400\",\"color\":\"transparent\",\"flat\":\"\"}},[_c('div',{staticClass:\"display-3 mt-5\"},[_vm._v(\"Page not found.\")]),_c('div',{staticClass:\"grey--text lighten-5\"},[_vm._v(\" The page you are trying to get to could not be located. \")])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container>\r\n        <v-layout row wrap>\r\n            <v-flex xs12>\r\n                <v-card height=\"400\" color=\"transparent\" flat>\r\n                    <div class=\"display-3 mt-5\">Page not found.</div>\r\n                    <div class=\"grey--text lighten-5\">\r\n                        The page you are trying to get to could not be located.\r\n                    </div>\r\n                </v-card>\r\n            </v-flex>\r\n        </v-layout>\r\n    </v-container>\r\n</template>\r\n<script>\r\n    export default {\r\n        name: 'Error404',\r\n        props: {\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n            }\r\n        },\r\n        watch: {\r\n        },\r\n        mounted() \r\n        {\r\n\r\n        },\r\n        computed: {\r\n            Title: function () \r\n            {\r\n                let title = 'Not Found';\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description },\r\n                    { name: \"robots\", content: \"noindex\" },\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.protocol + '//' + window.location.host + '/404' }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Error404.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Error404.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Error404.vue?vue&type=template&id=4a3ccfeb&\"\nimport script from \"./Error404.vue?vue&type=script&lang=js&\"\nexport * from \"./Error404.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VContainer,VFlex,VLayout})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.Session && _vm.Session.SessionId)?_c('span',[_c('Sidebar',{attrs:{\"SessionId\":_vm.Session.SessionId}})],1):_c('span',[_c('Sidebar')],1)]),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[(_vm.currentRoute.includes('SDCLIndex'))?_c('span',[(_vm.Session)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" SDCL Index\")]):(_vm.currentRoute.includes('TableOfContents'))?_c('span',[(_vm.Session)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" Table Of Contents\")]):(_vm.currentRoute.includes('TopicalIndex'))?_c('span',[(_vm.Session)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" Topical Index\")]):(_vm.currentRoute.includes('CrossReference'))?_c('span',[(_vm.Session)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" Cross Reference\")]):(_vm.currentRoute.includes('Foreward'))?_c('span',[(_vm.Session)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" Forward\")]):(_vm.currentRoute.includes('Session_Laws/Chapter'))?_c('span',[(_vm.Session)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" Session Laws\")]):_vm._e(),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('v-row',{staticClass:\"text-center\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"5\"}},[_c('v-breadcrumbs',{staticClass:\"py-0\",staticStyle:{\"font-size\":\"18px\"},attrs:{\"divider\":\">\",\"items\":_vm.breadcrumbs}})],1)],1),(_vm.Session && !_vm.loading)?_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('GoogleSearch',{attrs:{\"SessionId\":_vm.Session.SessionId}})],1)],1)],1):_vm._e()],1),_c('v-divider',{staticStyle:{\"height\":\"10px\",\"max-height\":\"10px\"}}),(_vm.SessionLawId != 'null' && _vm.item)?_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-spacer'),(_vm.item && _vm.item.DocumentId && !_vm.loading)?_c('v-btn',{staticStyle:{\"float\":\"right\"},attrs:{\"text\":\"\",\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value +'api/Documents/SessionLaws/' + _vm.item.DocumentId + '.pdf'}},[_vm._v(\"Printer Friendly\")]):_vm._e()],1):_vm._e(),_c('v-container',[(_vm.SessionLawId && _vm.SessionLawId != 'null' && _vm.item && _vm.item.Html)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.item.Html)}}):_c('div',[(!_vm.loading)?_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\"Not yet available.\")]):_vm._e()],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <span v-if=\"Session && Session.SessionId\">\r\n                <Sidebar :SessionId=\"Session.SessionId\"></Sidebar>\r\n            </span>\r\n            <span v-else>\r\n                <Sidebar></Sidebar>\r\n            </span>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                <span v-if=\"currentRoute.includes('SDCLIndex')\"><span v-if=\"Session\">{{Session.YearString}}</span> SDCL Index</span>\r\n                <span v-else-if=\"currentRoute.includes('TableOfContents')\"><span v-if=\"Session\">{{Session.YearString}}</span> Table Of Contents</span>\r\n                <span v-else-if=\"currentRoute.includes('TopicalIndex')\"><span v-if=\"Session\">{{Session.YearString}}</span> Topical Index</span>\r\n                <span v-else-if=\"currentRoute.includes('CrossReference')\"><span v-if=\"Session\">{{Session.YearString}}</span> Cross Reference</span>\r\n                <span v-else-if=\"currentRoute.includes('Foreward')\"><span v-if=\"Session\">{{Session.YearString}}</span> Forward</span>\r\n                <span v-else-if=\"currentRoute.includes('Session_Laws/Chapter')\"><span v-if=\"Session\">{{Session.YearString}}</span> Session Laws</span>\r\n                <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n                <v-row class=\"text-center\">\r\n                    <v-col cols=\"12\" sm=\"6\" md=\"5\">\r\n                        <v-breadcrumbs divider=\">\" :items=\"breadcrumbs\" class=\"py-0\" style=\"font-size:18px;\"></v-breadcrumbs>\r\n                    </v-col>\r\n                </v-row>\r\n                <v-container v-if=\"Session && !loading\">\r\n                    <v-layout row wrap>\r\n                        <v-flex xs12>\r\n                            <GoogleSearch :SessionId=\"Session.SessionId\"></GoogleSearch>\r\n                        </v-flex>\r\n                    </v-layout>\r\n                </v-container>\r\n            </div>\r\n            <v-divider style=\"height: 10px; max-height: 10px\"></v-divider>\r\n            <v-layout row wrap v-if=\"SessionLawId != 'null' && item\">\r\n                <v-spacer></v-spacer>\r\n                <v-btn v-if=\"item && item.DocumentId && !loading\" style=\"float:right;\" text rel=\"noopener\" :href=\"$MyLRCUrl.value +'api/Documents/SessionLaws/' + item.DocumentId + '.pdf'\">Printer Friendly</v-btn>\r\n            </v-layout>\r\n            <v-container>\r\n                <div v-if=\"SessionLawId && SessionLawId != 'null' && item && item.Html\" v-html=\"item.Html\"></div>\r\n                <div v-else>\r\n                    <v-alert v-if=\"!loading\" dense\r\n                             text\r\n                             type=\"info\">Not yet available.</v-alert>\r\n                </div>\r\n            </v-container>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n\r\n<script>\r\n    const GoogleSearch = () => import(\"@/Components/GoogleSearch.vue\");\r\n    const GoogleSearchStatute = () => import(\"@/Components/GoogleSearchStatute.vue\");\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n\r\n    export default {\r\n        name: 'SessionLawChapter',\r\n        props: ['SessionLawId'],\r\n        components: {\r\n            GoogleSearch,\r\n            GoogleSearchStatute,\r\n            Sidebar\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n                this.item.Html = \"\";\r\n\r\n                fetch('/api/Sessions',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            return res.text().then(r => Promise.reject(r));\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.Sessions = EncodeDatetimes(response);\r\n                    })\r\n                    .then(() => fetch('/api/SessionLaws/SessionLaw/' + this.SessionLawId,\r\n                        {\r\n                            method: \"GET\",\r\n                            credentials: \"include\",\r\n                            headers: { \"Content-Type\": \"application/json\" },\r\n                        }))\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else if (res.status === 404)\r\n                            return Promise.reject(404);\r\n                        else\r\n                            return res.text().then(r => Promise.reject(r));\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.item = response;\r\n                        let session = this.Sessions.find(x => x.SessionId == this.item.SessionId);\r\n\r\n                        if (session)\r\n                            this.Session = session;\r\n                        else\r\n                            this.Session = { Year: '' };\r\n\r\n                        this.createBreadcrumbs(\"Session Laws (\" + this.Session.Year + ')', \"/Statutes/Session_Laws/\" + this.Session.SessionId, this.item.Chapter, this.SessionLawId);\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        if (error == 404)\r\n                            window.location.href = \"/404?path=\" + encodeURIComponent(window.location.pathname);\r\n                        else if (error != 302)\r\n                        {\r\n                            let e = String(error).substring(0, 100);\r\n\r\n                            if ((e || '').indexOf('Failed to fetch') > -1)\r\n                            {\r\n                                window.location.href = \"/400?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                            }\r\n                            else\r\n                            {\r\n                                reportError(error);\r\n                                window.location.href = \"/500?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                            }\r\n                        }\r\n                    })\r\n                    .finally(() =>\r\n                    {\r\n                        this.loading = false;\r\n                    });\r\n            },\r\n            createBreadcrumbs(route, url, chapter, sessionLawId)\r\n            {\r\n                this.readableNumber = chapter;\r\n\r\n                var l = [\r\n                    {\r\n                        to: '/',\r\n                        link: true,\r\n                        text: 'Home',\r\n                        name: 'Home'\r\n                    },\r\n                    {\r\n                        to: url,\r\n                        link: true,\r\n                        text: route,\r\n                        exact: true,\r\n                        name: route\r\n                    },\r\n                    {\r\n                        to: '/Statutes/Session_Laws/Chapter/' + sessionLawId,\r\n                        link: true,\r\n                        text: 'Chapter ' + chapter,\r\n                        exact: true,\r\n                        name: 'Chapter ' + chapter,\r\n                        disabled: true\r\n                    }];\r\n\r\n\r\n                this.breadcrumbs = l;\r\n            },\r\n\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n\r\n                readableNumber: \"\",\r\n                loading: true,\r\n\r\n                item: {\r\n                    StatuteId: null,\r\n                    Html: null\r\n                },\r\n                Session: { Year: '' },\r\n                parent: {\r\n                    name: '',\r\n                    url: '',\r\n                },\r\n                bcItem: {\r\n                    href: '',\r\n                    link: true,\r\n                    text: '',\r\n                },\r\n                breadcrumbs: [],\r\n                Sessions: [],\r\n            };\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            currentRoute()\r\n            {\r\n                this.LoadData();\r\n            },\r\n            Value: {\r\n                handler()\r\n                {\r\n                    this.LoadData();\r\n                },\r\n            },\r\n        },\r\n        computed: {\r\n            currentRoute: function ()\r\n            {\r\n                return this.$route.path;\r\n            },\r\n            JsonldBreadCrumbs: function ()\r\n            {\r\n                let CurrentBaseURL = window.location.origin;\r\n                let ListItems = [];\r\n\r\n                this.breadcrumbs.forEach((x, i) =>\r\n                {\r\n                    let li = {\r\n                        \"@type\": \"ListItem\",\r\n                        \"position\": i,\r\n                        \"name\": x.text,\r\n                        \"item\": CurrentBaseURL + x.to\r\n                    };\r\n                    ListItems.push(li);\r\n                });\r\n\r\n                return ListItems;\r\n            },\r\n            Title: function ()\r\n            {\r\n                let title = \"Session Law Chapter \";\r\n\r\n                if (this.Session && this.Session.Year)\r\n                {\r\n                    title = this.Session.Year + ' ' + title;\r\n                }\r\n                else\r\n                {\r\n                    title = \"Session Laws\" + ' ' + title;\r\n                }\r\n                if (this.item && this.item.Chapter)\r\n                {\r\n                    title = title + ' ' + this.item.Chapter;\r\n                }\r\n\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                if (this.item && this.item.CatchLine)\r\n                {\r\n                    return this.item.Catchline;\r\n                }\r\n\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                script: [\r\n                    {\r\n                        type: 'application/ld+json',\r\n                        json: {\r\n                            '@context': 'http://schema.org',\r\n                            '@type': 'Legislation',\r\n                            \"@id\": window.location.href,\r\n                            'name': \"Session Law \" + this.readableNumber,\r\n                            'description': this.Description,\r\n                            'legislationType': \"Session Law\",\r\n                            'inLanguage': 'English'\r\n                        }\r\n                    }, {\r\n                        type: 'application/ld+json',\r\n                        json: {\r\n                            '@context': 'http://schema.org',\r\n                            '@type': 'BreadcrumbList',\r\n                            \"itemListElement\": this.JsonldBreadCrumbs\r\n                        }\r\n                    }],\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            };\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionLawChapter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionLawChapter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SessionLawChapter.vue?vue&type=template&id=4f98343e&\"\nimport script from \"./SessionLawChapter.vue?vue&type=script&lang=js&\"\nexport * from \"./SessionLawChapter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\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 { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBreadcrumbs,VBtn,VCol,VContainer,VDivider,VFlex,VLayout,VProgressLinear,VRow,VSpacer})\n","export * from \"-!../../node_modules/@vue/cli-service/node_modules/vue-style-loader/index.js??ref--7-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ConferenceCommittees.vue?vue&type=style&index=0&id=a3277a30&scoped=true&lang=css&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-toolbar.v-sheet{background-color:#fff}.theme--dark.v-toolbar.v-sheet{background-color:#272727}.v-sheet.v-toolbar{border-radius:0}.v-sheet.v-toolbar:not(.v-sheet--outlined){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.v-sheet.v-toolbar.v-sheet--shaped{border-radius:24px 0}.v-toolbar{contain:layout;display:block;flex:1 1 auto;max-width:100%;transition:transform .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1),left .2s cubic-bezier(.4,0,.2,1),right .2s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1),max-width .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.v-toolbar .v-input{padding-top:0;margin-top:0}.v-toolbar__content,.v-toolbar__extension{padding:4px 16px}.v-toolbar__content .v-btn.v-btn--icon.v-size--default,.v-toolbar__extension .v-btn.v-btn--icon.v-size--default{height:48px;width:48px}.v-application--is-ltr .v-toolbar__content>.v-btn.v-btn--icon:first-child,.v-application--is-ltr .v-toolbar__extension>.v-btn.v-btn--icon:first-child{margin-left:-12px}.v-application--is-rtl .v-toolbar__content>.v-btn.v-btn--icon:first-child,.v-application--is-rtl .v-toolbar__extension>.v-btn.v-btn--icon:first-child{margin-right:-12px}.v-application--is-ltr .v-toolbar__content>.v-btn.v-btn--icon:first-child+.v-toolbar__title,.v-application--is-ltr .v-toolbar__extension>.v-btn.v-btn--icon:first-child+.v-toolbar__title{padding-left:20px}.v-application--is-rtl .v-toolbar__content>.v-btn.v-btn--icon:first-child+.v-toolbar__title,.v-application--is-rtl .v-toolbar__extension>.v-btn.v-btn--icon:first-child+.v-toolbar__title{padding-right:20px}.v-application--is-ltr .v-toolbar__content>.v-btn.v-btn--icon:last-child,.v-application--is-ltr .v-toolbar__extension>.v-btn.v-btn--icon:last-child{margin-right:-12px}.v-application--is-rtl .v-toolbar__content>.v-btn.v-btn--icon:last-child,.v-application--is-rtl .v-toolbar__extension>.v-btn.v-btn--icon:last-child{margin-left:-12px}.v-toolbar__content>.v-tabs,.v-toolbar__extension>.v-tabs{height:inherit;margin-top:-4px;margin-bottom:-4px}.v-toolbar__content>.v-tabs>.v-slide-group.v-tabs-bar,.v-toolbar__extension>.v-tabs>.v-slide-group.v-tabs-bar{background-color:inherit;height:inherit}.v-toolbar__content>.v-tabs:first-child,.v-toolbar__extension>.v-tabs:first-child{margin-left:-16px}.v-toolbar__content>.v-tabs:last-child,.v-toolbar__extension>.v-tabs:last-child{margin-right:-16px}.v-toolbar__content,.v-toolbar__extension{align-items:center;display:flex;position:relative;z-index:0}.v-toolbar__image{position:absolute;top:0;bottom:0;width:100%;z-index:0;contain:strict}.v-toolbar__image,.v-toolbar__image .v-image{border-radius:inherit}.v-toolbar__items{display:flex;height:inherit}.v-toolbar__items>.v-btn{border-radius:0;height:100%!important;max-height:none}.v-toolbar__title{font-size:1.25rem;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-toolbar.v-toolbar--absolute{position:absolute;top:0;z-index:1}.v-toolbar.v-toolbar--bottom{top:auto;bottom:0}.v-toolbar.v-toolbar--collapse .v-toolbar__title{white-space:nowrap}.v-toolbar.v-toolbar--collapsed{max-width:112px;overflow:hidden}.v-application--is-ltr .v-toolbar.v-toolbar--collapsed{border-bottom-right-radius:24px}.v-application--is-rtl .v-toolbar.v-toolbar--collapsed{border-bottom-left-radius:24px}.v-toolbar.v-toolbar--collapsed .v-toolbar__extension,.v-toolbar.v-toolbar--collapsed .v-toolbar__title{display:none}.v-toolbar--dense .v-toolbar__content,.v-toolbar--dense .v-toolbar__extension{padding-top:0;padding-bottom:0}.v-toolbar--flat{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)!important}.v-toolbar--floating{display:inline-flex}.v-toolbar--prominent .v-toolbar__content{align-items:flex-start}.v-toolbar--prominent .v-toolbar__title{font-size:1.5rem;padding-top:6px}.v-toolbar--prominent:not(.v-toolbar--bottom) .v-toolbar__title{align-self:flex-end;padding-bottom:6px;padding-top:0}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-chip:not(.v-chip--outlined).accent,.v-chip:not(.v-chip--outlined).error,.v-chip:not(.v-chip--outlined).info,.v-chip:not(.v-chip--outlined).primary,.v-chip:not(.v-chip--outlined).secondary,.v-chip:not(.v-chip--outlined).success,.v-chip:not(.v-chip--outlined).warning{color:#fff}.theme--light.v-chip{border-color:rgba(0,0,0,.12);color:rgba(0,0,0,.87)}.theme--light.v-chip:not(.v-chip--active){background:#e0e0e0}.theme--light.v-chip:hover:before{opacity:.04}.theme--light.v-chip--active:before,.theme--light.v-chip--active:hover:before,.theme--light.v-chip:focus:before{opacity:.12}.theme--light.v-chip--active:focus:before{opacity:.16}.theme--dark.v-chip{border-color:hsla(0,0%,100%,.12);color:#fff}.theme--dark.v-chip:not(.v-chip--active){background:#555}.theme--dark.v-chip:hover:before{opacity:.08}.theme--dark.v-chip--active:before,.theme--dark.v-chip--active:hover:before,.theme--dark.v-chip:focus:before{opacity:.24}.theme--dark.v-chip--active:focus:before{opacity:.32}.v-chip{align-items:center;cursor:default;display:inline-flex;line-height:20px;max-width:100%;outline:none;overflow:hidden;padding:0 12px;position:relative;text-decoration:none;transition-duration:.28s;transition-property:box-shadow,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);vertical-align:middle;white-space:nowrap}.v-chip:before{background-color:currentColor;bottom:0;border-radius:inherit;content:\\\"\\\";left:0;opacity:0;position:absolute;pointer-events:none;right:0;top:0}.v-chip .v-avatar{height:24px!important;min-width:24px!important;width:24px!important}.v-chip .v-icon{font-size:24px}.v-application--is-ltr .v-chip .v-avatar--left,.v-application--is-ltr .v-chip .v-icon--left{margin-left:-6px;margin-right:6px}.v-application--is-ltr .v-chip .v-avatar--right,.v-application--is-ltr .v-chip .v-icon--right,.v-application--is-rtl .v-chip .v-avatar--left,.v-application--is-rtl .v-chip .v-icon--left{margin-left:6px;margin-right:-6px}.v-application--is-rtl .v-chip .v-avatar--right,.v-application--is-rtl .v-chip .v-icon--right{margin-left:-6px;margin-right:6px}.v-chip:not(.v-chip--no-color) .v-icon{color:inherit}.v-chip .v-chip__close.v-icon{font-size:18px;max-height:18px;max-width:18px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.v-application--is-ltr .v-chip .v-chip__close.v-icon.v-icon--right{margin-right:-4px}.v-application--is-rtl .v-chip .v-chip__close.v-icon.v-icon--right{margin-left:-4px}.v-chip .v-chip__close.v-icon:active,.v-chip .v-chip__close.v-icon:focus,.v-chip .v-chip__close.v-icon:hover{opacity:.72}.v-chip .v-chip__content{align-items:center;display:inline-flex;height:100%;max-width:100%}.v-chip--active .v-icon{color:inherit}.v-chip--link:before{transition:opacity .3s cubic-bezier(.25,.8,.5,1)}.v-chip--link:focus:before{opacity:.32}.v-chip--clickable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.v-chip--clickable:active{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.v-chip--disabled{opacity:.4;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.v-chip__filter{max-width:24px}.v-chip__filter.v-icon{color:inherit}.v-chip__filter.expand-x-transition-enter,.v-chip__filter.expand-x-transition-leave-active{margin:0}.v-chip--pill .v-chip__filter{margin:0 16px 0 0}.v-chip--pill .v-avatar{height:32px!important;width:32px!important}.v-application--is-ltr .v-chip--pill .v-avatar--left{margin-left:-12px}.v-application--is-ltr .v-chip--pill .v-avatar--right,.v-application--is-rtl .v-chip--pill .v-avatar--left{margin-right:-12px}.v-application--is-rtl .v-chip--pill .v-avatar--right{margin-left:-12px}.v-chip--label{border-radius:4px!important}.v-chip.v-chip--outlined{border-width:thin;border-style:solid}.v-chip.v-chip--outlined.v-chip--active:before{opacity:.08}.v-chip.v-chip--outlined .v-icon{color:inherit}.v-chip.v-chip--outlined.v-chip.v-chip{background-color:transparent!important}.v-chip.v-chip--selected{background:transparent}.v-chip.v-chip--selected:after{opacity:.28}.v-chip.v-size--x-small{border-radius:8px;font-size:10px;height:16px}.v-chip.v-size--small{border-radius:12px;font-size:12px;height:24px}.v-chip.v-size--default{border-radius:16px;font-size:14px;height:32px}.v-chip.v-size--large{border-radius:27px;font-size:16px;height:54px}.v-chip.v-size--x-large{border-radius:33px;font-size:18px;height:66px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-date-picker-title{display:flex;justify-content:space-between;flex-direction:column;flex-wrap:wrap;line-height:1}.v-application--is-ltr .v-date-picker-title .v-picker__title__btn{text-align:left}.v-application--is-rtl .v-date-picker-title .v-picker__title__btn{text-align:right}.v-date-picker-title__year{align-items:center;display:inline-flex;font-size:14px;font-weight:500;margin-bottom:8px}.v-date-picker-title__date{font-size:34px;text-align:left;font-weight:500;position:relative;overflow:hidden;padding-bottom:8px;margin-bottom:-8px}.v-date-picker-title__date>div{position:relative}.v-date-picker-title--disabled{pointer-events:none}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import VDivider from './VDivider';\nexport { VDivider };\nexport default VDivider;\n//# sourceMappingURL=index.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.Session && _vm.Session.Year)?_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}}):_vm._e()],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.Session && _vm.Session.Year)?_c('div',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.Session.YearString)+\" Emergency Clause Report\")]):_vm._e(),_vm._v(\" The following bills have an emergency clause. \"),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"search\":_vm.search,\"item-key\":\"BillNumber\",\"group-by\":\"BillType\",\"multi-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"group.header\",fn:function(ref){\nvar items = ref.items;\nvar isOpen = ref.isOpen;\nvar toggle = ref.toggle;\nvar group = ref.group;\nvar groupby = ref.groupby;\nreturn [_c('td',{attrs:{\"colspan\":\"2\"}},[_vm._v(\" Bill Type: \"+_vm._s(_vm.LongBillName(group))+\" \"),(isOpen)?_c('v-icon',{on:{\"click\":toggle}},[_vm._v(_vm._s(_vm.minus))]):_c('v-icon',{on:{\"click\":toggle}},[_vm._v(_vm._s(_vm.plus))])],1)]}},{key:\"item.BillNumber\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType + ' ' + item.BillNumber))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar v-if=\"Session && Session.Year\" :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\" v-if=\"Session && Session.Year\">{{Session.YearString}} Emergency Clause Report</div>\r\n            The following bills have an emergency clause.\r\n            <FilterableDataTable :headers=\"headers\"\r\n                          :items=\"items\"\r\n                          :search=\"search\"\r\n                          item-key=\"BillNumber\"\r\n                          group-by=\"BillType\"\r\n                          multi-sort\r\n                          disable-pagination\r\n                          hide-default-footer\r\n                          :loading=\"loading\"\r\n                          loading-text=\"Loading... Please wait\"\r\n                          class=\"elevation-1\">\r\n                <template v-slot:group.header=\"{items, isOpen, toggle, group, groupby}\">\r\n                    <td colspan=\"2\">\r\n                        Bill Type: {{LongBillName(group)}}\r\n                        <v-icon v-if=\"isOpen\" @click=\"toggle\">{{minus}}</v-icon>\r\n                        <v-icon v-else @click=\"toggle\">{{plus}}</v-icon>\r\n                    </td>\r\n                </template>\r\n                <template v-slot:item.BillNumber=\"{ item }\">\r\n                    <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType + '&nbsp;' + item.BillNumber}}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    import { mdiPlus } from '@mdi/js';\r\n    import { mdiMinus } from '@mdi/js';\r\n    export default {\r\n        name: 'Emergency',\r\n        props: ['SessionId'],\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            loadData() {\r\n                fetch('/api/Sessions/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Session = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n                this.loading = true;\r\n                fetch('/api/BillLogs/Emergency/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.loading = false;\r\n                    var temp = EncodeDatetimes(response);\r\n                    this.items = temp.sort(\r\n                        function (a, b) {\r\n                            if (a.BillType === b.BillType) {\r\n                                return a.BillNumber - b.BillNumber;\r\n                            }\r\n                            return a.BillType > b.BillType ? 1 : -1;\r\n                        });\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n                fetch('/api/BillNumbers/BillTypes', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.BillTypes = EncodeDatetimes(response);\r\n                    this.SenateBillTypes = this.BillTypes.filter(x => x.BillType.includes('S') == true);\r\n                    this.HouseBillTypes = this.BillTypes.filter(x => x.BillType.includes('H') == true);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n\r\n            },\r\n            LongBillName(short) {\r\n                if (this.BillTypes && this.BillTypes.length > 0 && this.BillTypes.find(x => x.BillType == short)) {\r\n                    return this.BillTypes.find(x => x.BillType == short).LongBillType;\r\n                }\r\n                else {\r\n                    return short;\r\n                }\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                plus: mdiPlus,\r\n                minus: mdiMinus,\r\n                search: '',\r\n                Session: {},\r\n                loading: false,\r\n                headers: [\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'start',\r\n                        value: 'BillNumber',\r\n                        width: '15ch'\r\n                    },\r\n\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'Title',\r\n                        width: '*'\r\n                    },\r\n                ],\r\n                items: [],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.loadData();\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Loading Emergency Bills...';\r\n                if (this.Session && this.Session.Year) {\r\n                    title = this.Session.Year + \" Emergency Bills\";\r\n                }\r\n                else {\r\n                    title = 'Emergency Bills';\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Emergency.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Emergency.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Emergency.vue?vue&type=template&id=899c80bc&\"\nimport script from \"./Emergency.vue?vue&type=script&lang=js&\"\nexport * from \"./Emergency.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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';\ninstallComponents(component, {VCol,VIcon,VRow})\n","import mixins from '../../util/mixins';\n\nfunction searchChildren(children) {\n  const results = [];\n\n  for (let index = 0; index < children.length; index++) {\n    const child = children[index];\n\n    if (child.isActive && child.isDependent) {\n      results.push(child);\n    } else {\n      results.push(...searchChildren(child.$children));\n    }\n  }\n\n  return results;\n}\n/* @vue/component */\n\n\nexport default mixins().extend({\n  name: 'dependent',\n\n  data() {\n    return {\n      closeDependents: true,\n      isActive: false,\n      isDependent: true\n    };\n  },\n\n  watch: {\n    isActive(val) {\n      if (val) return;\n      const openDependents = this.getOpenDependents();\n\n      for (let index = 0; index < openDependents.length; index++) {\n        openDependents[index].isActive = false;\n      }\n    }\n\n  },\n  methods: {\n    getOpenDependents() {\n      if (this.closeDependents) return searchChildren(this.$children);\n      return [];\n    },\n\n    getOpenDependentElements() {\n      const result = [];\n      const openDependents = this.getOpenDependents();\n\n      for (let index = 0; index < openDependents.length; index++) {\n        result.push(...openDependents[index].getClickableDependentElements());\n      }\n\n      return result;\n    },\n\n    getClickableDependentElements() {\n      const result = [this.$el];\n      if (this.$refs.content) result.push(this.$refs.content);\n      if (this.overlay) result.push(this.overlay.$el);\n      result.push(...this.getOpenDependentElements());\n      return result;\n    }\n\n  }\n});\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VSubheader/VSubheader.sass\"; // Mixins\n\nimport Themeable from '../../mixins/themeable';\nimport mixins from '../../util/mixins';\nexport default mixins(Themeable\n/* @vue/component */\n).extend({\n  name: 'v-subheader',\n  props: {\n    inset: Boolean\n  },\n\n  render(h) {\n    return h('div', {\n      staticClass: 'v-subheader',\n      class: {\n        'v-subheader--inset': this.inset,\n        ...this.themeClasses\n      },\n      attrs: this.$attrs,\n      on: this.$listeners\n    }, this.$slots.default);\n  }\n\n});\n//# sourceMappingURL=VSubheader.js.map","import VSubheader from './VSubheader';\nexport { VSubheader };\nexport default VSubheader;\n//# sourceMappingURL=index.js.map","// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox';\nimport VDivider from '../VDivider';\nimport VSubheader from '../VSubheader';\nimport { VList, VListItem, VListItemAction, VListItemContent, VListItemTitle } from '../VList'; // Directives\n\nimport ripple from '../../directives/ripple'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Themeable from '../../mixins/themeable'; // Helpers\n\nimport { getPropertyFromItem } from '../../util/helpers'; // Types\n\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Colorable, Themeable).extend({\n  name: 'v-select-list',\n  // https://github.com/vuejs/vue/issues/6872\n  directives: {\n    ripple\n  },\n  props: {\n    action: Boolean,\n    dense: Boolean,\n    hideSelected: Boolean,\n    items: {\n      type: Array,\n      default: () => []\n    },\n    itemDisabled: {\n      type: [String, Array, Function],\n      default: 'disabled'\n    },\n    itemText: {\n      type: [String, Array, Function],\n      default: 'text'\n    },\n    itemValue: {\n      type: [String, Array, Function],\n      default: 'value'\n    },\n    noDataText: String,\n    noFilter: Boolean,\n    searchInput: null,\n    selectedItems: {\n      type: Array,\n      default: () => []\n    }\n  },\n  computed: {\n    parsedItems() {\n      return this.selectedItems.map(item => this.getValue(item));\n    },\n\n    tileActiveClass() {\n      return Object.keys(this.setTextColor(this.color).class || {}).join(' ');\n    },\n\n    staticNoDataTile() {\n      const tile = {\n        attrs: {\n          role: undefined\n        },\n        on: {\n          mousedown: e => e.preventDefault() // Prevent onBlur from being called\n\n        }\n      };\n      return this.$createElement(VListItem, tile, [this.genTileContent(this.noDataText)]);\n    }\n\n  },\n  methods: {\n    genAction(item, inputValue) {\n      return this.$createElement(VListItemAction, [this.$createElement(VSimpleCheckbox, {\n        props: {\n          color: this.color,\n          value: inputValue,\n          ripple: false\n        },\n        on: {\n          input: () => this.$emit('select', item)\n        }\n      })]);\n    },\n\n    genDivider(props) {\n      return this.$createElement(VDivider, {\n        props\n      });\n    },\n\n    genFilteredText(text) {\n      text = text || '';\n      if (!this.searchInput || this.noFilter) return text;\n      const {\n        start,\n        middle,\n        end\n      } = this.getMaskedCharacters(text);\n      return [start, this.genHighlight(middle), end];\n    },\n\n    genHeader(props) {\n      return this.$createElement(VSubheader, {\n        props\n      }, props.header);\n    },\n\n    genHighlight(text) {\n      return this.$createElement('span', {\n        staticClass: 'v-list-item__mask'\n      }, text);\n    },\n\n    getMaskedCharacters(text) {\n      const searchInput = (this.searchInput || '').toString().toLocaleLowerCase();\n      const index = text.toLocaleLowerCase().indexOf(searchInput);\n      if (index < 0) return {\n        start: text,\n        middle: '',\n        end: ''\n      };\n      const start = text.slice(0, index);\n      const middle = text.slice(index, index + searchInput.length);\n      const end = text.slice(index + searchInput.length);\n      return {\n        start,\n        middle,\n        end\n      };\n    },\n\n    genTile({\n      item,\n      index,\n      disabled = null,\n      value = false\n    }) {\n      if (!value) value = this.hasItem(item);\n\n      if (item === Object(item)) {\n        disabled = disabled !== null ? disabled : this.getDisabled(item);\n      }\n\n      const tile = {\n        attrs: {\n          // Default behavior in list does not\n          // contain aria-selected by default\n          'aria-selected': String(value),\n          id: `list-item-${this._uid}-${index}`,\n          role: 'option'\n        },\n        on: {\n          mousedown: e => {\n            // Prevent onBlur from being called\n            e.preventDefault();\n          },\n          click: () => disabled || this.$emit('select', item)\n        },\n        props: {\n          activeClass: this.tileActiveClass,\n          disabled,\n          ripple: true,\n          inputValue: value\n        }\n      };\n\n      if (!this.$scopedSlots.item) {\n        return this.$createElement(VListItem, tile, [this.action && !this.hideSelected && this.items.length > 0 ? this.genAction(item, value) : null, this.genTileContent(item, index)]);\n      }\n\n      const parent = this;\n      const scopedSlot = this.$scopedSlots.item({\n        parent,\n        item,\n        attrs: { ...tile.attrs,\n          ...tile.props\n        },\n        on: tile.on\n      });\n      return this.needsTile(scopedSlot) ? this.$createElement(VListItem, tile, scopedSlot) : scopedSlot;\n    },\n\n    genTileContent(item, index = 0) {\n      return this.$createElement(VListItemContent, [this.$createElement(VListItemTitle, [this.genFilteredText(this.getText(item))])]);\n    },\n\n    hasItem(item) {\n      return this.parsedItems.indexOf(this.getValue(item)) > -1;\n    },\n\n    needsTile(slot) {\n      return slot.length !== 1 || slot[0].componentOptions == null || slot[0].componentOptions.Ctor.options.name !== 'v-list-item';\n    },\n\n    getDisabled(item) {\n      return Boolean(getPropertyFromItem(item, this.itemDisabled, false));\n    },\n\n    getText(item) {\n      return String(getPropertyFromItem(item, this.itemText, item));\n    },\n\n    getValue(item) {\n      return getPropertyFromItem(item, this.itemValue, this.getText(item));\n    }\n\n  },\n\n  render() {\n    const children = [];\n    const itemsLength = this.items.length;\n\n    for (let index = 0; index < itemsLength; index++) {\n      const item = this.items[index];\n      if (this.hideSelected && this.hasItem(item)) continue;\n      if (item == null) children.push(this.genTile({\n        item,\n        index\n      }));else if (item.header) children.push(this.genHeader(item));else if (item.divider) children.push(this.genDivider(item));else children.push(this.genTile({\n        item,\n        index\n      }));\n    }\n\n    children.length || children.push(this.$slots['no-data'] || this.staticNoDataTile);\n    this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item']);\n    this.$slots['append-item'] && children.push(this.$slots['append-item']);\n    return this.$createElement(VList, {\n      staticClass: 'v-select-list',\n      class: this.themeClasses,\n      attrs: {\n        role: 'listbox',\n        tabindex: -1\n      },\n      props: {\n        dense: this.dense\n      }\n    }, children);\n  }\n\n});\n//# sourceMappingURL=VSelectList.js.map","import Vue from 'vue';\n/* @vue/component */\n\nexport default Vue.extend({\n  name: 'filterable',\n  props: {\n    noDataText: {\n      type: String,\n      default: '$vuetify.noDataText'\n    }\n  }\n});\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VTextField/VTextField.sass\";\nimport \"../../../src/components/VSelect/VSelect.sass\"; // Components\n\nimport VChip from '../VChip';\nimport VMenu from '../VMenu';\nimport VSelectList from './VSelectList'; // Extensions\n\nimport VInput from '../VInput';\nimport VTextField from '../VTextField/VTextField'; // Mixins\n\nimport Comparable from '../../mixins/comparable';\nimport Dependent from '../../mixins/dependent';\nimport Filterable from '../../mixins/filterable'; // Directives\n\nimport ClickOutside from '../../directives/click-outside'; // Utilities\n\nimport mergeData from '../../util/mergeData';\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes } from '../../util/helpers';\nimport { consoleError } from '../../util/console'; // Types\n\nimport mixins from '../../util/mixins';\nexport const defaultMenuProps = {\n  closeOnClick: false,\n  closeOnContentClick: false,\n  disableKeys: true,\n  openOnClick: false,\n  maxHeight: 304\n}; // Types\n\nconst baseMixins = mixins(VTextField, Comparable, Dependent, Filterable);\n/* @vue/component */\n\nexport default baseMixins.extend().extend({\n  name: 'v-select',\n  directives: {\n    ClickOutside\n  },\n  props: {\n    appendIcon: {\n      type: String,\n      default: '$dropdown'\n    },\n    attach: {\n      type: null,\n      default: false\n    },\n    cacheItems: Boolean,\n    chips: Boolean,\n    clearable: Boolean,\n    deletableChips: Boolean,\n    disableLookup: Boolean,\n    eager: Boolean,\n    hideSelected: Boolean,\n    items: {\n      type: Array,\n      default: () => []\n    },\n    itemColor: {\n      type: String,\n      default: 'primary'\n    },\n    itemDisabled: {\n      type: [String, Array, Function],\n      default: 'disabled'\n    },\n    itemText: {\n      type: [String, Array, Function],\n      default: 'text'\n    },\n    itemValue: {\n      type: [String, Array, Function],\n      default: 'value'\n    },\n    menuProps: {\n      type: [String, Array, Object],\n      default: () => defaultMenuProps\n    },\n    multiple: Boolean,\n    openOnClear: Boolean,\n    returnObject: Boolean,\n    smallChips: Boolean\n  },\n\n  data() {\n    return {\n      cachedItems: this.cacheItems ? this.items : [],\n      menuIsBooted: false,\n      isMenuActive: false,\n      lastItem: 20,\n      // As long as a value is defined, show it\n      // Otherwise, check if multiple\n      // to determine which default to provide\n      lazyValue: this.value !== undefined ? this.value : this.multiple ? [] : undefined,\n      selectedIndex: -1,\n      selectedItems: [],\n      keyboardLookupPrefix: '',\n      keyboardLookupLastTime: 0\n    };\n  },\n\n  computed: {\n    /* All items that the select has */\n    allItems() {\n      return this.filterDuplicates(this.cachedItems.concat(this.items));\n    },\n\n    classes() {\n      return { ...VTextField.options.computed.classes.call(this),\n        'v-select': true,\n        'v-select--chips': this.hasChips,\n        'v-select--chips--small': this.smallChips,\n        'v-select--is-menu-active': this.isMenuActive,\n        'v-select--is-multi': this.multiple\n      };\n    },\n\n    /* Used by other components to overwrite */\n    computedItems() {\n      return this.allItems;\n    },\n\n    computedOwns() {\n      return `list-${this._uid}`;\n    },\n\n    computedCounterValue() {\n      var _a;\n\n      const value = this.multiple ? this.selectedItems : ((_a = this.getText(this.selectedItems[0])) !== null && _a !== void 0 ? _a : '').toString();\n\n      if (typeof this.counterValue === 'function') {\n        return this.counterValue(value);\n      }\n\n      return value.length;\n    },\n\n    directives() {\n      return this.isFocused ? [{\n        name: 'click-outside',\n        value: {\n          handler: this.blur,\n          closeConditional: this.closeConditional,\n          include: () => this.getOpenDependentElements()\n        }\n      }] : undefined;\n    },\n\n    dynamicHeight() {\n      return 'auto';\n    },\n\n    hasChips() {\n      return this.chips || this.smallChips;\n    },\n\n    hasSlot() {\n      return Boolean(this.hasChips || this.$scopedSlots.selection);\n    },\n\n    isDirty() {\n      return this.selectedItems.length > 0;\n    },\n\n    listData() {\n      const scopeId = this.$vnode && this.$vnode.context.$options._scopeId;\n      const attrs = scopeId ? {\n        [scopeId]: true\n      } : {};\n      return {\n        attrs: { ...attrs,\n          id: this.computedOwns\n        },\n        props: {\n          action: this.multiple,\n          color: this.itemColor,\n          dense: this.dense,\n          hideSelected: this.hideSelected,\n          items: this.virtualizedItems,\n          itemDisabled: this.itemDisabled,\n          itemText: this.itemText,\n          itemValue: this.itemValue,\n          noDataText: this.$vuetify.lang.t(this.noDataText),\n          selectedItems: this.selectedItems\n        },\n        on: {\n          select: this.selectItem\n        },\n        scopedSlots: {\n          item: this.$scopedSlots.item\n        }\n      };\n    },\n\n    staticList() {\n      if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n        consoleError('assert: staticList should not be called if slots are used');\n      }\n\n      return this.$createElement(VSelectList, this.listData);\n    },\n\n    virtualizedItems() {\n      return this.$_menuProps.auto ? this.computedItems : this.computedItems.slice(0, this.lastItem);\n    },\n\n    menuCanShow: () => true,\n\n    $_menuProps() {\n      let normalisedProps = typeof this.menuProps === 'string' ? this.menuProps.split(',') : this.menuProps;\n\n      if (Array.isArray(normalisedProps)) {\n        normalisedProps = normalisedProps.reduce((acc, p) => {\n          acc[p.trim()] = true;\n          return acc;\n        }, {});\n      }\n\n      return { ...defaultMenuProps,\n        eager: this.eager,\n        value: this.menuCanShow && this.isMenuActive,\n        nudgeBottom: normalisedProps.offsetY ? 1 : 0,\n        ...normalisedProps\n      };\n    }\n\n  },\n  watch: {\n    internalValue(val) {\n      this.initialValue = val;\n      this.setSelectedItems();\n\n      if (this.multiple) {\n        this.$nextTick(() => {\n          var _a;\n\n          (_a = this.$refs.menu) === null || _a === void 0 ? void 0 : _a.updateDimensions();\n        });\n      }\n    },\n\n    isMenuActive(val) {\n      window.setTimeout(() => this.onMenuActiveChange(val));\n    },\n\n    items: {\n      immediate: true,\n\n      handler(val) {\n        if (this.cacheItems) {\n          // Breaks vue-test-utils if\n          // this isn't calculated\n          // on the next tick\n          this.$nextTick(() => {\n            this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val));\n          });\n        }\n\n        this.setSelectedItems();\n      }\n\n    }\n  },\n  methods: {\n    /** @public */\n    blur(e) {\n      VTextField.options.methods.blur.call(this, e);\n      this.isMenuActive = false;\n      this.isFocused = false;\n      this.selectedIndex = -1;\n      this.setMenuIndex(-1);\n    },\n\n    /** @public */\n    activateMenu() {\n      if (!this.isInteractive || this.isMenuActive) return;\n      this.isMenuActive = true;\n    },\n\n    clearableCallback() {\n      this.setValue(this.multiple ? [] : null);\n      this.setMenuIndex(-1);\n      this.$nextTick(() => this.$refs.input && this.$refs.input.focus());\n      if (this.openOnClear) this.isMenuActive = true;\n    },\n\n    closeConditional(e) {\n      if (!this.isMenuActive) return true;\n      return !this._isDestroyed && ( // Click originates from outside the menu content\n      // Multiple selects don't close when an item is clicked\n      !this.getContent() || !this.getContent().contains(e.target)) && // Click originates from outside the element\n      this.$el && !this.$el.contains(e.target) && e.target !== this.$el;\n    },\n\n    filterDuplicates(arr) {\n      const uniqueValues = new Map();\n\n      for (let index = 0; index < arr.length; ++index) {\n        const item = arr[index]; // Do not return null values if existant (#14421)\n\n        if (item == null) {\n          continue;\n        } // Do not deduplicate headers or dividers (#12517)\n\n\n        if (item.header || item.divider) {\n          uniqueValues.set(item, item);\n          continue;\n        }\n\n        const val = this.getValue(item); // TODO: comparator\n\n        !uniqueValues.has(val) && uniqueValues.set(val, item);\n      }\n\n      return Array.from(uniqueValues.values());\n    },\n\n    findExistingIndex(item) {\n      const itemValue = this.getValue(item);\n      return (this.internalValue || []).findIndex(i => this.valueComparator(this.getValue(i), itemValue));\n    },\n\n    getContent() {\n      return this.$refs.menu && this.$refs.menu.$refs.content;\n    },\n\n    genChipSelection(item, index) {\n      const isDisabled = this.isDisabled || this.getDisabled(item);\n      const isInteractive = !isDisabled && this.isInteractive;\n      return this.$createElement(VChip, {\n        staticClass: 'v-chip--select',\n        attrs: {\n          tabindex: -1\n        },\n        props: {\n          close: this.deletableChips && isInteractive,\n          disabled: isDisabled,\n          inputValue: index === this.selectedIndex,\n          small: this.smallChips\n        },\n        on: {\n          click: e => {\n            if (!isInteractive) return;\n            e.stopPropagation();\n            this.selectedIndex = index;\n          },\n          'click:close': () => this.onChipInput(item)\n        },\n        key: JSON.stringify(this.getValue(item))\n      }, this.getText(item));\n    },\n\n    genCommaSelection(item, index, last) {\n      const color = index === this.selectedIndex && this.computedColor;\n      const isDisabled = this.isDisabled || this.getDisabled(item);\n      return this.$createElement('div', this.setTextColor(color, {\n        staticClass: 'v-select__selection v-select__selection--comma',\n        class: {\n          'v-select__selection--disabled': isDisabled\n        },\n        key: JSON.stringify(this.getValue(item))\n      }), `${this.getText(item)}${last ? '' : ', '}`);\n    },\n\n    genDefaultSlot() {\n      const selections = this.genSelections();\n      const input = this.genInput(); // If the return is an empty array\n      // push the input\n\n      if (Array.isArray(selections)) {\n        selections.push(input); // Otherwise push it into children\n      } else {\n        selections.children = selections.children || [];\n        selections.children.push(input);\n      }\n\n      return [this.genFieldset(), this.$createElement('div', {\n        staticClass: 'v-select__slot',\n        directives: this.directives\n      }, [this.genLabel(), this.prefix ? this.genAffix('prefix') : null, selections, this.suffix ? this.genAffix('suffix') : null, this.genClearIcon(), this.genIconSlot(), this.genHiddenInput()]), this.genMenu(), this.genProgress()];\n    },\n\n    genIcon(type, cb, extraData) {\n      const icon = VInput.options.methods.genIcon.call(this, type, cb, extraData);\n\n      if (type === 'append') {\n        // Don't allow the dropdown icon to be focused\n        icon.children[0].data = mergeData(icon.children[0].data, {\n          attrs: {\n            tabindex: icon.children[0].componentOptions.listeners && '-1',\n            'aria-hidden': 'true',\n            'aria-label': undefined\n          }\n        });\n      }\n\n      return icon;\n    },\n\n    genInput() {\n      const input = VTextField.options.methods.genInput.call(this);\n      delete input.data.attrs.name;\n      input.data = mergeData(input.data, {\n        domProps: {\n          value: null\n        },\n        attrs: {\n          readonly: true,\n          type: 'text',\n          'aria-readonly': String(this.isReadonly),\n          'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n          autocomplete: getObjectValueByPath(input.data, 'attrs.autocomplete', 'off'),\n          placeholder: !this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel) ? this.placeholder : undefined\n        },\n        on: {\n          keypress: this.onKeyPress\n        }\n      });\n      return input;\n    },\n\n    genHiddenInput() {\n      return this.$createElement('input', {\n        domProps: {\n          value: this.lazyValue\n        },\n        attrs: {\n          type: 'hidden',\n          name: this.attrs$.name\n        }\n      });\n    },\n\n    genInputSlot() {\n      const render = VTextField.options.methods.genInputSlot.call(this);\n      render.data.attrs = { ...render.data.attrs,\n        role: 'button',\n        'aria-haspopup': 'listbox',\n        'aria-expanded': String(this.isMenuActive),\n        'aria-owns': this.computedOwns\n      };\n      return render;\n    },\n\n    genList() {\n      // If there's no slots, we can use a cached VNode to improve performance\n      if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n        return this.genListWithSlot();\n      } else {\n        return this.staticList;\n      }\n    },\n\n    genListWithSlot() {\n      const slots = ['prepend-item', 'no-data', 'append-item'].filter(slotName => this.$slots[slotName]).map(slotName => this.$createElement('template', {\n        slot: slotName\n      }, this.$slots[slotName])); // Requires destructuring due to Vue\n      // modifying the `on` property when passed\n      // as a referenced object\n\n      return this.$createElement(VSelectList, { ...this.listData\n      }, slots);\n    },\n\n    genMenu() {\n      const props = this.$_menuProps;\n      props.activator = this.$refs['input-slot']; // Attach to root el so that\n      // menu covers prepend/append icons\n\n      if ( // TODO: make this a computed property or helper or something\n      this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n      this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n      this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n      ) {\n        props.attach = this.$el;\n      } else {\n        props.attach = this.attach;\n      }\n\n      return this.$createElement(VMenu, {\n        attrs: {\n          role: undefined\n        },\n        props,\n        on: {\n          input: val => {\n            this.isMenuActive = val;\n            this.isFocused = val;\n          },\n          scroll: this.onScroll\n        },\n        ref: 'menu'\n      }, [this.genList()]);\n    },\n\n    genSelections() {\n      let length = this.selectedItems.length;\n      const children = new Array(length);\n      let genSelection;\n\n      if (this.$scopedSlots.selection) {\n        genSelection = this.genSlotSelection;\n      } else if (this.hasChips) {\n        genSelection = this.genChipSelection;\n      } else {\n        genSelection = this.genCommaSelection;\n      }\n\n      while (length--) {\n        children[length] = genSelection(this.selectedItems[length], length, length === children.length - 1);\n      }\n\n      return this.$createElement('div', {\n        staticClass: 'v-select__selections'\n      }, children);\n    },\n\n    genSlotSelection(item, index) {\n      return this.$scopedSlots.selection({\n        attrs: {\n          class: 'v-chip--select'\n        },\n        parent: this,\n        item,\n        index,\n        select: e => {\n          e.stopPropagation();\n          this.selectedIndex = index;\n        },\n        selected: index === this.selectedIndex,\n        disabled: !this.isInteractive\n      });\n    },\n\n    getMenuIndex() {\n      return this.$refs.menu ? this.$refs.menu.listIndex : -1;\n    },\n\n    getDisabled(item) {\n      return getPropertyFromItem(item, this.itemDisabled, false);\n    },\n\n    getText(item) {\n      return getPropertyFromItem(item, this.itemText, item);\n    },\n\n    getValue(item) {\n      return getPropertyFromItem(item, this.itemValue, this.getText(item));\n    },\n\n    onBlur(e) {\n      e && this.$emit('blur', e);\n    },\n\n    onChipInput(item) {\n      if (this.multiple) this.selectItem(item);else this.setValue(null); // If all items have been deleted,\n      // open `v-menu`\n\n      if (this.selectedItems.length === 0) {\n        this.isMenuActive = true;\n      } else {\n        this.isMenuActive = false;\n      }\n\n      this.selectedIndex = -1;\n    },\n\n    onClick(e) {\n      if (!this.isInteractive) return;\n\n      if (!this.isAppendInner(e.target)) {\n        this.isMenuActive = true;\n      }\n\n      if (!this.isFocused) {\n        this.isFocused = true;\n        this.$emit('focus');\n      }\n\n      this.$emit('click', e);\n    },\n\n    onEscDown(e) {\n      e.preventDefault();\n\n      if (this.isMenuActive) {\n        e.stopPropagation();\n        this.isMenuActive = false;\n      }\n    },\n\n    onKeyPress(e) {\n      if (this.multiple || !this.isInteractive || this.disableLookup) return;\n      const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds\n\n      const now = performance.now();\n\n      if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n        this.keyboardLookupPrefix = '';\n      }\n\n      this.keyboardLookupPrefix += e.key.toLowerCase();\n      this.keyboardLookupLastTime = now;\n      const index = this.allItems.findIndex(item => {\n        var _a;\n\n        const text = ((_a = this.getText(item)) !== null && _a !== void 0 ? _a : '').toString();\n        return text.toLowerCase().startsWith(this.keyboardLookupPrefix);\n      });\n      const item = this.allItems[index];\n\n      if (index !== -1) {\n        this.lastItem = Math.max(this.lastItem, index + 5);\n        this.setValue(this.returnObject ? item : this.getValue(item));\n        this.$nextTick(() => this.$refs.menu.getTiles());\n        setTimeout(() => this.setMenuIndex(index));\n      }\n    },\n\n    onKeyDown(e) {\n      if (this.isReadonly && e.keyCode !== keyCodes.tab) return;\n      const keyCode = e.keyCode;\n      const menu = this.$refs.menu;\n      this.$emit('keydown', e);\n      if (!menu) return; // If menu is active, allow default\n      // listIndex change from menu\n\n      if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(keyCode)) {\n        this.$nextTick(() => {\n          menu.changeListIndex(e);\n          this.$emit('update:list-index', menu.listIndex);\n        });\n      } // If enter, space, open menu\n\n\n      if ([keyCodes.enter, keyCodes.space].includes(keyCode)) this.activateMenu(); // If menu is not active, up/down/home/end can do\n      // one of 2 things. If multiple, opens the\n      // menu, if not, will cycle through all\n      // available options\n\n      if (!this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(keyCode)) return this.onUpDown(e); // If escape deactivate the menu\n\n      if (keyCode === keyCodes.esc) return this.onEscDown(e); // If tab - select item or close menu\n\n      if (keyCode === keyCodes.tab) return this.onTabDown(e); // If space preventDefault\n\n      if (keyCode === keyCodes.space) return this.onSpaceDown(e);\n    },\n\n    onMenuActiveChange(val) {\n      // If menu is closing and mulitple\n      // or menuIndex is already set\n      // skip menu index recalculation\n      if (this.multiple && !val || this.getMenuIndex() > -1) return;\n      const menu = this.$refs.menu;\n      if (!menu || !this.isDirty) return; // When menu opens, set index of first active item\n\n      this.$refs.menu.getTiles();\n\n      for (let i = 0; i < menu.tiles.length; i++) {\n        if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n          this.setMenuIndex(i);\n          break;\n        }\n      }\n    },\n\n    onMouseUp(e) {\n      // eslint-disable-next-line sonarjs/no-collapsible-if\n      if (this.hasMouseDown && e.which !== 3 && this.isInteractive) {\n        // If append inner is present\n        // and the target is itself\n        // or inside, toggle menu\n        if (this.isAppendInner(e.target)) {\n          this.$nextTick(() => this.isMenuActive = !this.isMenuActive);\n        }\n      }\n\n      VTextField.options.methods.onMouseUp.call(this, e);\n    },\n\n    onScroll() {\n      if (!this.isMenuActive) {\n        requestAnimationFrame(() => this.getContent().scrollTop = 0);\n      } else {\n        if (this.lastItem > this.computedItems.length) return;\n        const showMoreItems = this.getContent().scrollHeight - (this.getContent().scrollTop + this.getContent().clientHeight) < 200;\n\n        if (showMoreItems) {\n          this.lastItem += 20;\n        }\n      }\n    },\n\n    onSpaceDown(e) {\n      e.preventDefault();\n    },\n\n    onTabDown(e) {\n      const menu = this.$refs.menu;\n      if (!menu) return;\n      const activeTile = menu.activeTile; // An item that is selected by\n      // menu-index should toggled\n\n      if (!this.multiple && activeTile && this.isMenuActive) {\n        e.preventDefault();\n        e.stopPropagation();\n        activeTile.click();\n      } else {\n        // If we make it here,\n        // the user has no selected indexes\n        // and is probably tabbing out\n        this.blur(e);\n      }\n    },\n\n    onUpDown(e) {\n      const menu = this.$refs.menu;\n      if (!menu) return;\n      e.preventDefault(); // Multiple selects do not cycle their value\n      // when pressing up or down, instead activate\n      // the menu\n\n      if (this.multiple) return this.activateMenu();\n      const keyCode = e.keyCode; // Cycle through available values to achieve\n      // select native behavior\n\n      menu.isBooted = true;\n      window.requestAnimationFrame(() => {\n        menu.getTiles();\n        if (!menu.hasClickableTiles) return this.activateMenu();\n\n        switch (keyCode) {\n          case keyCodes.up:\n            menu.prevTile();\n            break;\n\n          case keyCodes.down:\n            menu.nextTile();\n            break;\n\n          case keyCodes.home:\n            menu.firstTile();\n            break;\n\n          case keyCodes.end:\n            menu.lastTile();\n            break;\n        }\n\n        this.selectItem(this.allItems[this.getMenuIndex()]);\n      });\n    },\n\n    selectItem(item) {\n      if (!this.multiple) {\n        this.setValue(this.returnObject ? item : this.getValue(item));\n        this.isMenuActive = false;\n      } else {\n        const internalValue = (this.internalValue || []).slice();\n        const i = this.findExistingIndex(item);\n        i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item);\n        this.setValue(internalValue.map(i => {\n          return this.returnObject ? i : this.getValue(i);\n        })); // There is no item to re-highlight\n        // when selections are hidden\n\n        if (this.hideSelected) {\n          this.setMenuIndex(-1);\n        } else {\n          const index = this.allItems.indexOf(item);\n\n          if (~index) {\n            this.$nextTick(() => this.$refs.menu.getTiles());\n            setTimeout(() => this.setMenuIndex(index));\n          }\n        }\n      }\n    },\n\n    setMenuIndex(index) {\n      this.$refs.menu && (this.$refs.menu.listIndex = index);\n    },\n\n    setSelectedItems() {\n      const selectedItems = [];\n      const values = !this.multiple || !Array.isArray(this.internalValue) ? [this.internalValue] : this.internalValue;\n\n      for (const value of values) {\n        const index = this.allItems.findIndex(v => this.valueComparator(this.getValue(v), this.getValue(value)));\n\n        if (index > -1) {\n          selectedItems.push(this.allItems[index]);\n        }\n      }\n\n      this.selectedItems = selectedItems;\n    },\n\n    setValue(value) {\n      if (!this.valueComparator(value, this.internalValue)) {\n        this.internalValue = value;\n        this.$emit('change', value);\n      }\n    },\n\n    isAppendInner(target) {\n      // return true if append inner is present\n      // and the target is itself or inside\n      const appendInner = this.$refs['append-inner'];\n      return appendInner && (appendInner === target || appendInner.contains(target));\n    }\n\n  }\n});\n//# sourceMappingURL=VSelect.js.map","// Styles\nimport \"../../../src/components/VLabel/VLabel.sass\"; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable';\nimport mixins from '../../util/mixins'; // Helpers\n\nimport { convertToUnit } from '../../util/helpers';\n/* @vue/component */\n\nexport default mixins(Themeable).extend({\n  name: 'v-label',\n  functional: true,\n  props: {\n    absolute: Boolean,\n    color: {\n      type: String,\n      default: 'primary'\n    },\n    disabled: Boolean,\n    focused: Boolean,\n    for: String,\n    left: {\n      type: [Number, String],\n      default: 0\n    },\n    right: {\n      type: [Number, String],\n      default: 'auto'\n    },\n    value: Boolean\n  },\n\n  render(h, ctx) {\n    const {\n      children,\n      listeners,\n      props\n    } = ctx;\n    const data = {\n      staticClass: 'v-label',\n      class: {\n        'v-label--active': props.value,\n        'v-label--is-disabled': props.disabled,\n        ...functionalThemeClasses(ctx)\n      },\n      attrs: {\n        for: props.for,\n        'aria-hidden': !props.for\n      },\n      on: listeners,\n      style: {\n        left: convertToUnit(props.left),\n        right: convertToUnit(props.right),\n        position: props.absolute ? 'absolute' : 'relative'\n      },\n      ref: 'label'\n    };\n    return h('label', Colorable.options.methods.setTextColor(props.focused && props.color, data), children);\n  }\n\n});\n//# sourceMappingURL=VLabel.js.map","import VLabel from './VLabel';\nexport { VLabel };\nexport default VLabel;\n//# sourceMappingURL=index.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\"Political Control\")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"Year\",\"sort-by\":['Year'],\"sort-desc\":[true],\"items-per-page\":999,\"loading\":_vm.loading,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">Political Control</div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                          :items=\"items\"\r\n                          item-key=\"Year\"\r\n                          :sort-by=\"['Year']\"\r\n                          :sort-desc=\"[true]\"\r\n                          :items-per-page=\"999\"\r\n                          :loading=\"loading\"\r\n                          disable-pagination\r\n                          hide-default-footer\r\n                          loading-text=\"Loading... Please wait\"\r\n                          class=\"elevation-1\">\r\n\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Political ',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Historical/Political', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    if(response){\r\n                        this.items = EncodeDatetimes(response);\r\n                    }\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                search: '',\r\n                loading: true,\r\n                items: [],\r\n                headers: [\r\n                    { text: 'Year', value: 'Year' },\r\n                    { text: 'Governor', value: 'Governor' },\r\n                    { text: 'Senate Republicans', value: 'SRepublicans' },\r\n                    { text: 'Senate Democrats', value: 'SDemocrats' },\r\n                    { text: 'Senate Other', value: 'SOther' },\r\n                    { text: 'House Republicans', value: 'HRepublicans' },\r\n                    { text: 'House Democrats', value: 'HDemocrats' },\r\n                    { text: 'House Other', value: 'HOther' },\r\n                ],\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Political.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Political.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Political.vue?vue&type=template&id=6956b970&\"\nimport script from \"./Political.vue?vue&type=script&lang=js&\"\nexport * from \"./Political.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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-card',{staticClass:\"py-0 sm-mt-4\",attrs:{\"flat\":\"\"}},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),(_vm.User && _vm.User.Deleted)?_c('v-alert',{attrs:{\"outlined\":\"\",\"type\":\"info\"}},[_vm._v(\"This profile is for historical purposes only. Please see the \"),_c('router-link',{attrs:{\"to\":'/Staff/Listing'}},[_vm._v(\"staff listing\")]),_vm._v(\" for current staff.\")],1):_vm._e(),_c('v-card-text',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"sm5\":\"\",\"xs12\":\"\",\"cols\":\"12\"}},[_c('div',{staticClass:\"text-center\"},[(_vm.User && _vm.User.Picture)?_c('div',[(_vm.User.Picture && !_vm.bigImage && !_vm.currentRoute.includes('profile'))?_c('div',[_c('div',{staticClass:\"v-avatar\",staticStyle:{\"border-radius\":\"9999px\"}},[_c('div',{staticClass:\"v-image v-responsive\",staticStyle:{\"height\":\"90px\",\"width\":\"75px\"},attrs:{\"aria-label\":'A professional photo of ' + _vm.User.FirstName + ' ' + _vm.User.LastName,\"role\":\"img\"}},[_c('div',{staticClass:\"v-responsive__sizer\",staticStyle:{\"padding-bottom\":\"166.667%\"}}),_c('div',{staticClass:\"v-image__image v-image__image--cover\",style:(_vm.generateBackgroundImage())}),_c('div',{staticClass:\"v-responsive__content\"})])])]):_vm._e(),(_vm.User.Picture && _vm.bigImage && !_vm.currentRoute.includes('profile'))?_c('div',{staticStyle:{\"justify-items\":\"center\"}},[_c('div',{style:('background-image: url(\\'' + _vm.User.Picture.toLowerCase() + '\\'); width: 100px; height: 125px; background-position: center center; background-size: contain; border-radius: 100px;')})]):_vm._e(),(_vm.User.Picture && _vm.currentRoute.includes('profile'))?_c('div',{staticStyle:{\"justify-items\":\"center\"}},[_c('v-img',{attrs:{\"width\":\"200\",\"transition\":\"false\",\"src\":_vm.User.Picture.toLowerCase()}})],1):_vm._e()]):_vm._e()])]),_c('v-flex',{attrs:{\"sm7\":\"\",\"xs12\":\"\",\"cols\":\"12\"}},[(_vm.User && _vm.User.LastName && _vm.User.FirstName)?_c('div',[_c('div',{staticClass:\"font-weight-medium\"},[_c('b',[_vm._v(_vm._s(_vm.User.FirstName)+\" \"+_vm._s(_vm.User.LastName))])]),_c('div',[_c('i',[_vm._v(_vm._s(_vm.User.Title))])]),(!_vm.currentRoute.includes('profile'))?_c('div',[_c('v-icon',[_vm._v(_vm._s(_vm.person))]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":'/Staff/Profile/' + _vm.User.UserId}},[_vm._v(\"View Profile\")])],1):_vm._e(),(_vm.expand && _vm.User && !_vm.User.Deleted)?_c('div',[_c('v-icon',[_vm._v(_vm._s(_vm.email))]),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'mailto:' +_vm.User.Email}},[_vm._v(_vm._s(_vm.User.Email))])],1):_vm._e(),(_vm.currentRoute.includes('profile'))?_c('div',[(!_vm.expand && _vm.User && !_vm.User.Deleted)?_c('div',[_c('v-icon',[_vm._v(_vm._s(_vm.email))]),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'mailto:' +_vm.User.Email}},[_vm._v(_vm._s(_vm.User.Email))])],1):_vm._e(),(_vm.User && !_vm.User.Deleted)?_c('div',[_c('v-icon',[_vm._v(_vm._s(_vm.phone))]),_vm._v(\" \"),(_vm.expand)?_c('span',[_c('b',[_vm._v(\"Office: \")])]):_vm._e(),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'tel:605-773-3251'}},[_vm._v(\"(605)773-3251\")])],1):_vm._e(),(_vm.User.SubjectAreas.length >0)?_c('div',[_c('br'),_c('div',[_c('b',[_vm._v(\"Subject Area(s):\")])]),_vm._l((_vm.User.SubjectAreas),function(s,i){return [(i != _vm.User.SubjectAreas.length-1)?_c('span',[_vm._v(_vm._s(s.SubjectArea)+\", \")]):_c('span',[_vm._v(_vm._s(s.SubjectArea))])]})],2):_vm._e(),(_vm.User.UserSessionCommittees.length >0)?_c('div',[_c('br'),_c('div',[_c('b',[_vm._v(\"Session Committee(s):\")])]),_vm._l((_vm.User.UserSessionCommittees),function(s,i){return [_c('router-link',{attrs:{\"to\":'/Session/Committee/' + s.SessionCommitteeId}},[_vm._v(_vm._s(s.FullName))]),(i != _vm.User.UserSessionCommittees.length-1)?_c('span',[_vm._v(\", \")]):_vm._e()]})],2):_vm._e(),(_vm.User.UserInterimCommittees.length >0)?_c('div',[_c('br'),_c('div',[_c('b',[_vm._v(\"Interim Committee(s):\")])]),_vm._l((_vm.User.UserInterimCommittees),function(s,i){return [_c('router-link',{attrs:{\"to\":'/Interim/Committee/' + s.InterimYearCommitteeId}},[_vm._v(_vm._s(s.Name))]),(i != _vm.User.UserInterimCommittees.length-1)?_c('span',[_vm._v(\", \")]):_vm._e()]})],2):_vm._e(),(_vm.User.BudgetAgency.length >0)?_c('div',[_c('br'),_c('div',[_c('b',[_vm._v(\"Budget Agency(s):\")])]),_vm._l((_vm.User.BudgetAgency),function(s,i){return [(i != _vm.User.BudgetAgency.length-1)?_c('span',[_vm._v(_vm._s(s.Agency)+\", \")]):_c('span',[_vm._v(_vm._s(s.Agency))])]})],2):_vm._e(),(_vm.User.RulesAgencies.length >0)?_c('div',[_c('br'),_c('div',[_c('b',[_vm._v(\"Rules Agency(s):\")])]),_vm._l((_vm.User.RulesAgencies),function(s,i){return [(i != _vm.User.RulesAgencies.length-1)?_c('span',[_vm._v(_vm._s(s.AgencyDivision)+\", \")]):_c('span',[_vm._v(_vm._s(s.AgencyDivision))])]})],2):_vm._e()]):_vm._e()]):_vm._e()])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-card flat class=\"py-0 sm-mt-4\">\r\n        <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n        <v-alert outlined v-if=\"User && User.Deleted\" type=\"info\">This profile is for historical purposes only.  Please see the <router-link :to=\"'/Staff/Listing'\">staff listing</router-link> for current staff.</v-alert>\r\n\r\n        <v-card-text>\r\n            <v-layout row wrap>\r\n                <v-flex sm5 xs12 cols=\"12\">\r\n                    <div class=\"text-center\">\r\n                        <div v-if=\"User && User.Picture\">\r\n                            <div v-if=\"User.Picture && !bigImage && !currentRoute.includes('profile')\">\r\n                                <div class=\"v-avatar\" style=\"border-radius: 9999px;\">\r\n                                    <div :aria-label=\"'A professional photo of ' + User.FirstName + ' ' + User.LastName\"\r\n                                         role=\"img\"\r\n                                         class=\"v-image v-responsive\"\r\n                                         style=\"height: 90px; width: 75px;\">\r\n                                        <div class=\"v-responsive__sizer\" style=\"padding-bottom: 166.667%;\"></div>\r\n                                        <div class=\"v-image__image v-image__image--cover\" :style=\"generateBackgroundImage()\"></div>\r\n                                        <div class=\"v-responsive__content\"></div>\r\n                                    </div>\r\n                                </div>\r\n                            </div>\r\n                            <div v-if=\"User.Picture && bigImage && !currentRoute.includes('profile')\" style=\"justify-items: center;\">\r\n                                <div :style=\"'background-image: url(\\'' + User.Picture.toLowerCase() + '\\'); width: 100px; height: 125px; background-position: center center; background-size: contain; border-radius: 100px;'\"></div>\r\n                            </div>\r\n                            <div v-if=\"User.Picture && currentRoute.includes('profile')\"  style=\"justify-items: center;\">\r\n                                <!--<v-avatar class=\"profile\"\r\n                                          color=\"grey\"\r\n                                          width=\"200\"\r\n                                          height=\"250\"\r\n                                          tile>-->\r\n                                    <v-img width=\"200\" transition=\"false\" :src=\"User.Picture.toLowerCase()\"></v-img>\r\n\r\n                                <!--</v-avatar>-->\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </v-flex>\r\n                <v-flex sm7 xs12 cols=\"12\">\r\n                    <div v-if=\"User && User.LastName && User.FirstName\">\r\n                        <div class=\"font-weight-medium\"><b>{{User.FirstName}} {{User.LastName}}</b></div>\r\n                        <div><i>{{User.Title}}</i></div>\r\n                        <div v-if=\"!currentRoute.includes('profile')\"><v-icon>{{person}}</v-icon> <router-link :to=\"'/Staff/Profile/' + User.UserId\">View Profile</router-link></div>\r\n                        <div v-if=\"expand && User && !User.Deleted\"><v-icon>{{email}}</v-icon><a rel=\"noopener\" :href=\"'mailto:' +User.Email\">{{User.Email}}</a></div>\r\n                        <div v-if=\"currentRoute.includes('profile')\">\r\n                            <div v-if=\"!expand && User && !User.Deleted\"><v-icon>{{email}}</v-icon><a rel=\"noopener\" :href=\"'mailto:' +User.Email\">{{User.Email}}</a></div>\r\n                            <div v-if=\"User && !User.Deleted\"><v-icon>{{phone}}</v-icon> <span v-if=\"expand\"><b>Office: </b> </span><a rel=\"noopener\" :href=\"'tel:605-773-3251' \">(605)773-3251</a></div>\r\n\r\n                            <div v-if=\"User.SubjectAreas.length >0\">\r\n                                <br />\r\n                                <div><b>Subject Area(s):</b></div>\r\n                                <template v-for=\"(s,i) in User.SubjectAreas\">\r\n                                    <span v-if=\"i != User.SubjectAreas.length-1\">{{s.SubjectArea}}, </span>\r\n                                    <span v-else>{{s.SubjectArea}}</span>\r\n                                </template>\r\n                            </div>\r\n\r\n                            <div v-if=\"User.UserSessionCommittees.length >0\">\r\n                                <br />\r\n                                <div><b>Session Committee(s):</b></div>\r\n                                <template v-for=\"(s,i) in User.UserSessionCommittees\">\r\n                                    <router-link :to=\"'/Session/Committee/' + s.SessionCommitteeId\">{{s.FullName}}</router-link>\r\n                                    <span v-if=\"i != User.UserSessionCommittees.length-1\">, </span>\r\n                                </template>\r\n                            </div>\r\n\r\n                            <div v-if=\"User.UserInterimCommittees.length >0\">\r\n                                <br />\r\n                                <div><b>Interim Committee(s):</b></div>\r\n                                <template v-for=\"(s,i) in User.UserInterimCommittees\">\r\n                                    <router-link :to=\"'/Interim/Committee/' + s.InterimYearCommitteeId\">{{s.Name}}</router-link>\r\n                                    <span v-if=\"i != User.UserInterimCommittees.length-1\">, </span>\r\n                                </template>\r\n                            </div>\r\n                            <div v-if=\"User.BudgetAgency.length >0\">\r\n                                <br />\r\n                                <div>\r\n                                    <b>Budget Agency(s):</b>\r\n                                </div>\r\n                                <template v-for=\"(s,i) in User.BudgetAgency\">\r\n                                    <span v-if=\"i != User.BudgetAgency.length-1\">{{s.Agency}}, </span>\r\n                                    <span v-else>{{s.Agency}}</span>\r\n                                </template>\r\n                            </div>\r\n                            <div v-if=\"User.RulesAgencies.length >0\">\r\n                                <br />\r\n                                <div><b>Rules Agency(s):</b></div>\r\n                                <template v-for=\"(s,i) in User.RulesAgencies\">\r\n                                    <span v-if=\"i != User.RulesAgencies.length-1\">{{s.AgencyDivision}}, </span>\r\n                                    <span v-else>{{s.AgencyDivision}}</span>\r\n                                </template>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </v-flex>\r\n            </v-layout>\r\n        </v-card-text>\r\n    </v-card>\r\n</template>\r\n<script>\r\n    import { mdiAccount } from '@mdi/js';\r\n    import { mdiEmail } from '@mdi/js';\r\n    import { mdiPhone } from '@mdi/js';\r\n    export default {\r\n        name: 'PersonCard',\r\n        props: ['UserId', 'expand', 'UserProp', 'bigImage'],\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n            generateBackgroundImage(isSmall)\r\n            {\r\n                if (this.User && this.User.Picture)\r\n                {\r\n                    return \"background-image: image-set(\" +\r\n                        \"'\" + this.User.Picture.toLowerCase() + \"' type('image/jpeg')) \" +\r\n                        \"; background-position: center center; background-size: contain;\";\r\n                }\r\n                else\r\n                {\r\n                    return '';\r\n                }\r\n            },\r\n            generatePictureUrl(supportWebP, isSmall)\r\n            {\r\n                let basePath = `/api/Persons/Picture/${this.User.PersonId}/null/${isSmall}/${supportWebP}`;\r\n                return basePath;\r\n            },\r\n            LoadData()\r\n            {\r\n                if (this.UserProp != null)\r\n                {\r\n                    this.User = this.UserProp;\r\n                    this.loading = false;\r\n                }\r\n                if (this.UserId != null)\r\n                {\r\n                    fetch('/api/Users/' + this.UserId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res =>\r\n                    {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else if (res.status === 404)\r\n                        {\r\n                            this.$router.push('/Staff/Listing');\r\n                            return null;\r\n                        }\r\n                        else\r\n                        {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response =>\r\n                    {\r\n                        if (response)\r\n                        {\r\n                            this.User = EncodeDatetimes(response);\r\n                        }\r\n                    }).catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                person: mdiAccount,\r\n                email: mdiEmail,\r\n                phone: mdiPhone,\r\n                SubjectAreas: null,\r\n                SessionCommittees: null,\r\n                InterimCommittees: null,\r\n                BudgetAgencies: null,\r\n                RulesAgencies: null,\r\n                User: {\r\n                    FirstName: null,\r\n                    LastName: null,\r\n                    Picture: null,\r\n                },\r\n                loading: true,\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            UserId: {\r\n                handler()\r\n                {\r\n                    this.LoadData();\r\n                },\r\n            },\r\n        },\r\n        computed: {\r\n            currentRoute: function ()\r\n            {\r\n                return this.$route.path.toLowerCase();\r\n            },\r\n            Title: function ()\r\n            {\r\n                let title = 'Loading...';\r\n                if (this.currentRoute.includes('profile') && this.User && this.User.FirstName)\r\n                {\r\n                    title = this.User.FirstName + ' ' + this.User.LastName;\r\n                }\r\n                else if (this.currentRoute.includes('listing'))\r\n                {\r\n                    title = 'Staff Listing';\r\n                }\r\n                else if (this.currentRoute.includes('division'))\r\n                {\r\n                    title = 'Staff by Division';\r\n                }\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            },\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                script: [\r\n                    {\r\n                        type: 'application/ld+json',\r\n                        json: {\r\n                            '@context': 'http://schema.org',\r\n                            '@type': 'Person',\r\n                            'name': this.User.FirstName + ' ' + this.User.LastName,\r\n                            'email': this.User.Email,\r\n                            'telephone': '605-773-3251',\r\n                            'image': this.User.Picture\r\n                        }\r\n                    }],\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'profile' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:image', property: 'og:image', content: this.User.Picture },\r\n                    { vmid: 'og:image:width', property: 'og:image:width', content: '100' },\r\n                    { vmid: 'og:image:height', property: 'og:image:height', content: '130' },\r\n                    { vmid: 'profile:first_name', property: 'profile:first_name', content: this.User.FirstName },\r\n                    { vmid: 'profile:last_name', property: 'profile:last_name', content: this.User.LastName },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description },\r\n                    { vmid: 'twitter:image', name: 'twitter:image', content: this.User.Picture },\r\n                    { vmid: 'twitter:image:alt', name: 'twitter:image:alt', content: 'A Profile Picture of ' + this.User.FirstName + ' ' + this.User.LastName }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style>\r\n    .profile picture,\r\n    .profile img\r\n    {\r\n        width: 100%;\r\n        height: 100%;\r\n        object-fit: cover; /* This ensures the image scales correctly */\r\n    }\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PersonCard.vue?vue&type=template&id=8f4d2220&\"\nimport script from \"./PersonCard.vue?vue&type=script&lang=js&\"\nexport * from \"./PersonCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PersonCard.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VAlert,VCard,VCardText,VFlex,VIcon,VImg,VLayout,VProgressLinear})\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(),_c('div',{staticClass:\"headline\"},[_vm._v(\"Hearings\")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.HearingHeaders,\"items\":_vm.Hearings,\"item-key\":\"BillId\",\"multi-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"sort-by\":['ActionDate'],\"sort-desc\":[false],\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.BillURL\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType + ' ' + item.BillNumberOnly))])]}},{key:\"item.ActionDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'https://mylrc.sdlegislature.gov/api/Documents/' + item.DocumentId +'.pdf'}},[_vm._v(_vm._s(_vm.DateTimePretty(item.ActionDate)))])]}},{key:\"item.FullName\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Committee/' + item.ActionCommitteeId}},[_vm._v(_vm._s(item.FullName))])]}},{key:\"no-data\",fn:function(){return [_vm._v(\" No Hearings Scheduled \")]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <div>\r\n        <v-progress-linear indeterminate\r\n                           v-if=\"loading\"></v-progress-linear>\r\n        <div class=\"headline\">Hearings</div>\r\n        <FilterableDataTable :headers=\"HearingHeaders\"\r\n                      :items=\"Hearings\"\r\n                      item-key=\"BillId\"\r\n                      multi-sort\r\n                      disable-pagination\r\n                      hide-default-footer\r\n                      :sort-by=\"['ActionDate']\"\r\n                      :sort-desc=\"[false]\"\r\n                      loading-text=\"Loading... Please wait\"\r\n                      class=\"elevation-1\">\r\n            <template v-slot:item.BillURL=\"{ item }\">\r\n                <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType + '&nbsp;' + item.BillNumberOnly}}</router-link>\r\n            </template>\r\n            <template v-slot:item.ActionDate=\"{ item }\">\r\n                <a rel=\"noopener\" :href=\"'https://mylrc.sdlegislature.gov/api/Documents/' + item.DocumentId +'.pdf'\">{{DateTimePretty(item.ActionDate)}}</a>\r\n            </template>\r\n            <template v-slot:item.FullName=\"{ item }\">\r\n                <router-link :to=\"'/Session/Committee/' + item.ActionCommitteeId\">{{item.FullName}}</router-link>\r\n            </template>\r\n            <template v-slot:no-data>\r\n                No Hearings Scheduled\r\n            </template>\r\n        </FilterableDataTable>\r\n    </div>\r\n</template>\r\n<script>\r\n    import moment from 'moment'\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Hearings',\r\n        props: ['SessionMemberId'],\r\n        components: {\r\n            FilterableDataTable\r\n        },\r\n        methods: {\r\n            switchTab(item) {\r\n                this.filterValue = item;\r\n            },\r\n            LoadData() {\r\n                fetch('/api/SessionMembers/Hearing/' + this.SessionMemberId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.loading = false;\r\n                    this.Hearings = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            MeetingTimePretty(Time) {\r\n                if (Time != undefined) {\r\n                    return moment(Time).format('h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            DateTimePretty(Time) {\r\n                if (Time != undefined) {\r\n                    return moment(Time).format('M/DD/YYYY h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            }\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: true,\r\n                filterValue: 'Detail',\r\n                tabs: ['Detail', 'Committees', 'Bills', 'Hearings'],\r\n                Hearings: [],\r\n                HearingHeaders: [\r\n                    {\r\n                        text: 'Date',\r\n                        value: 'ActionDate',\r\n                    },\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'Title',\r\n                    },\r\n                    {\r\n                        text: 'Bill',\r\n                        value: 'BillURL',\r\n                    },\r\n\r\n                    {\r\n                        text: 'Committee',\r\n                        value: 'FullName',\r\n                    },\r\n\r\n                ],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            SessionMemberId: {\r\n                handler() {\r\n                    this.LoadData();\r\n                },\r\n            },\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Hearings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Hearings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Hearings.vue?vue&type=template&id=4196b130&\"\nimport script from \"./Hearings.vue?vue&type=script&lang=js&\"\nexport * from \"./Hearings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-app-bar',{class:'fancyImage' + _vm.rand + ' d-print-none',attrs:{\"app\":\"\",\"absolute\":\"\",\"shrink-on-scroll\":\"\",\"prominent\":\"\",\"scroll-target\":\"#scrolling-techniques\",\"color\":\"accent\",\"height\":\"105\"}},[_c('v-toolbar-title',{staticClass:\"pt-0\",staticStyle:{\"position\":\"absolute\",\"top\":\"5px\"}},[_c('router-link',{attrs:{\"to\":\"/\",\"aria-label\":\"Home\"}},[_c('span',{staticStyle:{\"display\":\"none\"}},[_vm._v(\"Home\")]),_c('picture',[_c('source',{attrs:{\"srcset\":\"https://lawmakerdocuments.blob.core.usgovcloudapi.net/photos/logoshape.webp\",\"type\":\"image/webp\"}}),_c('source',{attrs:{\"srcset\":\"https://lawmakerdocuments.blob.core.usgovcloudapi.net/photos/logoshape.png\",\"type\":\"image/png\"}}),_c('img',{staticStyle:{\"min-width\":\"120px\",\"max-width\":\"120px\"},attrs:{\"src\":\"https://lawmakerdocuments.blob.core.usgovcloudapi.net/photos/logoshape.webp\",\"alt\":\"South Dakota Legislative Research Council Logo\",\"height\":\"100.069px\",\"width\":\"119.988px\"}})])])],1),_c('v-spacer'),(_vm.Environment != 'Production')?_c('span',{staticStyle:{\"color\":\"white\",\"font-size\":\"12px\"}},[_vm._v(_vm._s(_vm.Environment))]):_vm._e(),_c('v-spacer'),_c('v-layout',{staticStyle:{\"margin-top\":\"-10px\",\"margin-right\":\"-10px\",\"flex-wrap\":\"wrap\"},attrs:{\"row\":\"\"}},[(!_vm.$vuetify.breakpoint.mobile)?_c('v-flex',{staticClass:\"d-flex justify-end align-end ma-0 pa-0\",attrs:{\"xs12\":\"\"}},[_c('div',{staticClass:\"hidden-md-and-down\",staticStyle:{\"background-color\":\"#757575\"}},_vm._l((_vm.FullMenu),function(x){return _c('v-menu',{key:x.Name,staticClass:\"hidden-md-and-down align-end\",attrs:{\"open-on-hover\":\"\",\"offset-y\":\"\",\"fixed\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',{staticClass:\"pa-0 ma-0\"},[_c('v-btn',_vm._g({staticClass:\"px-2 ml-1\",attrs:{\"color\":\"grey darken-1\",\"tile\":\"\",\"depressed\":\"\",\"dark\":\"\",\"href\":(x.SubMenu && x.SubMenu.length == 0) ? x.Route : null}},on),[_c('span',{staticStyle:{\"font-family\":\"Iskoola Pota\",\"font-size\":\"12.5px\"}},[_vm._v(_vm._s(x.Name))])]),_c('v-divider',{staticClass:\"ma-0 pa-0\",staticStyle:{\"height\":\"20px\",\"width\":\"2px\",\"color\":\"white\"},attrs:{\"inset\":\"\",\"color\":\"white\",\"vertical\":\"\"}})],1)]}}],null,true)},[(x.SubMenu && x.SubMenu.length > 0)?_c('v-list',[_vm._l((x.SubMenu),function(subItem,index){return [(subItem && subItem.Route && (subItem.Route.toLowerCase().startsWith('https:') || subItem && subItem.Route && subItem.Route.toLowerCase().includes('/api/')))?_c('v-list-item',{key:index,attrs:{\"rel\":\"noopener\",\"href\":subItem.Route},on:{\"click\":function($event){}}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('p',{staticClass:\"text-wrap\"},[_c('span',{staticStyle:{\"font-family\":\"Iskoola Pota\"}},[_vm._v(_vm._s(subItem.Name))]),(subItem.Route.includes('.pdf'))?_c('span',[_c('sup',[_vm._v(\"(PDF)\")])]):(subItem.Route.endsWith('.csv'))?_c('span',[_c('sup',[_vm._v(\"(CSV)\")])]):(subItem.Route.endsWith('.xls'))?_c('span',[_c('sup',[_vm._v(\"(XLS)\")])]):(subItem.Route.endsWith('.xlsx'))?_c('span',[_c('sup',[_vm._v(\"(XLSX)\")])]):(subItem.Route.endsWith('.doc'))?_c('span',[_c('sup',[_vm._v(\"(DOC)\")])]):(subItem.Route.endsWith('.docx'))?_c('span',[_c('sup',[_vm._v(\"(DOCX)\")])]):_vm._e()])])],1)],1):_c('v-list-item',{key:index,attrs:{\"to\":subItem.Route},on:{\"click\":function($event){}}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('p',{staticClass:\"text-wrap\"},[_c('span',{staticStyle:{\"font-family\":\"Iskoola Pota\"}},[_vm._v(_vm._s(subItem.Name))]),(subItem.Route.includes('.pdf'))?_c('span',[_c('sup',[_vm._v(\"(PDF)\")])]):(subItem.Route.endsWith('.csv'))?_c('span',[_c('sup',[_vm._v(\"(CSV)\")])]):(subItem.Route.endsWith('.xls'))?_c('span',[_c('sup',[_vm._v(\"(XLS)\")])]):(subItem.Route.endsWith('.xlsx'))?_c('span',[_c('sup',[_vm._v(\"(XLSX)\")])]):(subItem.Route.endsWith('.doc'))?_c('span',[_c('sup',[_vm._v(\"(DOC)\")])]):(subItem.Route.endsWith('.docx'))?_c('span',[_c('sup',[_vm._v(\"(DOCX)\")])]):_vm._e()])])],1)],1)]})],2):_vm._e()],1)}),1)]):_vm._e(),(_vm.$vuetify.breakpoint.mobile)?_c('v-flex',{staticClass:\"hidden-lg-and-up d-flex pr-3 justify-end\",attrs:{\"xs12\":\"\"}},[_c('v-btn',{attrs:{\"color\":\"grey darken-1\",\"aria-label\":\"Menu\",\"dark\":\"\"},on:{\"click\":function($event){$event.stopPropagation();_vm.drawer = !_vm.drawer}}},[_c('v-icon',[_vm._v(_vm._s(_vm.mdimenu))])],1)],1):(!_vm.$vuetify.breakpoint.mobile)?_c('v-flex',{staticClass:\"hidden-md-and-down d-flex flex-row-reverse pt-2\"},[_c('v-speed-dial',{attrs:{\"direction\":\"left\",\"right\":\"\",\"transition\":\"slide-s-transition\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-btn',{attrs:{\"color\":\"grey darken-1\",\"dark\":\"\",\"small\":\"\",\"bottom\":\"\",\"right\":\"\",\"aria-label\":\"Search\",\"fab\":\"\"},on:{\"click\":function($event){return _vm.focusToGoogleSearch()}}},[_c('span',{staticStyle:{\"display\":\"none\"}},[_vm._v(\"Search\")]),_c('v-icon',[_vm._v(_vm._s(_vm.search))])],1)]},proxy:true}]),model:{value:(_vm.SearchBar),callback:function ($$v) {_vm.SearchBar=$$v},expression:\"SearchBar\"}},[_c('v-card',{on:{\"click\":function($event){$event.stopPropagation();}}},[_c('v-card-text',{staticStyle:{\"width\":\"400px\"}},[_c('v-text-field',{ref:\"googleSearch\",attrs:{\"label\":\"Go To:(1,1-1, 01:15) or Google Search\",\"clearable\":\"\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.searchGoogle.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-btn',{staticStyle:{\"margin\":\"0px\"},attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":_vm.searchGoogle}},[_c('v-icon',[_vm._v(_vm._s(_vm.search))])],1)]},proxy:true}]),model:{value:(_vm.SearchText),callback:function ($$v) {_vm.SearchText=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"SearchText\"}})],1)],1)],1)],1):_vm._e()],1)],1),(_vm.$vuetify.breakpoint.mobile)?_c('v-navigation-drawer',{staticClass:\"d-print-none\",attrs:{\"absolute\":\"\",\"temporary\":\"\"},model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c('v-text-field',{attrs:{\"label\":\"Google Search\",\"clearable\":\"\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.searchGoogle.apply(null, arguments)},\"click:append\":_vm.searchGoogle},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-btn',{staticStyle:{\"margin\":\"0px\"},attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":_vm.searchGoogle}},[_c('v-icon',[_vm._v(_vm._s(_vm.search))])],1)]},proxy:true}],null,false,2600936913),model:{value:(_vm.SearchText),callback:function ($$v) {_vm.SearchText=$$v},expression:\"SearchText\"}}),_c('v-list',[_vm._l((_vm.MenuItemsNoMylrc),function(item){return _c('v-list-group',{key:item.Name,attrs:{\"no-action\":\"\"},scopedSlots:_vm._u([(item.SubMenu && item.SubMenu.length > 0)?{key:\"activator\",fn:function(){return [_c('v-list-item-content',[_c('v-list-item-title',{staticStyle:{\"font-family\":\"Iskoola Pota\"}},[_c('p',{staticClass:\"text-wrap\"},[_vm._v(\" \"+_vm._s(item.Name)+\" \")])])],1)]},proxy:true}:null],null,true),model:{value:(item.active),callback:function ($$v) {_vm.$set(item, \"active\", $$v)},expression:\"item.active\"}},[_vm._l((item.SubMenu),function(subItem,index){return [(subItem && subItem.Route && (subItem.Route.toLowerCase().startsWith('https:') || subItem && subItem.Route && subItem.Route.toLowerCase().includes('/api/')))?_c('v-list-item',{key:index,attrs:{\"rel\":\"noopener\",\"href\":subItem.Route},on:{\"click\":function($event){}}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('p',{staticClass:\"text-wrap\"},[_c('span',{staticStyle:{\"font-family\":\"Iskoola Pota\"}},[_vm._v(_vm._s(subItem.Name))]),(subItem.Route.endsWith('.pdf'))?_c('span',[_c('sup',[_vm._v(\"(PDF)\")])]):(subItem.Route.endsWith('.csv'))?_c('span',[_c('sup',[_vm._v(\"(CSV)\")])]):(subItem.Route.endsWith('.xls'))?_c('span',[_c('sup',[_vm._v(\"(XLS)\")])]):(subItem.Route.endsWith('.xlsx'))?_c('span',[_c('sup',[_vm._v(\"(XLSX)\")])]):(subItem.Route.endsWith('.doc'))?_c('span',[_c('sup',[_vm._v(\"(DOC)\")])]):(subItem.Route.endsWith('.docx'))?_c('span',[_c('sup',[_vm._v(\"(DOCX)\")])]):_vm._e()])])],1)],1):_c('v-list-item',{key:index,attrs:{\"to\":subItem.Route},on:{\"click\":function($event){}}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('p',{staticClass:\"text-wrap\"},[_c('span',{staticStyle:{\"font-family\":\"Iskoola Pota\"}},[_vm._v(_vm._s(subItem.Name))]),(subItem.Route.endsWith('.pdf'))?_c('span',[_c('sup',[_vm._v(\"(PDF)\")])]):(subItem.Route.endsWith('.csv'))?_c('span',[_c('sup',[_vm._v(\"(CSV)\")])]):(subItem.Route.endsWith('.xls'))?_c('span',[_c('sup',[_vm._v(\"(XLS)\")])]):(subItem.Route.endsWith('.xlsx'))?_c('span',[_c('sup',[_vm._v(\"(XLSX)\")])]):(subItem.Route.endsWith('.doc'))?_c('span',[_c('sup',[_vm._v(\"(DOC)\")])]):(subItem.Route.endsWith('.docx'))?_c('span',[_c('sup',[_vm._v(\"(DOCX)\")])]):_vm._e()])])],1)],1)]})],2)}),_c('v-list-item',[_c('v-list-item-content',[_c('v-btn',{staticClass:\"pl-0\",staticStyle:{\"font-family\":\"Iskoola Pota\",\"justify-content\":\"start\"},attrs:{\"left\":\"\",\"block\":\"\",\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value,\"text\":\"\"}},[_vm._v(\"MyLRC+\")])],1)],1)],2)],1):_vm._e(),_c('v-dialog',{model:{value:(_vm.googleSitewideResults),callback:function ($$v) {_vm.googleSitewideResults=$$v},expression:\"googleSitewideResults\"}},[_c('v-toolbar',[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.googleSitewideResults = false}}},[_vm._v(\" X \")])],1),_c('iframe',{attrs:{\"src\":_vm.searchURL,\"height\":\"800\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <div>\r\n        <v-app-bar app\r\n                   absolute\r\n                   shrink-on-scroll\r\n                   prominent\r\n                   scroll-target=\"#scrolling-techniques\"\r\n                   color=\"accent\"\r\n                   :class=\"'fancyImage' + rand + ' d-print-none'\"\r\n                   height=\"105\">\r\n            <v-toolbar-title style=\"position:absolute; top: 5px;\" class=\"pt-0\">\r\n                <router-link to=\"/\" aria-label=\"Home\">\r\n                    <span style=\"display:none;\">Home</span>\r\n                    <picture>\r\n                        <source srcset=\"https://lawmakerdocuments.blob.core.usgovcloudapi.net/photos/logoshape.webp\" type=\"image/webp\">\r\n                        <source srcset=\"https://lawmakerdocuments.blob.core.usgovcloudapi.net/photos/logoshape.png\" type=\"image/png\">\r\n                        <img src=\"https://lawmakerdocuments.blob.core.usgovcloudapi.net/photos/logoshape.webp\" alt=\"South Dakota Legislative Research Council Logo\" height=\"100.069px\" width=\"119.988px\" style=\"min-width:120px; max-width:120px;\">\r\n                    </picture>\r\n                </router-link>\r\n            </v-toolbar-title>\r\n            <v-spacer></v-spacer>\r\n            <span style=\"color:white;font-size:12px;\" v-if=\"Environment != 'Production'\">{{ Environment }}</span>\r\n            <v-spacer></v-spacer>\r\n            <v-layout row style=\"margin-top: -10px; margin-right: -10px; flex-wrap: wrap\">\r\n                <v-flex v-if=\"!$vuetify.breakpoint.mobile\" xs12 class=\"d-flex justify-end align-end ma-0 pa-0\">\r\n                    <div class=\"hidden-md-and-down\" style=\"background-color: #757575;\">\r\n                        <v-menu open-on-hover offset-y v-for=\"x in FullMenu\" :key=\"x.Name\" class=\"hidden-md-and-down align-end\" fixed>\r\n                            <template v-slot:activator=\"{ on }\">\r\n                                <span class=\"pa-0 ma-0\">\r\n                                    <v-btn color=\"grey darken-1\"\r\n                                           tile\r\n                                           depressed\r\n                                           dark\r\n                                           class=\"px-2 ml-1\"\r\n                                           v-on=\"on\"\r\n                                           :href=\"(x.SubMenu && x.SubMenu.length == 0) ? x.Route : null\">\r\n                                        <span style=\"font-family:Iskoola Pota;font-size:12.5px;\">{{x.Name}}</span>\r\n                                    </v-btn>\r\n                                    <v-divider inset\r\n                                               class=\"ma-0 pa-0\"\r\n                                               style=\"height:20px;width:2px; color:white\"\r\n                                               color=\"white\"\r\n                                               vertical></v-divider>\r\n                                </span>\r\n                            </template>\r\n                            <v-list v-if=\"x.SubMenu && x.SubMenu.length > 0\">\r\n                                <template v-for=\"(subItem, index) in x.SubMenu\">\r\n                                    <v-list-item v-if=\"subItem && subItem.Route && (subItem.Route.toLowerCase().startsWith('https:') || subItem && subItem.Route && subItem.Route.toLowerCase().includes('/api/'))\" :key=\"index\" rel=\"noopener\" :href=\"subItem.Route\" @click=\"\">\r\n                                        <v-list-item-content>\r\n                                            <v-list-item-title>\r\n                                                <p class=\"text-wrap\">\r\n                                                    <span style=\"font-family:Iskoola Pota\">{{ subItem.Name }}</span>\r\n                                                    <span v-if=\"subItem.Route.includes('.pdf')\"><sup>(PDF)</sup></span>\r\n                                                    <span v-else-if=\"subItem.Route.endsWith('.csv')\"><sup>(CSV)</sup></span>\r\n                                                    <span v-else-if=\"subItem.Route.endsWith('.xls')\"><sup>(XLS)</sup></span>\r\n                                                    <span v-else-if=\"subItem.Route.endsWith('.xlsx')\"><sup>(XLSX)</sup></span>\r\n                                                    <span v-else-if=\"subItem.Route.endsWith('.doc')\"><sup>(DOC)</sup></span>\r\n                                                    <span v-else-if=\"subItem.Route.endsWith('.docx')\"><sup>(DOCX)</sup></span>\r\n                                                </p>\r\n                                            </v-list-item-title>\r\n                                        </v-list-item-content>\r\n                                    </v-list-item>\r\n                                    <v-list-item v-else :key=\"index\" :to=\"subItem.Route\" @click=\"\">\r\n                                        <v-list-item-content>\r\n                                            <v-list-item-title>\r\n                                                <p class=\"text-wrap\">\r\n                                                    <span style=\"font-family:Iskoola Pota\">{{ subItem.Name }}</span>\r\n                                                    <span v-if=\"subItem.Route.includes('.pdf')\"><sup>(PDF)</sup></span>\r\n                                                    <span v-else-if=\"subItem.Route.endsWith('.csv')\"><sup>(CSV)</sup></span>\r\n                                                    <span v-else-if=\"subItem.Route.endsWith('.xls')\"><sup>(XLS)</sup></span>\r\n                                                    <span v-else-if=\"subItem.Route.endsWith('.xlsx')\"><sup>(XLSX)</sup></span>\r\n                                                    <span v-else-if=\"subItem.Route.endsWith('.doc')\"><sup>(DOC)</sup></span>\r\n                                                    <span v-else-if=\"subItem.Route.endsWith('.docx')\"><sup>(DOCX)</sup></span>\r\n                                                </p>\r\n                                            </v-list-item-title>\r\n                                        </v-list-item-content>\r\n                                    </v-list-item>\r\n                                </template>\r\n                            </v-list>\r\n                        </v-menu>\r\n                    </div>\r\n                </v-flex>\r\n                <v-flex v-if=\"$vuetify.breakpoint.mobile\" xs12 class=\"hidden-lg-and-up d-flex pr-3 justify-end\">\r\n                    <v-btn color=\"grey darken-1\"\r\n                           aria-label=\"Menu\"\r\n                           dark\r\n                           @click.stop=\"drawer = !drawer\">\r\n                        <v-icon>{{mdimenu}}</v-icon>\r\n                    </v-btn>\r\n                </v-flex>\r\n                <v-flex v-else-if=\"!$vuetify.breakpoint.mobile\" class=\"hidden-md-and-down d-flex flex-row-reverse pt-2\">\r\n                    <v-speed-dial v-model=\"SearchBar\"\r\n                                  direction=\"left\"\r\n                                  right\r\n                                  transition=\"slide-s-transition\">\r\n                        <template v-slot:activator>\r\n                            <v-btn color=\"grey darken-1\"\r\n                                   dark\r\n                                   small\r\n                                   bottom\r\n                                   right\r\n                                   aria-label=\"Search\"\r\n                                   @click=\"focusToGoogleSearch()\"\r\n                                   fab>\r\n                                <span style=\"display:none\">Search</span>\r\n                                <v-icon>{{search}}</v-icon>\r\n                            </v-btn>\r\n                        </template>\r\n                        <v-card @click.stop=\"\">\r\n                            <v-card-text style=\"width:400px;\">\r\n                                <v-text-field label=\"Go To:(1,1-1, 01:15) or Google Search\"\r\n                                              ref=\"googleSearch\"\r\n                                              clearable\r\n                                              v-model.trim=\"SearchText\"\r\n                                              v-on:keyup.enter=\"searchGoogle\">\r\n                                    <template v-slot:append>\r\n                                        <v-btn small style=\"margin: 0px\" icon @click=\"searchGoogle\">\r\n                                            <v-icon>{{search}}</v-icon>\r\n                                        </v-btn>\r\n                                    </template>\r\n                                </v-text-field>\r\n\r\n                            </v-card-text>\r\n                        </v-card>\r\n                    </v-speed-dial>\r\n                </v-flex>\r\n            </v-layout>\r\n        </v-app-bar>\r\n        <v-navigation-drawer v-if=\"$vuetify.breakpoint.mobile\" v-model=\"drawer\"\r\n                             absolute\r\n                             class=\"d-print-none\"\r\n                             temporary>\r\n            <v-text-field label=\"Google Search\"\r\n                          clearable\r\n                          v-model=\"SearchText\"\r\n                          v-on:keyup.enter=\"searchGoogle\"\r\n                          @click:append=\"searchGoogle\">\r\n                <template v-slot:append>\r\n                    <v-btn small style=\"margin: 0px\" icon @click=\"searchGoogle\">\r\n                        <v-icon>{{search}}</v-icon>\r\n                    </v-btn>\r\n                </template>\r\n            </v-text-field>\r\n            <v-list>\r\n                <v-list-group v-for=\"item in MenuItemsNoMylrc\"\r\n                              :key=\"item.Name\"\r\n                              v-model=\"item.active\"\r\n                              no-action>\r\n                    <template v-slot:activator v-if=\"item.SubMenu && item.SubMenu.length > 0\">\r\n                        <v-list-item-content>\r\n                            <v-list-item-title style=\"font-family:Iskoola Pota\">\r\n                                <p class=\"text-wrap\">\r\n                                    {{item.Name}}\r\n                                </p>\r\n                            </v-list-item-title>\r\n                        </v-list-item-content>\r\n                    </template>\r\n                    <template v-for=\"(subItem, index) in item.SubMenu\">\r\n                        <v-list-item v-if=\"subItem && subItem.Route && (subItem.Route.toLowerCase().startsWith('https:') || subItem && subItem.Route && subItem.Route.toLowerCase().includes('/api/'))\" :key=\"index\"\r\n                                     rel=\"noopener\" :href=\"subItem.Route\"\r\n                                     @click=\"\">\r\n                            <v-list-item-content>\r\n                                <v-list-item-title>\r\n                                    <p class=\"text-wrap\">\r\n                                        <span style=\"font-family:Iskoola Pota\">{{ subItem.Name }}</span>\r\n                                        <span v-if=\"subItem.Route.endsWith('.pdf')\"><sup>(PDF)</sup></span>\r\n                                        <span v-else-if=\"subItem.Route.endsWith('.csv')\"><sup>(CSV)</sup></span>\r\n                                        <span v-else-if=\"subItem.Route.endsWith('.xls')\"><sup>(XLS)</sup></span>\r\n                                        <span v-else-if=\"subItem.Route.endsWith('.xlsx')\"><sup>(XLSX)</sup></span>\r\n                                        <span v-else-if=\"subItem.Route.endsWith('.doc')\"><sup>(DOC)</sup></span>\r\n                                        <span v-else-if=\"subItem.Route.endsWith('.docx')\"><sup>(DOCX)</sup></span>\r\n                                    </p>\r\n                                </v-list-item-title>\r\n                            </v-list-item-content>\r\n                        </v-list-item>\r\n                        <v-list-item v-else :key=\"index\"\r\n                                     :to=\"subItem.Route\"\r\n                                     @click=\"\">\r\n                            <v-list-item-content>\r\n                                <v-list-item-title>\r\n                                    <p class=\"text-wrap\">\r\n                                        <span style=\"font-family:Iskoola Pota\">{{ subItem.Name }}</span>\r\n                                        <span v-if=\"subItem.Route.endsWith('.pdf')\"><sup>(PDF)</sup></span>\r\n                                        <span v-else-if=\"subItem.Route.endsWith('.csv')\"><sup>(CSV)</sup></span>\r\n                                        <span v-else-if=\"subItem.Route.endsWith('.xls')\"><sup>(XLS)</sup></span>\r\n                                        <span v-else-if=\"subItem.Route.endsWith('.xlsx')\"><sup>(XLSX)</sup></span>\r\n                                        <span v-else-if=\"subItem.Route.endsWith('.doc')\"><sup>(DOC)</sup></span>\r\n                                        <span v-else-if=\"subItem.Route.endsWith('.docx')\"><sup>(DOCX)</sup></span>\r\n                                    </p>\r\n                                </v-list-item-title>\r\n                            </v-list-item-content>\r\n                        </v-list-item>\r\n                    </template>\r\n                </v-list-group>\r\n                <v-list-item>\r\n                    <v-list-item-content>\r\n                        <v-btn left block rel=\"noopener\" :href=\"$MyLRCUrl.value\" text class=\"pl-0\" style=\"font-family:Iskoola Pota; justify-content:start;\">MyLRC+</v-btn>\r\n                    </v-list-item-content>\r\n                </v-list-item>\r\n            </v-list>\r\n\r\n        </v-navigation-drawer>\r\n        <v-dialog v-model=\"googleSitewideResults\">\r\n            <v-toolbar>\r\n                <v-spacer></v-spacer>\r\n                <v-btn text @click=\"googleSitewideResults = false\">\r\n                    X\r\n                </v-btn>\r\n            </v-toolbar>\r\n            <iframe :src=\"searchURL\" height=\"800\"></iframe>\r\n        </v-dialog>\r\n    </div>\r\n</template>\r\n<script>\r\n    import { mdiMenu } from '@mdi/js';\r\n    import { mdiMagnify } from '@mdi/js';\r\n    export default {\r\n        name: 'AppBar',\r\n        data: function () {\r\n            return {\r\n                search: mdiMagnify,\r\n                mdimenu: mdiMenu,\r\n                loading: false,\r\n                drawer: false,\r\n                rand: 1,\r\n                SearchBar: false,\r\n                SearchText: null,\r\n                googleSitewideResults: false,\r\n                searchURL: '',\r\n                Sessions: [],\r\n                FullMenu: [{ \"SubMenu\": [{ \"SubMenu\": null, \"Name\": \"Legislator Contacts\", \"Route\": \"/Legislators/Contacts/64\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Find My Legislators\", \"Route\": \"/Legislators/Find\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"2022 Legislator Listing\", \"Route\": \"/Legislators/Listing/64\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Historical Listing\", \"Route\": \"/Legislators/Historical\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Legislator Term Limits\", \"Route\": \"https://mylrc.sdlegislature.gov/api/Documents/Resource/127115.pdf?Year=2016\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Address List\", \"Route\": \"/api/SessionMembers/64.csv\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Archived\", \"Route\": \"/Session/Archived\", \"Icon\": null, \"Expanded\": false }], \"Name\": \"Legislators\", \"Route\": null, \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": [{ \"SubMenu\": null, \"Name\": \"2022 Bills\", \"Route\": \"/Session/Bills/64\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"2022 Chambers/Committees\", \"Route\": \"/Session/Committees/64\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"2022 Conference Committees\", \"Route\": \"/Session/ConferenceCommittees/64\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"2022 General\", \"Route\": \"/Session/General/64\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"2022 Schedule\", \"Route\": \"/Session/Schedule\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Archived\", \"Route\": \"/Session/Archived\", \"Icon\": null, \"Expanded\": false }], \"Name\": \"Session\", \"Route\": null, \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": [{ \"SubMenu\": null, \"Name\": \"2022 Committees\", \"Route\": \"/Interim/Committees/64\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"2022 Schedule\", \"Route\": \"/Interim/Schedule\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"2022 Rules of Procedure\", \"Route\": \"https://mylrc.sdlegislature.gov/api/Documents/RulesOfProcedure/72129.pdf?Year=2021\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Archived\", \"Route\": \"/Interim/Archived\", \"Icon\": null, \"Expanded\": false }], \"Name\": \"Interim\", \"Route\": null, \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": [{ \"SubMenu\": null, \"Name\": \"Constitution\", \"Route\": \"/Statutes/Constitution\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Codified Laws\", \"Route\": \"/Statutes\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"2022 Session Laws\", \"Route\": \"/Statutes/Session_Laws/64\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Archived\", \"Route\": \"/Session/Archived\", \"Icon\": null, \"Expanded\": false }], \"Name\": \"Laws\", \"Route\": null, \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": [{ \"SubMenu\": null, \"Name\": \"Administrative Rules List\", \"Route\": \"/Rules/Administrative\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Current Register\", \"Route\": \"https://mylrc.sdlegislature.gov/api/Documents/Register/225182.pdf?Year=2022\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Archived Registers\", \"Route\": \"/Rules/Registers/64\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Administrative Rules Manual\", \"Route\": \"/Rules/RulesManual\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Rules Review Committee\", \"Route\": \"/Interim/Committee/461\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Rules.sd.gov\", \"Route\": \"https://rules.sd.gov\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Administrative Rule Process\", \"Route\": \"https://mylrc.sdlegislature.gov/api/Documents/IssueMemo/124666.pdf?Year=2017\", \"Icon\": null, \"Expanded\": false }], \"Name\": \"Administrative Rules\", \"Route\": null, \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": [{ \"SubMenu\": null, \"Name\": \"Hearing Documents\", \"Route\": \"/Budget/Documents\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Monthly Reports\", \"Route\": \"/Budget/MonthlyReport\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Budget Resources\", \"Route\": \"/Budget/Resources\", \"Icon\": null, \"Expanded\": false }], \"Name\": \"Budget\", \"Route\": null, \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": [{ \"SubMenu\": null, \"Name\": \"Page Program\", \"Route\": \"/Students/Page\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Intern Program\", \"Route\": \"/Students/Intern\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Resources\", \"Route\": \"/Students/Resources\", \"Icon\": null, \"Expanded\": false }], \"Name\": \"Students\", \"Route\": null, \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": [{ \"SubMenu\": null, \"Name\": \"Drafting Manual\", \"Route\": \"https://mylrc.sdlegislature.gov/api/Documents/Resource/127102.pdf?Year=2016\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Issue Memos / White Papers\", \"Route\": \"/References/IssueMemos\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Legislator Reference Book\", \"Route\": \"https://mylrc.sdlegislature.gov/api/Documents/Documentation/171806.pdf?Year=2019\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Maps\", \"Route\": \"/References/Maps\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Performance Management Reports\", \"Route\": \"/References/PerformanceReports\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Program Evaluations\", \"Route\": \"/References/ProgramEvaluation\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Required Reports\", \"Route\": \"/References/RequiredReports\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Statistical Comparisons\", \"Route\": \"/References/StatisticalComparison\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"External Resources\", \"Route\": \"/References/ExternalResources\", \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": null, \"Name\": \"Public Resources\", \"Route\": \"/References/PublicResources\", \"Icon\": null, \"Expanded\": false }], \"Name\": \"References\", \"Route\": null, \"Icon\": null, \"Expanded\": false }, { \"SubMenu\": [], \"Name\": \"MyLRC +\", \"Route\": \"https://mylrc.sdlegislature.gov\", \"Icon\": null, \"Expanded\": false }],\r\n            }\r\n        },\r\n        created: function () {\r\n        },\r\n        mounted: function () {\r\n            let maxrand = 5;\r\n            let screenWidth;\r\n            if (window && window.screen) {\r\n                screenWidth = window.screen.width;\r\n            } else {\r\n                screenWidth = window.innerWidth || 1920;\r\n            }\r\n\r\n            if (screenWidth > 1920) {\r\n                maxrand = 1;\r\n            }\r\n            this.rand = this.getRandomInt(1, maxrand);\r\n            this.LoadData();\r\n        },\r\n        methods: {\r\n            LoadData: function () {\r\n                this.loading = true;\r\n                fetch('/api/Sessions', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Sessions = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n                fetch('/api/Documents/FullMenu', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.ok)\r\n                        return res.json();\r\n                    else\r\n                        throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.FullMenu = response;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            onFocus: function () {\r\n                this.SearchBar = true;\r\n            },\r\n            focusToGoogleSearch: function () {\r\n                if (!this.SearchBar) {\r\n                    this.$nextTick(() => {\r\n                        setTimeout(() => {\r\n                            if (this && this.$refs && this.$refs[\"googleSearch\"]) {\r\n                                this.$refs[\"googleSearch\"].$refs.input.focus();\r\n                            }\r\n                        });\r\n                    });\r\n                }\r\n            },\r\n            searchGoogle(item) \r\n            {\r\n                let UpperSearchText = ((this.SearchText || \"\").toUpperCase() || \"\");\r\n                let match = UpperSearchText.match(/^\\s*(?:SB|HB|HC|SC|SCR|HCR|SJR|HJR|SRD|HRD){0,1}\\s*(\\d{1,4})\\s*$/);\r\n\r\n                if (match)\r\n                {\r\n                    fetch('/api/Bills/ByBillNumber/' + match[1], { method: \"GET\" })\r\n                        .then(res =>\r\n                        {\r\n                            if (res.ok)\r\n                                return res.json();\r\n                            else\r\n                                return Promise.reject();\r\n                        })\r\n                        .then(r =>\r\n                        {\r\n                            this.SearchText = \"\";\r\n                            this.SearchBar = false;\r\n                            this.$router.push('/Session/Bill/' + r);\r\n                        })\r\n                        .catch(()=>\r\n                        {\r\n                            this.searchGooglePart2();\r\n                        });\r\n                }\r\n                else\r\n                {\r\n                    this.searchGooglePart2();\r\n                }\r\n            },\r\n            searchGooglePart2()\r\n            {\r\n                const StatuteRegex = /\\d{1,2}[A-Za-z]{0,1}[-](\\d{1,2}[A-Za-z]{0,1})[-]?([0-9A-Za-z]*)?\\s*(\\([0-9A-Za-z]+\\))?(\\.[0-9A-Za-z]+)?/g;\r\n                const ConstitutionRegex = /\\d{1,2}[A-Za-z]{0,1}[-](\\d{1,2}[A-Za-z]{0,1})[-]?([0-9A-Za-z]*)?\\s*(\\([0-9A-Za-z]+\\))?(\\.[0-9A-Za-z]+)?/g;\r\n                const AdministrativeRegex = /\\d{1,2}:(\\d{1,2})(?::(\\d{1,2})([a-zA-Z])?)?(?:\\.(\\d{1,2}))?(?::(\\d{1,2})([a-zA-Z])?)?(?:\\.(\\d{1,2}))?/g;\r\n                \r\n                let UpperSearchText = ((this.SearchText || \"\").toUpperCase() || \"\");\r\n\r\n                if (UpperSearchText.match(StatuteRegex)) \r\n                {\r\n                    this.$router.push('/Statutes/' + this.SearchText);\r\n                }\r\n                else if (UpperSearchText.match(AdministrativeRegex))\r\n                {\r\n                    this.$router.push('/Rules/Administrative/' + this.SearchText);\r\n                }\r\n                else\r\n                {\r\n                    this.searchURL = '/SearchResults.html?q=' + this.SearchText;\r\n                    this.googleSitewideResults = true;\r\n                }\r\n\r\n                this.SearchText = \"\";\r\n                this.SearchBar = false;\r\n            },\r\n            getRandomInt(min, max) {\r\n                return Math.floor(Math.random() * (max - min + 1)) + min;\r\n            },\r\n        },\r\n        watch: {\r\n        },\r\n        computed:\r\n        {\r\n            Session() {\r\n                if (this.Sessions.length > 1) {\r\n                    return this.Sessions.filter(function (x) { return x.Visible <= Date.now() }).sort(function (a, b) { return (a.Visible > b.Visible ? -1 : 1) })[0];\r\n                }\r\n                else {\r\n                    return [];\r\n                }\r\n            },\r\n            Environment() {\r\n                return this.$Environment.value;\r\n            },\r\n            MenuItemsNoMylrc: function () {\r\n                return this.FullMenu.filter(x => x.Name != 'MyLRC +');\r\n            },\r\n        },\r\n    };\r\n</script>\r\n\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./AppBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./AppBar.vue?vue&type=script&lang=js&\"","// Styles\nimport \"../../../src/components/VToolbar/VToolbar.sass\"; // Extensions\n\nimport VSheet from '../VSheet/VSheet'; // Components\n\nimport VImg from '../VImg/VImg'; // Utilities\n\nimport { convertToUnit, getSlot } from '../../util/helpers';\nimport { breaking } from '../../util/console';\n/* @vue/component */\n\nexport default VSheet.extend({\n  name: 'v-toolbar',\n  props: {\n    absolute: Boolean,\n    bottom: Boolean,\n    collapse: Boolean,\n    dense: Boolean,\n    extended: Boolean,\n    extensionHeight: {\n      default: 48,\n      type: [Number, String]\n    },\n    flat: Boolean,\n    floating: Boolean,\n    prominent: Boolean,\n    short: Boolean,\n    src: {\n      type: [String, Object],\n      default: ''\n    },\n    tag: {\n      type: String,\n      default: 'header'\n    }\n  },\n  data: () => ({\n    isExtended: false\n  }),\n  computed: {\n    computedHeight() {\n      const height = this.computedContentHeight;\n      if (!this.isExtended) return height;\n      const extensionHeight = parseInt(this.extensionHeight);\n      return this.isCollapsed ? height : height + (!isNaN(extensionHeight) ? extensionHeight : 0);\n    },\n\n    computedContentHeight() {\n      if (this.height) return parseInt(this.height);\n      if (this.isProminent && this.dense) return 96;\n      if (this.isProminent && this.short) return 112;\n      if (this.isProminent) return 128;\n      if (this.dense) return 48;\n      if (this.short || this.$vuetify.breakpoint.smAndDown) return 56;\n      return 64;\n    },\n\n    classes() {\n      return { ...VSheet.options.computed.classes.call(this),\n        'v-toolbar': true,\n        'v-toolbar--absolute': this.absolute,\n        'v-toolbar--bottom': this.bottom,\n        'v-toolbar--collapse': this.collapse,\n        'v-toolbar--collapsed': this.isCollapsed,\n        'v-toolbar--dense': this.dense,\n        'v-toolbar--extended': this.isExtended,\n        'v-toolbar--flat': this.flat,\n        'v-toolbar--floating': this.floating,\n        'v-toolbar--prominent': this.isProminent\n      };\n    },\n\n    isCollapsed() {\n      return this.collapse;\n    },\n\n    isProminent() {\n      return this.prominent;\n    },\n\n    styles() {\n      return { ...this.measurableStyles,\n        height: convertToUnit(this.computedHeight)\n      };\n    }\n\n  },\n\n  created() {\n    const breakingProps = [['app', '<v-app-bar app>'], ['manual-scroll', '<v-app-bar :value=\"false\">'], ['clipped-left', '<v-app-bar clipped-left>'], ['clipped-right', '<v-app-bar clipped-right>'], ['inverted-scroll', '<v-app-bar inverted-scroll>'], ['scroll-off-screen', '<v-app-bar scroll-off-screen>'], ['scroll-target', '<v-app-bar scroll-target>'], ['scroll-threshold', '<v-app-bar scroll-threshold>'], ['card', '<v-app-bar flat>']];\n    /* istanbul ignore next */\n\n    breakingProps.forEach(([original, replacement]) => {\n      if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);\n    });\n  },\n\n  methods: {\n    genBackground() {\n      const props = {\n        height: convertToUnit(this.computedHeight),\n        src: this.src\n      };\n      const image = this.$scopedSlots.img ? this.$scopedSlots.img({\n        props\n      }) : this.$createElement(VImg, {\n        props\n      });\n      return this.$createElement('div', {\n        staticClass: 'v-toolbar__image'\n      }, [image]);\n    },\n\n    genContent() {\n      return this.$createElement('div', {\n        staticClass: 'v-toolbar__content',\n        style: {\n          height: convertToUnit(this.computedContentHeight)\n        }\n      }, getSlot(this));\n    },\n\n    genExtension() {\n      return this.$createElement('div', {\n        staticClass: 'v-toolbar__extension',\n        style: {\n          height: convertToUnit(this.extensionHeight)\n        }\n      }, getSlot(this, 'extension'));\n    }\n\n  },\n\n  render(h) {\n    this.isExtended = this.extended || !!this.$scopedSlots.extension;\n    const children = [this.genContent()];\n    const data = this.setBackgroundColor(this.color, {\n      class: this.classes,\n      style: this.styles,\n      on: this.$listeners\n    });\n    if (this.isExtended) children.push(this.genExtension());\n    if (this.src || this.$scopedSlots.img) children.unshift(this.genBackground());\n    return h(this.tag, data, children);\n  }\n\n});\n//# sourceMappingURL=VToolbar.js.map","// Directives\nimport { Scroll } from '../../directives'; // Utilities\n\nimport { consoleWarn } from '../../util/console'; // Types\n\nimport Vue from 'vue';\n/**\n * Scrollable\n *\n * Used for monitoring scrolling and\n * invoking functions based upon\n * scrolling thresholds being\n * met.\n */\n\n/* @vue/component */\n\nexport default Vue.extend({\n  name: 'scrollable',\n  directives: {\n    Scroll\n  },\n  props: {\n    scrollTarget: String,\n    scrollThreshold: [String, Number]\n  },\n  data: () => ({\n    currentScroll: 0,\n    currentThreshold: 0,\n    isActive: false,\n    isScrollingUp: false,\n    previousScroll: 0,\n    savedScroll: 0,\n    target: null\n  }),\n  computed: {\n    /**\n     * A computed property that returns\n     * whether scrolling features are\n     * enabled or disabled\n     */\n    canScroll() {\n      return typeof window !== 'undefined';\n    },\n\n    /**\n     * The threshold that must be met before\n     * thresholdMet function is invoked\n     */\n    computedScrollThreshold() {\n      return this.scrollThreshold ? Number(this.scrollThreshold) : 300;\n    }\n\n  },\n  watch: {\n    isScrollingUp() {\n      this.savedScroll = this.savedScroll || this.currentScroll;\n    },\n\n    isActive() {\n      this.savedScroll = 0;\n    }\n\n  },\n\n  mounted() {\n    if (this.scrollTarget) {\n      this.target = document.querySelector(this.scrollTarget);\n\n      if (!this.target) {\n        consoleWarn(`Unable to locate element with identifier ${this.scrollTarget}`, this);\n      }\n    }\n  },\n\n  methods: {\n    onScroll() {\n      if (!this.canScroll) return;\n      this.previousScroll = this.currentScroll;\n      this.currentScroll = this.target ? this.target.scrollTop : window.pageYOffset;\n      this.isScrollingUp = this.currentScroll < this.previousScroll;\n      this.currentThreshold = Math.abs(this.currentScroll - this.computedScrollThreshold);\n      this.$nextTick(() => {\n        if (Math.abs(this.currentScroll - this.savedScroll) > this.computedScrollThreshold) this.thresholdMet();\n      });\n    },\n\n    /**\n     * The method invoked when\n     * scrolling in any direction\n     * has exceeded the threshold\n     */\n    thresholdMet() {}\n\n  }\n});\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VAppBar/VAppBar.sass\"; // Extensions\n\nimport VToolbar from '../VToolbar/VToolbar'; // Directives\n\nimport Scroll from '../../directives/scroll'; // Mixins\n\nimport Applicationable from '../../mixins/applicationable';\nimport Scrollable from '../../mixins/scrollable';\nimport SSRBootable from '../../mixins/ssr-bootable';\nimport Toggleable from '../../mixins/toggleable'; // Utilities\n\nimport { convertToUnit } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(VToolbar, Scrollable, SSRBootable, Toggleable, Applicationable('top', ['clippedLeft', 'clippedRight', 'computedHeight', 'invertedScroll', 'isExtended', 'isProminent', 'value']));\n/* @vue/component */\n\nexport default baseMixins.extend({\n  name: 'v-app-bar',\n  directives: {\n    Scroll\n  },\n\n  provide() {\n    return {\n      VAppBar: this\n    };\n  },\n\n  props: {\n    clippedLeft: Boolean,\n    clippedRight: Boolean,\n    collapseOnScroll: Boolean,\n    elevateOnScroll: Boolean,\n    fadeImgOnScroll: Boolean,\n    hideOnScroll: Boolean,\n    invertedScroll: Boolean,\n    scrollOffScreen: Boolean,\n    shrinkOnScroll: Boolean,\n    value: {\n      type: Boolean,\n      default: true\n    }\n  },\n\n  data() {\n    return {\n      isActive: this.value\n    };\n  },\n\n  computed: {\n    applicationProperty() {\n      return !this.bottom ? 'top' : 'bottom';\n    },\n\n    canScroll() {\n      return Scrollable.options.computed.canScroll.call(this) && (this.invertedScroll || this.elevateOnScroll || this.hideOnScroll || this.collapseOnScroll || this.isBooted || // If falsy, user has provided an\n      // explicit value which should\n      // overwrite anything we do\n      !this.value);\n    },\n\n    classes() {\n      return { ...VToolbar.options.computed.classes.call(this),\n        'v-toolbar--collapse': this.collapse || this.collapseOnScroll,\n        'v-app-bar': true,\n        'v-app-bar--clipped': this.clippedLeft || this.clippedRight,\n        'v-app-bar--fade-img-on-scroll': this.fadeImgOnScroll,\n        'v-app-bar--elevate-on-scroll': this.elevateOnScroll,\n        'v-app-bar--fixed': !this.absolute && (this.app || this.fixed),\n        'v-app-bar--hide-shadow': this.hideShadow,\n        'v-app-bar--is-scrolled': this.currentScroll > 0,\n        'v-app-bar--shrink-on-scroll': this.shrinkOnScroll\n      };\n    },\n\n    scrollRatio() {\n      const threshold = this.computedScrollThreshold;\n      return Math.max((threshold - this.currentScroll) / threshold, 0);\n    },\n\n    computedContentHeight() {\n      if (!this.shrinkOnScroll) return VToolbar.options.computed.computedContentHeight.call(this);\n      const min = this.dense ? 48 : 56;\n      const max = this.computedOriginalHeight;\n      return min + (max - min) * this.scrollRatio;\n    },\n\n    computedFontSize() {\n      if (!this.isProminent) return undefined;\n      const min = 1.25;\n      const max = 1.5;\n      return min + (max - min) * this.scrollRatio;\n    },\n\n    computedLeft() {\n      if (!this.app || this.clippedLeft) return 0;\n      return this.$vuetify.application.left;\n    },\n\n    computedMarginTop() {\n      if (!this.app) return 0;\n      return this.$vuetify.application.bar;\n    },\n\n    computedOpacity() {\n      if (!this.fadeImgOnScroll) return undefined;\n      return this.scrollRatio;\n    },\n\n    computedOriginalHeight() {\n      let height = VToolbar.options.computed.computedContentHeight.call(this);\n      if (this.isExtended) height += parseInt(this.extensionHeight);\n      return height;\n    },\n\n    computedRight() {\n      if (!this.app || this.clippedRight) return 0;\n      return this.$vuetify.application.right;\n    },\n\n    computedScrollThreshold() {\n      if (this.scrollThreshold) return Number(this.scrollThreshold);\n      return this.computedOriginalHeight - (this.dense ? 48 : 56);\n    },\n\n    computedTransform() {\n      if (!this.canScroll || this.elevateOnScroll && this.currentScroll === 0 && this.isActive) return 0;\n      if (this.isActive) return 0;\n      const scrollOffScreen = this.scrollOffScreen ? this.computedHeight : this.computedContentHeight;\n      return this.bottom ? scrollOffScreen : -scrollOffScreen;\n    },\n\n    hideShadow() {\n      if (this.elevateOnScroll && this.isExtended) {\n        return this.currentScroll < this.computedScrollThreshold;\n      }\n\n      if (this.elevateOnScroll) {\n        return this.currentScroll === 0 || this.computedTransform < 0;\n      }\n\n      return (!this.isExtended || this.scrollOffScreen) && this.computedTransform !== 0;\n    },\n\n    isCollapsed() {\n      if (!this.collapseOnScroll) {\n        return VToolbar.options.computed.isCollapsed.call(this);\n      }\n\n      return this.currentScroll > 0;\n    },\n\n    isProminent() {\n      return VToolbar.options.computed.isProminent.call(this) || this.shrinkOnScroll;\n    },\n\n    styles() {\n      return { ...VToolbar.options.computed.styles.call(this),\n        fontSize: convertToUnit(this.computedFontSize, 'rem'),\n        marginTop: convertToUnit(this.computedMarginTop),\n        transform: `translateY(${convertToUnit(this.computedTransform)})`,\n        left: convertToUnit(this.computedLeft),\n        right: convertToUnit(this.computedRight)\n      };\n    }\n\n  },\n  watch: {\n    canScroll: 'onScroll',\n\n    computedTransform() {\n      // Normally we do not want the v-app-bar\n      // to update the application top value\n      // to avoid screen jump. However, in\n      // this situation, we must so that\n      // the clipped drawer can update\n      // its top value when scrolled\n      if (!this.canScroll || !this.clippedLeft && !this.clippedRight) return;\n      this.callUpdate();\n    },\n\n    invertedScroll(val) {\n      this.isActive = !val || this.currentScroll !== 0;\n    },\n\n    hideOnScroll(val) {\n      this.isActive = !val || this.currentScroll < this.computedScrollThreshold;\n    }\n\n  },\n\n  created() {\n    if (this.invertedScroll) this.isActive = false;\n  },\n\n  methods: {\n    genBackground() {\n      const render = VToolbar.options.methods.genBackground.call(this);\n      render.data = this._b(render.data || {}, render.tag, {\n        style: {\n          opacity: this.computedOpacity\n        }\n      });\n      return render;\n    },\n\n    updateApplication() {\n      return this.invertedScroll ? 0 : this.computedHeight + this.computedTransform;\n    },\n\n    thresholdMet() {\n      if (this.invertedScroll) {\n        this.isActive = this.currentScroll > this.computedScrollThreshold;\n        return;\n      }\n\n      if (this.hideOnScroll) {\n        this.isActive = this.isScrollingUp || this.currentScroll < this.computedScrollThreshold;\n      }\n\n      if (this.currentThreshold < this.computedScrollThreshold) return;\n      this.savedScroll = this.currentScroll;\n    }\n\n  },\n\n  render(h) {\n    const render = VToolbar.options.render.call(this, h);\n    render.data = render.data || {};\n\n    if (this.canScroll) {\n      render.data.directives = render.data.directives || [];\n      render.data.directives.push({\n        arg: this.scrollTarget,\n        name: 'scroll',\n        value: this.onScroll\n      });\n    }\n\n    return render;\n  }\n\n});\n//# sourceMappingURL=VAppBar.js.map","// Styles\nimport \"../../../src/components/VDialog/VDialog.sass\"; // Components\n\nimport { VThemeProvider } from '../VThemeProvider'; // Mixins\n\nimport Activatable from '../../mixins/activatable';\nimport Dependent from '../../mixins/dependent';\nimport Detachable from '../../mixins/detachable';\nimport Overlayable from '../../mixins/overlayable';\nimport Returnable from '../../mixins/returnable';\nimport Stackable from '../../mixins/stackable'; // Directives\n\nimport ClickOutside from '../../directives/click-outside'; // Helpers\n\nimport mixins from '../../util/mixins';\nimport { removed } from '../../util/console';\nimport { convertToUnit, keyCodes } from '../../util/helpers';\nconst baseMixins = mixins(Dependent, Detachable, Overlayable, Returnable, Stackable, Activatable);\n/* @vue/component */\n\nexport default baseMixins.extend({\n  name: 'v-dialog',\n  directives: {\n    ClickOutside\n  },\n  props: {\n    dark: Boolean,\n    disabled: Boolean,\n    fullscreen: Boolean,\n    light: Boolean,\n    maxWidth: [String, Number],\n    noClickAnimation: Boolean,\n    origin: {\n      type: String,\n      default: 'center center'\n    },\n    persistent: Boolean,\n    retainFocus: {\n      type: Boolean,\n      default: true\n    },\n    scrollable: Boolean,\n    transition: {\n      type: [String, Boolean],\n      default: 'dialog-transition'\n    },\n    width: [String, Number]\n  },\n\n  data() {\n    return {\n      activatedBy: null,\n      animate: false,\n      animateTimeout: -1,\n      stackMinZIndex: 200,\n      previousActiveElement: null\n    };\n  },\n\n  computed: {\n    classes() {\n      return {\n        [`v-dialog ${this.contentClass}`.trim()]: true,\n        'v-dialog--active': this.isActive,\n        'v-dialog--persistent': this.persistent,\n        'v-dialog--fullscreen': this.fullscreen,\n        'v-dialog--scrollable': this.scrollable,\n        'v-dialog--animated': this.animate\n      };\n    },\n\n    contentClasses() {\n      return {\n        'v-dialog__content': true,\n        'v-dialog__content--active': this.isActive\n      };\n    },\n\n    hasActivator() {\n      return Boolean(!!this.$slots.activator || !!this.$scopedSlots.activator);\n    }\n\n  },\n  watch: {\n    isActive(val) {\n      var _a;\n\n      if (val) {\n        this.show();\n        this.hideScroll();\n      } else {\n        this.removeOverlay();\n        this.unbind();\n        (_a = this.previousActiveElement) === null || _a === void 0 ? void 0 : _a.focus();\n      }\n    },\n\n    fullscreen(val) {\n      if (!this.isActive) return;\n\n      if (val) {\n        this.hideScroll();\n        this.removeOverlay(false);\n      } else {\n        this.showScroll();\n        this.genOverlay();\n      }\n    }\n\n  },\n\n  created() {\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('full-width')) {\n      removed('full-width', this);\n    }\n  },\n\n  beforeMount() {\n    this.$nextTick(() => {\n      this.isBooted = this.isActive;\n      this.isActive && this.show();\n    });\n  },\n\n  beforeDestroy() {\n    if (typeof window !== 'undefined') this.unbind();\n  },\n\n  methods: {\n    animateClick() {\n      this.animate = false; // Needed for when clicking very fast\n      // outside of the dialog\n\n      this.$nextTick(() => {\n        this.animate = true;\n        window.clearTimeout(this.animateTimeout);\n        this.animateTimeout = window.setTimeout(() => this.animate = false, 150);\n      });\n    },\n\n    closeConditional(e) {\n      const target = e.target; // Ignore the click if the dialog is closed or destroyed,\n      // if it was on an element inside the content,\n      // if it was dragged onto the overlay (#6969),\n      // or if this isn't the topmost dialog (#9907)\n\n      return !(this._isDestroyed || !this.isActive || this.$refs.content.contains(target) || this.overlay && target && !this.overlay.$el.contains(target)) && this.activeZIndex >= this.getMaxZIndex();\n    },\n\n    hideScroll() {\n      if (this.fullscreen) {\n        document.documentElement.classList.add('overflow-y-hidden');\n      } else {\n        Overlayable.options.methods.hideScroll.call(this);\n      }\n    },\n\n    show() {\n      !this.fullscreen && !this.hideOverlay && this.genOverlay(); // Double nextTick to wait for lazy content to be generated\n\n      this.$nextTick(() => {\n        this.$nextTick(() => {\n          var _a, _b;\n\n          if (!((_a = this.$refs.dialog) === null || _a === void 0 ? void 0 : _a.contains(document.activeElement))) {\n            this.previousActiveElement = document.activeElement;\n            (_b = this.$refs.dialog) === null || _b === void 0 ? void 0 : _b.focus();\n          }\n\n          this.bind();\n        });\n      });\n    },\n\n    bind() {\n      window.addEventListener('focusin', this.onFocusin);\n    },\n\n    unbind() {\n      window.removeEventListener('focusin', this.onFocusin);\n    },\n\n    onClickOutside(e) {\n      this.$emit('click:outside', e);\n\n      if (this.persistent) {\n        this.noClickAnimation || this.animateClick();\n      } else {\n        this.isActive = false;\n      }\n    },\n\n    onKeydown(e) {\n      if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n        if (!this.persistent) {\n          this.isActive = false;\n          const activator = this.getActivator();\n          this.$nextTick(() => activator && activator.focus());\n        } else if (!this.noClickAnimation) {\n          this.animateClick();\n        }\n      }\n\n      this.$emit('keydown', e);\n    },\n\n    // On focus change, wrap focus to stay inside the dialog\n    // https://github.com/vuetifyjs/vuetify/issues/6892\n    onFocusin(e) {\n      if (!e || !this.retainFocus) return;\n      const target = e.target;\n\n      if (!!target && this.$refs.dialog && // It isn't the document or the dialog body\n      ![document, this.$refs.dialog].includes(target) && // It isn't inside the dialog body\n      !this.$refs.dialog.contains(target) && // We're the topmost dialog\n      this.activeZIndex >= this.getMaxZIndex() && // It isn't inside a dependent element (like a menu)\n      !this.getOpenDependentElements().some(el => el.contains(target)) // So we must have focused something outside the dialog and its children\n      ) {\n        // Find and focus the first available element inside the dialog\n        const focusable = this.$refs.dialog.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])');\n        const el = [...focusable].find(el => !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]'));\n        el && el.focus();\n      }\n    },\n\n    genContent() {\n      return this.showLazyContent(() => [this.$createElement(VThemeProvider, {\n        props: {\n          root: true,\n          light: this.light,\n          dark: this.dark\n        }\n      }, [this.$createElement('div', {\n        class: this.contentClasses,\n        attrs: {\n          role: 'dialog',\n          'aria-modal': this.hideOverlay ? undefined : 'true',\n          ...this.getScopeIdAttrs()\n        },\n        on: {\n          keydown: this.onKeydown\n        },\n        style: {\n          zIndex: this.activeZIndex\n        },\n        ref: 'content'\n      }, [this.genTransition()])])]);\n    },\n\n    genTransition() {\n      const content = this.genInnerContent();\n      if (!this.transition) return content;\n      return this.$createElement('transition', {\n        props: {\n          name: this.transition,\n          origin: this.origin,\n          appear: true\n        }\n      }, [content]);\n    },\n\n    genInnerContent() {\n      const data = {\n        class: this.classes,\n        attrs: {\n          tabindex: this.isActive ? 0 : undefined\n        },\n        ref: 'dialog',\n        directives: [{\n          name: 'click-outside',\n          value: {\n            handler: this.onClickOutside,\n            closeConditional: this.closeConditional,\n            include: this.getOpenDependentElements\n          }\n        }, {\n          name: 'show',\n          value: this.isActive\n        }],\n        style: {\n          transformOrigin: this.origin\n        }\n      };\n\n      if (!this.fullscreen) {\n        data.style = { ...data.style,\n          maxWidth: convertToUnit(this.maxWidth),\n          width: convertToUnit(this.width)\n        };\n      }\n\n      return this.$createElement('div', data, this.getContentSlot());\n    }\n\n  },\n\n  render(h) {\n    return h('div', {\n      staticClass: 'v-dialog__container',\n      class: {\n        'v-dialog__container--attached': this.attach === '' || this.attach === true || this.attach === 'attach'\n      }\n    }, [this.genActivator(), this.genContent()]);\n  }\n\n});\n//# sourceMappingURL=VDialog.js.map","// Styles\nimport \"../../../src/components/VSpeedDial/VSpeedDial.sass\"; // Mixins\n\nimport Toggleable from '../../mixins/toggleable';\nimport Positionable from '../../mixins/positionable';\nimport Transitionable from '../../mixins/transitionable'; // Directives\n\nimport ClickOutside from '../../directives/click-outside'; // Types\n\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Positionable, Toggleable, Transitionable).extend({\n  name: 'v-speed-dial',\n  directives: {\n    ClickOutside\n  },\n  props: {\n    direction: {\n      type: String,\n      default: 'top',\n      validator: val => {\n        return ['top', 'right', 'bottom', 'left'].includes(val);\n      }\n    },\n    openOnHover: Boolean,\n    transition: {\n      type: String,\n      default: 'scale-transition'\n    }\n  },\n  computed: {\n    classes() {\n      return {\n        'v-speed-dial': true,\n        'v-speed-dial--top': this.top,\n        'v-speed-dial--right': this.right,\n        'v-speed-dial--bottom': this.bottom,\n        'v-speed-dial--left': this.left,\n        'v-speed-dial--absolute': this.absolute,\n        'v-speed-dial--fixed': this.fixed,\n        [`v-speed-dial--direction-${this.direction}`]: true,\n        'v-speed-dial--is-active': this.isActive\n      };\n    }\n\n  },\n\n  render(h) {\n    let children = [];\n    const data = {\n      class: this.classes,\n      directives: [{\n        name: 'click-outside',\n        value: () => this.isActive = false\n      }],\n      on: {\n        click: () => this.isActive = !this.isActive\n      }\n    };\n\n    if (this.openOnHover) {\n      data.on.mouseenter = () => this.isActive = true;\n\n      data.on.mouseleave = () => this.isActive = false;\n    }\n\n    if (this.isActive) {\n      let btnCount = 0;\n      children = (this.$slots.default || []).map((b, i) => {\n        if (b.tag && typeof b.componentOptions !== 'undefined' && (b.componentOptions.Ctor.options.name === 'v-btn' || b.componentOptions.Ctor.options.name === 'v-tooltip')) {\n          btnCount++;\n          return h('div', {\n            style: {\n              transitionDelay: btnCount * 0.05 + 's'\n            },\n            key: i\n          }, [b]);\n        } else {\n          b.key = i;\n          return b;\n        }\n      });\n    }\n\n    const list = h('transition-group', {\n      class: 'v-speed-dial__list',\n      props: {\n        name: this.transition,\n        mode: this.mode,\n        origin: this.origin,\n        tag: 'div'\n      }\n    }, children);\n    return h('div', data, [this.$slots.activator, list]);\n  }\n\n});\n//# sourceMappingURL=VSpeedDial.js.map","// Components\nimport VToolbar from './VToolbar'; // Utilities\n\nimport { createSimpleFunctional } from '../../util/helpers';\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title');\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items');\nexport { VToolbar, VToolbarItems, VToolbarTitle };\nexport default {\n  $_vuetify_subcomponents: {\n    VToolbar,\n    VToolbarItems,\n    VToolbarTitle\n  }\n};\n//# sourceMappingURL=index.js.map","import { render, staticRenderFns } from \"./AppBar.vue?vue&type=template&id=731cd3f2&\"\nimport script from \"./AppBar.vue?vue&type=script&lang=js&\"\nexport * from \"./AppBar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\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 { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VList } from 'vuetify/lib/components/VList';\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 { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSpeedDial } from 'vuetify/lib/components/VSpeedDial';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAppBar,VBtn,VCard,VCardText,VDialog,VDivider,VFlex,VIcon,VLayout,VList,VListGroup,VListItem,VListItemContent,VListItemTitle,VMenu,VNavigationDrawer,VSpacer,VSpeedDial,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Staff By Rules Agency Assignment \")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"AgencyDivisionId\",\"items-per-page\":999,\"sort-by\":['AgencyDivision'],\"loading\":_vm.loading,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Title\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.Title != null)?_c('span',[_vm._v(_vm._s(item.Title))]):_c('span',[_vm._v(_vm._s(item.AgencyDivision))])]}},{key:\"item.ResearchStaff\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._l((_vm.Users(item, 'ResearchUser')),function(u,index){return [(index > 0)?_c('span',[_vm._v(\", \")]):_vm._e(),_c('router-link',{key:item.AgencyDivisionId + 'Research' + u.ResearchUser.UserId,attrs:{\"to\":'/Staff/Profile/' + u.ResearchUser.UserId}},[_vm._v(_vm._s(u.ResearchUser.FirstName + ' ' + u.ResearchUser.LastName))])]})]}},{key:\"item.FiscalStaff\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._l((_vm.Users(item, 'FiscalUser')),function(u,index){return [(index > 0)?_c('span',[_vm._v(\", \")]):_vm._e(),_c('router-link',{key:item.AgencyDivisionId + 'Fiscal' + u.FiscalUser.UserId,attrs:{\"to\":'/Staff/Profile/' + u.FiscalUser.UserId}},[_vm._v(_vm._s(u.FiscalUser.FirstName + ' ' + u.FiscalUser.LastName))])]})]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Staff By Rules Agency Assignment\r\n            </div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"items\"\r\n                                 item-key=\"AgencyDivisionId\"\r\n                                 :items-per-page=\"999\"\r\n                                 :sort-by=\"['AgencyDivision']\"\r\n                                 :loading=\"loading\"\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.Title=\"{ item }\">\r\n                    <span v-if=\"item.Title != null\">{{item.Title}}</span>\r\n                    <span v-else>{{item.AgencyDivision}}</span>\r\n                </template>\r\n                <template v-slot:item.ResearchStaff=\"{ item }\">\r\n                    <template v-for=\"(u,index) in Users(item, 'ResearchUser')\">\r\n                        <span v-if=\"index > 0\">, </span>\r\n                        <router-link :to=\"'/Staff/Profile/' + u.ResearchUser.UserId\" :key=\"item.AgencyDivisionId + 'Research' + u.ResearchUser.UserId\">{{u.ResearchUser.FirstName + '&nbsp;' + u.ResearchUser.LastName}}</router-link>\r\n                    </template>\r\n                </template>\r\n                <template v-slot:item.FiscalStaff=\"{ item }\">\r\n                    <template v-for=\"(u,index) in Users(item, 'FiscalUser')\">\r\n                        <span v-if=\"index > 0\">, </span>\r\n                        <router-link :to=\"'/Staff/Profile/' + u.FiscalUser.UserId\" :key=\"item.AgencyDivisionId + 'Fiscal' + u.FiscalUser.UserId\">{{u.FiscalUser.FirstName + '&nbsp;' + u.FiscalUser.LastName}}</router-link>\r\n                    </template>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'RuleAgency',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n\r\n                fetch('/api/Users/RuleAgencies',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            throw new Error(res.statusText);\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        let r = EncodeDatetimes(response);\r\n\r\n                        r.forEach(x =>\r\n                        {\r\n                            x.ResearchStaff = this.Users(x, 'ResearchUser').map(y => y.ResearchUser.FirstName + ' ' + y.ResearchUser.LastName).toString();\r\n                            x.FiscalStaff = this.Users(x, 'FiscalUser').map(y => y.FiscalUser.FirstName + ' ' + y.FiscalUser.LastName).toString();\r\n                        });\r\n\r\n                        this.items = r;\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    })\r\n                    .finally(_ =>\r\n                    {\r\n                        this.loading = false;\r\n                    });\r\n            },\r\n            Users(item, prop)\r\n            {\r\n                return item.Users.filter(x => x[prop]);\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                loading: true,\r\n                headers: [\r\n                    { text: 'Agency', value: 'AgencyDivision', width: '25%' },\r\n                    { text: 'Title', value: 'Title', width: '25%' },\r\n                    { text: 'Research Staff', value: 'ResearchStaff', width: '25%' },\r\n                    { text: 'Fiscal Staff', value: 'FiscalStaff', width: '25%' },\r\n                ],\r\n                items: [],\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            Title: function ()\r\n            {\r\n                let title = 'Staff by Rule Agency';\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./RuleAgency.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./RuleAgency.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RuleAgency.vue?vue&type=template&id=3a753dd8&\"\nimport script from \"./RuleAgency.vue?vue&type=script&lang=js&\"\nexport * from \"./RuleAgency.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// Styles\nimport \"../../../src/components/VMessages/VMessages.sass\"; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Themeable from '../../mixins/themeable';\nimport mixins from '../../util/mixins'; // Utilities\n\nimport { getSlot } from '../../util/helpers';\n/* @vue/component */\n\nexport default mixins(Colorable, Themeable).extend({\n  name: 'v-messages',\n  props: {\n    value: {\n      type: Array,\n      default: () => []\n    }\n  },\n  methods: {\n    genChildren() {\n      return this.$createElement('transition-group', {\n        staticClass: 'v-messages__wrapper',\n        attrs: {\n          name: 'message-transition',\n          tag: 'div'\n        }\n      }, this.value.map(this.genMessage));\n    },\n\n    genMessage(message, key) {\n      return this.$createElement('div', {\n        staticClass: 'v-messages__message',\n        key\n      }, getSlot(this, 'default', {\n        message,\n        key\n      }) || [message]);\n    }\n\n  },\n\n  render(h) {\n    return h('div', this.setTextColor(this.color, {\n      staticClass: 'v-messages',\n      class: this.themeClasses\n    }), [this.genChildren()]);\n  }\n\n});\n//# sourceMappingURL=VMessages.js.map","import VMessages from './VMessages';\nexport { VMessages };\nexport default VMessages;\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VInput/VInput.sass\"; // Components\n\nimport VIcon from '../VIcon';\nimport VLabel from '../VLabel';\nimport VMessages from '../VMessages'; // Mixins\n\nimport BindsAttrs from '../../mixins/binds-attrs';\nimport Validatable from '../../mixins/validatable'; // Utilities\n\nimport { convertToUnit, getSlot, kebabCase } from '../../util/helpers';\nimport mergeData from '../../util/mergeData';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(BindsAttrs, Validatable);\n/* @vue/component */\n\nexport default baseMixins.extend().extend({\n  name: 'v-input',\n  inheritAttrs: false,\n  props: {\n    appendIcon: String,\n    backgroundColor: {\n      type: String,\n      default: ''\n    },\n    dense: Boolean,\n    height: [Number, String],\n    hideDetails: [Boolean, String],\n    hideSpinButtons: Boolean,\n    hint: String,\n    id: String,\n    label: String,\n    loading: Boolean,\n    persistentHint: Boolean,\n    prependIcon: String,\n    value: null\n  },\n\n  data() {\n    return {\n      lazyValue: this.value,\n      hasMouseDown: false\n    };\n  },\n\n  computed: {\n    classes() {\n      return {\n        'v-input--has-state': this.hasState,\n        'v-input--hide-details': !this.showDetails,\n        'v-input--is-label-active': this.isLabelActive,\n        'v-input--is-dirty': this.isDirty,\n        'v-input--is-disabled': this.isDisabled,\n        'v-input--is-focused': this.isFocused,\n        // <v-switch loading>.loading === '' so we can't just cast to boolean\n        'v-input--is-loading': this.loading !== false && this.loading != null,\n        'v-input--is-readonly': this.isReadonly,\n        'v-input--dense': this.dense,\n        'v-input--hide-spin-buttons': this.hideSpinButtons,\n        ...this.themeClasses\n      };\n    },\n\n    computedId() {\n      return this.id || `input-${this._uid}`;\n    },\n\n    hasDetails() {\n      return this.messagesToDisplay.length > 0;\n    },\n\n    hasHint() {\n      return !this.hasMessages && !!this.hint && (this.persistentHint || this.isFocused);\n    },\n\n    hasLabel() {\n      return !!(this.$slots.label || this.label);\n    },\n\n    // Proxy for `lazyValue`\n    // This allows an input\n    // to function without\n    // a provided model\n    internalValue: {\n      get() {\n        return this.lazyValue;\n      },\n\n      set(val) {\n        this.lazyValue = val;\n        this.$emit(this.$_modelEvent, val);\n      }\n\n    },\n\n    isDirty() {\n      return !!this.lazyValue;\n    },\n\n    isLabelActive() {\n      return this.isDirty;\n    },\n\n    messagesToDisplay() {\n      if (this.hasHint) return [this.hint];\n      if (!this.hasMessages) return [];\n      return this.validations.map(validation => {\n        if (typeof validation === 'string') return validation;\n        const validationResult = validation(this.internalValue);\n        return typeof validationResult === 'string' ? validationResult : '';\n      }).filter(message => message !== '');\n    },\n\n    showDetails() {\n      return this.hideDetails === false || this.hideDetails === 'auto' && this.hasDetails;\n    }\n\n  },\n  watch: {\n    value(val) {\n      this.lazyValue = val;\n    }\n\n  },\n\n  beforeCreate() {\n    // v-radio-group needs to emit a different event\n    // https://github.com/vuetifyjs/vuetify/issues/4752\n    this.$_modelEvent = this.$options.model && this.$options.model.event || 'input';\n  },\n\n  methods: {\n    genContent() {\n      return [this.genPrependSlot(), this.genControl(), this.genAppendSlot()];\n    },\n\n    genControl() {\n      return this.$createElement('div', {\n        staticClass: 'v-input__control',\n        attrs: {\n          title: this.attrs$.title\n        }\n      }, [this.genInputSlot(), this.genMessages()]);\n    },\n\n    genDefaultSlot() {\n      return [this.genLabel(), this.$slots.default];\n    },\n\n    genIcon(type, cb, extraData = {}) {\n      const icon = this[`${type}Icon`];\n      const eventName = `click:${kebabCase(type)}`;\n      const hasListener = !!(this.listeners$[eventName] || cb);\n      const data = mergeData({\n        attrs: {\n          'aria-label': hasListener ? kebabCase(type).split('-')[0] + ' icon' : undefined,\n          color: this.validationState,\n          dark: this.dark,\n          disabled: this.isDisabled,\n          light: this.light,\n          tabindex: type === 'clear' ? -1 : undefined\n        },\n        on: !hasListener ? undefined : {\n          click: e => {\n            e.preventDefault();\n            e.stopPropagation();\n            this.$emit(eventName, e);\n            cb && cb(e);\n          },\n          // Container has g event that will\n          // trigger menu open if enclosed\n          mouseup: e => {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n      }, extraData);\n      return this.$createElement('div', {\n        staticClass: `v-input__icon`,\n        class: type ? `v-input__icon--${kebabCase(type)}` : undefined\n      }, [this.$createElement(VIcon, data, icon)]);\n    },\n\n    genInputSlot() {\n      return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n        staticClass: 'v-input__slot',\n        style: {\n          height: convertToUnit(this.height)\n        },\n        on: {\n          click: this.onClick,\n          mousedown: this.onMouseDown,\n          mouseup: this.onMouseUp\n        },\n        ref: 'input-slot'\n      }), [this.genDefaultSlot()]);\n    },\n\n    genLabel() {\n      if (!this.hasLabel) return null;\n      return this.$createElement(VLabel, {\n        props: {\n          color: this.validationState,\n          dark: this.dark,\n          disabled: this.isDisabled,\n          focused: this.hasState,\n          for: this.computedId,\n          light: this.light\n        }\n      }, this.$slots.label || this.label);\n    },\n\n    genMessages() {\n      if (!this.showDetails) return null;\n      return this.$createElement(VMessages, {\n        props: {\n          color: this.hasHint ? '' : this.validationState,\n          dark: this.dark,\n          light: this.light,\n          value: this.messagesToDisplay\n        },\n        attrs: {\n          role: this.hasMessages ? 'alert' : null\n        },\n        scopedSlots: {\n          default: props => getSlot(this, 'message', props)\n        }\n      });\n    },\n\n    genSlot(type, location, slot) {\n      if (!slot.length) return null;\n      const ref = `${type}-${location}`;\n      return this.$createElement('div', {\n        staticClass: `v-input__${ref}`,\n        ref\n      }, slot);\n    },\n\n    genPrependSlot() {\n      const slot = [];\n\n      if (this.$slots.prepend) {\n        slot.push(this.$slots.prepend);\n      } else if (this.prependIcon) {\n        slot.push(this.genIcon('prepend'));\n      }\n\n      return this.genSlot('prepend', 'outer', slot);\n    },\n\n    genAppendSlot() {\n      const slot = []; // Append icon for text field was really\n      // an appended inner icon, v-text-field\n      // will overwrite this method in order to obtain\n      // backwards compat\n\n      if (this.$slots.append) {\n        slot.push(this.$slots.append);\n      } else if (this.appendIcon) {\n        slot.push(this.genIcon('append'));\n      }\n\n      return this.genSlot('append', 'outer', slot);\n    },\n\n    onClick(e) {\n      this.$emit('click', e);\n    },\n\n    onMouseDown(e) {\n      this.hasMouseDown = true;\n      this.$emit('mousedown', e);\n    },\n\n    onMouseUp(e) {\n      this.hasMouseDown = false;\n      this.$emit('mouseup', e);\n    }\n\n  },\n\n  render(h) {\n    return h('div', this.setTextColor(this.validationState, {\n      staticClass: 'v-input',\n      class: this.classes\n    }), this.genContent());\n  }\n\n});\n//# sourceMappingURL=VInput.js.map","import VInput from './VInput';\nexport { VInput };\nexport default VInput;\n//# sourceMappingURL=index.js.map","import { keys } from '../../util/helpers';\n\nconst handleGesture = wrapper => {\n  const {\n    touchstartX,\n    touchendX,\n    touchstartY,\n    touchendY\n  } = wrapper;\n  const dirRatio = 0.5;\n  const minDistance = 16;\n  wrapper.offsetX = touchendX - touchstartX;\n  wrapper.offsetY = touchendY - touchstartY;\n\n  if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n    wrapper.left && touchendX < touchstartX - minDistance && wrapper.left(wrapper);\n    wrapper.right && touchendX > touchstartX + minDistance && wrapper.right(wrapper);\n  }\n\n  if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n    wrapper.up && touchendY < touchstartY - minDistance && wrapper.up(wrapper);\n    wrapper.down && touchendY > touchstartY + minDistance && wrapper.down(wrapper);\n  }\n};\n\nfunction touchstart(event, wrapper) {\n  const touch = event.changedTouches[0];\n  wrapper.touchstartX = touch.clientX;\n  wrapper.touchstartY = touch.clientY;\n  wrapper.start && wrapper.start(Object.assign(event, wrapper));\n}\n\nfunction touchend(event, wrapper) {\n  const touch = event.changedTouches[0];\n  wrapper.touchendX = touch.clientX;\n  wrapper.touchendY = touch.clientY;\n  wrapper.end && wrapper.end(Object.assign(event, wrapper));\n  handleGesture(wrapper);\n}\n\nfunction touchmove(event, wrapper) {\n  const touch = event.changedTouches[0];\n  wrapper.touchmoveX = touch.clientX;\n  wrapper.touchmoveY = touch.clientY;\n  wrapper.move && wrapper.move(Object.assign(event, wrapper));\n}\n\nfunction createHandlers(value) {\n  const wrapper = {\n    touchstartX: 0,\n    touchstartY: 0,\n    touchendX: 0,\n    touchendY: 0,\n    touchmoveX: 0,\n    touchmoveY: 0,\n    offsetX: 0,\n    offsetY: 0,\n    left: value.left,\n    right: value.right,\n    up: value.up,\n    down: value.down,\n    start: value.start,\n    move: value.move,\n    end: value.end\n  };\n  return {\n    touchstart: e => touchstart(e, wrapper),\n    touchend: e => touchend(e, wrapper),\n    touchmove: e => touchmove(e, wrapper)\n  };\n}\n\nfunction inserted(el, binding, vnode) {\n  const value = binding.value;\n  const target = value.parent ? el.parentElement : el;\n  const options = value.options || {\n    passive: true\n  }; // Needed to pass unit tests\n\n  if (!target) return;\n  const handlers = createHandlers(binding.value);\n  target._touchHandlers = Object(target._touchHandlers);\n  target._touchHandlers[vnode.context._uid] = handlers;\n  keys(handlers).forEach(eventName => {\n    target.addEventListener(eventName, handlers[eventName], options);\n  });\n}\n\nfunction unbind(el, binding, vnode) {\n  const target = binding.value.parent ? el.parentElement : el;\n  if (!target || !target._touchHandlers) return;\n  const handlers = target._touchHandlers[vnode.context._uid];\n  keys(handlers).forEach(eventName => {\n    target.removeEventListener(eventName, handlers[eventName]);\n  });\n  delete target._touchHandlers[vnode.context._uid];\n}\n\nexport const Touch = {\n  inserted,\n  unbind\n};\nexport default Touch;\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VAutocomplete/VAutocomplete.sass\"; // Extensions\n\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect';\nimport VTextField from '../VTextField/VTextField'; // Utilities\n\nimport mergeData from '../../util/mergeData';\nimport { getObjectValueByPath, getPropertyFromItem, keyCodes } from '../../util/helpers';\nconst defaultMenuProps = { ...VSelectMenuProps,\n  offsetY: true,\n  offsetOverflow: true,\n  transition: false\n};\n/* @vue/component */\n\nexport default VSelect.extend({\n  name: 'v-autocomplete',\n  props: {\n    autoSelectFirst: {\n      type: Boolean,\n      default: false\n    },\n    filter: {\n      type: Function,\n      default: (item, queryText, itemText) => {\n        return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1;\n      }\n    },\n    hideNoData: Boolean,\n    menuProps: {\n      type: VSelect.options.props.menuProps.type,\n      default: () => defaultMenuProps\n    },\n    noFilter: Boolean,\n    searchInput: {\n      type: String\n    }\n  },\n\n  data() {\n    return {\n      lazySearch: this.searchInput\n    };\n  },\n\n  computed: {\n    classes() {\n      return { ...VSelect.options.computed.classes.call(this),\n        'v-autocomplete': true,\n        'v-autocomplete--is-selecting-index': this.selectedIndex > -1\n      };\n    },\n\n    computedItems() {\n      return this.filteredItems;\n    },\n\n    selectedValues() {\n      return this.selectedItems.map(item => this.getValue(item));\n    },\n\n    hasDisplayedItems() {\n      return this.hideSelected ? this.filteredItems.some(item => !this.hasItem(item)) : this.filteredItems.length > 0;\n    },\n\n    currentRange() {\n      if (this.selectedItem == null) return 0;\n      return String(this.getText(this.selectedItem)).length;\n    },\n\n    filteredItems() {\n      if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems;\n      return this.allItems.filter(item => {\n        const value = getPropertyFromItem(item, this.itemText);\n        const text = value != null ? String(value) : '';\n        return this.filter(item, String(this.internalSearch), text);\n      });\n    },\n\n    internalSearch: {\n      get() {\n        return this.lazySearch;\n      },\n\n      set(val) {\n        // emit update event only when the new\n        // search value is different from previous\n        if (this.lazySearch !== val) {\n          this.lazySearch = val;\n          this.$emit('update:search-input', val);\n        }\n      }\n\n    },\n\n    isAnyValueAllowed() {\n      return false;\n    },\n\n    isDirty() {\n      return this.searchIsDirty || this.selectedItems.length > 0;\n    },\n\n    isSearching() {\n      return this.multiple && this.searchIsDirty || this.searchIsDirty && this.internalSearch !== this.getText(this.selectedItem);\n    },\n\n    menuCanShow() {\n      if (!this.isFocused) return false;\n      return this.hasDisplayedItems || !this.hideNoData;\n    },\n\n    $_menuProps() {\n      const props = VSelect.options.computed.$_menuProps.call(this);\n      props.contentClass = `v-autocomplete__content ${props.contentClass || ''}`.trim();\n      return { ...defaultMenuProps,\n        ...props\n      };\n    },\n\n    searchIsDirty() {\n      return this.internalSearch != null && this.internalSearch !== '';\n    },\n\n    selectedItem() {\n      if (this.multiple) return null;\n      return this.selectedItems.find(i => {\n        return this.valueComparator(this.getValue(i), this.getValue(this.internalValue));\n      });\n    },\n\n    listData() {\n      const data = VSelect.options.computed.listData.call(this);\n      data.props = { ...data.props,\n        items: this.virtualizedItems,\n        noFilter: this.noFilter || !this.isSearching || !this.filteredItems.length,\n        searchInput: this.internalSearch\n      };\n      return data;\n    }\n\n  },\n  watch: {\n    filteredItems: 'onFilteredItemsChanged',\n    internalValue: 'setSearch',\n\n    isFocused(val) {\n      if (val) {\n        document.addEventListener('copy', this.onCopy);\n        this.$refs.input && this.$refs.input.select();\n      } else {\n        document.removeEventListener('copy', this.onCopy);\n        this.blur();\n        this.updateSelf();\n      }\n    },\n\n    isMenuActive(val) {\n      if (val || !this.hasSlot) return;\n      this.lazySearch = null;\n    },\n\n    items(val, oldVal) {\n      // If we are focused, the menu\n      // is not active, hide no data is enabled,\n      // and items change\n      // User is probably async loading\n      // items, try to activate the menu\n      if (!(oldVal && oldVal.length) && this.hideNoData && this.isFocused && !this.isMenuActive && val.length) this.activateMenu();\n    },\n\n    searchInput(val) {\n      this.lazySearch = val;\n    },\n\n    internalSearch: 'onInternalSearchChanged',\n    itemText: 'updateSelf'\n  },\n\n  created() {\n    this.setSearch();\n  },\n\n  destroyed() {\n    document.removeEventListener('copy', this.onCopy);\n  },\n\n  methods: {\n    onFilteredItemsChanged(val, oldVal) {\n      // TODO: How is the watcher triggered\n      // for duplicate items? no idea\n      if (val === oldVal) return;\n\n      if (!this.autoSelectFirst) {\n        const preSelectedItem = oldVal[this.$refs.menu.listIndex];\n\n        if (preSelectedItem) {\n          this.setMenuIndex(val.findIndex(i => i === preSelectedItem));\n        } else {\n          this.setMenuIndex(-1);\n        }\n\n        this.$emit('update:list-index', this.$refs.menu.listIndex);\n      }\n\n      this.$nextTick(() => {\n        if (!this.internalSearch || val.length !== 1 && !this.autoSelectFirst) return;\n        this.$refs.menu.getTiles();\n\n        if (this.autoSelectFirst && val.length) {\n          this.setMenuIndex(0);\n          this.$emit('update:list-index', this.$refs.menu.listIndex);\n        }\n      });\n    },\n\n    onInternalSearchChanged() {\n      this.updateMenuDimensions();\n    },\n\n    updateMenuDimensions() {\n      // Type from menuable is not making it through\n      this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions();\n    },\n\n    changeSelectedIndex(keyCode) {\n      // Do not allow changing of selectedIndex\n      // when search is dirty\n      if (this.searchIsDirty) return;\n\n      if (this.multiple && keyCode === keyCodes.left) {\n        if (this.selectedIndex === -1) {\n          this.selectedIndex = this.selectedItems.length - 1;\n        } else {\n          this.selectedIndex--;\n        }\n      } else if (this.multiple && keyCode === keyCodes.right) {\n        if (this.selectedIndex >= this.selectedItems.length - 1) {\n          this.selectedIndex = -1;\n        } else {\n          this.selectedIndex++;\n        }\n      } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n        this.deleteCurrentItem();\n      }\n    },\n\n    deleteCurrentItem() {\n      const curIndex = this.selectedIndex;\n      const curItem = this.selectedItems[curIndex]; // Do nothing if input or item is disabled\n\n      if (!this.isInteractive || this.getDisabled(curItem)) return;\n      const lastIndex = this.selectedItems.length - 1; // Select the last item if\n      // there is no selection\n\n      if (this.selectedIndex === -1 && lastIndex !== 0) {\n        this.selectedIndex = lastIndex;\n        return;\n      }\n\n      const length = this.selectedItems.length;\n      const nextIndex = curIndex !== length - 1 ? curIndex : curIndex - 1;\n      const nextItem = this.selectedItems[nextIndex];\n\n      if (!nextItem) {\n        this.setValue(this.multiple ? [] : null);\n      } else {\n        this.selectItem(curItem);\n      }\n\n      this.selectedIndex = nextIndex;\n    },\n\n    clearableCallback() {\n      this.internalSearch = null;\n      VSelect.options.methods.clearableCallback.call(this);\n    },\n\n    genInput() {\n      const input = VTextField.options.methods.genInput.call(this);\n      input.data = mergeData(input.data, {\n        attrs: {\n          'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n          autocomplete: getObjectValueByPath(input.data, 'attrs.autocomplete', 'off')\n        },\n        domProps: {\n          value: this.internalSearch\n        }\n      });\n      return input;\n    },\n\n    genInputSlot() {\n      const slot = VSelect.options.methods.genInputSlot.call(this);\n      slot.data.attrs.role = 'combobox';\n      return slot;\n    },\n\n    genSelections() {\n      return this.hasSlot || this.multiple ? VSelect.options.methods.genSelections.call(this) : [];\n    },\n\n    onClick(e) {\n      if (!this.isInteractive) return;\n      this.selectedIndex > -1 ? this.selectedIndex = -1 : this.onFocus();\n      if (!this.isAppendInner(e.target)) this.activateMenu();\n    },\n\n    onInput(e) {\n      if (this.selectedIndex > -1 || !e.target) return;\n      const target = e.target;\n      const value = target.value; // If typing and menu is not currently active\n\n      if (target.value) this.activateMenu();\n      if (!this.multiple && value === '') this.deleteCurrentItem();\n      this.internalSearch = value;\n      this.badInput = target.validity && target.validity.badInput;\n    },\n\n    onKeyDown(e) {\n      const keyCode = e.keyCode;\n\n      if (e.ctrlKey || ![keyCodes.home, keyCodes.end].includes(keyCode)) {\n        VSelect.options.methods.onKeyDown.call(this, e);\n      } // The ordering is important here\n      // allows new value to be updated\n      // and then moves the index to the\n      // proper location\n\n\n      this.changeSelectedIndex(keyCode);\n    },\n\n    onSpaceDown(e) {},\n\n    onTabDown(e) {\n      VSelect.options.methods.onTabDown.call(this, e);\n      this.updateSelf();\n    },\n\n    onUpDown(e) {\n      // Prevent screen from scrolling\n      e.preventDefault(); // For autocomplete / combobox, cycling\n      // interfers with native up/down behavior\n      // instead activate the menu\n\n      this.activateMenu();\n    },\n\n    selectItem(item) {\n      VSelect.options.methods.selectItem.call(this, item);\n      this.setSearch();\n    },\n\n    setSelectedItems() {\n      VSelect.options.methods.setSelectedItems.call(this); // #4273 Don't replace if searching\n      // #4403 Don't replace if focused\n\n      if (!this.isFocused) this.setSearch();\n    },\n\n    setSearch() {\n      // Wait for nextTick so selectedItem\n      // has had time to update\n      this.$nextTick(() => {\n        if (!this.multiple || !this.internalSearch || !this.isMenuActive) {\n          this.internalSearch = !this.selectedItems.length || this.multiple || this.hasSlot ? null : this.getText(this.selectedItem);\n        }\n      });\n    },\n\n    updateSelf() {\n      if (!this.searchIsDirty && !this.internalValue) return;\n\n      if (!this.multiple && !this.valueComparator(this.internalSearch, this.getValue(this.internalValue))) {\n        this.setSearch();\n      }\n    },\n\n    hasItem(item) {\n      return this.selectedValues.indexOf(this.getValue(item)) > -1;\n    },\n\n    onCopy(event) {\n      var _a, _b;\n\n      if (this.selectedIndex === -1) return;\n      const currentItem = this.selectedItems[this.selectedIndex];\n      const currentItemText = this.getText(currentItem);\n      (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.setData('text/plain', currentItemText);\n      (_b = event.clipboardData) === null || _b === void 0 ? void 0 : _b.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText);\n      event.preventDefault();\n    }\n\n  }\n});\n//# sourceMappingURL=VAutocomplete.js.map","export * from \"-!../../node_modules/@vue/cli-service/node_modules/vue-style-loader/index.js??ref--7-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./MemberCard.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Legislators Who Served on the Executive Board \")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"MemberId + Year\",\"sort-by\":['LastName', 'FirstName'],\"sort-desc\":[false, false],\"loading\":_vm.loading,\"items-per-page\":999,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Historical/Legislator/Profile/' + item.MemberId}},[_vm._v(_vm._s(item.LastName + \", \" + item.FirstName))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Legislators Who Served on the Executive Board\r\n            </div>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                                 :items=\"items\"\r\n                                 item-key=\"MemberId + Year\"\r\n                                 :sort-by=\"['LastName', 'FirstName']\"\r\n                                 :sort-desc=\"[false, false]\"\r\n                                 :loading=\"loading\"\r\n                                 :items-per-page=\"999\"\r\n                                 disable-pagination\r\n                                 hide-default-footer\r\n                                 loading-text=\"Loading... Please wait\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:item.Name=\"{ item }\">\r\n                    <router-link :to=\"'/Historical/Legislator/Profile/' + item.MemberId\">{{item.LastName + \",&nbsp;\" + item.FirstName }}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'ExecutiveBoard',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                fetch('/api/Historical/Office/6', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    if (res.ok)\r\n                    {\r\n                        return res.json();\r\n                    }\r\n                    else\r\n                        throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    if (response)\r\n                    {\r\n                        let r = EncodeDatetimes(response);\r\n\r\n                        r.forEach(x =>\r\n                        {\r\n                            x.Name = x.LastName + ', ' + x.FirstName;\r\n                        });\r\n\r\n                        this.items = r;\r\n                    }\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                }).finally(_ =>\r\n                {\r\n                    this.loading = false;\r\n                });\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                search: '',\r\n                loading: true,\r\n                items: [],\r\n                headers: [\r\n                    { text: 'Name', value: 'Name' },\r\n                    { text: 'Position', value: 'Position' },\r\n                    { text: 'Address', value: 'Address' },\r\n                    { text: 'Party', value: 'Description' },\r\n                    { text: 'Years', value: 'Year' },\r\n                    { text: 'Remarks', value: 'Comment' },\r\n                ],\r\n\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ExecutiveBoard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ExecutiveBoard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ExecutiveBoard.vue?vue&type=template&id=02a83ee8&\"\nimport script from \"./ExecutiveBoard.vue?vue&type=script&lang=js&\"\nexport * from \"./ExecutiveBoard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VDatePickerTable.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"38628beb\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Styles\nimport \"../../../src/components/VChip/VChip.sass\";\nimport mixins from '../../util/mixins'; // Components\n\nimport { VExpandXTransition } from '../transitions';\nimport VIcon from '../VIcon'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport { factory as GroupableFactory } from '../../mixins/groupable';\nimport Themeable from '../../mixins/themeable';\nimport { factory as ToggleableFactory } from '../../mixins/toggleable';\nimport Routable from '../../mixins/routable';\nimport Sizeable from '../../mixins/sizeable'; // Utilities\n\nimport { breaking } from '../../util/console';\n/* @vue/component */\n\nexport default mixins(Colorable, Sizeable, Routable, Themeable, GroupableFactory('chipGroup'), ToggleableFactory('inputValue')).extend({\n  name: 'v-chip',\n  props: {\n    active: {\n      type: Boolean,\n      default: true\n    },\n    activeClass: {\n      type: String,\n\n      default() {\n        if (!this.chipGroup) return '';\n        return this.chipGroup.activeClass;\n      }\n\n    },\n    close: Boolean,\n    closeIcon: {\n      type: String,\n      default: '$delete'\n    },\n    closeLabel: {\n      type: String,\n      default: '$vuetify.close'\n    },\n    disabled: Boolean,\n    draggable: Boolean,\n    filter: Boolean,\n    filterIcon: {\n      type: String,\n      default: '$complete'\n    },\n    label: Boolean,\n    link: Boolean,\n    outlined: Boolean,\n    pill: Boolean,\n    tag: {\n      type: String,\n      default: 'span'\n    },\n    textColor: String,\n    value: null\n  },\n  data: () => ({\n    proxyClass: 'v-chip--active'\n  }),\n  computed: {\n    classes() {\n      return {\n        'v-chip': true,\n        ...Routable.options.computed.classes.call(this),\n        'v-chip--clickable': this.isClickable,\n        'v-chip--disabled': this.disabled,\n        'v-chip--draggable': this.draggable,\n        'v-chip--label': this.label,\n        'v-chip--link': this.isLink,\n        'v-chip--no-color': !this.color,\n        'v-chip--outlined': this.outlined,\n        'v-chip--pill': this.pill,\n        'v-chip--removable': this.hasClose,\n        ...this.themeClasses,\n        ...this.sizeableClasses,\n        ...this.groupClasses\n      };\n    },\n\n    hasClose() {\n      return Boolean(this.close);\n    },\n\n    isClickable() {\n      return Boolean(Routable.options.computed.isClickable.call(this) || this.chipGroup);\n    }\n\n  },\n\n  created() {\n    const breakingProps = [['outline', 'outlined'], ['selected', 'input-value'], ['value', 'active'], ['@input', '@active.sync']];\n    /* istanbul ignore next */\n\n    breakingProps.forEach(([original, replacement]) => {\n      if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);\n    });\n  },\n\n  methods: {\n    click(e) {\n      this.$emit('click', e);\n      this.chipGroup && this.toggle();\n    },\n\n    genFilter() {\n      const children = [];\n\n      if (this.isActive) {\n        children.push(this.$createElement(VIcon, {\n          staticClass: 'v-chip__filter',\n          props: {\n            left: true\n          }\n        }, this.filterIcon));\n      }\n\n      return this.$createElement(VExpandXTransition, children);\n    },\n\n    genClose() {\n      return this.$createElement(VIcon, {\n        staticClass: 'v-chip__close',\n        props: {\n          right: true,\n          size: 18\n        },\n        attrs: {\n          'aria-label': this.$vuetify.lang.t(this.closeLabel)\n        },\n        on: {\n          click: e => {\n            e.stopPropagation();\n            e.preventDefault();\n            this.$emit('click:close');\n            this.$emit('update:active', false);\n          }\n        }\n      }, this.closeIcon);\n    },\n\n    genContent() {\n      return this.$createElement('span', {\n        staticClass: 'v-chip__content'\n      }, [this.filter && this.genFilter(), this.$slots.default, this.hasClose && this.genClose()]);\n    }\n\n  },\n\n  render(h) {\n    const children = [this.genContent()];\n    let {\n      tag,\n      data\n    } = this.generateRouteLink();\n    data.attrs = { ...data.attrs,\n      draggable: this.draggable ? 'true' : undefined,\n      tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs.tabindex\n    };\n    data.directives.push({\n      name: 'show',\n      value: this.active\n    });\n    data = this.setBackgroundColor(this.color, data);\n    const color = this.textColor || this.outlined && this.color;\n    return h(tag, this.setTextColor(color, data), children);\n  }\n\n});\n//# sourceMappingURL=VChip.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-progress-linear{color:rgba(0,0,0,.87)}.theme--dark.v-progress-linear{color:#fff}.v-progress-linear{background:transparent;overflow:hidden;position:relative;transition:.2s cubic-bezier(.4,0,.6,1);width:100%}.v-progress-linear__buffer{height:inherit;left:0;position:absolute;top:0;transition:inherit;width:100%}.v-progress-linear--reverse .v-progress-linear__buffer{left:auto;right:0}.v-progress-linear__background{bottom:0;left:0;position:absolute;top:0;transition:inherit}.v-progress-linear--reverse .v-progress-linear__background{left:auto;right:0}.v-progress-linear__content{align-items:center;display:flex;height:100%;left:0;justify-content:center;position:absolute;top:0;width:100%}.v-progress-linear--reverse .v-progress-linear__content{left:auto;right:0}.v-progress-linear__determinate{height:inherit;left:0;position:absolute;transition:inherit}.v-progress-linear--reverse .v-progress-linear__determinate{left:auto;right:0}.v-progress-linear .v-progress-linear__indeterminate .long,.v-progress-linear .v-progress-linear__indeterminate .short{-webkit-animation-play-state:paused;animation-play-state:paused;background-color:inherit;bottom:0;height:inherit;left:0;position:absolute;right:auto;top:0;width:auto;will-change:left,right}.v-progress-linear .v-progress-linear__indeterminate--active .long{-webkit-animation-name:indeterminate-ltr;animation-name:indeterminate-ltr;-webkit-animation-duration:2.2s;animation-duration:2.2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.v-progress-linear .v-progress-linear__indeterminate--active .short{-webkit-animation-name:indeterminate-short-ltr;animation-name:indeterminate-short-ltr;-webkit-animation-duration:2.2s;animation-duration:2.2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.v-progress-linear--reverse .v-progress-linear__indeterminate .long,.v-progress-linear--reverse .v-progress-linear__indeterminate .short{left:auto;right:0}.v-progress-linear--reverse .v-progress-linear__indeterminate--active .long{-webkit-animation-name:indeterminate-rtl;animation-name:indeterminate-rtl}.v-progress-linear--reverse .v-progress-linear__indeterminate--active .short{-webkit-animation-name:indeterminate-short-rtl;animation-name:indeterminate-short-rtl}.v-progress-linear__stream{-webkit-animation:stream-ltr .25s linear infinite;animation:stream-ltr .25s linear infinite;-webkit-animation-play-state:paused;animation-play-state:paused;border-color:currentColor;border-top:4px dotted;bottom:0;left:auto;right:-8px;opacity:.3;pointer-events:none;position:absolute;top:calc(50% - 2px);transition:inherit}.v-progress-linear--reverse .v-progress-linear__stream{-webkit-animation:stream-rtl .25s linear infinite;animation:stream-rtl .25s linear infinite;left:-8px;right:auto}.v-progress-linear__wrapper{overflow:hidden;position:relative;transition:inherit}.v-progress-linear--absolute,.v-progress-linear--fixed{left:0;z-index:1}.v-progress-linear--absolute{position:absolute}.v-progress-linear--fixed{position:fixed}.v-progress-linear--reactive .v-progress-linear__content{pointer-events:none}.v-progress-linear--rounded{border-radius:4px}.v-progress-linear--striped .v-progress-linear__determinate{background-image:linear-gradient(135deg,hsla(0,0%,100%,.25) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.25) 0,hsla(0,0%,100%,.25) 75%,transparent 0,transparent);background-size:40px 40px;background-repeat:repeat}.v-progress-linear--query .v-progress-linear__indeterminate--active .long{-webkit-animation-name:query-ltr;animation-name:query-ltr;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.v-progress-linear--query .v-progress-linear__indeterminate--active .short{-webkit-animation-name:query-short-ltr;animation-name:query-short-ltr;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.v-progress-linear--query.v-progress-linear--reverse .v-progress-linear__indeterminate--active .long{-webkit-animation-name:query-rtl;animation-name:query-rtl}.v-progress-linear--query.v-progress-linear--reverse .v-progress-linear__indeterminate--active .short{-webkit-animation-name:query-short-rtl;animation-name:query-short-rtl}.v-progress-linear--visible .v-progress-linear__indeterminate--active .long,.v-progress-linear--visible .v-progress-linear__indeterminate--active .short,.v-progress-linear--visible .v-progress-linear__stream{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes indeterminate-ltr{0%{left:-90%;right:100%}60%{left:-90%;right:100%}to{left:100%;right:-35%}}@keyframes indeterminate-ltr{0%{left:-90%;right:100%}60%{left:-90%;right:100%}to{left:100%;right:-35%}}@-webkit-keyframes indeterminate-rtl{0%{left:100%;right:-90%}60%{left:100%;right:-90%}to{left:-35%;right:100%}}@keyframes indeterminate-rtl{0%{left:100%;right:-90%}60%{left:100%;right:-90%}to{left:-35%;right:100%}}@-webkit-keyframes indeterminate-short-ltr{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes indeterminate-short-ltr{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@-webkit-keyframes indeterminate-short-rtl{0%{left:100%;right:-200%}60%{left:-8%;right:107%}to{left:-8%;right:107%}}@keyframes indeterminate-short-rtl{0%{left:100%;right:-200%}60%{left:-8%;right:107%}to{left:-8%;right:107%}}@-webkit-keyframes query-ltr{0%{right:-90%;left:100%}60%{right:-90%;left:100%}to{right:100%;left:-35%}}@keyframes query-ltr{0%{right:-90%;left:100%}60%{right:-90%;left:100%}to{right:100%;left:-35%}}@-webkit-keyframes query-rtl{0%{right:100%;left:-90%}60%{right:100%;left:-90%}to{right:-35%;left:100%}}@keyframes query-rtl{0%{right:100%;left:-90%}60%{right:100%;left:-90%}to{right:-35%;left:100%}}@-webkit-keyframes query-short-ltr{0%{right:-200%;left:100%}60%{right:107%;left:-8%}to{right:107%;left:-8%}}@keyframes query-short-ltr{0%{right:-200%;left:100%}60%{right:107%;left:-8%}to{right:107%;left:-8%}}@-webkit-keyframes query-short-rtl{0%{right:100%;left:-200%}60%{right:-8%;left:107%}to{right:-8%;left:107%}}@keyframes query-short-rtl{0%{right:100%;left:-200%}60%{right:-8%;left:107%}to{right:-8%;left:107%}}@-webkit-keyframes stream-ltr{to{transform:translateX(-8px)}}@keyframes stream-ltr{to{transform:translateX(-8px)}}@-webkit-keyframes stream-rtl{to{transform:translateX(8px)}}@keyframes stream-rtl{to{transform:translateX(8px)}}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Styles\nimport \"../../../src/components/VDivider/VDivider.sass\"; // Mixins\n\nimport Themeable from '../../mixins/themeable';\nexport default Themeable.extend({\n  name: 'v-divider',\n  props: {\n    inset: Boolean,\n    vertical: Boolean\n  },\n\n  render(h) {\n    // WAI-ARIA attributes\n    let orientation;\n\n    if (!this.$attrs.role || this.$attrs.role === 'separator') {\n      orientation = this.vertical ? 'vertical' : 'horizontal';\n    }\n\n    return h('hr', {\n      class: {\n        'v-divider': true,\n        'v-divider--inset': this.inset,\n        'v-divider--vertical': this.vertical,\n        ...this.themeClasses\n      },\n      attrs: {\n        role: 'separator',\n        'aria-orientation': orientation,\n        ...this.$attrs\n      },\n      on: this.$listeners\n    });\n  }\n\n});\n//# sourceMappingURL=VDivider.js.map","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-card-title',[_vm._v(\" Program Evaluation Reports \")]),_c('v-card-text',[_c('v-container',[_c('GoogleSearch')],1),_c('v-divider'),_c('div',[_vm._v(\" Welcome to the Program Evaluation Reports web page. Here you will find reports on program evaluations performed by the South Dakota Legislative Research Council’s Division of Fiscal and Program Analysis at the direction of the Executive Board of the State Legislature. The program evaluation process began in 2018 with the first reports issued in November 2018. \")]),_c('v-divider'),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"DocumentId\",\"sort-by\":\"DocumentId\",\"sort-desc\":[true],\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.DocumentDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.GetDateYear(item.DocumentDate))+\" \")]}},{key:\"item.Title\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/Program Evaluations/' + item.DocumentId + '.pdf'}},[_vm._v(\" \"+_vm._s(item.Title)+\" \")])]}}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n<template>\r\n    <v-container>\r\n    <v-card flat>\r\n        <v-card-title>\r\n            Program Evaluation Reports\r\n        </v-card-title>\r\n        <v-card-text>\r\n            <v-container>\r\n                <GoogleSearch></GoogleSearch>\r\n            </v-container>\r\n            <v-divider></v-divider>\r\n            <div>\r\n                Welcome to the Program Evaluation Reports web page. Here you will find reports on program evaluations performed by the South Dakota Legislative Research Council’s Division of Fiscal and Program Analysis at the direction of the Executive Board of the State Legislature. The program evaluation process began in 2018 with the first reports issued in November 2018.\r\n            </div>\r\n            <v-divider></v-divider>\r\n            <FilterableDataTable :headers=\"headers\"\r\n                          :items=\"items\"\r\n                          item-key=\"DocumentId\"\r\n                          sort-by=\"DocumentId\"\r\n                          :sort-desc=\"[true]\"\r\n                          disable-pagination\r\n                          hide-default-footer\r\n                          :loading=\"loading\"\r\n                          loading-text=\"Loading... Please wait\"\r\n                          class=\"elevation-1\">\r\n                <template v-slot:item.DocumentDate=\"{ item }\">\r\n                    {{GetDateYear(item.DocumentDate)}}\r\n                </template>\r\n                <template v-slot:item.Title=\"{ item }\">\r\n                    <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/Program Evaluations/' + item.DocumentId + '.pdf'\">\r\n                        {{item.Title}}\r\n                    </a>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-card-text>\r\n    </v-card>\r\n</v-container>\r\n\r\n</template>\r\n<script>\r\n    const GoogleSearch = () => import(\"@/Components/GoogleSearch.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'ProgramEvaluation',\r\n        components: {\r\n            GoogleSearch, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Documents/DocumentType?Type=43', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.items = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            GetDateYear(item) {\r\n                return item.getFullYear();\r\n            },\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: true,\r\n                headers: [\r\n                    { text: 'Report', value: 'Title' },\r\n                    { text: 'Year', value: 'DocumentDate' },\r\n                ],\r\n                items: [\r\n\r\n                ],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Program Evaluations';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgramEvaluation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgramEvaluation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProgramEvaluation.vue?vue&type=template&id=42af04a4&\"\nimport script from \"./ProgramEvaluation.vue?vue&type=script&lang=js&\"\nexport * from \"./ProgramEvaluation.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VContainer,VDivider})\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VSimpleCheckbox.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"09d960d4\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VInput.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"ef8b4a26\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[(_vm.SessionId)?_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}})],1):_vm._e(),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Archived Registers \")]),_c('v-btn',{staticStyle:{\"vertical-align\":\"top\"},attrs:{\"depressed\":\"\",\"x-small\":\"\",\"color\":\"orange\",\"rel\":\"noopener\",\"href\":'/api/Documents/DocumentTypesRSS?Type=50'}},[_c('span',{staticClass:\"white--text\"},[_vm._v(\"RSS\")]),_c('v-icon',{attrs:{\"color\":\"white\",\"right\":\"\"}},[_vm._v(_vm._s(_vm.rss))])],1),_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('GoogleSearch')],1)],1),_c('v-divider'),_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_c('v-autocomplete',{staticStyle:{\"max-width\":\"100px\"},attrs:{\"items\":_vm.Years,\"item-value\":\"name\",\"item-text\":\"name\"},model:{value:(_vm.Year),callback:function ($$v) {_vm.Year=$$v},expression:\"Year\"}}),_vm._v(\" Register \")],1),_c('v-card-text',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}}):_vm._e(),_c('div',[_vm._v(\" The South Dakota Register is a weekly publication that contains: notices of hearings on proposed amendments to administrative rules; final administrative rules filed in the secretary of state's office; executive orders; judicial, legislative and executive appointments; declaratory rulings; and other information which is not otherwise generally available to the public. You may receive copies electronically by e-subscribing using MyLRC. \")]),(_vm.Documents && _vm.Documents.length == 0)?_c('span',[(!_vm.loading)?_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\"No registers available for this year.\")]):_vm._e()],1):_vm._e(),_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},_vm._l((_vm.Documents),function(d){return _c('v-flex',{key:d.DocumentId,attrs:{\"xs12\":\"\",\"sm2\":\"\",\"md3\":\"\"}},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/Register/' + d.DocumentId + '.pdf'}},[_vm._v(_vm._s(_vm.DatePretty(d.DocumentDate)))])])}),1)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\" v-if=\"SessionId\">\r\n            <Sidebar :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                Archived Registers\r\n            </div>\r\n            <v-btn depressed x-small color=\"orange\" style=\"vertical-align:top;\" rel=\"noopener\" :href=\"'/api/Documents/DocumentTypesRSS?Type=50'\">\r\n                <span class=\"white--text\">RSS</span><v-icon color=\"white\" right>{{rss}}</v-icon>\r\n            </v-btn>\r\n            <v-container>\r\n                <v-layout row wrap>\r\n                    <GoogleSearch></GoogleSearch>\r\n                </v-layout>\r\n            </v-container>\r\n            <v-divider></v-divider>\r\n\r\n            <v-layout row wrap>\r\n                <v-card flat>\r\n                    <v-card-title>\r\n                        <v-autocomplete v-model=\"Year\"\r\n                                        style=\"max-width:100px\"\r\n                                        :items=\"Years\"\r\n                                        item-value=\"name\"\r\n                                        item-text=\"name\"></v-autocomplete> Register\r\n                    </v-card-title>\r\n                    <v-card-text>\r\n                        <v-progress-linear indeterminate\r\n                                           v-if=\"loading\"\r\n                                           color=\"primary\"></v-progress-linear>\r\n                        <div>\r\n                            The South Dakota Register is a weekly publication that contains: notices of hearings on proposed amendments to administrative rules; final administrative rules filed in the secretary of state's office; executive orders; judicial, legislative and executive appointments; declaratory rulings; and other information which is not otherwise generally available to the public. You may receive copies electronically by e-subscribing using MyLRC.\r\n                        </div>\r\n                        <span v-if=\"Documents && Documents.length == 0\">\r\n                            <v-alert v-if=\"!loading\" dense\r\n                                     text\r\n                                     type=\"info\">No registers available for this year.</v-alert>\r\n                        </span>\r\n                        <v-container>\r\n                            <v-layout row wrap>\r\n                                <v-flex xs12 sm2 md3 v-for=\"d in Documents\" :key=\"d.DocumentId\">\r\n                                    <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/Register/' + d.DocumentId + '.pdf'\">{{DatePretty(d.DocumentDate)}}</a>\r\n                                </v-flex>\r\n                            </v-layout>\r\n                        </v-container>\r\n                    </v-card-text>\r\n                </v-card>\r\n            </v-layout>\r\n        </v-col>\r\n    </v-row>\r\n\r\n</template>\r\n<script>\r\n    import moment from 'moment'\r\n    import { mdiRss } from '@mdi/js';\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const GoogleSearch = () => import(\"@/Components/GoogleSearch.vue\");\r\n    export default {\r\n        name: 'Registers',\r\n        props: ['SessionId'],\r\n        components: { Sidebar, GoogleSearch },\r\n        methods: {\r\n            LoadData() {\r\n                if (this.SessionId) {\r\n                    fetch('/api/Sessions/' + this.SessionId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201) {\r\n                            return res.json();\r\n                        }\r\n                        else {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response => {\r\n                        this.Session = EncodeDatetimes(response);\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n                else {\r\n                    fetch('/api/Sessions/Current', {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201) {\r\n                            return res.json();\r\n                        }\r\n                        else {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response => {\r\n                        this.Session = EncodeDatetimes(response);\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n                fetch('/api/Documents/DocumentType?Type=50', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.items = [];\r\n                    this.items = EncodeDatetimes(response);\r\n                    if (this.Session) {\r\n                        this.Year = this.Session.Year;\r\n                    }\r\n                    else if (this.Session && this.Session.SessionId) {\r\n                        this.Year = new Date().Year;\r\n                        this.$router.push('/Rules/Registers/' + this.Session.SessionId);\r\n                    }\r\n                    else {\r\n                        this.Year = \"2022\";\r\n                        this.$router.push('/Rules/Registers/64');\r\n                    }\r\n                    this.loading = false;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            DatePretty(date) {\r\n                return moment(date, \"DD/MM/YYYY\").format(\"M/DD/YYYY\");\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                rss: mdiRss,\r\n                loading: true,\r\n                items: [],\r\n                allDocuments: [],\r\n                Year: null,\r\n                Session: {},\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            SessionId: {\r\n                handler() {\r\n                    this.Year = null;\r\n                    this.LoadData();\r\n                },\r\n            },\r\n        },\r\n        computed: {\r\n            Documents: function () {\r\n                if (this.Year) {\r\n                    return this.items.filter(x => moment(x.DocumentDate, \"DD/MM/YYYY\").format(\"YYYY\") == this.Year);\r\n                }\r\n                else {\r\n                    return [];\r\n                }\r\n            },\r\n            Years: function () {\r\n                let docDates = this.items.map(a => moment(a.DocumentDate, \"DD/MM/YYYY\").format(\"YYYY\"));\r\n                if (docDates && docDates.length > 0 && this.Session && this.Session.Year) {\r\n                    var unique = [...new Set(docDates)].sort().reverse();\r\n                    if (!unique.find(x => x == this.Session.Year)) {\r\n                        unique.push(this.Session.Year);\r\n                    }\r\n                    return unique;\r\n                } else {\r\n                    return [];\r\n                }\r\n            },\r\n            Title: function () {\r\n                let title = 'Archived Registers';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Registers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Registers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Registers.vue?vue&type=template&id=2b01e8fe&\"\nimport script from \"./Registers.vue?vue&type=script&lang=js&\"\nexport * from \"./Registers.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\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 { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VAutocomplete,VBtn,VCard,VCardText,VCardTitle,VCol,VContainer,VDivider,VFlex,VIcon,VLayout,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_vm._v(\"Page Program\")]),_c('v-card-text',[_c('div',{staticClass:\"headline\",staticStyle:{\"text-align\":\"center\"}},[_vm._v(\"2025 Page Program Application and Information\")]),_vm._v(\" Each legislative session, high school students from across South Dakota have an opportunity for a firsthand look at the legislative process by serving as pages for the South Dakota Legislature. Pages are appointed to serve in the House of Representatives or the Senate for four to nine days during one of the five term periods. \"),_c('br'),_c('br'),_vm._v(\" The page program is a competitive program, so early application is encouraged. The preferred deadline is October 4, 2024 and the final deadline is October 18, 2024. \"),_c('br'),_c('br'),_vm._v(\" Application is made through a sponsoring legislator or legislator-elect. Talk to a legislator or legislator-elect and ask for the privilege of them sponsoring you. Not sure who to approach as a sponsor? Any current legislator or legislator-elect can sponsor a page. Click on Find My Legislators to find the legislators in your district; however, a sponsoring legislator may be from any South Dakota district. \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_c('router-link',{attrs:{\"to\":\"/Legislators/Find\"}},[_vm._v(\"Find My Legislators\")])],1),_c('br'),_c('br'),_vm._v(\" The President Pro Tempore of the Senate selects the pages who will serve in the Senate. The Speaker of the House of Representatives selects the pages who will serve in the House. In early December, you will be notified by the Page Advisor regarding the disposition of your application. \"),_c('br'),_c('br'),_c('b',[_vm._v(\"If you need assistance or have any questions, please contact the Legislative Research Council by \"),_c('a',{attrs:{\"href\":\"mailto:PageProgram@sdlegislature.gov\"}},[_vm._v(\"email\")]),_vm._v(\" or at \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":\"tel:605-773-3251\"}},[_vm._v(\"605-773-3251\")]),_vm._v(\", or the Legislative Page Advisor at \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":\"tel:605-773-5257\"}},[_vm._v(\"605-773-5257\")]),_vm._v(\".\")])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <v-card flat>\r\n                <v-card-title>Page Program</v-card-title>\r\n                <v-card-text>\r\n                    <div class=\"headline\" style=\"text-align:center\">2025 Page Program Application and Information</div>\r\n                    Each legislative session, high school students from across South Dakota have an opportunity for a firsthand look at the legislative process by serving as pages for the South Dakota Legislature. Pages are appointed to serve in the House of Representatives or the Senate for four to nine days during one of the five term periods.\r\n                    <br /><br />\r\n                    The page program is a competitive program, so early application is encouraged. The preferred deadline is October 4, 2024 and the final deadline is October 18, 2024.\r\n                    <br /><br />\r\n                    Application is made through a sponsoring legislator or legislator-elect. Talk to a legislator or legislator-elect and ask for the privilege of them sponsoring you. Not sure who to approach as a sponsor? Any current legislator or legislator-elect can sponsor a page. Click on Find My Legislators to find the legislators in your district; however, a sponsoring legislator may be from any South Dakota district.\r\n                    <span style=\"font-weight: bold;\"><router-link to=\"/Legislators/Find\">Find My Legislators</router-link></span>\r\n                    <br />\r\n                    <br />\r\n                    The President Pro Tempore of the Senate selects the pages who will serve in the Senate. The Speaker of the House of Representatives selects the pages who will serve in the House. In early December, you will be notified by the Page Advisor regarding the disposition of your application.\r\n                    <br /><br />\r\n                    <b>If you need assistance or have any questions, please contact the Legislative Research Council by <a href=\"mailto:PageProgram@sdlegislature.gov\">email</a> or at <a rel=\"noopener\" href=\"tel:605-773-3251\">605-773-3251</a>, or the Legislative Page Advisor at <a rel=\"noopener\" href=\"tel:605-773-5257\">605-773-5257</a>.</b>\r\n                </v-card-text>\r\n            </v-card>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    export default {\r\n        name: 'Page',\r\n        components: {\r\n            Sidebar\r\n        },\r\n        methods: {\r\n            getYear() {\r\n                const now = new Date();\r\n                //js getmonth zero based\r\n                if (now.getMonth() + 1 > 7) {\r\n                    return now.getFullYear() + 1;\r\n                }\r\n                else {\r\n                    return now.getFullYear();\r\n                }\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Page Program';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Page.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Page.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Page.vue?vue&type=template&id=117156ce&\"\nimport script from \"./Page.vue?vue&type=script&lang=js&\"\nexport * from \"./Page.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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-container',[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_vm._v(\" Performance Management Reports \")]),_c('v-card-text',[_c('v-container',[_c('GoogleSearch')],1),_c('v-divider'),_c('div',[_vm._v(\"Welcome to the Performance Management Reports web page. Here you will find reports from state agencies that were compiled as part of the review process to provide the Legislature with a consistent system to evaluate the efficiency and effectiveness of state agencies and to provide additional government transparency and accountability to the Legislature. The performance management review process began in 2016 as part of the Legislative Planning Committee's work and was transferred to the Government Operations and Audit Committee in 2017.\")]),_c('div',[_c('b',[_vm._v(\"SDCL Authority: \")]),_vm._l((_vm.Scope),function(s,i){return _c('span',[_c('a',{attrs:{\"href\":'/Statutes?Statute=' + s}},[_vm._v(_vm._s(s))]),(i< s.length -3)?_c('span',[_vm._v(\", \")]):(i< s.length -2)?_c('span',[_vm._v(\", and \")]):_vm._e()])}),_vm._v(\". \")],2),_c('v-divider'),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"DocumentId\",\"sort-by\":\"DocumentId\",\"sort-desc\":[true],\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.DocumentDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.GetDateYear(item.DocumentDate))+\" \")]}},{key:\"item.Description\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/Performance Management Report/' + item.DocumentId + '.pdf'}},[(item.Agency !=null)?_c('span',[_vm._v(_vm._s(item.Agency.Agency))]):(item.Department !=null)?_c('span',[_vm._v(_vm._s(item.Department))]):_c('span',[_vm._v(_vm._s(item.Description))])])]}}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container>\r\n        <v-card flat>\r\n            <v-card-title>\r\n                Performance Management Reports\r\n            </v-card-title>\r\n            <v-card-text>\r\n                <v-container>\r\n                    <GoogleSearch></GoogleSearch>\r\n                </v-container>\r\n                <v-divider></v-divider>\r\n                <div>Welcome to the Performance Management Reports web page. Here you will find reports from state agencies that were compiled as part of the review process to provide the Legislature with a consistent system to evaluate the efficiency and effectiveness of state agencies and to provide additional government transparency and accountability to the Legislature. The performance management review process began in 2016 as part of the Legislative Planning Committee's work and was transferred to the Government Operations and Audit Committee in 2017.</div>\r\n                <div>\r\n                    <b>SDCL Authority: </b><span v-for=\"(s,i) in Scope\"><a :href=\"'/Statutes?Statute=' + s\">{{s}}</a><span v-if=\"i< s.length -3\">, </span><span v-else-if=\"i< s.length -2\">, and </span></span>.\r\n                </div>\r\n                <v-divider></v-divider>\r\n                <FilterableDataTable :headers=\"headers\"\r\n                              :items=\"items\"\r\n                              item-key=\"DocumentId\"\r\n                              sort-by=\"DocumentId\"\r\n                              :sort-desc=\"[true]\"\r\n                              disable-pagination\r\n                              hide-default-footer\r\n                              :loading=\"loading\"\r\n                              loading-text=\"Loading... Please wait\"\r\n                              class=\"elevation-1\">\r\n                    <template v-slot:item.DocumentDate=\"{ item }\">\r\n                        {{GetDateYear(item.DocumentDate)}}\r\n                    </template>\r\n                    <template v-slot:item.Description=\"{ item }\">\r\n                        <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/Performance Management Report/' + item.DocumentId + '.pdf'\">\r\n                            <span v-if=\"item.Agency !=null\">{{item.Agency.Agency}}</span>\r\n                            <span v-else-if=\"item.Department !=null\">{{item.Department}}</span>\r\n                            <span v-else>{{item.Description}}</span>\r\n                        </a>\r\n                    </template>\r\n                </FilterableDataTable>\r\n            </v-card-text>\r\n        </v-card>\r\n    </v-container>\r\n</template>\r\n<script>\r\n    const GoogleSearch = () => import(\"@/Components/GoogleSearch.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'PerformanceReports',\r\n        components: {\r\n            GoogleSearch, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Documents/DocumentType?Type=52', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.items = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            GetDateYear(item) {\r\n                return item.getFullYear();\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: true,\r\n                headers: [\r\n                    { text: 'Report', value: 'Description', width: '*' },\r\n                    { text: 'Year', value: 'DocumentDate', width: '15ch' }],\r\n                items: [\r\n\r\n                ],\r\n                Scope: ['2-6-35', '2-6-36', ' 2-6-37', '2-6-38', '2-6-39'],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Performance Reports';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./PerformanceReports.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./PerformanceReports.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PerformanceReports.vue?vue&type=template&id=1bc4886e&\"\nimport script from \"./PerformanceReports.vue?vue&type=script&lang=js&\"\nexport * from \"./PerformanceReports.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VContainer,VDivider})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-card',{attrs:{\"flat\":\"\"}},[(_vm.Session && _vm.Session.YearString)?_c('v-card-title',[_vm._v(_vm._s(_vm.Session.YearString)+\" Conference Committees\")]):_vm._e(),_c('v-card-text',[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.PageText)}})])],1),_c('hr'),_c('v-card',{staticClass:\"pa-0\",attrs:{\"flat\":\"\"}},[_c('v-card-text',{staticClass:\"px-0\"},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.TableHeaders,\"items\":_vm.AllConferenceCommittees,\"hide-default-footer\":\"\",\"group-by\":\"BillNumberOnly\",\"disable-pagination\":\"\",\"disable-sort\":\"\",\"items-per-page\":5},scopedSlots:_vm._u([{key:\"group.header\",fn:function(ref){\nvar items = ref.items;\nvar isOpen = ref.isOpen;\nvar toggle = ref.toggle;\nvar group = ref.group;\nvar groupby = ref.groupby;\nvar remove = ref.remove;\nreturn [_c('td',{staticClass:\"d-print-table-cell pl-2\",attrs:{\"colspan\":\"7\"}},[_c('b',[_c('router-link',{attrs:{\"to\":'/Session/Bill/' + items[0].Bill.BillId}},[_vm._v(_vm._s(items[0].Bill.BillType + ' ' + items[0].Bill.BillNumberOnly))]),_vm._v(\" - \"+_vm._s(items[0].Bill.Title))],1)])]}},{key:\"item.MeetingTime\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.DatePretty(item.MeetingTime))+\" \")]}},{key:\"item.Senate\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((_vm.filterMembers(item, 'S')),function(j,i){return _c('div',{staticStyle:{\"display\":\"inline\"}},[_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' +j.SessionMemberId}},[_vm._v(_vm._s(j.LastName))]),(j.Membership == 'Chair')?_c('span',[_vm._v(\" (Chair)\")]):_vm._e(),(j.Membership == 'Co-Chair')?_c('span',[_vm._v(\" (Co-Chair)\")]):_vm._e(),(i < (_vm.filterMembers(item, 'S').length-1))?_c('span',[_vm._v(\", \")]):_vm._e()],1)})}},{key:\"item.House\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((_vm.filterMembers(item, 'H')),function(j,i){return _c('div',{staticStyle:{\"display\":\"inline\"}},[_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' +j.SessionMemberId}},[_vm._v(_vm._s(j.LastName))]),(j.Membership == 'Chair')?_c('span',[_vm._v(\" (Chair)\")]):_vm._e(),(j.Membership == 'Co-Chair')?_c('span',[_vm._v(\" (Co-Chair)\")]):_vm._e(),(i < _vm.filterMembers(item, 'H').length-1)?_c('span',[_vm._v(\", \")]):_vm._e()],1)})}},{key:\"item.Report\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.Report !=null)?_c('span',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + item.Report.DocumentId + '.pdf'}},[_vm._v(\"Report\")])]):_vm._e()]}},{key:\"item.Minutes\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.Minutes !=null)?_c('span',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + item.Minutes.DocumentId + '.pdf'}},[_vm._v(\"Minutes\")])]):_vm._e()]}},{key:\"item.CustomDisposition\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.Disposition.SenateAdoptionText != null)?_c('div',[(item.Disposition.SenateAdoptionText.StatusText =='Conference Committee Report adopted')?_c('span',[_vm._v(\"Senate adopted report\")]):_vm._e(),(item.Disposition.SenateAdoptionText.StatusText =='Conference Committee Report adopted, no committee appointed')?_c('span',[_vm._v(\"Senate report adopted - No Committee Appointed\")]):_vm._e(),(item.Disposition.SenateAdoptionText.StatusText =='Conference Committee report not adopted, appoint Conference Committee')?_c('span',[_vm._v(\"Senate report not adopted\")]):_vm._e(),(item.Disposition.SenateAdoptionText.StatusText =='Conference Committee report not adopted, no committee appointed')?_c('span',[_vm._v(\"Senate report not adopted\")]):_vm._e()]):_vm._e(),(item.Disposition.HouseAdoptionText != null)?_c('div',[(item.Disposition.HouseAdoptionText.StatusText =='Conference Committee Report adopted')?_c('span',[_vm._v(\"House adopted report\")]):_vm._e(),(item.Disposition.HouseAdoptionText.StatusText =='Conference Committee Report adopted, no committee appointed')?_c('span',[_vm._v(\"House report adopted - No Committee Appointed\")]):_vm._e(),(item.Disposition.HouseAdoptionText.StatusText =='Conference Committee report not adopted, appoint Conference Committee')?_c('span',[_vm._v(\"House report not adopted\")]):_vm._e(),(item.Disposition.HouseAdoptionText.StatusText =='Conference Committee report not adopted, no committee appointed')?_c('span',[_vm._v(\"House report not adopted\")]):_vm._e()]):_vm._e()]}}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <div>\r\n        <v-card flat>\r\n            <v-card-title v-if=\"Session && Session.YearString\">{{Session.YearString}} Conference Committees</v-card-title>\r\n            <v-card-text>\r\n                <div v-html=\"PageText\"></div>\r\n            </v-card-text>\r\n        </v-card>\r\n        <hr />\r\n        <v-card flat class=\"pa-0\">\r\n            <v-card-text class=\"px-0\">\r\n                <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n            <FilterableDataTable :headers=\"TableHeaders\"\r\n                                 :items=\"AllConferenceCommittees\"\r\n                                 hide-default-footer\r\n                                 group-by=\"BillNumberOnly\"\r\n                                 disable-pagination\r\n                                 disable-sort\r\n                                 :items-per-page=\"5\"\r\n                                 class=\"elevation-1\">\r\n                <template v-slot:group.header=\"{items, isOpen, toggle, group, groupby, remove}\">\r\n                    <td colspan=\"7\" class=\"d-print-table-cell pl-2\">\r\n                        <b><router-link :to=\"'/Session/Bill/' + items[0].Bill.BillId\">{{items[0].Bill.BillType + ' ' + items[0].Bill.BillNumberOnly}}</router-link> - {{items[0].Bill.Title}}</b>\r\n                        <!--<v-icon v-if=\"isOpen\" @click=\"toggle\">{{minus}}</v-icon>\r\n                        <v-icon v-else @click=\"toggle\">{{plus}}</v-icon>-->\r\n                    </td>\r\n                </template>\r\n                <template v-slot:item.MeetingTime=\"{ item }\">\r\n                    {{DatePretty(item.MeetingTime)}}\r\n                </template>\r\n                <template v-slot:item.Senate=\"{ item }\">\r\n                    <div style=\"display:inline\" v-for=\"(j,i) in filterMembers(item, 'S')\">\r\n                        <router-link :to=\"'/Legislators/Profile/' +j.SessionMemberId\">{{j.LastName }}</router-link><span v-if=\"j.Membership == 'Chair'\"> (Chair)</span><span v-if=\"j.Membership == 'Co-Chair'\"> (Co-Chair)</span><span v-if=\"i < (filterMembers(item, 'S').length-1)\">, </span>\r\n                    </div>\r\n                </template>\r\n                <template v-slot:item.House=\"{ item }\">\r\n                    <div style=\"display:inline\" v-for=\"(j,i) in filterMembers(item, 'H')\">\r\n                        <router-link :to=\"'/Legislators/Profile/' +j.SessionMemberId\">{{j.LastName }}</router-link><span v-if=\"j.Membership == 'Chair'\"> (Chair)</span><span v-if=\"j.Membership == 'Co-Chair'\"> (Co-Chair)</span><span v-if=\"i < filterMembers(item, 'H').length-1\">, </span>\r\n                    </div>\r\n                </template>\r\n                <template v-slot:item.Report=\"{ item }\">\r\n                    <span v-if=\"item.Report !=null\">\r\n                        <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + item.Report.DocumentId + '.pdf'\">Report</a>\r\n                    </span>\r\n                </template>\r\n                <template v-slot:item.Minutes=\"{ item }\">\r\n                    <span v-if=\"item.Minutes !=null\">\r\n                        <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + item.Minutes.DocumentId + '.pdf'\">Minutes</a>\r\n                    </span>\r\n                </template>\r\n                <template v-slot:item.CustomDisposition=\"{ item }\">\r\n                    <div v-if=\"item.Disposition.SenateAdoptionText != null\">\r\n                        <span v-if=\"item.Disposition.SenateAdoptionText.StatusText =='Conference Committee Report adopted'\">Senate adopted report</span>\r\n                        <span v-if=\"item.Disposition.SenateAdoptionText.StatusText =='Conference Committee Report adopted, no committee appointed'\">Senate report adopted - No Committee Appointed</span>\r\n                        <span v-if=\"item.Disposition.SenateAdoptionText.StatusText =='Conference Committee report not adopted, appoint Conference Committee'\">Senate report not adopted</span>\r\n                        <span v-if=\"item.Disposition.SenateAdoptionText.StatusText =='Conference Committee report not adopted, no committee appointed'\">Senate report not adopted</span>\r\n                    </div>\r\n                    <div v-if=\"item.Disposition.HouseAdoptionText != null\">\r\n                        <span v-if=\"item.Disposition.HouseAdoptionText.StatusText =='Conference Committee Report adopted'\">House adopted report</span>\r\n                        <span v-if=\"item.Disposition.HouseAdoptionText.StatusText =='Conference Committee Report adopted, no committee appointed'\">House report adopted - No Committee Appointed</span>\r\n                        <span v-if=\"item.Disposition.HouseAdoptionText.StatusText =='Conference Committee report not adopted, appoint Conference Committee'\">House report not adopted</span>\r\n                        <span v-if=\"item.Disposition.HouseAdoptionText.StatusText =='Conference Committee report not adopted, no committee appointed'\">House report not adopted</span>\r\n                    </div>\r\n                </template>\r\n            </FilterableDataTable>\r\n            </v-card-text>\r\n        </v-card>\r\n\r\n    </div>\r\n</template>\r\n<script>\r\n    import moment from 'moment'\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n    import { mdiPlus } from '@mdi/js';\r\n    import { mdiMinus } from '@mdi/js';\r\n\r\n    export default {\r\n        name: 'ConferenceCommittees',\r\n        props: ['SessionId'],\r\n        components: {\r\n            FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                this.loading = true;\r\n\r\n                fetch('/api/ConferenceCommittees/Session/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.ok) {\r\n                        return res.json();\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    response = EncodeDatetimes(response);\r\n\r\n                    response.forEach(x => {\r\n                        x.forEach(y => {\r\n                            if (y.CommitteeMembers) {\r\n                                y.CommitteeMembers.sort((a, b) => {\r\n                                    return (a.LastName.toUpperCase() < b.LastName.toUpperCase() ? -1 : (a.LastName > b.LastName) ? 1 : 0);\r\n                                });\r\n\r\n                                y.CommitteeMembers.sort((a, b) => {\r\n                                    return (a.Membership.toUpperCase() < b.Membership.toUpperCase() ? -1 : (a.Membership > b.Membership) ? 1 : 0);\r\n                                });\r\n                            }\r\n                        });\r\n\r\n                    });\r\n\r\n\r\n                    this.ConferenceCommittees = response;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n                fetch('/api/Sessions/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Session = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            DatePretty(Date) {\r\n                if (Date != undefined) {\r\n                    return moment(Date).format('M/D/YYYY h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            filterMembers: function (item, type) {\r\n                if (item.CommitteeMembers) {\r\n                    return item.CommitteeMembers.filter(x => x.MemberType == type);\r\n                }\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: true,\r\n                Session: {},\r\n                plus: mdiPlus,\r\n                minus: mdiMinus,\r\n                TableHeaders: [\r\n                    { text: 'Date', value: 'MeetingTime', filterable: false, class: 'max-w-25' },\r\n                    { text: 'Room', value: 'Room', filterable: false, class: 'max-w-8' },\r\n                    { text: 'Senate', value: 'Senate', filterable: false, },\r\n                    { text: 'House', value: 'House', filterable: false,  },\r\n                    { text: 'Minutes', value: 'Minutes', filterable: false, class: 'max-w-8' },\r\n                    { text: 'Report', value: 'Report', filterable: false, class: 'max-w-8' },\r\n                    { text: 'Disposition', value: 'CustomDisposition', filterable: false, class: 'max-w-28' },\r\n                ],\r\n                PageText: 'When a bill or resolution has passed its house of origin, it is presented to the other house for its consideration. If the other house should amend the bill or resolution as passed by the house of origin, it is returned to the house of origin for approval of the changes. If the house of origin does not agree to the changes, one house or the other can request that a conference committee be established to work out an agreement. Upon the request of one house, the other house must appoint three members from its body to meet with three members of the requesting house. <br /> <br />For a bill to become law, identical versions of the bill must pass both the Senate and House of Representatives for consideration by the Governor.',\r\n                ConferenceCommittees: [],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            SessionId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            AllConferenceCommittees: function () {\r\n                let ccs = [];\r\n                let now = new Date();\r\n\r\n                now.setHours(now.getHours() - 6);\r\n\r\n                for (let i = 0; i < this.ConferenceCommittees.length; i++) {\r\n                    for (let j = 0; j < this.ConferenceCommittees[i].length; j++) {\r\n                        //if (this.ConferenceCommittees[i][j].MeetingTime > now) {\r\n                        //    cc.push(this.ConferenceCommittees[i][j]);\r\n                        //}\r\n                        let cc = this.ConferenceCommittees[i][j];\r\n                        cc.BillNumber = cc.Bill.BillType + ' ' + cc.Bill.BillNumberOnly + ' ' + cc.Bill.Title;\r\n                        cc.BillNumberOnly = cc.Bill.BillNumberOnly;\r\n\r\n                        ccs.push(cc);\r\n                    }\r\n                }\r\n                return ccs;\r\n            },\r\n            Title: function () {\r\n                let title = 'Conference Committees';\r\n                if (this.Session && this.Session.Year) {\r\n                    title = this.Session.Year + \" Conference Committees\";\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style scoped>\r\n    .max-w-8 {\r\n        max-width: 8ch;\r\n    }\r\n    .max-w-15 {\r\n        max-width: 15ch;\r\n    }\r\n    .max-w-25 {\r\n        max-width: 25ch;\r\n    }\r\n    .max-w-28 {\r\n        max-width: 28ch;\r\n    }\r\n</style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ConferenceCommittees.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ConferenceCommittees.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConferenceCommittees.vue?vue&type=template&id=a3277a30&scoped=true&\"\nimport script from \"./ConferenceCommittees.vue?vue&type=script&lang=js&\"\nexport * from \"./ConferenceCommittees.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ConferenceCommittees.vue?vue&type=style&index=0&id=a3277a30&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"a3277a30\",\n  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 { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VProgressLinear})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" U.S. Congressional Delegation \")]),_c('br'),_c('div',[_c('b',[_vm._v(\"Senate\")])]),_c('div',[_c('div',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":\"https://www.thune.senate.gov/public/index.cfm/contact\"}},[_vm._v(\"Senator John Thune\")])]),_c('div',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":\"https://www.rounds.senate.gov/contact\"}},[_vm._v(\"Senator Mike Rounds\")])])]),_c('br'),_c('div',[_c('b',[_vm._v(\"House\")])]),_c('div',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":\"https://dustyjohnson.house.gov/contact\"}},[_vm._v(\"Representative Dusty Johnson\")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                U.S. Congressional Delegation\r\n            </div>\r\n            <br />\r\n            <div><b>Senate</b></div>\r\n            <div>\r\n                <div>\r\n                    <a rel=\"noopener\" href=\"https://www.thune.senate.gov/public/index.cfm/contact\">Senator John Thune</a>\r\n                </div>\r\n                <div>\r\n                    <a rel=\"noopener\" href=\"https://www.rounds.senate.gov/contact\">Senator Mike Rounds</a>\r\n                </div>\r\n            </div>\r\n            <br />\r\n            <div><b>House</b></div>\r\n            <div>\r\n                <a rel=\"noopener\" href=\"https://dustyjohnson.house.gov/contact\">Representative Dusty Johnson</a>\r\n            </div>\r\n        </v-col>\r\n    </v-row>\r\n\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    export default {\r\n        name: 'Congress',\r\n        components: {\r\n            Sidebar\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n                search: '',\r\n                loading: false,\r\n            }\r\n        },\r\n        mounted: function () {\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'U.S. Congressional Delegation';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Congress.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Congress.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Congress.vue?vue&type=template&id=056e34b9&\"\nimport script from \"./Congress.vue?vue&type=script&lang=js&\"\nexport * from \"./Congress.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\"LEGISLATIVE RESEARCH COUNCIL\")]),_c('div',[_vm._v(\"The South Dakota Legislative Research Council (LRC) was established by action of the 1951 Legislature.\")]),_c('br'),_c('div',[_vm._v(\" By statute, the LRC consists of all members of the Legislature. It is the function of the LRC to consider legislative policies between sessions. The council is directed by a fifteen-member executive board, consisting of eight representatives and seven senators. The executive board employs the Director and the Code Counsel. \")]),_c('br'),_c('div',{staticClass:\"headline\"},[_vm._v(\" Mission \")]),_c('br'),_c('div',[_vm._v(\" The mission of the LRC is to provide to the members of the Legislature legal analysis, fiscal analysis, and advice in addition to research, drafting, and budget services in a professional, confidential, and nonpartisan manner. \")]),_c('br'),_c('div',{staticClass:\"headline\"},[_vm._v(\" Services We Provide to Legislators \")]),_c('br'),_c('div',[_vm._v(\" The staff of the LRC provides the following services to Legislators: bill and amendment drafting; research for the development of legislation; legal and fiscal research and analysis; federal and state case law research; legal and fiscal services for legislative committees; resolution drafting; and requests for attorney general opinions. These services will be provided on request to legislators and as part of legislative meetings including partisan caucuses. \")]),_c('br'),_c('div',[_vm._v(\" The staff of the LRC will not provide the following services: policy advocacy; writing speeches; writing partisan press releases; compiling voting records; providing legal services to constituents or the public; and issuing official legal opinions. \")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\" cols=\"12\">\r\n            <div class=\"headline\">LEGISLATIVE RESEARCH COUNCIL</div>\r\n            <div>The South Dakota Legislative Research Council (LRC) was established by action of the 1951 Legislature.</div>\r\n            <br />\r\n            <div>\r\n                By statute, the LRC consists of all members of the Legislature. It is the function of the LRC to consider legislative policies between sessions. The council is directed by a fifteen-member executive board, consisting of eight representatives and seven senators. The executive board employs the Director and the Code Counsel.\r\n            </div>\r\n            <br />\r\n            <div class=\"headline\">\r\n                Mission\r\n            </div>\r\n            <br />\r\n            <div>\r\n                The mission of the LRC is to provide to the members of the Legislature legal analysis, fiscal analysis, and advice in addition to research, drafting, and budget services in a professional, confidential, and nonpartisan manner.\r\n            </div>\r\n            <br />\r\n            <div class=\"headline\">\r\n                Services We Provide to Legislators\r\n            </div>\r\n            <br />\r\n            <div>\r\n                The staff of the LRC provides the following services to Legislators: bill and amendment drafting; research for the development of legislation; legal and fiscal research and analysis; federal and state case law research; legal and fiscal services for legislative committees; resolution drafting; and requests for attorney general opinions. These services will be provided on request to legislators and as part of legislative meetings including partisan caucuses.\r\n            </div>\r\n            <br />\r\n            <div>\r\n                The staff of the LRC will not provide the following services: policy advocacy; writing speeches; writing partisan press releases; compiling voting records; providing legal services to constituents or the public; and issuing official legal opinions.\r\n            </div>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    export default {\r\n        name: 'Default',\r\n        components: {\r\n            Sidebar\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n                search: '',\r\n                loading: false,\r\n            }\r\n        },\r\n        mounted: function () {\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'About';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Default.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Default.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Default.vue?vue&type=template&id=240acc12&\"\nimport script from \"./Default.vue?vue&type=script&lang=js&\"\nexport * from \"./Default.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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',{staticClass:\"ma-0 pa-0\"},[(_vm.loading)?_c('v-col',{staticClass:\"hidden-md-and-down\",attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[[_c('v-sheet',[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"250\",\"type\":\"list-item-three-line,list-item-three-line\"}})],1)]],2):_vm._e(),(!_vm.HideSideBar && !_vm.loading)?_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.Bill && _vm.Bill.SessionId)?_c('Sidebar',{attrs:{\"SessionId\":_vm.Bill.SessionId}}):_vm._e()],1):_vm._e(),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),(_vm.Bill && _vm.Bill.BillId)?_c('div',{staticClass:\"headline\"},[_c('div',{staticStyle:{\"display\":\"inline\"}},[_vm._v(\" \"+_vm._s(_vm.Bill.BillTypeFull)+\" \"+_vm._s(_vm.Bill.BillNumber)+\" \")]),(!_vm.HideSideBar && _vm.Bill && _vm.Bill.SessionId)?_c('div',{staticStyle:{\"display\":\"inline\",\"float\":\"right\"}},[_c('v-btn',{attrs:{\"to\":'/Session/Bills/' + _vm.Bill.SessionId}},[_vm._v(\"Back to Full List\")])],1):_vm._e()]):_vm._e(),(_vm.error)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-alert',{attrs:{\"type\":\"error\"}},[_vm._v(\" \"+_vm._s(_vm.error)+\" - An error occurred; please try again later. \")])],1)],1):_vm._e(),(!_vm.HideSideBar)?_c('v-row',[(_vm.Bill && _vm.Bill.BillId)?_c('v-col',{staticClass:\"py-2\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-btn',{staticStyle:{\"vertical-align\":\"top\"},attrs:{\"depressed\":\"\",\"x-small\":\"\",\"color\":\"orange\",\"rel\":\"noopener\",\"href\":'/api/Bills/RSS/' + _vm.Bill.BillId}},[_c('span',{staticClass:\"white--text\"},[_vm._v(\"RSS\")]),_c('v-icon',{attrs:{\"color\":\"white\",\"right\":\"\"}},[_vm._v(_vm._s(_vm.rss))])],1),_c('v-btn',{staticStyle:{\"vertical-align\":\"top\"},attrs:{\"depressed\":\"\",\"x-small\":\"\",\"color\":\"#007bff\",\"rel\":\"noopener\",\"href\":'https://www.facebook.com/sharer/sharer.php?u='+_vm.FullRoute}},[_c('v-icon',{attrs:{\"x-small\":\"\",\"color\":\"white\",\"left\":\"\"}},[_vm._v(_vm._s(_vm.facebook))]),_c('span',{staticClass:\"white--text\"},[_vm._v(\"Share\")])],1),_c('v-btn',{staticStyle:{\"vertical-align\":\"top\"},attrs:{\"depressed\":\"\",\"x-small\":\"\",\"color\":\"#1b95e0\",\"rel\":\"noopener\",\"href\":'https://twitter.com/intent/tweet?text=' + _vm.Bill.BillType + ' ' + _vm.Bill.BillNumber + '&tw_p=tweetbutton&url='+ _vm.FullRoute}},[_c('v-icon',{attrs:{\"x-small\":\"\",\"color\":\"white\",\"left\":\"\"}},[_vm._v(_vm._s(_vm.twitter))]),_c('span',{staticClass:\"white--text\"},[_vm._v(\"Tweet\")])],1)],1):_vm._e()],1):_vm._e(),(_vm.Bill && _vm.Bill.BillId)?_c('v-row',[_c('v-col',{staticClass:\"py-2\",attrs:{\"cols\":\"12\",\"sm\":\"2\"}},[_c('b',[_vm._v(\"Title:\")])]),_c('v-col',{staticClass:\"py-2\",attrs:{\"cols\":\"12\",\"sm\":\"10\"}},[_c('div',[_vm._v(_vm._s(_vm.Bill.Title))])])],1):_vm._e(),(_vm.Bill && _vm.Bill.BillId)?_c('v-row',[_c('v-col',{staticClass:\"py-2\",attrs:{\"cols\":\"12\",\"sm\":\"2\"}},[_c('b',[_vm._v(\"Sponsors:\")])]),_c('v-col',{staticClass:\"py-2\",attrs:{\"cols\":\"12\",\"sm\":\"10\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.Bill.BillCommitteeSponsor)}})])],1):_vm._e(),(_vm.Bill && _vm.Bill.BillId)?_c('v-row',[_c('v-col',{staticClass:\"py-2\",attrs:{\"cols\":\"12\",\"sm\":\"2\"}},[_c('b',[_vm._v(\"Subjects:\")])]),_c('v-col',{staticClass:\"py-2\",attrs:{\"cols\":\"12\",\"sm\":\"10\"}},_vm._l((_vm.Bill.Keywords),function(r,i){return (_vm.Bill.Keywords)?_c('div',{staticStyle:{\"display\":\"inline\"}},[_c('router-link',{attrs:{\"to\":'/Session/Subject/' + r.KeywordId}},[_vm._v(_vm._s(r.Keyword))]),(i < (_vm.Bill.Keywords || []).length - 1)?_c('span',[_vm._v(\", \")]):_vm._e()],1):_vm._e()}),0)],1):_vm._e(),(_vm.FiscalNotes && _vm.FiscalNotes != null && _vm.FiscalNotes.length > 0)?_c('v-row',[_c('v-col',{staticClass:\"py-2\",staticStyle:{\"display\":\"inline\"},attrs:{\"cols\":\"12\",\"sm\":\"2\"}},[_c('b',[_vm._v(\"Fiscal Notes:\")])]),_c('v-col',{staticClass:\"py-2\",staticStyle:{\"display\":\"inline\"},attrs:{\"cols\":\"12\",\"sm\":\"10\"}},_vm._l((_vm.FiscalNotes),function(r,i){return _c('div',{staticStyle:{\"display\":\"inline\"}},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + r.DocumentId + '.pdf'}},[_vm._v(_vm._s(r.BillType + ' ' + r.BillNumber + ' ')),(r.SixC)?_c('span',[_vm._v(_vm._s('(Per' + ' ' + 'JR' + ' '+ '6C‑4)'))]):_c('span',[_vm._v(_vm._s('(' +r.Version + ')'))])]),(i<_vm.FiscalNotes.length-1)?_c('span',[_vm._v(\", \")]):_vm._e()])}),0)],1):_vm._e(),(_vm.PrisonJail && _vm.PrisonJail != null && _vm.PrisonJail.length > 0)?_c('v-row',[_c('v-col',{staticClass:\"py-2\",staticStyle:{\"display\":\"inline\"},attrs:{\"cols\":\"12\",\"sm\":\"2\"}},[_c('b',[_vm._v(\"Prison/Jail Population Cost Estimates:\")])]),_c('v-col',{staticClass:\"py-2\",staticStyle:{\"display\":\"inline\"},attrs:{\"cols\":\"12\",\"sm\":\"10\"}},_vm._l((_vm.PrisonJail),function(r,i){return _c('div',{staticStyle:{\"display\":\"inline\"}},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + r.DocumentId + '.pdf'}},[_vm._v(_vm._s(r.BillType + ' ' + r.BillNumber + ' ')),(r.SixC)?_c('span',[_vm._v(_vm._s('(Per' + ' ' + 'JR' + ' '+ '6C‑4)'))]):_c('span',[_vm._v(_vm._s('(' +r.Version + ')'))])]),(i<_vm.PrisonJail.length-1)?_c('span',[_vm._v(\", \")]):_vm._e()])}),0)],1):_vm._e(),(_vm.ConferenceCommittees && _vm.ConferenceCommittees.length > 0)?_c('v-row',[_c('v-col',{staticClass:\"py-2\",attrs:{\"cols\":\"12\",\"sm\":\"5\",\"md\":\"3\",\"lg\":\"2\"}},[_c('b',[_vm._v(\"Conference Committee\"),(_vm.ConferenceCommittees.length > 1)?_c('span',[_vm._v(\"s\")]):_vm._e(),_vm._v(\":\")])]),(_vm.ConferenceCommittees.some(function (x) { return x.Agenda; }))?_c('v-col',{staticClass:\"py-2\",attrs:{\"cols\":\"12\",\"sm\":\"7\",\"md\":\"9\",\"lg\":\"10\"}},_vm._l((_vm.ConferenceCommittees),function(CC){return _c('v-row',{attrs:{\"no-gutters\":\"\"}},[(CC.Agenda)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"12\"}},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + CC.Agenda.DocumentId + '.pdf'}},[_vm._v(_vm._s(CC.Name)+\" \"+_vm._s(_vm._f(\"FormatDatesLongDay\")(CC.MeetingTime))+\" Meeting Notice\")]),(CC.Minutes)?_c('span',[_vm._v(\" - \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + CC.Minutes.DocumentId + '.pdf'}},[_vm._v(\"Minutes\")])]):_vm._e(),(CC.Report)?_c('span',[_vm._v(\" - \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + CC.Report.DocumentId + '.pdf'}},[_vm._v(\"Report\")])]):_vm._e()]):_vm._e()],1)}),1):_vm._e()],1):_vm._e(),(!_vm.loading && !_vm.HideSideBar)?_c('v-row',[(_vm.TrackingLists && _vm.TrackingLists.length > 0 && !_vm.NotLoggedIn)?_c('v-col',{staticClass:\"py-2\",attrs:{\"cols\":\"12\"}},[(_vm.BillAlreadyFollowed)?_c('div',[_vm._v(\" You already follow this bill. \")]):_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-autocomplete',{attrs:{\"items\":_vm.TrackingLists,\"label\":\"Add this bill to my tracking list\",\"item-text\":\"ListName\",\"item-value\":\"BillListId\"},model:{value:(_vm.SelectedList),callback:function ($$v) {_vm.SelectedList=$$v},expression:\"SelectedList\"}})],1),_c('v-btn',{on:{\"click\":function($event){return _vm.AddBillToList()}}},[_vm._v(\"Add\")])],1)],1)]):_vm._e(),(_vm.NotLoggedIn)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Want to add this bill to one of your tracking lists? \"),_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value}},[_vm._v(\"Logon to MyLRC\")])]):_vm._e()],1):_vm._e(),_c('div',[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-text',[_c('FilterableDataTable',{attrs:{\"headers\":_vm.actionHeaders,\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"items\":_vm.ActionLog},scopedSlots:_vm._u([{key:\"item.ActionDate\",fn:function(ref){\nvar item = ref.item;\nreturn [(!item.DocumentId)?_c('span',[_vm._v(_vm._s(_vm.DatePretty(item.ActionDate)))]):(item.JournalPage != null)?_c('span',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf#page=' + (item.JournalPage - item.StartPageNumber),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.DatePretty(item.ActionDate)))])]):_c('span',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf#page=1',\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.DatePretty(item.ActionDate)))])])]}},{key:\"item.StatusText\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.StatusText == null)?_c('span',[_vm._v(_vm._s(item.Description))]):_vm._e(),((item.StatusText =='Do Pass' || item.StatusText =='Tabled' || item.ShowCommitteeName) && item.ActionCommittee)?_c('span',[_c('router-link',{attrs:{\"to\":'/Session/Committee/'+item.ActionCommittee.ActionCommitteeId+'/Detail'}},[_vm._v(\" \"+_vm._s(item.ActionCommittee.FullName)+\" \")])],1):((item.StatusText =='Do Pass' || item.StatusText =='Tabled' || item.ShowCommitteeName) && item.ConferenceCommittee)?_c('span',[_c('router-link',{attrs:{\"to\":'/Session/ConferenceCommittees/'+_vm.Bill.SessionId}},[_vm._v(\" Conference Committee \"+_vm._s(item.ConferenceCommittee.Name)+\" \")])],1):_vm._e(),(item.StatusText == 'Signed by the Governor' || item.StatusText =='Delivered to the Governor')?_c('span',[_vm._v(\" \"+_vm._s(item.StatusText)+\" on \"+_vm._s(_vm._f(\"FormatDatesLongDay\")(item.ActionDate2))+\" \"),(item.JournalPage > 0 && item.ActionCommittee && item.ActionCommittee.Body && item.ActionCommittee.FullBody)?_c('span',[_vm._v(\" \"+_vm._s(item.ActionCommittee.Body)+\".J. \"+_vm._s(item.JournalPage)+\" \")]):_vm._e()]):(item.ShowPassed ==true|| item.ShowFailed ==true)?_c('span',[_vm._v(\" \"+_vm._s(item.StatusText)),(item.AssignedCommittee && item.ShowAssignedCommittee)?_c('span',[_c('router-link',{attrs:{\"to\":'/Session/Committee/'+item.AssignedCommittee.AssignedCommitteeId+'/Detail'}},[_vm._v(\" \"+_vm._s(item.AssignedCommittee.FullName))])],1):_vm._e(),(item.Result == 'P')?_c('span',[_vm._v(\", Passed\")]):(item.Result == 'F')?_c('span',[_vm._v(\", Failed\")]):(item.Result == 'D')?_c('span',[_vm._v(\", Failed for lack of a second\")]):(item.Result == 'W')?_c('span',[_vm._v(\", Withdrawn\")]):_vm._e(),(item.StatusText != 'Certified uncontested, placed on consent' && item.Vote)?_c('span',[_vm._v(\", \")]):_vm._e(),(item.StatusText != 'Certified uncontested, placed on consent' && item.Vote)?_c('router-link',{attrs:{\"to\":'/Session/Vote/' + item.Vote.VoteId}},[_vm._v(\"YEAS \"+_vm._s(item.Vote.Yeas)+\", NAYS \"+_vm._s(item.Vote.Nays)+\".\")]):_vm._e(),( item.JournalPage > 0 && item.ActionCommittee && item.ActionCommittee.FullBody)?_c('span',[_vm._v(\" \"+_vm._s(item.ActionCommittee.Body)+\".J. \"+_vm._s(item.JournalPage)+\" \")]):_vm._e()],1):_c('span',[(item.StatusText == 'Vetoed for Style and Form' || item.StatusText == 'Vetoed by the Governor' || item.StatusText == 'Line Item Veto')?_c('span',[_c('router-link',{attrs:{\"to\":'/Session/BillReports/VetoedByGovernor/' + ((_vm.Bill || {}).SessionId || 44)}},[_vm._v(\" \"+_vm._s(item.StatusText)+\" \")])],1):_c('span',[_vm._v(_vm._s(item.StatusText))]),(item.AssignedCommittee && item.ShowAssignedCommittee)?_c('span',[_c('router-link',{attrs:{\"to\":'/Session/Committee/'+item.AssignedCommittee.AssignedCommitteeId+'/Detail'}},[_vm._v(\" \"+_vm._s(item.AssignedCommittee.FullName))])],1):_vm._e(),(item.JournalPage > 0 && item.ActionCommittee && item.ActionCommittee.FullBody)?_c('span',[_vm._v(\" \"+_vm._s(item.ActionCommittee.Body)+\".J. \"+_vm._s(item.JournalPage)+\" \")]):_vm._e()]),_c('span',[(item.Amendment)?_c('span',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/Amendment/' + item.Amendment.DocumentId + '.pdf'}},[_vm._v(\" Amendment \"+_vm._s(item.Amendment.Filename))])]):_vm._e()])]}},{key:\"item.AudioSegment\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.HasAudio(item))?_c('span',[_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"primary\",\"rel\":\"noopener\",\"href\":_vm.GetAudioUrl(item),\"aria-label\":\"SDPB Audio\"}},[_c('v-icon',[_vm._v(_vm._s(_vm.mdiVolumeHigh))])],1)],1):_c('span',[_c('b',[_vm._v(\"N/A\")])])]}},{key:\"item.Location\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.HasAudio(item))?_c('span',[_vm._v(\" \"+_vm._s(_vm.GetTime(item))+\" \")]):_vm._e()]}}])})],1)],1),_c('br'),(!_vm.HideSideBar)?_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',{staticClass:\"justify-center\"},[_vm._v(\" Bill Text Versions \")]),_c('v-card-text',[_c('v-data-table',{attrs:{\"headers\":_vm.computedversionHeaders,\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"items\":_vm.Versions},scopedSlots:_vm._u([{key:\"item.DocumentDate\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.DocumentDate)?_c('span',[_vm._v(\" \"+_vm._s(_vm.DatePretty(item.DocumentDate))+\" \")]):_c('span',[_vm._v(\" Document Date Missing \")])]}},{key:\"item.HTML\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/'+ _vm.BillId + '/' + item.DocumentId}},[_vm._v(_vm._s(item.BillVersion))])]}},{key:\"item.PDF\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value +'api/Documents/' + item.DocumentId + '.pdf'}},[_vm._v(_vm._s(item.BillVersion))])]}},{key:\"item.MyLRC\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.HasNote(item.DocumentId))?_c('div',[_c('v-btn',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value +'Main/Document/' + item.DocumentId}},[_c('v-icon',[_vm._v(_vm._s(_vm.edit))])],1)],1):_c('div',[_c('v-btn',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value +'Main/Document/' + item.DocumentId}},[_c('v-icon',[_vm._v(_vm._s(_vm.add))])],1)],1)]}}],null,false,3719839680)})],1)],1):_vm._e(),_c('br'),(!_vm.HideSideBar)?_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',{staticClass:\"justify-center\"},[_vm._v(\" Amendments \")]),_c('v-card-text',[_c('v-data-table',{attrs:{\"headers\":_vm.amendmentHeaders,\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"items\":_vm.AmendmentsActive},scopedSlots:_vm._u([{key:\"item.SessionMemberId\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.SessionMemberId)?_c('router-link',{attrs:{\"to\":'/Legislators/Profile/'+ item.SessionMemberId}},[_vm._v(_vm._s(item.LastName))]):_vm._e()]}},{key:\"item.InContext\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{attrs:{\"rel\":\"noopener\",\"target\":\"_blank\",\"href\":_vm.$MyLRCUrl.value +'api/Documents/' + item.DocumentId + '.pdf'}},[_vm._v(_vm._s(item.Filename)+\" \"),_c('sub',[_vm._v(\"(PDF)\")])]),_vm._v(\"  \"),_c('sub',[_c('a',{attrs:{\"rel\":\"noopener\",\"target\":\"_blank\",\"href\":_vm.$MyLRCUrl.value +'api/Documents/' + item.DocumentId + '.html'}},[_vm._v(\"(HTML)\")])])]}},{key:\"item.Instructions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{attrs:{\"rel\":\"noopener\",\"target\":\"_blank\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + item.AmendmentInstructionsDocumentId + '.pdf'}},[_vm._v(_vm._s(item.Filename)),_c('sub',[_vm._v(\"(PDF)\")])]),_vm._v(\"  \"),_c('sub',[_c('a',{attrs:{\"rel\":\"noopener\",\"target\":\"_blank\",\"href\":_vm.$MyLRCUrl.value +'api/Documents/' + item.AmendmentInstructionsDocumentId + '.html'}},[_vm._v(\"(HTML)\")])])]}}],null,false,2064768620)})],1)],1):_vm._e(),(!_vm.HideSideBar)?_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',{staticClass:\"justify-center\"},[_vm._v(\" Previous Amendments \")]),_c('v-card-text',[_c('v-data-table',{attrs:{\"headers\":_vm.amendmentHeaders,\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"items\":_vm.AmendmentsPrevious},scopedSlots:_vm._u([{key:\"item.SessionMemberId\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.SessionMemberId)?_c('router-link',{attrs:{\"to\":'/Legislators/Profile/'+ item.SessionMemberId}},[_vm._v(_vm._s(item.LastName))]):_vm._e()]}},{key:\"item.InContext\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{attrs:{\"rel\":\"noopener\",\"target\":\"_blank\",\"href\":_vm.$MyLRCUrl.value +'api/Documents/' + item.DocumentId + '.pdf'}},[_vm._v(_vm._s(item.Filename)+\" \"),_c('sub',[_vm._v(\"(PDF)\")])]),_vm._v(\"  \"),_c('sub',[_c('a',{attrs:{\"rel\":\"noopener\",\"target\":\"_blank\",\"href\":_vm.$MyLRCUrl.value +'api/Documents/' + item.DocumentId + '.html'}},[_vm._v(\"(HTML)\")])])]}},{key:\"item.Instructions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('a',{attrs:{\"rel\":\"noopener\",\"target\":\"_blank\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + item.AmendmentInstructionsDocumentId + '.pdf'}},[_vm._v(_vm._s(item.Filename)),_c('sub',[_vm._v(\"(PDF)\")])]),_vm._v(\"  \"),_c('sub',[_c('a',{attrs:{\"rel\":\"noopener\",\"target\":\"_blank\",\"href\":_vm.$MyLRCUrl.value +'api/Documents/' + item.AmendmentInstructionsDocumentId + '.html'}},[_vm._v(\"(HTML)\")])])]}}],null,false,2064768620)})],1)],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\" v-if=\"loading\" class=\"hidden-md-and-down\">\r\n            <template>\r\n                <v-sheet>\r\n                    <v-skeleton-loader class=\"mx-auto\"\r\n                                       max-width=\"250\"\r\n                                       type=\"list-item-three-line,list-item-three-line\"></v-skeleton-loader>\r\n                </v-sheet>\r\n            </template>\r\n        </v-col>\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\" v-if=\"!HideSideBar && !loading\">\r\n            <Sidebar v-if=\"Bill && Bill.SessionId\" :SessionId=\"Bill.SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n            <div class=\"headline\" v-if=\"Bill && Bill.BillId\">\r\n                <div style=\"display:inline\">\r\n                    {{Bill.BillTypeFull}} {{Bill.BillNumber}}\r\n                </div>\r\n                <div style=\"display:inline;float:right\" v-if=\"!HideSideBar && Bill && Bill.SessionId\">\r\n                    <v-btn :to=\"'/Session/Bills/' + Bill.SessionId\">Back to Full List</v-btn>\r\n                </div>\r\n            </div>\r\n            <v-row v-if=\"error\">\r\n                <v-col cols=\"12\">\r\n                    <v-alert type=\"error\">\r\n                        {{error}} - An error occurred; please try again later.\r\n                    </v-alert>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row v-if=\"!HideSideBar\">\r\n                <v-col cols=\"12\"\r\n                       sm=\"6\"\r\n                       class=\"py-2\" v-if=\"Bill && Bill.BillId\">\r\n                    <v-btn depressed x-small color=\"orange\" style=\"vertical-align:top;\" rel=\"noopener\" :href=\"'/api/Bills/RSS/' + Bill.BillId\">\r\n                        <span class=\"white--text\">RSS</span><v-icon color=\"white\" right>{{rss}}</v-icon>\r\n                    </v-btn>\r\n                    <v-btn depressed x-small color=\"#007bff\" style=\"vertical-align:top;\" rel=\"noopener\" :href=\"'https://www.facebook.com/sharer/sharer.php?u='+FullRoute\">\r\n                        <v-icon x-small color=\"white\" left>{{facebook}}</v-icon><span class=\"white--text\">Share</span>\r\n                    </v-btn>\r\n                    <v-btn depressed x-small color=\"#1b95e0\" style=\"vertical-align:top;\" rel=\"noopener\" :href=\"'https://twitter.com/intent/tweet?text=' + Bill.BillType + ' ' + Bill.BillNumber + '&tw_p=tweetbutton&url='+ FullRoute\">\r\n                        <v-icon x-small color=\"white\" left>{{twitter}}</v-icon><span class=\"white--text\">Tweet</span>\r\n                    </v-btn>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row v-if=\"Bill && Bill.BillId\">\r\n                <v-col cols=\"12\"\r\n                       sm=\"2\"\r\n                       class=\"py-2\">\r\n                    <b>Title:</b>\r\n                </v-col>\r\n                <v-col cols=\"12\"\r\n                       sm=\"10\"\r\n                       class=\"py-2\">\r\n                    <div>{{Bill.Title}}</div>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row v-if=\"Bill && Bill.BillId\">\r\n                <v-col cols=\"12\"\r\n                       sm=\"2\"\r\n                       class=\"py-2\">\r\n                    <b>Sponsors:</b>\r\n                </v-col>\r\n                <v-col cols=\"12\"\r\n                       sm=\"10\"\r\n                       class=\"py-2\">\r\n                    <div v-html=\"Bill.BillCommitteeSponsor\"></div>\r\n\r\n                </v-col>\r\n            </v-row>\r\n            <v-row v-if=\"Bill && Bill.BillId\">\r\n                <v-col cols=\"12\"\r\n                       sm=\"2\"\r\n                       class=\"py-2\">\r\n                    <b>Subjects:</b>\r\n                </v-col>\r\n                <v-col cols=\"12\"\r\n                       sm=\"10\"\r\n                       class=\"py-2\">\r\n                    <div v-if=\"Bill.Keywords\" v-for=\"(r,i) in Bill.Keywords\" style=\"display:inline\"><router-link :to=\"'/Session/Subject/' + r.KeywordId\">{{r.Keyword}}</router-link><span v-if=\"i < (Bill.Keywords || []).length - 1\">, </span></div>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row v-if=\"FiscalNotes && FiscalNotes != null && FiscalNotes.length > 0\">\r\n                <v-col cols=\"12\"\r\n                       sm=\"2\"\r\n                       class=\"py-2\"\r\n                       style=\"display:inline\">\r\n                    <b>Fiscal Notes:</b>\r\n                </v-col>\r\n                <v-col cols=\"12\"\r\n                       style=\"display:inline\"\r\n                       sm=\"10\"\r\n                       class=\"py-2\">\r\n                    <div v-for=\"(r,i) in FiscalNotes\" style=\"display:inline\"><a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + r.DocumentId + '.pdf'\">{{r.BillType + '&nbsp;' + r.BillNumber + '&nbsp;'}}<span v-if=\"r.SixC\">{{'(Per' + '&nbsp;' + 'JR' + '&nbsp;'+ '6C‑4)'}}</span><span v-else>{{'(' +r.Version + ')'}}</span></a><span v-if=\"i<FiscalNotes.length-1\">, </span></div>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row v-if=\"PrisonJail && PrisonJail != null && PrisonJail.length > 0\">\r\n                <v-col cols=\"12\"\r\n                       sm=\"2\"\r\n                       class=\"py-2\"\r\n                       style=\"display:inline\">\r\n                    <b>Prison/Jail Population Cost Estimates:</b>\r\n                </v-col>\r\n                <v-col cols=\"12\"\r\n                       style=\"display:inline\"\r\n                       sm=\"10\"\r\n                       class=\"py-2\">\r\n                    <div v-for=\"(r,i) in PrisonJail\" style=\"display:inline\"><a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + r.DocumentId + '.pdf'\">{{r.BillType + '&nbsp;' + r.BillNumber + '&nbsp;'}}<span v-if=\"r.SixC\">{{'(Per' + '&nbsp;' + 'JR' + '&nbsp;'+ '6C‑4)'}}</span><span v-else>{{'(' +r.Version + ')'}}</span></a><span v-if=\"i<PrisonJail.length-1\">, </span></div>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row v-if=\"ConferenceCommittees && ConferenceCommittees.length > 0\">\r\n                <v-col cols=\"12\"\r\n                       sm=\"5\"\r\n                       md=\"3\"\r\n                       lg=\"2\"\r\n                       class=\"py-2\">\r\n                    <b>Conference&nbsp;Committee<span v-if=\"ConferenceCommittees.length > 1\">s</span>:</b>\r\n                </v-col>\r\n                <v-col cols=\"12\"\r\n                       sm=\"7\"\r\n                       md=\"9\"\r\n                       lg=\"10\"\r\n                       class=\"py-2\" v-if=\"ConferenceCommittees.some(x => x.Agenda)\">\r\n                    <v-row v-for=\"CC in ConferenceCommittees\" no-gutters>\r\n                        <v-col cols=\"12\" sm=\"12\" md=\"12\" v-if=\"CC.Agenda\">\r\n                            <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + CC.Agenda.DocumentId + '.pdf'\">{{CC.Name}} {{CC.MeetingTime | FormatDatesLongDay}} Meeting Notice</a>\r\n                            <span v-if=\"CC.Minutes\">\r\n                                - <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + CC.Minutes.DocumentId + '.pdf'\">Minutes</a>\r\n                            </span>\r\n                            <span v-if=\"CC.Report\">\r\n                                - <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + CC.Report.DocumentId + '.pdf'\">Report</a>\r\n                            </span>\r\n                        </v-col>\r\n                        <!--<v-col cols=\"12\" sm=\"4\" md=\"2\" v-if=\"CC.Disposition && CC.Disposition.SenateAdoptionText\">\r\n                            Senate: {{CC.Disposition.SenateAdoptionText}}\r\n                        </v-col>\r\n                        <v-col cols=\"12\" sm=\"4\" md=\"2\" v-if=\"CC.Disposition && CC.Disposition.HouseAdoptionText\">\r\n                            House: {{CC.Disposition.HouseAdoptionText}}\r\n                        </v-col>-->\r\n                    </v-row>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row v-if=\"!loading && !HideSideBar\">\r\n                <v-col cols=\"12\" v-if=\"TrackingLists && TrackingLists.length > 0 && !NotLoggedIn\" class=\"py-2\">\r\n                    <div v-if=\"BillAlreadyFollowed\">\r\n                        You already follow this bill.\r\n                    </div>\r\n                    <div v-else>\r\n                        <v-row>\r\n                            <v-col cols=\"12\" md=\"4\">\r\n                                <v-autocomplete :items=\"TrackingLists\"\r\n                                                v-model=\"SelectedList\"\r\n                                                label=\"Add this bill to my tracking list\"\r\n                                                item-text=\"ListName\"\r\n                                                item-value=\"BillListId\"></v-autocomplete>\r\n                            </v-col>\r\n                            <v-btn @click=\"AddBillToList()\">Add</v-btn>\r\n                        </v-row>\r\n                    </div>\r\n                </v-col>\r\n                <v-col cols=\"12\" v-if=\"NotLoggedIn\">\r\n                    Want to add this bill to one of your tracking lists? <a rel=\"noopener\" :href=\"$MyLRCUrl.value\">Logon to MyLRC</a>\r\n                </v-col>\r\n            </v-row>\r\n            <div>\r\n                <v-card flat>\r\n                    <v-card-text>\r\n                        <FilterableDataTable :headers=\"actionHeaders\"\r\n                                             hide-default-footer\r\n                                             disable-pagination\r\n                                             :items=\"ActionLog\">\r\n                            <template v-slot:item.ActionDate=\"{ item }\">\r\n                                <span v-if=\"!item.DocumentId\">{{DatePretty(item.ActionDate)}}</span>\r\n                                <span v-else-if=\"item.JournalPage != null\"><a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf#page=' + (item.JournalPage - item.StartPageNumber)\" target=\"_blank\">{{DatePretty(item.ActionDate)}}</a></span>\r\n                                <span v-else><a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf#page=1'\" target=\"_blank\">{{DatePretty(item.ActionDate)}}</a></span>\r\n                            </template>\r\n                            <template v-slot:item.StatusText=\"{ item }\">\r\n                                <span v-if=\"item.StatusText == null\">{{item.Description}}</span>\r\n                                <span v-if=\"(item.StatusText =='Do Pass' || item.StatusText =='Tabled' || item.ShowCommitteeName) && item.ActionCommittee\">\r\n                                    <router-link :to=\"'/Session/Committee/'+item.ActionCommittee.ActionCommitteeId+'/Detail'\">\r\n                                        {{item.ActionCommittee.FullName}}\r\n                                    </router-link>\r\n                                </span>\r\n                                <span v-else-if=\"(item.StatusText =='Do Pass' || item.StatusText =='Tabled' || item.ShowCommitteeName) && item.ConferenceCommittee\">\r\n                                    <router-link :to=\"'/Session/ConferenceCommittees/'+Bill.SessionId\">\r\n                                        Conference Committee {{item.ConferenceCommittee.Name}}\r\n                                    </router-link>\r\n                                </span>\r\n                                <span v-if=\"item.StatusText == 'Signed by the Governor' || item.StatusText =='Delivered to the Governor'\">\r\n                                    {{item.StatusText}} on {{item.ActionDate2 | FormatDatesLongDay}}\r\n                                    <span v-if=\"item.JournalPage > 0 && item.ActionCommittee && item.ActionCommittee.Body && item.ActionCommittee.FullBody\">\r\n                                        {{item.ActionCommittee.Body }}.J. {{item.JournalPage}}\r\n                                    </span>\r\n                                </span>\r\n                                <span v-else-if=\"item.ShowPassed ==true|| item.ShowFailed ==true\">\r\n                                    {{item.StatusText}}<span v-if=\"item.AssignedCommittee && item.ShowAssignedCommittee\"><router-link :to=\"'/Session/Committee/'+item.AssignedCommittee.AssignedCommitteeId+'/Detail'\"> {{item.AssignedCommittee.FullName}}</router-link></span><span v-if=\"item.Result == 'P'\">, Passed</span><span v-else-if=\"item.Result == 'F'\">, Failed</span><span v-else-if=\"item.Result == 'D'\">, Failed for lack of a second</span><span v-else-if=\"item.Result == 'W'\">, Withdrawn</span><span v-if=\"item.StatusText != 'Certified uncontested, placed on consent' && item.Vote\">, </span>\r\n                                    <router-link :to=\"'/Session/Vote/' + item.Vote.VoteId\" v-if=\"item.StatusText != 'Certified uncontested, placed on consent' && item.Vote\">YEAS&nbsp;{{item.Vote.Yeas}}, NAYS&nbsp;{{item.Vote.Nays}}.</router-link>\r\n                                    <span v-if=\" item.JournalPage > 0 && item.ActionCommittee && item.ActionCommittee.FullBody\">\r\n                                        {{item.ActionCommittee.Body }}.J. {{item.JournalPage}}\r\n                                    </span>\r\n                                </span>\r\n                                <span v-else>\r\n                                    <span v-if=\"item.StatusText == 'Vetoed for Style and Form' || item.StatusText == 'Vetoed by the Governor' || item.StatusText == 'Line Item Veto'\">\r\n                                        <router-link :to=\"'/Session/BillReports/VetoedByGovernor/' + ((Bill || {}).SessionId || 44)\">\r\n                                            {{item.StatusText}}\r\n                                        </router-link>\r\n                                    </span>\r\n                                    <span v-else>{{item.StatusText}}</span>\r\n                                    <span v-if=\"item.AssignedCommittee && item.ShowAssignedCommittee\">\r\n                                        <router-link :to=\"'/Session/Committee/'+item.AssignedCommittee.AssignedCommitteeId+'/Detail'\"> {{item.AssignedCommittee.FullName}}</router-link>\r\n                                    </span>\r\n                                    <span v-if=\"item.JournalPage > 0 && item.ActionCommittee && item.ActionCommittee.FullBody\">\r\n                                        {{item.ActionCommittee.Body }}.J. {{item.JournalPage}}\r\n                                    </span>\r\n                                </span>\r\n                                <span>\r\n                                    <span v-if=\"item.Amendment\">\r\n                                        <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/Amendment/' + item.Amendment.DocumentId + '.pdf'\"> Amendment {{item.Amendment.Filename}}</a>\r\n                                    </span>\r\n                                </span>\r\n                            </template>\r\n                            <template v-slot:item.AudioSegment=\"{ item }\">\r\n                                <span v-if=\"HasAudio(item)\">\r\n                                    <v-btn icon color=\"primary\" rel=\"noopener\" :href=\"GetAudioUrl(item)\" aria-label=\"SDPB Audio\">\r\n                                        <v-icon>{{mdiVolumeHigh}}</v-icon>\r\n                                    </v-btn>\r\n                                </span>\r\n                                <span v-else><b>N/A</b></span>\r\n                            </template>\r\n                            <template v-slot:item.Location=\"{ item }\">\r\n                                <span v-if=\"HasAudio(item)\">\r\n                                    {{GetTime(item)}}\r\n                                </span>\r\n                            </template>\r\n                        </FilterableDataTable>\r\n                    </v-card-text>\r\n                </v-card>\r\n                <br />\r\n                <v-card flat v-if=\"!HideSideBar\">\r\n                    <v-card-title class=\"justify-center\">\r\n                        Bill Text Versions\r\n                    </v-card-title>\r\n                    <v-card-text>\r\n                        <v-data-table :headers=\"computedversionHeaders\"\r\n                                      hide-default-footer\r\n                                      disable-pagination\r\n                                      :items=\"Versions\">\r\n                            <template v-slot:item.DocumentDate=\"{ item }\">\r\n                                <span v-if=\"item.DocumentDate\">\r\n                                    {{DatePretty(item.DocumentDate)}}\r\n                                </span>\r\n                                <span v-else>\r\n                                    Document Date Missing\r\n                                </span>\r\n                            </template>\r\n                            <template v-slot:item.HTML=\"{ item }\">\r\n                                <router-link :to=\"'/Session/Bill/'+ BillId + '/' + item.DocumentId\">{{item.BillVersion}}</router-link>\r\n                            </template>\r\n                            <template v-slot:item.PDF=\"{ item }\">\r\n                                <a rel=\"noopener\" :href=\"$MyLRCUrl.value +'api/Documents/' + item.DocumentId + '.pdf'\">{{item.BillVersion}}</a>\r\n                            </template>\r\n                            <template v-slot:item.MyLRC=\"{ item }\">\r\n                                <div v-if=\"HasNote(item.DocumentId)\">\r\n                                    <v-btn rel=\"noopener\" :href=\"$MyLRCUrl.value +'Main/Document/' + item.DocumentId\">\r\n                                        <v-icon>{{edit}}</v-icon>\r\n                                    </v-btn>\r\n                                </div>\r\n                                <div v-else>\r\n                                    <v-btn rel=\"noopener\" :href=\"$MyLRCUrl.value +'Main/Document/' + item.DocumentId\">\r\n                                        <v-icon>{{add}}</v-icon>\r\n                                    </v-btn>\r\n                                </div>\r\n                            </template>\r\n                        </v-data-table>\r\n                    </v-card-text>\r\n                </v-card>\r\n                <br />\r\n                <v-card flat v-if=\"!HideSideBar\">\r\n                    <v-card-title class=\"justify-center\">\r\n                        Amendments\r\n                    </v-card-title>\r\n                    <v-card-text>\r\n                        <v-data-table :headers=\"amendmentHeaders\"\r\n                                      hide-default-footer\r\n                                      disable-pagination\r\n                                      :items=\"AmendmentsActive\">\r\n                            <template v-slot:item.SessionMemberId=\"{ item }\">\r\n                                <router-link v-if=\"item.SessionMemberId\" :to=\"'/Legislators/Profile/'+ item.SessionMemberId\">{{item.LastName}}</router-link>\r\n                            </template>\r\n                            <template v-slot:item.InContext=\"{ item }\">\r\n                                <a rel=\"noopener\" target=\"_blank\" :href=\"$MyLRCUrl.value +'api/Documents/' + item.DocumentId + '.pdf'\">{{item.Filename}} <sub>(PDF)</sub></a>&nbsp;\r\n                                <sub><a rel=\"noopener\" target=\"_blank\" :href=\"$MyLRCUrl.value +'api/Documents/' + item.DocumentId + '.html'\">(HTML)</a></sub>\r\n                            </template>\r\n                            <template v-slot:item.Instructions=\"{ item }\">\r\n                                <a rel=\"noopener\" target=\"_blank\" :href=\"$MyLRCUrl.value + 'api/Documents/' + item.AmendmentInstructionsDocumentId + '.pdf'\">{{item.Filename}}<sub>(PDF)</sub></a>&nbsp;\r\n                                <sub><a rel=\"noopener\" target=\"_blank\" :href=\"$MyLRCUrl.value +'api/Documents/' + item.AmendmentInstructionsDocumentId + '.html'\">(HTML)</a></sub>\r\n                            </template>\r\n                        </v-data-table>\r\n                    </v-card-text>\r\n                </v-card>\r\n                <v-card flat v-if=\"!HideSideBar\">\r\n                    <v-card-title class=\"justify-center\">\r\n                        Previous Amendments\r\n                    </v-card-title>\r\n                    <v-card-text>\r\n                        <v-data-table :headers=\"amendmentHeaders\"\r\n                                      hide-default-footer\r\n                                      disable-pagination\r\n                                      :items=\"AmendmentsPrevious\">\r\n                            <template v-slot:item.SessionMemberId=\"{ item }\">\r\n                                <router-link v-if=\"item.SessionMemberId\" :to=\"'/Legislators/Profile/'+ item.SessionMemberId\">{{item.LastName}}</router-link>\r\n                            </template>\r\n                            <template v-slot:item.InContext=\"{ item }\">\r\n                                <a rel=\"noopener\" target=\"_blank\" :href=\"$MyLRCUrl.value +'api/Documents/' + item.DocumentId + '.pdf'\">{{item.Filename}} <sub>(PDF)</sub></a>&nbsp;\r\n                                <sub><a rel=\"noopener\" target=\"_blank\" :href=\"$MyLRCUrl.value +'api/Documents/' + item.DocumentId + '.html'\">(HTML)</a></sub>\r\n                            </template>\r\n                            <template v-slot:item.Instructions=\"{ item }\">\r\n                                <a rel=\"noopener\" target=\"_blank\" :href=\"$MyLRCUrl.value + 'api/Documents/' + item.AmendmentInstructionsDocumentId + '.pdf'\">{{item.Filename}}<sub>(PDF)</sub></a>&nbsp;\r\n                                <sub><a rel=\"noopener\" target=\"_blank\" :href=\"$MyLRCUrl.value +'api/Documents/' + item.AmendmentInstructionsDocumentId + '.html'\">(HTML)</a></sub>\r\n                            </template>\r\n                        </v-data-table>\r\n                    </v-card-text>\r\n                </v-card>\r\n            </div>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    import moment from 'moment';\r\n    import { mdiRss } from '@mdi/js';\r\n    import { mdiFacebook } from '@mdi/js';\r\n    import { mdiTwitter } from '@mdi/js';\r\n    import { mdiPlus } from '@mdi/js';\r\n    import { mdiPencil, mdiVolumeHigh } from '@mdi/js';\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Bill',\r\n        props: ['BillId', 'HideSideBar'],\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n                this.error = null;\r\n\r\n                fetch('/api/Bills/' + this.BillId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else if (res.status === 404)\r\n                        {\r\n                            if (this.Session && this.Session.SessionId)\r\n                            {\r\n                                this.$router.push('/Session/Bills/' + this.Session.SessionId);\r\n                            }\r\n                            else if (this.$Session && this.$Session.SessionId)\r\n                            {\r\n                                this.$router.push('/Session/Bills/' + this.$Session.SessionId);\r\n                            }\r\n                            else\r\n                            {\r\n                                this.error = res.status;\r\n                            }\r\n                        }\r\n                        else\r\n                        {\r\n                            this.error = res.status;\r\n                        }\r\n\r\n                        return Promise.reject(\"error\");\r\n                    })\r\n                    .then(r =>\r\n                    {\r\n                        this.Bill = EncodeDatetimes(r);\r\n                    })\r\n                    .then(_ =>\r\n                    {\r\n                        return fetch('/api/Sessions/' + this.Bill.SessionId,\r\n                            {\r\n                                method: \"GET\",\r\n                                credentials: \"include\",\r\n                                headers: { \"Content-Type\": \"application/json\" },\r\n                            });\r\n                    })\r\n                    .then(r =>\r\n                    {\r\n                        if (r.ok)\r\n                            return r.json();\r\n                        else\r\n                            return Promise.reject(r.status);\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.Session = EncodeDatetimes(response);\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n\r\n                    })\r\n                    .finally(_ =>\r\n                    {\r\n                        this.loading = false;\r\n                    });\r\n\r\n                fetch('/api/Bills/ActionLog/' + this.BillId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            return res.text().then(r => Promise.reject(r));\r\n                    })\r\n                    .then(r => this.ActionLog = EncodeDate(r));\r\n\r\n                fetch('/api/Bills/Versions/' + this.BillId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            return res.text().then(r => Promise.reject(r));\r\n                    })\r\n                    .then(x =>\r\n                    {\r\n                        this.Versions = EncodeDate(x);\r\n\r\n                        if (this.LoggedIn)\r\n                            this.LoadMylrc();\r\n                        else\r\n                            this.NotLoggedIn = true;\r\n                    });\r\n\r\n                fetch('/api/Bills/Amendments/' + this.BillId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json().then(x => { this.Amendments = EncodeDate(x); });\r\n                        else\r\n                            this.Amendments = [];\r\n                    });\r\n\r\n                fetch('/api/Bills/FiscalNotes/' + this.BillId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json().then(x => { this.FiscalNotes = EncodeDate(x); });\r\n                        else\r\n                            this.FiscalNotes = [];\r\n                    });\r\n\r\n                fetch('/api/Bills/PrisonJail/' + this.BillId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" }\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json().then(x => { this.PrisonJail = EncodeDate(x); });\r\n                        else\r\n                            this.PrisonJail = [];\r\n                    });\r\n\r\n                fetch('/api/ConferenceCommittees/Bill/' + this.BillId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" }\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json().then(x => { this.ConferenceCommittees = EncodeDate(x); });\r\n                        else\r\n                            this.ConferenceCommittees = [];\r\n                    });\r\n\r\n\r\n                fetch('/api/Bills/Audio/' + this.BillId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    }).then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json().then(r => this.Audio = EncodeDate(r));\r\n                        else\r\n                            this.Audio = [];\r\n                    });\r\n            },\r\n            LoadMylrc()\r\n            {\r\n                fetch('/api/MyLRC/BillLists/' + this.Bill.SessionId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        this.loading = false;\r\n                        if (res.ok)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else if (res.status === 403)\r\n                        {\r\n                            this.NotLoggedIn = true;\r\n                            return null;\r\n                        }\r\n                        else\r\n                        {\r\n                            return null;\r\n                        }\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        if (response != null)\r\n                        {\r\n                            this.TrackingLists = EncodeDatetimes(response);\r\n                        }\r\n                        this.TrackingLists.forEach(x =>\r\n                        {\r\n                            if (x.ListBills && x.ListBills.filter(y => y.BillId == this.Bill.BillId).length > 0)\r\n                            {\r\n                                this.BillAlreadyFollowed = true;\r\n                            }\r\n                        });\r\n\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                    });\r\n\r\n                var query = '';\r\n                this.Notes = [];\r\n\r\n                if (this.Versions && this.Versions.length > 0)\r\n                {\r\n                    this.Versions.forEach(x =>\r\n                    {\r\n                        query += '&DocumentIds=' + x.DocumentId;\r\n                    });\r\n\r\n                    query = query.substring(1, query.length);\r\n\r\n                    fetch('/api/MyLRC/Notes?' + query,\r\n                        {\r\n                            method: \"GET\",\r\n                            credentials: \"include\",\r\n                            headers: {\r\n                                \"Content-Type\": \"application/json\"\r\n                            },\r\n                        })\r\n                        .then(res =>\r\n                        {\r\n                            this.loading = false;\r\n\r\n                            if (res.ok)\r\n                                return res.json();\r\n                            else\r\n                                return null;\r\n                        })\r\n                        .then(response =>\r\n                        {\r\n                            if (response != null)\r\n                            {\r\n                                this.Notes = EncodeDatetimes(response);\r\n                            }\r\n\r\n                        })\r\n                        .catch(error =>\r\n                        {\r\n                        });\r\n                }\r\n            },\r\n            IsFuture(Date)\r\n            {\r\n                if (Date != undefined)\r\n                    return moment(Date).isAfter();\r\n                else\r\n                    return null;\r\n            },\r\n            DatePretty(Date)\r\n            {\r\n                if (Date != undefined)\r\n                    return moment(Date).format('MM/DD/YYYY');\r\n                else\r\n                    return null;\r\n            },\r\n            DateMonthPretty(Date)\r\n            {\r\n                if (Date != undefined)\r\n                    return moment(Date).format('MMMM DD, YYYY');\r\n                else\r\n                    return null;\r\n            },\r\n            AddBillToList()\r\n            {\r\n                fetch('/api/MyLRC/BillLists/' + this.SelectedList + \"?BillId=\" + this.Bill.BillId,\r\n                    {\r\n                        method: \"POST\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return this.LoadMylrc();\r\n                        else\r\n                            return null;\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                    });\r\n            },\r\n            HasNote(docid)\r\n            {\r\n                if (this.Notes.some(x => x.DocumentId == docid))\r\n                {\r\n                    return true;\r\n                } else\r\n                {\r\n                    return false;\r\n                }\r\n            },\r\n            GetAudio(item)\r\n            {\r\n                if (this.Audio)\r\n                {\r\n                    return this.Audio.find(x => moment(x.MeetingDate).format('MMMM DD, YYYY') == moment(item.ActionDate).format('MMMM DD, YYYY') &&\r\n                        x.SessionCommitteeId == (item.ActionCommittee || {}).ActionCommitteeId);\r\n                }\r\n\r\n                return null;\r\n            },\r\n            HasAudio(item)\r\n            {\r\n                if (this.GetAudio(item))\r\n                    return true;\r\n\r\n                return false;\r\n            },\r\n            GetAudioUrl(item)\r\n            {\r\n                let a = this.GetAudio(item);\r\n\r\n                if (a)\r\n                    return a.FullUrl;\r\n\r\n                return null;\r\n            },\r\n            GetTime(item)\r\n            {\r\n                let a = this.GetAudio(item);\r\n\r\n                if (a)\r\n                {\r\n                    let time = a.StartTime;\r\n\r\n                    if (time && time == '00:00:00.0')\r\n                        return null;\r\n\r\n                    return time;\r\n                }\r\n\r\n                return null;\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                loading: false,\r\n                error: null,\r\n                rss: mdiRss,\r\n                mdiVolumeHigh,\r\n                facebook: mdiFacebook,\r\n                twitter: mdiTwitter,\r\n                add: mdiPlus,\r\n                edit: mdiPencil,\r\n                BillAlreadyFollowed: false,\r\n                NotLoggedIn: true,\r\n                SelectedList: null,\r\n                FullRoute: encodeURIComponent(window.location.href),\r\n                Notes: [],\r\n                TrackingLists: [\r\n                    {\r\n                        BillListId: null,\r\n                        ListName: null,\r\n                        SessionId: null,\r\n                        ListBills: [\r\n                            {\r\n                                BillId: null,\r\n                            }\r\n                        ]\r\n                    }\r\n                ],\r\n                ActionLog: [],\r\n                Versions: [],\r\n                Amendments: [],\r\n                ConferenceCommittees: [],\r\n                FiscalNotes: [],\r\n                PrisonJail: [],\r\n                Audio: [],\r\n                Bill: {\r\n                },\r\n                Session: {},\r\n                versionHeaders: [\r\n                    { text: 'Date', value: 'DocumentDate' },\r\n                    { text: 'HTML Format', value: 'HTML', },\r\n                    { text: 'PDF Format', value: 'PDF', },\r\n                    { text: 'Notes', value: 'MyLRC', }\r\n                ],\r\n                amendmentHeaders: [\r\n                    { text: 'Requested By', value: 'SessionMemberId', width: '30ch' },\r\n                    { text: 'Status', value: 'Result', width: '25ch' },\r\n                    { text: 'In Context', value: 'InContext', width: '30ch' },\r\n                    { text: 'Instructions', value: 'Instructions', width: '30ch' },\r\n                    { text: 'Version of Bill', value: 'BillVersion', width: '*' },\r\n                ],\r\n                actionHeaders: [\r\n                    { text: 'Date', value: 'ActionDate', filterable: false, width: '15ch', sortable: false },\r\n                    { text: 'Action', value: 'StatusText', filterable: false, width: '*', sortable: false },\r\n                    { text: 'Audio', value: 'AudioSegment', filterable: false, width: '20ch', align: 'center', sortable: false },\r\n                    { text: 'Location', value: 'Location', filterable: false, width: '20ch', sortable: false },\r\n                ],\r\n            };\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            BillId: function ()\r\n            {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            AmendmentsActive()\r\n            {\r\n                return this.Amendments.filter(x => x.Active === true);\r\n            },\r\n            AmendmentsPrevious()\r\n            {\r\n                return this.Amendments.filter(x => x.Active === false);\r\n            },\r\n            Representatives: function ()\r\n            {\r\n                if (this.Bill && this.Bill.BillSponsor != undefined)\r\n                {\r\n                    return this.Bill.BillSponsor.filter(x => x.MemberType == 'H');\r\n                } else\r\n                {\r\n                    return [];\r\n                }\r\n            },\r\n            Senators: function ()\r\n            {\r\n                if (this.Bill && this.Bill.BillSponsor != undefined)\r\n                {\r\n                    return this.Bill.BillSponsor.filter(x => x.MemberType == 'S');\r\n                } else\r\n                {\r\n                    return [];\r\n                }\r\n            },\r\n            LoggedIn: function ()\r\n            {\r\n                return this.$LoggedIn;\r\n            },\r\n            computedversionHeaders: function ()\r\n            {\r\n                if (this.NotLoggedIn)\r\n                {\r\n                    return this.versionHeaders.filter(x => x.value != 'MyLRC');\r\n                } else\r\n                {\r\n                    return this.versionHeaders;\r\n                }\r\n            },\r\n            Title: function ()\r\n            {\r\n                let title = 'Loading Bill...';\r\n                if (this.Session && this.Session.Year && this.Bill && this.Bill.BillTypeFull && this.Bill.BillNumber)\r\n                {\r\n                    title = this.Session.Year + \" \" + this.Bill.BillTypeFull + \" \" + this.Bill.BillNumber;\r\n                }\r\n                else if (this.Bill && this.Bill.BillTypeFull && this.Bill.BillNumber)\r\n                {\r\n                    title = this.Bill.BillTypeFull + \" \" + this.Bill.BillNumber;\r\n                }\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                if (this.Bill && this.Bill.Title)\r\n                {\r\n                    return this.Bill.Title;\r\n                }\r\n                return this.Title;\r\n            },\r\n            BillType: function ()\r\n            {\r\n                if (this.Bill && this.Bill.BillTypeFull)\r\n                {\r\n                    return this.Bill.BillTypeFull;\r\n                }\r\n                return 'Bill';\r\n            },\r\n            datePublished: function ()\r\n            {\r\n                if (this.Versions && this.Versions.length > 0)\r\n                {\r\n                    return moment(this.Versions[0].DocumentDate).format();\r\n                }\r\n                else if (this.ActionLog && this.ActionLog.length > 0)\r\n                {\r\n                    return moment(this.ActionLog[0].ActionDate).format();\r\n                }\r\n                return null;\r\n            },\r\n            dateModified: function ()\r\n            {\r\n                if (this.Versions && this.Versions.length > 0)\r\n                {\r\n                    return moment(this.Versions[this.Versions.length - 1].DocumentDate).format();\r\n                }\r\n                else if (this.ActionLog && this.ActionLog.length > 0)\r\n                {\r\n                    return moment(this.ActionLog[this.ActionLog.length - 1].ActionDate).format();\r\n                }\r\n                return null;\r\n            },\r\n\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                script: [\r\n                    {\r\n                        type: 'application/ld+json',\r\n                        json: {\r\n                            '@context': 'http://schema.org',\r\n                            '@type': 'Legislation',\r\n                            \"@id\": window.location.href,\r\n                            'name': this.Title,\r\n                            'description': this.Description,\r\n                            'legislationType': this.BillType,\r\n                            'inLanguage': 'English',\r\n                            'datePublished': this.datePublished,\r\n                            'dateModified': this.dateModified,\r\n                        }\r\n                    }],\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] },\r\n                    { vmid: 'alternate', rel: 'alternate', type: 'application/rss+xml', href: window.location.origin + '/api/Bills/RSS/' + this.BillId }\r\n                ]\r\n            };\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Bill.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Bill.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Bill.vue?vue&type=template&id=63f30d0b&\"\nimport script from \"./Bill.vue?vue&type=script&lang=js&\"\nexport * from \"./Bill.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\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 { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\ninstallComponents(component, {VAlert,VAutocomplete,VBtn,VCard,VCardText,VCardTitle,VCol,VDataTable,VIcon,VProgressLinear,VRow,VSheet,VSkeletonLoader})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('div',{staticClass:\"headline\"},[_vm._v(\" Statistical Comparisons \")]),_c('v-list',_vm._l((_vm.items),function(i){return _c('v-list-item',[_c('v-list-item-content',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/Statistical Comparison/' +i.DocumentId + '.pdf'}},[_vm._v(\" \"+_vm._s(i.Year)+\" Statistical Comparison \")])])],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container>\r\n        <div class=\"headline\">\r\n            Statistical Comparisons\r\n        </div>\r\n        <v-list>\r\n            <v-list-item v-for=\"i in items\">\r\n                <v-list-item-content>\r\n                    <a rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/Statistical Comparison/' +i.DocumentId + '.pdf'\">\r\n                        {{i.Year}} Statistical Comparison\r\n                    </a>\r\n                </v-list-item-content>\r\n            </v-list-item>\r\n        </v-list>\r\n    </v-container>\r\n</template>\r\n<script>\r\n    export default {\r\n        name: 'StatisticalComparison',\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Documents/DocumentType?Type=80', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.items = EncodeDatetimes(response);\r\n                    this.items.sort((a, b) => (a.Year < b.Year) ? 1 : -1)\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n                items: [\r\n\r\n                ],\r\n                loading: true,\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Statisical Comparison';\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./StatisticalComparison.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./StatisticalComparison.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatisticalComparison.vue?vue&type=template&id=21f34b83&\"\nimport script from \"./StatisticalComparison.vue?vue&type=script&lang=js&\"\nexport * from \"./StatisticalComparison.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\ninstallComponents(component, {VContainer,VList,VListItem,VListItemContent})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.SessionId)?_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}}):_vm._e()],1),(_vm.Keyword)?_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.Session && _vm.Session.YearString && _vm.Keyword && _vm.Keyword.Keyword)?_c('div',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.Session.YearString)+\" Subject - \"+_vm._s(_vm.Keyword.Keyword))]):_vm._e(),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.Keyword.Bills,\"search\":_vm.search,\"item-key\":\"BillNumber\",\"group-by\":\"BillType\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"multi-sort\":\"\",\"sort-by\":['BillType', 'BillNumber'],\"sort-desc\":[false, false],\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"group.header\",fn:function(ref){\nvar items = ref.items;\nvar isOpen = ref.isOpen;\nvar toggle = ref.toggle;\nvar group = ref.group;\nvar groupby = ref.groupby;\nreturn [_c('td',{attrs:{\"colspan\":\"2\"}},[_vm._v(\" Bill Type: \"+_vm._s(_vm.LongBillName(group))+\" \"),(isOpen)?_c('v-icon',{on:{\"click\":toggle}},[_vm._v(_vm._s(_vm.minus))]):_c('v-icon',{on:{\"click\":toggle}},[_vm._v(_vm._s(_vm.plus))])],1)]}},{key:\"item.BillURL\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType + ' ' + item.BillNumber))])]}}],null,false,3173025296)})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar v-if=\"SessionId\" :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\" v-if=\"Keyword\">\r\n            <div class=\"headline\" v-if=\"Session && Session.YearString && Keyword && Keyword.Keyword\">{{Session.YearString}} Subject - {{Keyword.Keyword}}</div>\r\n            <v-data-table :headers=\"headers\"\r\n                          :items=\"Keyword.Bills\"\r\n                          :search=\"search\"\r\n                          item-key=\"BillNumber\"\r\n                          group-by=\"BillType\"\r\n                          disable-pagination\r\n                          hide-default-footer\r\n                          multi-sort\r\n                          :sort-by=\"['BillType', 'BillNumber']\"\r\n                          :sort-desc=\"[false, false]\"\r\n                          :loading=\"loading\"\r\n                          loading-text=\"Loading... Please wait\"\r\n                          class=\"elevation-1\">\r\n                <template v-slot:group.header=\"{items, isOpen, toggle, group, groupby}\">\r\n                    <td colspan=\"2\">\r\n                        Bill Type: {{LongBillName(group)}}\r\n                        <v-icon v-if=\"isOpen\" @click=\"toggle\">{{minus}}</v-icon>\r\n                        <v-icon v-else @click=\"toggle\">{{plus}}</v-icon>\r\n                    </td>\r\n                </template>\r\n                <template v-slot:item.BillURL=\"{ item }\">\r\n                    <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType + '&nbsp;' + item.BillNumber}}</router-link>\r\n                </template>\r\n            </v-data-table>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    import { mdiPlus } from '@mdi/js';\r\n    import { mdiMinus } from '@mdi/js';\r\n    export default {\r\n        name: 'Subject',\r\n        props: ['SubjectId'],\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            loadData() {\r\n                this.loading = true;\r\n                fetch('/api/Keywords/' + this.SubjectId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else if (res.status === 404) {\r\n                        if (this.Session && this.Session.SessionId) {\r\n                            this.$router.push('/Session/SubjectIndex/' + this.Session.SessionId);\r\n                        }\r\n                        else if (this.$Session && this.$Session.SessionId) {\r\n                            this.$router.push('/Session/SubjectIndex/' + this.$Session.SessionId);\r\n                        }\r\n                        else {\r\n                            this.$router.push('/Session/SubjectIndex/' + 44);\r\n                        }\r\n                        return null;\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Keyword = EncodeDatetimes(response);\r\n                    if (this.Keyword) {\r\n                        this.SessionId = this.Keyword.SessionId;\r\n                        fetch('/api/Sessions/' + this.SessionId, {\r\n                            method: \"GET\",\r\n                            credentials: \"include\",\r\n                            headers: {\r\n                                \"Content-Type\": \"application/json\"\r\n                            },\r\n                        }).then(res => {\r\n                            this.loading = false;\r\n                            if (res.status === 200 || res.status === 201) {\r\n                                return res.json();\r\n                            }\r\n                            else {\r\n                                return null;\r\n                            }\r\n                            throw new Error(res.statusText);\r\n                        }).then(response => {\r\n                            this.Session = EncodeDatetimes(response);\r\n                        }).catch(error => {\r\n                            throw new Error(error);\r\n                        });\r\n                    }\r\n                    this.loading = false;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n\r\n                fetch('/api/BillNumbers/BillTypes', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.BillTypes = EncodeDatetimes(response);\r\n                    this.SenateBillTypes = this.BillTypes.filter(x => x.BillType.includes('S') == true);\r\n                    this.HouseBillTypes = this.BillTypes.filter(x => x.BillType.includes('H') == true);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            LongBillName(short) {\r\n                if (this.BillTypes && this.BillTypes.length > 0 && this.BillTypes.find(x => x.BillType == short)) {\r\n                    return this.BillTypes.find(x => x.BillType == short).LongBillType || '';\r\n                }\r\n                else {\r\n                    return short;\r\n                }\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                plus: mdiPlus,\r\n                minus: mdiMinus,\r\n                search: '',\r\n                loading: true,\r\n                SessionId: null,\r\n                Session: null,\r\n                headers: [\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'start',\r\n                        value: 'BillURL',\r\n                        width: '15ch'\r\n                    },\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'Title',\r\n                        width: '*'\r\n                    },\r\n                ],\r\n                Keyword: {\r\n\r\n                },\r\n                BillTypes: [],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.loadData();\r\n        },\r\n        watch: {\r\n            SubjectId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Loading Subject';\r\n                if (this.Session && this.Session.Year && this.Keyword && this.Keyword.Keyword) {\r\n                    title = this.Session.Year + \" Subject Index - \" + this.Keyword.Keyword;\r\n                }\r\n                else if (this.Keyword && this.Keyword.Keyword) {\r\n                    title = \"Subject Index - \" + this.Keyword.Keyword;\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Subject.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Subject.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Subject.vue?vue&type=template&id=4d798b50&\"\nimport script from \"./Subject.vue?vue&type=script&lang=js&\"\nexport * from \"./Subject.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VDataTable,VIcon,VRow})\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VDatePickerTitle.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"022ac4aa\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","import { camelize, wrapInArray } from './helpers';\nconst pattern = {\n  styleList: /;(?![^(]*\\))/g,\n  styleProp: /:(.*)/\n};\n\nfunction parseStyle(style) {\n  const styleMap = {};\n\n  for (const s of style.split(pattern.styleList)) {\n    let [key, val] = s.split(pattern.styleProp);\n    key = key.trim();\n\n    if (!key) {\n      continue;\n    } // May be undefined if the `key: value` pair is incomplete.\n\n\n    if (typeof val === 'string') {\n      val = val.trim();\n    }\n\n    styleMap[camelize(key)] = val;\n  }\n\n  return styleMap;\n}\n\nexport default function mergeData() {\n  const mergeTarget = {};\n  let i = arguments.length;\n  let prop; // Allow for variadic argument length.\n\n  while (i--) {\n    // Iterate through the data properties and execute merge strategies\n    // Object.keys eliminates need for hasOwnProperty call\n    for (prop of Object.keys(arguments[i])) {\n      switch (prop) {\n        // Array merge strategy (array concatenation)\n        case 'class':\n        case 'directives':\n          if (arguments[i][prop]) {\n            mergeTarget[prop] = mergeClasses(mergeTarget[prop], arguments[i][prop]);\n          }\n\n          break;\n\n        case 'style':\n          if (arguments[i][prop]) {\n            mergeTarget[prop] = mergeStyles(mergeTarget[prop], arguments[i][prop]);\n          }\n\n          break;\n        // Space delimited string concatenation strategy\n\n        case 'staticClass':\n          if (!arguments[i][prop]) {\n            break;\n          }\n\n          if (mergeTarget[prop] === undefined) {\n            mergeTarget[prop] = '';\n          }\n\n          if (mergeTarget[prop]) {\n            // Not an empty string, so concatenate\n            mergeTarget[prop] += ' ';\n          }\n\n          mergeTarget[prop] += arguments[i][prop].trim();\n          break;\n        // Object, the properties of which to merge via array merge strategy (array concatenation).\n        // Callback merge strategy merges callbacks to the beginning of the array,\n        // so that the last defined callback will be invoked first.\n        // This is done since to mimic how Object.assign merging\n        // uses the last given value to assign.\n\n        case 'on':\n        case 'nativeOn':\n          if (arguments[i][prop]) {\n            mergeTarget[prop] = mergeListeners(mergeTarget[prop], arguments[i][prop]);\n          }\n\n          break;\n        // Object merge strategy\n\n        case 'attrs':\n        case 'props':\n        case 'domProps':\n        case 'scopedSlots':\n        case 'staticStyle':\n        case 'hook':\n        case 'transition':\n          if (!arguments[i][prop]) {\n            break;\n          }\n\n          if (!mergeTarget[prop]) {\n            mergeTarget[prop] = {};\n          }\n\n          mergeTarget[prop] = { ...arguments[i][prop],\n            ...mergeTarget[prop]\n          };\n          break;\n        // Reassignment strategy (no merge)\n\n        default:\n          // slot, key, ref, tag, show, keepAlive\n          if (!mergeTarget[prop]) {\n            mergeTarget[prop] = arguments[i][prop];\n          }\n\n      }\n    }\n  }\n\n  return mergeTarget;\n}\nexport function mergeStyles(target, source) {\n  if (!target) return source;\n  if (!source) return target;\n  target = wrapInArray(typeof target === 'string' ? parseStyle(target) : target);\n  return target.concat(typeof source === 'string' ? parseStyle(source) : source);\n}\nexport function mergeClasses(target, source) {\n  if (!source) return target;\n  if (!target) return source;\n  return target ? wrapInArray(target).concat(source) : source;\n}\nexport function mergeListeners(...args) {\n  if (!args[0]) return args[1];\n  if (!args[1]) return args[0];\n  const dest = {};\n\n  for (let i = 2; i--;) {\n    const arg = args[i];\n\n    for (const event in arg) {\n      if (!arg[event]) continue;\n\n      if (dest[event]) {\n        // Merge current listeners before (because we are iterating backwards).\n        // Note that neither \"target\" or \"source\" must be altered.\n        dest[event] = [].concat(arg[event], dest[event]);\n      } else {\n        // Straight assign.\n        dest[event] = arg[event];\n      }\n    }\n  }\n\n  return dest;\n}\n//# sourceMappingURL=mergeData.js.map","// Styles\nimport \"../../../src/components/VList/VListItem.sass\"; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Routable from '../../mixins/routable';\nimport { factory as GroupableFactory } from '../../mixins/groupable';\nimport Themeable from '../../mixins/themeable';\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'; // Directives\n\nimport Ripple from '../../directives/ripple'; // Utilities\n\nimport { keyCodes } from './../../util/helpers';\nimport { removed } from '../../util/console'; // Types\n\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Colorable, Routable, Themeable, GroupableFactory('listItemGroup'), ToggleableFactory('inputValue'));\n/* @vue/component */\n\nexport default baseMixins.extend().extend({\n  name: 'v-list-item',\n  directives: {\n    Ripple\n  },\n  inject: {\n    isInGroup: {\n      default: false\n    },\n    isInList: {\n      default: false\n    },\n    isInMenu: {\n      default: false\n    },\n    isInNav: {\n      default: false\n    }\n  },\n  inheritAttrs: false,\n  props: {\n    activeClass: {\n      type: String,\n\n      default() {\n        if (!this.listItemGroup) return '';\n        return this.listItemGroup.activeClass;\n      }\n\n    },\n    dense: Boolean,\n    inactive: Boolean,\n    link: Boolean,\n    selectable: {\n      type: Boolean\n    },\n    tag: {\n      type: String,\n      default: 'div'\n    },\n    threeLine: Boolean,\n    twoLine: Boolean,\n    value: null\n  },\n  data: () => ({\n    proxyClass: 'v-list-item--active'\n  }),\n  computed: {\n    classes() {\n      return {\n        'v-list-item': true,\n        ...Routable.options.computed.classes.call(this),\n        'v-list-item--dense': this.dense,\n        'v-list-item--disabled': this.disabled,\n        'v-list-item--link': this.isClickable && !this.inactive,\n        'v-list-item--selectable': this.selectable,\n        'v-list-item--three-line': this.threeLine,\n        'v-list-item--two-line': this.twoLine,\n        ...this.themeClasses\n      };\n    },\n\n    isClickable() {\n      return Boolean(Routable.options.computed.isClickable.call(this) || this.listItemGroup);\n    }\n\n  },\n\n  created() {\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('avatar')) {\n      removed('avatar', this);\n    }\n  },\n\n  methods: {\n    click(e) {\n      if (e.detail) this.$el.blur();\n      this.$emit('click', e);\n      this.to || this.toggle();\n    },\n\n    genAttrs() {\n      const attrs = {\n        'aria-disabled': this.disabled ? true : undefined,\n        tabindex: this.isClickable && !this.disabled ? 0 : -1,\n        ...this.$attrs\n      };\n\n      if (this.$attrs.hasOwnProperty('role')) {// do nothing, role already provided\n      } else if (this.isInNav) {// do nothing, role is inherit\n      } else if (this.isInGroup) {\n        attrs.role = 'option';\n        attrs['aria-selected'] = String(this.isActive);\n      } else if (this.isInMenu) {\n        attrs.role = this.isClickable ? 'menuitem' : undefined;\n        attrs.id = attrs.id || `list-item-${this._uid}`;\n      } else if (this.isInList) {\n        attrs.role = 'listitem';\n      }\n\n      return attrs;\n    },\n\n    toggle() {\n      if (this.to && this.inputValue === undefined) {\n        this.isActive = !this.isActive;\n      }\n\n      this.$emit('change');\n    }\n\n  },\n\n  render(h) {\n    let {\n      tag,\n      data\n    } = this.generateRouteLink();\n    data.attrs = { ...data.attrs,\n      ...this.genAttrs()\n    };\n    data[this.to ? 'nativeOn' : 'on'] = { ...data[this.to ? 'nativeOn' : 'on'],\n      keydown: e => {\n        if (!this.disabled) {\n          /* istanbul ignore else */\n          if (e.keyCode === keyCodes.enter) this.click(e);\n          this.$emit('keydown', e);\n        }\n      }\n    };\n    if (this.inactive) tag = 'div';\n\n    if (this.inactive && this.to) {\n      data.on = data.nativeOn;\n      delete data.nativeOn;\n    }\n\n    const children = this.$scopedSlots.default ? this.$scopedSlots.default({\n      active: this.isActive,\n      toggle: this.toggle\n    }) : this.$slots.default;\n    return h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children);\n  }\n\n});\n//# sourceMappingURL=VListItem.js.map","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VListGroup.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"d3937e66\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","function inserted(el, binding, vnode) {\n  const callback = binding.value;\n  const options = binding.options || {\n    passive: true\n  };\n  window.addEventListener('resize', callback, options);\n  el._onResize = Object(el._onResize);\n  el._onResize[vnode.context._uid] = {\n    callback,\n    options\n  };\n\n  if (!binding.modifiers || !binding.modifiers.quiet) {\n    callback();\n  }\n}\n\nfunction unbind(el, binding, vnode) {\n  var _a;\n\n  if (!((_a = el._onResize) === null || _a === void 0 ? void 0 : _a[vnode.context._uid])) return;\n  const {\n    callback,\n    options\n  } = el._onResize[vnode.context._uid];\n  window.removeEventListener('resize', callback, options);\n  delete el._onResize[vnode.context._uid];\n}\n\nexport const Resize = {\n  inserted,\n  unbind\n};\nexport default Resize;\n//# sourceMappingURL=index.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}})],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[(_vm.currentRoute.includes('SDCLIndex'))?_c('span',[(_vm.Session)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" SDCL Index\")]):(_vm.currentRoute.includes('TableOfContents'))?_c('span',[(_vm.Session)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" Table Of Contents\")]):(_vm.currentRoute.includes('TopicalIndex'))?_c('span',[(_vm.Session)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" Topical Index\")]):(_vm.currentRoute.includes('CrossReference'))?_c('span',[(_vm.Session)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" Cross Reference\")]):(_vm.currentRoute.includes('Foreward'))?_c('span',[(_vm.Session)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" Forward\")]):(_vm.currentRoute.includes('Session_Laws/Chapter'))?_c('span',[(_vm.Session)?_c('span',[_vm._v(_vm._s(_vm.Session.YearString))]):_vm._e(),_vm._v(\" Session Laws\")]):_vm._e(),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('v-row',{staticClass:\"text-center\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"5\"}},[_c('v-breadcrumbs',{staticClass:\"py-0\",staticStyle:{\"font-size\":\"18px\"},attrs:{\"divider\":\">\",\"items\":_vm.breadcrumbs}})],1)],1)],1),(_vm.item)?_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-spacer'),(_vm.item && _vm.item.DocumentId && !_vm.loading)?_c('v-btn',{staticStyle:{\"float\":\"right\"},attrs:{\"text\":\"\",\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value +'api/Documents/SessionLaws/' + _vm.item.DocumentId + '.pdf'}},[_vm._v(\"Printer Friendly\")]):_vm._e()],1):_vm._e(),_c('v-container',[(_vm.item && _vm.item.Html)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.item.Html)}}):_vm._e()])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                <span v-if=\"currentRoute.includes('SDCLIndex')\"><span v-if=\"Session\">{{Session.YearString}}</span> SDCL Index</span>\r\n                <span v-else-if=\"currentRoute.includes('TableOfContents')\"><span v-if=\"Session\">{{Session.YearString}}</span> Table Of Contents</span>\r\n                <span v-else-if=\"currentRoute.includes('TopicalIndex')\"><span v-if=\"Session\">{{Session.YearString}}</span> Topical Index</span>\r\n                <span v-else-if=\"currentRoute.includes('CrossReference')\"><span v-if=\"Session\">{{Session.YearString}}</span> Cross Reference</span>\r\n                <span v-else-if=\"currentRoute.includes('Foreward')\"><span v-if=\"Session\">{{Session.YearString}}</span> Forward</span>\r\n                <span v-else-if=\"currentRoute.includes('Session_Laws/Chapter')\"><span v-if=\"Session\">{{Session.YearString}}</span> Session Laws</span>\r\n                <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n                <v-row class=\"text-center\">\r\n                    <v-col cols=\"12\" sm=\"6\" md=\"5\">\r\n                        <v-breadcrumbs divider=\">\" :items=\"breadcrumbs\" class=\"py-0\" style=\"font-size:18px;\"></v-breadcrumbs>\r\n                    </v-col>\r\n                </v-row>\r\n            </div>\r\n            <v-layout row wrap v-if=\"item\">\r\n                <v-spacer></v-spacer>\r\n                <v-btn v-if=\"item && item.DocumentId && !loading\" style=\"float:right;\" text rel=\"noopener\" :href=\"$MyLRCUrl.value +'api/Documents/SessionLaws/' + item.DocumentId + '.pdf'\">Printer Friendly</v-btn>\r\n            </v-layout>\r\n            <v-container>\r\n                <div v-if=\"item && item.Html\" v-html=\"item.Html\"></div>\r\n            </v-container>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n\r\n<script>\r\n    const GoogleSearch = () => import(\"@/Components/GoogleSearch.vue\");\r\n    const GoogleSearchStatute = () => import(\"@/Components/GoogleSearchStatute.vue\");\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n\r\n    export default {\r\n        name: 'SessionLawPart',\r\n        props: ['DocumentTypeId', 'SessionId'],\r\n        components: {\r\n            GoogleSearch,\r\n            GoogleSearchStatute,\r\n            Sidebar\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n                this.item.Html = \"\";\r\n\r\n                fetch('/api/Sessions',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            return res.text().then(r => Promise.reject(r));\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.Sessions = EncodeDatetimes(response);\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        if (error == 404)\r\n                            window.location.href = \"/404?path=\" + encodeURIComponent(window.location.pathname);\r\n                        else if (error != 302)\r\n                        {\r\n                            let e = String(error).substring(0, 100);\r\n\r\n                            if ((e || '').indexOf('Failed to fetch') > -1)\r\n                            {\r\n                                window.location.href = \"/400?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                            }\r\n                            else\r\n                            {\r\n                                reportError(error);\r\n                                window.location.href = \"/500?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                            }\r\n                        }\r\n                    });\r\n\r\n                let SessionIdQuery = '&SessionId=' + this.SessionId;\r\n\r\n                fetch('/api/Documents/DocumentTypeWithHtml?Type=' + this.DocumentTypeId + SessionIdQuery,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        var res = response;\r\n                        this.item = res;\r\n\r\n                        let session = this.Sessions.find(x => x.SessionId == this.SessionId);\r\n\r\n                        if (session)\r\n                        {\r\n                            this.Session = session;\r\n                        }\r\n                        else\r\n                        {\r\n                            this.Session = { Year: '' };\r\n                        }\r\n\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        if (error == 404)\r\n                            window.location.href = \"/404?path=\" + encodeURIComponent(window.location.pathname);\r\n                        else if (error != 302)\r\n                        {\r\n                            let e = String(error).substring(0, 100);\r\n\r\n                            if ((e || '').indexOf('Failed to fetch') > -1)\r\n                            {\r\n                                window.location.href = \"/400?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                            }\r\n                            else\r\n                            {\r\n                                reportError(error);\r\n                                window.location.href = \"/500?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                            }\r\n                        }\r\n                    })\r\n                    .finally(() =>\r\n                    {\r\n                        this.loading = false;\r\n                    });\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n\r\n                readableNumber: \"\",\r\n                loading: true,\r\n\r\n                item: {\r\n                    StatuteId: null,\r\n                    Html: null\r\n                },\r\n                Session: { Year: '' },\r\n                hideSessionLawSearch: false,\r\n                parent: {\r\n                    name: '',\r\n                    url: '',\r\n                },\r\n                bcItem: {\r\n                    href: '',\r\n                    link: true,\r\n                    text: '',\r\n                },\r\n                breadcrumbs: [],\r\n                Sessions: [],\r\n            };\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            currentRoute()\r\n            {\r\n                this.LoadData();\r\n            },\r\n            Value: {\r\n                handler()\r\n                {\r\n                    this.LoadData();\r\n                },\r\n            },\r\n        },\r\n        computed: {\r\n            currentRoute: function ()\r\n            {\r\n                return this.$route.path;\r\n            },\r\n            JsonldBreadCrumbs: function ()\r\n            {\r\n                let CurrentBaseURL = window.location.origin;\r\n                let ListItems = [];\r\n\r\n                this.breadcrumbs.forEach((x, i) =>\r\n                {\r\n                    let li = {\r\n                        \"@type\": \"ListItem\",\r\n                        \"position\": i,\r\n                        \"name\": x.text,\r\n                        \"item\": CurrentBaseURL + x.to\r\n                    };\r\n                    ListItems.push(li);\r\n                });\r\n\r\n                return ListItems;\r\n            },\r\n            Title: function ()\r\n            {\r\n                let title = \"Session Law Chapter \";\r\n\r\n                if (this.Session && this.Session.Year)\r\n                {\r\n                    title = this.Session.Year + ' ' + title;\r\n                }\r\n                else\r\n                {\r\n                    title = \"Session Laws\" + ' ' + title;\r\n                }\r\n\r\n                if (this.item && this.item.Chapter)\r\n                {\r\n                    title = title + ' ' + this.item.Chapter;\r\n                }\r\n\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                if (this.item && this.item.CatchLine)\r\n                {\r\n                    return this.item.Catchline;\r\n                }\r\n\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                script: [\r\n                    {\r\n                        type: 'application/ld+json',\r\n                        json: {\r\n                            '@context': 'http://schema.org',\r\n                            '@type': 'Legislation',\r\n                            \"@id\": window.location.href,\r\n                            'name': \"Session Law \" + this.readableNumber,\r\n                            'description': this.Description,\r\n                            'legislationType': \"Session Law\",\r\n                            'inLanguage': 'English'\r\n                        }\r\n                    }, {\r\n                        type: 'application/ld+json',\r\n                        json: {\r\n                            '@context': 'http://schema.org',\r\n                            '@type': 'BreadcrumbList',\r\n                            \"itemListElement\": this.JsonldBreadCrumbs\r\n                        }\r\n                    }],\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            };\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionLawPart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionLawPart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SessionLawPart.vue?vue&type=template&id=2922b560&\"\nimport script from \"./SessionLawPart.vue?vue&type=script&lang=js&\"\nexport * from \"./SessionLawPart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBreadcrumbs,VBtn,VCol,VContainer,VLayout,VProgressLinear,VRow,VSpacer})\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-input--radio-group legend.v-label{cursor:text;font-size:14px;height:auto}.v-input--radio-group__input{border:none;cursor:default;display:flex;width:100%}.v-input--radio-group--column .v-input--radio-group__input>.v-label{padding-bottom:8px}.v-input--radio-group--row .v-input--radio-group__input>.v-label{padding-right:8px}.v-input--radio-group--row legend{align-self:center;display:inline-block}.v-input--radio-group--row .v-input--radio-group__input{flex-direction:row;flex-wrap:wrap}.v-input--radio-group--column legend{padding-bottom:8px}.v-input--radio-group--column .v-radio:not(:last-child):not(:only-child){margin-bottom:8px}.v-input--radio-group--column .v-input--radio-group__input{flex-direction:column}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","/**\n * Returns:\n *  - 'null' if the node is not attached to the DOM\n *  - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot(node) {\n  /* istanbul ignore next */\n  if (typeof node.getRootNode !== 'function') {\n    // Shadow DOM not supported (IE11), lets find the root of this node\n    while (node.parentNode) node = node.parentNode; // The root parent is the document if the node is attached to the DOM\n\n\n    if (node !== document) return null;\n    return document;\n  }\n\n  const root = node.getRootNode(); // The composed root node is the document if the node is attached to the DOM\n\n  if (root !== document && root.getRootNode({\n    composed: true\n  }) !== document) return null;\n  return root;\n}\n//# sourceMappingURL=dom.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\"Tenure Reports\")]),_c('v-list',[_c('v-list-item',[_c('v-list-item-content',[_c('v-btn',{attrs:{\"to\":\"/Historical/Reports/TenYear\"}},[_vm._v(\"10-14 Years\")])],1)],1),_c('v-list-item',[_c('v-list-item-content',[_c('v-btn',{attrs:{\"to\":\"/Historical/Reports/FifteenYear\"}},[_vm._v(\"15-19 Years\")])],1)],1),_c('v-list-item',[_c('v-list-item-content',[_c('v-btn',{attrs:{\"to\":\"/Historical/Reports/TwentyYear\"}},[_vm._v(\"20-24 Years\")])],1)],1),_c('v-list-item',[_c('v-list-item-content',[_c('v-btn',{attrs:{\"to\":\"/Historical/Reports/TwentyFiveYear\"}},[_vm._v(\"25+ Years\")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">Tenure Reports</div>\r\n            <v-list>\r\n                <v-list-item>\r\n                    <v-list-item-content>\r\n                        <v-btn to=\"/Historical/Reports/TenYear\">10-14 Years</v-btn>\r\n                    </v-list-item-content>\r\n                </v-list-item>\r\n                <v-list-item>\r\n                    <v-list-item-content>\r\n                        <v-btn to=\"/Historical/Reports/FifteenYear\">15-19 Years</v-btn>\r\n                    </v-list-item-content>\r\n                </v-list-item>\r\n                <v-list-item>\r\n                    <v-list-item-content>\r\n                        <v-btn to=\"/Historical/Reports/TwentyYear\">20-24 Years</v-btn>\r\n                    </v-list-item-content>\r\n                </v-list-item>\r\n                <v-list-item>\r\n                    <v-list-item-content>\r\n                        <v-btn to=\"/Historical/Reports/TwentyFiveYear\">25+ Years</v-btn>\r\n                    </v-list-item-content>\r\n                </v-list-item>\r\n            </v-list>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    export default {\r\n        name: 'TenureReports',\r\n        components: {\r\n            Sidebar\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n                search: '',\r\n                loading: false,\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TenureReports.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TenureReports.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TenureReports.vue?vue&type=template&id=5f515a98&\"\nimport script from \"./TenureReports.vue?vue&type=script&lang=js&\"\nexport * from \"./TenureReports.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VList,VListItem,VListItemContent,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:\"headline\"},[_vm._v(\"Bills\")]),_c('div',[_c('b',[_vm._v(\"Active Bills\")])]),(_vm.ActiveBills && _vm.ActiveBills.length == 0 && !_vm.loading1)?_c('span',[_c('b',[_c('i',[_vm._v(\"No Active Bills\")])])]):_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.billHeadersA,\"loading\":_vm.loading1,\"hide-default-header\":\"\",\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"items\":_vm.ActiveBills,\"item-key\":\"BillId\"},scopedSlots:_vm._u([{key:\"item.BillNumberOnly\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType)+\" \"+_vm._s(item.BillNumberOnly))])]}}])}),_c('div',{staticClass:\"mt-4\"},[_c('b',[_vm._v(\"Inactive Bills\")])]),(_vm.TabledBills && _vm.TabledBills.length == 0 && !_vm.loading2)?_c('span',[_c('b',[_c('i',[_vm._v(\"No Inactive Bills\")])])]):_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.billHeadersT,\"loading\":_vm.loading2,\"hide-default-header\":\"\",\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"items\":_vm.TabledBills,\"item-key\":\"BillId\"},scopedSlots:_vm._u([{key:\"item.BillNumberOnly\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType)+\" \"+_vm._s(item.BillNumberOnly))])]}}])}),(_vm.SponsoredBills != null)?_c('div',{staticClass:\"mt-4\"},[_c('b',[_vm._v(\"Sponsored Bills\")])]):_vm._e(),(_vm.SponsoredBills && _vm.SponsoredBills.length == 0 && !_vm.loading3)?_c('div',[_c('b',[_c('i',[_vm._v(\"No Sponsored Bills\")])])]):_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.billHeadersS,\"loading\":_vm.loading3,\"hide-default-header\":\"\",\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"items\":_vm.SponsoredBills,\"item-key\":\"BillId\"},scopedSlots:_vm._u([{key:\"item.BillNumberOnly\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType)+\" \"+_vm._s(item.BillNumberOnly))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row>\r\n        <v-col cols=\"12\">\r\n            <div class=\"headline\">Bills</div>\r\n\r\n            <div><b>Active Bills</b></div>\r\n            <span v-if=\"ActiveBills && ActiveBills.length == 0 && !loading1\"><b><i>No Active Bills</i></b></span>\r\n            <FilterableDataTable v-else :headers=\"billHeadersA\" :loading=\"loading1\" hide-default-header hide-default-footer disable-pagination :items=\"ActiveBills\" item-key=\"BillId\" class=\"elevation-1\">\r\n                <template v-slot:item.BillNumberOnly=\"{ item }\">\r\n                    <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType}}&nbsp;{{item.BillNumberOnly}}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n\r\n            <div class=\"mt-4\"><b>Inactive Bills</b></div>\r\n            <span v-if=\"TabledBills && TabledBills.length == 0 && !loading2\"><b><i>No Inactive Bills</i></b></span>\r\n            <FilterableDataTable v-else :headers=\"billHeadersT\" :loading=\"loading2\" hide-default-header hide-default-footer disable-pagination :items=\"TabledBills\" item-key=\"BillId\" class=\"elevation-1\">\r\n                <template v-slot:item.BillNumberOnly=\"{ item }\">\r\n                    <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType}}&nbsp;{{item.BillNumberOnly}}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n\r\n\r\n            <div class=\"mt-4\" v-if=\"SponsoredBills != null\"><b>Sponsored Bills</b></div>\r\n            <div v-if=\"SponsoredBills && SponsoredBills.length == 0 && !loading3\"><b><i>No Sponsored Bills</i></b></div>\r\n            <FilterableDataTable v-else :headers=\"billHeadersS\" :loading=\"loading3\" hide-default-header hide-default-footer disable-pagination :items=\"SponsoredBills\" item-key=\"BillId\" class=\"elevation-1\">\r\n                <template v-slot:item.BillNumberOnly=\"{ item }\">\r\n                    <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType}}&nbsp;{{item.BillNumberOnly}}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n    export default {\r\n        name: 'Bills',\r\n        props: ['CommitteeId'],\r\n        components: {\r\n            FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                if (this.currentRoute.includes('/Interim'))\r\n                {\r\n\r\n                } else\r\n                {\r\n                    this.loading1 = true;\r\n                    this.loading2 = true;\r\n                    this.loading3 = true;\r\n\r\n                    fetch('/api/SessionCommittees/ActiveBills/' + this.CommitteeId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res =>\r\n                    {\r\n                        this.loading1 = false;\r\n                        if (res.ok)\r\n                        {\r\n                            res.json().then(r =>\r\n                            {\r\n                                this.ActiveBills = EncodeDatetimes(r);\r\n                            });\r\n                        }\r\n                    }).catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n\r\n                    fetch('/api/SessionCommittees/InactiveBills/' + this.CommitteeId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res =>\r\n                    {\r\n                        this.loading2 = false;\r\n                        if (res.ok)\r\n                        {\r\n                            res.json().then(r =>\r\n                            {\r\n                                this.TabledBills = EncodeDatetimes(r);\r\n                            });\r\n                        }\r\n                    }).catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n\r\n                    fetch('/api/SessionCommittees/Bills/' + this.CommitteeId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res =>\r\n                    {\r\n                        this.loading3 = false;\r\n                        if (res.ok)\r\n                        {\r\n                            res.json().then(r =>\r\n                            {\r\n                                this.SponsoredBills = EncodeDatetimes(r);\r\n                            });\r\n                        }\r\n                    }).catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n\r\n                }\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                loading1: false,\r\n                loading2: false,\r\n                loading3: false,\r\n                billHeadersA: [\r\n                    { text: 'Bill', value: 'BillNumberOnly', width: '150px' },\r\n                    { text: 'Title', value: 'Title', width: '*' }],\r\n                billHeadersT: [\r\n                    { text: 'Bill', value: 'BillNumberOnly', width: '150px' },\r\n                    { text: 'Title', value: 'Title', width: '*' }],\r\n                billHeadersS: [\r\n                    { text: 'Bill', value: 'BillNumberOnly', width: '150px' },\r\n                    { text: 'Title', value: 'Title', width: '*' }],\r\n                SponsoredBills: [],\r\n                ActiveBills: [],\r\n                TabledBills: []\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            CommitteeId: function ()\r\n            {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            currentRoute: function ()\r\n            {\r\n                return this.$route.path;\r\n            },\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Bills.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Bills.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Bills.vue?vue&type=template&id=0067e2a5&\"\nimport script from \"./Bills.vue?vue&type=script&lang=js&\"\nexport * from \"./Bills.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// Styles\nimport \"../../../src/components/VMenu/VMenu.sass\"; // Components\n\nimport { VThemeProvider } from '../VThemeProvider'; // Mixins\n\nimport Activatable from '../../mixins/activatable';\nimport Delayable from '../../mixins/delayable';\nimport Dependent from '../../mixins/dependent';\nimport Menuable from '../../mixins/menuable';\nimport Returnable from '../../mixins/returnable';\nimport Roundable from '../../mixins/roundable';\nimport Themeable from '../../mixins/themeable'; // Directives\n\nimport ClickOutside from '../../directives/click-outside';\nimport Resize from '../../directives/resize'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { removed } from '../../util/console';\nimport { convertToUnit, keyCodes } from '../../util/helpers';\nimport goTo from '../../services/goto';\nconst baseMixins = mixins(Dependent, Delayable, Returnable, Roundable, Themeable, Menuable);\n/* @vue/component */\n\nexport default baseMixins.extend({\n  name: 'v-menu',\n  directives: {\n    ClickOutside,\n    Resize\n  },\n\n  provide() {\n    return {\n      isInMenu: true,\n      // Pass theme through to default slot\n      theme: this.theme\n    };\n  },\n\n  props: {\n    auto: Boolean,\n    closeOnClick: {\n      type: Boolean,\n      default: true\n    },\n    closeOnContentClick: {\n      type: Boolean,\n      default: true\n    },\n    disabled: Boolean,\n    disableKeys: Boolean,\n    maxHeight: {\n      type: [Number, String],\n      default: 'auto'\n    },\n    offsetX: Boolean,\n    offsetY: Boolean,\n    openOnHover: Boolean,\n    origin: {\n      type: String,\n      default: 'top left'\n    },\n    transition: {\n      type: [Boolean, String],\n      default: 'v-menu-transition'\n    }\n  },\n\n  data() {\n    return {\n      calculatedTopAuto: 0,\n      defaultOffset: 8,\n      hasJustFocused: false,\n      listIndex: -1,\n      resizeTimeout: 0,\n      selectedIndex: null,\n      tiles: []\n    };\n  },\n\n  computed: {\n    activeTile() {\n      return this.tiles[this.listIndex];\n    },\n\n    calculatedLeft() {\n      const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth));\n      if (!this.auto) return this.calcLeft(menuWidth) || '0';\n      return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0';\n    },\n\n    calculatedMaxHeight() {\n      const height = this.auto ? '200px' : convertToUnit(this.maxHeight);\n      return height || '0';\n    },\n\n    calculatedMaxWidth() {\n      return convertToUnit(this.maxWidth) || '0';\n    },\n\n    calculatedMinWidth() {\n      if (this.minWidth) {\n        return convertToUnit(this.minWidth) || '0';\n      }\n\n      const minWidth = Math.min(this.dimensions.activator.width + Number(this.nudgeWidth) + (this.auto ? 16 : 0), Math.max(this.pageWidth - 24, 0));\n      const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth)) ? minWidth : parseInt(this.calculatedMaxWidth);\n      return convertToUnit(Math.min(calculatedMaxWidth, minWidth)) || '0';\n    },\n\n    calculatedTop() {\n      const top = !this.auto ? this.calcTop() : convertToUnit(this.calcYOverflow(this.calculatedTopAuto));\n      return top || '0';\n    },\n\n    hasClickableTiles() {\n      return Boolean(this.tiles.find(tile => tile.tabIndex > -1));\n    },\n\n    styles() {\n      return {\n        maxHeight: this.calculatedMaxHeight,\n        minWidth: this.calculatedMinWidth,\n        maxWidth: this.calculatedMaxWidth,\n        top: this.calculatedTop,\n        left: this.calculatedLeft,\n        transformOrigin: this.origin,\n        zIndex: this.zIndex || this.activeZIndex\n      };\n    }\n\n  },\n  watch: {\n    isActive(val) {\n      if (!val) this.listIndex = -1;\n    },\n\n    isContentActive(val) {\n      this.hasJustFocused = val;\n    },\n\n    listIndex(next, prev) {\n      if (next in this.tiles) {\n        const tile = this.tiles[next];\n        tile.classList.add('v-list-item--highlighted');\n        const scrollTop = this.$refs.content.scrollTop;\n        const contentHeight = this.$refs.content.clientHeight;\n\n        if (scrollTop > tile.offsetTop - 8) {\n          goTo(tile.offsetTop - tile.clientHeight, {\n            appOffset: false,\n            duration: 300,\n            container: this.$refs.content\n          });\n        } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n          goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n            appOffset: false,\n            duration: 300,\n            container: this.$refs.content\n          });\n        }\n      }\n\n      prev in this.tiles && this.tiles[prev].classList.remove('v-list-item--highlighted');\n    }\n\n  },\n\n  created() {\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('full-width')) {\n      removed('full-width', this);\n    }\n  },\n\n  mounted() {\n    this.isActive && this.callActivate();\n  },\n\n  methods: {\n    activate() {\n      // Update coordinates and dimensions of menu\n      // and its activator\n      this.updateDimensions(); // Start the transition\n\n      requestAnimationFrame(() => {\n        // Once transitioning, calculate scroll and top position\n        this.startTransition().then(() => {\n          if (this.$refs.content) {\n            this.calculatedTopAuto = this.calcTopAuto();\n            this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition());\n          }\n        });\n      });\n    },\n\n    calcScrollPosition() {\n      const $el = this.$refs.content;\n      const activeTile = $el.querySelector('.v-list-item--active');\n      const maxScrollTop = $el.scrollHeight - $el.offsetHeight;\n      return activeTile ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2)) : $el.scrollTop;\n    },\n\n    calcLeftAuto() {\n      return parseInt(this.dimensions.activator.left - this.defaultOffset * 2);\n    },\n\n    calcTopAuto() {\n      const $el = this.$refs.content;\n      const activeTile = $el.querySelector('.v-list-item--active');\n\n      if (!activeTile) {\n        this.selectedIndex = null;\n      }\n\n      if (this.offsetY || !activeTile) {\n        return this.computedTop;\n      }\n\n      this.selectedIndex = Array.from(this.tiles).indexOf(activeTile);\n      const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition();\n      const firstTileOffsetTop = $el.querySelector('.v-list-item').offsetTop;\n      return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1;\n    },\n\n    changeListIndex(e) {\n      // For infinite scroll and autocomplete, re-evaluate children\n      this.getTiles();\n\n      if (!this.isActive || !this.hasClickableTiles) {\n        return;\n      } else if (e.keyCode === keyCodes.tab) {\n        this.isActive = false;\n        return;\n      } else if (e.keyCode === keyCodes.down) {\n        this.nextTile();\n      } else if (e.keyCode === keyCodes.up) {\n        this.prevTile();\n      } else if (e.keyCode === keyCodes.end) {\n        this.lastTile();\n      } else if (e.keyCode === keyCodes.home) {\n        this.firstTile();\n      } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n        this.tiles[this.listIndex].click();\n      } else {\n        return;\n      } // One of the conditions was met, prevent default action (#2988)\n\n\n      e.preventDefault();\n    },\n\n    closeConditional(e) {\n      const target = e.target;\n      return this.isActive && !this._isDestroyed && this.closeOnClick && !this.$refs.content.contains(target);\n    },\n\n    genActivatorAttributes() {\n      const attributes = Activatable.options.methods.genActivatorAttributes.call(this);\n\n      if (this.activeTile && this.activeTile.id) {\n        return { ...attributes,\n          'aria-activedescendant': this.activeTile.id\n        };\n      }\n\n      return attributes;\n    },\n\n    genActivatorListeners() {\n      const listeners = Menuable.options.methods.genActivatorListeners.call(this);\n\n      if (!this.disableKeys) {\n        listeners.keydown = this.onKeyDown;\n      }\n\n      return listeners;\n    },\n\n    genTransition() {\n      const content = this.genContent();\n      if (!this.transition) return content;\n      return this.$createElement('transition', {\n        props: {\n          name: this.transition\n        }\n      }, [content]);\n    },\n\n    genDirectives() {\n      const directives = [{\n        name: 'show',\n        value: this.isContentActive\n      }]; // Do not add click outside for hover menu\n\n      if (!this.openOnHover && this.closeOnClick) {\n        directives.push({\n          name: 'click-outside',\n          value: {\n            handler: () => {\n              this.isActive = false;\n            },\n            closeConditional: this.closeConditional,\n            include: () => [this.$el, ...this.getOpenDependentElements()]\n          }\n        });\n      }\n\n      return directives;\n    },\n\n    genContent() {\n      const options = {\n        attrs: { ...this.getScopeIdAttrs(),\n          role: 'role' in this.$attrs ? this.$attrs.role : 'menu'\n        },\n        staticClass: 'v-menu__content',\n        class: { ...this.rootThemeClasses,\n          ...this.roundedClasses,\n          'v-menu__content--auto': this.auto,\n          'v-menu__content--fixed': this.activatorFixed,\n          menuable__content__active: this.isActive,\n          [this.contentClass.trim()]: true\n        },\n        style: this.styles,\n        directives: this.genDirectives(),\n        ref: 'content',\n        on: {\n          click: e => {\n            const target = e.target;\n            if (target.getAttribute('disabled')) return;\n            if (this.closeOnContentClick) this.isActive = false;\n          },\n          keydown: this.onKeyDown\n        }\n      };\n\n      if (this.$listeners.scroll) {\n        options.on = options.on || {};\n        options.on.scroll = this.$listeners.scroll;\n      }\n\n      if (!this.disabled && this.openOnHover) {\n        options.on = options.on || {};\n        options.on.mouseenter = this.mouseEnterHandler;\n      }\n\n      if (this.openOnHover) {\n        options.on = options.on || {};\n        options.on.mouseleave = this.mouseLeaveHandler;\n      }\n\n      return this.$createElement('div', options, this.getContentSlot());\n    },\n\n    getTiles() {\n      if (!this.$refs.content) return;\n      this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'));\n    },\n\n    mouseEnterHandler() {\n      this.runDelay('open', () => {\n        if (this.hasJustFocused) return;\n        this.hasJustFocused = true;\n      });\n    },\n\n    mouseLeaveHandler(e) {\n      // Prevent accidental re-activation\n      this.runDelay('close', () => {\n        var _a;\n\n        if ((_a = this.$refs.content) === null || _a === void 0 ? void 0 : _a.contains(e.relatedTarget)) return;\n        requestAnimationFrame(() => {\n          this.isActive = false;\n          this.callDeactivate();\n        });\n      });\n    },\n\n    nextTile() {\n      const tile = this.tiles[this.listIndex + 1];\n\n      if (!tile) {\n        if (!this.tiles.length) return;\n        this.listIndex = -1;\n        this.nextTile();\n        return;\n      }\n\n      this.listIndex++;\n      if (tile.tabIndex === -1) this.nextTile();\n    },\n\n    prevTile() {\n      const tile = this.tiles[this.listIndex - 1];\n\n      if (!tile) {\n        if (!this.tiles.length) return;\n        this.listIndex = this.tiles.length;\n        this.prevTile();\n        return;\n      }\n\n      this.listIndex--;\n      if (tile.tabIndex === -1) this.prevTile();\n    },\n\n    lastTile() {\n      const tile = this.tiles[this.tiles.length - 1];\n      if (!tile) return;\n      this.listIndex = this.tiles.length - 1;\n      if (tile.tabIndex === -1) this.prevTile();\n    },\n\n    firstTile() {\n      const tile = this.tiles[0];\n      if (!tile) return;\n      this.listIndex = 0;\n      if (tile.tabIndex === -1) this.nextTile();\n    },\n\n    onKeyDown(e) {\n      if (e.keyCode === keyCodes.esc) {\n        // Wait for dependent elements to close first\n        setTimeout(() => {\n          this.isActive = false;\n        });\n        const activator = this.getActivator();\n        this.$nextTick(() => activator && activator.focus());\n      } else if (!this.isActive && [keyCodes.up, keyCodes.down].includes(e.keyCode)) {\n        this.isActive = true;\n      } // Allow for isActive watcher to generate tile list\n\n\n      this.$nextTick(() => this.changeListIndex(e));\n    },\n\n    onResize() {\n      if (!this.isActive) return; // Account for screen resize\n      // and orientation change\n      // eslint-disable-next-line no-unused-expressions\n\n      this.$refs.content.offsetWidth;\n      this.updateDimensions(); // When resizing to a smaller width\n      // content width is evaluated before\n      // the new activator width has been\n      // set, causing it to not size properly\n      // hacky but will revisit in the future\n\n      clearTimeout(this.resizeTimeout);\n      this.resizeTimeout = window.setTimeout(this.updateDimensions, 100);\n    }\n\n  },\n\n  render(h) {\n    const data = {\n      staticClass: 'v-menu',\n      class: {\n        'v-menu--attached': this.attach === '' || this.attach === true || this.attach === 'attach'\n      },\n      directives: [{\n        arg: '500',\n        name: 'resize',\n        value: this.onResize\n      }]\n    };\n    return h('div', data, [!this.activator && this.genActivator(), this.showLazyContent(() => [this.$createElement(VThemeProvider, {\n      props: {\n        root: true,\n        light: this.light,\n        dark: this.dark\n      }\n    }, [this.genTransition()])])]);\n  }\n\n});\n//# sourceMappingURL=VMenu.js.map","import { deprecate } from '../../util/console';\nimport Vue from 'vue';\n/* @vue/component */\n\nexport default Vue.extend({\n  name: 'mobile',\n  props: {\n    mobileBreakpoint: {\n      type: [Number, String],\n\n      default() {\n        // Avoid destroying unit\n        // tests for users\n        return this.$vuetify ? this.$vuetify.breakpoint.mobileBreakpoint : undefined;\n      },\n\n      validator: v => !isNaN(Number(v)) || ['xs', 'sm', 'md', 'lg', 'xl'].includes(String(v))\n    }\n  },\n  computed: {\n    isMobile() {\n      const {\n        mobile,\n        width,\n        name,\n        mobileBreakpoint\n      } = this.$vuetify.breakpoint; // Check if local mobileBreakpoint matches\n      // the application's mobileBreakpoint\n\n      if (mobileBreakpoint === this.mobileBreakpoint) return mobile;\n      const mobileWidth = parseInt(this.mobileBreakpoint, 10);\n      const isNumber = !isNaN(mobileWidth);\n      return isNumber ? width < mobileWidth : name === this.mobileBreakpoint;\n    }\n\n  },\n\n  created() {\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('mobile-break-point')) {\n      deprecate('mobile-break-point', 'mobile-breakpoint', this);\n    }\n  }\n\n});\n//# sourceMappingURL=index.js.map","import Vue from 'vue';\n/* @vue/component */\n\nexport default Vue.extend({\n  name: 'returnable',\n  props: {\n    returnValue: null\n  },\n  data: () => ({\n    isActive: false,\n    originalValue: null\n  }),\n  watch: {\n    isActive(val) {\n      if (val) {\n        this.originalValue = this.returnValue;\n      } else {\n        this.$emit('update:return-value', this.originalValue);\n      }\n    }\n\n  },\n  methods: {\n    save(value) {\n      this.originalValue = value;\n      setTimeout(() => {\n        this.isActive = false;\n      });\n    }\n\n  }\n});\n//# sourceMappingURL=index.js.map","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VPicker.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1eecf739\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-input,.theme--light.v-input input,.theme--light.v-input textarea{color:rgba(0,0,0,.87)}.theme--light.v-input input::-moz-placeholder,.theme--light.v-input textarea::-moz-placeholder{color:rgba(0,0,0,.38)}.theme--light.v-input input:-ms-input-placeholder,.theme--light.v-input textarea:-ms-input-placeholder{color:rgba(0,0,0,.38)}.theme--light.v-input input::placeholder,.theme--light.v-input textarea::placeholder{color:rgba(0,0,0,.38)}.theme--light.v-input--is-disabled,.theme--light.v-input--is-disabled input,.theme--light.v-input--is-disabled textarea{color:rgba(0,0,0,.38)}.theme--dark.v-input,.theme--dark.v-input input,.theme--dark.v-input textarea{color:#fff}.theme--dark.v-input input::-moz-placeholder,.theme--dark.v-input textarea::-moz-placeholder{color:hsla(0,0%,100%,.5)}.theme--dark.v-input input:-ms-input-placeholder,.theme--dark.v-input textarea:-ms-input-placeholder{color:hsla(0,0%,100%,.5)}.theme--dark.v-input input::placeholder,.theme--dark.v-input textarea::placeholder{color:hsla(0,0%,100%,.5)}.theme--dark.v-input--is-disabled,.theme--dark.v-input--is-disabled input,.theme--dark.v-input--is-disabled textarea{color:hsla(0,0%,100%,.5)}.v-input{align-items:flex-start;display:flex;flex:1 1 auto;font-size:16px;letter-spacing:normal;max-width:100%;text-align:left}.v-input .v-progress-linear{top:calc(100% - 1px);left:0}.v-input input{max-height:32px}.v-input input:invalid,.v-input textarea:invalid{box-shadow:none}.v-input input:active,.v-input input:focus,.v-input textarea:active,.v-input textarea:focus{outline:none}.v-input .v-label{height:20px;line-height:20px;letter-spacing:normal}.v-input__append-outer,.v-input__prepend-outer{display:inline-flex;margin-bottom:4px;margin-top:4px;line-height:1}.v-input__append-outer .v-icon,.v-input__prepend-outer .v-icon{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.v-application--is-ltr .v-input__append-outer{margin-left:9px}.v-application--is-ltr .v-input__prepend-outer,.v-application--is-rtl .v-input__append-outer{margin-right:9px}.v-application--is-rtl .v-input__prepend-outer{margin-left:9px}.v-input__control{display:flex;flex-direction:column;height:auto;flex-grow:1;flex-wrap:wrap;min-width:0;width:100%}.v-input__icon{align-items:center;display:inline-flex;height:24px;flex:1 0 auto;justify-content:center;min-width:24px;width:24px}.v-input__icon--clear{border-radius:50%}.v-input__icon--clear .v-icon--disabled{visibility:hidden}.v-input__slot{align-items:center;display:flex;margin-bottom:8px;min-height:inherit;position:relative;transition:.3s cubic-bezier(.25,.8,.5,1);transition-property:height,min-height;width:100%}.v-input--dense>.v-input__control>.v-input__slot{margin-bottom:4px}.v-input--is-loading>.v-input__control>.v-input__slot:after,.v-input--is-loading>.v-input__control>.v-input__slot:before{display:none}.v-input--hide-details>.v-input__control>.v-input__slot{margin-bottom:0}.v-input--has-state.error--text .v-label{-webkit-animation:v-shake .6s cubic-bezier(.25,.8,.5,1);animation:v-shake .6s cubic-bezier(.25,.8,.5,1)}.v-input--hide-spin-buttons input::-webkit-inner-spin-button,.v-input--hide-spin-buttons input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.v-input--hide-spin-buttons input[type=number]{-moz-appearance:textfield}\", \"\"]);\n// Exports\nmodule.exports = exports;\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\"}},[(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==true && _vm.YearCommittee.Body=='H' && Object.keys(_vm.Speaker).length !== 0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Speaker: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' + _vm.Speaker.SessionMemberId}},[_vm._v(_vm._s(_vm.Speaker.Member.LastName)+\", \"+_vm._s(_vm.Speaker.Member.FirstName))])],1)],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==true && _vm.YearCommittee.Body=='H' && Object.keys(_vm.SpeakerProTempore).length !== 0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Speaker Pro Tempore: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' + _vm.SpeakerProTempore.SessionMemberId}},[_vm._v(_vm._s(_vm.SpeakerProTempore.Member.LastName)+\", \"+_vm._s(_vm.SpeakerProTempore.Member.FirstName))])],1)],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==true && _vm.YearCommittee.Body=='H' && Object.keys(_vm.ChiefClerk).length !== 0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Chief Clerk: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_vm._v(\" \"+_vm._s(_vm.ChiefClerk))])],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==true && _vm.YearCommittee.Body=='S' && Object.keys(_vm.President).length !== 0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"President: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'https://governor.sd.gov/governor/lt-governor.aspx'}},[_vm._v(_vm._s(_vm.President))])])],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==true && _vm.YearCommittee.Body=='S' && Object.keys(_vm.PresidentProTempore).length !== 0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"President Pro Tempore: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' + _vm.PresidentProTempore.SessionMemberId}},[_vm._v(_vm._s(_vm.PresidentProTempore.Member.LastName)+\", \"+_vm._s(_vm.PresidentProTempore.Member.FirstName))])],1)],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==true && _vm.YearCommittee.Body=='S' && Object.keys(_vm.Secretary).length !== 0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Secretary: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_vm._v(_vm._s(_vm.Secretary))])],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==false && Object.keys(_vm.Chair).length !== 0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Chair: \")])]),(_vm.Chair.SessionMemberId)?_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' + _vm.Chair.SessionMemberId}},[_vm._v(_vm._s(_vm.Chair.Member.LastName)+\", \"+_vm._s(_vm.Chair.Member.FirstName))])],1):(_vm.Chair.PrettyName)?_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_vm._v(_vm._s(_vm.Chair.PrettyName))]):_vm._e()],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==false &&Object.keys(_vm.LeadCoChair).length !== 0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Lead Co-Chair: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' + _vm.LeadCoChair.SessionMemberId}},[_vm._v(_vm._s(_vm.LeadCoChair.Member.LastName)+\", \"+_vm._s(_vm.LeadCoChair.Member.FirstName))])],1)],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==false && _vm.CoChair.length !== 0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Co-Chair: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},_vm._l((_vm.CoChair),function(i,index){return _c('span',{key:i.SessionMemberId},[_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' + i.SessionMemberId}},[_vm._v(_vm._s(i.Member.LastName)+\", \"+_vm._s(i.Member.FirstName))]),(index < _vm.CoChair.length - 1)?_c('span',[_vm._v(\"; \")]):_vm._e()],1)}),0)],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==false &&Object.keys(_vm.ViceChair).length !== 0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Vice-Chair: \")])]),(_vm.ViceChair.SessionMemberId)?_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' + _vm.ViceChair.SessionMemberId}},[_vm._v(_vm._s(_vm.ViceChair.Member.LastName)+\", \"+_vm._s(_vm.ViceChair.Member.FirstName))])],1):(_vm.ViceChair.PrettyName)?_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_vm._v(_vm._s(_vm.ViceChair.PrettyName))]):_vm._e()],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==false &&Object.keys(_vm.ExOfficio).length !== 0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Ex Officio: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' + _vm.ExOfficio.SessionMemberId}},[_vm._v(_vm._s(_vm.ExOfficio.Member.LastName)+\", \"+_vm._s(_vm.ExOfficio.Member.FirstName))])],1)],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==false &&_vm.CommitteeType == 'Session' &&  _vm.YearCommittee.Committee.Room != null && _vm.YearCommittee.Committee.Room.Room != '' )?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Room: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_vm._v(_vm._s(_vm.YearCommittee.Committee.Room))])],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==false &&_vm.CommitteeType == 'Session' && _vm.YearCommittee.Committee.Days != null)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Days: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_vm._v(_vm._s(_vm.YearCommittee.Committee.Days))])],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==false &&_vm.CommitteeType == 'Session' &&  _vm.YearCommittee.Committee.MeetingTime != null)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Time: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_vm._v(_vm._s(_vm.MeetingTimePretty(_vm.YearCommittee.Committee.MeetingTime)))])],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==true)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Chairs/Leadership: \")])]),(_vm.YearCommittee.Body=='H')?_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.HouseDirectoryURL}},[_vm._v(\"View\")])]):_vm._e(),(_vm.YearCommittee.Body=='S')?_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.SenateDirectoryURL}},[_vm._v(\"View\")])]):_vm._e()],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==true)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Seating Chart: \")])]),(_vm.YearCommittee.Body=='H')?_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.HouseSeatingChartURL}},[_vm._v(\"View\")])]):_vm._e(),(_vm.YearCommittee.Body=='S')?_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.SenateSeatingChartURL}},[_vm._v(\"View\")])]):_vm._e()],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==true && _vm.YearCommittee.Body=='H')?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"House Rules: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.HouseRulesURL}},[_vm._v(\"View\")])])],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==true && _vm.YearCommittee.Body=='S')?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Senate Rules: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.SenateRulesURL}},[_vm._v(\"View\")])])],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==true && _vm.JointRulesURL)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Joint Rules:\")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":_vm.JointRulesURL}},[_vm._v(\"View\")])])],1):_vm._e(),(_vm.Representatives.length >0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Representatives: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},_vm._l((_vm.Representatives),function(r,i){return _c('div',{staticStyle:{\"display\":\"inline\"}},[_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' +r.SessionMemberId}},[_vm._v(_vm._s(r.Member.LastName)+\", \"+_vm._s(r.Member.FirstName)+\" (\"+_vm._s(r.Politics)+\")\")]),(i<_vm.Representatives.length-1)?_c('span',[_vm._v(\"; \")]):_vm._e()],1)}),0)],1):_vm._e(),(_vm.Senators.length >0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Senators: \")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},_vm._l((_vm.Senators),function(s,i){return _c('div',{staticStyle:{\"display\":\"inline\"}},[_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' +s.SessionMemberId}},[_vm._v(_vm._s(s.Member.LastName)+\", \"+_vm._s(s.Member.FirstName)+\" (\"+_vm._s(s.Politics)+\")\")]),(i<_vm.Senators.length-1)?_c('span',[_vm._v(\"; \")]):_vm._e()],1)}),0)],1):_vm._e(),(_vm.CommitteeId == 504 || _vm.CommitteeId == 503)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b')]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('b',[_vm._v(\"Pending Senate Rule S4-1 Change\")])])],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==false && _vm.YearCommittee.NonCommitteeMembers != null && _vm.YearCommittee.NonCommitteeMembers.length >0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Non-Legislators:\")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},_vm._l((_vm.YearCommittee.NonCommitteeMembers),function(s,i){return _c('div',{staticStyle:{\"display\":\"inline\"}},[_vm._v(\" \"+_vm._s(s.PrettyName)),(i<_vm.YearCommittee.NonCommitteeMembers.length-1)?_c('span',[_vm._v(\"; \")]):_vm._e()])}),0)],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==false && _vm.YearCommittee.Staff.length >0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Staff:\")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},_vm._l((_vm.YearCommittee.Staff),function(s,i){return _c('div',{staticStyle:{\"display\":\"inline\"}},[(s.UserId)?_c('router-link',{attrs:{\"to\":'/Staff/Profile/' +s.UserId}},[_vm._v(_vm._s(s.LastName)+\", \"+_vm._s(s.FirstName))]):_c('span',[_vm._v(_vm._s(s.LastName))]),(i<_vm.YearCommittee.Staff.length-1)?_c('span',[_vm._v(\"; \")]):_vm._e()],1)}),0)],1):_vm._e(),(_vm.YearCommittee && _vm.YearCommittee.Committee.FullBody==true && Object.keys(_vm.Secretary).length !== 0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[(_vm.YearCommittee.Committee.FullBody==false)?_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Secretary:\")])]):_vm._e(),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_vm._v(_vm._s(_vm.YearCommittee.Secretary))])],1):_vm._e(),(_vm.YearCommittee && _vm.CommitteeType != 'Session' && (_vm.YearCommittee.Committee.FullBody==false && _vm.YearCommittee.Authority != null && _vm.YearCommittee.Authority != '') && _vm.YearCommittee.Authority.length >0)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Scope/Authority:\")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},_vm._l((_vm.YearCommittee.Authority),function(auth,i){return _c('span',[(auth.Sdcl != null && i == 0)?_c('span',[_vm._v(\"SDCL \")]):_vm._e(),(auth.Sdcl != null)?_c('span',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'https://sdlegislature.gov/Statutes/' + auth.Sdcl}},[_vm._v(_vm._s(auth.Sdcl))]),((_vm.YearCommittee.Authority.length -1) > i)?_c('span',[_vm._v(\", \")]):_vm._e()]):(auth.BillNumber !=null)?_c('span',[_c('router-link',{attrs:{\"to\":'/Session/Bill/' + auth.BillId}},[_vm._v(_vm._s(auth.BillNumber))]),((_vm.YearCommittee.Authority.length -1) > i)?_c('span',[_vm._v(\", \")]):_vm._e()],1):_c('span',[_c('a',{attrs:{\"rel\":\"noopener\",\"href\":'https://mylrc.sdlegislature.gov/api/Documents/StudyScope/' + auth.DocumentId + '.pdf'}},[_vm._v(\"Study Scope\")]),((_vm.YearCommittee.Authority.length -1) > i)?_c('span',[_vm._v(\", \")]):_vm._e()])])}),0)],1):_vm._e(),(_vm.YearCommittee && _vm.currentRoute.includes('/Interim') && _vm.YearCommittee.MiscInfo)?_c('v-row',{attrs:{\"xs12\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"4\",\"md\":\"3\"}},[_c('b',[_vm._v(\"Other Information:\")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"8\",\"md\":\"9\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.YearCommittee.MiscInfo)}})])],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row>\r\n        <v-col cols=\"12\">\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==true && YearCommittee.Body=='H' && Object.keys(Speaker).length !== 0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Speaker: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\"><router-link :to=\"'/Legislators/Profile/' + Speaker.SessionMemberId\">{{Speaker.Member.LastName}}, {{Speaker.Member.FirstName}}</router-link></v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==true && YearCommittee.Body=='H' && Object.keys(SpeakerProTempore).length !== 0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Speaker Pro Tempore: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\"><router-link :to=\"'/Legislators/Profile/' + SpeakerProTempore.SessionMemberId\">{{SpeakerProTempore.Member.LastName}}, {{SpeakerProTempore.Member.FirstName}}</router-link></v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==true && YearCommittee.Body=='H' && Object.keys(ChiefClerk).length !== 0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Chief Clerk: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\"> {{ChiefClerk}}</v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==true && YearCommittee.Body=='S' && Object.keys(President).length !== 0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>President: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\"><a rel=\"noopener\" :href=\"'https://governor.sd.gov/governor/lt-governor.aspx'\">{{President}}</a></v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==true && YearCommittee.Body=='S' && Object.keys(PresidentProTempore).length !== 0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>President Pro Tempore: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\"><router-link :to=\"'/Legislators/Profile/' + PresidentProTempore.SessionMemberId\">{{PresidentProTempore.Member.LastName}}, {{PresidentProTempore.Member.FirstName}}</router-link></v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==true && YearCommittee.Body=='S' && Object.keys(Secretary).length !== 0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Secretary: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\">{{Secretary}}</v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==false && Object.keys(Chair).length !== 0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Chair: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\" v-if=\"Chair.SessionMemberId\"><router-link :to=\"'/Legislators/Profile/' + Chair.SessionMemberId\">{{Chair.Member.LastName}}, {{Chair.Member.FirstName}}</router-link></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\" v-else-if=\"Chair.PrettyName\">{{Chair.PrettyName}}</v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==false &&Object.keys(LeadCoChair).length !== 0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Lead Co-Chair: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\"><router-link :to=\"'/Legislators/Profile/' + LeadCoChair.SessionMemberId\">{{LeadCoChair.Member.LastName}}, {{LeadCoChair.Member.FirstName}}</router-link></v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==false && CoChair.length !== 0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Co-Chair: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\">\r\n                    <span v-for=\"(i,index) in CoChair\" :key=\"i.SessionMemberId\"><router-link :to=\"'/Legislators/Profile/' + i.SessionMemberId\">{{i.Member.LastName}}, {{i.Member.FirstName}}</router-link><span v-if=\"index < CoChair.length - 1\">; </span></span>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==false &&Object.keys(ViceChair).length !== 0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Vice-Chair: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\" v-if=\"ViceChair.SessionMemberId\"><router-link :to=\"'/Legislators/Profile/' + ViceChair.SessionMemberId\">{{ViceChair.Member.LastName}}, {{ViceChair.Member.FirstName}}</router-link></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\" v-else-if=\"ViceChair.PrettyName\">{{ViceChair.PrettyName}}</v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==false &&Object.keys(ExOfficio).length !== 0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Ex Officio: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\"><router-link :to=\"'/Legislators/Profile/' + ExOfficio.SessionMemberId\">{{ExOfficio.Member.LastName}}, {{ExOfficio.Member.FirstName}}</router-link></v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==false &&CommitteeType == 'Session' &&  YearCommittee.Committee.Room != null && YearCommittee.Committee.Room.Room != '' \">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Room: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\">{{YearCommittee.Committee.Room}}</v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==false &&CommitteeType == 'Session' && YearCommittee.Committee.Days != null\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Days: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\">{{YearCommittee.Committee.Days}}</v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==false &&CommitteeType == 'Session' &&  YearCommittee.Committee.MeetingTime != null\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Time: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\">{{MeetingTimePretty(YearCommittee.Committee.MeetingTime)}}</v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==true\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Chairs/Leadership: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\" v-if=\"YearCommittee.Body=='H'\"><a rel=\"noopener\" :href=\"HouseDirectoryURL\">View</a></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\" v-if=\"YearCommittee.Body=='S'\"><a rel=\"noopener\" :href=\"SenateDirectoryURL\">View</a></v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==true\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Seating Chart: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\" v-if=\"YearCommittee.Body=='H'\"><a rel=\"noopener\" :href=\"HouseSeatingChartURL\">View</a></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\" v-if=\"YearCommittee.Body=='S'\"><a rel=\"noopener\" :href=\"SenateSeatingChartURL\">View</a></v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==true && YearCommittee.Body=='H'\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>House Rules: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\"><a rel=\"noopener\" :href=\"HouseRulesURL\">View</a></v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==true && YearCommittee.Body=='S'\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Senate Rules: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\"><a rel=\"noopener\" :href=\"SenateRulesURL\">View</a></v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==true && JointRulesURL\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Joint Rules:</b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\"><a rel=\"noopener\" :href=\"JointRulesURL\">View</a></v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"Representatives.length >0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Representatives: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\">\r\n                    <div v-for=\"(r,i) in Representatives\" style=\"display:inline\">\r\n                        <router-link :to=\"'/Legislators/Profile/' +r.SessionMemberId\">{{r.Member.LastName}},&nbsp;{{r.Member.FirstName}}&nbsp;({{r.Politics}})</router-link><span v-if=\"i<Representatives.length-1\">; </span>\r\n                    </div>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"Senators.length >0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Senators: </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\">\r\n                    <div v-for=\"(s,i) in Senators\" style=\"display:inline\">\r\n                        <router-link :to=\"'/Legislators/Profile/' +s.SessionMemberId\">{{s.Member.LastName}},&nbsp;{{s.Member.FirstName}}&nbsp;({{s.Politics}})</router-link><span v-if=\"i<Senators.length-1\">; </span>\r\n                    </div>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"CommitteeId == 504 || CommitteeId == 503\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b> </b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\"><b>Pending Senate Rule S4-1 Change</b></v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==false && YearCommittee.NonCommitteeMembers != null && YearCommittee.NonCommitteeMembers.length >0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Non-Legislators:</b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\">\r\n                    <div v-for=\"(s,i) in YearCommittee.NonCommitteeMembers\" style=\"display:inline\">\r\n                        {{s.PrettyName}}<span v-if=\"i<YearCommittee.NonCommitteeMembers.length-1\">; </span>\r\n                    </div>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==false && YearCommittee.Staff.length >0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Staff:</b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\">\r\n                    <div v-for=\"(s,i) in YearCommittee.Staff\" style=\"display:inline\">\r\n                        <router-link v-if=\"s.UserId\" :to=\"'/Staff/Profile/' +s.UserId\">{{s.LastName}}, {{s.FirstName}}</router-link><span v-else>{{s.LastName}}</span><span v-if=\"i<YearCommittee.Staff.length-1\">; </span>\r\n                    </div>\r\n                </v-col>\r\n            </v-row>\r\n\r\n            <v-row xs12 v-if=\"YearCommittee && YearCommittee.Committee.FullBody==true && Object.keys(Secretary).length !== 0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\" v-if=\"YearCommittee.Committee.FullBody==false\"><b>Secretary:</b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\">{{YearCommittee.Secretary}}</v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && CommitteeType != 'Session' && (YearCommittee.Committee.FullBody==false && YearCommittee.Authority != null && YearCommittee.Authority != '') && YearCommittee.Authority.length >0\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Scope/Authority:</b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\">\r\n                    <span v-for=\"(auth,i) in YearCommittee.Authority\">\r\n                        <span v-if=\"auth.Sdcl != null && i == 0\">SDCL </span>\r\n                        <span v-if=\"auth.Sdcl != null\"><a rel=\"noopener\" :href=\"'https://sdlegislature.gov/Statutes/' + auth.Sdcl\">{{auth.Sdcl }}</a><span v-if=\"(YearCommittee.Authority.length -1) > i\">, </span></span>\r\n                        <span v-else-if=\"auth.BillNumber !=null\"><router-link :to=\"'/Session/Bill/' + auth.BillId\">{{auth.BillNumber}}</router-link><span v-if=\"(YearCommittee.Authority.length -1) > i\">, </span></span>\r\n                        <span v-else><a rel=\"noopener\" :href=\"'https://mylrc.sdlegislature.gov/api/Documents/StudyScope/' + auth.DocumentId + '.pdf'\">Study Scope</a><span v-if=\"(YearCommittee.Authority.length -1) > i\">, </span></span>\r\n                    </span>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row xs12 v-if=\"YearCommittee && currentRoute.includes('/Interim') && YearCommittee.MiscInfo\">\r\n                <v-col xs=\"6\" sm=\"4\" md=\"3\"><b>Other Information:</b></v-col>\r\n                <v-col xs=\"6\" sm=\"8\" md=\"9\">\r\n                    <div v-html=\"YearCommittee.MiscInfo\"></div>\r\n                </v-col>\r\n            </v-row>\r\n        </v-col>\r\n    </v-row>\r\n\r\n</template>\r\n<script>\r\n    import moment from 'moment'\r\n\r\n    export default {\r\n        name: 'Detail',\r\n        props: ['CommitteeId'],\r\n        components: {\r\n\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                this.loading = true;\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    fetch('/api/InterimCommittees/Detail/' + this.CommitteeId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => {\r\n                        this.loading = false;\r\n                        if (res.ok)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else if (res.status === 404) {\r\n                            this.$router.push('/Interim/Committees/' + this.Session.SessionId);\r\n                            return res.text().then(r => Promise.reject(r));\r\n                        }\r\n                        else {\r\n                            return res.text().then(r => Promise.reject(r));\r\n                        }\r\n                        \r\n                    }).then(response => {\r\n                        this.YearCommittee = EncodeDatetimes(response);\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n\r\n                } else {\r\n                    fetch('/api/SessionCommittees/Detail/' + this.CommitteeId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res => \r\n                    {\r\n                        this.loading = false;\r\n                        if (res.ok) {\r\n                            return res.json();\r\n                        }\r\n                        else if (res.status === 404) {\r\n                            this.$router.push('/Session/Committees/' + this.Session.SessionId);\r\n                            return res.text().then(r => Promise.reject(r));\r\n                        }\r\n                        else {\r\n                            return res.text().then(r => Promise.reject(r));\r\n                        }\r\n                    }).then(response => {\r\n                        this.YearCommittee = EncodeDatetimes(response);\r\n                        if (this.YearCommittee.CommitteeAgendas != null) {\r\n                            var dates = this.YearCommittee.CommitteeAgendas.map(z => moment(z.DocumentDate).format('MM/DD/YYYY'));\r\n                            this.UniqueDates = [new Set(dates)][0];\r\n                        }\r\n                        if (this.YearCommittee.FullBody) {\r\n                            this.LoadRuleDocs();\r\n                        }\r\n\r\n                    }).catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n            },\r\n            LoadRuleDocs() {\r\n                fetch('/api/Documents/DocumentType?Type=72&Type=73&Type=74&SessionIds=' + this.Session.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.items = EncodeDatetimes(response);\r\n                    let jr = this.items.find(x => x.Filename == 'jointrules.pdf');\r\n                    let hr = this.items.find(x => x.Filename == 'houserules.pdf');\r\n                    let sr = this.items.find(x => x.Filename == 'senaterules.pdf');\r\n                    let hsc = this.items.find(x => x.Filename == 'houseseatingchart.pdf');\r\n                    let ssc = this.items.find(x => x.Filename == 'senateseatingchart.pdf');\r\n                    let hd = this.items.find(x => x.Filename == 'housedirectory.pdf');\r\n                    let sd = this.items.find(x => x.Filename == 'senatedirectory.pdf');\r\n\r\n\r\n                    if (jr) { this.JointRulesURL = this.$MyLRCUrl.value + 'api/Documents/SessionRules/' + jr.DocumentId + '.pdf'; }\r\n                    if (hr) { this.HouseRulesURL = this.$MyLRCUrl.value + 'api/Documents/SessionRules/' + hr.DocumentId + '.pdf'; }\r\n                    if (sr) { this.SenateRulesURL = this.$MyLRCUrl.value + 'api/Documents/SessionRules/' + sr.DocumentId + '.pdf'; }\r\n                    if (hsc) { this.HouseSeatingChartURL = this.$MyLRCUrl.value + 'api/Documents/SeatingChart/' + hsc.DocumentId + '.pdf'; }\r\n                    if (ssc) { this.SenateSeatingChartURL = this.$MyLRCUrl.value + 'api/Documents/SeatingChart/' + ssc.DocumentId + '.pdf'; }\r\n                    if (hd) { this.HouseDirectoryURL = this.$MyLRCUrl.value + 'api/Documents/Directory/' + hd.DocumentId + '.pdf'; }\r\n                    if (sd) { this.SenateDirectoryURL = this.$MyLRCUrl.value + 'api/Documents/Directory/' + sd.DocumentId + '.pdf'; }\r\n\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n\r\n            },\r\n            MeetingTimePretty(Time) {\r\n                if (Time != undefined) {\r\n                    return moment(Time).format('h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            DatePretty(Date) {\r\n                if (Date != undefined) {\r\n                    return moment(Date).format('M/DD h:mm A');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            MinDatePretty(Date) {\r\n                if (Date != undefined) {\r\n                    return moment(Date).format('M/DD');\r\n                } else {\r\n                    return null;\r\n                }\r\n            },\r\n            openDocumentHTML(DocumentId) {\r\n                //return Promise.resolve(\"<p>STring that you want me to write</p>\");\r\n                return fetch('/api/Documents/' + DocumentId + '.html', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.text();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    return response;\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n            async expandItem(item) {\r\n                if (item.value && item.item.HTML == null) {\r\n                    item.item.HTML = await this.openDocumentHTML(item.item.DocumentId);\r\n                }\r\n            },\r\n            rowClick(item, item1) {\r\n                var temp = {\r\n                    item: item,\r\n                    value: !item1.isExpanded\r\n                };\r\n                if (!item1.isExpanded) {\r\n                    this.expandItem(temp);\r\n                    if (item.DocumentTypeId == 3 || item.DocumentTypeId == 5) {\r\n                        this.expandedAgendas.push(item);\r\n                    } else {\r\n                        this.expandedMinutes.push(item);\r\n\r\n                    }\r\n                } else {\r\n                    let testing = this.expandedAgendas.findIndex(x => x.DocumentId == item.DocumentId);\r\n                    if (item.DocumentTypeId == 3 || item.DocumentTypeId == 5) {\r\n\r\n                        this.expandedAgendas.splice(testing, 1);\r\n                    } else {\r\n                        this.expandedMinutes.splice(testing, 1);\r\n                    }\r\n                }\r\n            },\r\n            combindAgendaURL(item) {\r\n                var docs = this.YearCommittee.CommitteeAgendas.filter(x => moment(x.DocumentDate).format('MM/DD/YYYY') == moment(item).format('MM/DD/YYYY'));\r\n                var str = \"\";\r\n                docs.forEach(i => {\r\n                    str += \"&Ids=\" + i.DocumentId;\r\n                });\r\n                str = str.substring(1, str.length);\r\n                return this.$MyLRCUrl.value + 'api/Documents/Combined.pdf?' + str;\r\n            },\r\n            isDateInArray(needle, haystack) {\r\n                for (var i = 0; i < haystack.length; i++) {\r\n                    if (needle.getTime() === haystack[i].getTime()) {\r\n                        return true;\r\n                    }\r\n                }\r\n                return false;\r\n            }\r\n        },\r\n        data: function () {\r\n            return {\r\n                loading: true,\r\n                loadingHTML: true,\r\n                filterValue: 'Detail',\r\n                UniqueDates: [],\r\n                HouseRulesURL: null,\r\n                SenateRulesURL: null,\r\n                JointRulesURL: null,\r\n                SenateSeatingChartURL: null,\r\n                HouseSeatingChartURL: null,\r\n                HouseDirectoryURL: null,\r\n                SenateDirectoryURL: null,\r\n                tabs: [\r\n                    {\r\n                        value: 'Detail', type: 'All'\r\n                    },\r\n                    {\r\n                        value: 'Agendas', type: 'All'\r\n                    },\r\n                    {\r\n                        value: 'Minutes & Audio', type: 'All'\r\n                    },\r\n                    {\r\n                        value: 'Bills', type: 'Session'\r\n                    },\r\n                    {\r\n                        value: 'Hearing Documents', type: 'All'\r\n                    },\r\n                    {\r\n                        value: 'Committee Agendas', type: 'Session'\r\n                    },\r\n                ],\r\n                headers: [{ text: 'Date', value: 'DocumentDate' }, { text: '', value: 'DocumentId' }, { text: '', value: 'data-table-expand' },],\r\n                billHeaders: [{ text: 'Bill', value: 'BillId' }, { text: 'Title', value: 'Title' },],\r\n                expandedAgendas: [],\r\n                expandedMinutes: [],\r\n                CommitteeMemberTypes: [],\r\n                YearCommittee: {\r\n                    Session: {\r\n                        Year: '',\r\n                        SessionId: null,\r\n                    },\r\n                    Committee: {\r\n                        MeetingTime: '',\r\n                        Room: {\r\n                            Room: '',\r\n                        },\r\n                        Days: '',\r\n                    },\r\n                },\r\n                Documents: [],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            CommitteeId: function () {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            Session: function () {\r\n                if (this.YearCommittee.Session && this.YearCommittee.Session.SessionId) {\r\n                    return this.YearCommittee.Session;\r\n                }\r\n                else if (this.YearCommittee.SessionId) {\r\n                    return this.$Sessions.value.find(x => x.SessionId == this.YearCommittee.SessionId);\r\n                }\r\n                else if (this.YearCommittee.Session) {\r\n                    return this.$Sessions.value.find(x => x.SessionId == this.YearCommittee.Session.SessionId);\r\n                }\r\n                else {\r\n                    return this.$Session;\r\n                }\r\n            },\r\n            CommitteeType: function () {\r\n                //switching between session and interm\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    return \"Interim\";\r\n                } else {\r\n                    return \"Session\";\r\n                }\r\n            },\r\n            currentRoute: function () {\r\n                return this.$route.path;\r\n            },\r\n            filteredTabs: function () {\r\n                if (this.currentRoute.includes('/Interim')) {\r\n                    return this.tabs.filter(x => x.type != 'Session');\r\n                } else {\r\n                    if (this.YearCommittee.Committee.FullBody) {\r\n                        return this.tabs;\r\n                    } else {\r\n                        return this.tabs.filter(x => x.value != 'Committee Agendas');\r\n\r\n                    }\r\n                }\r\n            },\r\n            Senators: function () {\r\n                if (this.YearCommittee.CommitteeMembers != undefined) {\r\n                    return this.YearCommittee.CommitteeMembers.filter(x => x.MemberType == 'S').sort((a, b) => (a.Member.LastName > b.Member.LastName) ? 1 : -1);\r\n                } else {\r\n                    return [];\r\n                }\r\n            },\r\n            Representatives: function () {\r\n                if (this.YearCommittee.CommitteeMembers != undefined) {\r\n                    return this.YearCommittee.CommitteeMembers.filter(x => x.MemberType == 'H').sort((a, b) => (a.Member.LastName > b.Member.LastName) ? 1 : -1);\r\n                } else {\r\n                    return [];\r\n                }\r\n            },\r\n            Chair: function () {\r\n                if (this.YearCommittee.CommitteeMembers != undefined) {\r\n                    var res = this.YearCommittee.CommitteeMembers.filter(x => x.CommitteeMemberType == 'Chair');\r\n                    if (res.length > 0) {\r\n                        return res[0];\r\n                    }\r\n                    else if (this.YearCommittee && this.YearCommittee.NonCommitteeMembers && this.YearCommittee.NonCommitteeMembers.some(x => x.Chair == true)) {\r\n                        return this.YearCommittee.NonCommitteeMembers.find(x => x.Chair == true);\r\n                    }\r\n                    return {};\r\n                }\r\n                else if (this.YearCommittee && this.YearCommittee.NonCommitteeMembers && this.YearCommittee.NonCommitteeMembers.some(x => x.Chair == true)) {\r\n                    return this.YearCommittee.NonCommitteeMembers.find(x => x.Chair == true);\r\n                }\r\n                return {};\r\n            },\r\n            ViceChair: function () {\r\n                if (this.YearCommittee.CommitteeMembers != undefined) {\r\n                    var res = this.YearCommittee.CommitteeMembers.filter(x => x.CommitteeMemberType == 'Vice-Chair');\r\n                    if (res.length > 0) {\r\n                        return res[0];\r\n                    }\r\n                    else if (this.YearCommittee && this.YearCommittee.NonCommitteeMembers && this.YearCommittee.NonCommitteeMembers.some(x => x.ViceChair == true)) {\r\n                        return this.YearCommittee.NonCommitteeMembers.find(x => x.ViceChair == true);\r\n                    }\r\n                    return {};\r\n                }\r\n                else if (this.YearCommittee && this.YearCommittee.NonCommitteeMembers && this.YearCommittee.NonCommitteeMembers.some(x => x.ViceChair == true)) {\r\n                    return this.YearCommittee.NonCommitteeMembers.find(x => x.ViceChair == true);\r\n                }\r\n                return {};\r\n            },\r\n            CoChair: function () {\r\n                if (this.YearCommittee.CommitteeMembers != undefined) {\r\n                    var res = this.YearCommittee.CommitteeMembers.filter(x => x.CommitteeMemberType == 'Co-Chair');\r\n                    if (res.length > 0) {\r\n                        return res;\r\n                    } else {\r\n                        return [];\r\n                    }\r\n                } else {\r\n                    return [];\r\n                }\r\n\r\n            },\r\n            LeadCoChair: function () {\r\n                if (this.YearCommittee.CommitteeMembers != undefined) {\r\n                    var res = this.YearCommittee.CommitteeMembers.filter(x => x.CommitteeMemberType == 'Lead Co-Chair');\r\n                    if (res.length > 0) {\r\n                        return res[0];\r\n                    } else {\r\n                        return {};\r\n                    }\r\n                } else {\r\n                    return {};\r\n                }\r\n            },\r\n            ExOfficio: function () {\r\n                if (this.YearCommittee.CommitteeMembers != undefined) {\r\n                    var res = this.YearCommittee.CommitteeMembers.filter(x => x.CommitteeMemberType == 'ex officio');\r\n                    if (res.length > 0) {\r\n                        return res[0];\r\n                    } else {\r\n                        return {};\r\n                    }\r\n                } else {\r\n                    return {};\r\n                }\r\n            },\r\n            Speaker: function () {\r\n                if (this.YearCommittee.Committee != undefined) {\r\n                    var res = this.YearCommittee.CommitteeMembers.filter(x => x.Position == 'Speaker of the House');\r\n                    if (res.length > 0) {\r\n                        return res[0];\r\n                    }\r\n                    else {\r\n                        return {};\r\n                    }\r\n                } else {\r\n                    return {};\r\n                }\r\n            },\r\n            ChiefClerk: function () {\r\n                if (this.YearCommittee.SessionStaff != undefined) {\r\n                    return this.YearCommittee.SessionStaff.ChiefClerk;\r\n\r\n                } else {\r\n                    return {};\r\n                }\r\n            },\r\n            President: function () {\r\n                if (this.YearCommittee.President != undefined) {\r\n\r\n                    return this.YearCommittee.President;\r\n                }\r\n                else {\r\n                    return \"\";\r\n                }\r\n\r\n            },\r\n            PresidentProTempore: function () {\r\n                if (this.YearCommittee.Committee != undefined) {\r\n                    var res = this.YearCommittee.CommitteeMembers.filter(x => x.Position == 'President Pro Tempore');\r\n                    if (res.length > 0) {\r\n                        return res[0];\r\n                    }\r\n                    else {\r\n                        return {};\r\n                    }\r\n                } else {\r\n                    return {};\r\n                }\r\n            },\r\n            SpeakerProTempore: function () {\r\n                if (this.YearCommittee.Committee != undefined) {\r\n                    var res = this.YearCommittee.CommitteeMembers.filter(x => x.Position == 'Speaker Pro Tempore');\r\n                    if (res.length > 0) {\r\n                        return res[0];\r\n                    }\r\n                    else {\r\n                        return {};\r\n                    }\r\n                } else {\r\n                    return {};\r\n                }\r\n            },\r\n            Secretary: function () {\r\n                if (this.YearCommittee.SessionStaff != undefined) {\r\n                    return this.YearCommittee.SessionStaff.Secretary;\r\n\r\n                } else {\r\n                    return {};\r\n                }\r\n            },\r\n        }\r\n    };</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Detail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Detail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Detail.vue?vue&type=template&id=308bcba5&\"\nimport script from \"./Detail.vue?vue&type=script&lang=js&\"\nexport * from \"./Detail.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// Styles\nimport \"../../../src/components/VOverlay/VOverlay.sass\"; // Mixins\n\nimport Colorable from './../../mixins/colorable';\nimport Themeable from '../../mixins/themeable';\nimport Toggleable from './../../mixins/toggleable'; // Utilities\n\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Colorable, Themeable, Toggleable).extend({\n  name: 'v-overlay',\n  props: {\n    absolute: Boolean,\n    color: {\n      type: String,\n      default: '#212121'\n    },\n    dark: {\n      type: Boolean,\n      default: true\n    },\n    opacity: {\n      type: [Number, String],\n      default: 0.46\n    },\n    value: {\n      default: true\n    },\n    zIndex: {\n      type: [Number, String],\n      default: 5\n    }\n  },\n  computed: {\n    __scrim() {\n      const data = this.setBackgroundColor(this.color, {\n        staticClass: 'v-overlay__scrim',\n        style: {\n          opacity: this.computedOpacity\n        }\n      });\n      return this.$createElement('div', data);\n    },\n\n    classes() {\n      return {\n        'v-overlay--absolute': this.absolute,\n        'v-overlay--active': this.isActive,\n        ...this.themeClasses\n      };\n    },\n\n    computedOpacity() {\n      return Number(this.isActive ? this.opacity : 0);\n    },\n\n    styles() {\n      return {\n        zIndex: this.zIndex\n      };\n    }\n\n  },\n  methods: {\n    genContent() {\n      return this.$createElement('div', {\n        staticClass: 'v-overlay__content'\n      }, this.$slots.default);\n    }\n\n  },\n\n  render(h) {\n    const children = [this.__scrim];\n    if (this.isActive) children.push(this.genContent());\n    return h('div', {\n      staticClass: 'v-overlay',\n      on: this.$listeners,\n      class: this.classes,\n      style: this.styles\n    }, children);\n  }\n\n});\n//# sourceMappingURL=VOverlay.js.map","import VOverlay from './VOverlay';\nexport { VOverlay };\nexport default VOverlay;\n//# sourceMappingURL=index.js.map","// Components\nimport VOverlay from '../../components/VOverlay'; // Utilities\n\nimport { keyCodes, addOnceEventListener, addPassiveEventListener, getZIndex, composedPath } from '../../util/helpers'; // Types\n\nimport Vue from 'vue';\n/* @vue/component */\n\nexport default Vue.extend().extend({\n  name: 'overlayable',\n  props: {\n    hideOverlay: Boolean,\n    overlayColor: String,\n    overlayOpacity: [Number, String]\n  },\n\n  data() {\n    return {\n      animationFrame: 0,\n      overlay: null\n    };\n  },\n\n  watch: {\n    hideOverlay(value) {\n      if (!this.isActive) return;\n      if (value) this.removeOverlay();else this.genOverlay();\n    }\n\n  },\n\n  beforeDestroy() {\n    this.removeOverlay();\n  },\n\n  methods: {\n    createOverlay() {\n      const overlay = new VOverlay({\n        propsData: {\n          absolute: this.absolute,\n          value: false,\n          color: this.overlayColor,\n          opacity: this.overlayOpacity\n        }\n      });\n      overlay.$mount();\n      const parent = this.absolute ? this.$el.parentNode : document.querySelector('[data-app]');\n      parent && parent.insertBefore(overlay.$el, parent.firstChild);\n      this.overlay = overlay;\n    },\n\n    genOverlay() {\n      this.hideScroll();\n      if (this.hideOverlay) return;\n      if (!this.overlay) this.createOverlay();\n      this.animationFrame = requestAnimationFrame(() => {\n        if (!this.overlay) return;\n\n        if (this.activeZIndex !== undefined) {\n          this.overlay.zIndex = String(this.activeZIndex - 1);\n        } else if (this.$el) {\n          this.overlay.zIndex = getZIndex(this.$el);\n        }\n\n        this.overlay.value = true;\n      });\n      return true;\n    },\n\n    /** removeOverlay(false) will not restore the scollbar afterwards */\n    removeOverlay(showScroll = true) {\n      if (this.overlay) {\n        addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n          if (!this.overlay || !this.overlay.$el || !this.overlay.$el.parentNode || this.overlay.value || this.isActive) return;\n          this.overlay.$el.parentNode.removeChild(this.overlay.$el);\n          this.overlay.$destroy();\n          this.overlay = null;\n        }); // Cancel animation frame in case\n        // overlay is removed before it\n        // has finished its animation\n\n        cancelAnimationFrame(this.animationFrame);\n        this.overlay.value = false;\n      }\n\n      showScroll && this.showScroll();\n    },\n\n    scrollListener(e) {\n      if ('key' in e) {\n        if (['INPUT', 'TEXTAREA', 'SELECT'].includes(e.target.tagName) || // https://github.com/vuetifyjs/vuetify/issues/4715\n        e.target.isContentEditable) return;\n        const up = [keyCodes.up, keyCodes.pageup];\n        const down = [keyCodes.down, keyCodes.pagedown];\n\n        if (up.includes(e.keyCode)) {\n          e.deltaY = -1;\n        } else if (down.includes(e.keyCode)) {\n          e.deltaY = 1;\n        } else {\n          return;\n        }\n      }\n\n      if (e.target === this.overlay || e.type !== 'keydown' && e.target === document.body || this.checkPath(e)) e.preventDefault();\n    },\n\n    hasScrollbar(el) {\n      if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;\n      const style = window.getComputedStyle(el);\n      return (['auto', 'scroll'].includes(style.overflowY) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight || ['auto', 'scroll'].includes(style.overflowX) && el.scrollWidth > el.clientWidth;\n    },\n\n    shouldScroll(el, e) {\n      if (el.hasAttribute('data-app')) return false;\n      const dir = e.shiftKey || e.deltaX ? 'x' : 'y';\n      const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY;\n      let alreadyAtStart;\n      let alreadyAtEnd;\n\n      if (dir === 'y') {\n        alreadyAtStart = el.scrollTop === 0;\n        alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight;\n      } else {\n        alreadyAtStart = el.scrollLeft === 0;\n        alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth;\n      }\n\n      const scrollingUp = delta < 0;\n      const scrollingDown = delta > 0;\n      if (!alreadyAtStart && scrollingUp) return true;\n      if (!alreadyAtEnd && scrollingDown) return true;\n\n      if (alreadyAtStart || alreadyAtEnd) {\n        return this.shouldScroll(el.parentNode, e);\n      }\n\n      return false;\n    },\n\n    isInside(el, parent) {\n      if (el === parent) {\n        return true;\n      } else if (el === null || el === document.body) {\n        return false;\n      } else {\n        return this.isInside(el.parentNode, parent);\n      }\n    },\n\n    checkPath(e) {\n      const path = composedPath(e);\n\n      if (e.type === 'keydown' && path[0] === document.body) {\n        const dialog = this.$refs.dialog; // getSelection returns null in firefox in some edge cases, can be ignored\n\n        const selected = window.getSelection().anchorNode;\n\n        if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n          return !this.shouldScroll(dialog, e);\n        }\n\n        return true;\n      }\n\n      for (let index = 0; index < path.length; index++) {\n        const el = path[index];\n        if (el === document) return true;\n        if (el === document.documentElement) return true;\n        if (el === this.$refs.content) return true;\n        if (this.hasScrollbar(el)) return !this.shouldScroll(el, e);\n      }\n\n      return true;\n    },\n\n    hideScroll() {\n      if (this.$vuetify.breakpoint.smAndDown) {\n        document.documentElement.classList.add('overflow-y-hidden');\n      } else {\n        addPassiveEventListener(window, 'wheel', this.scrollListener, {\n          passive: false\n        });\n        window.addEventListener('keydown', this.scrollListener);\n      }\n    },\n\n    showScroll() {\n      document.documentElement.classList.remove('overflow-y-hidden');\n      window.removeEventListener('wheel', this.scrollListener);\n      window.removeEventListener('keydown', this.scrollListener);\n    }\n\n  }\n});\n//# sourceMappingURL=index.js.map","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-list.accent>.v-list-item,.v-list.error>.v-list-item,.v-list.info>.v-list-item,.v-list.primary>.v-list-item,.v-list.secondary>.v-list-item,.v-list.success>.v-list-item,.v-list.warning>.v-list-item{color:#fff}.theme--light.v-list{background:#fff;color:rgba(0,0,0,.87)}.theme--light.v-list .v-list--disabled{color:rgba(0,0,0,.38)}.theme--light.v-list .v-list-group--active:after,.theme--light.v-list .v-list-group--active:before{background:rgba(0,0,0,.12)}.theme--dark.v-list{background:#1e1e1e;color:#fff}.theme--dark.v-list .v-list--disabled{color:hsla(0,0%,100%,.5)}.theme--dark.v-list .v-list-group--active:after,.theme--dark.v-list .v-list-group--active:before{background:hsla(0,0%,100%,.12)}.v-sheet.v-list{border-radius:0}.v-sheet.v-list:not(.v-sheet--outlined){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.v-sheet.v-list.v-sheet--shaped{border-radius:0}.v-list{display:block;padding:8px 0;position:static;transition:box-shadow .28s cubic-bezier(.4,0,.2,1)}.v-list--disabled{pointer-events:none}.v-list--flat .v-list-item:before{display:none}.v-list--dense .v-subheader{font-size:.75rem;height:40px;padding:0 8px}.v-list--nav .v-list-item:not(:last-child):not(:only-child),.v-list--rounded .v-list-item:not(:last-child):not(:only-child){margin-bottom:8px}.v-list--nav.v-list--dense .v-list-item:not(:last-child):not(:only-child),.v-list--nav .v-list-item--dense:not(:last-child):not(:only-child),.v-list--rounded.v-list--dense .v-list-item:not(:last-child):not(:only-child),.v-list--rounded .v-list-item--dense:not(:last-child):not(:only-child){margin-bottom:4px}.v-list--nav{padding-left:8px;padding-right:8px}.v-list--nav .v-list-item{padding:0 8px}.v-list--nav .v-list-item,.v-list--nav .v-list-item:before{border-radius:4px}.v-application--is-ltr .v-list.v-sheet--shaped .v-list-item,.v-application--is-ltr .v-list.v-sheet--shaped .v-list-item:before,.v-application--is-ltr .v-list.v-sheet--shaped .v-list-item>.v-ripple__container{border-bottom-right-radius:32px!important;border-top-right-radius:32px!important}.v-application--is-rtl .v-list.v-sheet--shaped .v-list-item,.v-application--is-rtl .v-list.v-sheet--shaped .v-list-item:before,.v-application--is-rtl .v-list.v-sheet--shaped .v-list-item>.v-ripple__container{border-bottom-left-radius:32px!important;border-top-left-radius:32px!important}.v-application--is-ltr .v-list.v-sheet--shaped.v-list--two-line .v-list-item,.v-application--is-ltr .v-list.v-sheet--shaped.v-list--two-line .v-list-item:before,.v-application--is-ltr .v-list.v-sheet--shaped.v-list--two-line .v-list-item>.v-ripple__container{border-bottom-right-radius:42.6666666667px!important;border-top-right-radius:42.6666666667px!important}.v-application--is-rtl .v-list.v-sheet--shaped.v-list--two-line .v-list-item,.v-application--is-rtl .v-list.v-sheet--shaped.v-list--two-line .v-list-item:before,.v-application--is-rtl .v-list.v-sheet--shaped.v-list--two-line .v-list-item>.v-ripple__container{border-bottom-left-radius:42.6666666667px!important;border-top-left-radius:42.6666666667px!important}.v-application--is-ltr .v-list.v-sheet--shaped.v-list--three-line .v-list-item,.v-application--is-ltr .v-list.v-sheet--shaped.v-list--three-line .v-list-item:before,.v-application--is-ltr .v-list.v-sheet--shaped.v-list--three-line .v-list-item>.v-ripple__container{border-bottom-right-radius:58.6666666667px!important;border-top-right-radius:58.6666666667px!important}.v-application--is-rtl .v-list.v-sheet--shaped.v-list--three-line .v-list-item,.v-application--is-rtl .v-list.v-sheet--shaped.v-list--three-line .v-list-item:before,.v-application--is-rtl .v-list.v-sheet--shaped.v-list--three-line .v-list-item>.v-ripple__container{border-bottom-left-radius:58.6666666667px!important;border-top-left-radius:58.6666666667px!important}.v-application--is-ltr .v-list.v-sheet--shaped{padding-right:8px}.v-application--is-rtl .v-list.v-sheet--shaped{padding-left:8px}.v-list--rounded{padding:8px}.v-list--rounded .v-list-item,.v-list--rounded .v-list-item:before,.v-list--rounded .v-list-item>.v-ripple__container{border-radius:32px!important}.v-list--rounded.v-list--two-line .v-list-item,.v-list--rounded.v-list--two-line .v-list-item:before,.v-list--rounded.v-list--two-line .v-list-item>.v-ripple__container{border-radius:42.6666666667px!important}.v-list--rounded.v-list--three-line .v-list-item,.v-list--rounded.v-list--three-line .v-list-item:before,.v-list--rounded.v-list--three-line .v-list-item>.v-ripple__container{border-radius:58.6666666667px!important}.v-list--subheader{padding-top:0}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-list-group .v-list-group__header .v-list-item__icon.v-list-group__header__append-icon{align-self:center;margin:0;min-width:48px;justify-content:flex-end}.v-list-group--sub-group{align-items:center;display:flex;flex-wrap:wrap}.v-list-group__header.v-list-item--active:not(:hover):not(:focus):before{opacity:0}.v-list-group__items{flex:1 1 auto}.v-list-group__items .v-list-group__items,.v-list-group__items .v-list-item{overflow:hidden}.v-list-group--active>.v-list-group__header.v-list-group__header--sub-group>.v-list-group__header__prepend-icon .v-icon,.v-list-group--active>.v-list-group__header>.v-list-group__header__append-icon .v-icon{transform:rotate(-180deg)}.v-list-group--active>.v-list-group__header .v-list-group__header__prepend-icon .v-icon,.v-list-group--active>.v-list-group__header .v-list-item,.v-list-group--active>.v-list-group__header .v-list-item__content{color:inherit}.v-application--is-ltr .v-list-group--sub-group .v-list-item__action:first-child,.v-application--is-ltr .v-list-group--sub-group .v-list-item__avatar:first-child,.v-application--is-ltr .v-list-group--sub-group .v-list-item__icon:first-child{margin-right:16px}.v-application--is-rtl .v-list-group--sub-group .v-list-item__action:first-child,.v-application--is-rtl .v-list-group--sub-group .v-list-item__avatar:first-child,.v-application--is-rtl .v-list-group--sub-group .v-list-item__icon:first-child{margin-left:16px}.v-application--is-ltr .v-list-group--sub-group .v-list-group__header{padding-left:32px}.v-application--is-rtl .v-list-group--sub-group .v-list-group__header{padding-right:32px}.v-application--is-ltr .v-list-group--sub-group .v-list-group__items .v-list-item{padding-left:40px}.v-application--is-rtl .v-list-group--sub-group .v-list-group__items .v-list-item{padding-right:40px}.v-list-group--sub-group.v-list-group--active .v-list-item__icon.v-list-group__header__prepend-icon .v-icon{transform:rotate(-180deg)}.v-application--is-ltr .v-list-group--no-action>.v-list-group__items>.v-list-item{padding-left:72px}.v-application--is-rtl .v-list-group--no-action>.v-list-group__items>.v-list-item{padding-right:72px}.v-application--is-ltr .v-list-group--no-action.v-list-group--sub-group>.v-list-group__items>.v-list-item{padding-left:88px}.v-application--is-rtl .v-list-group--no-action.v-list-group--sub-group>.v-list-group__items>.v-list-item{padding-right:88px}.v-application--is-ltr .v-list--dense .v-list-group--sub-group .v-list-group__header{padding-left:24px}.v-application--is-rtl .v-list--dense .v-list-group--sub-group .v-list-group__header{padding-right:24px}.v-application--is-ltr .v-list--dense.v-list--nav .v-list-group--no-action>.v-list-group__items>.v-list-item{padding-left:64px}.v-application--is-rtl .v-list--dense.v-list--nav .v-list-group--no-action>.v-list-group__items>.v-list-item{padding-right:64px}.v-application--is-ltr .v-list--dense.v-list--nav .v-list-group--no-action.v-list-group--sub-group>.v-list-group__items>.v-list-item{padding-left:80px}.v-application--is-rtl .v-list--dense.v-list--nav .v-list-group--no-action.v-list-group--sub-group>.v-list-group__items>.v-list-item{padding-right:80px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VCounter.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"a8c5e78a\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./_selection-controls.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"064bcb72\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-counter{color:rgba(0,0,0,.6)}.theme--dark.v-counter{color:hsla(0,0%,100%,.7)}.v-counter{flex:0 1 auto;font-size:12px;min-height:12px;line-height:12px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-3-1!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-2!../../../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-3-3!../../../../sass-loader/dist/cjs.js??ref--10-oneOf-3-4!./VMenu.sass\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../@vue/cli-service/node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"389dfc34\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v-item-group{flex:0 1 auto;position:relative;max-width:100%;transition:.3s cubic-bezier(.25,.8,.5,1)}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".theme--light.v-divider{border-color:rgba(0,0,0,.12)}.theme--dark.v-divider{border-color:hsla(0,0%,100%,.12)}.v-divider{display:block;flex:1 1 0px;max-width:100%;height:0;max-height:0;border:solid;border-width:thin 0 0 0;transition:inherit}.v-divider--inset:not(.v-divider--vertical){max-width:calc(100% - 72px)}.v-application--is-ltr .v-divider--inset:not(.v-divider--vertical){margin-left:72px}.v-application--is-rtl .v-divider--inset:not(.v-divider--vertical){margin-right:72px}.v-divider--vertical{align-self:stretch;border:solid;border-width:0 thin 0 0;display:inline-flex;height:inherit;min-height:100%;max-height:100%;max-width:0;width:0;vertical-align:text-bottom;margin:0 -1px}.v-divider--vertical.v-divider--inset{margin-top:8px;min-height:0;max-height:calc(100% - 16px)}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"justify\":'center'}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('v-card',[_c('v-card-text',[_c('div',{staticClass:\"display-1 text--primary text-center\",staticStyle:{\"font-family\":\"Iskoola Pota !important\",\"font-variant\":\"small-caps\"}},[_vm._v(\"Schedule\")]),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e()],1),_vm._l((20),function(j){return (_vm.loading)?_c('v-skeleton-loader',{attrs:{\"loading\":_vm.loading,\"transition\":\"fade-transition\",\"type\":\"list-item-two-line\"}}):_vm._e()}),(_vm.Schedule && _vm.Schedule.length >0)?_c('v-list',{attrs:{\"dense\":\"\"}},[_vm._l((_vm.Schedule),function(item,i){return [_c('v-divider',{staticClass:\"ma-0\"}),_c('v-list-item',{key:i.text,attrs:{\"target\":\"_blank\",\"two-line\":\"\"}},[_c('v-list-item-content',[(item.SessionCommitteeId)?_c('v-list-item-title',{staticClass:\"text-wrap\"},[_c('router-link',{attrs:{\"aria-label\":\"Committee\",\"to\":'/Session/Committee/' + item.SessionCommitteeId}},[_vm._v(\" \"+_vm._s(item.CommitteeFullName)+\" \")])],1):(item.InterimYearCommitteeId)?_c('v-list-item-title',{staticClass:\"text-wrap\"},[_c('router-link',{attrs:{\"aria-label\":\"Committee\",\"to\":'/Interim/Committee/' + item.InterimYearCommitteeId}},[_vm._v(_vm._s(item.InterimYearCommitteeName))])],1):(item.ConferenceCommitteeId)?_c('v-list-item-title',{staticClass:\"text-wrap\"},[_c('router-link',{attrs:{\"aria-label\":\"Committee\",\"to\":'/Session/ConferenceCommittees/' + item.SessionId}},[_vm._v(_vm._s(item.ConferenceCommitteeName))])],1):_c('v-list-item-title',{staticClass:\"text-wrap\"},[_vm._v(_vm._s(item.Title))]),(item.TBD)?_c('v-list-item-subtitle',{staticClass:\"text-wrap\"},[_vm._v(_vm._s(_vm.formatDate2(item.DocumentDate))+\" TBD - \"+_vm._s(item.Room))]):(item.SessionCommitteeId)?_c('v-list-item-subtitle',{staticClass:\"text-wrap\"},[_vm._v(_vm._s(_vm.formatDate(item.DocumentDate))+\" \"+_vm._s(_vm._f(\"FormatTimes\")(item.DocumentDate))+\" - \"+_vm._s(item.Room))]):(item.InterimYearCommitteeId)?_c('v-list-item-subtitle',{staticClass:\"text-wrap\"},[_vm._v(_vm._s(_vm.formatDate(item.DocumentDate))+\" \"+_vm._s(_vm._f(\"FormatTimes\")(item.DocumentDate))+\" - \"+_vm._s(item.Room))]):(item.ConferenceCommitteeId)?_c('v-list-item-subtitle',{staticClass:\"text-wrap\"},[_vm._v(_vm._s(_vm.formatDate(item.DocumentDate))+\" \"+_vm._s(_vm._f(\"FormatTimes\")(item.DocumentDate))+\" - \"+_vm._s(item.Room))]):(item.DocumentDate)?_c('v-list-item-subtitle',{staticClass:\"text-wrap\"},[_vm._v(_vm._s(_vm.formatDate(item.DocumentDate))+\" \"+_vm._s(_vm._f(\"FormatTimes\")(item.DocumentDate))+\" - \"+_vm._s(item.Room))]):_vm._e()],1),(item.InterimYearCommitteeId == 472 || item.InterimYearCommitteeId == 486 || item.SessionCommitteeId == 1240 || item.SessionCommitteeId == 1244 || item.SessionCommitteeId == 1227)?_c('v-list-item-icon',{staticClass:\"ml-1 mr-0\"},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"px-1\",attrs:{\"small\":\"\",\"aria-label\":\"Register to Testify\",\"to\":'/Testify/' + item.DocumentId,\"color\":\"blue\",\"dark\":\"\",\"disabled\":!((item.InterimYearCommitteeId != null || item.SessionCommitteeId) && item.DocumentId && item.NoMeeting != true && item.InternetReady == true),\"icon\":\"\"}},on),[_c('v-icon',[_vm._v(_vm._s(_vm.mdiAccountPlus))])],1)]}}],null,true)},[_vm._v(\" Register to Testify \")])],1):_vm._e(),((item.RoomAudio && item.ShowAudio == true) && item.NoMeeting != true && (item.InternetReady == true || item.DocumentTypeId == 99))?_c('v-list-item-icon',{staticClass:\"ml-1 mr-0\"},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"px-1\",attrs:{\"small\":\"\",\"aria-label\":\"SDPB Audio\",\"rel\":\"noopener\",\"href\":item.RoomAudio,\"color\":\"blue\",\"dark\":\"\",\"icon\":\"\"}},on),[_c('v-icon',[_vm._v(_vm._s(_vm.mdiVolumeHigh))])],1)]}}],null,true)},[_vm._v(\" South Dakota Public Broadcasting Audio \")])],1):_vm._e(),_c('v-list-item-icon',{staticClass:\"ml-1 mr-0\"},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"px-1\",attrs:{\"small\":\"\",\"aria-label\":\"Display Board\",\"to\":'/Session/Committee/LiveBoard/' + item.DocumentId,\"color\":\"blue\",\"dark\":\"\",\"disabled\":!(item.SessionCommitteeId != null && item.DocumentId && item.NoMeeting != true && item.InternetReady == true && item.ShowAudio == true),\"icon\":\"\"}},on),[_c('v-icon',[_vm._v(_vm._s(_vm.tv))])],1)]}}],null,true)},[_vm._v(\" Committee Liveboard \")])],1),_c('v-list-item-icon',{staticClass:\"ml-1 mr-0\"},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"px-1\",attrs:{\"small\":\"\",\"aria-label\":\"Agenda\",\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf',\"color\":\"blue\",\"dark\":\"\",\"disabled\":!(item.DocumentId && item.InternetReady == true),\"icon\":\"\"}},on),[_c('v-icon',[_vm._v(_vm._s(_vm.description))])],1)]}}],null,true)},[_vm._v(\" Agenda \")])],1)],1),(i >= 19 && _vm.Schedule && i == _vm.Schedule.length - 1)?_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_c('v-alert',{attrs:{\"type\":\"info\",\"dense\":\"\",\"text\":\"\"}},[_c('router-link',{attrs:{\"to\":\"/Session/Schedule\"}},[_vm._v(\" Please see the full schedule for more events \")])],1)],1),_c('v-list-item-subtitle',[_vm._v(\"Meetings are removed from this schedule when minutes are approved.\")])],1)],1):_vm._e()]})],2):(!_vm.loading)?_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\"No Upcoming Meetings\")]):_vm._e()],2)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"7\"}},[_c('v-card',[_c('v-card-text',[_c('div',{staticClass:\"display-1 text--primary text-center\",staticStyle:{\"font-family\":\"Iskoola Pota !important\",\"font-variant\":\"small-caps\"}},[_vm._v(\"Latest\")]),(_vm.loadingLatest)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e()],1),_vm._l((5),function(j){return (_vm.loadingLatest)?_c('v-skeleton-loader',{attrs:{\"loading\":_vm.loadingLatest,\"transition\":\"fade-transition\",\"type\":\"list-item\"}}):_vm._e()}),(_vm.Latest && _vm.Latest.length > 0 && !_vm.loadingLatest)?_c('v-list',{attrs:{\"dense\":\"\"}},[_vm._l((_vm.Latest),function(item){return [_c('v-divider',{staticClass:\"ma-0\"}),_c('v-list-item',{key:item.DocumentId},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-wrap\"},[(item.DocumentTypeId == 48)?_c('a',{attrs:{\"aria-label\":\"Press Release\",\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/PressRelease/' + item.DocumentId + '.pdf'}},[_vm._v(_vm._s(item.Description || item.Title))]):(item.DocumentTypeId == 92 && item.WebFilename == '#')?_c('div',{attrs:{\"aria-label\":\"Press Release\"}},[_vm._v(_vm._s(item.Title || item.Description))]):(item.DocumentTypeId == 92)?_c('a',{attrs:{\"aria-label\":\"Press Release\",\"rel\":\"noopener\",\"href\":item.WebFilename}},[_vm._v(_vm._s(item.Title || item.Description))]):_c('a',{attrs:{\"aria-label\":\"Press Release\",\"rel\":\"noopener\",\"href\":_vm.$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf'}},[_vm._v(_vm._s(item.Title || item.Description))])])],1)],1)]})],2):(!_vm.loadingLatest)?_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\"No recent news.\")]):_vm._e()],2),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},_vm._l((_vm.QuickButton),function(item){return _c('v-col',{key:item.Text,staticStyle:{\"padding\":\"6px\"},attrs:{\"no-gutters\":\"\",\"cols\":\"6\",\"sm\":\"6\",\"md\":\"3\"}},[(item.JsonData && item.JsonData.links && item.JsonData.links.length > 0)?_c('v-card',{staticClass:\"d-flex\",staticStyle:{\"max-height\":\"150px\"},attrs:{\"flat\":\"\",\"tile\":\"\"}},[_c('v-menu',{attrs:{\"open-on-hover\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"square\",staticStyle:{\"height\":\"70%\",\"max-height\":\"150px\",\"text-align\":\"center\",\"flex\":\"none\",\"white-space\":\"pre-line\",\"font-family\":\"Iskoola Pota\"},attrs:{\"x-large\":\"\",\"color\":item.Color,\"dark\":\"\",\"block\":\"\",\"prepend-icon\":item.JsonData.icon || ''}},'v-btn',attrs,false),on),[_c('b',[_vm._v(_vm._s(item.Text))])])]}}],null,true)},[_c('v-list',_vm._l((item.JsonData.links),function(link,index){return _c('v-list-item',{key:index,attrs:{\"href\":link.url.startsWith('http') ? link.url : null,\"to\":!link.url.startsWith('http') ? link.url : null,\"target\":\"_blank\",\"rel\":\"noopener\"}},[(link.icon)?_c('v-list-item-icon',[_c('v-icon',[_vm._v(_vm._s(link.icon))])],1):_vm._e(),_c('v-list-item-title',[_vm._v(_vm._s(link.text || link.url))])],1)}),1)],1)],1):_c('v-card',{staticClass:\"d-flex\",staticStyle:{\"max-height\":\"300px\"},attrs:{\"flat\":\"\",\"tile\":\"\"}},[_c('v-btn',{staticClass:\"square\",staticStyle:{\"height\":\"70%\",\"max-height\":\"150px\",\"text-align\":\"center\",\"flex\":\"none\",\"white-space\":\"pre-line\",\"font-family\":\"Iskoola Pota\"},attrs:{\"href\":item.Url && item.Url.startsWith('http') ? item.Url : null,\"to\":item.Url && !item.Url.startsWith('http') ? item.Url : null,\"x-large\":\"\",\"color\":item.Color,\"dark\":\"\",\"block\":\"\",\"prepend-icon\":item.JsonData && item.JsonData.icon ? item.JsonData.icon : ''}},[_c('b',[_vm._v(_vm._s(item.Text))])])],1)],1)}),1)],1)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container fluid>\r\n        <v-row :justify=\"'center'\">\r\n            <v-col cols=\"12\" md=\"5\">\r\n                <v-card>\r\n                    <v-card-text>\r\n                        <div class=\"display-1 text--primary text-center\" style=\"font-family: Iskoola Pota !important;font-variant: small-caps;\">Schedule</div>\r\n                        <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n                    </v-card-text>\r\n\r\n                    <v-skeleton-loader v-if=\"loading\"\r\n                                       v-for=\"j in 20\"\r\n                                       :loading=\"loading\"\r\n                                       transition=\"fade-transition\"\r\n                                       type=\"list-item-two-line\">\r\n                    </v-skeleton-loader>\r\n                    <v-list dense v-if=\"Schedule && Schedule.length >0\">\r\n                        <template v-for=\"(item, i) in Schedule\">\r\n                            <v-divider class=\"ma-0\"></v-divider>\r\n                            <v-list-item :key=\"i.text\"\r\n                                         target=\"_blank\"\r\n                                         two-line>\r\n                                <v-list-item-content>\r\n\r\n                                    <v-list-item-title v-if=\"item.SessionCommitteeId\" class=\"text-wrap\">\r\n                                        <router-link aria-label=\"Committee\" :to=\"'/Session/Committee/' + item.SessionCommitteeId\">\r\n                                            {{item.CommitteeFullName}}\r\n                                        </router-link>\r\n                                    </v-list-item-title>\r\n                                    <v-list-item-title class=\"text-wrap\" v-else-if=\"item.InterimYearCommitteeId\"><router-link aria-label=\"Committee\" :to=\"'/Interim/Committee/' + item.InterimYearCommitteeId\">{{item.InterimYearCommitteeName}}</router-link></v-list-item-title>\r\n                                    <v-list-item-title class=\"text-wrap\" v-else-if=\"item.ConferenceCommitteeId\"><router-link aria-label=\"Committee\" :to=\"'/Session/ConferenceCommittees/' + item.SessionId\">{{item.ConferenceCommitteeName}}</router-link></v-list-item-title>\r\n                                    <v-list-item-title class=\"text-wrap\" v-else>{{item.Title}}</v-list-item-title>\r\n\r\n                                    <v-list-item-subtitle class=\"text-wrap\" v-if=\"item.TBD\">{{formatDate2(item.DocumentDate)}} TBD - {{item.Room}}</v-list-item-subtitle>\r\n                                    <v-list-item-subtitle class=\"text-wrap\" v-else-if=\"item.SessionCommitteeId\">{{formatDate(item.DocumentDate)}} {{item.DocumentDate | FormatTimes}} - {{item.Room}}</v-list-item-subtitle>\r\n                                    <v-list-item-subtitle class=\"text-wrap\" v-else-if=\"item.InterimYearCommitteeId\">{{formatDate(item.DocumentDate)}} {{item.DocumentDate | FormatTimes}} - {{item.Room}}</v-list-item-subtitle>\r\n                                    <v-list-item-subtitle class=\"text-wrap\" v-else-if=\"item.ConferenceCommitteeId\">{{formatDate(item.DocumentDate)}} {{item.DocumentDate | FormatTimes}} - {{item.Room}}</v-list-item-subtitle>\r\n                                    <v-list-item-subtitle class=\"text-wrap\" v-else-if=\"item.DocumentDate\">{{formatDate(item.DocumentDate)}} {{item.DocumentDate | FormatTimes}} - {{item.Room}}</v-list-item-subtitle>\r\n                                </v-list-item-content>\r\n\r\n                                <v-list-item-icon class=\"ml-1 mr-0\" v-if=\"item.InterimYearCommitteeId == 472 || item.InterimYearCommitteeId == 486 || item.SessionCommitteeId == 1240 || item.SessionCommitteeId == 1244 || item.SessionCommitteeId == 1227\">\r\n                                    <v-tooltip bottom>\r\n                                        Register to Testify\r\n                                        <template v-slot:activator=\"{ on }\">\r\n                                            <v-btn v-on=\"on\" small class=\"px-1\" aria-label=\"Register to Testify\" :to=\"'/Testify/' + item.DocumentId\" color=\"blue\" dark :disabled=\"!((item.InterimYearCommitteeId != null || item.SessionCommitteeId) && item.DocumentId && item.NoMeeting != true && item.InternetReady == true)\" icon>\r\n                                                <v-icon>{{mdiAccountPlus}}</v-icon>\r\n                                            </v-btn>\r\n                                        </template>\r\n                                    </v-tooltip>\r\n                                </v-list-item-icon>\r\n                                <v-list-item-icon v-if=\"(item.RoomAudio && item.ShowAudio == true) && item.NoMeeting != true && (item.InternetReady == true || item.DocumentTypeId == 99)\" class=\"ml-1 mr-0\">\r\n                                    <v-tooltip bottom>\r\n                                        South Dakota Public Broadcasting Audio\r\n                                        <template v-slot:activator=\"{ on }\">\r\n                                            <v-btn v-on=\"on\" small class=\"px-1\" aria-label=\"SDPB Audio\" rel=\"noopener\" :href=\"item.RoomAudio\" color=\"blue\" dark icon>\r\n                                                <v-icon>{{mdiVolumeHigh}}</v-icon>\r\n                                            </v-btn>\r\n                                        </template>\r\n                                    </v-tooltip>\r\n                                </v-list-item-icon>\r\n                                <v-list-item-icon class=\"ml-1 mr-0\">\r\n                                    <v-tooltip bottom>\r\n                                        Committee Liveboard\r\n                                        <template v-slot:activator=\"{ on }\">\r\n                                            <v-btn v-on=\"on\" small class=\"px-1\" aria-label=\"Display Board\" :to=\"'/Session/Committee/LiveBoard/' + item.DocumentId\" color=\"blue\" dark :disabled=\"!(item.SessionCommitteeId != null && item.DocumentId && item.NoMeeting != true && item.InternetReady == true && item.ShowAudio == true)\" icon>\r\n                                                <v-icon>{{tv}}</v-icon>\r\n                                            </v-btn>\r\n                                        </template>\r\n                                    </v-tooltip>\r\n                                </v-list-item-icon>\r\n                                <v-list-item-icon class=\"ml-1 mr-0\">\r\n                                    <v-tooltip bottom>\r\n                                        Agenda\r\n                                        <template v-slot:activator=\"{ on }\">\r\n                                            <v-btn v-on=\"on\" small class=\"px-1\" aria-label=\"Agenda\" rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf'\" color=\"blue\" dark :disabled=\"!(item.DocumentId && item.InternetReady == true)\" icon>\r\n                                                <v-icon>{{description}}</v-icon>\r\n                                            </v-btn>\r\n                                        </template>\r\n                                    </v-tooltip>\r\n                                </v-list-item-icon>\r\n                            </v-list-item>\r\n                            <v-list-item v-if=\"i >= 19 && Schedule && i == Schedule.length - 1\">\r\n                                <v-list-item-content>\r\n                                    <v-list-item-title>\r\n                                        <v-alert type=\"info\" dense text>\r\n                                            <router-link to=\"/Session/Schedule\">\r\n                                                Please see the full schedule for more events\r\n                                            </router-link>\r\n                                        </v-alert>\r\n                                    </v-list-item-title>\r\n                                    <v-list-item-subtitle>Meetings are removed from this schedule when minutes are approved.</v-list-item-subtitle>\r\n                                </v-list-item-content>\r\n                            </v-list-item>\r\n                        </template>\r\n                    </v-list>\r\n                    <v-alert v-else-if=\"!loading\" dense text type=\"info\">No Upcoming Meetings</v-alert>\r\n                </v-card>\r\n            </v-col>\r\n            <v-col cols=\"12\" md=\"7\">\r\n                <v-card>\r\n                    <v-card-text>\r\n                        <div class=\"display-1 text--primary text-center\" style=\"font-family: Iskoola Pota !important;font-variant: small-caps;\">Latest</div>\r\n                        <v-progress-linear indeterminate v-if=\"loadingLatest\"></v-progress-linear>\r\n                    </v-card-text>\r\n                    <v-skeleton-loader v-if=\"loadingLatest\"\r\n                                       v-for=\"j in 5\"\r\n                                       :loading=\"loadingLatest\"\r\n                                       transition=\"fade-transition\"\r\n                                       type=\"list-item\">\r\n                    </v-skeleton-loader>\r\n\r\n                    <v-list dense v-if=\"Latest && Latest.length > 0 && !loadingLatest\">\r\n                        <template v-for=\"item in Latest\">\r\n                            <v-divider class=\"ma-0\"></v-divider>\r\n                            <v-list-item :key=\"item.DocumentId\">\r\n                                <v-list-item-content>\r\n                                    <v-list-item-title class=\"text-wrap\">\r\n                                        <a aria-label=\"Press Release\" v-if=\"item.DocumentTypeId == 48\" rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/PressRelease/' + item.DocumentId + '.pdf'\">{{item.Description || item.Title}}</a>\r\n                                        <div aria-label=\"Press Release\" v-else-if=\"item.DocumentTypeId == 92 && item.WebFilename == '#'\">{{item.Title || item.Description}}</div>\r\n                                        <a aria-label=\"Press Release\" v-else-if=\"item.DocumentTypeId == 92\" rel=\"noopener\" :href=\"item.WebFilename\">{{item.Title || item.Description}}</a>\r\n                                        <a aria-label=\"Press Release\" v-else rel=\"noopener\" :href=\"$MyLRCUrl.value + 'api/Documents/' + item.DocumentId + '.pdf'\">{{item.Title || item.Description}}</a>\r\n                                    </v-list-item-title>\r\n                                </v-list-item-content>\r\n                            </v-list-item>\r\n                        </template>\r\n                    </v-list>\r\n                    <v-alert v-else-if=\"!loadingLatest\" dense text type=\"info\">No recent news.</v-alert>\r\n                </v-card>\r\n                <v-row>\r\n                    <v-col cols=\"12\">\r\n                        <v-card>\r\n                            <v-container fluid>\r\n                                <v-row no-gutters>\r\n                                    <v-col v-for=\"item in QuickButton\"\r\n                                           :key=\"item.Text\"\r\n                                           class=\"\"\r\n                                           no-gutters\r\n                                           style=\"padding:6px\"\r\n                                           cols=\"6\"\r\n                                           sm=\"6\"\r\n                                           md=\"3\">\r\n                                        <!-- Menu Button if Multiple Links Exist -->\r\n                                        <v-card flat tile class=\"d-flex\" v-if=\"item.JsonData && item.JsonData.links && item.JsonData.links.length > 0\" style=\"max-height: 150px;\">\r\n                                            <v-menu open-on-hover>\r\n                                                <template v-slot:activator=\"{ on, attrs }\">\r\n                                                    <v-btn v-bind=\"attrs\"\r\n                                                           v-on=\"on\"\r\n                                                           x-large\r\n                                                           :color=\"item.Color\"\r\n                                                           class=\"square\"\r\n                                                           style=\"height: 70%; max-height: 150px; text-align: center; flex: none; white-space: pre-line; font-family: Iskoola Pota; \"\r\n                                                           dark\r\n                                                           block\r\n                                                           :prepend-icon=\"item.JsonData.icon || ''\">\r\n                                                        <b>{{ item.Text }}</b>\r\n                                                    </v-btn>\r\n                                                </template>\r\n                                                <v-list>\r\n                                                    <v-list-item v-for=\"(link, index) in item.JsonData.links\"\r\n                                                                 :key=\"index\"\r\n                                                                 :href=\"link.url.startsWith('http') ? link.url : null\"\r\n                                                                 :to=\"!link.url.startsWith('http') ? link.url : null\"\r\n                                                                 target=\"_blank\"\r\n                                                                 rel=\"noopener\">\r\n                                                        <v-list-item-icon v-if=\"link.icon\">\r\n                                                            <v-icon>{{link.icon}}</v-icon>\r\n                                                        </v-list-item-icon>\r\n                                                        <v-list-item-title>{{ link.text || link.url }}</v-list-item-title>\r\n                                                    </v-list-item>\r\n                                                </v-list>\r\n                                            </v-menu>\r\n                                        </v-card>\r\n\r\n                                        <!-- Single Link Button -->\r\n                                        <v-card flat tile class=\"d-flex\" v-else style=\"max-height: 300px;\">\r\n                                            <v-btn :href=\"item.Url && item.Url.startsWith('http') ? item.Url : null\"\r\n                                                   :to=\"item.Url && !item.Url.startsWith('http') ? item.Url : null\"\r\n                                                   x-large\r\n                                                   :color=\"item.Color\"\r\n                                                   class=\"square\"\r\n                                                   style=\"height: 70%; max-height: 150px; text-align: center; flex: none; white-space: pre-line; font-family: Iskoola Pota; \"\r\n                                                   dark\r\n                                                   block\r\n                                                   :prepend-icon=\"item.JsonData && item.JsonData.icon ? item.JsonData.icon : ''\">\r\n                                                <b>{{ item.Text }}</b>\r\n                                            </v-btn>\r\n                                        </v-card>\r\n                                    </v-col>\r\n                                </v-row>\r\n                            </v-container>\r\n                        </v-card>\r\n                    </v-col>\r\n                </v-row>\r\n            </v-col>\r\n        </v-row>\r\n    </v-container>\r\n</template>\r\n\r\n<script>\r\n    import moment from 'moment';\r\n    import { mdiFileDocument } from '@mdi/js';\r\n    import { mdiTelevision } from '@mdi/js';\r\n    import { mdiVolumeHigh } from '@mdi/js';\r\n    import { mdiAccountPlus } from '@mdi/js';\r\n\r\n    export default {\r\n        name: 'Home',\r\n        components: {\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: 'Home',\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: 'The South Dakota State Legislature Home Page' },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: 'Home | South Dakota Legislature' },\r\n                    { vmid: 'og:site_name', property: 'og:site_name', content: 'South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should the the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: 'https://sdlegislature.gov' },\r\n                    { vmid: 'og:image', property: 'og:image', content: 'https://lawmakerdocuments.blob.core.usgovcloudapi.net/photos/logoshape.webp' },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: 'The South Dakota State Legislature Home Page' },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: 'https://sdlegislature.gov' },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: 'Home | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: 'The South Dakota State Legislature Home Page' },\r\n                    // Your twitter handle, if you have one.\r\n                    //{vmid: 'twitter:creator', name: 'twitter:creator', content: '@'}\r\n                    { vmid: 'twitter:image:src', name: 'twitter:image:src', content: 'https://lawmakerdocuments.blob.core.usgovcloudapi.net/photos/logoshape.webp' },\r\n\r\n                    // Google / Schema.org markup:\r\n                    { vmid: 'Schema:name', itemprop: 'name', content: 'Home | South Dakota Legislature' },\r\n                    { vmid: 'Schema:description', itemprop: 'description', content: 'The South Dakota State Legislature Home Page' },\r\n                    { vmid: 'Schema:image', itemprop: 'image', content: 'https://lawmakerdocuments.blob.core.usgovcloudapi.net/photos/logoshape.webp' }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: 'https://sdlegislature.gov' }\r\n                ]\r\n            };\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n                fetch('/api/Documents/Schedule', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201)\r\n                    {\r\n                        return res.json();\r\n                    }\r\n                    else\r\n                    {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    if (response)\r\n                    {\r\n                        var tempSchedule = EncodeDatetimes(response);\r\n                        var endSchedule = [];\r\n\r\n                        tempSchedule.sessionMeetings.forEach(x =>\r\n                        {\r\n                            endSchedule.push(x);\r\n                        });\r\n                        this.Schedule = endSchedule.sort((a, b) => (a.DocumentDate > b.DocumentDate) ? 1 : -1);\r\n                        this.loading = false;\r\n                    }\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                });\r\n\r\n                this.loadingLatest = true;\r\n                fetch('/api/Documents/DocumentType?Type=48&Type=90&Type=92&Top=10&Future=true', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    this.loadingLatest = false;\r\n                    if (res.ok)\r\n                    {\r\n                        return res.json();\r\n                    }\r\n                    else\r\n                    {\r\n                        throw new Error(res.statusText);\r\n                    }\r\n                }).then(response =>\r\n                {\r\n                    if (response) {\r\n                        var res = EncodeDatetimes(response);\r\n                        this.Latest = res;\r\n                    }\r\n                    this.loadingLatest = false;\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                });\r\n\r\n                fetch('/api/HomepageButtons', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                })\r\n                    .then(res => {\r\n                        if (res.ok) {\r\n                            return res.json();\r\n                        } else {\r\n                            throw new Error(res.statusText);\r\n                        }\r\n                    })\r\n                    .then(response => {\r\n                        if (response != null) {\r\n                            // Ensure each button's JsonData has a consistent structure\r\n                            var res = response.map(button => {\r\n                                let jsonData = button.JsonData;\r\n\r\n                                // If JsonData is a string, parse it; if null, initialize with default structure\r\n                                if (typeof jsonData === 'string' && jsonData) {\r\n                                    jsonData = JSON.parse(jsonData);\r\n                                }\r\n                                if (!jsonData || typeof jsonData !== 'object') {\r\n                                    jsonData = { icon: '', links: [] };\r\n                                }\r\n\r\n                                return {\r\n                                    ...button,\r\n                                    JsonData: jsonData\r\n                                };\r\n                            });\r\n\r\n                            this.QuickButton = EncodeDatetimes(res);  // Assuming EncodeDatetimes handles date formatting\r\n                            this.loadingButtons = false;\r\n                        }\r\n                    })\r\n                    .catch(error => {\r\n                        throw new Error(error);\r\n                    });\r\n            },\r\n            formatDate(Date)\r\n            {\r\n                return moment(Date).format('M/DD');\r\n            },\r\n            formatDate2(Date)\r\n            {\r\n                return moment(Date).add(8, 'hours').format('M/DD');\r\n            },\r\n            FormatDateCompare: function (Date)\r\n            {\r\n                return moment(Date).format('MM/DD/YYYY');\r\n            },\r\n            formatTime(Date)\r\n            {\r\n                return moment(Date).format('h:mm A');\r\n\r\n            },\r\n            onResize()\r\n            {\r\n                this.windowWidth = window.innerWidth;\r\n            }\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                mdiAccountPlus,\r\n                description: mdiFileDocument,\r\n                tv: mdiTelevision,\r\n                mdiVolumeHigh,\r\n                Schedule: [],\r\n                loading: true,\r\n                loadingLatest: true,\r\n                loadingButtons: true,\r\n                Latest: [],\r\n                attrs: {\r\n                    class: 'mb-6',\r\n                    boilerplate: true,\r\n                    elevation: 2,\r\n                },\r\n                QuickButton: [\r\n                    { Text: '2021 Bills', Url: '/Session/Bills/44', Color: '#1C453B' },\r\n                    { Text: 'Codified Laws', Url: '/Statutes', Color: '#757575' },\r\n                    { Text: '2021 Legislators', Url: '/Legislators/Listing/44', Color: '#783037' },\r\n                    { Text: 'Housing Questionnaire', Url: '/Session/General/Housing/43', Color: '#757575' },\r\n                    { Text: '2020 Interim', Url: '/Interim/Schedule/43', Color: '#783037' },\r\n                    { Text: '2021 Calendar', Url: '/Session/Schedule/44', Color: '#1C453B' },\r\n                ],\r\n                windowWidth: window.innerWidth,\r\n\r\n            };\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n            window.addEventListener('resize', this.onResize);\r\n        },\r\n        computed: {\r\n            sortedRows: function ()\r\n            {\r\n                let resultRows = this.bills;\r\n                let stack = this.sortStack;\r\n                resultRows.sort(function (a, b)\r\n                {\r\n                    for (let i in stack)\r\n                    {\r\n                        let key = stack[i].value;\r\n                        let desc = stack[i].descending;\r\n                        if (a[key] > b[key]) return desc ? -1 : 1;\r\n                        else if (a[key] < b[key]) return desc ? 1 : -1;\r\n                        else continue;\r\n                    }\r\n                    return 0;\r\n                });\r\n                return resultRows;\r\n            },\r\n            Dark: function ()\r\n            {\r\n                return app.$data.Dark;\r\n            },\r\n            TodaysDate: function ()\r\n            {\r\n                return moment().format('MM/DD/YYYY');\r\n            },\r\n            isMobile()\r\n            {\r\n                return this.windowWidth < 960;\r\n            },\r\n\r\n        }\r\n    };\r\n</script>\r\n\r\n<style>\r\n</style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=d5a39b06&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { 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 { 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 { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardText,VCol,VContainer,VDivider,VIcon,VList,VListItem,VListItemContent,VListItemIcon,VListItemSubtitle,VListItemTitle,VMenu,VProgressLinear,VRow,VSkeletonLoader,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('v-card',{attrs:{\"height\":\"400\",\"color\":\"transparent\",\"flat\":\"\"}},[_c('div',{staticClass:\"display-3 mt-5\"},[_vm._v(\"Bad Request\")]),_c('div',{staticClass:\"grey--text lighten-5\"},[_vm._v(\" \"+_vm._s(_vm.ErrorText)+\" \")])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-container>\r\n        <v-layout row wrap>\r\n            <v-flex xs12>\r\n                <v-card height=\"400\" color=\"transparent\" flat>\r\n                    <div class=\"display-3 mt-5\">Bad Request</div>\r\n                    <div class=\"grey--text lighten-5\">\r\n                        {{ErrorText}}\r\n                    </div>\r\n                </v-card>\r\n            </v-flex>\r\n        </v-layout>\r\n    </v-container>\r\n</template>\r\n<script>\r\n    export default {\r\n        name: 'Error400',\r\n        props: {\r\n        },\r\n        methods: {\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n            }\r\n        },\r\n        watch: {\r\n        },\r\n        mounted() \r\n        {\r\n\r\n        },\r\n        computed: {\r\n            Title: function () \r\n            {\r\n                let title = 'Not Found';\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                return this.Title;\r\n            },\r\n            ErrorText()\r\n            {\r\n                return new URLSearchParams(window.location.search).get('error');\r\n            },\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description },\r\n                    { name: \"robots\", content: \"noindex\" },\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.protocol + '//' + window.location.host + '/400' }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Error400.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Error400.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Error400.vue?vue&type=template&id=3905e106&\"\nimport script from \"./Error400.vue?vue&type=script&lang=js&\"\nexport * from \"./Error400.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VContainer,VFlex,VLayout})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" South Dakota Historical Listing Tenure 20 - 24 Years \")]),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"MemberId + Year\",\"sort-by\":['LastName', 'FirstName'],\"sort-desc\":[false, false],\"loading\":_vm.loading,\"items-per-page\":999,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"item.Name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Historical/Legislator/Profile/' + item.MemberId}},[_vm._v(_vm._s(item.LastName + \", \" + item.FirstName))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\">\r\n                South Dakota Historical Listing Tenure 20 - 24 Years\r\n            </div>\r\n\r\n            <FilterableDataTable :headers=\"headers\"\r\n                          :items=\"items\"\r\n                          item-key=\"MemberId + Year\"\r\n                          :sort-by=\"['LastName', 'FirstName']\"\r\n                          :sort-desc=\"[false, false]\"\r\n                          :loading=\"loading\"\r\n                          :items-per-page=\"999\"\r\n                          disable-pagination\r\n                          hide-default-footer\r\n                          loading-text=\"Loading... Please wait\"\r\n                          class=\"elevation-1\">\r\n                <template v-slot:item.Name=\"{ item }\">\r\n                    <router-link :to=\"'/Historical/Legislator/Profile/' + item.MemberId\">{{item.LastName + \",&nbsp;\" + item.FirstName }}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'TwentyYear',\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Historical/Tenure/20/24', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res =>\r\n                {\r\n                    if (res.ok)\r\n                        return res.json();\r\n                    else\r\n                        throw new Error(res.statusText);\r\n                }).then(response =>\r\n                {\r\n                    if (response)\r\n                    {\r\n                        let r = EncodeDatetimes(response);\r\n\r\n                        r.forEach(x =>\r\n                        {\r\n                            x.Name = x.LastName + ', ' + x.FirstName;\r\n                        });\r\n\r\n                        this.items = r;\r\n                    }\r\n                }).catch(error =>\r\n                {\r\n                    throw new Error(error);\r\n                }).finally(_ =>\r\n                {\r\n                    this.loading = false;\r\n                });\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                search: '',\r\n                loading: true,\r\n                items: [],\r\n                headers: [\r\n                    { text: 'Name', value: 'Name' },\r\n                    { text: 'Birthdate', value: 'Birthdate' },\r\n                    { text: 'Deathdate', value: 'Deathdate' },\r\n                    { text: 'Years', value: 'Years' },\r\n                    { text: 'Remarks', value: 'Remarks' },\r\n                ],\r\n\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.LoadData();\r\n        },\r\n        computed: {\r\n\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TwentyYear.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TwentyYear.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TwentyYear.vue?vue&type=template&id=5b3b1b4c&\"\nimport script from \"./TwentyYear.vue?vue&type=script&lang=js&\"\nexport * from \"./TwentyYear.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","import Vue from 'vue';\nexport default Vue.extend({\n  name: 'transitionable',\n  props: {\n    mode: String,\n    origin: String,\n    transition: String\n  }\n});\n//# sourceMappingURL=index.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('div',{staticClass:\"headline text-center pb-4\"},[_vm._v(\"Monthly Reports\")]),_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.currentRoute.includes('GeneralFundReceipts'))?_c('MonthlyReportCard'):(_vm.currentRoute.includes('Expenditures'))?_c('MonthlyReportCard'):(_vm.currentRoute.includes('MedicalServices'))?_c('MonthlyReportCard'):(_vm.currentRoute.includes('TrustFunds'))?_c('MonthlyReportCard'):(_vm.currentRoute.includes('PrisonPopulations'))?_c('MonthlyReportCard'):_c('div',[_c('v-alert',{attrs:{\"type\":\"info\"}},[_vm._v(\"Please select a report in the menu\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <div class=\"headline text-center pb-4\">Monthly Reports</div>\r\n            <Sidebar></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n\r\n            <MonthlyReportCard v-if=\"currentRoute.includes('GeneralFundReceipts')\"></MonthlyReportCard>\r\n            <MonthlyReportCard v-else-if=\"currentRoute.includes('Expenditures')\"></MonthlyReportCard>\r\n            <MonthlyReportCard v-else-if=\"currentRoute.includes('MedicalServices')\"></MonthlyReportCard>\r\n            <MonthlyReportCard v-else-if=\"currentRoute.includes('TrustFunds')\"></MonthlyReportCard>\r\n            <MonthlyReportCard v-else-if=\"currentRoute.includes('PrisonPopulations')\"></MonthlyReportCard>\r\n            <div v-else>\r\n                <v-alert type=\"info\">Please select a report in the menu</v-alert>\r\n            </div>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const MonthlyReportCard = () => import(\"@/Components/MonthlyReportCard.vue\");\r\n    export default {\r\n        name: 'MonthlyReport',\r\n        components: {\r\n            MonthlyReportCard, Sidebar\r\n        },\r\n        methods: {\r\n            LoadData() {\r\n                fetch('/api/Sessions/Current', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Session = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n            },\r\n\r\n        },\r\n        data: function () {\r\n            return {\r\n                Session: {},\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        },\r\n        mounted: function () {\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let SubRouteName = '';\r\n                if(this.currentRoute.includes('GeneralFundReceipts')){\r\n                 SubRouteName = 'General Fund Receipts '\r\n                }\r\n                else if(this.currentRoute.includes('Expenditures')){\r\n                 SubRouteName = 'Expenditures '\r\n                }\r\n                else if(this.currentRoute.includes('MedicalServices')){\r\n                 SubRouteName = 'Medical Services '\r\n                }\r\n                else if(this.currentRoute.includes('TrustFunds')){\r\n                 SubRouteName = 'Trust Funds '\r\n                }\r\n                else if(this.currentRoute.includes('PrisonPopulations')){\r\n                 SubRouteName = 'Prison Populations '\r\n                }\r\n                if (this.Session && this.Session.Year) {\r\n                    return this.Session.Year + SubRouteName + \" Monthly Reports\";\r\n                }\r\n                else {\r\n                    return SubRouteName + \"Monthly Reports\";\r\n                }\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            },\r\n            currentRoute: function () {\r\n                return this.$route.path;\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./MonthlyReport.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./MonthlyReport.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MonthlyReport.vue?vue&type=template&id=10bad9f8&\"\nimport script from \"./MonthlyReport.vue?vue&type=script&lang=js&\"\nexport * from \"./MonthlyReport.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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","// Mixins\nimport Stackable from '../stackable';\nimport { factory as positionableFactory } from '../positionable';\nimport Activatable from '../activatable';\nimport Detachable from '../detachable'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { convertToUnit } from '../../util/helpers';\nconst baseMixins = mixins(Stackable, positionableFactory(['top', 'right', 'bottom', 'left', 'absolute']), Activatable, Detachable);\n/* @vue/component */\n\nexport default baseMixins.extend().extend({\n  name: 'menuable',\n  props: {\n    allowOverflow: Boolean,\n    light: Boolean,\n    dark: Boolean,\n    maxWidth: {\n      type: [Number, String],\n      default: 'auto'\n    },\n    minWidth: [Number, String],\n    nudgeBottom: {\n      type: [Number, String],\n      default: 0\n    },\n    nudgeLeft: {\n      type: [Number, String],\n      default: 0\n    },\n    nudgeRight: {\n      type: [Number, String],\n      default: 0\n    },\n    nudgeTop: {\n      type: [Number, String],\n      default: 0\n    },\n    nudgeWidth: {\n      type: [Number, String],\n      default: 0\n    },\n    offsetOverflow: Boolean,\n    positionX: {\n      type: Number,\n      default: null\n    },\n    positionY: {\n      type: Number,\n      default: null\n    },\n    zIndex: {\n      type: [Number, String],\n      default: null\n    }\n  },\n  data: () => ({\n    activatorNode: [],\n    absoluteX: 0,\n    absoluteY: 0,\n    activatedBy: null,\n    activatorFixed: false,\n    dimensions: {\n      activator: {\n        top: 0,\n        left: 0,\n        bottom: 0,\n        right: 0,\n        width: 0,\n        height: 0,\n        offsetTop: 0,\n        scrollHeight: 0,\n        offsetLeft: 0\n      },\n      content: {\n        top: 0,\n        left: 0,\n        bottom: 0,\n        right: 0,\n        width: 0,\n        height: 0,\n        offsetTop: 0,\n        scrollHeight: 0\n      }\n    },\n    relativeYOffset: 0,\n    hasJustFocused: false,\n    hasWindow: false,\n    inputActivator: false,\n    isContentActive: false,\n    pageWidth: 0,\n    pageYOffset: 0,\n    stackClass: 'v-menu__content--active',\n    stackMinZIndex: 6\n  }),\n  computed: {\n    computedLeft() {\n      const a = this.dimensions.activator;\n      const c = this.dimensions.content;\n      const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0;\n      const minWidth = Math.max(a.width, c.width);\n      let left = 0;\n      left += activatorLeft;\n      if (this.left || this.$vuetify.rtl && !this.right) left -= minWidth - a.width;\n\n      if (this.offsetX) {\n        const maxWidth = isNaN(Number(this.maxWidth)) ? a.width : Math.min(a.width, Number(this.maxWidth));\n        left += this.left ? -maxWidth : a.width;\n      }\n\n      if (this.nudgeLeft) left -= parseInt(this.nudgeLeft);\n      if (this.nudgeRight) left += parseInt(this.nudgeRight);\n      return left;\n    },\n\n    computedTop() {\n      const a = this.dimensions.activator;\n      const c = this.dimensions.content;\n      let top = 0;\n      if (this.top) top += a.height - c.height;\n      if (this.attach !== false) top += a.offsetTop;else top += a.top + this.pageYOffset;\n      if (this.offsetY) top += this.top ? -a.height : a.height;\n      if (this.nudgeTop) top -= parseInt(this.nudgeTop);\n      if (this.nudgeBottom) top += parseInt(this.nudgeBottom);\n      return top;\n    },\n\n    hasActivator() {\n      return !!this.$slots.activator || !!this.$scopedSlots.activator || !!this.activator || !!this.inputActivator;\n    },\n\n    absoluteYOffset() {\n      return this.pageYOffset - this.relativeYOffset;\n    }\n\n  },\n  watch: {\n    disabled(val) {\n      val && this.callDeactivate();\n    },\n\n    isActive(val) {\n      if (this.disabled) return;\n      val ? this.callActivate() : this.callDeactivate();\n    },\n\n    positionX: 'updateDimensions',\n    positionY: 'updateDimensions'\n  },\n\n  beforeMount() {\n    this.hasWindow = typeof window !== 'undefined';\n\n    if (this.hasWindow) {\n      window.addEventListener('resize', this.updateDimensions, false);\n    }\n  },\n\n  beforeDestroy() {\n    if (this.hasWindow) {\n      window.removeEventListener('resize', this.updateDimensions, false);\n    }\n  },\n\n  methods: {\n    absolutePosition() {\n      return {\n        offsetTop: this.positionY || this.absoluteY,\n        offsetLeft: this.positionX || this.absoluteX,\n        scrollHeight: 0,\n        top: this.positionY || this.absoluteY,\n        bottom: this.positionY || this.absoluteY,\n        left: this.positionX || this.absoluteX,\n        right: this.positionX || this.absoluteX,\n        height: 0,\n        width: 0\n      };\n    },\n\n    activate() {},\n\n    calcLeft(menuWidth) {\n      return convertToUnit(this.attach !== false ? this.computedLeft : this.calcXOverflow(this.computedLeft, menuWidth));\n    },\n\n    calcTop() {\n      return convertToUnit(this.attach !== false ? this.computedTop : this.calcYOverflow(this.computedTop));\n    },\n\n    calcXOverflow(left, menuWidth) {\n      const xOverflow = left + menuWidth - this.pageWidth + 12;\n\n      if ((!this.left || this.right) && xOverflow > 0) {\n        left = Math.max(left - xOverflow, 0);\n      } else {\n        left = Math.max(left, 12);\n      }\n\n      return left + this.getOffsetLeft();\n    },\n\n    calcYOverflow(top) {\n      const documentHeight = this.getInnerHeight();\n      const toTop = this.absoluteYOffset + documentHeight;\n      const activator = this.dimensions.activator;\n      const contentHeight = this.dimensions.content.height;\n      const totalHeight = top + contentHeight;\n      const isOverflowing = toTop < totalHeight; // If overflowing bottom and offset\n      // TODO: set 'bottom' position instead of 'top'\n\n      if (isOverflowing && this.offsetOverflow && // If we don't have enough room to offset\n      // the overflow, don't offset\n      activator.top > contentHeight) {\n        top = this.pageYOffset + (activator.top - contentHeight); // If overflowing bottom\n      } else if (isOverflowing && !this.allowOverflow) {\n        top = toTop - contentHeight - 12; // If overflowing top\n      } else if (top < this.absoluteYOffset && !this.allowOverflow) {\n        top = this.absoluteYOffset + 12;\n      }\n\n      return top < 12 ? 12 : top;\n    },\n\n    callActivate() {\n      if (!this.hasWindow) return;\n      this.activate();\n    },\n\n    callDeactivate() {\n      this.isContentActive = false;\n      this.deactivate();\n    },\n\n    checkForPageYOffset() {\n      if (this.hasWindow) {\n        this.pageYOffset = this.activatorFixed ? 0 : this.getOffsetTop();\n      }\n    },\n\n    checkActivatorFixed() {\n      if (this.attach !== false) {\n        this.activatorFixed = false;\n        return;\n      }\n\n      let el = this.getActivator();\n\n      while (el) {\n        if (window.getComputedStyle(el).position === 'fixed') {\n          this.activatorFixed = true;\n          return;\n        }\n\n        el = el.offsetParent;\n      }\n\n      this.activatorFixed = false;\n    },\n\n    deactivate() {},\n\n    genActivatorListeners() {\n      const listeners = Activatable.options.methods.genActivatorListeners.call(this);\n      const onClick = listeners.click;\n\n      if (onClick) {\n        listeners.click = e => {\n          if (this.openOnClick) {\n            onClick && onClick(e);\n          }\n\n          this.absoluteX = e.clientX;\n          this.absoluteY = e.clientY;\n        };\n      }\n\n      return listeners;\n    },\n\n    getInnerHeight() {\n      if (!this.hasWindow) return 0;\n      return window.innerHeight || document.documentElement.clientHeight;\n    },\n\n    getOffsetLeft() {\n      if (!this.hasWindow) return 0;\n      return window.pageXOffset || document.documentElement.scrollLeft;\n    },\n\n    getOffsetTop() {\n      if (!this.hasWindow) return 0;\n      return window.pageYOffset || document.documentElement.scrollTop;\n    },\n\n    getRoundedBoundedClientRect(el) {\n      const rect = el.getBoundingClientRect();\n      return {\n        top: Math.round(rect.top),\n        left: Math.round(rect.left),\n        bottom: Math.round(rect.bottom),\n        right: Math.round(rect.right),\n        width: Math.round(rect.width),\n        height: Math.round(rect.height)\n      };\n    },\n\n    measure(el) {\n      if (!el || !this.hasWindow) return null;\n      const rect = this.getRoundedBoundedClientRect(el); // Account for activator margin\n\n      if (this.attach !== false) {\n        const style = window.getComputedStyle(el);\n        rect.left = parseInt(style.marginLeft);\n        rect.top = parseInt(style.marginTop);\n      }\n\n      return rect;\n    },\n\n    sneakPeek(cb) {\n      requestAnimationFrame(() => {\n        const el = this.$refs.content;\n\n        if (!el || el.style.display !== 'none') {\n          cb();\n          return;\n        }\n\n        el.style.display = 'inline-block';\n        cb();\n        el.style.display = 'none';\n      });\n    },\n\n    startTransition() {\n      return new Promise(resolve => requestAnimationFrame(() => {\n        this.isContentActive = this.hasJustFocused = this.isActive;\n        resolve();\n      }));\n    },\n\n    updateDimensions() {\n      this.hasWindow = typeof window !== 'undefined';\n      this.checkActivatorFixed();\n      this.checkForPageYOffset();\n      this.pageWidth = document.documentElement.clientWidth;\n      const dimensions = {\n        activator: { ...this.dimensions.activator\n        },\n        content: { ...this.dimensions.content\n        }\n      }; // Activator should already be shown\n\n      if (!this.hasActivator || this.absolute) {\n        dimensions.activator = this.absolutePosition();\n      } else {\n        const activator = this.getActivator();\n        if (!activator) return;\n        dimensions.activator = this.measure(activator);\n        dimensions.activator.offsetLeft = activator.offsetLeft;\n\n        if (this.attach !== false) {\n          // account for css padding causing things to not line up\n          // this is mostly for v-autocomplete, hopefully it won't break anything\n          dimensions.activator.offsetTop = activator.offsetTop;\n        } else {\n          dimensions.activator.offsetTop = 0;\n        }\n      } // Display and hide to get dimensions\n\n\n      this.sneakPeek(() => {\n        if (this.$refs.content) {\n          if (this.$refs.content.offsetParent) {\n            const offsetRect = this.getRoundedBoundedClientRect(this.$refs.content.offsetParent);\n            this.relativeYOffset = window.pageYOffset + offsetRect.top;\n            dimensions.activator.top -= this.relativeYOffset;\n            dimensions.activator.left -= window.pageXOffset + offsetRect.left;\n          }\n\n          dimensions.content = this.measure(this.$refs.content);\n        }\n\n        this.dimensions = dimensions;\n      });\n    }\n\n  }\n});\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VNavigationDrawer/VNavigationDrawer.sass\"; // Components\n\nimport VImg from '../VImg/VImg'; // Mixins\n\nimport Applicationable from '../../mixins/applicationable';\nimport Colorable from '../../mixins/colorable';\nimport Dependent from '../../mixins/dependent';\nimport Mobile from '../../mixins/mobile';\nimport Overlayable from '../../mixins/overlayable';\nimport SSRBootable from '../../mixins/ssr-bootable';\nimport Themeable from '../../mixins/themeable'; // Directives\n\nimport ClickOutside from '../../directives/click-outside';\nimport Resize from '../../directives/resize';\nimport Touch from '../../directives/touch'; // Utilities\n\nimport { convertToUnit, getSlot } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Applicationable('left', ['isActive', 'isMobile', 'miniVariant', 'expandOnHover', 'permanent', 'right', 'temporary', 'width']), Colorable, Dependent, Mobile, Overlayable, SSRBootable, Themeable);\n/* @vue/component */\n\nexport default baseMixins.extend({\n  name: 'v-navigation-drawer',\n  directives: {\n    ClickOutside,\n    Resize,\n    Touch\n  },\n\n  provide() {\n    return {\n      isInNav: this.tag === 'nav'\n    };\n  },\n\n  props: {\n    bottom: Boolean,\n    clipped: Boolean,\n    disableResizeWatcher: Boolean,\n    disableRouteWatcher: Boolean,\n    expandOnHover: Boolean,\n    floating: Boolean,\n    height: {\n      type: [Number, String],\n\n      default() {\n        return this.app ? '100vh' : '100%';\n      }\n\n    },\n    miniVariant: Boolean,\n    miniVariantWidth: {\n      type: [Number, String],\n      default: 56\n    },\n    permanent: Boolean,\n    right: Boolean,\n    src: {\n      type: [String, Object],\n      default: ''\n    },\n    stateless: Boolean,\n    tag: {\n      type: String,\n\n      default() {\n        return this.app ? 'nav' : 'aside';\n      }\n\n    },\n    temporary: Boolean,\n    touchless: Boolean,\n    width: {\n      type: [Number, String],\n      default: 256\n    },\n    value: null\n  },\n  data: () => ({\n    isMouseover: false,\n    touchArea: {\n      left: 0,\n      right: 0\n    },\n    stackMinZIndex: 6\n  }),\n  computed: {\n    /**\n     * Used for setting an app value from a dynamic\n     * property. Called from applicationable.js\n     */\n    applicationProperty() {\n      return this.right ? 'right' : 'left';\n    },\n\n    classes() {\n      return {\n        'v-navigation-drawer': true,\n        'v-navigation-drawer--absolute': this.absolute,\n        'v-navigation-drawer--bottom': this.bottom,\n        'v-navigation-drawer--clipped': this.clipped,\n        'v-navigation-drawer--close': !this.isActive,\n        'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n        'v-navigation-drawer--floating': this.floating,\n        'v-navigation-drawer--is-mobile': this.isMobile,\n        'v-navigation-drawer--is-mouseover': this.isMouseover,\n        'v-navigation-drawer--mini-variant': this.isMiniVariant,\n        'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n        'v-navigation-drawer--open': this.isActive,\n        'v-navigation-drawer--open-on-hover': this.expandOnHover,\n        'v-navigation-drawer--right': this.right,\n        'v-navigation-drawer--temporary': this.temporary,\n        ...this.themeClasses\n      };\n    },\n\n    computedMaxHeight() {\n      if (!this.hasApp) return null;\n      const computedMaxHeight = this.$vuetify.application.bottom + this.$vuetify.application.footer + this.$vuetify.application.bar;\n      if (!this.clipped) return computedMaxHeight;\n      return computedMaxHeight + this.$vuetify.application.top;\n    },\n\n    computedTop() {\n      if (!this.hasApp) return 0;\n      let computedTop = this.$vuetify.application.bar;\n      computedTop += this.clipped ? this.$vuetify.application.top : 0;\n      return computedTop;\n    },\n\n    computedTransform() {\n      if (this.isActive) return 0;\n      if (this.isBottom) return 100;\n      return this.right ? 100 : -100;\n    },\n\n    computedWidth() {\n      return this.isMiniVariant ? this.miniVariantWidth : this.width;\n    },\n\n    hasApp() {\n      return this.app && !this.isMobile && !this.temporary;\n    },\n\n    isBottom() {\n      return this.bottom && this.isMobile;\n    },\n\n    isMiniVariant() {\n      return !this.expandOnHover && this.miniVariant || this.expandOnHover && !this.isMouseover;\n    },\n\n    isMobile() {\n      return !this.stateless && !this.permanent && Mobile.options.computed.isMobile.call(this);\n    },\n\n    reactsToClick() {\n      return !this.stateless && !this.permanent && (this.isMobile || this.temporary);\n    },\n\n    reactsToMobile() {\n      return this.app && !this.disableResizeWatcher && !this.permanent && !this.stateless && !this.temporary;\n    },\n\n    reactsToResize() {\n      return !this.disableResizeWatcher && !this.stateless;\n    },\n\n    reactsToRoute() {\n      return !this.disableRouteWatcher && !this.stateless && (this.temporary || this.isMobile);\n    },\n\n    showOverlay() {\n      return !this.hideOverlay && this.isActive && (this.isMobile || this.temporary);\n    },\n\n    styles() {\n      const translate = this.isBottom ? 'translateY' : 'translateX';\n      return {\n        height: convertToUnit(this.height),\n        top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n        maxHeight: this.computedMaxHeight != null ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})` : undefined,\n        transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n        width: convertToUnit(this.computedWidth)\n      };\n    }\n\n  },\n  watch: {\n    $route: 'onRouteChange',\n\n    isActive(val) {\n      this.$emit('input', val);\n    },\n\n    /**\n     * When mobile changes, adjust the active state\n     * only when there has been a previous value\n     */\n    isMobile(val, prev) {\n      !val && this.isActive && !this.temporary && this.removeOverlay();\n      if (prev == null || !this.reactsToResize || !this.reactsToMobile) return;\n      this.isActive = !val;\n    },\n\n    permanent(val) {\n      // If enabling prop enable the drawer\n      if (val) this.isActive = true;\n    },\n\n    showOverlay(val) {\n      if (val) this.genOverlay();else this.removeOverlay();\n    },\n\n    value(val) {\n      if (this.permanent) return;\n\n      if (val == null) {\n        this.init();\n        return;\n      }\n\n      if (val !== this.isActive) this.isActive = val;\n    },\n\n    expandOnHover: 'updateMiniVariant',\n\n    isMouseover(val) {\n      this.updateMiniVariant(!val);\n    }\n\n  },\n\n  beforeMount() {\n    this.init();\n  },\n\n  methods: {\n    calculateTouchArea() {\n      const parent = this.$el.parentNode;\n      if (!parent) return;\n      const parentRect = parent.getBoundingClientRect();\n      this.touchArea = {\n        left: parentRect.left + 50,\n        right: parentRect.right - 50\n      };\n    },\n\n    closeConditional() {\n      return this.isActive && !this._isDestroyed && this.reactsToClick;\n    },\n\n    genAppend() {\n      return this.genPosition('append');\n    },\n\n    genBackground() {\n      const props = {\n        height: '100%',\n        width: '100%',\n        src: this.src\n      };\n      const image = this.$scopedSlots.img ? this.$scopedSlots.img(props) : this.$createElement(VImg, {\n        props\n      });\n      return this.$createElement('div', {\n        staticClass: 'v-navigation-drawer__image'\n      }, [image]);\n    },\n\n    genDirectives() {\n      const directives = [{\n        name: 'click-outside',\n        value: {\n          handler: () => {\n            this.isActive = false;\n          },\n          closeConditional: this.closeConditional,\n          include: this.getOpenDependentElements\n        }\n      }];\n\n      if (!this.touchless && !this.stateless) {\n        directives.push({\n          name: 'touch',\n          value: {\n            parent: true,\n            left: this.swipeLeft,\n            right: this.swipeRight\n          }\n        });\n      }\n\n      return directives;\n    },\n\n    genListeners() {\n      const on = {\n        mouseenter: () => this.isMouseover = true,\n        mouseleave: () => this.isMouseover = false,\n        transitionend: e => {\n          if (e.target !== e.currentTarget) return;\n          this.$emit('transitionend', e); // IE11 does not support new Event('resize')\n\n          const resizeEvent = document.createEvent('UIEvents');\n          resizeEvent.initUIEvent('resize', true, false, window, 0);\n          window.dispatchEvent(resizeEvent);\n        }\n      };\n\n      if (this.miniVariant) {\n        on.click = () => this.$emit('update:mini-variant', false);\n      }\n\n      return on;\n    },\n\n    genPosition(name) {\n      const slot = getSlot(this, name);\n      if (!slot) return slot;\n      return this.$createElement('div', {\n        staticClass: `v-navigation-drawer__${name}`\n      }, slot);\n    },\n\n    genPrepend() {\n      return this.genPosition('prepend');\n    },\n\n    genContent() {\n      return this.$createElement('div', {\n        staticClass: 'v-navigation-drawer__content'\n      }, this.$slots.default);\n    },\n\n    genBorder() {\n      return this.$createElement('div', {\n        staticClass: 'v-navigation-drawer__border'\n      });\n    },\n\n    init() {\n      if (this.permanent) {\n        this.isActive = true;\n      } else if (this.stateless || this.value != null) {\n        this.isActive = this.value;\n      } else if (!this.temporary) {\n        this.isActive = !this.isMobile;\n      }\n    },\n\n    onRouteChange() {\n      if (this.reactsToRoute && this.closeConditional()) {\n        this.isActive = false;\n      }\n    },\n\n    swipeLeft(e) {\n      if (this.isActive && this.right) return;\n      this.calculateTouchArea();\n      if (Math.abs(e.touchendX - e.touchstartX) < 100) return;\n      if (this.right && e.touchstartX >= this.touchArea.right) this.isActive = true;else if (!this.right && this.isActive) this.isActive = false;\n    },\n\n    swipeRight(e) {\n      if (this.isActive && !this.right) return;\n      this.calculateTouchArea();\n      if (Math.abs(e.touchendX - e.touchstartX) < 100) return;\n      if (!this.right && e.touchstartX <= this.touchArea.left) this.isActive = true;else if (this.right && this.isActive) this.isActive = false;\n    },\n\n    /**\n     * Update the application layout\n     */\n    updateApplication() {\n      if (!this.isActive || this.isMobile || this.temporary || !this.$el) return 0;\n      const width = Number(this.miniVariant ? this.miniVariantWidth : this.width);\n      return isNaN(width) ? this.$el.clientWidth : width;\n    },\n\n    updateMiniVariant(val) {\n      if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val);\n    }\n\n  },\n\n  render(h) {\n    const children = [this.genPrepend(), this.genContent(), this.genAppend(), this.genBorder()];\n    if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground());\n    return h(this.tag, this.setBackgroundColor(this.color, {\n      class: this.classes,\n      style: this.styles,\n      directives: this.genDirectives(),\n      on: this.genListeners()\n    }), children);\n  }\n\n});\n//# sourceMappingURL=VNavigationDrawer.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[_c('Sidebar')],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[_c('div',{staticClass:\"headline\"},[_vm._v(\" Codified Laws \"),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),_c('v-row',{staticClass:\"text-center\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"5\"}},[_c('v-breadcrumbs',{staticClass:\"py-0\",staticStyle:{\"font-size\":\"18px\"},attrs:{\"divider\":\">\",\"items\":_vm.breadcrumbs}})],1),(!_vm.loading && _vm.item)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"7\"}},[(_vm.item.Previous)?_c('v-btn',{staticClass:\"ma-2\",attrs:{\"color\":\"primary\",\"to\":'/Statutes/' + _vm.item.Previous}},[_c('v-icon',[_vm._v(_vm._s(_vm.arrow_back))]),_vm._v(\" Previous \")],1):_vm._e(),(_vm.item.Next)?_c('v-btn',{attrs:{\"color\":\"primary\",\"to\":'/Statutes/' + _vm.item.Next}},[_vm._v(\" Next \"),_c('v-icon',[_vm._v(_vm._s(_vm.arrow_forward))])],1):_vm._e()],1):_vm._e()],1),_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('GoogleSearchStatute')],1)],1)],1)],1),_c('v-divider',{staticStyle:{\"height\":\"10px\",\"max-height\":\"10px\"}}),(_vm.Value != 'null' && _vm.item)?_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-spacer'),( _vm.item && !_vm.loading)?_c('v-btn',{staticStyle:{\"float\":\"right\"},attrs:{\"color\":\"primary\",\"rel\":\"noopener\",\"href\":'/api/Statutes/' + _vm.item.Statute + '.html?all=true'}},[_vm._v(\"Printer Friendly\")]):_vm._e()],1):_vm._e(),_c('v-container',[(_vm.showPendingAction)?_c('p',{staticClass:\"headline\",staticStyle:{\"color\":\"red\",\"font-size\":\"larger\"}},[_vm._v(\" Pending Court Action \")]):_vm._e(),(_vm.showUnconstitutional)?_c('p',{staticClass:\"headline\",staticStyle:{\"color\":\"red\",\"font-size\":\"larger\"}},[_vm._v(\" Article XXX was held unconstitutional by \"),_c('a',{staticStyle:{\"color\":\"inherit\",\"text-decoration\":\"underline\"},attrs:{\"href\":\"https://ujs.sd.gov/uploads/sc/opinions/2954698e671a.pdf\"}},[_vm._v(\"Thom v. Barnett, 2021 S.D. 65 (2021).\")])]):_vm._e(),(_vm.Value && _vm.Value != 'null' && _vm.item && _vm.item.Html)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.item.Html)}}):_c('div',[(!_vm.loading)?_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\"Not yet available.\")]):_vm._e()],1)])],1)],1),_c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}}),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.references.length)?_c('v-card',{staticStyle:{\"z-index\":\"0\"},attrs:{\"accordion\":\"\",\"tile\":\"\",\"multiple\":\"\"}},[_c('v-card-title',{staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){_vm.showReferences = !_vm.showReferences}}},[_vm._v(\" References \"),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"}},[_c('v-icon',[_vm._v(_vm._s(_vm.showReferences ? _vm.mdiChevronUp: _vm.mdiChevronDown))])],1)],1),_c('v-card-text',{style:(_vm.referencesStyle)},[_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.references,\"item-key\":\"Statute\",\"disable-pagination\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item.Statute\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{staticStyle:{\"text-decoration\":\"none\"},attrs:{\"to\":'/Statutes/' + item.Statute}},[_vm._v(_vm._s(item.Statute))])]}},{key:\"item.CatchLine\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"hidden-md-and-up\"},[_vm._v(\" \"+_vm._s(item.CatchLine)+\" \")]),_c('div',{staticClass:\"hidden-sm-and-down\"},[_vm._v(\" \"+_vm._s(_vm.shortenCell(item.CatchLine))+\" \")])]}},{key:\"no-data\",fn:function(){return [(!_vm.loading)?_c('v-alert',{attrs:{\"value\":true,\"type\":\"info\"}},[_vm._v(\" No Results \")]):_vm._e()]},proxy:true}],null,false,3166230806)})],1)],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <div>\r\n        <v-row class=\"ma-0 pa-0\">\r\n            <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n                <Sidebar></Sidebar>\r\n            </v-col>\r\n            <v-col md=\"10\" sm=\"12\">\r\n                <div class=\"headline\">\r\n                    Codified Laws\r\n                    <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n                    <v-row class=\"text-center\">\r\n                        <v-col cols=\"12\" sm=\"6\" md=\"5\">\r\n                            <v-breadcrumbs divider=\">\" :items=\"breadcrumbs\" class=\"py-0\" style=\"font-size:18px;\"></v-breadcrumbs>\r\n                        </v-col>\r\n                        <v-col cols=\"12\" sm=\"6\" md=\"7\" v-if=\"!loading && item\">\r\n                            <v-btn class=\"ma-2\" color=\"primary\" v-if=\"item.Previous\" :to=\"'/Statutes/' + item.Previous\">\r\n                                <v-icon>{{arrow_back}}</v-icon> Previous\r\n                            </v-btn>\r\n                            <v-btn color=\"primary\" v-if=\"item.Next\" :to=\"'/Statutes/' + item.Next\">\r\n                                Next <v-icon>{{arrow_forward}}</v-icon>\r\n                            </v-btn>\r\n                        </v-col>\r\n                    </v-row>\r\n                    <v-container>\r\n                        <v-layout row wrap>\r\n                            <v-flex xs12>\r\n                                <GoogleSearchStatute></GoogleSearchStatute>\r\n\r\n                            </v-flex>\r\n                        </v-layout>\r\n                    </v-container>\r\n                </div>\r\n                <v-divider style=\"height: 10px; max-height: 10px\"></v-divider>\r\n                <v-layout row wrap v-if=\"Value != 'null' && item\">\r\n                    <v-spacer></v-spacer>\r\n                    <v-btn v-if=\" item && !loading\" style=\"float:right;\" color=\"primary\" rel=\"noopener\" :href=\"'/api/Statutes/' + item.Statute + '.html?all=true'\">Printer Friendly</v-btn>\r\n                </v-layout>\r\n                <v-container>\r\n                    <p v-if=\"showPendingAction\" style=\"color: red; font-size: larger;\" class=\"headline\">\r\n                        Pending Court Action\r\n                    </p>\r\n                    <p v-if=\"showUnconstitutional\" style=\"color: red; font-size: larger;\" class=\"headline\">\r\n                        Article XXX was held unconstitutional by <a href=\"https://ujs.sd.gov/uploads/sc/opinions/2954698e671a.pdf\" style=\"color: inherit; text-decoration:underline;\">Thom v. Barnett, 2021 S.D. 65 (2021).</a>\r\n                    </p>\r\n                    <div v-if=\"Value && Value != 'null' && item && item.Html\" v-html=\"item.Html\"></div>\r\n                    <div v-else>\r\n                        <v-alert v-if=\"!loading\" dense\r\n                                 text\r\n                                 type=\"info\">Not yet available.</v-alert>\r\n                    </div>\r\n                </v-container>\r\n            </v-col>\r\n        </v-row>\r\n        <v-row class=\"ma-0 pa-0\">\r\n            <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            </v-col>\r\n            <v-col md=\"10\" sm=\"12\">\r\n                <v-card style=\"z-index: 0;\" accordion tile multiple v-if=\"references.length\">\r\n                    <v-card-title @click=\"showReferences = !showReferences\" style=\"cursor: pointer\">\r\n                        References\r\n                        <v-spacer></v-spacer>\r\n                        <v-btn icon><v-icon>{{ showReferences ? mdiChevronUp: mdiChevronDown }}</v-icon></v-btn>\r\n                    </v-card-title>\r\n                    <v-card-text :style=\"referencesStyle\">\r\n                        <FilterableDataTable :headers=\"headers\"\r\n                                             :items=\"references\"\r\n                                             item-key=\"Statute\"\r\n                                             disable-pagination\r\n                                             :loading=\"loading\"\r\n                                             loading-text=\"Loading... Please wait\"\r\n                                             hide-default-footer\r\n                                             class=\"elevation-1\">\r\n                            <template v-slot:item.Statute=\"{ item }\">\r\n                                <router-link :to=\"'/Statutes/' + item.Statute\" style=\"text-decoration: none;\">{{item.Statute}}</router-link>\r\n                            </template>\r\n                            <template v-slot:item.CatchLine=\"{ item }\">\r\n                                <div class=\"hidden-md-and-up\">\r\n                                    {{item.CatchLine}}\r\n                                </div>\r\n                                <div class=\"hidden-sm-and-down\">\r\n                                    {{shortenCell(item.CatchLine)}}\r\n                                </div>\r\n                            </template>\r\n                            <template v-slot:no-data>\r\n                                <v-alert v-if=\"!loading\" :value=\"true\" type=\"info\">\r\n                                    No Results\r\n                                </v-alert>\r\n                            </template>\r\n                        </FilterableDataTable>\r\n                    </v-card-text>\r\n\r\n                </v-card>\r\n            </v-col>\r\n        </v-row>\r\n    </div>\r\n</template>\r\n\r\n<script>\r\n    const GoogleSearch = () => import(\"@/Components/GoogleSearch.vue\");\r\n    const GoogleSearchStatute = () => import(\"@/Components/GoogleSearchStatute.vue\");\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n    import { mdiArrowLeft, mdiChevronDown, mdiChevronUp } from '@mdi/js';\r\n    import { mdiArrowRight } from '@mdi/js';\r\n\r\n    export default {\r\n        name: 'CodifiedStatute',\r\n        props: ['Value'],\r\n        components: {\r\n            GoogleSearch,\r\n            GoogleSearchStatute,\r\n            Sidebar,\r\n            FilterableDataTable\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n                this.item.Html = \"\";\r\n\r\n                if (this.Value != \"null\")\r\n                {\r\n                    fetch('/api/Statutes/Statute/' + this.Value,\r\n                        {\r\n                            method: \"GET\",\r\n                            credentials: \"include\",\r\n                            headers: { \"Content-Type\": \"application/json\" },\r\n                        })\r\n                        .then(res =>\r\n                        {\r\n                            if (res.redirected && res.url)\r\n                            {\r\n                                this.$router.push(res.url.replace(location.origin, ''));\r\n                                return Promise.reject(302);\r\n                            }\r\n                            else if (res.ok)\r\n                                return res.json();\r\n                            else if (res.status === 404)\r\n                                return Promise.reject(404);\r\n                            else\r\n                                return res.text().then(r => Promise.reject(r));\r\n                        })\r\n                        .then(r =>\r\n                        {\r\n                            if (r)\r\n                            {\r\n                                this.item = r;\r\n                                this.references = [];\r\n\r\n                                this.createBreadcrumbs(\"Codified Laws\", \"/Statutes\", this.item.Statute, this.item.parents);\r\n                                this.placeholder = \"Statute or Chapter\";\r\n\r\n                                if (this.item.Statute.indexOf('2-1-1.5') > -1 || this.item.Statute.indexOf('2-1-1.6') > -1)\r\n                                {\r\n                                    this.showPendingAction = true;\r\n                                    this.showUnconstitutional = false;\r\n                                }\r\n                                else if (this.item.Statute.indexOf('0N-30') > -1)\r\n                                {\r\n                                    this.showPendingAction = false;\r\n                                    this.showUnconstitutional = true;\r\n                                }\r\n                                else\r\n                                {\r\n                                    this.showPendingAction = false;\r\n                                    this.showUnconstitutional = false;\r\n                                }\r\n\r\n                                this.LoadReferents(this.item.StatuteId);\r\n                            }\r\n                        })\r\n                        .catch(error =>\r\n                        {\r\n                            if (error == 404)\r\n                                window.location.href = \"/404?path=\" + encodeURIComponent(window.location.pathname);\r\n                            else if (error != 302)\r\n                            {\r\n                                let e = String(error).substring(0, 100);\r\n\r\n                                if ((e || '').indexOf('Failed to fetch') > -1)\r\n                                {\r\n                                    window.location.href = \"/400?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                                }\r\n                                else\r\n                                {\r\n                                    reportError(error);\r\n                                    window.location.href = \"/500?path=\" + encodeURIComponent(window.location.pathname) + '&error=' + encodeURIComponent(e);\r\n                                }\r\n                            }\r\n                        })\r\n                        .finally(() =>\r\n                        {\r\n                            this.loading = false;\r\n                        });\r\n                }\r\n            },\r\n            createBreadcrumbs(route, url, child, parents)\r\n            {\r\n                this.readableNumber = child;\r\n\r\n                var l = [\r\n                    {\r\n                        to: '/',\r\n                        link: true,\r\n                        text: 'Home',\r\n                        name: 'Home'\r\n                    },\r\n                    {\r\n                        to: url,\r\n                        link: true,\r\n                        text: route,\r\n                        name: route,\r\n                        exact: true,\r\n                    }];\r\n\r\n                let currentVal = null;\r\n\r\n                parents.forEach((x, i) =>\r\n                {\r\n                    var bciL = {\r\n                        to: '',\r\n                        link: true,\r\n                        text: '',\r\n                        exact: true,\r\n                    };\r\n\r\n                    var val = '';\r\n\r\n                    if (currentVal)\r\n                    {\r\n                        currentVal += '-' + x.Statute;\r\n                    }\r\n                    else\r\n                    {\r\n                        currentVal = x.Statute;\r\n                    }\r\n\r\n                    val = currentVal;\r\n                    bciL.text = x.Statute;\r\n                    bciL.name = val;\r\n\r\n                    if (x.Statute != '0N')\r\n                    {\r\n                        switch (i)\r\n                        {\r\n                            case 0:\r\n                                bciL.to = url + '/' + val;\r\n                                break;\r\n                            case 1:\r\n                                bciL.to = url + '/' + val;\r\n                                break;\r\n                            case 2:\r\n                                bciL.to = url + '/' + val;\r\n                                break;\r\n                            default:\r\n                                bciL.to = url;\r\n                                break;\r\n                        }\r\n\r\n                        if (i == parents.length - 1)\r\n                        {\r\n                            bciL.disabled = true;\r\n\r\n                        }\r\n\r\n                        l.push(bciL);\r\n                    }\r\n                });\r\n\r\n                this.breadcrumbs = l;\r\n\r\n            },\r\n            //function currently not used.\r\n            LoadReferences(statuteId)\r\n            {\r\n                fetch('/api/Statutes/' + statuteId + '/References/',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.redirected && res.url)\r\n                        {\r\n                            this.$router.push(res.url.replace(location.origin, ''));\r\n                            return Promise.reject(302);\r\n                        }\r\n                        else if (res.ok)\r\n                            return res.json();\r\n                        else if (res.status === 404)\r\n                            return Promise.reject(404);\r\n                        else\r\n                            return res.text().then(r => Promise.reject(r));\r\n                    })\r\n                    .then(r =>\r\n                    {\r\n                        this.references.push(...r)\r\n                    });\r\n            },\r\n            LoadReferents(statuteId)\r\n            {\r\n                fetch('/api/Statutes/' + statuteId + '/Referents/',\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: { \"Content-Type\": \"application/json\" },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.redirected && res.url)\r\n                        {\r\n                            this.$router.push(res.url.replace(location.origin, ''));\r\n                            return Promise.reject(302);\r\n                        }\r\n                        else if (res.ok)\r\n                            return res.json();\r\n                        else if (res.status === 404)\r\n                            return Promise.reject(404);\r\n                        else\r\n                            return res.text().then(r => Promise.reject(r));\r\n                    })\r\n                    .then(r =>\r\n                    {\r\n                        this.references.push(...r)\r\n                    });\r\n            },\r\n            shortenCell(str)\r\n            {\r\n                if (str != null)\r\n                {\r\n                    if (str.length > 160)\r\n                    {\r\n                        return str.substring(0, 160);\r\n                    } else\r\n                    {\r\n                        return str;\r\n                    }\r\n                }\r\n            }\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                arrow_back: mdiArrowLeft,\r\n                arrow_forward: mdiArrowRight,\r\n                mdiChevronDown,\r\n                mdiChevronUp,\r\n                readableNumber: \"\",\r\n                loading: true,\r\n                showPendingAction: false,\r\n                showUnconstitutional: false,\r\n                item: {\r\n                    StatuteId: null,\r\n                    Html: null\r\n                },\r\n                breadcrumbs: [],\r\n                references: [],\r\n                showReferences: false,\r\n                headers: [\r\n                    {\r\n                        text: 'Statute',\r\n                        value: 'Statute',\r\n                        width: '25ch'\r\n                    },\r\n                    {\r\n                        text: 'Catchline',\r\n                        value: 'CatchLine',\r\n                        Type: 'Statute',\r\n                        width: '*'\r\n                    }\r\n                ],\r\n            };\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            Value()\r\n            {\r\n                this.LoadData();\r\n            },\r\n        },\r\n        computed: {\r\n            currentRoute: function ()\r\n            {\r\n                return this.$route.path;\r\n            },\r\n            JsonldBreadCrumbs: function ()\r\n            {\r\n                let CurrentBaseURL = window.location.origin;\r\n                let ListItems = [];\r\n                this.breadcrumbs.forEach((x, i) =>\r\n                {\r\n                    let li = {\r\n                        \"@type\": \"ListItem\",\r\n                        \"position\": i,\r\n                        \"name\": x.name,\r\n                        \"item\": CurrentBaseURL + x.to\r\n                    };\r\n                    ListItems.push(li);\r\n                });\r\n                return ListItems;\r\n            },\r\n            referencesStyle: function ()\r\n            {\r\n                if (this.showReferences)\r\n                    return '';\r\n                else\r\n                    return 'display: none;'\r\n            },\r\n            Title: function ()\r\n            {\r\n                let title = \"Codified Law \";\r\n\r\n                if (this.item && this.item.Statute)\r\n                {\r\n                    title = title + this.item.Statute;\r\n                }\r\n\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                if (this.item && this.item.CatchLine)\r\n                {\r\n                    return this.item.Catchline;\r\n                }\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                script: [\r\n                    {\r\n                        type: 'application/ld+json',\r\n                        json: {\r\n                            '@context': 'http://schema.org',\r\n                            '@type': 'Legislation',\r\n                            \"@id\": window.location.href,\r\n                            'name': 'Codified Laws ' + this.readableNumber,\r\n                            'description': this.Description,\r\n                            'legislationType': 'Codified Laws',\r\n                            'inLanguage': 'English'\r\n                        }\r\n                    }, {\r\n                        type: 'application/ld+json',\r\n                        json: {\r\n                            '@context': 'http://schema.org',\r\n                            '@type': 'BreadcrumbList',\r\n                            \"itemListElement\": this.JsonldBreadCrumbs\r\n                        }\r\n                    }],\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            };\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Statute.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Statute.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Statute.vue?vue&type=template&id=dbf2ffe8&\"\nimport script from \"./Statute.vue?vue&type=script&lang=js&\"\nexport * from \"./Statute.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { 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 { VCardTitle } 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 { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBreadcrumbs,VBtn,VCard,VCardText,VCardTitle,VCol,VContainer,VDivider,VFlex,VIcon,VLayout,VProgressLinear,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.SessionId)?_c('Sidebar',{attrs:{\"SessionId\":_vm.SessionId}}):_vm._e()],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.Session && _vm.Session.Year)?_c('div',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.Session.YearString)+\" Hoghouse Report\")]):_vm._e(),_vm._v(\" The following bills have been amended extensively (Joint Rule 6E-2) and may no longer be consistent with the original intention of the sponsor. \"),_c('FilterableDataTable',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"search\":_vm.search,\"item-key\":\"BillNumber\",\"group-by\":\"BillType\",\"multi-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"loading\":_vm.loading,\"loading-text\":\"Loading... Please wait\"},scopedSlots:_vm._u([{key:\"group.header\",fn:function(ref){\nvar items = ref.items;\nvar isOpen = ref.isOpen;\nvar toggle = ref.toggle;\nvar group = ref.group;\nvar groupby = ref.groupby;\nreturn [_c('td',{attrs:{\"colspan\":\"2\"}},[_vm._v(\" Bill Type: \"+_vm._s(_vm.LongBillName(group))+\" \"),(isOpen)?_c('v-icon',{on:{\"click\":toggle}},[_vm._v(_vm._s(_vm.minus))]):_c('v-icon',{on:{\"click\":toggle}},[_vm._v(_vm._s(_vm.plus))])],1)]}},{key:\"item.BillNumber\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('router-link',{attrs:{\"to\":'/Session/Bill/' + item.BillId}},[_vm._v(_vm._s(item.BillType + ' ' + item.BillNumber))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar v-if=\"SessionId\" :SessionId=\"SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <div class=\"headline\" v-if=\"Session && Session.Year\">{{Session.YearString}} Hoghouse Report</div>\r\n            The following bills have been amended extensively (Joint Rule 6E-2) and may no longer be consistent with the original intention of the sponsor.\r\n            <FilterableDataTable :headers=\"headers\"\r\n                          :items=\"items\"\r\n                          :search=\"search\"\r\n                          item-key=\"BillNumber\"\r\n                          group-by=\"BillType\"\r\n                          multi-sort\r\n                          disable-pagination\r\n                          hide-default-footer\r\n                          :loading=\"loading\"\r\n                          loading-text=\"Loading... Please wait\"\r\n                          class=\"elevation-1\">\r\n                <template v-slot:group.header=\"{items, isOpen, toggle, group, groupby}\">\r\n                    <td colspan=\"2\">\r\n                        Bill Type: {{LongBillName(group)}}\r\n                        <v-icon v-if=\"isOpen\" @click=\"toggle\">{{minus}}</v-icon>\r\n                        <v-icon v-else @click=\"toggle\">{{plus}}</v-icon>\r\n                    </td>\r\n                </template>\r\n                <template v-slot:item.BillNumber=\"{ item }\">\r\n                    <router-link :to=\"'/Session/Bill/' + item.BillId\">{{item.BillType + '&nbsp;' + item.BillNumber}}</router-link>\r\n                </template>\r\n            </FilterableDataTable>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    import { mdiPlus } from '@mdi/js';\r\n    import { mdiMinus } from '@mdi/js';\r\n    const FilterableDataTable = () => import(\"@/Components/FilterableDataTable.vue\");\r\n\r\n    export default {\r\n        name: 'Hoghouse',\r\n        props: ['SessionId'],\r\n        components: {\r\n            Sidebar, FilterableDataTable\r\n        },\r\n        methods: {\r\n            loadData() {\r\n                this.loading = true;\r\n                fetch('/api/Sessions/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    this.loading = false;\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.Session = EncodeDatetimes(response);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n                fetch('/api/BillLogs/Hoghouse/' + this.SessionId, {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.loading = false;\r\n                    var temp = EncodeDatetimes(response);\r\n                    this.items = temp.sort(\r\n                        function (a, b) {\r\n                            if (a.BillType === b.BillType) {\r\n                                return a.BillNumber - b.BillNumber;\r\n                            }\r\n                            return a.BillType > b.BillType ? 1 : -1;\r\n                        });\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n\r\n                fetch('/api/BillNumbers/BillTypes', {\r\n                    method: \"GET\",\r\n                    credentials: \"include\",\r\n                    headers: {\r\n                        \"Content-Type\": \"application/json\"\r\n                    },\r\n                }).then(res => {\r\n                    if (res.status === 200 || res.status === 201) {\r\n                        return res.json();\r\n                    }\r\n                    else {\r\n                        return null;\r\n                    }\r\n                    throw new Error(res.statusText);\r\n                }).then(response => {\r\n                    this.BillTypes = EncodeDatetimes(response);\r\n                    this.SenateBillTypes = this.BillTypes.filter(x => x.BillType.includes('S') == true);\r\n                    this.HouseBillTypes = this.BillTypes.filter(x => x.BillType.includes('H') == true);\r\n                }).catch(error => {\r\n                    throw new Error(error);\r\n                });\r\n\r\n            },\r\n            LongBillName(short) {\r\n                if (this.BillTypes && this.BillTypes.length > 0 && this.BillTypes.find(x => x.BillType == short)) {\r\n                    return this.BillTypes.find(x => x.BillType == short).LongBillType || '';\r\n                }\r\n                else {\r\n                    return short;\r\n                }\r\n            },\r\n        },\r\n        data: function () {\r\n            return {\r\n                plus: mdiPlus,\r\n                minus: mdiMinus,\r\n                search: '',\r\n                loading: false,\r\n                Session: {},\r\n                headers: [\r\n                    {\r\n                        text: 'Bill',\r\n                        align: 'start',\r\n                        value: 'BillNumber',\r\n                        width: '15ch'\r\n                    },\r\n\r\n                    {\r\n                        text: 'Title',\r\n                        value: 'Title',\r\n                        width: '*'\r\n                    },\r\n                ],\r\n                items: [],\r\n            }\r\n        },\r\n        mounted: function () {\r\n            this.loadData();\r\n        },\r\n        computed: {\r\n            Title: function () {\r\n                let title = 'Loading Hoghoused Bills...';\r\n                if (this.Session && this.Session.Year) {\r\n                    title = this.Session.Year + \" Hoghoused Bills\";\r\n                }\r\n                else {\r\n                    title = 'Hoghoused Bills';\r\n                }\r\n                return title;\r\n            },\r\n            Description: function () {\r\n                return this.Title;\r\n            }\r\n        },\r\n        metaInfo() {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Hoghouse.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Hoghouse.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Hoghouse.vue?vue&type=template&id=a5ddda26&\"\nimport script from \"./Hoghouse.vue?vue&type=script&lang=js&\"\nexport * from \"./Hoghouse.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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';\ninstallComponents(component, {VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('v-col',{attrs:{\"md\":\"2\",\"sm\":\"12\",\"cols\":\"12\"}},[(_vm.Session && _vm.Session.SessionId)?_c('Sidebar',{attrs:{\"SessionId\":_vm.Session.SessionId}}):_vm._e()],1),_c('v-col',{attrs:{\"md\":\"10\",\"sm\":\"12\"}},[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),(_vm.Vote && _vm.Vote.actionLog && _vm.Vote.Bill)?_c('div',{staticClass:\"headline\"},[_vm._l((_vm.Vote.Bill),function(b,i){return _c('span',{key:i},[(i>0)?_c('span',[_vm._v(\", \"),_c('router-link',{attrs:{\"to\":'/Session/Bill/'+b.BillId}},[_vm._v(_vm._s(b.BillType)+\" \"+_vm._s(b.BillNumber))])],1):_c('span',[_c('router-link',{attrs:{\"to\":'/Session/Bill/'+b.BillId}},[_vm._v(_vm._s(b.BillType)+\" \"+_vm._s(b.BillNumber))])],1)])}),(_vm.Vote.Bill && _vm.Vote.Bill.length > 0)?_c('span',[_vm._v(\", \"+_vm._s(_vm.Vote.actionLog.FullName)+\", \"+_vm._s(_vm.Vote.actionLog.StatusText)+\" - \"+_vm._s(_vm.Session.Year))]):_c('span',[_vm._v(_vm._s(_vm.Vote.actionLog.FullName)+\", \"+_vm._s(_vm.Vote.actionLog.StatusText)+\" - \"+_vm._s(_vm.Session.Year))])],2):_vm._e(),(_vm.Vote)?_c('v-row',[_c('v-col',{staticClass:\"py-2\",attrs:{\"cols\":\"12\"}},[_c('b',[_vm._v(\"Yeas\")]),_c('v-chip',[_vm._v(_vm._s(_vm.Vote.Yeas))]),_c('b',[_vm._v(\"Nays\")]),_c('v-chip',[_vm._v(_vm._s(_vm.Vote.Nays))]),_c('b',[_vm._v(\"Excused\")]),_c('v-chip',[_vm._v(_vm._s(_vm.Vote.Excused))]),_c('b',[_vm._v(\"Absent\")]),_c('v-chip',[_vm._v(_vm._s(_vm.Vote.Absent))])],1)],1):_vm._e(),(_vm.Vote && _vm.Vote.RollCalls)?_c('v-row',_vm._l((_vm.Vote.RollCalls),function(i){return _c('v-flex',{key:i.RollCallId,attrs:{\"md4\":\"\",\"sm6\":\"\",\"xs12\":\"\"}},[_c('v-layout',{attrs:{\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs7\":\"\",\"offset-xs1\":\"\"}},[_c('router-link',{attrs:{\"to\":'/Legislators/Profile/' +i.SessionMemberId+'/Detail'}},[_vm._v(_vm._s(i.FormattedUniqueName))])],1),_c('v-flex',{attrs:{\"xs4\":\"\"}},[_vm._v(_vm._s(i.Vote1))])],1)],1)}),1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-row class=\"ma-0 pa-0\">\r\n        <v-col md=\"2\" sm=\"12\" cols=\"12\">\r\n            <Sidebar v-if=\"Session && Session.SessionId\" :SessionId=\"Session.SessionId\"></Sidebar>\r\n        </v-col>\r\n        <v-col md=\"10\" sm=\"12\">\r\n            <v-progress-linear indeterminate v-if=\"loading\"></v-progress-linear>\r\n            <div class=\"headline\" v-if=\"Vote && Vote.actionLog && Vote.Bill\">\r\n                <span v-for=\"(b,i) in Vote.Bill\" :key=\"i\"><span v-if=\"i>0\">, <router-link :to=\"'/Session/Bill/'+b.BillId\">{{b.BillType}} {{b.BillNumber}}</router-link></span><span v-else><router-link :to=\"'/Session/Bill/'+b.BillId\">{{b.BillType}} {{b.BillNumber}}</router-link></span></span><span v-if=\"Vote.Bill && Vote.Bill.length > 0\">, {{Vote.actionLog.FullName}}, {{Vote.actionLog.StatusText}} - {{Session.Year}}</span><span v-else>{{Vote.actionLog.FullName}}, {{Vote.actionLog.StatusText}} - {{Session.Year}}</span>\r\n            </div>\r\n            <v-row v-if=\"Vote\">\r\n                <v-col cols=\"12\" class=\"py-2\">\r\n                    <b>Yeas</b><v-chip>{{Vote.Yeas}}</v-chip>\r\n                    <b>Nays</b><v-chip>{{Vote.Nays}}</v-chip>\r\n                    <b>Excused</b><v-chip>{{Vote.Excused}}</v-chip>\r\n                    <b>Absent</b><v-chip>{{Vote.Absent}}</v-chip>\r\n                </v-col>\r\n            </v-row>\r\n            <v-row v-if=\"Vote && Vote.RollCalls\">\r\n                <v-flex md4 sm6 xs12 v-for=\"i in Vote.RollCalls\" :key=\"i.RollCallId\">\r\n                    <v-layout wrap>\r\n                        <v-flex xs7 offset-xs1><router-link :to=\"'/Legislators/Profile/' +i.SessionMemberId+'/Detail'\">{{i.FormattedUniqueName}}</router-link></v-flex>\r\n                        <v-flex xs4>{{i.Vote1}}</v-flex>\r\n                    </v-layout>\r\n                </v-flex>\r\n            </v-row>\r\n        </v-col>\r\n    </v-row>\r\n</template>\r\n<script>\r\n    import moment from 'moment'\r\n    const Sidebar = () => import(\"@/Menus/Sidebar.vue\");\r\n    export default {\r\n        name: 'Vote',\r\n        props: ['VoteId'],\r\n        components: {\r\n            Sidebar\r\n        },\r\n        methods: {\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n                fetch('/api/Votes/' + this.VoteId,\r\n                    {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    })\r\n                    .then(res =>\r\n                    {\r\n                        if (res.ok)\r\n                            return res.json();\r\n                        else\r\n                            return res.text().then(r => Promise.reject(r));\r\n                    })\r\n                    .then(response =>\r\n                    {\r\n                        this.Vote = EncodeDatetimes(response);\r\n\r\n                        if (this.Vote.SessionId)\r\n                        {\r\n                            return fetch('/api/Sessions/' + this.Vote.SessionId,\r\n                                {\r\n                                    method: \"GET\",\r\n                                    credentials: \"include\",\r\n                                    headers: { \"Content-Type\": \"application/json\" },\r\n                                })\r\n                                .then(res =>\r\n                                {\r\n                                    if (res.ok)\r\n                                        return res.json();\r\n                                    else\r\n                                        return res.text().then(r => Promise.reject(r));\r\n                                })\r\n                                .then(response =>\r\n                                {\r\n                                    this.Session = EncodeDatetimes(response);\r\n                                });\r\n                        }\r\n                    })\r\n                    .catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n\r\n                    })\r\n                    .finally(_ =>\r\n                    {\r\n                        this.loading = false;\r\n                    });\r\n            },\r\n            DatePretty(Date)\r\n            {\r\n                if (Date != undefined)\r\n                {\r\n                    return moment(Date).format('MM/DD/YYYY');\r\n                } else\r\n                {\r\n                    return null;\r\n                }\r\n            },\r\n            DateMonthPretty(Date)\r\n            {\r\n                if (Date != undefined)\r\n                {\r\n                    return moment(Date).format('MMMM DD, YYYY');\r\n                } else\r\n                {\r\n                    return null;\r\n                }\r\n            },\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                search: '',\r\n                loading: true,\r\n                Session: {},\r\n                Vote: {\r\n                    SessionId: null,\r\n                    Yea: 0,\r\n                    Nay: 0,\r\n                    Excused: 0,\r\n                    Absent: 0,\r\n                },\r\n            }\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            VoteId: function ()\r\n            {\r\n                this.LoadData();\r\n            }\r\n        },\r\n        computed: {\r\n            Title: function ()\r\n            {\r\n                let title = 'Vote ' + this.VoteId;\r\n                return title;\r\n            },\r\n            Description: function ()\r\n            {\r\n                if (this.Vote && this.Vote.actionLog && this.Vote.actionLog.StatusText)\r\n                {\r\n                    return this.Title + ': ' + this.Vote.actionLog.FullName + ' ' + this.Vote.actionLog.StatusText;\r\n                }\r\n                return this.Title;\r\n            },\r\n            datePublished: function ()\r\n            {\r\n                if (this.Vote && this.Vote.actionLog && this.Vote.actionLog.ActionDate)\r\n                {\r\n                    return moment(this.Vote.actionLog.ActionDate).format();\r\n                }\r\n                return null;\r\n            }\r\n        },\r\n        metaInfo()\r\n        {\r\n            return {\r\n                title: this.Title,\r\n                meta: [\r\n                    { vmid: 'description', name: 'description', content: this.Description },\r\n                    { vmid: 'datePublished', property: 'datePublished', content: this.datePublished },\r\n                    // OpenGraph data (Most widely used)\r\n                    { vmid: 'og:title', property: 'og:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    // The list of types is available here: http://ogp.me/#types\r\n                    { vmid: 'og:type', property: 'og:type', content: 'website' },\r\n                    // Should be the same as your canonical link, see below.\r\n                    { vmid: 'og:url', property: 'og:url', content: window.location.href },\r\n                    // Often the same as your meta description, but not always.\r\n                    { vmid: 'og:description', property: 'og:description', content: this.Description },\r\n\r\n                    // Twitter card\r\n                    { vmid: 'twitter:card', name: 'twitter:card', content: 'summary' },\r\n                    { vmid: 'twitter:site', name: 'twitter:site', content: window.location.href },\r\n                    { vmid: 'twitter:title', name: 'twitter:title', content: this.Title + ' | South Dakota Legislature' },\r\n                    { vmid: 'twitter:description', name: 'twitter:description', content: this.Description }\r\n                ],\r\n                link: [\r\n                    { vmid: 'canonical', rel: 'canonical', href: window.location.href.split('?')[0] }\r\n                ]\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Vote.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Vote.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Vote.vue?vue&type=template&id=2f4dbb82&\"\nimport script from \"./Vote.vue?vue&type=script&lang=js&\"\nexport * from \"./Vote.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VCol,VFlex,VLayout,VProgressLinear,VRow})\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".container{width:100%;padding:12px;margin-right:auto;margin-left:auto}@media(min-width:960px){.container{max-width:900px}}@media(min-width:1264px){.container{max-width:1185px}}@media(min-width:1904px){.container{max-width:1785px}}.container--fluid{max-width:100%}.row{display:flex;flex-wrap:wrap;flex:1 1 auto;margin:-12px}.row+.row{margin-top:12px}.row+.row--dense{margin-top:4px}.row--dense{margin:-4px}.row--dense>.col,.row--dense>[class*=col-]{padding:4px}.row.no-gutters{margin:0}.row.no-gutters>.col,.row.no-gutters>[class*=col-]{padding:0}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto{width:100%;padding:12px}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{flex:0 0 100%;max-width:100%}.v-application--is-ltr .offset-1{margin-left:8.3333333333%}.v-application--is-rtl .offset-1{margin-right:8.3333333333%}.v-application--is-ltr .offset-2{margin-left:16.6666666667%}.v-application--is-rtl .offset-2{margin-right:16.6666666667%}.v-application--is-ltr .offset-3{margin-left:25%}.v-application--is-rtl .offset-3{margin-right:25%}.v-application--is-ltr .offset-4{margin-left:33.3333333333%}.v-application--is-rtl .offset-4{margin-right:33.3333333333%}.v-application--is-ltr .offset-5{margin-left:41.6666666667%}.v-application--is-rtl .offset-5{margin-right:41.6666666667%}.v-application--is-ltr .offset-6{margin-left:50%}.v-application--is-rtl .offset-6{margin-right:50%}.v-application--is-ltr .offset-7{margin-left:58.3333333333%}.v-application--is-rtl .offset-7{margin-right:58.3333333333%}.v-application--is-ltr .offset-8{margin-left:66.6666666667%}.v-application--is-rtl .offset-8{margin-right:66.6666666667%}.v-application--is-ltr .offset-9{margin-left:75%}.v-application--is-rtl .offset-9{margin-right:75%}.v-application--is-ltr .offset-10{margin-left:83.3333333333%}.v-application--is-rtl .offset-10{margin-right:83.3333333333%}.v-application--is-ltr .offset-11{margin-left:91.6666666667%}.v-application--is-rtl .offset-11{margin-right:91.6666666667%}@media(min-width:600px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.v-application--is-ltr .offset-sm-0{margin-left:0}.v-application--is-rtl .offset-sm-0{margin-right:0}.v-application--is-ltr .offset-sm-1{margin-left:8.3333333333%}.v-application--is-rtl .offset-sm-1{margin-right:8.3333333333%}.v-application--is-ltr .offset-sm-2{margin-left:16.6666666667%}.v-application--is-rtl .offset-sm-2{margin-right:16.6666666667%}.v-application--is-ltr .offset-sm-3{margin-left:25%}.v-application--is-rtl .offset-sm-3{margin-right:25%}.v-application--is-ltr .offset-sm-4{margin-left:33.3333333333%}.v-application--is-rtl .offset-sm-4{margin-right:33.3333333333%}.v-application--is-ltr .offset-sm-5{margin-left:41.6666666667%}.v-application--is-rtl .offset-sm-5{margin-right:41.6666666667%}.v-application--is-ltr .offset-sm-6{margin-left:50%}.v-application--is-rtl .offset-sm-6{margin-right:50%}.v-application--is-ltr .offset-sm-7{margin-left:58.3333333333%}.v-application--is-rtl .offset-sm-7{margin-right:58.3333333333%}.v-application--is-ltr .offset-sm-8{margin-left:66.6666666667%}.v-application--is-rtl .offset-sm-8{margin-right:66.6666666667%}.v-application--is-ltr .offset-sm-9{margin-left:75%}.v-application--is-rtl .offset-sm-9{margin-right:75%}.v-application--is-ltr .offset-sm-10{margin-left:83.3333333333%}.v-application--is-rtl .offset-sm-10{margin-right:83.3333333333%}.v-application--is-ltr .offset-sm-11{margin-left:91.6666666667%}.v-application--is-rtl .offset-sm-11{margin-right:91.6666666667%}}@media(min-width:960px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{flex:0 0 100%;max-width:100%}.v-application--is-ltr .offset-md-0{margin-left:0}.v-application--is-rtl .offset-md-0{margin-right:0}.v-application--is-ltr .offset-md-1{margin-left:8.3333333333%}.v-application--is-rtl .offset-md-1{margin-right:8.3333333333%}.v-application--is-ltr .offset-md-2{margin-left:16.6666666667%}.v-application--is-rtl .offset-md-2{margin-right:16.6666666667%}.v-application--is-ltr .offset-md-3{margin-left:25%}.v-application--is-rtl .offset-md-3{margin-right:25%}.v-application--is-ltr .offset-md-4{margin-left:33.3333333333%}.v-application--is-rtl .offset-md-4{margin-right:33.3333333333%}.v-application--is-ltr .offset-md-5{margin-left:41.6666666667%}.v-application--is-rtl .offset-md-5{margin-right:41.6666666667%}.v-application--is-ltr .offset-md-6{margin-left:50%}.v-application--is-rtl .offset-md-6{margin-right:50%}.v-application--is-ltr .offset-md-7{margin-left:58.3333333333%}.v-application--is-rtl .offset-md-7{margin-right:58.3333333333%}.v-application--is-ltr .offset-md-8{margin-left:66.6666666667%}.v-application--is-rtl .offset-md-8{margin-right:66.6666666667%}.v-application--is-ltr .offset-md-9{margin-left:75%}.v-application--is-rtl .offset-md-9{margin-right:75%}.v-application--is-ltr .offset-md-10{margin-left:83.3333333333%}.v-application--is-rtl .offset-md-10{margin-right:83.3333333333%}.v-application--is-ltr .offset-md-11{margin-left:91.6666666667%}.v-application--is-rtl .offset-md-11{margin-right:91.6666666667%}}@media(min-width:1264px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.v-application--is-ltr .offset-lg-0{margin-left:0}.v-application--is-rtl .offset-lg-0{margin-right:0}.v-application--is-ltr .offset-lg-1{margin-left:8.3333333333%}.v-application--is-rtl .offset-lg-1{margin-right:8.3333333333%}.v-application--is-ltr .offset-lg-2{margin-left:16.6666666667%}.v-application--is-rtl .offset-lg-2{margin-right:16.6666666667%}.v-application--is-ltr .offset-lg-3{margin-left:25%}.v-application--is-rtl .offset-lg-3{margin-right:25%}.v-application--is-ltr .offset-lg-4{margin-left:33.3333333333%}.v-application--is-rtl .offset-lg-4{margin-right:33.3333333333%}.v-application--is-ltr .offset-lg-5{margin-left:41.6666666667%}.v-application--is-rtl .offset-lg-5{margin-right:41.6666666667%}.v-application--is-ltr .offset-lg-6{margin-left:50%}.v-application--is-rtl .offset-lg-6{margin-right:50%}.v-application--is-ltr .offset-lg-7{margin-left:58.3333333333%}.v-application--is-rtl .offset-lg-7{margin-right:58.3333333333%}.v-application--is-ltr .offset-lg-8{margin-left:66.6666666667%}.v-application--is-rtl .offset-lg-8{margin-right:66.6666666667%}.v-application--is-ltr .offset-lg-9{margin-left:75%}.v-application--is-rtl .offset-lg-9{margin-right:75%}.v-application--is-ltr .offset-lg-10{margin-left:83.3333333333%}.v-application--is-rtl .offset-lg-10{margin-right:83.3333333333%}.v-application--is-ltr .offset-lg-11{margin-left:91.6666666667%}.v-application--is-rtl .offset-lg-11{margin-right:91.6666666667%}}@media(min-width:1904px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.v-application--is-ltr .offset-xl-0{margin-left:0}.v-application--is-rtl .offset-xl-0{margin-right:0}.v-application--is-ltr .offset-xl-1{margin-left:8.3333333333%}.v-application--is-rtl .offset-xl-1{margin-right:8.3333333333%}.v-application--is-ltr .offset-xl-2{margin-left:16.6666666667%}.v-application--is-rtl .offset-xl-2{margin-right:16.6666666667%}.v-application--is-ltr .offset-xl-3{margin-left:25%}.v-application--is-rtl .offset-xl-3{margin-right:25%}.v-application--is-ltr .offset-xl-4{margin-left:33.3333333333%}.v-application--is-rtl .offset-xl-4{margin-right:33.3333333333%}.v-application--is-ltr .offset-xl-5{margin-left:41.6666666667%}.v-application--is-rtl .offset-xl-5{margin-right:41.6666666667%}.v-application--is-ltr .offset-xl-6{margin-left:50%}.v-application--is-rtl .offset-xl-6{margin-right:50%}.v-application--is-ltr .offset-xl-7{margin-left:58.3333333333%}.v-application--is-rtl .offset-xl-7{margin-right:58.3333333333%}.v-application--is-ltr .offset-xl-8{margin-left:66.6666666667%}.v-application--is-rtl .offset-xl-8{margin-right:66.6666666667%}.v-application--is-ltr .offset-xl-9{margin-left:75%}.v-application--is-rtl .offset-xl-9{margin-right:75%}.v-application--is-ltr .offset-xl-10{margin-left:83.3333333333%}.v-application--is-rtl .offset-xl-10{margin-right:83.3333333333%}.v-application--is-ltr .offset-xl-11{margin-left:91.6666666667%}.v-application--is-rtl .offset-xl-11{margin-right:91.6666666667%}}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.SearchOn)?_c('v-flex',{attrs:{\"xs12\":\"\",\"id\":\"LRCGoogleSearchFlex\"}},[(_vm.SessionFilter && _vm.Session)?_c('div',{attrs:{\"id\":\"LRCGoogleSearch\"}},[_c('v-text-field',{attrs:{\"label\":_vm.label,\"clearable\":\"\",\"loading\":_vm.startedSearch},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.searchGoogle.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":_vm.searchGoogle}},[_c('v-icon',[_vm._v(_vm._s(_vm.searchIcon))])],1)]},proxy:true}],null,false,1225807353),model:{value:(_vm.SearchText),callback:function ($$v) {_vm.SearchText=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"SearchText\"}}),(_vm.smallSearchResults)?_c('gcse:searchresults-only',{attrs:{\"as_sitesearch\":_vm.siteSearch,\"resultsUrl\":_vm.fullUrl,\"gname\":_vm.currentRoute,\"as_oq\":'inurl:Year=' +_vm.Session.Year}}):_vm._e()],1):_c('div',{attrs:{\"id\":\"LRCGoogleSearch\"}},[_c('v-text-field',{attrs:{\"label\":_vm.label,\"clearable\":\"\",\"loading\":_vm.startedSearch},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.searchGoogle.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":_vm.searchGoogle}},[_c('v-icon',[_vm._v(_vm._s(_vm.searchIcon))])],1)]},proxy:true}],null,false,1225807353),model:{value:(_vm.SearchText),callback:function ($$v) {_vm.SearchText=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"SearchText\"}}),(_vm.smallSearchResults)?_c('gcse:searchresults-only',{attrs:{\"as_sitesearch\":_vm.siteSearch,\"resultsUrl\":_vm.fullUrl,\"gname\":_vm.currentRoute}}):_vm._e()],1)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <v-flex xs12 id=\"LRCGoogleSearchFlex\" v-if=\"SearchOn\">\r\n        <div v-if=\"SessionFilter && Session\" id=\"LRCGoogleSearch\">\r\n            <v-text-field :label=\"label\"\r\n                          clearable\r\n                          v-model.trim=\"SearchText\"\r\n                          :loading=\"startedSearch\"\r\n                          v-on:keyup.enter=\"searchGoogle\">\r\n                <template v-slot:append>\r\n                    <v-btn small icon @click=\"searchGoogle\">\r\n                        <v-icon>{{searchIcon}}</v-icon>\r\n                    </v-btn>\r\n                </template>\r\n            </v-text-field>\r\n\r\n            <gcse:searchresults-only v-if=\"smallSearchResults\" :as_sitesearch=\"siteSearch\" :resultsUrl=\"fullUrl\" :gname=\"currentRoute\" :as_oq=\"'inurl:Year=' +Session.Year\"></gcse:searchresults-only>\r\n        </div>\r\n        <div v-else id=\"LRCGoogleSearch\">\r\n            <v-text-field :label=\"label\"\r\n                          clearable\r\n                          v-model.trim=\"SearchText\"\r\n                          :loading=\"startedSearch\"\r\n                          v-on:keyup.enter=\"searchGoogle\">\r\n                <template v-slot:append>\r\n                    <v-btn small icon @click=\"searchGoogle\">\r\n                        <v-icon>{{searchIcon}}</v-icon>\r\n                    </v-btn>\r\n                </template>\r\n            </v-text-field>\r\n\r\n            <gcse:searchresults-only v-if=\"smallSearchResults\" :as_sitesearch=\"siteSearch\" :resultsUrl=\"fullUrl\" :gname=\"currentRoute\"></gcse:searchresults-only>\r\n        </div>\r\n    </v-flex>\r\n</template>\r\n<script>\r\n    import { mdiMagnify } from '@mdi/js';\r\n    export default {\r\n        name: 'GoogleSearchStatute',\r\n        props: ['SessionId'],\r\n        components: {},\r\n        methods: {\r\n            CreateScript()\r\n            {\r\n                let GoogleSearchScript = document.getElementById('google-search');\r\n                if (GoogleSearchScript)\r\n                {\r\n                    GoogleSearchScript.remove();\r\n                }\r\n                var cx = '011484940545142366257:15ycg7ooo6y';\r\n                var gcse = document.createElement('script', { id: 'google-search' });\r\n                gcse.id = 'google-search';\r\n                gcse.type = 'text/javascript';\r\n                gcse.async = true;\r\n                gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;\r\n                var s = document.getElementsByTagName('script')[0];\r\n                if (s)\r\n                {\r\n                    s.parentNode.insertBefore(gcse, s);\r\n                }\r\n                if (this.SearchOn)\r\n                {\r\n                    this.SearchOn = false;\r\n                    var comp = this;\r\n                    this.$nextTick().then(function ()\r\n                    {\r\n                        comp.SearchOn = true;\r\n                    });\r\n                }\r\n            },\r\n            searchGoogle: function (item)\r\n            {\r\n                this.startedSearch = true;\r\n                const StatuteRegex = /\\d{1,2}[A-Za-z]{0,1}[-](\\d{1,2}[A-Za-z]{0,1})[-]?([0-9A-Za-z]*)?\\s*(\\([0-9A-Za-z]+\\))?(\\.[0-9A-Za-z]+)?/g;\r\n                const ConstitutionRegex = /\\d{1,2}[A-Za-z]{0,1}[-](\\d{1,2}[A-Za-z]{0,1})[-]?([0-9A-Za-z]*)?\\s*(\\([0-9A-Za-z]+\\))?(\\.[0-9A-Za-z]+)?/g;\r\n                const AdministrativeRegex = /\\d{1,2}:(\\d{1,2})(?::(\\d{1,2})([a-zA-Z])?)?(?:\\.(\\d{1,2}))?(?::(\\d{1,2})([a-zA-Z])?)?(?:\\.(\\d{1,2}))?/g;\r\n                const Session_LawsRegex = /\\d{1,3}?/g;\r\n                this.smallSearchResults = false;\r\n                this.$forceUpdate();\r\n                let UpperSearchText = ((this.SearchText || \"\").toUpperCase() || \"\");\r\n                if (this.currentRoute.includes('Constitution') && UpperSearchText.match(ConstitutionRegex))\r\n                {\r\n                    this.$router.push('/Statutes/Constitution/' + this.SearchText);\r\n                }\r\n                else if (this.currentRoute.includes('Administrative') && UpperSearchText.match(AdministrativeRegex))\r\n                {\r\n                    this.$router.push('/Rules/Administrative/' + UpperSearchText);\r\n                    this.startedSearch = false;\r\n                }\r\n                else if (this.currentRoute.includes('Session_Laws') && UpperSearchText.match(Session_LawsRegex))\r\n                {\r\n                    fetch('/api/SessionLaws/ChapterToId/' + this.SearchText + '?SessionId=' + this.Session.SessionId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res =>\r\n                    {\r\n                        this.startedSearch = false;\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else\r\n                        {\r\n                            return null;\r\n                            this.performSearch();\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response =>\r\n                    {\r\n                        this.items = EncodeDatetimes(response);\r\n                        if (this.items != null)\r\n                        {\r\n                            window.location = '/Statutes/Session_Laws/Chapter/' + this.items;\r\n                        } else\r\n                        {\r\n                            this.performSearch();\r\n                        }\r\n                    }).catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                        this.performSearch();\r\n                    });\r\n                }\r\n                else if (this.currentRoute.includes('Statutes') && UpperSearchText.match(StatuteRegex))\r\n                {\r\n                    this.$router.push('/Statutes/' + this.SearchText);\r\n                    this.startedSearch = false;\r\n                }\r\n                else\r\n                {\r\n                    this.performSearch();\r\n                }\r\n            },\r\n            performSearch()\r\n            {\r\n                if (this.$route.query.q != this.SearchText)\r\n                {\r\n                    this.$router.push({ path: this.currentRoute, query: { q: this.SearchText } });\r\n                    this.CreateScript();\r\n                }\r\n                this.smallSearchResults = true;\r\n                this.startedSearch = false;\r\n            },\r\n            LoadData()\r\n            {\r\n                this.loading = true;\r\n                if (this.SessionId)\r\n                {\r\n                    fetch('/api/Sessions/' + this.SessionId, {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res =>\r\n                    {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else\r\n                        {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response =>\r\n                    {\r\n                        this.loading = false;\r\n                        this.Session = EncodeDatetimes(response);\r\n                    }).catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n                else\r\n                {\r\n                    fetch('/api/Sessions/Current', {\r\n                        method: \"GET\",\r\n                        credentials: \"include\",\r\n                        headers: {\r\n                            \"Content-Type\": \"application/json\"\r\n                        },\r\n                    }).then(res =>\r\n                    {\r\n                        this.loading = false;\r\n                        if (res.status === 200 || res.status === 201)\r\n                        {\r\n                            return res.json();\r\n                        }\r\n                        else\r\n                        {\r\n                            return null;\r\n                        }\r\n                        throw new Error(res.statusText);\r\n                    }).then(response =>\r\n                    {\r\n                        this.Session = EncodeDatetimes(response);\r\n                    }).catch(error =>\r\n                    {\r\n                        throw new Error(error);\r\n                    });\r\n                }\r\n            },\r\n\r\n        },\r\n        data: function ()\r\n        {\r\n            return {\r\n                searchIcon: mdiMagnify,\r\n                startedSearch: false,\r\n                smallSearchResults: false,\r\n                SearchText: '',\r\n                searchURL: '',\r\n                SearchOn: true,\r\n                loading: false,\r\n                Session: {},\r\n                Session1: true,\r\n                SessionFilter: false,\r\n                fullUrl: window.location.origin + \"/\" + this.currentRoute,\r\n                urlToSearch: [\r\n                    {\r\n                        route: '/References/ProgramEvaluation',\r\n                        site: 'sdlegislature.gov/docs/Reports/ProgramEvaluations/*',\r\n                    },\r\n                    {\r\n                        route: '/References/IssueMemos',\r\n                        site: 'sdlegislature.gov/docs/referencematerials/IssueMemos/*',\r\n                    },\r\n                    {\r\n                        route: '/References/PerformanceReports',\r\n                        site: 'sdlegislature.gov/docs/Reports/LPC/*',\r\n                    },\r\n                    {\r\n                        route: '/References/RequiredReports',\r\n                        site: 'sdlegislature.gov/docs/referencematerials/requiredreports/*',\r\n                    },\r\n                    {\r\n                        route: '/Rules/Registers',\r\n                        site: 'sdlegislature.gov/docs/rules/Register/*',\r\n                    },\r\n                    {\r\n                        route: '/Rules/Administrative',\r\n                        site: 'sdlegislature.gov/Rules/*',\r\n                    },\r\n                    {\r\n                        route: '/Statutes',\r\n                        site: 'sdlegislature.gov/Statutes/*',\r\n                    },\r\n                    {\r\n                        route: '/Constitution',\r\n                        site: 'sdlegislature.gov/Constitution',\r\n                    },\r\n                    {\r\n                        route: '/Statutes/Session_Laws',\r\n                        site: 'sdlegislature.gov/statutes/Session_Laws/DisplayChapter.aspx',\r\n                        includeSession: true,\r\n\r\n                    },\r\n                    {\r\n                        route: '/Session/Bills',\r\n                        site: 'mylrc.sdlegislature.gov/api/Documents/Bill/*.pdf?Year=*',\r\n                        includeSession: true,\r\n                    },\r\n                    {\r\n                        route: '/Session/TextSearch',\r\n                        site: 'mylrc.sdlegislature.gov/api/Documents/Bill/*.pdf',\r\n\r\n                    },\r\n                    {\r\n                        route: '/Interim/Archived',\r\n                        site: 'sdlegislature.gov/docs/interim/*',\r\n\r\n                    },\r\n                    {\r\n                        route: '/Session/Archived',\r\n                        site: 'mylrc.sdlegislature.gov/api/Documents/Bill/*',\r\n                    },\r\n                ],\r\n            };\r\n        },\r\n        mounted: function ()\r\n        {\r\n            this.CreateScript();\r\n            this.SearchText = this.$route.query.q;\r\n            this.LoadData();\r\n        },\r\n        watch: {\r\n            SessionId: function ()\r\n            {\r\n                this.Session1 = !this.Session1;\r\n            },\r\n            currentRoute: function ()\r\n            {\r\n                var comp = this;\r\n                this.$nextTick().then(function ()\r\n                {\r\n                    comp.CreateScript();\r\n                });\r\n            },\r\n            siteSearch: function ()\r\n            {\r\n                var comp = this;\r\n                this.$nextTick().then(function ()\r\n                {\r\n                    comp.CreateScript();\r\n                });\r\n            },\r\n            smallSearchResults: function ()\r\n            {\r\n                var comp = this;\r\n                this.$nextTick().then(function ()\r\n                {\r\n                    comp.CreateScript();\r\n                });\r\n            }\r\n        },\r\n        computed: {\r\n            currentRoute: function ()\r\n            {\r\n                return this.$route.path;\r\n            },\r\n            siteSearch: function ()\r\n            {\r\n                if (this.SessionId != null)\r\n                {\r\n                    this.SessionFilter = true;\r\n                } else\r\n                {\r\n                    this.SessionFilter = false;\r\n                }\r\n                var res = this.urlToSearch.filter(x => this.currentRoute.includes(x.route));\r\n                if (res.length > 0)\r\n                {\r\n                    return res[0].site;\r\n                } else\r\n                {\r\n                    return \"*\";\r\n                }\r\n            },\r\n            label: function ()\r\n            {\r\n                if (this.currentRoute)\r\n                {\r\n\r\n                    if (this.currentRoute.includes('Codified_Laws') || this.currentRoute.includes('Constitution'))\r\n                    {\r\n                        return \"Go To:(1-1-1) or Google Search\";\r\n                    } else if (this.currentRoute.includes('Session_Laws'))\r\n                    {\r\n                        return \"Go To:(1) or Google Search\";\r\n\r\n                    } else if (this.currentRoute.includes('Administrative'))\r\n                    {\r\n                        return \"Go To:(01:15) or Google Search\";\r\n                    } else if (this.currentRoute.includes('Session/Archived'))\r\n                    {\r\n                        return \"Google Search all previous session bills\";\r\n                    }\r\n                    else if (this.currentRoute.includes('Statutes'))\r\n                    {\r\n                        return \"Go To:(1-1-1) or Google Search\";\r\n                    }\r\n                    return \"Google Search\";\r\n\r\n                }\r\n                return \"Google Search\";\r\n\r\n            }\r\n        }\r\n    };\r\n</script>\r\n<style></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./GoogleSearchStatute.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./GoogleSearchStatute.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GoogleSearchStatute.vue?vue&type=template&id=33364a14&\"\nimport script from \"./GoogleSearchStatute.vue?vue&type=script&lang=js&\"\nexport * from \"./GoogleSearchStatute.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  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 { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VFlex,VIcon,VTextField})\n","// Components\nimport VInput from '../../components/VInput'; // Mixins\n\nimport Rippleable from '../rippleable';\nimport Comparable from '../comparable'; // Utilities\n\nimport mixins from '../../util/mixins';\nexport function prevent(e) {\n  e.preventDefault();\n}\n/* @vue/component */\n\nexport default mixins(VInput, Rippleable, Comparable).extend({\n  name: 'selectable',\n  model: {\n    prop: 'inputValue',\n    event: 'change'\n  },\n  props: {\n    id: String,\n    inputValue: null,\n    falseValue: null,\n    trueValue: null,\n    multiple: {\n      type: Boolean,\n      default: null\n    },\n    label: String\n  },\n\n  data() {\n    return {\n      hasColor: this.inputValue,\n      lazyValue: this.inputValue\n    };\n  },\n\n  computed: {\n    computedColor() {\n      if (!this.isActive) return undefined;\n      if (this.color) return this.color;\n      if (this.isDark && !this.appIsDark) return 'white';\n      return 'primary';\n    },\n\n    isMultiple() {\n      return this.multiple === true || this.multiple === null && Array.isArray(this.internalValue);\n    },\n\n    isActive() {\n      const value = this.value;\n      const input = this.internalValue;\n\n      if (this.isMultiple) {\n        if (!Array.isArray(input)) return false;\n        return input.some(item => this.valueComparator(item, value));\n      }\n\n      if (this.trueValue === undefined || this.falseValue === undefined) {\n        return value ? this.valueComparator(value, input) : Boolean(input);\n      }\n\n      return this.valueComparator(input, this.trueValue);\n    },\n\n    isDirty() {\n      return this.isActive;\n    },\n\n    rippleState() {\n      return !this.isDisabled && !this.validationState ? undefined : this.validationState;\n    }\n\n  },\n  watch: {\n    inputValue(val) {\n      this.lazyValue = val;\n      this.hasColor = val;\n    }\n\n  },\n  methods: {\n    genLabel() {\n      const label = VInput.options.methods.genLabel.call(this);\n      if (!label) return label;\n      label.data.on = {\n        // Label shouldn't cause the input to focus\n        click: prevent\n      };\n      return label;\n    },\n\n    genInput(type, attrs) {\n      return this.$createElement('input', {\n        attrs: Object.assign({\n          'aria-checked': this.isActive.toString(),\n          disabled: this.isDisabled,\n          id: this.computedId,\n          role: type,\n          type\n        }, attrs),\n        domProps: {\n          value: this.value,\n          checked: this.isActive\n        },\n        on: {\n          blur: this.onBlur,\n          change: this.onChange,\n          focus: this.onFocus,\n          keydown: this.onKeydown,\n          click: prevent\n        },\n        ref: 'input'\n      });\n    },\n\n    onClick(e) {\n      this.onChange();\n      this.$emit('click', e);\n    },\n\n    onChange() {\n      if (!this.isInteractive) return;\n      const value = this.value;\n      let input = this.internalValue;\n\n      if (this.isMultiple) {\n        if (!Array.isArray(input)) {\n          input = [];\n        }\n\n        const length = input.length;\n        input = input.filter(item => !this.valueComparator(item, value));\n\n        if (input.length === length) {\n          input.push(value);\n        }\n      } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n        input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue;\n      } else if (value) {\n        input = this.valueComparator(input, value) ? null : value;\n      } else {\n        input = !input;\n      }\n\n      this.validate(true, input);\n      this.internalValue = input;\n      this.hasColor = input;\n    },\n\n    onFocus(e) {\n      this.isFocused = true;\n      this.$emit('focus', e);\n    },\n\n    onBlur(e) {\n      this.isFocused = false;\n      this.$emit('blur', e);\n    },\n\n    /** @abstract */\n    onKeydown(e) {}\n\n  }\n});\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VSlideGroup/VSlideGroup.sass\"; // Components\n\nimport VIcon from '../VIcon';\nimport { VFadeTransition } from '../transitions'; // Extensions\n\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'; // Mixins\n\nimport Mobile from '../../mixins/mobile'; // Directives\n\nimport Resize from '../../directives/resize';\nimport Touch from '../../directives/touch'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { composedPath } from '../../util/helpers';\n\nfunction bias(val) {\n  const c = 0.501;\n  const x = Math.abs(val);\n  return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1));\n}\n\nexport function calculateUpdatedOffset(selectedElement, widths, rtl, currentScrollOffset) {\n  const clientWidth = selectedElement.clientWidth;\n  const offsetLeft = rtl ? widths.content - selectedElement.offsetLeft - clientWidth : selectedElement.offsetLeft;\n\n  if (rtl) {\n    currentScrollOffset = -currentScrollOffset;\n  }\n\n  const totalWidth = widths.wrapper + currentScrollOffset;\n  const itemOffset = clientWidth + offsetLeft;\n  const additionalOffset = clientWidth * 0.4;\n\n  if (offsetLeft <= currentScrollOffset) {\n    currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0);\n  } else if (totalWidth <= itemOffset) {\n    currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper);\n  }\n\n  return rtl ? -currentScrollOffset : currentScrollOffset;\n}\nexport function calculateCenteredOffset(selectedElement, widths, rtl) {\n  const {\n    offsetLeft,\n    clientWidth\n  } = selectedElement;\n\n  if (rtl) {\n    const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2;\n    return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered));\n  } else {\n    const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2;\n    return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered));\n  }\n}\nexport const BaseSlideGroup = mixins(BaseItemGroup, Mobile).extend({\n  name: 'base-slide-group',\n  directives: {\n    Resize,\n    Touch\n  },\n  props: {\n    activeClass: {\n      type: String,\n      default: 'v-slide-item--active'\n    },\n    centerActive: Boolean,\n    nextIcon: {\n      type: String,\n      default: '$next'\n    },\n    prevIcon: {\n      type: String,\n      default: '$prev'\n    },\n    showArrows: {\n      type: [Boolean, String],\n      validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)\n    }\n  },\n  data: () => ({\n    isOverflowing: false,\n    resizeTimeout: 0,\n    startX: 0,\n    isSwipingHorizontal: false,\n    isSwiping: false,\n    scrollOffset: 0,\n    widths: {\n      content: 0,\n      wrapper: 0\n    }\n  }),\n  computed: {\n    canTouch() {\n      return typeof window !== 'undefined';\n    },\n\n    __cachedNext() {\n      return this.genTransition('next');\n    },\n\n    __cachedPrev() {\n      return this.genTransition('prev');\n    },\n\n    classes() {\n      return { ...BaseItemGroup.options.computed.classes.call(this),\n        'v-slide-group': true,\n        'v-slide-group--has-affixes': this.hasAffixes,\n        'v-slide-group--is-overflowing': this.isOverflowing\n      };\n    },\n\n    hasAffixes() {\n      switch (this.showArrows) {\n        // Always show arrows on desktop & mobile\n        case 'always':\n          return true;\n        // Always show arrows on desktop\n\n        case 'desktop':\n          return !this.isMobile;\n        // Show arrows on mobile when overflowing.\n        // This matches the default 2.2 behavior\n\n        case true:\n          return this.isOverflowing || Math.abs(this.scrollOffset) > 0;\n        // Always show on mobile\n\n        case 'mobile':\n          return this.isMobile || this.isOverflowing || Math.abs(this.scrollOffset) > 0;\n        // https://material.io/components/tabs#scrollable-tabs\n        // Always show arrows when\n        // overflowed on desktop\n\n        default:\n          return !this.isMobile && (this.isOverflowing || Math.abs(this.scrollOffset) > 0);\n      }\n    },\n\n    hasNext() {\n      if (!this.hasAffixes) return false;\n      const {\n        content,\n        wrapper\n      } = this.widths; // Check one scroll ahead to know the width of right-most item\n\n      return content > Math.abs(this.scrollOffset) + wrapper;\n    },\n\n    hasPrev() {\n      return this.hasAffixes && this.scrollOffset !== 0;\n    }\n\n  },\n  watch: {\n    internalValue: 'setWidths',\n    // When overflow changes, the arrows alter\n    // the widths of the content and wrapper\n    // and need to be recalculated\n    isOverflowing: 'setWidths',\n\n    scrollOffset(val) {\n      if (this.$vuetify.rtl) val = -val;\n      let scroll = val <= 0 ? bias(-val) : val > this.widths.content - this.widths.wrapper ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val) : -val;\n      if (this.$vuetify.rtl) scroll = -scroll;\n      this.$refs.content.style.transform = `translateX(${scroll}px)`;\n    }\n\n  },\n\n  mounted() {\n    if (typeof ResizeObserver !== 'undefined') {\n      const obs = new ResizeObserver(() => {\n        this.onResize();\n      });\n      obs.observe(this.$el);\n      obs.observe(this.$refs.content);\n      this.$on('hook:destroyed', () => {\n        obs.disconnect();\n      });\n    } else {\n      let itemsLength = 0;\n      this.$on('hook:beforeUpdate', () => {\n        var _a;\n\n        itemsLength = (((_a = this.$refs.content) === null || _a === void 0 ? void 0 : _a.children) || []).length;\n      });\n      this.$on('hook:updated', () => {\n        var _a;\n\n        if (itemsLength === (((_a = this.$refs.content) === null || _a === void 0 ? void 0 : _a.children) || []).length) return;\n        this.setWidths();\n      });\n    }\n  },\n\n  methods: {\n    onScroll() {\n      this.$refs.wrapper.scrollLeft = 0;\n    },\n\n    onFocusin(e) {\n      if (!this.isOverflowing) return; // Focused element is likely to be the root of an item, so a\n      // breadth-first search will probably find it in the first iteration\n\n      for (const el of composedPath(e)) {\n        for (const vm of this.items) {\n          if (vm.$el === el) {\n            this.scrollOffset = calculateUpdatedOffset(vm.$el, this.widths, this.$vuetify.rtl, this.scrollOffset);\n            return;\n          }\n        }\n      }\n    },\n\n    // Always generate next for scrollable hint\n    genNext() {\n      const slot = this.$scopedSlots.next ? this.$scopedSlots.next({}) : this.$slots.next || this.__cachedNext;\n      return this.$createElement('div', {\n        staticClass: 'v-slide-group__next',\n        class: {\n          'v-slide-group__next--disabled': !this.hasNext\n        },\n        on: {\n          click: () => this.onAffixClick('next')\n        },\n        key: 'next'\n      }, [slot]);\n    },\n\n    genContent() {\n      return this.$createElement('div', {\n        staticClass: 'v-slide-group__content',\n        ref: 'content',\n        on: {\n          focusin: this.onFocusin\n        }\n      }, this.$slots.default);\n    },\n\n    genData() {\n      return {\n        class: this.classes,\n        directives: [{\n          name: 'resize',\n          value: this.onResize\n        }]\n      };\n    },\n\n    genIcon(location) {\n      let icon = location;\n\n      if (this.$vuetify.rtl && location === 'prev') {\n        icon = 'next';\n      } else if (this.$vuetify.rtl && location === 'next') {\n        icon = 'prev';\n      }\n\n      const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`;\n      const hasAffix = this[`has${upperLocation}`];\n      if (!this.showArrows && !hasAffix) return null;\n      return this.$createElement(VIcon, {\n        props: {\n          disabled: !hasAffix\n        }\n      }, this[`${icon}Icon`]);\n    },\n\n    // Always generate prev for scrollable hint\n    genPrev() {\n      const slot = this.$scopedSlots.prev ? this.$scopedSlots.prev({}) : this.$slots.prev || this.__cachedPrev;\n      return this.$createElement('div', {\n        staticClass: 'v-slide-group__prev',\n        class: {\n          'v-slide-group__prev--disabled': !this.hasPrev\n        },\n        on: {\n          click: () => this.onAffixClick('prev')\n        },\n        key: 'prev'\n      }, [slot]);\n    },\n\n    genTransition(location) {\n      return this.$createElement(VFadeTransition, [this.genIcon(location)]);\n    },\n\n    genWrapper() {\n      return this.$createElement('div', {\n        staticClass: 'v-slide-group__wrapper',\n        directives: [{\n          name: 'touch',\n          value: {\n            start: e => this.overflowCheck(e, this.onTouchStart),\n            move: e => this.overflowCheck(e, this.onTouchMove),\n            end: e => this.overflowCheck(e, this.onTouchEnd)\n          }\n        }],\n        ref: 'wrapper',\n        on: {\n          scroll: this.onScroll\n        }\n      }, [this.genContent()]);\n    },\n\n    calculateNewOffset(direction, widths, rtl, currentScrollOffset) {\n      const sign = rtl ? -1 : 1;\n      const newAbosluteOffset = sign * currentScrollOffset + (direction === 'prev' ? -1 : 1) * widths.wrapper;\n      return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0);\n    },\n\n    onAffixClick(location) {\n      this.$emit(`click:${location}`);\n      this.scrollTo(location);\n    },\n\n    onResize() {\n      /* istanbul ignore next */\n      if (this._isDestroyed) return;\n      this.setWidths();\n    },\n\n    onTouchStart(e) {\n      const {\n        content\n      } = this.$refs;\n      this.startX = this.scrollOffset + e.touchstartX;\n      content.style.setProperty('transition', 'none');\n      content.style.setProperty('willChange', 'transform');\n    },\n\n    onTouchMove(e) {\n      if (!this.canTouch) return;\n\n      if (!this.isSwiping) {\n        // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n        // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n        const diffX = e.touchmoveX - e.touchstartX;\n        const diffY = e.touchmoveY - e.touchstartY;\n        this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY);\n        this.isSwiping = true;\n      }\n\n      if (this.isSwipingHorizontal) {\n        // sliding horizontally\n        this.scrollOffset = this.startX - e.touchmoveX; // temporarily disable window vertical scrolling\n\n        document.documentElement.style.overflowY = 'hidden';\n      }\n    },\n\n    onTouchEnd() {\n      if (!this.canTouch) return;\n      const {\n        content,\n        wrapper\n      } = this.$refs;\n      const maxScrollOffset = content.clientWidth - wrapper.clientWidth;\n      content.style.setProperty('transition', null);\n      content.style.setProperty('willChange', null);\n\n      if (this.$vuetify.rtl) {\n        /* istanbul ignore else */\n        if (this.scrollOffset > 0 || !this.isOverflowing) {\n          this.scrollOffset = 0;\n        } else if (this.scrollOffset <= -maxScrollOffset) {\n          this.scrollOffset = -maxScrollOffset;\n        }\n      } else {\n        /* istanbul ignore else */\n        if (this.scrollOffset < 0 || !this.isOverflowing) {\n          this.scrollOffset = 0;\n        } else if (this.scrollOffset >= maxScrollOffset) {\n          this.scrollOffset = maxScrollOffset;\n        }\n      }\n\n      this.isSwiping = false; // rollback whole page scrolling to default\n\n      document.documentElement.style.removeProperty('overflow-y');\n    },\n\n    overflowCheck(e, fn) {\n      e.stopPropagation();\n      this.isOverflowing && fn(e);\n    },\n\n    scrollIntoView\n    /* istanbul ignore next */\n    () {\n      if (!this.selectedItem && this.items.length) {\n        const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect();\n        const wrapperPosition = this.$refs.wrapper.getBoundingClientRect();\n\n        if (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right || !this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left) {\n          this.scrollTo('prev');\n        }\n      }\n\n      if (!this.selectedItem) {\n        return;\n      }\n\n      if (this.selectedIndex === 0 || !this.centerActive && !this.isOverflowing) {\n        this.scrollOffset = 0;\n      } else if (this.centerActive) {\n        this.scrollOffset = calculateCenteredOffset(this.selectedItem.$el, this.widths, this.$vuetify.rtl);\n      } else if (this.isOverflowing) {\n        this.scrollOffset = calculateUpdatedOffset(this.selectedItem.$el, this.widths, this.$vuetify.rtl, this.scrollOffset);\n      }\n    },\n\n    scrollTo\n    /* istanbul ignore next */\n    (location) {\n      this.scrollOffset = this.calculateNewOffset(location, {\n        // Force reflow\n        content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n        wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0\n      }, this.$vuetify.rtl, this.scrollOffset);\n    },\n\n    setWidths() {\n      window.requestAnimationFrame(() => {\n        if (this._isDestroyed) return;\n        const {\n          content,\n          wrapper\n        } = this.$refs;\n        this.widths = {\n          content: content ? content.clientWidth : 0,\n          wrapper: wrapper ? wrapper.clientWidth : 0\n        }; // https://github.com/vuetifyjs/vuetify/issues/13212\n        // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n        // gets calculated wrongly by the browser if using a different zoom-level.\n\n        this.isOverflowing = this.widths.wrapper + 1 < this.widths.content;\n        this.scrollIntoView();\n      });\n    }\n\n  },\n\n  render(h) {\n    return h('div', this.genData(), [this.genPrev(), this.genWrapper(), this.genNext()]);\n  }\n\n});\nexport default BaseSlideGroup.extend({\n  name: 'v-slide-group',\n\n  provide() {\n    return {\n      slideGroup: this\n    };\n  }\n\n});\n//# sourceMappingURL=VSlideGroup.js.map","// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'; // Mixins\n\nimport Themeable from '../../mixins/themeable';\nimport SSRBootable from '../../mixins/ssr-bootable'; // Utilities\n\nimport mixins from '../../util/mixins';\nexport default mixins(BaseSlideGroup, SSRBootable, Themeable\n/* @vue/component */\n).extend({\n  name: 'v-tabs-bar',\n\n  provide() {\n    return {\n      tabsBar: this\n    };\n  },\n\n  computed: {\n    classes() {\n      return { ...BaseSlideGroup.options.computed.classes.call(this),\n        'v-tabs-bar': true,\n        'v-tabs-bar--is-mobile': this.isMobile,\n        // TODO: Remove this and move to v-slide-group\n        'v-tabs-bar--show-arrows': this.showArrows,\n        ...this.themeClasses\n      };\n    }\n\n  },\n  watch: {\n    items: 'callSlider',\n    internalValue: 'callSlider',\n    $route: 'onRouteChange'\n  },\n  methods: {\n    callSlider() {\n      if (!this.isBooted) return;\n      this.$emit('call:slider');\n    },\n\n    genContent() {\n      const render = BaseSlideGroup.options.methods.genContent.call(this);\n      render.data = render.data || {};\n      render.data.staticClass += ' v-tabs-bar__content';\n      return render;\n    },\n\n    onRouteChange(val, oldVal) {\n      /* istanbul ignore next */\n      if (this.mandatory) return;\n      const items = this.items;\n      const newPath = val.path;\n      const oldPath = oldVal.path;\n      let hasNew = false;\n      let hasOld = false;\n\n      for (const item of items) {\n        if (item.to === oldPath) hasOld = true;else if (item.to === newPath) hasNew = true;\n        if (hasNew && hasOld) break;\n      } // If we have an old item and not a new one\n      // it's assumed that the user navigated to\n      // a path that is not present in the items\n\n\n      if (!hasNew && hasOld) this.internalValue = undefined;\n    }\n\n  },\n\n  render(h) {\n    const render = BaseSlideGroup.options.render.call(this, h);\n    render.data.attrs = {\n      role: 'tablist'\n    };\n    return render;\n  }\n\n});\n//# sourceMappingURL=VTabsBar.js.map","// Styles\nimport \"../../../src/components/VWindow/VWindow.sass\"; // Directives\n\nimport Touch from '../../directives/touch'; // Components\n\nimport VBtn from '../VBtn';\nimport VIcon from '../VIcon';\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup';\n/* @vue/component */\n\nexport default BaseItemGroup.extend({\n  name: 'v-window',\n  directives: {\n    Touch\n  },\n\n  provide() {\n    return {\n      windowGroup: this\n    };\n  },\n\n  props: {\n    activeClass: {\n      type: String,\n      default: 'v-window-item--active'\n    },\n    continuous: Boolean,\n    mandatory: {\n      type: Boolean,\n      default: true\n    },\n    nextIcon: {\n      type: [Boolean, String],\n      default: '$next'\n    },\n    prevIcon: {\n      type: [Boolean, String],\n      default: '$prev'\n    },\n    reverse: Boolean,\n    showArrows: Boolean,\n    showArrowsOnHover: Boolean,\n    touch: Object,\n    touchless: Boolean,\n    value: {\n      required: false\n    },\n    vertical: Boolean\n  },\n\n  data() {\n    return {\n      changedByDelimiters: false,\n      internalHeight: undefined,\n      transitionHeight: undefined,\n      transitionCount: 0,\n      isBooted: false,\n      isReverse: false\n    };\n  },\n\n  computed: {\n    isActive() {\n      return this.transitionCount > 0;\n    },\n\n    classes() {\n      return { ...BaseItemGroup.options.computed.classes.call(this),\n        'v-window--show-arrows-on-hover': this.showArrowsOnHover\n      };\n    },\n\n    computedTransition() {\n      if (!this.isBooted) return '';\n      const axis = this.vertical ? 'y' : 'x';\n      const reverse = this.internalReverse ? !this.isReverse : this.isReverse;\n      const direction = reverse ? '-reverse' : '';\n      return `v-window-${axis}${direction}-transition`;\n    },\n\n    hasActiveItems() {\n      return Boolean(this.items.find(item => !item.disabled));\n    },\n\n    hasNext() {\n      return this.continuous || this.internalIndex < this.items.length - 1;\n    },\n\n    hasPrev() {\n      return this.continuous || this.internalIndex > 0;\n    },\n\n    internalIndex() {\n      return this.items.findIndex((item, i) => {\n        return this.internalValue === this.getValue(item, i);\n      });\n    },\n\n    internalReverse() {\n      return this.$vuetify.rtl ? !this.reverse : this.reverse;\n    }\n\n  },\n  watch: {\n    internalIndex(val, oldVal) {\n      this.isReverse = this.updateReverse(val, oldVal);\n    }\n\n  },\n\n  mounted() {\n    window.requestAnimationFrame(() => this.isBooted = true);\n  },\n\n  methods: {\n    genDefaultSlot() {\n      return this.$slots.default;\n    },\n\n    genContainer() {\n      const children = [this.genDefaultSlot()];\n\n      if (this.showArrows) {\n        children.push(this.genControlIcons());\n      }\n\n      return this.$createElement('div', {\n        staticClass: 'v-window__container',\n        class: {\n          'v-window__container--is-active': this.isActive\n        },\n        style: {\n          height: this.internalHeight || this.transitionHeight\n        }\n      }, children);\n    },\n\n    genIcon(direction, icon, click) {\n      var _a, _b, _c;\n\n      const on = {\n        click: e => {\n          e.stopPropagation();\n          this.changedByDelimiters = true;\n          click();\n        }\n      };\n      const attrs = {\n        'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`)\n      };\n      const children = (_c = (_b = (_a = this.$scopedSlots)[direction]) === null || _b === void 0 ? void 0 : _b.call(_a, {\n        on,\n        attrs\n      })) !== null && _c !== void 0 ? _c : [this.$createElement(VBtn, {\n        props: {\n          icon: true\n        },\n        attrs,\n        on\n      }, [this.$createElement(VIcon, {\n        props: {\n          large: true\n        }\n      }, icon)])];\n      return this.$createElement('div', {\n        staticClass: `v-window__${direction}`\n      }, children);\n    },\n\n    genControlIcons() {\n      const icons = [];\n      const prevIcon = this.$vuetify.rtl ? this.nextIcon : this.prevIcon;\n      /* istanbul ignore else */\n\n      if (this.hasPrev && prevIcon && typeof prevIcon === 'string') {\n        const icon = this.genIcon('prev', prevIcon, this.prev);\n        icon && icons.push(icon);\n      }\n\n      const nextIcon = this.$vuetify.rtl ? this.prevIcon : this.nextIcon;\n      /* istanbul ignore else */\n\n      if (this.hasNext && nextIcon && typeof nextIcon === 'string') {\n        const icon = this.genIcon('next', nextIcon, this.next);\n        icon && icons.push(icon);\n      }\n\n      return icons;\n    },\n\n    getNextIndex(index) {\n      const nextIndex = (index + 1) % this.items.length;\n      const item = this.items[nextIndex];\n      if (item.disabled) return this.getNextIndex(nextIndex);\n      return nextIndex;\n    },\n\n    getPrevIndex(index) {\n      const prevIndex = (index + this.items.length - 1) % this.items.length;\n      const item = this.items[prevIndex];\n      if (item.disabled) return this.getPrevIndex(prevIndex);\n      return prevIndex;\n    },\n\n    next() {\n      /* istanbul ignore if */\n      if (!this.hasActiveItems || !this.hasNext) return;\n      const nextIndex = this.getNextIndex(this.internalIndex);\n      const item = this.items[nextIndex];\n      this.internalValue = this.getValue(item, nextIndex);\n    },\n\n    prev() {\n      /* istanbul ignore if */\n      if (!this.hasActiveItems || !this.hasPrev) return;\n      const lastIndex = this.getPrevIndex(this.internalIndex);\n      const item = this.items[lastIndex];\n      this.internalValue = this.getValue(item, lastIndex);\n    },\n\n    updateReverse(val, oldVal) {\n      const itemsLength = this.items.length;\n      const lastIndex = itemsLength - 1;\n      if (itemsLength <= 2) return val < oldVal;\n\n      if (val === lastIndex && oldVal === 0) {\n        return true;\n      } else if (val === 0 && oldVal === lastIndex) {\n        return false;\n      } else {\n        return val < oldVal;\n      }\n    }\n\n  },\n\n  render(h) {\n    const data = {\n      staticClass: 'v-window',\n      class: this.classes,\n      directives: []\n    };\n\n    if (!this.touchless) {\n      const value = this.touch || {\n        left: () => {\n          this.$vuetify.rtl ? this.prev() : this.next();\n        },\n        right: () => {\n          this.$vuetify.rtl ? this.next() : this.prev();\n        },\n        end: e => {\n          e.stopPropagation();\n        },\n        start: e => {\n          e.stopPropagation();\n        }\n      };\n      data.directives.push({\n        name: 'touch',\n        value\n      });\n    }\n\n    return h('div', data, [this.genContainer()]);\n  }\n\n});\n//# sourceMappingURL=VWindow.js.map","// Extensions\nimport VWindow from '../VWindow/VWindow'; // Types & Components\n\nimport { BaseItemGroup } from './../VItemGroup/VItemGroup';\n/* @vue/component */\n\nexport default VWindow.extend({\n  name: 'v-tabs-items',\n  props: {\n    mandatory: {\n      type: Boolean,\n      default: false\n    }\n  },\n  computed: {\n    classes() {\n      return { ...VWindow.options.computed.classes.call(this),\n        'v-tabs-items': true\n      };\n    },\n\n    isDark() {\n      return this.rootIsDark;\n    }\n\n  },\n  methods: {\n    getValue(item, i) {\n      return item.id || BaseItemGroup.options.methods.getValue.call(this, item, i);\n    }\n\n  }\n});\n//# sourceMappingURL=VTabsItems.js.map","// Mixins\nimport Colorable from '../../mixins/colorable'; // Utilities\n\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Colorable).extend({\n  name: 'v-tabs-slider',\n\n  render(h) {\n    return h('div', this.setBackgroundColor(this.color, {\n      staticClass: 'v-tabs-slider'\n    }));\n  }\n\n});\n//# sourceMappingURL=VTabsSlider.js.map","// Styles\nimport \"../../../src/components/VTabs/VTabs.sass\"; // Components\n\nimport VTabsBar from './VTabsBar';\nimport VTabsItems from './VTabsItems';\nimport VTabsSlider from './VTabsSlider'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Proxyable from '../../mixins/proxyable';\nimport Themeable from '../../mixins/themeable'; // Directives\n\nimport Resize from '../../directives/resize'; // Utilities\n\nimport { convertToUnit } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Colorable, Proxyable, Themeable);\nexport default baseMixins.extend().extend({\n  name: 'v-tabs',\n  directives: {\n    Resize\n  },\n  props: {\n    activeClass: {\n      type: String,\n      default: ''\n    },\n    alignWithTitle: Boolean,\n    backgroundColor: String,\n    centerActive: Boolean,\n    centered: Boolean,\n    fixedTabs: Boolean,\n    grow: Boolean,\n    height: {\n      type: [Number, String],\n      default: undefined\n    },\n    hideSlider: Boolean,\n    iconsAndText: Boolean,\n    mobileBreakpoint: [String, Number],\n    nextIcon: {\n      type: String,\n      default: '$next'\n    },\n    optional: Boolean,\n    prevIcon: {\n      type: String,\n      default: '$prev'\n    },\n    right: Boolean,\n    showArrows: [Boolean, String],\n    sliderColor: String,\n    sliderSize: {\n      type: [Number, String],\n      default: 2\n    },\n    vertical: Boolean\n  },\n\n  data() {\n    return {\n      resizeTimeout: 0,\n      slider: {\n        height: null,\n        left: null,\n        right: null,\n        top: null,\n        width: null\n      },\n      transitionTime: 300\n    };\n  },\n\n  computed: {\n    classes() {\n      return {\n        'v-tabs--align-with-title': this.alignWithTitle,\n        'v-tabs--centered': this.centered,\n        'v-tabs--fixed-tabs': this.fixedTabs,\n        'v-tabs--grow': this.grow,\n        'v-tabs--icons-and-text': this.iconsAndText,\n        'v-tabs--right': this.right,\n        'v-tabs--vertical': this.vertical,\n        ...this.themeClasses\n      };\n    },\n\n    isReversed() {\n      return this.$vuetify.rtl && this.vertical;\n    },\n\n    sliderStyles() {\n      return {\n        height: convertToUnit(this.slider.height),\n        left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n        right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n        top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n        transition: this.slider.left != null ? null : 'none',\n        width: convertToUnit(this.slider.width)\n      };\n    },\n\n    computedColor() {\n      if (this.color) return this.color;else if (this.isDark && !this.appIsDark) return 'white';else return 'primary';\n    }\n\n  },\n  watch: {\n    alignWithTitle: 'callSlider',\n    centered: 'callSlider',\n    centerActive: 'callSlider',\n    fixedTabs: 'callSlider',\n    grow: 'callSlider',\n    iconsAndText: 'callSlider',\n    right: 'callSlider',\n    showArrows: 'callSlider',\n    vertical: 'callSlider',\n    '$vuetify.application.left': 'onResize',\n    '$vuetify.application.right': 'onResize',\n    '$vuetify.rtl': 'onResize'\n  },\n\n  mounted() {\n    if (typeof ResizeObserver !== 'undefined') {\n      const obs = new ResizeObserver(() => {\n        this.onResize();\n      });\n      obs.observe(this.$el);\n      this.$on('hook:destroyed', () => {\n        obs.disconnect();\n      });\n    }\n\n    this.$nextTick(() => {\n      window.setTimeout(this.callSlider, 30);\n    });\n  },\n\n  methods: {\n    callSlider() {\n      if (this.hideSlider || !this.$refs.items || !this.$refs.items.selectedItems.length) {\n        this.slider.width = 0;\n        return false;\n      }\n\n      this.$nextTick(() => {\n        // Give screen time to paint\n        const activeTab = this.$refs.items.selectedItems[0];\n        /* istanbul ignore if */\n\n        if (!activeTab || !activeTab.$el) {\n          this.slider.width = 0;\n          this.slider.left = 0;\n          return;\n        }\n\n        const el = activeTab.$el;\n        this.slider = {\n          height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n          left: this.vertical ? 0 : el.offsetLeft,\n          right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n          top: el.offsetTop,\n          width: this.vertical ? Number(this.sliderSize) : el.scrollWidth\n        };\n      });\n      return true;\n    },\n\n    genBar(items, slider) {\n      const data = {\n        style: {\n          height: convertToUnit(this.height)\n        },\n        props: {\n          activeClass: this.activeClass,\n          centerActive: this.centerActive,\n          dark: this.dark,\n          light: this.light,\n          mandatory: !this.optional,\n          mobileBreakpoint: this.mobileBreakpoint,\n          nextIcon: this.nextIcon,\n          prevIcon: this.prevIcon,\n          showArrows: this.showArrows,\n          value: this.internalValue\n        },\n        on: {\n          'call:slider': this.callSlider,\n          change: val => {\n            this.internalValue = val;\n          }\n        },\n        ref: 'items'\n      };\n      this.setTextColor(this.computedColor, data);\n      this.setBackgroundColor(this.backgroundColor, data);\n      return this.$createElement(VTabsBar, data, [this.genSlider(slider), items]);\n    },\n\n    genItems(items, item) {\n      // If user provides items\n      // opt to use theirs\n      if (items) return items; // If no tabs are provided\n      // render nothing\n\n      if (!item.length) return null;\n      return this.$createElement(VTabsItems, {\n        props: {\n          value: this.internalValue\n        },\n        on: {\n          change: val => {\n            this.internalValue = val;\n          }\n        }\n      }, item);\n    },\n\n    genSlider(slider) {\n      if (this.hideSlider) return null;\n\n      if (!slider) {\n        slider = this.$createElement(VTabsSlider, {\n          props: {\n            color: this.sliderColor\n          }\n        });\n      }\n\n      return this.$createElement('div', {\n        staticClass: 'v-tabs-slider-wrapper',\n        style: this.sliderStyles\n      }, [slider]);\n    },\n\n    onResize() {\n      if (this._isDestroyed) return;\n      clearTimeout(this.resizeTimeout);\n      this.resizeTimeout = window.setTimeout(this.callSlider, 0);\n    },\n\n    parseNodes() {\n      let items = null;\n      let slider = null;\n      const item = [];\n      const tab = [];\n      const slot = this.$slots.default || [];\n      const length = slot.length;\n\n      for (let i = 0; i < length; i++) {\n        const vnode = slot[i];\n\n        if (vnode.componentOptions) {\n          switch (vnode.componentOptions.Ctor.options.name) {\n            case 'v-tabs-slider':\n              slider = vnode;\n              break;\n\n            case 'v-tabs-items':\n              items = vnode;\n              break;\n\n            case 'v-tab-item':\n              item.push(vnode);\n              break;\n            // case 'v-tab' - intentionally omitted\n\n            default:\n              tab.push(vnode);\n          }\n        } else {\n          tab.push(vnode);\n        }\n      }\n      /**\n       * tab: array of `v-tab`\n       * slider: single `v-tabs-slider`\n       * items: single `v-tabs-items`\n       * item: array of `v-tab-item`\n       */\n\n\n      return {\n        tab,\n        slider,\n        items,\n        item\n      };\n    }\n\n  },\n\n  render(h) {\n    const {\n      tab,\n      slider,\n      items,\n      item\n    } = this.parseNodes();\n    return h('div', {\n      staticClass: 'v-tabs',\n      class: this.classes,\n      directives: [{\n        name: 'resize',\n        modifiers: {\n          quiet: true\n        },\n        value: this.onResize\n      }]\n    }, [this.genBar(tab, slider), this.genItems(items, item)]);\n  }\n\n});\n//# sourceMappingURL=VTabs.js.map"],"sourceRoot":""}